@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,348 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
+ if (kind === "m") throw new TypeError("Private method is not writable");
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
+ };
13
+ var _a, _Consumer_currentInstances, _Consumer_maxInstances;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Consumer = exports.InternalConsumer = exports.SelectResponse = void 0;
16
+ const process_1 = require("process");
17
+ const errors_1 = require("../errors");
18
+ const plugins_1 = require("../plugins");
19
+ const polaris_1 = require("../plugins/breaker/polaris");
20
+ const wr_1 = require("../plugins/lb/wr");
21
+ const console_1 = require("../plugins/logging/console");
22
+ const memory_1 = require("../plugins/registry/memory");
23
+ const nearby_1 = require("../plugins/router/polaris/nearby");
24
+ const rule_1 = require("../plugins/router/polaris/rule");
25
+ const polaris_2 = require("../plugins/weight/polaris");
26
+ const registry_1 = require("../registry");
27
+ const skeleton_1 = require("../skeleton");
28
+ const utils_1 = require("../utils");
29
+ const health_1 = require("./health");
30
+ const monitor_1 = require("./monitor");
31
+ const selector_1 = require("./selector");
32
+ const kSelector = Symbol("kSelector");
33
+ const kMonitor = Symbol("kMonitor");
34
+ const kHealth = Symbol("kHealth");
35
+ const kRegistry = Symbol("kRegistry");
36
+ class SelectResponse {
37
+ constructor(callee, instance, monitor) {
38
+ this.callee = callee;
39
+ this.instance = instance;
40
+ this[kMonitor] = monitor;
41
+ }
42
+ /**
43
+ * 上报调用结果
44
+ * @param success 是否调用成功
45
+ * @param cost 调用耗时(需大于等于 0,默认为 0)
46
+ * @param code 返回码(可选)
47
+ */
48
+ update(success, cost = 0, code) {
49
+ this[kMonitor].update(this.callee.namespace, this.callee.service, this.instance, success, cost, code);
50
+ }
51
+ }
52
+ exports.SelectResponse = SelectResponse;
53
+ /**
54
+ * For internal use only.
55
+ * Use `Consumer` instead of `InternalConsumer`.
56
+ */
57
+ class InternalConsumer extends skeleton_1.SkeletonClass {
58
+ /**
59
+ * Create Consumer
60
+ * @param plugins 插件
61
+ * @param options 配置参数(可选)
62
+ * @param logger Logger 对象共享,如不传则会自动创建
63
+ */
64
+ constructor(plugins, options = {}, logger) {
65
+ const pluginList = InternalConsumer.mergePluginList(plugins, options);
66
+ super(pluginList, options, logger);
67
+ const naming = pluginList[plugins_1.PluginType.NamingService];
68
+ switch (naming.mode) {
69
+ case plugins_1.OperatingMode.Internal: {
70
+ this[kRegistry] = new registry_1.LocalRegistry(this[skeleton_1.kLogger], naming, this.plugins[plugins_1.PluginType.LocalRegistry], this.plugins[plugins_1.PluginType.StatReporter], undefined, options);
71
+ this[kHealth] = new health_1.Health(this[skeleton_1.kLogger], this[kRegistry], this.plugins[plugins_1.PluginType.LoadBalancer], this.plugins[plugins_1.PluginType.OutlierDetector], this.plugins[plugins_1.PluginType.StatReporter], options);
72
+ this[kRegistry].on("SyncInstanceStatus" /* SyncInstanceStatus */, (namespace, service, instance, status) => {
73
+ this[kHealth].changeStatus(namespace, service, instance, status, "[Registry], synchronized by naming");
74
+ });
75
+ this[kSelector] = new selector_1.InternalSelector(this[skeleton_1.kGlobal], this[skeleton_1.kLogger], this[kHealth], this[kRegistry], this.plugins[plugins_1.PluginType.ServiceRouter], this.plugins[plugins_1.PluginType.LoadBalancer], options);
76
+ this[kMonitor] = new monitor_1.InternalMonitor(this[skeleton_1.kLogger], this[kHealth], this[kRegistry], this.plugins[plugins_1.PluginType.WeightAdjuster], this.plugins[plugins_1.PluginType.StatReporter], this.plugins[plugins_1.PluginType.CircuitBreaker], options);
77
+ break;
78
+ }
79
+ case plugins_1.OperatingMode.External: {
80
+ this[kSelector] = new selector_1.ExternalSelector(naming);
81
+ this[kMonitor] = new monitor_1.ExternalMonitor(this[skeleton_1.kLogger], this.plugins[plugins_1.PluginType.StatReporter]);
82
+ break;
83
+ }
84
+ default: {
85
+ (0, utils_1.UNREACHABLE)();
86
+ }
87
+ }
88
+ }
89
+ static mergePluginList(plugins, options) {
90
+ const pluginList = {
91
+ [plugins_1.PluginType.NamingService]: plugins[plugins_1.PluginType.NamingService],
92
+ [plugins_1.PluginType.LocalRegistry]: plugins[plugins_1.PluginType.LocalRegistry] || new memory_1.MemoryOnlyRegistry(),
93
+ [plugins_1.PluginType.LoadBalancer]: plugins[plugins_1.PluginType.LoadBalancer] || new wr_1.WRLoadBalancer(),
94
+ [plugins_1.PluginType.ServiceRouter]: plugins[plugins_1.PluginType.ServiceRouter] || [new rule_1.PolarisRuleRouter(), new nearby_1.PolarisNearbyRouter()],
95
+ [plugins_1.PluginType.TraceLogging]: plugins[plugins_1.PluginType.TraceLogging] || [new console_1.ConsoleTraceLogging()],
96
+ [plugins_1.PluginType.WeightAdjuster]: plugins[plugins_1.PluginType.WeightAdjuster] || [],
97
+ [plugins_1.PluginType.OutlierDetector]: plugins[plugins_1.PluginType.OutlierDetector] || [],
98
+ [plugins_1.PluginType.StatReporter]: plugins[plugins_1.PluginType.StatReporter] || [],
99
+ [plugins_1.PluginType.CircuitBreaker]: plugins[plugins_1.PluginType.CircuitBreaker]
100
+ };
101
+ /**
102
+ * 在某些特殊场景下,为了避免死循环与内存开销,
103
+ * `NamingService` 与 `StatReporter` 插件实现在一个对象内
104
+ */
105
+ const naming = pluginList[plugins_1.PluginType.NamingService];
106
+ if ((0, skeleton_1.isStatReporterPlugin)(naming)) {
107
+ pluginList[plugins_1.PluginType.StatReporter].push(naming);
108
+ }
109
+ /**
110
+ * `LoadBalancer` 插件不支持动态权重调整时,则不开启
111
+ */
112
+ if (pluginList[plugins_1.PluginType.LoadBalancer].supportedWeightType !== 0 /* Dynamic */) {
113
+ options.enableDynamicWeights = false;
114
+ }
115
+ /**
116
+ * 如启用动态权重调整,又未配置插件实现时,使用默认实现
117
+ */
118
+ if (options.enableDynamicWeights && pluginList[plugins_1.PluginType.WeightAdjuster].length === 0) {
119
+ pluginList[plugins_1.PluginType.WeightAdjuster] = [new polaris_2.PolarisDynamicWeight()];
120
+ }
121
+ /**
122
+ * 如启用节点熔断插件,又未配置插件实现时,使用默认实现
123
+ */
124
+ if ((!options.breakerSwitch || options.breakerSwitch.period || options.breakerSwitch.realtime)
125
+ && !pluginList[plugins_1.PluginType.CircuitBreaker]) {
126
+ pluginList[plugins_1.PluginType.CircuitBreaker] = new polaris_1.PolarisCircuitBreaker();
127
+ }
128
+ return pluginList;
129
+ }
130
+ /**
131
+ * 销毁(释放)所占资源
132
+ *
133
+ * @description
134
+ * dispose order:
135
+ * Monitor -> Health -> Selector -> Registry -> [plguins]
136
+ *
137
+ * @param sync 是否同步释放(可选)
138
+ */
139
+ dispose(sync = false) {
140
+ var _b, _c;
141
+ const { [skeleton_1.kLogger]: logger, [skeleton_1.kDisposed]: disposed } = this;
142
+ if (disposed) {
143
+ return;
144
+ }
145
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "dispose", undefined, "started");
146
+ this[kMonitor].dispose();
147
+ this[kHealth].dispose();
148
+ (_c = (_b = this[kSelector]).dispose) === null || _c === void 0 ? void 0 : _c.call(_b);
149
+ this[kRegistry].dispose();
150
+ super.dispose(sync);
151
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "dispose", undefined, "dispose completed");
152
+ }
153
+ async select(...args) {
154
+ const startTime = (0, process_1.uptime)();
155
+ let callee;
156
+ let caller;
157
+ let callArgs;
158
+ if (typeof args[0] === "string" && typeof args[1] === "string") {
159
+ const exactArgs = args;
160
+ callee = {
161
+ namespace: exactArgs[0],
162
+ service: exactArgs[1],
163
+ metadata: exactArgs[2]
164
+ };
165
+ const [, , metadata] = exactArgs;
166
+ if (metadata) {
167
+ caller = {
168
+ namespace: "",
169
+ service: "",
170
+ metadata
171
+ };
172
+ }
173
+ [, , , callArgs] = exactArgs;
174
+ }
175
+ else {
176
+ [callee, caller, callArgs] = args;
177
+ }
178
+ const { [skeleton_1.kLogger]: logger } = this;
179
+ const { transaction } = logger;
180
+ this[skeleton_1.kLogger].trace("Consumer" /* Consumer */, Consumer.name, "select", transaction, "caller is", caller, "callee is", callee, "with args:", callArgs);
181
+ let instance = null;
182
+ let err;
183
+ try {
184
+ this[skeleton_1.kMaybeAlreadyDisposed]();
185
+ instance = await this[kSelector].select(callee, caller, callArgs);
186
+ }
187
+ catch (e) {
188
+ err = e;
189
+ }
190
+ this[skeleton_1.kAPICollector]("Consumer.select", ((0, process_1.uptime)() - startTime) * utils_1.kSeconds, err);
191
+ if (err) {
192
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "select", transaction, "exception", err);
193
+ throw err;
194
+ }
195
+ if (instance === null) {
196
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "select", transaction, "not found matching instance");
197
+ return null;
198
+ }
199
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "select", transaction, "selected instance is", instance);
200
+ return new SelectResponse(callee, instance, this[kMonitor]);
201
+ }
202
+ /**
203
+ * 获取全部服务实例
204
+ * @param namespace 服务名字空间
205
+ * @param service 服务名
206
+ */
207
+ async list(namespace, service) {
208
+ const startTime = (0, process_1.uptime)();
209
+ const { [skeleton_1.kLogger]: logger } = this;
210
+ const { transaction } = logger;
211
+ if (logger.tracingEnabled) {
212
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "list", transaction, `list ${namespace}.${service} instances`);
213
+ }
214
+ let err;
215
+ try {
216
+ this[skeleton_1.kMaybeAlreadyDisposed]();
217
+ const instances = await this[kSelector].list(namespace, service);
218
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "list", transaction, "all instances:", instances);
219
+ return instances;
220
+ }
221
+ catch (e) {
222
+ err = e;
223
+ }
224
+ finally {
225
+ this[skeleton_1.kAPICollector]("Consumer.list", ((0, process_1.uptime)() - startTime) * utils_1.kSeconds, err);
226
+ }
227
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "list", transaction, "exception", err);
228
+ throw err;
229
+ }
230
+ /**
231
+ * 获取服务规则路由
232
+ * @param namespace 服务名字空间
233
+ * @param service 服务名
234
+ */
235
+ async rules(namespace, service) {
236
+ const startTime = (0, process_1.uptime)();
237
+ const { [skeleton_1.kLogger]: logger } = this;
238
+ const { transaction } = logger;
239
+ if (logger.tracingEnabled) {
240
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "rules", transaction, `list ${namespace}.${service} rules`);
241
+ }
242
+ let err;
243
+ try {
244
+ this[skeleton_1.kMaybeAlreadyDisposed]();
245
+ const rules = await this[kSelector].rules(namespace, service);
246
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "rules", transaction, "service rules:", rules);
247
+ return rules;
248
+ }
249
+ catch (e) {
250
+ err = e;
251
+ }
252
+ finally {
253
+ this[skeleton_1.kAPICollector]("Consumer.rules", ((0, process_1.uptime)() - startTime) * utils_1.kSeconds, err);
254
+ }
255
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "rules", transaction, "exception", err);
256
+ throw err;
257
+ }
258
+ /**
259
+ * 强制刷新缓存
260
+ * @param namespace 服务名字空间
261
+ * @param service 服务名
262
+ * @param type 数据存储类别
263
+ */
264
+ async update(namespace, service, type) {
265
+ const startTime = (0, process_1.uptime)();
266
+ const { [skeleton_1.kLogger]: logger } = this;
267
+ const { transaction } = logger;
268
+ if (logger.tracingEnabled) {
269
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "update", transaction, `update ${namespace}.${service} ${type}`);
270
+ }
271
+ let err;
272
+ try {
273
+ this[skeleton_1.kMaybeAlreadyDisposed]();
274
+ const hasUpdated = await this[kRegistry].update(type, namespace, service);
275
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "update", transaction, hasUpdated ? "no updates" : `updated ${type}`);
276
+ return hasUpdated;
277
+ }
278
+ catch (e) {
279
+ err = e;
280
+ }
281
+ finally {
282
+ this[skeleton_1.kAPICollector]("Consumer.update", ((0, process_1.uptime)() - startTime) * utils_1.kSeconds, err);
283
+ }
284
+ logger.trace("Consumer" /* Consumer */, Consumer.name, "update", transaction, "exception", err);
285
+ throw err;
286
+ }
287
+ }
288
+ exports.InternalConsumer = InternalConsumer;
289
+ class Consumer extends InternalConsumer {
290
+ /**
291
+ * Create Consumer
292
+ * @param plugins 插件
293
+ * @param options 配置参数(可选)
294
+ */
295
+ constructor(plugins, options = {}) {
296
+ var _b;
297
+ super(plugins, options);
298
+ __classPrivateFieldSet(_b = Consumer, _a, __classPrivateFieldGet(_b, _a, "f", _Consumer_currentInstances) + 1, "f", _Consumer_currentInstances);
299
+ if (__classPrivateFieldGet(Consumer, _a, "f", _Consumer_currentInstances) >= __classPrivateFieldGet(Consumer, _a, "f", _Consumer_maxInstances)) {
300
+ (0, skeleton_1.emitMaxInstancesExceededWarning)("Consumer", __classPrivateFieldGet(Consumer, _a, "f", _Consumer_maxInstances));
301
+ }
302
+ }
303
+ /**
304
+ * 当前可实例化的最大次数
305
+ */
306
+ static get maxInstances() {
307
+ return __classPrivateFieldGet(Consumer, _a, "f", _Consumer_maxInstances);
308
+ }
309
+ /**
310
+ * 设置可实例化的最大次数
311
+ * @param n 最大次数
312
+ */
313
+ static setMaxInstances(n) {
314
+ if (typeof n !== "number" || n < 0 || Number.isNaN(n)) {
315
+ throw new errors_1.ArgumentError("|n| must be a non-negative number");
316
+ }
317
+ __classPrivateFieldSet(Consumer, _a, n, "f", _Consumer_maxInstances);
318
+ }
319
+ /**
320
+ * 销毁(释放)所占资源
321
+ * @param sync 是否同步释放(可选)
322
+ */
323
+ dispose(sync = false) {
324
+ var _b;
325
+ if (this[skeleton_1.kDisposed]) {
326
+ return;
327
+ }
328
+ super.dispose(sync);
329
+ __classPrivateFieldSet(_b = Consumer, _a, __classPrivateFieldGet(_b, _a, "f", _Consumer_currentInstances) - 1, "f", _Consumer_currentInstances);
330
+ if (__classPrivateFieldGet(Consumer, _a, "f", _Consumer_currentInstances) < 0) {
331
+ (0, utils_1.UNREACHABLE)();
332
+ }
333
+ }
334
+ }
335
+ exports.Consumer = Consumer;
336
+ _a = Consumer;
337
+ _Consumer_currentInstances = { value: 0 };
338
+ _Consumer_maxInstances = { value: void 0 };
339
+ (() => {
340
+ let maxInstances = 10;
341
+ const { POLARIS_CONSUMER_INSTANCE_LIMIT } = process.env;
342
+ if (POLARIS_CONSUMER_INSTANCE_LIMIT !== undefined) {
343
+ maxInstances = parseInt(POLARIS_CONSUMER_INSTANCE_LIMIT, 10);
344
+ maxInstances = (maxInstances === 0 /** Unlimited */ ? Infinity : maxInstances);
345
+ }
346
+ _a.setMaxInstances(maxInstances);
347
+ })();
348
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consumer/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /// <reference types="node" />
2
+ import { Instance } from "../instance";
3
+ import { Logger } from "../logging";
4
+ import { CircuitBreakerPlugin, StatReporterPlugin, WeightAdjusterPlugin } from "../plugins";
5
+ import { LocalRegistry } from "../registry";
6
+ import { Health } from "./health";
7
+ export interface StatProp {
8
+ /**
9
+ * 总调用量,其值可为 0
10
+ */
11
+ count: number;
12
+ /**
13
+ * 总耗时,其值可为 0
14
+ */
15
+ cost: number;
16
+ }
17
+ /**
18
+ * 用于 `BucketStat` 索引
19
+ *
20
+ * 第一个字符代表调用是否成功(0 为失败,1 为成功),剩余部分代表返回状态码
21
+ *
22
+ * Background:
23
+ * 由于 ECMAScript 没有办法重写对象 Key 的比较函数,
24
+ * 所以这里将维度打平为字符串以提高查找性能,以减少额外开销
25
+ */
26
+ declare type BucketStatKey = `${0 | 1}${string}`;
27
+ export interface ComputeStatKey {
28
+ /**
29
+ * 是否调用成功
30
+ */
31
+ success: boolean;
32
+ /**
33
+ * 返回码
34
+ */
35
+ code: string;
36
+ }
37
+ export interface ComputedStat {
38
+ /**
39
+ * 统计周期
40
+ */
41
+ statWindow: number;
42
+ /**
43
+ * 汇总统计值
44
+ */
45
+ summaryStat: Map<Instance, Map<ComputeStatKey, StatProp>>;
46
+ }
47
+ /**
48
+ * 采用滑动窗口,分桶方式进行
49
+ */
50
+ interface BucketStat {
51
+ /**
52
+ * 所在统计周期
53
+ */
54
+ period: number;
55
+ /**
56
+ * 统计值
57
+ */
58
+ stat: Record<BucketStatKey, StatProp>;
59
+ }
60
+ declare const kDefaultOptions: {
61
+ /**
62
+ * 统计周期
63
+ *
64
+ * 与统计单元数,共同确定了统计数据的计算间隔(监控子的系统最小分辨率)
65
+ */
66
+ statWindow: number;
67
+ /**
68
+ * 统计单元数
69
+ *
70
+ * 与统计周期,共同确定了统计数据的计算间隔(监控子的系统最小分辨率)
71
+ */
72
+ bucketsCount: number;
73
+ /**
74
+ * 是否开启动态权重
75
+ *
76
+ * 仅 `InternalMonitor` 有效
77
+ */
78
+ enableDynamicWeights: boolean;
79
+ /**
80
+ * 节点熔断插件开启状态
81
+ *
82
+ * 仅 `InternalMonitor` 有效
83
+ */
84
+ breakerSwitch: {
85
+ /**
86
+ * 实时熔断是否开启
87
+ */
88
+ realtime: boolean;
89
+ /**
90
+ * 周期熔断是否开启
91
+ */
92
+ period: boolean;
93
+ };
94
+ };
95
+ export declare type MonitorOptions = typeof kDefaultOptions;
96
+ /** 统计要求 */
97
+ declare const enum StatisticalBitfield {
98
+ /** 不做任何统计 */
99
+ None = 0,
100
+ /** 统计全量数据 */
101
+ Full = 1,
102
+ /** 仅统计存活数据,实例状态不为 `Fused` */
103
+ Alive = 2
104
+ }
105
+ declare class StatStore {
106
+ store: Partial<Record<string, Partial<Record<string, Map<Instance, BucketStat[]>>>>>;
107
+ get(namespace: string, service: string): Map<Instance, BucketStat[]>;
108
+ }
109
+ export declare abstract class Monitor {
110
+ protected currentPeriod: number;
111
+ protected timer: NodeJS.Timeout | undefined;
112
+ protected disposed: boolean;
113
+ protected fullStat?: StatStore;
114
+ protected aliveStat?: StatStore;
115
+ protected abstract options: MonitorOptions;
116
+ constructor(requisite?: StatisticalBitfield);
117
+ dispose(): void;
118
+ update(namespace: string, service: string, instance: Instance, success: boolean, cost: number, code?: string): void;
119
+ private performUpdate;
120
+ protected abstract compute(): void;
121
+ }
122
+ export declare class InternalMonitor extends Monitor {
123
+ protected options: MonitorOptions;
124
+ private readonly health;
125
+ private readonly logger;
126
+ private readonly registry;
127
+ private readonly breaker?;
128
+ private readonly adjusters;
129
+ private readonly reporters;
130
+ constructor(logger: Logger, health: Health, registry: LocalRegistry, adjusters: WeightAdjusterPlugin[], reporters: StatReporterPlugin[], breaker?: CircuitBreakerPlugin, options?: Partial<MonitorOptions>);
131
+ update(namespace: string, service: string, instance: Instance, success: boolean, cost: number, code?: string): void;
132
+ protected performCompute({ store }: StatStore, handle: (namespace: string, service: string, computed: ComputedStat) => void): void;
133
+ protected compute(): void;
134
+ private performFullStat;
135
+ private performAliveStat;
136
+ }
137
+ export declare class ExternalMonitor extends Monitor {
138
+ protected options: MonitorOptions;
139
+ private readonly logger;
140
+ private readonly reporters;
141
+ private nowPeriod;
142
+ constructor(logger: Logger, reporters: StatReporterPlugin[], options?: Partial<MonitorOptions>);
143
+ compute(): Promise<void>;
144
+ }
145
+ export {};