@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,398 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolarisBaseAdapter = void 0;
4
+ const process_1 = require("process");
5
+ const __1 = require("../../../..");
6
+ const location_1 = require("../../../../location");
7
+ const plugins_1 = require("../../../../plugins");
8
+ const utils_1 = require("../../../../utils");
9
+ const pool_1 = require("../pool");
10
+ const types_1 = require("../types");
11
+ const utils_2 = require("../utils");
12
+ const kErrorLevel = 300000;
13
+ const kExceptionLevel = 500000;
14
+ const kServiceNotFoundLevel = 400000;
15
+ /**
16
+ * 由于 class ... implements ... 中 class 必须要实现 implements 中的接口,
17
+ * 并且 `Mixin` 方法无法组合(继承)类型,故在此仅实现 `Boxable` 接口
18
+ */
19
+ class PolarisBaseAdapter {
20
+ constructor(remotes) {
21
+ this.remotes = remotes;
22
+ this.mode = plugins_1.OperatingMode.Internal;
23
+ this.pool = new pool_1.ClientPool(this.buildClient.bind(this), this.options);
24
+ this.disposeFuncs = Object.create(null);
25
+ this.disposed = false;
26
+ this.initializeStatus = {
27
+ promise: null,
28
+ initialized: false /** fast case */
29
+ };
30
+ this.loc = Object.assign({}, location_1.blankLocation /** copy */);
31
+ /**
32
+ * (empty constructor)
33
+ */
34
+ }
35
+ setLogger(logger) {
36
+ this.logger || (this.logger = logger);
37
+ }
38
+ get location() {
39
+ return this.loc;
40
+ }
41
+ // #region dispose
42
+ async dispose() {
43
+ var _a, _b;
44
+ const { initializeStatus, logger } = this;
45
+ /** 等待初始化完成后再销毁 */
46
+ if (!initializeStatus.initialized && initializeStatus.promise) {
47
+ try {
48
+ await initializeStatus.promise;
49
+ }
50
+ catch (e) {
51
+ /**
52
+ * 当初始化发生异常时,会回滚 `bootstrap()` 已创建对象,
53
+ * 由于 `mainConsumer` 复用了当前的插件实例,
54
+ * 从而导致当前实例的 `dispose` 方法也会被调用,而当前实例并不能被释放。
55
+ * 故初始化发生异常时,直接返回不做任何处理。
56
+ */
57
+ return;
58
+ }
59
+ }
60
+ logger.trace("Plugins" /* Plugins */, this.name, "dispose", undefined, "started");
61
+ this.disposed = true;
62
+ Object.values(this.disposeFuncs).forEach(func => func());
63
+ this.pool.dispose();
64
+ (_a = this.mainConsumer) === null || _a === void 0 ? void 0 : _a.dispose();
65
+ (_b = this.stickyConsumer) === null || _b === void 0 ? void 0 : _b.dispose();
66
+ logger.trace("Plugins" /* Plugins */, this.name, "dispose", undefined, "dispose completed");
67
+ }
68
+ get isDisposed() {
69
+ return this.disposed;
70
+ }
71
+ // #endregion
72
+ // #region request
73
+ /**
74
+ * 由于 `stickyConsumer` 仅用于少数调用,
75
+ * 故在一般情况下(如:仅使用 Consumer 时)不会被调用,
76
+ * 在这里做延迟初始化以节省内存开销
77
+ */
78
+ buildStickyConsumer() {
79
+ if (this.stickyConsumer === undefined) {
80
+ this.stickyConsumer = new __1.InternalConsumer({
81
+ [plugins_1.PluginType.NamingService]: this,
82
+ [plugins_1.PluginType.LocalRegistry]: this.localRegistry,
83
+ [plugins_1.PluginType.LoadBalancer]: new __1.HashRingLoadBalancer()
84
+ }, undefined, this.logger);
85
+ }
86
+ return this.stickyConsumer;
87
+ }
88
+ async selectBackend(consumer, service, key) {
89
+ if (this.disposed) {
90
+ throw new __1.StateError("Already disposed");
91
+ }
92
+ const { protocol, logger } = this;
93
+ const caller = {
94
+ namespace: "",
95
+ service: "",
96
+ metadata: {
97
+ protocol
98
+ }
99
+ };
100
+ const callee = {
101
+ namespace: this.options.polarisNamespace,
102
+ service,
103
+ metadata: {
104
+ protocol
105
+ }
106
+ };
107
+ const { transaction } = logger;
108
+ logger.trace("Plugins" /* Plugins */, this.name, "selectBackend", transaction, "query service is", service);
109
+ const response = await consumer.select(callee, caller, {
110
+ [plugins_1.PluginType.LoadBalancer]: key
111
+ });
112
+ if (response) {
113
+ if (logger.tracingEnabled) {
114
+ const { instance: { host, port } } = response;
115
+ logger.trace("Plugins" /* Plugins */, this.name, "selectBackend", transaction, `${service} backend is ${host}:${port}`);
116
+ }
117
+ return response;
118
+ }
119
+ logger.trace("Plugins" /* Plugins */, this.name, "selectBackend", transaction, `query ${service} failed`);
120
+ /**
121
+ * 在某些特定场景下,后端不一定实现了全量服务,故在此采用 ServiceNotFound 异常
122
+ */
123
+ throw new __1.ServiceNotFound(`${callee.namespace}.${service} not found`);
124
+ }
125
+ /**
126
+ * 此函数签名用于实现
127
+ *
128
+ * @note
129
+ * TS 参数需满足双向协变要求,故需将 |payload| 由联合类型 (Union Type) 转为交集类型 (Intersection Type),
130
+ * 但由于 TS 所限,如使用泛型类型 `UnionToIntersection<T>` 转换,|payload| 会推导出 `unkown` 类型。
131
+ * 鉴于上述问题,做出如下处理:
132
+ * * 在实现时,采用明确类型签名;
133
+ * * 在调用时,提供泛型签名;
134
+ */
135
+ async requestBackend(type, service, method, payload, key) {
136
+ const calledInstances = [];
137
+ let lastError;
138
+ const { logger } = this;
139
+ const { transaction } = logger;
140
+ if (logger.tracingEnabled) {
141
+ logger.trace("Plugins" /* Plugins */, this.name, "requestBackend", transaction, `request ${service}#${method} with`, payload, key ? `by ${key}` : "");
142
+ }
143
+ for (;;) {
144
+ let comsumer = this.mainConsumer;
145
+ if (typeof key === "string") {
146
+ comsumer = this.buildStickyConsumer();
147
+ }
148
+ /**
149
+ * 当在初始化过程中发生穿透调用(访问 `polarisNamespace.discoverService`)时,
150
+ * `consumer` 有可能不存在(由于初始化失败被释放),
151
+ * 则直接抛出上次调用异常,不再进行重试。
152
+ */
153
+ if (comsumer === undefined) {
154
+ /**
155
+ * 当 `consumer` 不存在时,`lastError` 一定存在。
156
+ * _也就是说:至少有一次调用_
157
+ */
158
+ if (lastError === undefined) {
159
+ (0, utils_1.UNREACHABLE)();
160
+ }
161
+ throw lastError;
162
+ }
163
+ const instanceResponse = await this.selectBackend(comsumer, service, key);
164
+ const { instance, callee } = instanceResponse;
165
+ if (calledInstances.includes(instance)) {
166
+ throw new __1.NetworkError(lastError);
167
+ }
168
+ /**
169
+ * 如目标实例为预置实例,则上报被调名增加特定后缀
170
+ */
171
+ if (instance.version === utils_2.kInstanceLocalVersion) {
172
+ callee.service += this.options.presetSuffix;
173
+ }
174
+ calledInstances.push(instance);
175
+ if (logger.tracingEnabled) {
176
+ const { host, port } = instance;
177
+ logger.trace("Plugins" /* Plugins */, this.name, "requestBackend", transaction, `call ${host}:${port}`);
178
+ }
179
+ const startTime = (0, process_1.uptime)();
180
+ let callResponse;
181
+ try {
182
+ callResponse = await this.pool.getOrCreateClient(instance, type)[method](payload);
183
+ }
184
+ catch (e) {
185
+ instanceResponse.update(false, ((0, process_1.uptime)() - startTime) * utils_1.kSeconds);
186
+ const { host, port } = instance;
187
+ logger.error(`[${this.name}] [requestBackend] call ${this.options.polarisNamespace}.${service}#${method}(${host}:${port}) exception`, e);
188
+ logger.trace("Plugins" /* Plugins */, this.name, "requestBackend", transaction, "failed with err", e);
189
+ lastError = e;
190
+ continue;
191
+ }
192
+ const code = this.unbox(callResponse.code, NaN);
193
+ instanceResponse.update(true, ((0, process_1.uptime)() - startTime) * utils_1.kSeconds, `${code || 0}`);
194
+ logger.trace("Plugins" /* Plugins */, this.name, "requestBackend", transaction, "finished with code", code);
195
+ return callResponse;
196
+ }
197
+ }
198
+ /**
199
+ * 追踪后端调用结果
200
+ * @param transaction 追踪 ID
201
+ * @param method 调用函数名
202
+ * @param response 后端响应
203
+ */
204
+ tracingResponse(transaction, method, response) {
205
+ const { logger } = this;
206
+ if (logger.tracingEnabled) {
207
+ const code = this.unbox(response.code, NaN);
208
+ const info = this.unbox(response.info, "");
209
+ logger.trace("Plugins" /* Plugins */, this.name, method, transaction, `response code is ${code} and with info: ${info}`);
210
+ }
211
+ }
212
+ /**
213
+ * 判断后端调用是否成功(不成功则抛出异常)
214
+ * @param response 后端响应
215
+ * @param namespace 命名空间
216
+ * @param service 服务名
217
+ */
218
+ maybeErrorResponse(response, namespace, service) {
219
+ const code = this.unbox(response.code, NaN);
220
+ const info = this.unbox(response.info, "");
221
+ if (Number.isNaN(code)) {
222
+ throw new __1.InvalidResponse("Illegal response");
223
+ }
224
+ if (code >= kErrorLevel) {
225
+ const message = `[${code}] [${namespace}.${service}] ${info}`;
226
+ if (code >= kExceptionLevel) {
227
+ throw new __1.ServerException(message);
228
+ }
229
+ if (code >= kServiceNotFoundLevel) {
230
+ throw new __1.ServiceNotFound(message);
231
+ }
232
+ throw new __1.ServerError(message);
233
+ }
234
+ }
235
+ /**
236
+ * 判断后端调用是否成功
237
+ * @param response 后端响应
238
+ * @param level 比较级别(默认为 `kErrorLevel`)
239
+ */
240
+ isSuccessResponse(response, level = kErrorLevel) {
241
+ return this.unbox(response.code, NaN) < level;
242
+ }
243
+ // #endregion
244
+ // #region initialize
245
+ async waitForInitialized() {
246
+ const { initializeStatus, logger } = this;
247
+ const { transaction } = logger;
248
+ if (initializeStatus.promise === null) {
249
+ /*
250
+ * note:
251
+ * 这里必须先创建 Promise {<pending>},
252
+ * 避免 `bootstrap()` 未返回时又进行调用造成死循环
253
+ */
254
+ let resolve;
255
+ let reject;
256
+ initializeStatus.promise = new Promise((...args) => {
257
+ [resolve, reject] = args;
258
+ });
259
+ logger.trace("Plugins" /* Plugins */, this.name, "waitForInitialized", transaction, "start bootstrap");
260
+ this.bootstrap().then(resolve, (err) => {
261
+ var _a;
262
+ /** 回滚 `bootstrap()` 已创建对象 */
263
+ (_a = this.mainConsumer) === null || _a === void 0 ? void 0 : _a.dispose(true);
264
+ initializeStatus.promise = null;
265
+ this.localRegistry = undefined;
266
+ this.local = undefined;
267
+ this.loc = Object.assign({}, location_1.blankLocation);
268
+ this.mainConsumer = undefined;
269
+ reject(err);
270
+ });
271
+ }
272
+ else {
273
+ logger.trace("Plugins" /* Plugins */, this.name, "waitForInitialized", transaction, "waiting for latest bootstrap function execution complete");
274
+ }
275
+ try {
276
+ await initializeStatus.promise;
277
+ }
278
+ catch (e) {
279
+ logger.trace("Plugins" /* Plugins */, this.name, "waitForInitialized", transaction, "bootstrap with exception", e);
280
+ throw e;
281
+ }
282
+ initializeStatus.initialized = true;
283
+ logger.trace("Plugins" /* Plugins */, this.name, "waitForInitialized", transaction, "bootstrap success");
284
+ }
285
+ // eslint-disable-next-line max-lines-per-function
286
+ async bootstrap() {
287
+ const { logger, protocol, options: { polarisNamespace, discoverService, detectionTimeout, bootstrapOnly } } = this;
288
+ const { transaction } = logger;
289
+ // #region 构建 Consumer
290
+ /*
291
+ * 在启动时,通过配置(北极星实例与规则路由)打底缓存,断路调用链
292
+ * _也就是说,启动时通过 `mainConsumer` 查询北极星远端实例,不再调用此插件_
293
+ * 这样做归一化了启动流程,其它接口无需再做区分(是否为启动流程)
294
+ */
295
+ this.localRegistry = new __1.MemoryOnlyRegistry();
296
+ this.localRegistry[plugins_1.RegistryCategory.Instance].set(polarisNamespace, discoverService, {
297
+ revision: "",
298
+ data: (0, utils_2.address2Instance)(this.remotes, this.protocol)
299
+ });
300
+ this.localRegistry[plugins_1.RegistryCategory.Rule].set(polarisNamespace, discoverService, {
301
+ data: {
302
+ in: [{
303
+ sources: [{ service: "*", metadata: { protocol } }],
304
+ destinations: [{ service: "*", priority: 0, weight: 1, metadata: { protocol } }]
305
+ }],
306
+ out: []
307
+ },
308
+ revision: ""
309
+ });
310
+ logger.trace("Plugins" /* Plugins */, this.name, "bootstrap", transaction, "initialized LocalRegistryPlugin with address", this.remotes);
311
+ const mainConsumer = new __1.InternalConsumer({
312
+ [plugins_1.PluginType.NamingService]: this,
313
+ [plugins_1.PluginType.LocalRegistry]: this.localRegistry,
314
+ [plugins_1.PluginType.CircuitBreaker]: new __1.PolarisCircuitBreaker({
315
+ continuousErrors: 1 /** 由于调用量低,故降低阈值,快速熔断 */
316
+ }),
317
+ [plugins_1.PluginType.LoadBalancer]: new __1.StickyLoadBalancer(new __1.WRLoadBalancer(), {
318
+ expireTime: this.options.switchDuration
319
+ })
320
+ }, {
321
+ /** 北极星后端变更极少,降低刷新时间,以优化后端压力 */
322
+ refreshTime: {
323
+ [plugins_1.RegistryCategory.Instance]: 1 * utils_1.kHours,
324
+ [plugins_1.RegistryCategory.Ratelimit]: 1 * utils_1.kHours
325
+ },
326
+ /** 配置实例与规则的脏数据时间为无穷大,避免死循环 */
327
+ dirtyTime: {
328
+ [plugins_1.RegistryCategory.Instance]: Infinity,
329
+ [plugins_1.RegistryCategory.Rule]: Infinity
330
+ },
331
+ recycleTime: Infinity
332
+ }, logger);
333
+ this.mainConsumer = mainConsumer;
334
+ // #endregion
335
+ // #region 更新 Discover Service 远端
336
+ let parallelTask = [];
337
+ if (bootstrapOnly) {
338
+ logger.trace("Plugins" /* Plugins */, this.name, "bootstrap", transaction, "update discover remote");
339
+ parallelTask = [
340
+ mainConsumer.update(polarisNamespace, discoverService, plugins_1.RegistryCategory.Rule),
341
+ mainConsumer.update(polarisNamespace, discoverService, plugins_1.RegistryCategory.Instance)
342
+ ];
343
+ }
344
+ // #endregion
345
+ // #region 获取本地对应的 IP 地址
346
+ logger.trace("Plugins" /* Plugins */, this.name, "bootstrap", transaction, "fetch local address");
347
+ parallelTask.push((0, utils_2.fastestRemote)(this.remotes.map(remote => (0, utils_2.address2Endpoint)(remote)), detectionTimeout));
348
+ // #endregion
349
+ // #region 等待所有异步任务完成
350
+ const taskResult = await Promise.all(parallelTask);
351
+ if (bootstrapOnly) {
352
+ this.pool.truncate(); // 远端实例更新完成时,断开所有引导实例
353
+ logger.trace("Plugins" /* Plugins */, this.name, "bootstrap", transaction, "discover remote update completed");
354
+ }
355
+ this.local = taskResult[taskResult.length - 1].local;
356
+ logger.trace("Plugins" /* Plugins */, this.name, "bootstrap", transaction, "local adddress is", this.local.host);
357
+ // #endregion
358
+ // #region 获得客户端 `Location`
359
+ logger.trace("Plugins" /* Plugins */, this.name, "bootstrap", transaction, "locate client location");
360
+ let client;
361
+ for (let i = 0; i < this.remotes.length; i += 1) { // eslint-disable-line @typescript-eslint/prefer-for-of
362
+ logger.trace("Plugins" /* Plugins */, this.name, "bootstrap", transaction, "querying", this.remotes[i]);
363
+ const response = await this.requestBackend(types_1.ServiceType.Discover, discoverService, "reportClient", {
364
+ host: (0, utils_2.isAnyAddr)(this.local.host) ? null : this.box(this.local.host),
365
+ version: this.box(utils_1.kModuleVersion),
366
+ type: types_1.ClientType.SDK
367
+ });
368
+ if (this.isSuccessResponse(response)) {
369
+ ({ client } = response);
370
+ }
371
+ if (this.isSuccessResponse(response, kExceptionLevel)) {
372
+ break;
373
+ }
374
+ else if (logger.tracingEnabled) {
375
+ logger.trace("Plugins" /* Plugins */, this.name, "bootstrap", transaction, "exception for locate location, response code is", this.unbox(response.code, NaN));
376
+ }
377
+ }
378
+ logger.trace("Plugins" /* Plugins */, this.name, "bootstrap", transaction, "client location is", client === null || client === void 0 ? void 0 : client.location);
379
+ /*
380
+ * note:
381
+ * 当得不到 `location` 信息时,不走就近调用相关逻辑
382
+ */
383
+ if (client === null || client === void 0 ? void 0 : client.location) {
384
+ const { location: { campus, region, zone } } = client;
385
+ this.loc = {
386
+ campus: this.unbox(campus, ""),
387
+ region: this.unbox(region, ""),
388
+ zone: this.unbox(zone, "")
389
+ };
390
+ }
391
+ else {
392
+ logger.info(`[${this.name}] [bootstrap], client location not found`);
393
+ }
394
+ // #endregion
395
+ }
396
+ }
397
+ exports.PolarisBaseAdapter = PolarisBaseAdapter;
398
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/plugins/naming/polaris-server/adapter/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Instance } from "../../../../instance";
2
+ import { DataWithRevision, NamingServicePlugin, RegisterOptions, RegistrationInstance, ServiceRules } from "../../../../plugins";
3
+ import { BaseAdapterOptions, PolarisBaseAdapter } from "./base";
4
+ export interface DiscoverAdapterOptions extends BaseAdapterOptions {
5
+ /**
6
+ * 心跳上报后端服务名
7
+ * __请勿随意修改此配置__
8
+ */
9
+ healthcheckService: string;
10
+ /**
11
+ * 隔离(过滤掉)不健康实例
12
+ */
13
+ isolateUnhealthy: boolean;
14
+ }
15
+ export declare abstract class PolarisDiscoverAdapter extends PolarisBaseAdapter implements NamingServicePlugin {
16
+ protected readonly options: PolarisBaseAdapter["options"] & DiscoverAdapterOptions;
17
+ private routingRuleProcessor?;
18
+ list(namespace: string, service: string, revision?: string): Promise<DataWithRevision<Instance[]>>;
19
+ routingRules(namespace: string, service: string, revision?: string): Promise<DataWithRevision<ServiceRules>>;
20
+ register(namespace: string, service: string, token: string, instance: RegistrationInstance, options?: RegisterOptions): Promise<string>;
21
+ unregister(id: string, token: string): Promise<boolean>;
22
+ unregister(namespace: string, service: string, host: string, port: number, token: string): Promise<boolean>;
23
+ heartbeat(id: string, token: string): Promise<boolean>;
24
+ heartbeat(namespace: string, service: string, host: string, port: number, token: string): Promise<boolean>;
25
+ private instanceTupleToRequest;
26
+ private procInstances;
27
+ }