@alauda-fe/plugin-sdk 0.0.15 → 0.0.16

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.
@@ -1,16 +1,17 @@
1
+ import { GLOBAL_CLUSTER, } from '@alauda-fe/common';
1
2
  import { getAppExtensions } from '../app-extensions';
2
3
  import { filterLatestVersion, translateScope, translateScopeKey, } from '../utils';
3
- export function getRemoteNavigations(scope, translate) {
4
+ export function getRemoteNavigations(scope, translate, cluster) {
4
5
  if (!scope) {
5
6
  return [];
6
7
  }
7
- return filterItems(translate, scope + '/navigation');
8
+ return filterItems(translate, scope + '/navigation', cluster);
8
9
  }
9
- export function getRemoteNavigationGroups(scope, translate) {
10
+ export function getRemoteNavigationGroups(scope, translate, cluster) {
10
11
  if (!scope) {
11
12
  return [];
12
13
  }
13
- return filterItems(translate, scope + '/navigation/group');
14
+ return filterItems(translate, scope + '/navigation/group', cluster);
14
15
  }
15
16
  export function insertNavItem(source, remotes) {
16
17
  remotes.forEach(remote => {
@@ -39,12 +40,26 @@ export function insertNavGroupItem(source, remotes) {
39
40
  return { ...group, items: insertNavItem(group.items, groupRemotes) };
40
41
  });
41
42
  }
42
- function filterItems(translate, type) {
43
+ function filterItems(translate, type, cluster) {
43
44
  const exts = getAppExtensions(type);
44
- return filterLatestVersion((options) => options.name)(exts).map(ext => {
45
- const options = translateLabels(translate, ext);
46
- return fillIconPath(ext.entrypoint, options);
47
- });
45
+ const grouped = Object.values(exts.reduce((acc, ext) => {
46
+ acc[ext.options.name] = (acc[ext.options.name] || []).concat(ext);
47
+ return acc;
48
+ }, {}));
49
+ return grouped
50
+ .flatMap(items => {
51
+ let ext = filterLatestVersion((option) => option.name)(items)[0];
52
+ const mainOption = (items.find(ext => ext.cluster === GLOBAL_CLUSTER) || ext).options;
53
+ if (mainOption.clusterStrategy === 'strict' && cluster) {
54
+ ext = items.find(item => item.cluster === cluster);
55
+ }
56
+ if (ext) {
57
+ const options = translateLabels(translate, ext);
58
+ return fillIconPath(ext.entrypoint, options);
59
+ }
60
+ return null;
61
+ })
62
+ .filter(Boolean);
48
63
  }
49
64
  function translateLabels(translate, ext) {
50
65
  const transScope = translateScope(ext, translate.locale);
@@ -133,4 +148,4 @@ function genItemKey(item, parentKey = '') {
133
148
  children: item.children?.map(c => genItemKey(c, key)),
134
149
  };
135
150
  }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGx1Z2luLXNkay9zcmMvbGliL2V4dGVuc2lvbi1wb2ludHMvbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxpQkFBaUIsR0FDbEIsTUFBTSxVQUFVLENBQUM7QUFFbEIsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxLQUFhLEVBQ2IsU0FBMkI7SUFFM0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUMsU0FBUyxFQUFFLEtBQUssR0FBRyxhQUFhLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxLQUFhLEVBQ2IsU0FBMkI7SUFFM0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUMsU0FBUyxFQUFFLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUMzQixNQUF1QixFQUN2QixPQUFtQztJQUVuQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUIsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLENBQUMsT0FB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QUFhLEVBQ2IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQy9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQ2xCLElBQUksQ0FDTCxDQUFDO2dCQUNGLElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ1osT0FBTzt3QkFDTCxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNqQyxLQUFLLEtBQUssQ0FBQzs0QkFDVCxDQUFDLENBQUM7Z0NBQ0UsR0FBRyxJQUFJO2dDQUNQLFFBQVEsRUFBRSxNQUFNOzZCQUNqQjs0QkFDSCxDQUFDLENBQUMsSUFBSSxDQUNUO3dCQUNELE9BQU8sRUFBRSxJQUFJO3FCQUNkLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FDakIsSUFBMEIsRUFDMUIsWUFBb0IsRUFBRTtJQUV0QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDekMsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ2xFLE9BQU87UUFDTCxHQUFHLElBQUk7UUFDUCxHQUFHO1FBQ0gsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUN0RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE5hdkdyb3VwQ29uZmlnLFxuICBOYXZJdGVtQ29uZmlnLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxufSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IGdldEFwcEV4dGVuc2lvbnMgfSBmcm9tICcuLi9hcHAtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tICcuLi9leHRlbnNpb25zLWxvYWRlcic7XG5pbXBvcnQge1xuICBmaWx0ZXJMYXRlc3RWZXJzaW9uLFxuICB0cmFuc2xhdGVTY29wZSxcbiAgdHJhbnNsYXRlU2NvcGVLZXksXG59IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlbW90ZU5hdmlnYXRpb25zKFxuICBzY29wZTogc3RyaW5nLFxuICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4pOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3RbXSB7XG4gIGlmICghc2NvcGUpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4gZmlsdGVySXRlbXModHJhbnNsYXRlLCBzY29wZSArICcvbmF2aWdhdGlvbicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3RlTmF2aWdhdGlvbkdyb3VwcyhcbiAgc2NvcGU6IHN0cmluZyxcbiAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10ge1xuICBpZiAoIXNjb3BlKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcmV0dXJuIGZpbHRlckl0ZW1zKHRyYW5zbGF0ZSwgc2NvcGUgKyAnL25hdmlnYXRpb24vZ3JvdXAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydE5hdkl0ZW0oXG4gIHNvdXJjZTogTmF2SXRlbUNvbmZpZ1tdLFxuICByZW1vdGVzOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3RbXSxcbik6IE5hdkl0ZW1Db25maWdbXSB7XG4gIHJlbW90ZXMuZm9yRWFjaChyZW1vdGUgPT4ge1xuICAgIHJlbW90ZSA9IGdlbkl0ZW1LZXkocmVtb3RlKTtcblxuICAgIGlmIChyZW1vdGUuaW5zZXJ0QWZ0ZXIpIHtcbiAgICAgIGNvbnN0IHIgPSBpbnNlcnQoJ2FmdGVyJywgcmVtb3RlLmluc2VydEFmdGVyLCBbXSwgc291cmNlLCByZW1vdGUpO1xuICAgICAgaWYgKHIubWF0Y2hlZCkge1xuICAgICAgICBzb3VyY2UgPSByLnJlc3VsdDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyZW1vdGUuaW5zZXJ0QmVmb3JlKSB7XG4gICAgICBjb25zdCByID0gaW5zZXJ0KCdiZWZvcmUnLCByZW1vdGUuaW5zZXJ0QmVmb3JlLCBbXSwgc291cmNlLCByZW1vdGUpO1xuICAgICAgaWYgKHIubWF0Y2hlZCkge1xuICAgICAgICBzb3VyY2UgPSByLnJlc3VsdDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNvdXJjZSA9IHNvdXJjZS5jb25jYXQocmVtb3RlKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHNvdXJjZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydE5hdkdyb3VwSXRlbShcbiAgc291cmNlOiBOYXZHcm91cENvbmZpZ1tdLFxuICByZW1vdGVzOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3RbXSxcbik6IE5hdkdyb3VwQ29uZmlnW10ge1xuICByZXR1cm4gc291cmNlLm1hcChncm91cCA9PiB7XG4gICAgY29uc3QgZ3JvdXBSZW1vdGVzID0gcmVtb3Rlcy5maWx0ZXIocmVtb3RlID0+IHJlbW90ZS5ncm91cCA9PT0gZ3JvdXAubmFtZSk7XG4gICAgcmV0dXJuIHsgLi4uZ3JvdXAsIGl0ZW1zOiBpbnNlcnROYXZJdGVtKGdyb3VwLml0ZW1zLCBncm91cFJlbW90ZXMpIH07XG4gIH0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW90ZU5hdmlnYXRpb25JdGVtIGV4dGVuZHMgTmF2SXRlbUNvbmZpZyB7XG4gIGdyb3VwPzogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgZGlzcGxheU5hbWVLZXk6IHN0cmluZztcbiAgY2hpbGRyZW4/OiBSZW1vdGVOYXZpZ2F0aW9uSXRlbVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdCBleHRlbmRzIFJlbW90ZU5hdmlnYXRpb25JdGVtIHtcbiAgaW5zZXJ0QWZ0ZXI/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgaW5zZXJ0QmVmb3JlPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5cbmZ1bmN0aW9uIGZpbHRlckl0ZW1zKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgdHlwZTogc3RyaW5nKSB7XG4gIGNvbnN0IGV4dHMgPSBnZXRBcHBFeHRlbnNpb25zKHR5cGUpO1xuICByZXR1cm4gZmlsdGVyTGF0ZXN0VmVyc2lvbigob3B0aW9uczogeyBuYW1lOiBzdHJpbmcgfSkgPT4gb3B0aW9ucy5uYW1lKShcbiAgICBleHRzLFxuICApLm1hcChleHQgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0cmFuc2xhdGVMYWJlbHModHJhbnNsYXRlLCBleHQpO1xuICAgIHJldHVybiBmaWxsSWNvblBhdGgoZXh0LmVudHJ5cG9pbnQsIG9wdGlvbnMpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdHJhbnNsYXRlTGFiZWxzKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgZXh0OiBFeHRlbnNpb24pIHtcbiAgY29uc3QgdHJhbnNTY29wZSA9IHRyYW5zbGF0ZVNjb3BlKGV4dCwgdHJhbnNsYXRlLmxvY2FsZSk7XG4gIGNvbnN0IHRyYW5zID0gKGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW0gPT4ge1xuICAgIGxldCBsYWJlbCA9ICcnO1xuICAgIGlmIChpdGVtLmRpc3BsYXlOYW1lS2V5KSB7XG4gICAgICBsYWJlbCA9IHRyYW5zbGF0ZS5nZXQodHJhbnNsYXRlU2NvcGVLZXkodHJhbnNTY29wZSwgaXRlbS5kaXNwbGF5TmFtZUtleSkpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0uZGlzcGxheU5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsYWJlbCA9IGl0ZW0uZGlzcGxheU5hbWU7XG4gICAgfSBlbHNlIGlmIChpdGVtLmRpc3BsYXlOYW1lW3RyYW5zbGF0ZS5sb2NhbGVdKSB7XG4gICAgICBsYWJlbCA9IGl0ZW0uZGlzcGxheU5hbWVbdHJhbnNsYXRlLmxvY2FsZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGtleSA9ICdQTFVHSU5fTkFWX0RJU1BMQVlfTkFNRV9fJyArIGl0ZW0uZGlzcGxheU5hbWVbJ2VuJ107XG4gICAgICBjb25zdCB2YWx1ZSA9IHRyYW5zbGF0ZS5nZXQoa2V5KTtcbiAgICAgIGxhYmVsID0gdmFsdWUgPT09IGtleSA/IGl0ZW0uZGlzcGxheU5hbWVbJ2VuJ10gOiB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGxhYmVsLFxuICAgICAgY2hpbGRyZW46IGl0ZW0uY2hpbGRyZW4gPyBpdGVtLmNoaWxkcmVuLm1hcChjID0+IHRyYW5zKGMpKSA6IG51bGwsXG4gICAgfTtcbiAgfTtcblxuICByZXR1cm4gdHJhbnMoZXh0Lm9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBmaWxsSWNvblBhdGgoZW50cnlwb2ludDogc3RyaW5nLCBpdGVtOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbSkge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoaXRlbSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmIChrZXkgPT09ICdpY29uSW1nU3JjJyB8fCBrZXkgPT09ICdpY29uTG90dGllSnNvbicpIHtcbiAgICAgIGFjY1trZXldID0gdmFsdWUucmVwbGFjZSgnPGVudHJ5cG9pbnQ+JywgZW50cnlwb2ludCk7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdjaGlsZHJlbicpIHtcbiAgICAgIGFjY1trZXldID0gaXRlbS5jaGlsZHJlblxuICAgICAgICA/IGl0ZW0uY2hpbGRyZW4ubWFwKGMgPT4gZmlsbEljb25QYXRoKGVudHJ5cG9pbnQsIGMpKVxuICAgICAgICA6IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjY1trZXldID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIFJlbW90ZU5hdmlnYXRpb25JdGVtKTtcbn1cblxuZnVuY3Rpb24gaW5zZXJ0KFxuICBwb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInLFxuICBhbmNob3I6IHN0cmluZyB8IHN0cmluZ1tdLFxuICBuYW1lUGF0aDogc3RyaW5nW10sXG4gIHRhcmdldDogTmF2SXRlbUNvbmZpZ1tdLFxuICBpdGVtOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QsXG4pOiB7IHJlc3VsdDogTmF2SXRlbUNvbmZpZ1tdOyBtYXRjaGVkOiBib29sZWFuIH0ge1xuICBjb25zdCBvZmZzZXQgPSBwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyAwIDogMTtcbiAgYW5jaG9yID0gQXJyYXkuaXNBcnJheShhbmNob3IpID8gYW5jaG9yIDogW2FuY2hvcl07XG5cbiAgZm9yIChjb25zdCBjdXJyZW50QW5jaG9yIG9mIGFuY2hvcikge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFyZ2V0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGFyZ2V0W2ldLm5hbWUgPT09IGN1cnJlbnRBbmNob3IpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXN1bHQ6IFtcbiAgICAgICAgICAgIC4uLnRhcmdldC5zbGljZSgwLCBpICsgb2Zmc2V0KSxcbiAgICAgICAgICAgIHsgLi4uaXRlbSwga2V5OiBuYW1lUGF0aC5qb2luKCcvJykgKyAnLycgKyBpdGVtLm5hbWUgfSxcbiAgICAgICAgICAgIC4uLnRhcmdldC5zbGljZShpICsgb2Zmc2V0KSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG1hdGNoZWQ6IHRydWUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0YXJnZXRbaV0uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgeyByZXN1bHQsIG1hdGNoZWQgfSA9IGluc2VydChcbiAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICBjdXJyZW50QW5jaG9yLFxuICAgICAgICAgIG5hbWVQYXRoLmNvbmNhdCh0YXJnZXRbaV0ubmFtZSksXG4gICAgICAgICAgdGFyZ2V0W2ldLmNoaWxkcmVuLFxuICAgICAgICAgIGl0ZW0sXG4gICAgICAgICk7XG4gICAgICAgIGlmIChtYXRjaGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc3VsdDogdGFyZ2V0Lm1hcCgoaXRlbSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgIGluZGV4ID09PSBpXG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiByZXN1bHQsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiBpdGVtLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hdGNoZWQ6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVzdWx0OiB0YXJnZXQsXG4gICAgbWF0Y2hlZDogZmFsc2UsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdlbkl0ZW1LZXkoXG4gIGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtLFxuICBwYXJlbnRLZXk6IHN0cmluZyA9ICcnLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW0ge1xuICBjb25zdCBjdXJyZW50S2V5ID0gaXRlbS5rZXkgPz8gaXRlbS5uYW1lO1xuICBjb25zdCBrZXkgPSBwYXJlbnRLZXkgPyBwYXJlbnRLZXkgKyAnLycgKyBjdXJyZW50S2V5IDogY3VycmVudEtleTtcbiAgcmV0dXJuIHtcbiAgICAuLi5pdGVtLFxuICAgIGtleSxcbiAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbj8ubWFwKGMgPT4gZ2VuSXRlbUtleShjLCBrZXkpKSxcbiAgfTtcbn1cbiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGx1Z2luLXNkay9zcmMvbGliL2V4dGVuc2lvbi1wb2ludHMvbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxHQUlmLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsaUJBQWlCLEdBQ2xCLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsS0FBYSxFQUNiLFNBQTJCLEVBQzNCLE9BQWdCO0lBRWhCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDLFNBQVMsRUFBRSxLQUFLLEdBQUcsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLEtBQWEsRUFDYixTQUEyQixFQUMzQixPQUFnQjtJQUVoQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxHQUFHLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUMzQixNQUF1QixFQUN2QixPQUFtQztJQUVuQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUIsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9B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LEVBQ2xCLElBQUksQ0FDTCxDQUFDO2dCQUNGLElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ1osT0FBTzt3QkFDTCxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNqQyxLQUFLLEtBQUssQ0FBQzs0QkFDVCxDQUFDLENBQUM7Z0NBQ0UsR0FBRyxJQUFJO2dDQUNQLFFBQVEsRUFBRSxNQUFNOzZCQUNqQjs0QkFDSCxDQUFDLENBQUMsSUFBSSxDQUNUO3dCQUNELE9BQU8sRUFBRSxJQUFJO3FCQUNkLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FDakIsSUFBMEIsRUFDMUIsWUFBb0IsRUFBRTtJQUV0QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDekMsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ2xFLE9BQU87UUFDTCxHQUFHLElBQUk7UUFDUCxHQUFHO1FBQ0gsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUN0RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEdMT0JBTF9DTFVTVEVSLFxuICBOYXZHcm91cENvbmZpZyxcbiAgTmF2SXRlbUNvbmZpZyxcbiAgVHJhbnNsYXRlU2VydmljZSxcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuXG5pbXBvcnQgeyBnZXRBcHBFeHRlbnNpb25zIH0gZnJvbSAnLi4vYXBwLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy1sb2FkZXInO1xuaW1wb3J0IHtcbiAgZmlsdGVyTGF0ZXN0VmVyc2lvbixcbiAgdHJhbnNsYXRlU2NvcGUsXG4gIHRyYW5zbGF0ZVNjb3BlS2V5LFxufSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW1vdGVOYXZpZ2F0aW9ucyhcbiAgc2NvcGU6IHN0cmluZyxcbiAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICBjbHVzdGVyPzogc3RyaW5nLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10ge1xuICBpZiAoIXNjb3BlKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcmV0dXJuIGZpbHRlckl0ZW1zKHRyYW5zbGF0ZSwgc2NvcGUgKyAnL25hdmlnYXRpb24nLCBjbHVzdGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlbW90ZU5hdmlnYXRpb25Hcm91cHMoXG4gIHNjb3BlOiBzdHJpbmcsXG4gIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgY2x1c3Rlcj86IHN0cmluZyxcbik6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdIHtcbiAgaWYgKCFzY29wZSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBmaWx0ZXJJdGVtcyh0cmFuc2xhdGUsIHNjb3BlICsgJy9uYXZpZ2F0aW9uL2dyb3VwJywgY2x1c3Rlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnROYXZJdGVtKFxuICBzb3VyY2U6IE5hdkl0ZW1Db25maWdbXSxcbiAgcmVtb3RlczogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10sXG4pOiBOYXZJdGVtQ29uZmlnW10ge1xuICByZW1vdGVzLmZvckVhY2gocmVtb3RlID0+IHtcbiAgICByZW1vdGUgPSBnZW5JdGVtS2V5KHJlbW90ZSk7XG5cbiAgICBpZiAocmVtb3RlLmluc2VydEFmdGVyKSB7XG4gICAgICBjb25zdCByID0gaW5zZXJ0KCdhZnRlcicsIHJlbW90ZS5pbnNlcnRBZnRlciwgW10sIHNvdXJjZSwgcmVtb3RlKTtcbiAgICAgIGlmIChyLm1hdGNoZWQpIHtcbiAgICAgICAgc291cmNlID0gci5yZXN1bHQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVtb3RlLmluc2VydEJlZm9yZSkge1xuICAgICAgY29uc3QgciA9IGluc2VydCgnYmVmb3JlJywgcmVtb3RlLmluc2VydEJlZm9yZSwgW10sIHNvdXJjZSwgcmVtb3RlKTtcbiAgICAgIGlmIChyLm1hdGNoZWQpIHtcbiAgICAgICAgc291cmNlID0gci5yZXN1bHQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzb3VyY2UgPSBzb3VyY2UuY29uY2F0KHJlbW90ZSk7XG4gIH0pO1xuXG4gIHJldHVybiBzb3VyY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnROYXZHcm91cEl0ZW0oXG4gIHNvdXJjZTogTmF2R3JvdXBDb25maWdbXSxcbiAgcmVtb3RlczogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10sXG4pOiBOYXZHcm91cENvbmZpZ1tdIHtcbiAgcmV0dXJuIHNvdXJjZS5tYXAoZ3JvdXAgPT4ge1xuICAgIGNvbnN0IGdyb3VwUmVtb3RlcyA9IHJlbW90ZXMuZmlsdGVyKHJlbW90ZSA9PiByZW1vdGUuZ3JvdXAgPT09IGdyb3VwLm5hbWUpO1xuICAgIHJldHVybiB7IC4uLmdyb3VwLCBpdGVtczogaW5zZXJ0TmF2SXRlbShncm91cC5pdGVtcywgZ3JvdXBSZW1vdGVzKSB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIE5hdkl0ZW1Db25maWcge1xuICBncm91cD86IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGRpc3BsYXlOYW1lS2V5OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogUmVtb3RlTmF2aWdhdGlvbkl0ZW1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QgZXh0ZW5kcyBSZW1vdGVOYXZpZ2F0aW9uSXRlbSB7XG4gIGluc2VydEFmdGVyPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGluc2VydEJlZm9yZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBjbHVzdGVyU3RyYXRlZ3k/OiAnbGF0ZXN0JyB8ICdzdHJpY3QnO1xufVxuXG5mdW5jdGlvbiBmaWx0ZXJJdGVtcyhcbiAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICB0eXBlOiBzdHJpbmcsXG4gIGNsdXN0ZXI/OiBzdHJpbmcsXG4pIHtcbiAgY29uc3QgZXh0cyA9IGdldEFwcEV4dGVuc2lvbnM8UmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290Pih0eXBlKTtcblxuICBjb25zdCBncm91cGVkID0gT2JqZWN0LnZhbHVlcyhcbiAgICBleHRzLnJlZHVjZShcbiAgICAgIChhY2MsIGV4dCkgPT4ge1xuICAgICAgICBhY2NbZXh0Lm9wdGlvbnMubmFtZV0gPSAoYWNjW2V4dC5vcHRpb25zLm5hbWVdIHx8IFtdKS5jb25jYXQoZXh0KTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBBcnJheTxFeHRlbnNpb248UmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290Pj4+LFxuICAgICksXG4gICk7XG4gIHJldHVybiBncm91cGVkXG4gICAgLmZsYXRNYXAoaXRlbXMgPT4ge1xuICAgICAgbGV0IGV4dCA9IGZpbHRlckxhdGVzdFZlcnNpb24oXG4gICAgICAgIChvcHRpb246IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdCkgPT4gb3B0aW9uLm5hbWUsXG4gICAgICApKGl0ZW1zKVswXTtcbiAgICAgIGNvbnN0IG1haW5PcHRpb24gPSAoXG4gICAgICAgIGl0ZW1zLmZpbmQoZXh0ID0+IGV4dC5jbHVzdGVyID09PSBHTE9CQUxfQ0xVU1RFUikgfHwgZXh0XG4gICAgICApLm9wdGlvbnM7XG5cbiAgICAgIGlmIChtYWluT3B0aW9uLmNsdXN0ZXJTdHJhdGVneSA9PT0gJ3N0cmljdCcgJiYgY2x1c3Rlcikge1xuICAgICAgICBleHQgPSBpdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5jbHVzdGVyID09PSBjbHVzdGVyKTtcbiAgICAgIH1cbiAgICAgIGlmIChleHQpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRyYW5zbGF0ZUxhYmVscyh0cmFuc2xhdGUsIGV4dCk7XG4gICAgICAgIHJldHVybiBmaWxsSWNvblBhdGgoZXh0LmVudHJ5cG9pbnQsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSlcbiAgICAuZmlsdGVyKEJvb2xlYW4pO1xufVxuXG5mdW5jdGlvbiB0cmFuc2xhdGVMYWJlbHModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBleHQ6IEV4dGVuc2lvbikge1xuICBjb25zdCB0cmFuc1Njb3BlID0gdHJhbnNsYXRlU2NvcGUoZXh0LCB0cmFuc2xhdGUubG9jYWxlKTtcbiAgY29uc3QgdHJhbnMgPSAoaXRlbTogUmVtb3RlTmF2aWdhdGlvbkl0ZW0pOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbSA9PiB7XG4gICAgbGV0IGxhYmVsID0gJyc7XG4gICAgaWYgKGl0ZW0uZGlzcGxheU5hbWVLZXkpIHtcbiAgICAgIGxhYmVsID0gdHJhbnNsYXRlLmdldCh0cmFuc2xhdGVTY29wZUtleSh0cmFuc1Njb3BlLCBpdGVtLmRpc3BsYXlOYW1lS2V5KSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgaXRlbS5kaXNwbGF5TmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGxhYmVsID0gaXRlbS5kaXNwbGF5TmFtZTtcbiAgICB9IGVsc2UgaWYgKGl0ZW0uZGlzcGxheU5hbWVbdHJhbnNsYXRlLmxvY2FsZV0pIHtcbiAgICAgIGxhYmVsID0gaXRlbS5kaXNwbGF5TmFtZVt0cmFuc2xhdGUubG9jYWxlXTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qga2V5ID0gJ1BMVUdJTl9OQVZfRElTUExBWV9OQU1FX18nICsgaXRlbS5kaXNwbGF5TmFtZVsnZW4nXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gdHJhbnNsYXRlLmdldChrZXkpO1xuICAgICAgbGFiZWwgPSB2YWx1ZSA9PT0ga2V5ID8gaXRlbS5kaXNwbGF5TmFtZVsnZW4nXSA6IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5pdGVtLFxuICAgICAgbGFiZWwsXG4gICAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbiA/IGl0ZW0uY2hpbGRyZW4ubWFwKGMgPT4gdHJhbnMoYykpIDogbnVsbCxcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiB0cmFucyhleHQub3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGZpbGxJY29uUGF0aChlbnRyeXBvaW50OiBzdHJpbmcsIGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtKSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhpdGVtKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgaWYgKGtleSA9PT0gJ2ljb25JbWdTcmMnIHx8IGtleSA9PT0gJ2ljb25Mb3R0aWVKc29uJykge1xuICAgICAgYWNjW2tleV0gPSB2YWx1ZS5yZXBsYWNlKCc8ZW50cnlwb2ludD4nLCBlbnRyeXBvaW50KTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2NoaWxkcmVuJykge1xuICAgICAgYWNjW2tleV0gPSBpdGVtLmNoaWxkcmVuXG4gICAgICAgID8gaXRlbS5jaGlsZHJlbi5tYXAoYyA9PiBmaWxsSWNvblBhdGgoZW50cnlwb2ludCwgYykpXG4gICAgICAgIDogbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUmVtb3RlTmF2aWdhdGlvbkl0ZW0pO1xufVxuXG5mdW5jdGlvbiBpbnNlcnQoXG4gIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicsXG4gIGFuY2hvcjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG5hbWVQYXRoOiBzdHJpbmdbXSxcbiAgdGFyZ2V0OiBOYXZJdGVtQ29uZmlnW10sXG4gIGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdCxcbik6IHsgcmVzdWx0OiBOYXZJdGVtQ29uZmlnW107IG1hdGNoZWQ6IGJvb2xlYW4gfSB7XG4gIGNvbnN0IG9mZnNldCA9IHBvc2l0aW9uID09PSAnYmVmb3JlJyA/IDAgOiAxO1xuICBhbmNob3IgPSBBcnJheS5pc0FycmF5KGFuY2hvcikgPyBhbmNob3IgOiBbYW5jaG9yXTtcblxuICBmb3IgKGNvbnN0IGN1cnJlbnRBbmNob3Igb2YgYW5jaG9yKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YXJnZXQubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0YXJnZXRbaV0ubmFtZSA9PT0gY3VycmVudEFuY2hvcikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc3VsdDogW1xuICAgICAgICAgICAgLi4udGFyZ2V0LnNsaWNlKDAsIGkgKyBvZmZzZXQpLFxuICAgICAgICAgICAgeyAuLi5pdGVtLCBrZXk6IG5hbWVQYXRoLmpvaW4oJy8nKSArICcvJyArIGl0ZW0ubmFtZSB9LFxuICAgICAgICAgICAgLi4udGFyZ2V0LnNsaWNlKGkgKyBvZmZzZXQpLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbWF0Y2hlZDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRhcmdldFtpXS5jaGlsZHJlbikge1xuICAgICAgICBjb25zdCB7IHJlc3VsdCwgbWF0Y2hlZCB9ID0gaW5zZXJ0KFxuICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgIGN1cnJlbnRBbmNob3IsXG4gICAgICAgICAgbmFtZVBhdGguY29uY2F0KHRhcmdldFtpXS5uYW1lKSxcbiAgICAgICAgICB0YXJnZXRbaV0uY2hpbGRyZW4sXG4gICAgICAgICAgaXRlbSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVzdWx0OiB0YXJnZXQubWFwKChpdGVtLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgaW5kZXggPT09IGlcbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IGl0ZW0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWF0Y2hlZDogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICByZXN1bHQ6IHRhcmdldCxcbiAgICBtYXRjaGVkOiBmYWxzZSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2VuSXRlbUtleShcbiAgaXRlbTogUmVtb3RlTmF2aWdhdGlvbkl0ZW0sXG4gIHBhcmVudEtleTogc3RyaW5nID0gJycsXG4pOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbSB7XG4gIGNvbnN0IGN1cnJlbnRLZXkgPSBpdGVtLmtleSA/PyBpdGVtLm5hbWU7XG4gIGNvbnN0IGtleSA9IHBhcmVudEtleSA/IHBhcmVudEtleSArICcvJyArIGN1cnJlbnRLZXkgOiBjdXJyZW50S2V5O1xuICByZXR1cm4ge1xuICAgIC4uLml0ZW0sXG4gICAga2V5LFxuICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuPy5tYXAoYyA9PiBnZW5JdGVtS2V5KGMsIGtleSkpLFxuICB9O1xufVxuIl19
@@ -42,22 +42,28 @@ async function loadProdExtensions(query = {}) {
42
42
  return res.json();
43
43
  })
44
44
  .then((rawPlugins) => Object.entries(rawPlugins).reduce((acc, [cluster, plugins]) => acc.concat(plugins.flatMap(plugin => {
45
- const pluginJson = JSON.parse(plugin['console-plugin.json']);
46
- return pluginJson.extensions.map(ext => ({
47
- ...ext,
48
- cluster,
49
- pluginName: plugin.name,
50
- pluginVersion: plugin.version,
51
- appName: plugin.path
52
- .slice(plugin.path.lastIndexOf('/') + 1)
53
- .replaceAll('/', '-'),
54
- entrypoint: `${reqPrefix}/clusters-rewrite/${cluster}${plugin.path}`,
55
- dependencies: pluginJson.dependencies || {},
56
- }));
45
+ try {
46
+ const pluginJson = JSON.parse(plugin['console-plugin.json']);
47
+ return pluginJson.extensions.map(ext => ({
48
+ ...ext,
49
+ cluster,
50
+ pluginName: plugin.name,
51
+ pluginVersion: plugin.version,
52
+ appName: plugin.path
53
+ .slice(plugin.path.lastIndexOf('/') + 1)
54
+ .replaceAll('/', '-'),
55
+ entrypoint: `${reqPrefix}/clusters-rewrite/${cluster}${plugin.path}`,
56
+ dependencies: pluginJson.dependencies || {},
57
+ }));
58
+ }
59
+ catch (error) {
60
+ console.warn(`Failed to parse console-plugin.json for plugin ${plugin.name}:`, error);
61
+ return [];
62
+ }
57
63
  })), []))
58
64
  .catch(err => {
59
65
  console.error(err);
60
66
  return [];
61
67
  });
62
68
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb25zLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoRSxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxRQUF5QixFQUFFO0lBQzlELElBQUksV0FBVyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxVQUFVLEVBQUU7UUFDakIsQ0FBQyxDQUFDLE1BQU0saUJBQWlCLENBQUMsS0FBSyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxLQUFLLFVBQVUsaUJBQWlCLENBQzlCLFFBQXlCLEVBQUU7SUFFM0IsT0FBTyxNQUFNLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUM7U0FDRCxJQUFJLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUUsQ0FDM0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLEdBQUcsd0JBQXdCO1FBQzNCLEdBQUcsR0FBRztRQUNOLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUU7UUFDdkMsVUFBVSxFQUFFLGFBQWE7S0FDMUIsQ0FBQyxDQUFDLENBQ0o7U0FDQSxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FDViwrREFBK0QsQ0FDaEUsQ0FBQztRQUNGLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsS0FBSyxVQUFVLGtCQUFrQixDQUMvQixRQUF5QixFQUFFO0lBRTNCLE1BQU0sU0FBUyxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNyRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztTQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1NBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUViLE9BQU8sTUFBTSxLQUFLLENBQ2hCLEdBQUcsU0FBUyw2Q0FBNkMsV0FBVyxJQUFJLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUN0SDtRQUNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRTtLQUNyQyxDQUNGO1NBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLENBQUMsVUFBc0IsRUFBRSxFQUFFLENBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUMvQixDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQzFCLEdBQUcsQ0FBQyxNQUFNLENBQ1IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMzQixNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FDaEIsQ0FBQztRQUVoQixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QyxHQUFHLEdBQUc7WUFDTixPQUFPO1lBQ1AsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ3ZCLGFBQWEsRUFBRSxNQUFNLENBQUMsT0FBTztZQUM3QixPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUk7aUJBQ2pCLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3ZDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ3ZCLFVBQVUsRUFBRSxHQUFHLFNBQVMscUJBQXFCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ3BFLFlBQVksRUFBRSxVQUFVLENBQUMsWUFBWSxJQUFJLEVBQUU7U0FDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDLENBQUMsQ0FDSCxFQUNILEVBQWlCLENBQ2xCLENBQ0Y7U0FDQSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXR0YWNoQXV0aG9yaXphdGlvbkhlYWRlciwgaXNMb2NhbERldiB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0Qm9vdE1vZGUsIExPQ0FMX0RFVl9FWFRFTlNJT05fSU5GTyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEV4dGVuc2lvbnMocXVlcnk6IEV4dGVuc2lvbnNRdWVyeSA9IHt9KSB7XG4gIGlmIChnZXRCb290TW9kZSgpID09PSAnc2FmZScpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIGlzTG9jYWxEZXYoKVxuICAgID8gYXdhaXQgbG9hZERldkV4dGVuc2lvbnMocXVlcnkpXG4gICAgOiBhd2FpdCBsb2FkUHJvZEV4dGVuc2lvbnMocXVlcnkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBsb2FkRGV2RXh0ZW5zaW9ucyhcbiAgcXVlcnk6IEV4dGVuc2lvbnNRdWVyeSA9IHt9LFxuKTogUHJvbWlzZTxFeHRlbnNpb25bXT4ge1xuICByZXR1cm4gYXdhaXQgZmV0Y2goYC9kZXYtcGx1Z2luL2NvbnNvbGUtcGx1Z2luLmpzb25gKVxuICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBsb2NhbCBkZXYgZXh0ZW5zaW9ucycpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlcy5qc29uKCk7XG4gICAgfSlcbiAgICAudGhlbigocGx1Z2luOiBQbHVnaW5KU09OKSA9PlxuICAgICAgcGx1Z2luLmV4dGVuc2lvbnMubWFwKGV4dCA9PiAoe1xuICAgICAgICAuLi5MT0NBTF9ERVZfRVhURU5TSU9OX0lORk8sXG4gICAgICAgIC4uLmV4dCxcbiAgICAgICAgZGVwZW5kZW5jaWVzOiBwbHVnaW4uZGVwZW5kZW5jaWVzIHx8IHt9LFxuICAgICAgICBlbnRyeXBvaW50OiAnL2Rldi1wbHVnaW4nLFxuICAgICAgfSkpLFxuICAgIClcbiAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnRmFpbGVkIHRvIGZldGNoIGxvY2FsIGRldiBleHRlbnNpb25zLCBsb2FkaW5nIHByb2QgZXh0ZW5zaW9ucycsXG4gICAgICApO1xuICAgICAgcmV0dXJuIGxvYWRQcm9kRXh0ZW5zaW9ucyhxdWVyeSk7XG4gICAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvYWRQcm9kRXh0ZW5zaW9ucyhcbiAgcXVlcnk6IEV4dGVuc2lvbnNRdWVyeSA9IHt9LFxuKTogUHJvbWlzZTxFeHRlbnNpb25bXT4ge1xuICBjb25zdCByZXFQcmVmaXggPSBpc0xvY2FsRGV2KCkgPyAnL2FwaS1nYXRld2F5JyA6ICcnO1xuICBjb25zdCBxdWVyeVN0cmluZyA9IE9iamVjdC5lbnRyaWVzKHF1ZXJ5KVxuICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlLmpvaW4oJywnKX1gKVxuICAgIC5qb2luKCc7Jyk7XG5cbiAgcmV0dXJuIGF3YWl0IGZldGNoKFxuICAgIGAke3JlcVByZWZpeH0vZnJvbnRlbmQtcGx1Z2lucy9jbHVzdGVycy9jb25zb2xlLXBsdWdpbnMke3F1ZXJ5U3RyaW5nICYmICc/ZmlsdGVyPScgKyBlbmNvZGVVUklDb21wb25lbnQocXVlcnlTdHJpbmcpfWAsXG4gICAge1xuICAgICAgaGVhZGVyczogYXR0YWNoQXV0aG9yaXphdGlvbkhlYWRlcigpLFxuICAgIH0sXG4gIClcbiAgICAudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggZXh0ZW5zaW9ucycpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlcy5qc29uKCk7XG4gICAgfSlcbiAgICAudGhlbigocmF3UGx1Z2luczogUmF3UGx1Z2lucykgPT5cbiAgICAgIE9iamVjdC5lbnRyaWVzKHJhd1BsdWdpbnMpLnJlZHVjZShcbiAgICAgICAgKGFjYywgW2NsdXN0ZXIsIHBsdWdpbnNdKSA9PlxuICAgICAgICAgIGFjYy5jb25jYXQoXG4gICAgICAgICAgICBwbHVnaW5zLmZsYXRNYXAocGx1Z2luID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcGx1Z2luSnNvbiA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICAgICAgcGx1Z2luWydjb25zb2xlLXBsdWdpbi5qc29uJ10sXG4gICAgICAgICAgICAgICkgYXMgUGx1Z2luSlNPTjtcblxuICAgICAgICAgICAgICByZXR1cm4gcGx1Z2luSnNvbi5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5leHQsXG4gICAgICAgICAgICAgICAgY2x1c3RlcixcbiAgICAgICAgICAgICAgICBwbHVnaW5OYW1lOiBwbHVnaW4ubmFtZSxcbiAgICAgICAgICAgICAgICBwbHVnaW5WZXJzaW9uOiBwbHVnaW4udmVyc2lvbixcbiAgICAgICAgICAgICAgICBhcHBOYW1lOiBwbHVnaW4ucGF0aFxuICAgICAgICAgICAgICAgICAgLnNsaWNlKHBsdWdpbi5wYXRoLmxhc3RJbmRleE9mKCcvJykgKyAxKVxuICAgICAgICAgICAgICAgICAgLnJlcGxhY2VBbGwoJy8nLCAnLScpLFxuICAgICAgICAgICAgICAgIGVudHJ5cG9pbnQ6IGAke3JlcVByZWZpeH0vY2x1c3RlcnMtcmV3cml0ZS8ke2NsdXN0ZXJ9JHtwbHVnaW4ucGF0aH1gLFxuICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogcGx1Z2luSnNvbi5kZXBlbmRlbmNpZXMgfHwge30sXG4gICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgIFtdIGFzIEV4dGVuc2lvbltdLFxuICAgICAgKSxcbiAgICApXG4gICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5zaW9uc1F1ZXJ5IHtcbiAgdHlwZXM/OiBzdHJpbmdbXTtcbiAgY2x1c3RlcnM/OiBzdHJpbmdbXTtcbiAgb3BlcmF0b3JzPzogc3RyaW5nW107XG4gIGNoYW5uZWxzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5zaW9uPFQgPSBhbnk+IGV4dGVuZHMgUmF3RXh0ZW5zaW9uPFQ+IHtcbiAgY2x1c3Rlcjogc3RyaW5nO1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHBsdWdpblZlcnNpb246IHN0cmluZztcbiAgYXBwTmFtZTogc3RyaW5nO1xuICBlbnRyeXBvaW50OiBzdHJpbmc7XG4gIGRlcGVuZGVuY2llczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuaW50ZXJmYWNlIFJhd1BsdWdpbnMge1xuICBbY2x1c3Rlcjogc3RyaW5nXTogQXJyYXk8e1xuICAgIG9wZXJhdG9yOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgJ2NvbnNvbGUtcGx1Z2luLmpzb24nOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5pbnRlcmZhY2UgUGx1Z2luSlNPTiB7XG4gIGV4dGVuc2lvbnM6IFJhd0V4dGVuc2lvbltdO1xuICBkZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5pbnRlcmZhY2UgUmF3RXh0ZW5zaW9uPFQgPSBhbnk+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBvcHRpb25zOiBUO1xufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb25zLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoRSxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxRQUF5QixFQUFFO0lBQzlELElBQUksV0FBVyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxVQUFVLEVBQUU7UUFDakIsQ0FBQyxDQUFDLE1BQU0saUJBQWlCLENBQUMsS0FBSyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxLQUFLLFVBQVUsaUJBQWlCLENBQzlCLFFBQXlCLEVBQUU7SUFFM0IsT0FBTyxNQUFNLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUM7U0FDRCxJQUFJLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUUsQ0FDM0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLEdBQUcsd0JBQXdCO1FBQzNCLEdBQUcsR0FBRztRQUNOLFlBQVksRUFB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LEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0dGFjaEF1dGhvcml6YXRpb25IZWFkZXIsIGlzTG9jYWxEZXYgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IGdldEJvb3RNb2RlLCBMT0NBTF9ERVZfRVhURU5TSU9OX0lORk8gfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRFeHRlbnNpb25zKHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSkge1xuICBpZiAoZ2V0Qm9vdE1vZGUoKSA9PT0gJ3NhZmUnKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBpc0xvY2FsRGV2KClcbiAgICA/IGF3YWl0IGxvYWREZXZFeHRlbnNpb25zKHF1ZXJ5KVxuICAgIDogYXdhaXQgbG9hZFByb2RFeHRlbnNpb25zKHF1ZXJ5KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZERldkV4dGVuc2lvbnMoXG4gIHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSxcbik6IFByb21pc2U8RXh0ZW5zaW9uW10+IHtcbiAgcmV0dXJuIGF3YWl0IGZldGNoKGAvZGV2LXBsdWdpbi9jb25zb2xlLXBsdWdpbi5qc29uYClcbiAgICAudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggbG9jYWwgZGV2IGV4dGVuc2lvbnMnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuanNvbigpO1xuICAgIH0pXG4gICAgLnRoZW4oKHBsdWdpbjogUGx1Z2luSlNPTikgPT5cbiAgICAgIHBsdWdpbi5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgLi4uTE9DQUxfREVWX0VYVEVOU0lPTl9JTkZPLFxuICAgICAgICAuLi5leHQsXG4gICAgICAgIGRlcGVuZGVuY2llczogcGx1Z2luLmRlcGVuZGVuY2llcyB8fCB7fSxcbiAgICAgICAgZW50cnlwb2ludDogJy9kZXYtcGx1Z2luJyxcbiAgICAgIH0pKSxcbiAgICApXG4gICAgLmNhdGNoKCgpID0+IHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ0ZhaWxlZCB0byBmZXRjaCBsb2NhbCBkZXYgZXh0ZW5zaW9ucywgbG9hZGluZyBwcm9kIGV4dGVuc2lvbnMnLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBsb2FkUHJvZEV4dGVuc2lvbnMocXVlcnkpO1xuICAgIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBsb2FkUHJvZEV4dGVuc2lvbnMoXG4gIHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSxcbik6IFByb21pc2U8RXh0ZW5zaW9uW10+IHtcbiAgY29uc3QgcmVxUHJlZml4ID0gaXNMb2NhbERldigpID8gJy9hcGktZ2F0ZXdheScgOiAnJztcbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBPYmplY3QuZW50cmllcyhxdWVyeSlcbiAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZS5qb2luKCcsJyl9YClcbiAgICAuam9pbignOycpO1xuXG4gIHJldHVybiBhd2FpdCBmZXRjaChcbiAgICBgJHtyZXFQcmVmaXh9L2Zyb250ZW5kLXBsdWdpbnMvY2x1c3RlcnMvY29uc29sZS1wbHVnaW5zJHtxdWVyeVN0cmluZyAmJiAnP2ZpbHRlcj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5U3RyaW5nKX1gLFxuICAgIHtcbiAgICAgIGhlYWRlcnM6IGF0dGFjaEF1dGhvcml6YXRpb25IZWFkZXIoKSxcbiAgICB9LFxuICApXG4gICAgLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIGV4dGVuc2lvbnMnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuanNvbigpO1xuICAgIH0pXG4gICAgLnRoZW4oKHJhd1BsdWdpbnM6IFJhd1BsdWdpbnMpID0+XG4gICAgICBPYmplY3QuZW50cmllcyhyYXdQbHVnaW5zKS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIFtjbHVzdGVyLCBwbHVnaW5zXSkgPT5cbiAgICAgICAgICBhY2MuY29uY2F0KFxuICAgICAgICAgICAgcGx1Z2lucy5mbGF0TWFwKHBsdWdpbiA9PiB7XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGx1Z2luSnNvbiA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICAgICAgICBwbHVnaW5bJ2NvbnNvbGUtcGx1Z2luLmpzb24nXSxcbiAgICAgICAgICAgICAgICApIGFzIFBsdWdpbkpTT047XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcGx1Z2luSnNvbi5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLmV4dCxcbiAgICAgICAgICAgICAgICAgIGNsdXN0ZXIsXG4gICAgICAgICAgICAgICAgICBwbHVnaW5OYW1lOiBwbHVnaW4ubmFtZSxcbiAgICAgICAgICAgICAgICAgIHBsdWdpblZlcnNpb246IHBsdWdpbi52ZXJzaW9uLFxuICAgICAgICAgICAgICAgICAgYXBwTmFtZTogcGx1Z2luLnBhdGhcbiAgICAgICAgICAgICAgICAgICAgLnNsaWNlKHBsdWdpbi5wYXRoLmxhc3RJbmRleE9mKCcvJykgKyAxKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZUFsbCgnLycsICctJyksXG4gICAgICAgICAgICAgICAgICBlbnRyeXBvaW50OiBgJHtyZXFQcmVmaXh9L2NsdXN0ZXJzLXJld3JpdGUvJHtjbHVzdGVyfSR7cGx1Z2luLnBhdGh9YCxcbiAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogcGx1Z2luSnNvbi5kZXBlbmRlbmNpZXMgfHwge30sXG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gcGFyc2UgY29uc29sZS1wbHVnaW4uanNvbiBmb3IgcGx1Z2luICR7cGx1Z2luLm5hbWV9OmAsXG4gICAgICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgW10gYXMgRXh0ZW5zaW9uW10sXG4gICAgICApLFxuICAgIClcbiAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25zUXVlcnkge1xuICB0eXBlcz86IHN0cmluZ1tdO1xuICBjbHVzdGVycz86IHN0cmluZ1tdO1xuICBvcGVyYXRvcnM/OiBzdHJpbmdbXTtcbiAgY2hhbm5lbHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb248VCA9IGFueT4gZXh0ZW5kcyBSYXdFeHRlbnNpb248VD4ge1xuICBjbHVzdGVyOiBzdHJpbmc7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xuICBhcHBOYW1lOiBzdHJpbmc7XG4gIGVudHJ5cG9pbnQ6IHN0cmluZztcbiAgZGVwZW5kZW5jaWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5pbnRlcmZhY2UgUmF3UGx1Z2lucyB7XG4gIFtjbHVzdGVyOiBzdHJpbmddOiBBcnJheTx7XG4gICAgb3BlcmF0b3I6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICAnY29uc29sZS1wbHVnaW4uanNvbic6IHN0cmluZztcbiAgfT47XG59XG5cbmludGVyZmFjZSBQbHVnaW5KU09OIHtcbiAgZXh0ZW5zaW9uczogUmF3RXh0ZW5zaW9uW107XG4gIGRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbmludGVyZmFjZSBSYXdFeHRlbnNpb248VCA9IGFueT4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIG9wdGlvbnM6IFQ7XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { NavGroupConfig, NavItemConfig, TranslateService } from '@alauda-fe/common';
2
- export declare function getRemoteNavigations(scope: string, translate: TranslateService): RemoteNavigationItemRoot[];
3
- export declare function getRemoteNavigationGroups(scope: string, translate: TranslateService): RemoteNavigationItemRoot[];
2
+ export declare function getRemoteNavigations(scope: string, translate: TranslateService, cluster?: string): RemoteNavigationItemRoot[];
3
+ export declare function getRemoteNavigationGroups(scope: string, translate: TranslateService, cluster?: string): RemoteNavigationItemRoot[];
4
4
  export declare function insertNavItem(source: NavItemConfig[], remotes: RemoteNavigationItemRoot[]): NavItemConfig[];
5
5
  export declare function insertNavGroupItem(source: NavGroupConfig[], remotes: RemoteNavigationItemRoot[]): NavGroupConfig[];
6
6
  export interface RemoteNavigationItem extends NavItemConfig {
@@ -12,4 +12,5 @@ export interface RemoteNavigationItem extends NavItemConfig {
12
12
  export interface RemoteNavigationItemRoot extends RemoteNavigationItem {
13
13
  insertAfter?: string | string[];
14
14
  insertBefore?: string | string[];
15
+ clusterStrategy?: 'latest' | 'strict';
15
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alauda-fe/plugin-sdk",
3
- "version": "0.0.15",
3
+ "version": "0.0.16",
4
4
  "peerDependencies": {
5
5
  "@nx/angular": "^16.10.0"
6
6
  },