@webex/webex-core 3.8.1 → 3.9.0-multi-llms.2
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/README.md +87 -27
- package/dist/index.js +16 -33
- package/dist/index.js.map +1 -1
- package/dist/{lib/services/interceptors/hostmap.js → interceptors/proxy.js} +58 -25
- package/dist/interceptors/proxy.js.map +1 -0
- package/dist/lib/batcher.js +1 -1
- package/dist/lib/constants.js +10 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/credentials/credentials.js +1 -1
- package/dist/lib/credentials/token.js +1 -1
- package/dist/lib/{services-v2/interceptors → interceptors}/server-error.js +1 -1
- package/dist/lib/interceptors/server-error.js.map +1 -0
- package/dist/lib/services/index.js +2 -29
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/service-host.js +1 -1
- package/dist/lib/services/service-host.js.map +1 -1
- package/dist/lib/services/service-registry.js +1 -1
- package/dist/lib/services/service-registry.js.map +1 -1
- package/dist/lib/services/service-state.js +1 -1
- package/dist/lib/services/service-state.js.map +1 -1
- package/dist/lib/services/services.js +3 -3
- package/dist/lib/services/services.js.map +1 -1
- package/dist/lib/services-v2/index.js +0 -29
- package/dist/lib/services-v2/index.js.map +1 -1
- package/dist/lib/services-v2/metrics.js.map +1 -1
- package/dist/lib/services-v2/service-catalog.js +15 -11
- package/dist/lib/services-v2/service-catalog.js.map +1 -1
- package/dist/lib/services-v2/services-v2.js +160 -111
- package/dist/lib/services-v2/services-v2.js.map +1 -1
- package/dist/lib/services-v2/types.js.map +1 -1
- package/dist/plugins/logger.js +1 -1
- package/dist/webex-core.js +53 -60
- package/dist/webex-core.js.map +1 -1
- package/package.json +14 -14
- package/src/index.js +6 -14
- package/src/interceptors/proxy.js +70 -0
- package/src/lib/constants.js +29 -1
- package/src/lib/{services/interceptors → interceptors}/server-error.js +1 -1
- package/src/lib/services/index.js +2 -7
- package/src/lib/services/service-host.js +1 -1
- package/src/lib/services/service-registry.js +1 -1
- package/src/lib/services/service-state.js +1 -1
- package/src/lib/services/services.js +2 -2
- package/src/lib/services-v2/index.ts +0 -16
- package/src/lib/services-v2/service-catalog.ts +27 -19
- package/src/lib/services-v2/{services-v2.js → services-v2.ts} +188 -104
- package/src/lib/services-v2/types.ts +62 -2
- package/src/webex-core.js +12 -3
- package/test/fixtures/host-catalog-v2.ts +30 -122
- package/test/integration/spec/services/services.js +11 -0
- package/test/integration/spec/services-v2/service-catalog.js +664 -0
- package/test/integration/spec/services-v2/services-v2.js +1136 -0
- package/test/unit/spec/interceptors/proxy.js +73 -0
- package/test/unit/spec/services-v2/service-detail.ts +1 -1
- package/test/unit/spec/services-v2/services-v2.ts +579 -442
- package/test/unit/spec/webex-core.js +62 -2
- package/dist/lib/services/constants.js +0 -17
- package/dist/lib/services/constants.js.map +0 -1
- package/dist/lib/services/interceptors/hostmap.js.map +0 -1
- package/dist/lib/services/interceptors/server-error.js +0 -77
- package/dist/lib/services/interceptors/server-error.js.map +0 -1
- package/dist/lib/services/interceptors/service.js +0 -137
- package/dist/lib/services/interceptors/service.js.map +0 -1
- package/dist/lib/services-v2/constants.js +0 -17
- package/dist/lib/services-v2/constants.js.map +0 -1
- package/dist/lib/services-v2/interceptors/server-error.js.map +0 -1
- package/dist/lib/services-v2/service-host.js +0 -300
- package/dist/lib/services-v2/service-host.js.map +0 -1
- package/dist/lib/services-v2/service-registry.js +0 -534
- package/dist/lib/services-v2/service-registry.js.map +0 -1
- package/dist/lib/services-v2/service-state.js +0 -97
- package/dist/lib/services-v2/service-state.js.map +0 -1
- package/dist/lib/services-v2/service-url.js +0 -119
- package/dist/lib/services-v2/service-url.js.map +0 -1
- package/src/lib/services/constants.js +0 -21
- package/src/lib/services/interceptors/hostmap.js +0 -36
- package/src/lib/services/interceptors/service.js +0 -101
- package/src/lib/services-v2/constants.ts +0 -21
- package/src/lib/services-v2/interceptors/server-error.js +0 -48
- /package/dist/lib/{services-v2/interceptors → interceptors}/hostmap.js +0 -0
- /package/dist/lib/{services-v2/interceptors → interceptors}/hostmap.js.map +0 -0
- /package/dist/lib/{services-v2/interceptors → interceptors}/service.js +0 -0
- /package/dist/lib/{services-v2/interceptors → interceptors}/service.js.map +0 -0
- /package/dist/lib/{services/metrics.js → metrics.js} +0 -0
- /package/dist/lib/{services/metrics.js.map → metrics.js.map} +0 -0
- /package/src/lib/{services-v2/interceptors → interceptors}/hostmap.js +0 -0
- /package/src/lib/{services-v2/interceptors → interceptors}/service.js +0 -0
- /package/src/lib/{services-v2/metrics.js → metrics.js} +0 -0
- /package/src/lib/{services/metrics.js → services-v2/metrics.ts} +0 -0
|
@@ -2,7 +2,7 @@ import AmpState from 'ampersand-state';
|
|
|
2
2
|
|
|
3
3
|
import {union} from 'lodash';
|
|
4
4
|
import ServiceDetail from './service-detail';
|
|
5
|
-
import {IServiceDetail} from './types';
|
|
5
|
+
import {IServiceDetail, ServiceGroup} from './types';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @class
|
|
@@ -49,16 +49,17 @@ const ServiceCatalog = AmpState.extend({
|
|
|
49
49
|
}),
|
|
50
50
|
],
|
|
51
51
|
isReady: ['boolean', false, false],
|
|
52
|
+
timestamp: ['string', false, ''],
|
|
52
53
|
allowedDomains: ['array', false, () => []],
|
|
53
54
|
},
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
57
|
* @private
|
|
57
58
|
* Get all service details for a given service group or return all details if no group is specified.
|
|
58
|
-
* @param {
|
|
59
|
+
* @param {ServiceGroup} serviceGroup - The name of the service group to retrieve details for.
|
|
59
60
|
* @returns {Array<IServiceDetail>} - An array of service details.
|
|
60
61
|
*/
|
|
61
|
-
_getAllServiceDetails(serviceGroup
|
|
62
|
+
_getAllServiceDetails(serviceGroup?: ServiceGroup): Array<IServiceDetail> {
|
|
62
63
|
const serviceDetails =
|
|
63
64
|
typeof serviceGroup === 'string'
|
|
64
65
|
? this.serviceGroups[serviceGroup] || []
|
|
@@ -78,10 +79,10 @@ const ServiceCatalog = AmpState.extend({
|
|
|
78
79
|
* Search the service details array to locate a `ServiceDetails`
|
|
79
80
|
* class object based on its id.
|
|
80
81
|
* @param {string} clusterId
|
|
81
|
-
* @param {
|
|
82
|
+
* @param {ServiceGroup} [serviceGroup]
|
|
82
83
|
* @returns {IServiceDetail}
|
|
83
84
|
*/
|
|
84
|
-
_getServiceDetail(clusterId: string, serviceGroup
|
|
85
|
+
_getServiceDetail(clusterId: string, serviceGroup?: ServiceGroup): IServiceDetail | undefined {
|
|
85
86
|
const serviceDetails = this._getAllServiceDetails(serviceGroup);
|
|
86
87
|
|
|
87
88
|
return serviceDetails.find((serviceDetail: IServiceDetail) => serviceDetail.id === clusterId);
|
|
@@ -90,11 +91,11 @@ const ServiceCatalog = AmpState.extend({
|
|
|
90
91
|
/**
|
|
91
92
|
* @private
|
|
92
93
|
* Safely load one or more `ServiceDetail`s into this `ServiceCatalog` instance.
|
|
93
|
-
* @param {
|
|
94
|
+
* @param {ServiceGroup} serviceGroup
|
|
94
95
|
* @param {Array<ServiceDetail>} serviceDetails
|
|
95
96
|
* @returns {void}
|
|
96
97
|
*/
|
|
97
|
-
_loadServiceDetails(serviceGroup:
|
|
98
|
+
_loadServiceDetails(serviceGroup: ServiceGroup, serviceDetails: Array<IServiceDetail>): void {
|
|
98
99
|
// declare namespaces outside of loop
|
|
99
100
|
let existingService: IServiceDetail | undefined;
|
|
100
101
|
|
|
@@ -110,11 +111,11 @@ const ServiceCatalog = AmpState.extend({
|
|
|
110
111
|
/**
|
|
111
112
|
* @private
|
|
112
113
|
* Safely unload one or more `ServiceDetail`s into this `Services` instance
|
|
113
|
-
* @param {
|
|
114
|
+
* @param {ServiceGroup} serviceGroup
|
|
114
115
|
* @param {Array<ServiceDetail>} serviceDetails
|
|
115
116
|
* @returns {void}
|
|
116
117
|
*/
|
|
117
|
-
_unloadServiceDetails(serviceGroup:
|
|
118
|
+
_unloadServiceDetails(serviceGroup: ServiceGroup, serviceDetails: Array<IServiceDetail>): void {
|
|
118
119
|
// declare namespaces outside of loop
|
|
119
120
|
let existingService: IServiceDetail | undefined;
|
|
120
121
|
|
|
@@ -169,13 +170,13 @@ const ServiceCatalog = AmpState.extend({
|
|
|
169
170
|
* clusterId.
|
|
170
171
|
* @param {object} params
|
|
171
172
|
* @param {string} params.clusterId - clusterId of found service
|
|
172
|
-
* @param {
|
|
173
|
+
* @param {ServiceGroup} [params.serviceGroup] - specify service group
|
|
173
174
|
* @returns {object} service
|
|
174
175
|
* @returns {string} service.name
|
|
175
176
|
* @returns {string} service.url
|
|
176
177
|
*/
|
|
177
178
|
findServiceFromClusterId(
|
|
178
|
-
{clusterId, serviceGroup} = {} as {clusterId: string; serviceGroup
|
|
179
|
+
{clusterId, serviceGroup} = {} as {clusterId: string; serviceGroup?: ServiceGroup}
|
|
179
180
|
): {name: string; url: string} | undefined {
|
|
180
181
|
const serviceDetails = this._getServiceDetail(clusterId, serviceGroup);
|
|
181
182
|
|
|
@@ -226,12 +227,13 @@ const ServiceCatalog = AmpState.extend({
|
|
|
226
227
|
},
|
|
227
228
|
|
|
228
229
|
/**
|
|
229
|
-
* Get a service url from the current services list by name.
|
|
230
|
+
* Get a service url from the current services list by name. Return undefined
|
|
231
|
+
* if the service is not found.
|
|
230
232
|
* @param {string} clusterId
|
|
231
|
-
* @param {
|
|
232
|
-
* @returns {string}
|
|
233
|
+
* @param {ServiceGroup} serviceGroup
|
|
234
|
+
* @returns {string | undefined}
|
|
233
235
|
*/
|
|
234
|
-
get(clusterId: string, serviceGroup
|
|
236
|
+
get(clusterId: string, serviceGroup?: ServiceGroup): string | undefined {
|
|
235
237
|
const serviceDetail = this._getServiceDetail(clusterId, serviceGroup);
|
|
236
238
|
|
|
237
239
|
return serviceDetail ? serviceDetail.get() : undefined;
|
|
@@ -297,11 +299,16 @@ const ServiceCatalog = AmpState.extend({
|
|
|
297
299
|
* service hostmap.
|
|
298
300
|
* @emits ServiceCatalog#preauthorized
|
|
299
301
|
* @emits ServiceCatalog#postauthorized
|
|
300
|
-
* @param {
|
|
302
|
+
* @param {ServiceGroup} serviceGroup
|
|
301
303
|
* @param {Array<IServiceDetail>} serviceDetails
|
|
304
|
+
* @param {timestamp<string>} timestamp of the catalog
|
|
302
305
|
* @returns {void}
|
|
303
306
|
*/
|
|
304
|
-
updateServiceGroups(
|
|
307
|
+
updateServiceGroups(
|
|
308
|
+
serviceGroup: ServiceGroup,
|
|
309
|
+
serviceDetails: Array<IServiceDetail>,
|
|
310
|
+
timestamp?: string
|
|
311
|
+
) {
|
|
305
312
|
const currentServiceDetails = this.serviceGroups[serviceGroup];
|
|
306
313
|
|
|
307
314
|
const unusedServicesDetails = currentServiceDetails.filter((serviceDetail) =>
|
|
@@ -320,6 +327,7 @@ const ServiceCatalog = AmpState.extend({
|
|
|
320
327
|
}
|
|
321
328
|
});
|
|
322
329
|
|
|
330
|
+
this.timestamp = timestamp;
|
|
323
331
|
this.status[serviceGroup].ready = true;
|
|
324
332
|
this.trigger(serviceGroup);
|
|
325
333
|
},
|
|
@@ -327,11 +335,11 @@ const ServiceCatalog = AmpState.extend({
|
|
|
327
335
|
/**
|
|
328
336
|
* Wait until the service catalog is available,
|
|
329
337
|
* or reject after a timeout of 60 seconds.
|
|
330
|
-
* @param {
|
|
338
|
+
* @param {ServiceGroup} serviceGroup
|
|
331
339
|
* @param {number} [timeout] - in seconds
|
|
332
340
|
* @returns {Promise<void>}
|
|
333
341
|
*/
|
|
334
|
-
waitForCatalog(serviceGroup:
|
|
342
|
+
waitForCatalog(serviceGroup: ServiceGroup, timeout?: number): Promise<void> {
|
|
335
343
|
return new Promise<void>((resolve, reject) => {
|
|
336
344
|
if (this.status[serviceGroup].ready) {
|
|
337
345
|
resolve();
|