@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.
- package/@tencent/aegis-node-sdk/CHANGELOG.md +8 -0
- package/@tencent/aegis-node-sdk/LICENSE +21 -0
- package/@tencent/aegis-node-sdk/README.md +562 -0
- package/@tencent/aegis-node-sdk/lib/aegis.min.js +1 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/config.d.ts +14 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/global.d.ts +1 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/index.d.ts +9 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/report-ignore.d.ts +2 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/core.d.ts +85 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/afterRequestHooks.d.ts +3 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/beforeRequestHooks.d.ts +9 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/modifyRequestHooks.d.ts +3 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/index.d.ts +9 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/config.d.ts +62 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/env.d.ts +11 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/index.d.ts +4 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/log.d.ts +130 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/send.d.ts +34 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/format.d.ts +2 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/index.d.ts +18 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/length-limit.d.ts +8 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/pv.d.ts +8 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/remove-payload.d.ts +2 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/repeat-limit.d.ts +4 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/report.d.ts +10 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/sample.d.ts +3 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/throttle.d.ts +3 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/index.d.ts +34 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/jwt.d.ts +12 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/ot-js.d.ts +14 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/uuid.d.ts +2 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/whitelist.d.ts +12 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/write-before.d.ts +3 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/plugin.d.ts +33 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/polyfill.d.ts +0 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/util/destroy.d.ts +2 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/util/event-emitter.d.ts +18 -0
- package/@tencent/aegis-node-sdk/lib/packages/core/src/util/index.d.ts +60 -0
- package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/index.d.ts +15 -0
- package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/interface/selector.d.ts +5 -0
- package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/pipes/batch-report-pipe.d.ts +6 -0
- package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_base.d.ts +18 -0
- package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_http.d.ts +12 -0
- package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/ip_selector.d.ts +10 -0
- package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/polaris_selector.d.ts +20 -0
- package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/selector_base.d.ts +27 -0
- package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/util/eval_require.d.ts +2 -0
- package/@tencent/aegis-node-sdk/package.json +19 -0
- package/@tencent/polaris/README.md +407 -0
- package/@tencent/polaris/dist/consumer/health.d.ts +126 -0
- package/@tencent/polaris/dist/consumer/health.js +283 -0
- package/@tencent/polaris/dist/consumer/health.js.map +1 -0
- package/@tencent/polaris/dist/consumer/index.d.ts +120 -0
- package/@tencent/polaris/dist/consumer/index.js +348 -0
- package/@tencent/polaris/dist/consumer/index.js.map +1 -0
- package/@tencent/polaris/dist/consumer/monitor.d.ts +145 -0
- package/@tencent/polaris/dist/consumer/monitor.js +343 -0
- package/@tencent/polaris/dist/consumer/monitor.js.map +1 -0
- package/@tencent/polaris/dist/consumer/selector.d.ts +73 -0
- package/@tencent/polaris/dist/consumer/selector.js +316 -0
- package/@tencent/polaris/dist/consumer/selector.js.map +1 -0
- package/@tencent/polaris/dist/errors.d.ts +373 -0
- package/@tencent/polaris/dist/errors.js +154 -0
- package/@tencent/polaris/dist/errors.js.map +1 -0
- package/@tencent/polaris/dist/global.d.ts +16 -0
- package/@tencent/polaris/dist/global.js +18 -0
- package/@tencent/polaris/dist/global.js.map +1 -0
- package/@tencent/polaris/dist/index.d.ts +62 -0
- package/@tencent/polaris/dist/index.js +145 -0
- package/@tencent/polaris/dist/index.js.map +1 -0
- package/@tencent/polaris/dist/instance.d.ts +109 -0
- package/@tencent/polaris/dist/instance.js +38 -0
- package/@tencent/polaris/dist/instance.js.map +1 -0
- package/@tencent/polaris/dist/limiter/bucket.d.ts +51 -0
- package/@tencent/polaris/dist/limiter/bucket.js +152 -0
- package/@tencent/polaris/dist/limiter/bucket.js.map +1 -0
- package/@tencent/polaris/dist/limiter/index.d.ts +73 -0
- package/@tencent/polaris/dist/limiter/index.js +149 -0
- package/@tencent/polaris/dist/limiter/index.js.map +1 -0
- package/@tencent/polaris/dist/limiter/ratelimit.d.ts +27 -0
- package/@tencent/polaris/dist/limiter/ratelimit.js +134 -0
- package/@tencent/polaris/dist/limiter/ratelimit.js.map +1 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/base.d.ts +17 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/base.js +15 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/base.js.map +1 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/global.d.ts +59 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/global.js +397 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/global.js.map +1 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/index.d.ts +3 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/index.js +19 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/index.js.map +1 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/local.d.ts +17 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/local.js +52 -0
- package/@tencent/polaris/dist/limiter/ratelimiter/local.js.map +1 -0
- package/@tencent/polaris/dist/location.d.ts +48 -0
- package/@tencent/polaris/dist/location.js +67 -0
- package/@tencent/polaris/dist/location.js.map +1 -0
- package/@tencent/polaris/dist/logging.d.ts +106 -0
- package/@tencent/polaris/dist/logging.js +130 -0
- package/@tencent/polaris/dist/logging.js.map +1 -0
- package/@tencent/polaris/dist/metadata.d.ts +78 -0
- package/@tencent/polaris/dist/metadata.js +119 -0
- package/@tencent/polaris/dist/metadata.js.map +1 -0
- package/@tencent/polaris/dist/plugins/breaker/polaris.d.ts +47 -0
- package/@tencent/polaris/dist/plugins/breaker/polaris.js +162 -0
- package/@tencent/polaris/dist/plugins/breaker/polaris.js.map +1 -0
- package/@tencent/polaris/dist/plugins/lb/base.d.ts +24 -0
- package/@tencent/polaris/dist/plugins/lb/base.js +32 -0
- package/@tencent/polaris/dist/plugins/lb/base.js.map +1 -0
- package/@tencent/polaris/dist/plugins/lb/edf.d.ts +24 -0
- package/@tencent/polaris/dist/plugins/lb/edf.js +77 -0
- package/@tencent/polaris/dist/plugins/lb/edf.js.map +1 -0
- package/@tencent/polaris/dist/plugins/lb/hashring.d.ts +24 -0
- package/@tencent/polaris/dist/plugins/lb/hashring.js +53 -0
- package/@tencent/polaris/dist/plugins/lb/hashring.js.map +1 -0
- package/@tencent/polaris/dist/plugins/lb/sticky.d.ts +31 -0
- package/@tencent/polaris/dist/plugins/lb/sticky.js +88 -0
- package/@tencent/polaris/dist/plugins/lb/sticky.js.map +1 -0
- package/@tencent/polaris/dist/plugins/lb/swrr.d.ts +25 -0
- package/@tencent/polaris/dist/plugins/lb/swrr.js +72 -0
- package/@tencent/polaris/dist/plugins/lb/swrr.js.map +1 -0
- package/@tencent/polaris/dist/plugins/lb/wr.d.ts +17 -0
- package/@tencent/polaris/dist/plugins/lb/wr.js +50 -0
- package/@tencent/polaris/dist/plugins/lb/wr.js.map +1 -0
- package/@tencent/polaris/dist/plugins/lb/wrr.d.ts +19 -0
- package/@tencent/polaris/dist/plugins/lb/wrr.js +81 -0
- package/@tencent/polaris/dist/plugins/lb/wrr.js.map +1 -0
- package/@tencent/polaris/dist/plugins/logging/console.d.ts +10 -0
- package/@tencent/polaris/dist/plugins/logging/console.js +38 -0
- package/@tencent/polaris/dist/plugins/logging/console.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/local-server/index.d.ts +32 -0
- package/@tencent/polaris/dist/plugins/naming/local-server/index.js +88 -0
- package/@tencent/polaris/dist/plugins/naming/local-server/index.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.d.ts +124 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js +398 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.d.ts +27 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js +287 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.d.ts +15 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js +43 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.d.ts +28 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js +249 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.d.ts +19 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js +222 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.d.ts +26 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js +99 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.d.ts +60 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js +259 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/discover.proto +24 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/monitor.proto +18 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/ratelimit.proto +12 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.d.ts +39 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js +115 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/api.proto +24 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/client.proto +22 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/model.proto +28 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/ratelimit.proto +80 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/request.proto +18 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/response.proto +65 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/routing.proto +66 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/service.proto +95 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/types.d.ts +1568 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/index.d.ts +36 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/index.js +51 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/index.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/api.proto +18 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/circuitbreak.proto +67 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/request.proto +82 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/response.proto +11 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkcache.proto +46 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkconfiguration.proto +16 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdktoken.proto +10 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/types.d.ts +1102 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/pool.d.ts +29 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js +77 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/api.proto +12 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/ratelimit.proto +28 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/types.d.ts +395 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/rules.d.ts +13 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js +116 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/types.d.ts +67 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/types.js +67 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/types.js.map +1 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/utils.d.ts +99 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js +217 -0
- package/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js.map +1 -0
- package/@tencent/polaris/dist/plugins/registry/memory.d.ts +10 -0
- package/@tencent/polaris/dist/plugins/registry/memory.js +50 -0
- package/@tencent/polaris/dist/plugins/registry/memory.js.map +1 -0
- package/@tencent/polaris/dist/plugins/router/polaris/nearby.d.ts +51 -0
- package/@tencent/polaris/dist/plugins/router/polaris/nearby.js +145 -0
- package/@tencent/polaris/dist/plugins/router/polaris/nearby.js.map +1 -0
- package/@tencent/polaris/dist/plugins/router/polaris/rule.d.ts +11 -0
- package/@tencent/polaris/dist/plugins/router/polaris/rule.js +174 -0
- package/@tencent/polaris/dist/plugins/router/polaris/rule.js.map +1 -0
- package/@tencent/polaris/dist/plugins/router/trpc/canary.d.ts +25 -0
- package/@tencent/polaris/dist/plugins/router/trpc/canary.js +36 -0
- package/@tencent/polaris/dist/plugins/router/trpc/canary.js.map +1 -0
- package/@tencent/polaris/dist/plugins/router/trpc/env.d.ts +10 -0
- package/@tencent/polaris/dist/plugins/router/trpc/env.js +34 -0
- package/@tencent/polaris/dist/plugins/router/trpc/env.js.map +1 -0
- package/@tencent/polaris/dist/plugins/router/trpc/set.d.ts +56 -0
- package/@tencent/polaris/dist/plugins/router/trpc/set.js +106 -0
- package/@tencent/polaris/dist/plugins/router/trpc/set.js.map +1 -0
- package/@tencent/polaris/dist/plugins/shaping/unirate.d.ts +31 -0
- package/@tencent/polaris/dist/plugins/shaping/unirate.js +124 -0
- package/@tencent/polaris/dist/plugins/shaping/unirate.js.map +1 -0
- package/@tencent/polaris/dist/plugins/shaping/warmup.d.ts +61 -0
- package/@tencent/polaris/dist/plugins/shaping/warmup.js +171 -0
- package/@tencent/polaris/dist/plugins/shaping/warmup.js.map +1 -0
- package/@tencent/polaris/dist/plugins/weight/polaris.d.ts +23 -0
- package/@tencent/polaris/dist/plugins/weight/polaris.js +159 -0
- package/@tencent/polaris/dist/plugins/weight/polaris.js.map +1 -0
- package/@tencent/polaris/dist/plugins.d.ts +619 -0
- package/@tencent/polaris/dist/plugins.js +91 -0
- package/@tencent/polaris/dist/plugins.js.map +1 -0
- package/@tencent/polaris/dist/polaris.d.ts +33 -0
- package/@tencent/polaris/dist/polaris.js +59 -0
- package/@tencent/polaris/dist/polaris.js.map +1 -0
- package/@tencent/polaris/dist/provider/index.d.ts +102 -0
- package/@tencent/polaris/dist/provider/index.js +168 -0
- package/@tencent/polaris/dist/provider/index.js.map +1 -0
- package/@tencent/polaris/dist/registry.d.ts +174 -0
- package/@tencent/polaris/dist/registry.js +660 -0
- package/@tencent/polaris/dist/registry.js.map +1 -0
- package/@tencent/polaris/dist/rules.d.ts +163 -0
- package/@tencent/polaris/dist/rules.js +24 -0
- package/@tencent/polaris/dist/rules.js.map +1 -0
- package/@tencent/polaris/dist/scripts/postinstall.d.ts +1 -0
- package/@tencent/polaris/dist/scripts/postinstall.js +71 -0
- package/@tencent/polaris/dist/scripts/postinstall.js.map +1 -0
- package/@tencent/polaris/dist/service.d.ts +18 -0
- package/@tencent/polaris/dist/service.js +3 -0
- package/@tencent/polaris/dist/service.js.map +1 -0
- package/@tencent/polaris/dist/skeleton.d.ts +87 -0
- package/@tencent/polaris/dist/skeleton.js +282 -0
- package/@tencent/polaris/dist/skeleton.js.map +1 -0
- package/@tencent/polaris/dist/utils.d.ts +36 -0
- package/@tencent/polaris/dist/utils.js +74 -0
- package/@tencent/polaris/dist/utils.js.map +1 -0
- package/@tencent/polaris/dist/weak.d.ts +11 -0
- package/@tencent/polaris/dist/weak.js +44 -0
- package/@tencent/polaris/dist/weak.js.map +1 -0
- package/@tencent/polaris/package.json +114 -0
- package/README.md +61 -0
- package/cursor-setting.png +0 -0
- package/index.js +16 -0
- package/index.js.map +1 -0
- package/mcp-server-prompt.png +0 -0
- package/mcp.json +8 -0
- package/package.json +49 -0
- package/resource/doc/tuicallkit/android/.gitkeep +0 -0
- package/resource/doc/tuicallkit/android/api_TUICallKit.md +610 -0
- package/resource/doc/tuicallkit/android/api_TUICallObserver.md +784 -0
- package/resource/doc/tuicallkit/android/how_to_integrated_android_callkit.md +286 -0
- package/resource/doc/tuicallkit/faq/faq.md +127 -0
- package/resource/doc/tuicallkit/flutter/api_TUICallDefine.md +938 -0
- package/resource/doc/tuicallkit/flutter/api_TUICallKit.md +469 -0
- package/resource/doc/tuicallkit/flutter/api_TUICallObserver.md +897 -0
- package/resource/doc/tuicallkit/flutter/how_to_integrated_flutter_callkit.md +226 -0
- package/resource/doc/tuicallkit/flutter/how_to_run_flutter_callkit_demo.md +101 -0
- package/resource/doc/tuicallkit/iOS/api_TUICallKit.md +398 -0
- package/resource/doc/tuicallkit/iOS/api_TUICallObserver.md +781 -0
- package/resource/doc/tuicallkit/iOS/how_to_integrated_iOS_callkit.md +268 -0
- package/resource/doc/tuicallkit/iOS/how_to_run_iOS_callkit_demo.md +98 -0
- package/resource/doc/tuicallkit/react/.gitkeep +0 -0
- package/resource/doc/tuicallkit/react/api_TUICallKit.md +354 -0
- package/resource/doc/tuicallkit/react/how_to_integrated_react_callkit.md +166 -0
- package/resource/doc/tuicallkit/react/how_to_run_react_callkit_demo.md +61 -0
- package/resource/doc/tuicallkit/vue/.gitkeep +0 -0
- package/resource/doc/tuicallkit/vue/api_TUICallKit.md +354 -0
- package/resource/doc/tuicallkit/vue/how_to_integrated_vue_callkit.md +187 -0
- package/resource/doc/tuicallkit/vue/how_to_run_vue_callkit_demo.md +61 -0
- package/server.js +132 -0
- package/server.js.map +1 -0
- package/streamableHttp.js +74 -0
- package/streamableHttp.js.map +1 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mirror of `PolarisService.DiscoverResponse.DiscoverResponseType`
|
|
3
|
+
*/
|
|
4
|
+
export declare enum DiscoverRequestType {
|
|
5
|
+
UNKNOWN = 0,
|
|
6
|
+
INSTANCE = 1,
|
|
7
|
+
CLUSTER = 2,
|
|
8
|
+
ROUTING = 3,
|
|
9
|
+
RATE_LIMIT = 4
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Mirror of `PolarisService.MatchString.MatchStringType`
|
|
13
|
+
*/
|
|
14
|
+
export declare enum MatchStringType {
|
|
15
|
+
EXACT = 0,
|
|
16
|
+
REGEX = 1
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Mirror of `PolarisService.MatchString.ValueType`
|
|
20
|
+
*/
|
|
21
|
+
export declare enum ValueType {
|
|
22
|
+
TEXT = 0,
|
|
23
|
+
PARAMETER = 1,
|
|
24
|
+
VARIABLE = 2
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Mirror of `MonitorService.StatusChange`
|
|
28
|
+
*/
|
|
29
|
+
export declare enum StatusChange {
|
|
30
|
+
Unknown = 0,
|
|
31
|
+
CloseToOpen = 1,
|
|
32
|
+
OpenToHalfOpen = 2,
|
|
33
|
+
HalfOpenToOpen = 3,
|
|
34
|
+
HalfOpenToClose = 4
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Mirror of `MonitorService.RecoverAllStatus`
|
|
38
|
+
*/
|
|
39
|
+
export declare enum RecoverAllStatus {
|
|
40
|
+
Invalid = 0,
|
|
41
|
+
Start = 1,
|
|
42
|
+
End = 2
|
|
43
|
+
}
|
|
44
|
+
export interface BoxType<T> {
|
|
45
|
+
value?: T | null;
|
|
46
|
+
}
|
|
47
|
+
export interface Boxable {
|
|
48
|
+
unbox<T>(value: BoxType<T> | T | null | undefined, defaultValue: T | (() => T)): T;
|
|
49
|
+
box<T>(value: T): BoxType<T> | T | null | undefined;
|
|
50
|
+
}
|
|
51
|
+
export declare type DeconstructorWrappers<T> = {
|
|
52
|
+
[P in keyof T]: NonNullable<T[P]> extends BoxType<unknown> ? keyof NonNullable<T[P]> extends "value" ? NonNullable<Extract<T[P], BoxType<unknown>>["value"]> | T[P] : DeconstructorWrappers<NonNullable<T[P]>> : DeconstructorWrappers<NonNullable<T[P]>>;
|
|
53
|
+
};
|
|
54
|
+
export declare enum ServiceType {
|
|
55
|
+
Discover = 0,
|
|
56
|
+
Monitor = 1,
|
|
57
|
+
Ratelimit = 2
|
|
58
|
+
}
|
|
59
|
+
export interface ServiceInfo<DiscoverType, MonitorType, RatelimitType> {
|
|
60
|
+
[ServiceType.Discover]: DiscoverType;
|
|
61
|
+
[ServiceType.Monitor]: MonitorType;
|
|
62
|
+
[ServiceType.Ratelimit]: RatelimitType;
|
|
63
|
+
}
|
|
64
|
+
export declare enum ClientType {
|
|
65
|
+
SDK = 0,
|
|
66
|
+
AGENT = 1
|
|
67
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientType = exports.ServiceType = exports.RecoverAllStatus = exports.StatusChange = exports.ValueType = exports.MatchStringType = exports.DiscoverRequestType = void 0;
|
|
4
|
+
// #region enum mirrors
|
|
5
|
+
/**
|
|
6
|
+
* Mirror of `PolarisService.DiscoverResponse.DiscoverResponseType`
|
|
7
|
+
*/
|
|
8
|
+
var DiscoverRequestType;
|
|
9
|
+
(function (DiscoverRequestType) {
|
|
10
|
+
DiscoverRequestType[DiscoverRequestType["UNKNOWN"] = 0] = "UNKNOWN";
|
|
11
|
+
DiscoverRequestType[DiscoverRequestType["INSTANCE"] = 1] = "INSTANCE";
|
|
12
|
+
DiscoverRequestType[DiscoverRequestType["CLUSTER"] = 2] = "CLUSTER";
|
|
13
|
+
DiscoverRequestType[DiscoverRequestType["ROUTING"] = 3] = "ROUTING";
|
|
14
|
+
DiscoverRequestType[DiscoverRequestType["RATE_LIMIT"] = 4] = "RATE_LIMIT";
|
|
15
|
+
})(DiscoverRequestType = exports.DiscoverRequestType || (exports.DiscoverRequestType = {}));
|
|
16
|
+
/**
|
|
17
|
+
* Mirror of `PolarisService.MatchString.MatchStringType`
|
|
18
|
+
*/
|
|
19
|
+
var MatchStringType;
|
|
20
|
+
(function (MatchStringType) {
|
|
21
|
+
MatchStringType[MatchStringType["EXACT"] = 0] = "EXACT";
|
|
22
|
+
MatchStringType[MatchStringType["REGEX"] = 1] = "REGEX";
|
|
23
|
+
})(MatchStringType = exports.MatchStringType || (exports.MatchStringType = {}));
|
|
24
|
+
/**
|
|
25
|
+
* Mirror of `PolarisService.MatchString.ValueType`
|
|
26
|
+
*/
|
|
27
|
+
var ValueType;
|
|
28
|
+
(function (ValueType) {
|
|
29
|
+
ValueType[ValueType["TEXT"] = 0] = "TEXT";
|
|
30
|
+
ValueType[ValueType["PARAMETER"] = 1] = "PARAMETER";
|
|
31
|
+
ValueType[ValueType["VARIABLE"] = 2] = "VARIABLE";
|
|
32
|
+
})(ValueType = exports.ValueType || (exports.ValueType = {}));
|
|
33
|
+
/**
|
|
34
|
+
* Mirror of `MonitorService.StatusChange`
|
|
35
|
+
*/
|
|
36
|
+
var StatusChange;
|
|
37
|
+
(function (StatusChange) {
|
|
38
|
+
StatusChange[StatusChange["Unknown"] = 0] = "Unknown";
|
|
39
|
+
StatusChange[StatusChange["CloseToOpen"] = 1] = "CloseToOpen";
|
|
40
|
+
StatusChange[StatusChange["OpenToHalfOpen"] = 2] = "OpenToHalfOpen";
|
|
41
|
+
StatusChange[StatusChange["HalfOpenToOpen"] = 3] = "HalfOpenToOpen";
|
|
42
|
+
StatusChange[StatusChange["HalfOpenToClose"] = 4] = "HalfOpenToClose";
|
|
43
|
+
})(StatusChange = exports.StatusChange || (exports.StatusChange = {}));
|
|
44
|
+
/**
|
|
45
|
+
* Mirror of `MonitorService.RecoverAllStatus`
|
|
46
|
+
*/
|
|
47
|
+
var RecoverAllStatus;
|
|
48
|
+
(function (RecoverAllStatus) {
|
|
49
|
+
RecoverAllStatus[RecoverAllStatus["Invalid"] = 0] = "Invalid";
|
|
50
|
+
RecoverAllStatus[RecoverAllStatus["Start"] = 1] = "Start";
|
|
51
|
+
RecoverAllStatus[RecoverAllStatus["End"] = 2] = "End";
|
|
52
|
+
})(RecoverAllStatus = exports.RecoverAllStatus || (exports.RecoverAllStatus = {}));
|
|
53
|
+
// #endregion
|
|
54
|
+
// #region Service
|
|
55
|
+
var ServiceType;
|
|
56
|
+
(function (ServiceType) {
|
|
57
|
+
ServiceType[ServiceType["Discover"] = 0] = "Discover";
|
|
58
|
+
ServiceType[ServiceType["Monitor"] = 1] = "Monitor";
|
|
59
|
+
ServiceType[ServiceType["Ratelimit"] = 2] = "Ratelimit";
|
|
60
|
+
})(ServiceType = exports.ServiceType || (exports.ServiceType = {}));
|
|
61
|
+
// #endregion
|
|
62
|
+
var ClientType;
|
|
63
|
+
(function (ClientType) {
|
|
64
|
+
ClientType[ClientType["SDK"] = 0] = "SDK";
|
|
65
|
+
ClientType[ClientType["AGENT"] = 1] = "AGENT";
|
|
66
|
+
})(ClientType = exports.ClientType || (exports.ClientType = {}));
|
|
67
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/plugins/naming/polaris-server/types.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB;;GAEG;AACH,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,mEAAW,CAAA;IACX,qEAAY,CAAA;IACZ,mEAAW,CAAA;IACX,mEAAW,CAAA;IACX,yEAAc,CAAA;AAChB,CAAC,EANW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAM9B;AAED;;GAEG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,uDAAS,CAAA;IACT,uDAAS,CAAA;AACX,CAAC,EAHW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAG1B;AAED;;GAEG;AACH,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,yCAAQ,CAAA;IACR,mDAAa,CAAA;IACb,iDAAY,CAAA;AACd,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAED;;GAEG;AACH,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,qDAAW,CAAA;IACX,6DAAe,CAAA;IACf,mEAAkB,CAAA;IAClB,mEAAkB,CAAA;IAClB,qEAAmB,CAAA;AACrB,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB;AAED;;GAEG;AACH,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,6DAAW,CAAA;IACX,yDAAS,CAAA;IACT,qDAAO,CAAA;AACT,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAkBD,aAAa;AAEb,kBAAkB;AAClB,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,qDAAQ,CAAA;IACR,mDAAO,CAAA;IACP,uDAAS,CAAA;AACX,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAOD,aAAa;AAEb,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,yCAAO,CAAA;IACP,6CAAS,CAAA;AACX,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Instance, InstanceStatus } from "../../..";
|
|
2
|
+
import type * as PolarisTypes from "./discover-pb/types";
|
|
3
|
+
import type * as MonitorTypes from "./monitor-pb/types";
|
|
4
|
+
import { DeconstructorWrappers, ServiceInfo, StatusChange } from "./types";
|
|
5
|
+
export interface EndPoint {
|
|
6
|
+
host: string;
|
|
7
|
+
port: number;
|
|
8
|
+
}
|
|
9
|
+
export interface LocalRemotePair {
|
|
10
|
+
local: EndPoint;
|
|
11
|
+
remote: EndPoint;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 转换为可读地址
|
|
15
|
+
* @param inputs `EndPoint` 类型地址
|
|
16
|
+
*/
|
|
17
|
+
export declare const inspectEndpoints: (inputs: EndPoint[]) => string;
|
|
18
|
+
/**
|
|
19
|
+
* 判断端口号是否合法
|
|
20
|
+
* @param input 端口号
|
|
21
|
+
*/
|
|
22
|
+
export declare const isValidPort: (input: number) => boolean;
|
|
23
|
+
/**
|
|
24
|
+
* 地址类型转换
|
|
25
|
+
* `string` ---> `EndPoint`
|
|
26
|
+
* @param input `string` 类型地址
|
|
27
|
+
* @returns `EndPoint` 类型地址
|
|
28
|
+
*/
|
|
29
|
+
export declare function address2Endpoint(input: string): EndPoint;
|
|
30
|
+
/**
|
|
31
|
+
* 探测连接速度最快的远端节点
|
|
32
|
+
* @param hosts 待探测远端节点列表
|
|
33
|
+
* @param ms 最长探测时长
|
|
34
|
+
* @returns 最快响应远端及其对应的本地节点 IP
|
|
35
|
+
*/
|
|
36
|
+
export declare function fastestRemote(hosts: EndPoint[] | string[], ms?: number): Promise<LocalRemotePair>;
|
|
37
|
+
/**
|
|
38
|
+
* 判断特定 IP(4/6) 是否为任意地址 `INADDR_ANY`
|
|
39
|
+
* @param ip IP 地址
|
|
40
|
+
* @returns 判定结果
|
|
41
|
+
*/
|
|
42
|
+
export declare const isAnyAddr: (ip: string) => boolean;
|
|
43
|
+
/**
|
|
44
|
+
* `protobuf` 时间类型
|
|
45
|
+
*/
|
|
46
|
+
declare type ProtobufTime = MonitorTypes.google.protobuf.ITimestamp | PolarisTypes.google.protobuf.IDuration;
|
|
47
|
+
/**
|
|
48
|
+
* 毫秒转 `protobuf` 时间格式
|
|
49
|
+
* @param ms 毫秒
|
|
50
|
+
*/
|
|
51
|
+
export declare function ms2protobuf(ms: number, format?: ProtobufFormat.Original): DeconstructorWrappers<ProtobufTime>;
|
|
52
|
+
/**
|
|
53
|
+
* 毫秒转 `protobuf` 时间格式
|
|
54
|
+
* @param ms 毫秒
|
|
55
|
+
* @param format 时间格式
|
|
56
|
+
*/
|
|
57
|
+
export declare function ms2protobuf(ms: number, format: ProtobufFormat.JSON): string;
|
|
58
|
+
/**
|
|
59
|
+
* 毫秒转 `protobuf` 时间格式
|
|
60
|
+
* @param ms 毫秒
|
|
61
|
+
* @param format 时间格式
|
|
62
|
+
*/
|
|
63
|
+
export declare function ms2protobuf(ms: number, format: ProtobufFormat): DeconstructorWrappers<ProtobufTime> | string;
|
|
64
|
+
/**
|
|
65
|
+
* `protobuf` 时间格式转毫秒
|
|
66
|
+
* @param time `protobuf` 时间格式
|
|
67
|
+
*/
|
|
68
|
+
export declare function protobuf2ms(time: string | DeconstructorWrappers<ProtobufTime>): number;
|
|
69
|
+
/**
|
|
70
|
+
* 转换实例状态至熔断器变更类型
|
|
71
|
+
* @description `StatusChange` 为熔断器变更类型而非实例的状态,_也就是说,这里所需输出的状态与实例状态相反_
|
|
72
|
+
* @param before 前一状态
|
|
73
|
+
* @param after 下一状态
|
|
74
|
+
*/
|
|
75
|
+
export declare const transformStatusChange: (before: InstanceStatus, after: InstanceStatus) => StatusChange;
|
|
76
|
+
/**
|
|
77
|
+
* 本地实例版本号
|
|
78
|
+
*/
|
|
79
|
+
export declare const kInstanceLocalVersion = "local";
|
|
80
|
+
/**
|
|
81
|
+
* 通过地址列表生成对应实例列表
|
|
82
|
+
* @param input 地址列表
|
|
83
|
+
* @param protocol 协议
|
|
84
|
+
*/
|
|
85
|
+
export declare const address2Instance: (input: readonly string[], protocol: string) => Instance[];
|
|
86
|
+
/**
|
|
87
|
+
* `protobuf` 编码格式
|
|
88
|
+
*/
|
|
89
|
+
export declare enum ProtobufFormat {
|
|
90
|
+
/** 原始格式 */
|
|
91
|
+
Original = 0,
|
|
92
|
+
/** JSON 格式 */
|
|
93
|
+
JSON = 1
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Proto definition directory
|
|
97
|
+
*/
|
|
98
|
+
export declare const kProtoPath: ServiceInfo<string, string, string>;
|
|
99
|
+
export {};
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.kProtoPath = exports.ProtobufFormat = exports.address2Instance = exports.kInstanceLocalVersion = exports.transformStatusChange = exports.protobuf2ms = exports.ms2protobuf = exports.isAnyAddr = exports.fastestRemote = exports.address2Endpoint = exports.isValidPort = exports.inspectEndpoints = void 0;
|
|
4
|
+
const net = require("net");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const __1 = require("../../..");
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
8
|
+
const types_1 = require("./types");
|
|
9
|
+
// #region Network
|
|
10
|
+
const kAnyAddrRegex = /^(0|[^0-9a-z])+$/i;
|
|
11
|
+
const kDetectionTimeout = 1 * utils_1.kSeconds;
|
|
12
|
+
/**
|
|
13
|
+
* 转换为可读地址
|
|
14
|
+
* @param inputs `EndPoint` 类型地址
|
|
15
|
+
*/
|
|
16
|
+
const inspectEndpoints = (inputs) => inputs.map(({ host, port }) => `${host}:${port}`).join(", ");
|
|
17
|
+
exports.inspectEndpoints = inspectEndpoints;
|
|
18
|
+
/**
|
|
19
|
+
* 判断端口号是否合法
|
|
20
|
+
* @param input 端口号
|
|
21
|
+
*/
|
|
22
|
+
const isValidPort = (input) => Number.isInteger(input) && input >= 0 && input <= (2 ** 16) - 1;
|
|
23
|
+
exports.isValidPort = isValidPort;
|
|
24
|
+
/**
|
|
25
|
+
* 地址类型转换
|
|
26
|
+
* `string` ---> `EndPoint`
|
|
27
|
+
* @param input `string` 类型地址
|
|
28
|
+
* @returns `EndPoint` 类型地址
|
|
29
|
+
*/
|
|
30
|
+
function address2Endpoint(input) {
|
|
31
|
+
const [host, port] = input.split(":");
|
|
32
|
+
const normalizedPort = Number.parseInt(port, 10);
|
|
33
|
+
if (!(0, exports.isValidPort)(normalizedPort)) {
|
|
34
|
+
throw new __1.ArgumentError("invalid port");
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
host,
|
|
38
|
+
port: normalizedPort
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
exports.address2Endpoint = address2Endpoint;
|
|
42
|
+
/**
|
|
43
|
+
* 探测连接速度最快的远端节点
|
|
44
|
+
* @param hosts 待探测远端节点列表
|
|
45
|
+
* @param ms 最长探测时长
|
|
46
|
+
* @returns 最快响应远端及其对应的本地节点 IP
|
|
47
|
+
*/
|
|
48
|
+
async function fastestRemote(hosts, ms = kDetectionTimeout) {
|
|
49
|
+
const normalized = [];
|
|
50
|
+
hosts.forEach((host) => {
|
|
51
|
+
switch (typeof host) {
|
|
52
|
+
case "string": {
|
|
53
|
+
normalized.push(address2Endpoint(host));
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case "object": {
|
|
57
|
+
normalized.push(host);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
default: {
|
|
61
|
+
throw new __1.ArgumentError("invalid hosts");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return new Promise((resolve, reject) => {
|
|
66
|
+
let isResolved = false;
|
|
67
|
+
let rejectCount = 0;
|
|
68
|
+
normalized.forEach((host) => {
|
|
69
|
+
const socket = net.connect(Object.assign(Object.assign({}, host), { timeout: ms }))
|
|
70
|
+
.once("connect", () => {
|
|
71
|
+
if (!isResolved) {
|
|
72
|
+
const { localAddress, localPort } = socket;
|
|
73
|
+
if (localAddress && localPort && localPort > 0) {
|
|
74
|
+
isResolved = true;
|
|
75
|
+
resolve({
|
|
76
|
+
local: {
|
|
77
|
+
host: localAddress,
|
|
78
|
+
port: localPort
|
|
79
|
+
},
|
|
80
|
+
remote: host
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
rejectCount += 1;
|
|
85
|
+
if (rejectCount === hosts.length) {
|
|
86
|
+
reject(new __1.NetworkError(`all remote hosts(${(0, exports.inspectEndpoints)(normalized)}) dead`));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
socket.destroy();
|
|
91
|
+
})
|
|
92
|
+
.once("error", () => {
|
|
93
|
+
if (!isResolved) {
|
|
94
|
+
rejectCount += 1;
|
|
95
|
+
if (rejectCount === hosts.length) {
|
|
96
|
+
reject(new __1.NetworkError(`all remote hosts(${(0, exports.inspectEndpoints)(normalized)}) dead`));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
})
|
|
100
|
+
.unref();
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
exports.fastestRemote = fastestRemote;
|
|
105
|
+
/**
|
|
106
|
+
* 判断特定 IP(4/6) 是否为任意地址 `INADDR_ANY`
|
|
107
|
+
* @param ip IP 地址
|
|
108
|
+
* @returns 判定结果
|
|
109
|
+
*/
|
|
110
|
+
const isAnyAddr = (ip) => kAnyAddrRegex.test(ip);
|
|
111
|
+
exports.isAnyAddr = isAnyAddr;
|
|
112
|
+
function ms2protobuf(ms, format = ProtobufFormat.Original) {
|
|
113
|
+
switch (format) {
|
|
114
|
+
case ProtobufFormat.Original: {
|
|
115
|
+
return {
|
|
116
|
+
seconds: ms / utils_1.kSeconds,
|
|
117
|
+
nanos: (ms % utils_1.kSeconds) * utils_1.kSeconds * utils_1.kNanos
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
case ProtobufFormat.JSON: {
|
|
121
|
+
return `${ms / utils_1.kSeconds}s`;
|
|
122
|
+
}
|
|
123
|
+
default: {
|
|
124
|
+
(0, utils_1.UNREACHABLE)();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
(0, utils_1.UNREACHABLE)(); /** Stub */
|
|
128
|
+
}
|
|
129
|
+
exports.ms2protobuf = ms2protobuf;
|
|
130
|
+
/**
|
|
131
|
+
* `protobuf` 时间格式转毫秒
|
|
132
|
+
* @param time `protobuf` 时间格式
|
|
133
|
+
*/
|
|
134
|
+
function protobuf2ms(time) {
|
|
135
|
+
switch (typeof time) {
|
|
136
|
+
case "string": { /** ProtobufFormat.JSON */
|
|
137
|
+
if (!time.endsWith("s")) {
|
|
138
|
+
return NaN;
|
|
139
|
+
}
|
|
140
|
+
return parseFloat(time) * utils_1.kSeconds;
|
|
141
|
+
}
|
|
142
|
+
case "object": {
|
|
143
|
+
const { seconds, nanos } = time;
|
|
144
|
+
if (typeof seconds !== "number" || typeof nanos !== "number") {
|
|
145
|
+
return NaN;
|
|
146
|
+
}
|
|
147
|
+
return Math.floor((seconds * utils_1.kSeconds) + (nanos / utils_1.kNanos));
|
|
148
|
+
}
|
|
149
|
+
default: {
|
|
150
|
+
return NaN;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
(0, utils_1.UNREACHABLE)(); /** Stub */
|
|
154
|
+
}
|
|
155
|
+
exports.protobuf2ms = protobuf2ms;
|
|
156
|
+
// #endregion
|
|
157
|
+
/**
|
|
158
|
+
* 转换实例状态至熔断器变更类型
|
|
159
|
+
* @description `StatusChange` 为熔断器变更类型而非实例的状态,_也就是说,这里所需输出的状态与实例状态相反_
|
|
160
|
+
* @param before 前一状态
|
|
161
|
+
* @param after 下一状态
|
|
162
|
+
*/
|
|
163
|
+
const transformStatusChange = (before, after) => {
|
|
164
|
+
if (before === 0 /* Normal */ && after === 3 /* Fused */) {
|
|
165
|
+
return types_1.StatusChange.CloseToOpen;
|
|
166
|
+
}
|
|
167
|
+
if (before === 2 /* HalfClose */ || before === 1 /* HalfOpen */) {
|
|
168
|
+
if (after === 0 /* Normal */) {
|
|
169
|
+
return types_1.StatusChange.HalfOpenToClose;
|
|
170
|
+
}
|
|
171
|
+
if (after === 3 /* Fused */) {
|
|
172
|
+
return types_1.StatusChange.HalfOpenToOpen;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
else if (before === 3 /* Fused */
|
|
176
|
+
&& (after === 2 /* HalfClose */ || after === 1 /* HalfOpen */)) {
|
|
177
|
+
return types_1.StatusChange.OpenToHalfOpen;
|
|
178
|
+
}
|
|
179
|
+
return types_1.StatusChange.Unknown;
|
|
180
|
+
};
|
|
181
|
+
exports.transformStatusChange = transformStatusChange;
|
|
182
|
+
/**
|
|
183
|
+
* 本地实例版本号
|
|
184
|
+
*/
|
|
185
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
186
|
+
exports.kInstanceLocalVersion = "local";
|
|
187
|
+
/**
|
|
188
|
+
* 通过地址列表生成对应实例列表
|
|
189
|
+
* @param input 地址列表
|
|
190
|
+
* @param protocol 协议
|
|
191
|
+
*/
|
|
192
|
+
const address2Instance = (input, protocol) => input.map((address) => {
|
|
193
|
+
const endpoint = address2Endpoint(address);
|
|
194
|
+
return Object.assign({ dynamicWeight: 0, logicSet: "", priority: 9, status: 0 /* Normal */, staticWeight: 100, protocol, version: exports.kInstanceLocalVersion, metadata: {
|
|
195
|
+
protocol
|
|
196
|
+
}, location: Object.assign({}, __1.blankLocation /** copy */), vpcId: "", id: `${endpoint.host}:${endpoint.port}` }, endpoint);
|
|
197
|
+
});
|
|
198
|
+
exports.address2Instance = address2Instance;
|
|
199
|
+
/**
|
|
200
|
+
* `protobuf` 编码格式
|
|
201
|
+
*/
|
|
202
|
+
var ProtobufFormat;
|
|
203
|
+
(function (ProtobufFormat) {
|
|
204
|
+
/** 原始格式 */
|
|
205
|
+
ProtobufFormat[ProtobufFormat["Original"] = 0] = "Original";
|
|
206
|
+
/** JSON 格式 */
|
|
207
|
+
ProtobufFormat[ProtobufFormat["JSON"] = 1] = "JSON";
|
|
208
|
+
})(ProtobufFormat = exports.ProtobufFormat || (exports.ProtobufFormat = {}));
|
|
209
|
+
/**
|
|
210
|
+
* Proto definition directory
|
|
211
|
+
*/
|
|
212
|
+
exports.kProtoPath = Object.freeze({
|
|
213
|
+
[types_1.ServiceType.Discover]: path.join(__dirname, "discover-pb"),
|
|
214
|
+
[types_1.ServiceType.Monitor]: path.join(__dirname, "monitor-pb"),
|
|
215
|
+
[types_1.ServiceType.Ratelimit]: path.join(__dirname, "ratelimit-pb")
|
|
216
|
+
});
|
|
217
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/plugins/naming/polaris-server/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Instance } from "../../instance";
|
|
2
|
+
import { LocalRegistryPlugin, PluginType, RegistryCategory, RegistryData, ServiceRules } from "../../plugins";
|
|
3
|
+
import { RatelimitRule } from "../../rules";
|
|
4
|
+
export declare class MemoryOnlyRegistry implements LocalRegistryPlugin {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly type = PluginType.LocalRegistry;
|
|
7
|
+
readonly [RegistryCategory.Instance]: RegistryData<Instance[]>;
|
|
8
|
+
readonly [RegistryCategory.Rule]: RegistryData<ServiceRules>;
|
|
9
|
+
readonly [RegistryCategory.Ratelimit]: RegistryData<RatelimitRule[]>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b, _c;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MemoryOnlyRegistry = void 0;
|
|
5
|
+
const plugins_1 = require("../../plugins");
|
|
6
|
+
class MemoryStorage {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.storage = Object.create(null);
|
|
9
|
+
}
|
|
10
|
+
get(namespace, service) {
|
|
11
|
+
var _d, _e;
|
|
12
|
+
return (_e = (_d = this.storage[namespace]) === null || _d === void 0 ? void 0 : _d[service]) !== null && _e !== void 0 ? _e : null;
|
|
13
|
+
}
|
|
14
|
+
set(namespace, service, data) {
|
|
15
|
+
const list = this.storage[namespace];
|
|
16
|
+
if (list) {
|
|
17
|
+
list[service] = data;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.storage[namespace] = {
|
|
21
|
+
[service]: data
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
delete(namespace, service) {
|
|
26
|
+
if (this.get(namespace, service) === null) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
delete this.storage[namespace][service];
|
|
30
|
+
if (Object.keys(this.storage[namespace]).length === 0) {
|
|
31
|
+
delete this.storage[namespace];
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
all() {
|
|
36
|
+
return this.storage;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
class MemoryOnlyRegistry {
|
|
40
|
+
constructor() {
|
|
41
|
+
this.name = "MemoryOnlyRegistry";
|
|
42
|
+
this.type = plugins_1.PluginType.LocalRegistry;
|
|
43
|
+
this[_a] = new MemoryStorage();
|
|
44
|
+
this[_b] = new MemoryStorage();
|
|
45
|
+
this[_c] = new MemoryStorage();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.MemoryOnlyRegistry = MemoryOnlyRegistry;
|
|
49
|
+
_a = plugins_1.RegistryCategory.Instance, _b = plugins_1.RegistryCategory.Rule, _c = plugins_1.RegistryCategory.Ratelimit;
|
|
50
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/plugins/registry/memory.ts"],"names":[],"mappings":";;;;AACA,2CAAgJ;AAGhJ,MAAM,aAAa;IAAnB;QACU,YAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAwC,CAAC;IAiC/E,CAAC;IA/BC,GAAG,CAAC,SAAiB,EAAE,OAAe;;QACpC,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,0CAAG,OAAO,CAAC,mCAAI,IAAI,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAE,IAAyB;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG;gBACxB,CAAC,OAAO,CAAC,EAAE,IAAI;aAChB,CAAC;SACH;IACH,CAAC;IAED,MAAM,CAAC,SAAiB,EAAE,OAAe;QACvC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAE,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACtD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAChC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED,MAAa,kBAAkB;IAA/B;QACW,SAAI,GAAW,oBAAoB,CAAC;QACpC,SAAI,GAAG,oBAAU,CAAC,aAAa,CAAC;QAChC,QAA2B,GAA6B,IAAI,aAAa,EAAc,CAAC;QACxF,QAAuB,GAA+B,IAAI,aAAa,EAAgB,CAAC;QACxF,QAA4B,GAAkC,IAAI,aAAa,EAAmB,CAAC;IAC9G,CAAC;CAAA;AAND,gDAMC;KAHW,0BAAgB,CAAC,QAAQ,OACzB,0BAAgB,CAAC,IAAI,OACrB,0BAAgB,CAAC,SAAS"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Instance, LocationMatchLevel, RoutingRules, Service } from "../../..";
|
|
2
|
+
import { DestinationQuery, FilteredResult, PluginType, RequisiteBitfield, ServiceRouterPlugin } from "../../../plugins";
|
|
3
|
+
/** 就近路由匹配模式 */
|
|
4
|
+
export declare enum MatchMode {
|
|
5
|
+
/** 不开启就近路由 */
|
|
6
|
+
Off = 0,
|
|
7
|
+
/**
|
|
8
|
+
* 根据实例元数据信息自动切换,
|
|
9
|
+
* 如备选实例中存在任意一个未开启就近路由的实例,则不开启,
|
|
10
|
+
* 否则开启
|
|
11
|
+
*/
|
|
12
|
+
Auto = 1,
|
|
13
|
+
/** 总是开启就近路由 */
|
|
14
|
+
Always = 2
|
|
15
|
+
}
|
|
16
|
+
declare const kDefaultOptions: {
|
|
17
|
+
/**
|
|
18
|
+
* 匹配模式
|
|
19
|
+
*/
|
|
20
|
+
mode: MatchMode;
|
|
21
|
+
/**
|
|
22
|
+
* 就近路由最大查询范围
|
|
23
|
+
*/
|
|
24
|
+
maxRange: LocationMatchLevel;
|
|
25
|
+
/**
|
|
26
|
+
* 就近路由最小查询范围
|
|
27
|
+
*/
|
|
28
|
+
minRange: LocationMatchLevel;
|
|
29
|
+
/**
|
|
30
|
+
* 不健康实例比例达到多少进行降级
|
|
31
|
+
* 默认为 1,即全部不健康才降级
|
|
32
|
+
*/
|
|
33
|
+
unhealthyDegrade: number;
|
|
34
|
+
};
|
|
35
|
+
export declare type PolarisNearbyRouterOptions = typeof kDefaultOptions;
|
|
36
|
+
export declare type NearbyArgs = Partial<Pick<PolarisNearbyRouterOptions, "maxRange" | "minRange">>;
|
|
37
|
+
/**
|
|
38
|
+
* 北极星定义的就近路由策略
|
|
39
|
+
* 优先匹配最小范围,失败则扩大一级范围重试,直到超过 `maxRange`
|
|
40
|
+
*/
|
|
41
|
+
export declare class PolarisNearbyRouter implements ServiceRouterPlugin {
|
|
42
|
+
readonly type = PluginType.ServiceRouter;
|
|
43
|
+
readonly name: string;
|
|
44
|
+
readonly requisite: RequisiteBitfield;
|
|
45
|
+
private readonly options;
|
|
46
|
+
constructor(options?: Partial<PolarisNearbyRouterOptions>);
|
|
47
|
+
query<AdditionalArgs = NearbyArgs>(callee: Service, rules?: RoutingRules[], caller?: Service, args?: AdditionalArgs): Generator<Partial<DestinationQuery>, void, void>;
|
|
48
|
+
filter<AdditionalArgs = NearbyArgs>(instances: Instance[], { destination }: Partial<DestinationQuery>, args?: AdditionalArgs): FilteredResult;
|
|
49
|
+
private getRange;
|
|
50
|
+
}
|
|
51
|
+
export {};
|