@naylence/runtime 0.4.6 → 0.4.8
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/dist/browser/index.cjs +120 -107
- package/dist/browser/index.mjs +117 -108
- package/dist/cjs/naylence/fame/delivery/delivery-profile-factory.js +5 -9
- package/dist/cjs/naylence/fame/index.js +1 -0
- package/dist/cjs/naylence/fame/node/admission/admission-profile-factory.js +15 -19
- package/dist/cjs/naylence/fame/node/node-identity-policy-profile-factory.js +6 -10
- package/dist/cjs/naylence/fame/profile/index.js +8 -0
- package/dist/cjs/naylence/fame/profile/profile-registry.js +57 -0
- package/dist/cjs/naylence/fame/security/auth/authorization-profile-factory.js +9 -13
- package/dist/cjs/naylence/fame/security/node-security-profile-factory.js +9 -13
- package/dist/cjs/naylence/fame/sentinel/load-balancing/load-balancing-profile-factory.js +10 -13
- package/dist/cjs/naylence/fame/sentinel/routing-profile-factory.js +7 -8
- package/dist/cjs/naylence/fame/storage/storage-profile-factory.js +8 -12
- package/dist/cjs/naylence/fame/telemetry/trace-emitter-profile-factory.js +5 -9
- package/dist/cjs/runtime-isomorphic.js +1 -0
- package/dist/cjs/version.js +2 -2
- package/dist/esm/naylence/fame/delivery/delivery-profile-factory.js +5 -9
- package/dist/esm/naylence/fame/index.js +1 -0
- package/dist/esm/naylence/fame/node/admission/admission-profile-factory.js +15 -19
- package/dist/esm/naylence/fame/node/node-identity-policy-profile-factory.js +6 -10
- package/dist/esm/naylence/fame/profile/index.js +1 -0
- package/dist/esm/naylence/fame/profile/profile-registry.js +51 -0
- package/dist/esm/naylence/fame/security/auth/authorization-profile-factory.js +9 -13
- package/dist/esm/naylence/fame/security/node-security-profile-factory.js +9 -13
- package/dist/esm/naylence/fame/sentinel/load-balancing/load-balancing-profile-factory.js +10 -13
- package/dist/esm/naylence/fame/sentinel/routing-profile-factory.js +7 -8
- package/dist/esm/naylence/fame/storage/storage-profile-factory.js +8 -12
- package/dist/esm/naylence/fame/telemetry/trace-emitter-profile-factory.js +5 -9
- package/dist/esm/runtime-isomorphic.js +1 -0
- package/dist/esm/version.js +2 -2
- package/dist/node/index.cjs +120 -107
- package/dist/node/index.mjs +117 -108
- package/dist/node/node.cjs +123 -108
- package/dist/node/node.mjs +120 -109
- package/dist/types/naylence/fame/index.d.ts +1 -0
- package/dist/types/naylence/fame/profile/index.d.ts +2 -0
- package/dist/types/naylence/fame/profile/profile-registry.d.ts +9 -0
- package/dist/types/runtime-isomorphic.d.ts +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +2 -2
package/dist/browser/index.mjs
CHANGED
|
@@ -523,12 +523,12 @@ async function ensureRuntimeFactoriesRegistered(registry = Registry) {
|
|
|
523
523
|
}
|
|
524
524
|
|
|
525
525
|
// This file is auto-generated during build - do not edit manually
|
|
526
|
-
// Generated from package.json version: 0.4.
|
|
526
|
+
// Generated from package.json version: 0.4.8
|
|
527
527
|
/**
|
|
528
528
|
* The package version, injected at build time.
|
|
529
529
|
* @internal
|
|
530
530
|
*/
|
|
531
|
-
const VERSION = '0.4.
|
|
531
|
+
const VERSION = '0.4.8';
|
|
532
532
|
|
|
533
533
|
let initialized = false;
|
|
534
534
|
const runtimePlugin = {
|
|
@@ -3559,6 +3559,58 @@ class InMemoryFanoutBroker extends TaskSpawner {
|
|
|
3559
3559
|
}
|
|
3560
3560
|
}
|
|
3561
3561
|
|
|
3562
|
+
const registry = new Map();
|
|
3563
|
+
function normalizeKey$1(value, label) {
|
|
3564
|
+
if (typeof value !== 'string') {
|
|
3565
|
+
throw new Error(`${label} must be a non-empty string`);
|
|
3566
|
+
}
|
|
3567
|
+
const trimmed = value.trim();
|
|
3568
|
+
if (!trimmed) {
|
|
3569
|
+
throw new Error(`${label} must be a non-empty string`);
|
|
3570
|
+
}
|
|
3571
|
+
return trimmed;
|
|
3572
|
+
}
|
|
3573
|
+
function cloneConfig(value) {
|
|
3574
|
+
return JSON.parse(JSON.stringify(value));
|
|
3575
|
+
}
|
|
3576
|
+
function registerProfile(baseType, name, config, options) {
|
|
3577
|
+
const normalizedBase = normalizeKey$1(baseType, 'baseType');
|
|
3578
|
+
const normalizedName = normalizeKey$1(name, 'profile name');
|
|
3579
|
+
if (!config || typeof config !== 'object' || Array.isArray(config)) {
|
|
3580
|
+
throw new Error(`Profile '${normalizedName}' config must be an object`);
|
|
3581
|
+
}
|
|
3582
|
+
const profiles = registry.get(normalizedBase) ?? new Map();
|
|
3583
|
+
if (profiles.has(normalizedName) && options?.allowOverride !== true) {
|
|
3584
|
+
const sourceLabel = options?.source ? ` (${options.source})` : '';
|
|
3585
|
+
throw new Error(`Profile '${normalizedName}' already registered for ${normalizedBase}${sourceLabel}`);
|
|
3586
|
+
}
|
|
3587
|
+
profiles.set(normalizedName, config);
|
|
3588
|
+
registry.set(normalizedBase, profiles);
|
|
3589
|
+
}
|
|
3590
|
+
function getProfile(baseType, name) {
|
|
3591
|
+
const normalizedBase = normalizeKey$1(baseType, 'baseType');
|
|
3592
|
+
const normalizedName = normalizeKey$1(name, 'profile name');
|
|
3593
|
+
const profiles = registry.get(normalizedBase);
|
|
3594
|
+
if (!profiles) {
|
|
3595
|
+
return null;
|
|
3596
|
+
}
|
|
3597
|
+
const profile = profiles.get(normalizedName);
|
|
3598
|
+
return profile ? cloneConfig(profile) : null;
|
|
3599
|
+
}
|
|
3600
|
+
function listProfiles(baseType) {
|
|
3601
|
+
const normalizedBase = normalizeKey$1(baseType, 'baseType');
|
|
3602
|
+
const profiles = registry.get(normalizedBase);
|
|
3603
|
+
return profiles ? Array.from(profiles.keys()) : [];
|
|
3604
|
+
}
|
|
3605
|
+
function clearProfiles(baseType) {
|
|
3606
|
+
if (!baseType) {
|
|
3607
|
+
registry.clear();
|
|
3608
|
+
return;
|
|
3609
|
+
}
|
|
3610
|
+
const normalizedBase = normalizeKey$1(baseType, 'baseType');
|
|
3611
|
+
registry.delete(normalizedBase);
|
|
3612
|
+
}
|
|
3613
|
+
|
|
3562
3614
|
class InMemoryKeyValueStore {
|
|
3563
3615
|
constructor() {
|
|
3564
3616
|
this.store = new Map();
|
|
@@ -4200,15 +4252,8 @@ const INDEXEDDB_PROFILE_CONFIG = {
|
|
|
4200
4252
|
({
|
|
4201
4253
|
dbDirectory: Expressions.env(ENV_VAR_STORAGE_DB_DIRECTORY, './data/sqlite'),
|
|
4202
4254
|
masterKey: Expressions.env(ENV_VAR_STORAGE_MASTER_KEY)});
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
[PROFILE_NAME_MEMORY]: MEMORY_PROFILE_CONFIG,
|
|
4206
|
-
[PROFILE_NAME_INDEXEDDB]: INDEXEDDB_PROFILE_CONFIG,
|
|
4207
|
-
};
|
|
4208
|
-
// Extended profile map - can be augmented by Node.js environment
|
|
4209
|
-
const PROFILE_MAP$7 = {
|
|
4210
|
-
...BASE_PROFILE_MAP,
|
|
4211
|
-
};
|
|
4255
|
+
registerProfile(STORAGE_PROVIDER_FACTORY_BASE_TYPE, PROFILE_NAME_MEMORY, MEMORY_PROFILE_CONFIG, { source: 'storage-profile-factory' });
|
|
4256
|
+
registerProfile(STORAGE_PROVIDER_FACTORY_BASE_TYPE, PROFILE_NAME_INDEXEDDB, INDEXEDDB_PROFILE_CONFIG, { source: 'storage-profile-factory' });
|
|
4212
4257
|
class StorageProfileFactory extends StorageProviderFactory {
|
|
4213
4258
|
constructor() {
|
|
4214
4259
|
super(...arguments);
|
|
@@ -4221,9 +4266,9 @@ class StorageProfileFactory extends StorageProviderFactory {
|
|
|
4221
4266
|
type: 'StorageProfile',
|
|
4222
4267
|
});
|
|
4223
4268
|
const profileName = (parsed.profile ?? PROFILE_NAME_MEMORY).toLowerCase();
|
|
4224
|
-
const profileConfig =
|
|
4269
|
+
const profileConfig = getProfile(STORAGE_PROVIDER_FACTORY_BASE_TYPE, profileName);
|
|
4225
4270
|
if (!profileConfig) {
|
|
4226
|
-
throw new Error(`Unknown storage profile '${profileName}'. Supported profiles: ${
|
|
4271
|
+
throw new Error(`Unknown storage profile '${profileName}'. Supported profiles: ${listProfiles(STORAGE_PROVIDER_FACTORY_BASE_TYPE).join(', ')}`);
|
|
4227
4272
|
}
|
|
4228
4273
|
const createOptions = {
|
|
4229
4274
|
...options,
|
|
@@ -16191,11 +16236,9 @@ const DEFAULT_PROFILE$1 = {
|
|
|
16191
16236
|
const TOKEN_SUBJECT_PROFILE = {
|
|
16192
16237
|
type: 'TokenSubjectNodeIdentityPolicy',
|
|
16193
16238
|
};
|
|
16194
|
-
|
|
16195
|
-
|
|
16196
|
-
|
|
16197
|
-
[PROFILE_NAME_TOKEN_SUBJECT_ALIAS]: TOKEN_SUBJECT_PROFILE,
|
|
16198
|
-
};
|
|
16239
|
+
registerProfile(NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_DEFAULT$1, DEFAULT_PROFILE$1, { source: 'node-identity-policy-profile-factory' });
|
|
16240
|
+
registerProfile(NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_TOKEN_SUBJECT, TOKEN_SUBJECT_PROFILE, { source: 'node-identity-policy-profile-factory' });
|
|
16241
|
+
registerProfile(NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_TOKEN_SUBJECT_ALIAS, TOKEN_SUBJECT_PROFILE, { source: 'node-identity-policy-profile-factory' });
|
|
16199
16242
|
const FACTORY_META$19 = {
|
|
16200
16243
|
base: NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE,
|
|
16201
16244
|
key: 'NodeIdentityPolicyProfile',
|
|
@@ -16232,14 +16275,11 @@ function normalizeConfig$x(config) {
|
|
|
16232
16275
|
return { profile: normalizedProfile };
|
|
16233
16276
|
}
|
|
16234
16277
|
function resolveProfileConfig$5(profileName) {
|
|
16235
|
-
const profile =
|
|
16278
|
+
const profile = getProfile(NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, profileName);
|
|
16236
16279
|
if (!profile) {
|
|
16237
16280
|
throw new Error(`Unknown node identity policy profile: ${profileName}`);
|
|
16238
16281
|
}
|
|
16239
|
-
return
|
|
16240
|
-
}
|
|
16241
|
-
function deepClone$5(value) {
|
|
16242
|
-
return JSON.parse(JSON.stringify(value));
|
|
16282
|
+
return profile;
|
|
16243
16283
|
}
|
|
16244
16284
|
|
|
16245
16285
|
var nodeIdentityPolicyProfileFactory = /*#__PURE__*/Object.freeze({
|
|
@@ -22005,14 +22045,12 @@ const POLICY_LOCALFILE_PROFILE = {
|
|
|
22005
22045
|
verifier: DEFAULT_VERIFIER_CONFIG,
|
|
22006
22046
|
policySource: DEFAULT_POLICY_SOURCE,
|
|
22007
22047
|
};
|
|
22008
|
-
|
|
22009
|
-
|
|
22010
|
-
|
|
22011
|
-
|
|
22012
|
-
|
|
22013
|
-
|
|
22014
|
-
[PROFILE_NAME_NOOP$2]: NOOP_PROFILE$2,
|
|
22015
|
-
};
|
|
22048
|
+
registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_DEFAULT, DEFAULT_PROFILE, { source: 'authorization-profile-factory' });
|
|
22049
|
+
registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_OAUTH2, OAUTH2_PROFILE, { source: 'authorization-profile-factory' });
|
|
22050
|
+
registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_OAUTH2_GATED, OAUTH2_GATED_PROFILE, { source: 'authorization-profile-factory' });
|
|
22051
|
+
registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_OAUTH2_CALLBACK, OAUTH2_CALLBACK_PROFILE, { source: 'authorization-profile-factory' });
|
|
22052
|
+
registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_POLICY_LOCALFILE, POLICY_LOCALFILE_PROFILE, { source: 'authorization-profile-factory' });
|
|
22053
|
+
registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_NOOP$2, NOOP_PROFILE$2, { source: 'authorization-profile-factory' });
|
|
22016
22054
|
const PROFILE_ALIASES$1 = {
|
|
22017
22055
|
jwt: PROFILE_NAME_DEFAULT,
|
|
22018
22056
|
jwks: PROFILE_NAME_DEFAULT,
|
|
@@ -22131,14 +22169,11 @@ function canonicalizeProfileName$1(value) {
|
|
|
22131
22169
|
return PROFILE_ALIASES$1[normalized] ?? normalized;
|
|
22132
22170
|
}
|
|
22133
22171
|
function resolveProfileConfig$4(profileName) {
|
|
22134
|
-
const profile =
|
|
22172
|
+
const profile = getProfile(AUTHORIZER_FACTORY_BASE_TYPE, profileName);
|
|
22135
22173
|
if (!profile) {
|
|
22136
22174
|
throw new Error(`Unknown authorization profile: ${profileName}`);
|
|
22137
22175
|
}
|
|
22138
|
-
return
|
|
22139
|
-
}
|
|
22140
|
-
function deepClone$4(value) {
|
|
22141
|
-
return JSON.parse(JSON.stringify(value));
|
|
22176
|
+
return profile;
|
|
22142
22177
|
}
|
|
22143
22178
|
|
|
22144
22179
|
var authorizationProfileFactory = /*#__PURE__*/Object.freeze({
|
|
@@ -29942,14 +29977,12 @@ const OPEN_PROFILE$1 = {
|
|
|
29942
29977
|
profile: Expressions.env(ENV_VAR_AUTHORIZATION_PROFILE, 'noop'),
|
|
29943
29978
|
},
|
|
29944
29979
|
};
|
|
29945
|
-
|
|
29946
|
-
|
|
29947
|
-
|
|
29948
|
-
|
|
29949
|
-
|
|
29950
|
-
|
|
29951
|
-
[PROFILE_NAME_OPEN$1]: OPEN_PROFILE$1,
|
|
29952
|
-
};
|
|
29980
|
+
registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_OVERLAY, OVERLAY_PROFILE, { source: 'node-security-profile-factory' });
|
|
29981
|
+
registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_OVERLAY_CALLBACK, OVERLAY_CALLBACK_PROFILE, { source: 'node-security-profile-factory' });
|
|
29982
|
+
registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_STRICT_OVERLAY, STRICT_OVERLAY_PROFILE, { source: 'node-security-profile-factory' });
|
|
29983
|
+
registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_GATED, GATED_PROFILE, { source: 'node-security-profile-factory' });
|
|
29984
|
+
registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_GATED_CALLBACK, GATED_CALLBACK_PROFILE, { source: 'node-security-profile-factory' });
|
|
29985
|
+
registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_OPEN$1, OPEN_PROFILE$1, { source: 'node-security-profile-factory' });
|
|
29953
29986
|
const FACTORY_META$13 = {
|
|
29954
29987
|
base: SECURITY_MANAGER_FACTORY_BASE_TYPE,
|
|
29955
29988
|
key: 'SecurityProfile',
|
|
@@ -30056,14 +30089,11 @@ function normalizeProfile(config) {
|
|
|
30056
30089
|
return value.toLowerCase();
|
|
30057
30090
|
}
|
|
30058
30091
|
function resolveProfileConfig$3(profileName) {
|
|
30059
|
-
const template =
|
|
30092
|
+
const template = getProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, profileName);
|
|
30060
30093
|
if (!template) {
|
|
30061
30094
|
throw new Error(`Unknown security profile: ${profileName}`);
|
|
30062
30095
|
}
|
|
30063
|
-
return
|
|
30064
|
-
}
|
|
30065
|
-
function deepClone$3(value) {
|
|
30066
|
-
return JSON.parse(JSON.stringify(value));
|
|
30096
|
+
return template;
|
|
30067
30097
|
}
|
|
30068
30098
|
|
|
30069
30099
|
var nodeSecurityProfileFactory = /*#__PURE__*/Object.freeze({
|
|
@@ -33988,10 +34018,8 @@ const AT_LEAST_ONCE_PROFILE = {
|
|
|
33988
34018
|
const AT_MOST_ONCE_PROFILE = {
|
|
33989
34019
|
type: 'AtMostOnceDeliveryPolicy',
|
|
33990
34020
|
};
|
|
33991
|
-
|
|
33992
|
-
|
|
33993
|
-
[PROFILE_NAME_AT_MOST_ONCE]: AT_MOST_ONCE_PROFILE,
|
|
33994
|
-
};
|
|
34021
|
+
registerProfile(DELIVERY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_AT_LEAST_ONCE, AT_LEAST_ONCE_PROFILE, { source: 'delivery-profile-factory' });
|
|
34022
|
+
registerProfile(DELIVERY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_AT_MOST_ONCE, AT_MOST_ONCE_PROFILE, { source: 'delivery-profile-factory' });
|
|
33995
34023
|
class DeliveryProfileFactory extends DeliveryPolicyFactory {
|
|
33996
34024
|
constructor() {
|
|
33997
34025
|
super(...arguments);
|
|
@@ -34040,14 +34068,11 @@ function coerceProfileString$1(value) {
|
|
|
34040
34068
|
return trimmed.length > 0 ? trimmed : null;
|
|
34041
34069
|
}
|
|
34042
34070
|
function resolveProfileConfig$2(profileName) {
|
|
34043
|
-
const profile =
|
|
34071
|
+
const profile = getProfile(DELIVERY_POLICY_FACTORY_BASE_TYPE, profileName);
|
|
34044
34072
|
if (!profile) {
|
|
34045
34073
|
throw new Error(`Unknown delivery profile: ${profileName}`);
|
|
34046
34074
|
}
|
|
34047
|
-
return
|
|
34048
|
-
}
|
|
34049
|
-
function deepClone$2(value) {
|
|
34050
|
-
return JSON.parse(JSON.stringify(value));
|
|
34075
|
+
return profile;
|
|
34051
34076
|
}
|
|
34052
34077
|
const FACTORY_META$S = {
|
|
34053
34078
|
base: DELIVERY_POLICY_FACTORY_BASE_TYPE,
|
|
@@ -34484,20 +34509,18 @@ const NOOP_PROFILE$1 = {
|
|
|
34484
34509
|
auto_accept_logicals: true,
|
|
34485
34510
|
autoAcceptLogicals: true,
|
|
34486
34511
|
};
|
|
34487
|
-
|
|
34488
|
-
|
|
34489
|
-
|
|
34490
|
-
|
|
34491
|
-
|
|
34492
|
-
|
|
34493
|
-
|
|
34494
|
-
|
|
34495
|
-
|
|
34496
|
-
|
|
34497
|
-
|
|
34498
|
-
|
|
34499
|
-
[PROFILE_NAME_NONE]: NOOP_PROFILE$1,
|
|
34500
|
-
};
|
|
34512
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_WELCOME, WELCOME_SERVICE_PROFILE, { source: 'admission-profile-factory' });
|
|
34513
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_WELCOME_PKCE, WELCOME_SERVICE_PKCE_PROFILE, { source: 'admission-profile-factory' });
|
|
34514
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_WELCOME_PKCE_ALIAS, WELCOME_SERVICE_PKCE_PROFILE, { source: 'admission-profile-factory' });
|
|
34515
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT, DIRECT_PROFILE, { source: 'admission-profile-factory' });
|
|
34516
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_PKCE, DIRECT_PKCE_PROFILE, { source: 'admission-profile-factory' });
|
|
34517
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_PKCE_ALIAS, DIRECT_PKCE_PROFILE, { source: 'admission-profile-factory' });
|
|
34518
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_HTTP, DIRECT_HTTP_PROFILE, { source: 'admission-profile-factory' });
|
|
34519
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_INPAGE, DIRECT_INPAGE_PROFILE, { source: 'admission-profile-factory' });
|
|
34520
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_INPAGE_ALIAS, DIRECT_INPAGE_PROFILE, { source: 'admission-profile-factory' });
|
|
34521
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_OPEN, OPEN_PROFILE, { source: 'admission-profile-factory' });
|
|
34522
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_NOOP$1, NOOP_PROFILE$1, { source: 'admission-profile-factory' });
|
|
34523
|
+
registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_NONE, NOOP_PROFILE$1, { source: 'admission-profile-factory' });
|
|
34501
34524
|
const FACTORY_META$Q = {
|
|
34502
34525
|
base: ADMISSION_CLIENT_FACTORY_BASE_TYPE,
|
|
34503
34526
|
key: 'AdmissionProfile',
|
|
@@ -34534,14 +34557,11 @@ function normalizeConfig$p(config) {
|
|
|
34534
34557
|
return { profile: normalizedProfile };
|
|
34535
34558
|
}
|
|
34536
34559
|
function resolveProfileConfig$1(profileName) {
|
|
34537
|
-
const profile =
|
|
34560
|
+
const profile = getProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, profileName);
|
|
34538
34561
|
if (!profile) {
|
|
34539
34562
|
throw new Error(`Unknown admission profile: ${profileName}`);
|
|
34540
34563
|
}
|
|
34541
|
-
return
|
|
34542
|
-
}
|
|
34543
|
-
function deepClone$1(value) {
|
|
34544
|
-
return JSON.parse(JSON.stringify(value));
|
|
34564
|
+
return profile;
|
|
34545
34565
|
}
|
|
34546
34566
|
|
|
34547
34567
|
var admissionProfileFactory = /*#__PURE__*/Object.freeze({
|
|
@@ -38867,6 +38887,11 @@ const STICKY_HRW_PROFILE = {
|
|
|
38867
38887
|
const DEVELOPMENT_PROFILE$1 = {
|
|
38868
38888
|
type: 'RoundRobinLoadBalancingStrategy',
|
|
38869
38889
|
};
|
|
38890
|
+
registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_RANDOM, RANDOM_PROFILE, { source: 'load-balancing-profile-factory' });
|
|
38891
|
+
registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_ROUND_ROBIN, ROUND_ROBIN_PROFILE, { source: 'load-balancing-profile-factory' });
|
|
38892
|
+
registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_HRW, HRW_PROFILE, { source: 'load-balancing-profile-factory' });
|
|
38893
|
+
registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_STICKY_HRW, STICKY_HRW_PROFILE, { source: 'load-balancing-profile-factory' });
|
|
38894
|
+
registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_DEVELOPMENT$1, DEVELOPMENT_PROFILE$1, { source: 'load-balancing-profile-factory' });
|
|
38870
38895
|
const FACTORY_META$7 = {
|
|
38871
38896
|
base: LOAD_BALANCING_STRATEGY_FACTORY_BASE,
|
|
38872
38897
|
key: 'LoadBalancingProfile',
|
|
@@ -38921,20 +38946,11 @@ class LoadBalancingProfileFactory extends LoadBalancingStrategyFactory {
|
|
|
38921
38946
|
return undefined;
|
|
38922
38947
|
}
|
|
38923
38948
|
resolveProfile(profile) {
|
|
38924
|
-
|
|
38925
|
-
|
|
38926
|
-
|
|
38927
|
-
case PROFILE_NAME_ROUND_ROBIN:
|
|
38928
|
-
return ROUND_ROBIN_PROFILE;
|
|
38929
|
-
case PROFILE_NAME_HRW:
|
|
38930
|
-
return HRW_PROFILE;
|
|
38931
|
-
case PROFILE_NAME_STICKY_HRW:
|
|
38932
|
-
return STICKY_HRW_PROFILE;
|
|
38933
|
-
case PROFILE_NAME_DEVELOPMENT$1:
|
|
38934
|
-
return DEVELOPMENT_PROFILE$1;
|
|
38935
|
-
default:
|
|
38936
|
-
throw new Error(`Unknown load balancing profile: ${profile}`);
|
|
38949
|
+
const strategyConfig = getProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, profile);
|
|
38950
|
+
if (!strategyConfig) {
|
|
38951
|
+
throw new Error(`Unknown load balancing profile: ${profile}`);
|
|
38937
38952
|
}
|
|
38953
|
+
return strategyConfig;
|
|
38938
38954
|
}
|
|
38939
38955
|
}
|
|
38940
38956
|
|
|
@@ -39103,13 +39119,11 @@ const HYBRID_ONLY_PROFILE = {
|
|
|
39103
39119
|
type: 'HybridPathRoutingPolicy',
|
|
39104
39120
|
loadBalancingStrategy: { type: 'HRWLoadBalancingStrategy' },
|
|
39105
39121
|
};
|
|
39106
|
-
|
|
39107
|
-
|
|
39108
|
-
|
|
39109
|
-
|
|
39110
|
-
|
|
39111
|
-
[PROFILE_NAME_HYBRID_ONLY]: HYBRID_ONLY_PROFILE,
|
|
39112
|
-
};
|
|
39122
|
+
registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_DEVELOPMENT, DEVELOPMENT_PROFILE, { source: 'routing-profile-factory' });
|
|
39123
|
+
registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_PRODUCTION, PRODUCTION_PROFILE, { source: 'routing-profile-factory' });
|
|
39124
|
+
registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_BASIC, BASIC_PROFILE, { source: 'routing-profile-factory' });
|
|
39125
|
+
registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_CAPABILITY_AWARE, CAPABILITY_AWARE_PROFILE, { source: 'routing-profile-factory' });
|
|
39126
|
+
registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_HYBRID_ONLY, HYBRID_ONLY_PROFILE, { source: 'routing-profile-factory' });
|
|
39113
39127
|
const FACTORY_META$3 = {
|
|
39114
39128
|
base: ROUTING_POLICY_FACTORY_BASE,
|
|
39115
39129
|
key: 'RoutingProfile',
|
|
@@ -39164,7 +39178,7 @@ class RoutingProfileFactory extends RoutingPolicyFactory {
|
|
|
39164
39178
|
return undefined;
|
|
39165
39179
|
}
|
|
39166
39180
|
getProfileConfig(profile) {
|
|
39167
|
-
const routingConfig =
|
|
39181
|
+
const routingConfig = getProfile(ROUTING_POLICY_FACTORY_BASE, profile);
|
|
39168
39182
|
if (!routingConfig) {
|
|
39169
39183
|
throw new Error('Unknown routing profile');
|
|
39170
39184
|
}
|
|
@@ -39714,10 +39728,8 @@ const OPEN_TELEMETRY_PROFILE = {
|
|
|
39714
39728
|
serviceName: Expressions.env(ENV_VAR_TELEMETRY_SERVICE_NAME, 'naylence-service'),
|
|
39715
39729
|
headers: {},
|
|
39716
39730
|
};
|
|
39717
|
-
|
|
39718
|
-
|
|
39719
|
-
[PROFILE_NAME_OPEN_TELEMETRY]: OPEN_TELEMETRY_PROFILE,
|
|
39720
|
-
};
|
|
39731
|
+
registerProfile(TRACE_EMITTER_FACTORY_BASE_TYPE, PROFILE_NAME_NOOP, NOOP_PROFILE, { source: 'trace-emitter-profile-factory' });
|
|
39732
|
+
registerProfile(TRACE_EMITTER_FACTORY_BASE_TYPE, PROFILE_NAME_OPEN_TELEMETRY, OPEN_TELEMETRY_PROFILE, { source: 'trace-emitter-profile-factory' });
|
|
39721
39733
|
const FACTORY_META = {
|
|
39722
39734
|
base: TRACE_EMITTER_FACTORY_BASE_TYPE,
|
|
39723
39735
|
key: 'TraceEmitterProfile',
|
|
@@ -39786,14 +39798,11 @@ function canonicalizeProfileName(value) {
|
|
|
39786
39798
|
return PROFILE_ALIASES[normalized] ?? normalized;
|
|
39787
39799
|
}
|
|
39788
39800
|
function resolveProfileConfig(profileName) {
|
|
39789
|
-
const profile =
|
|
39801
|
+
const profile = getProfile(TRACE_EMITTER_FACTORY_BASE_TYPE, profileName);
|
|
39790
39802
|
if (!profile) {
|
|
39791
39803
|
throw new Error(`Unknown trace emitter profile: ${profileName}`);
|
|
39792
39804
|
}
|
|
39793
|
-
return
|
|
39794
|
-
}
|
|
39795
|
-
function deepClone(value) {
|
|
39796
|
-
return JSON.parse(JSON.stringify(value));
|
|
39805
|
+
return profile;
|
|
39797
39806
|
}
|
|
39798
39807
|
|
|
39799
39808
|
var traceEmitterProfileFactory = /*#__PURE__*/Object.freeze({
|
|
@@ -43827,4 +43836,4 @@ var otelSetup = /*#__PURE__*/Object.freeze({
|
|
|
43827
43836
|
setupOtel: setupOtel
|
|
43828
43837
|
});
|
|
43829
43838
|
|
|
43830
|
-
export { ADMISSION_CLIENT_FACTORY_BASE_TYPE, ATTACHMENT_KEY_VALIDATOR_FACTORY_BASE_TYPE, AUTHORIZATION_POLICY_FACTORY_BASE_TYPE, AUTHORIZATION_POLICY_SOURCE_FACTORY_BASE_TYPE, AUTHORIZER_FACTORY_BASE_TYPE, AUTH_INJECTION_STRATEGY_FACTORY_BASE_TYPE, ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY$1 as AUTH_PROFILE_ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, ENV_VAR_HMAC_SECRET$1 as AUTH_PROFILE_ENV_VAR_HMAC_SECRET, ENV_VAR_JWKS_URL$1 as AUTH_PROFILE_ENV_VAR_JWKS_URL, ENV_VAR_JWT_ALGORITHM$1 as AUTH_PROFILE_ENV_VAR_JWT_ALGORITHM, ENV_VAR_JWT_AUDIENCE$2 as AUTH_PROFILE_ENV_VAR_JWT_AUDIENCE, ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE$1 as AUTH_PROFILE_ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE, ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER$1 as AUTH_PROFILE_ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER, ENV_VAR_JWT_TRUSTED_ISSUER$1 as AUTH_PROFILE_ENV_VAR_JWT_TRUSTED_ISSUER, ENV_VAR_TRUSTED_CLIENT_SCOPE$1 as AUTH_PROFILE_ENV_VAR_TRUSTED_CLIENT_SCOPE, PROFILE_NAME_DEFAULT as AUTH_PROFILE_NAME_DEFAULT, PROFILE_NAME_NOOP$2 as AUTH_PROFILE_NAME_NOOP, PROFILE_NAME_OAUTH2 as AUTH_PROFILE_NAME_OAUTH2, PROFILE_NAME_OAUTH2_CALLBACK as AUTH_PROFILE_NAME_OAUTH2_CALLBACK, PROFILE_NAME_OAUTH2_GATED as AUTH_PROFILE_NAME_OAUTH2_GATED, AnsiColor, AsyncLock, AttachmentKeyValidator, AuthInjectionStrategyFactory, AuthorizationPolicyFactory, AuthorizationPolicySourceFactory, AuthorizationProfileFactory, AuthorizerFactory, BROADCAST_CHANNEL_CONNECTION_GRANT_TYPE, FACTORY_META$$ as BROADCAST_CHANNEL_CONNECTOR_FACTORY_META, BROADCAST_CHANNEL_CONNECTOR_TYPE, FACTORY_META$Z as BROADCAST_CHANNEL_LISTENER_FACTORY_META, BackPressureFull, BaseAsyncConnector, BaseNodeEventListener, BasicAuthorizationPolicy, BasicAuthorizationPolicyFactory, BindingManager, BindingStoreEntryRecord, BroadcastChannelConnector, BroadcastChannelConnectorFactory, BroadcastChannelListener, BroadcastChannelListenerFactory, BrowserAutoKeyCredentialProvider, BrowserWrappedKeyCredentialProvider, CERTIFICATE_MANAGER_FACTORY_BASE_TYPE, CONNECTION_RETRY_POLICY_FACTORY_BASE_TYPE, CREDENTIAL_PROVIDER_FACTORY_BASE_TYPE, CRYPTO_LEVEL_SECURITY_ORDER, CertificateManagerFactory, ConnectionRetryPolicyFactory, ConnectorConfigDefaults, ConnectorFactory, ConsoleMetricsEmitter, CryptoLevel, FACTORY_META$11 as DEFAULT_WELCOME_FACTORY_META, DefaultConnectionRetryPolicy, DefaultConnectionRetryPolicyFactory, DefaultCryptoProvider, DefaultKeyManager, DefaultNodeIdentityPolicy, DefaultNodeIdentityPolicyFactory, DefaultSecurityManager, DefaultSecurityPolicy, DefaultWelcomeService, DefaultWelcomeServiceFactory, DevFixedKeyCredentialProvider, ENCRYPTION_MANAGER_FACTORY_BASE_TYPE, ENVELOPE_SIGNER_FACTORY_BASE_TYPE, ENVELOPE_VERIFIER_FACTORY_BASE_TYPE, ENV_VAR_AUTHORIZATION_PROFILE, ENV_VAR_DEFAULT_ENCRYPTION_LEVEL, ENV_VAR_HMAC_SECRET, ENV_VAR_JWKS_URL, ENV_VAR_JWT_ALGORITHM, ENV_VAR_JWT_AUDIENCE$1 as ENV_VAR_JWT_AUDIENCE, ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE, ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER, ENV_VAR_JWT_TRUSTED_ISSUER, ENV_VAR_SESSION_MAX_INITIAL_ATTEMPTS, ENV_VAR_SHOW_ENVELOPES$1 as ENV_VAR_SHOW_ENVELOPES, EdDSAEnvelopeSigner, EncryptedKeyValueStore, EncryptedStorageProviderBase, EncryptedValue, EncryptionConfiguration, EncryptionManagerFactory, EncryptionResult, EncryptionStatus, EnvCredentialProvider, EnvelopeContext, EnvelopeListenerManager, EnvelopeSecurityHandler, EnvelopeSignerFactory, EnvelopeVerifierFactory, FACTORY_META$12 as FACTORY_META, FIXED_PREFIX_LEN, FameAuthorizedDeliveryContextSchema, FameConnectError, FameEnvironmentContext, FameError, FameMessageTooLarge, FameNode, FameNodeAuthorizationContextSchema, FameProtocolError, FameTransportClose, FlowController, GRANT_PURPOSE_NODE_ATTACH, HTTP_CONNECTION_GRANT_TYPE, HTTP_STATELESS_CONNECTOR_TYPE, INPAGE_CONNECTION_GRANT_TYPE, FACTORY_META$10 as INPAGE_CONNECTOR_FACTORY_META, INPAGE_CONNECTOR_TYPE, FACTORY_META$_ as INPAGE_LISTENER_FACTORY_META, InMemoryBinding, InMemoryFanoutBroker, InMemoryKeyValueStore, InMemoryReadWriteChannel, InMemoryStorageProvider, InPageConnector, InPageConnectorFactory, InPageListener, InPageListenerFactory, IndexedDBKeyValueStore, IndexedDBStorageProvider, InvalidPassphraseError, JWKValidationError, KEY_MANAGER_FACTORY_BASE_TYPE, KEY_STORE_FACTORY_BASE_TYPE, KNOWN_POLICY_FIELDS, KNOWN_RULE_FIELDS, KeyInfo, KeyManagementHandler, KeyManagerFactory, KeyStore, KeyStoreFactory, KeyValidationError, LOAD_BALANCER_STICKINESS_MANAGER_FACTORY_BASE_TYPE, LoadBalancerStickinessManagerFactory, LogLevel, LogLevelNames, MAX_SCOPE_NESTING_DEPTH, MemoryMetricsEmitter, NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, NODE_LIKE_FACTORY_BASE_TYPE, NODE_PLACEMENT_STRATEGY_FACTORY_BASE_TYPE, NoOpMetricsEmitter, NoSecurityPolicy, NodeFactory, NodeIdentityPolicyFactory, NodeIdentityPolicyProfileFactory, NodePlacementStrategyFactory, NoneCredentialProvider, NoopEncryptionManager, NoopKeyValidator, NoopTrustStoreProvider, NotAuthorized, PROFILE_NAME_GATED, PROFILE_NAME_GATED_CALLBACK, PROFILE_NAME_OPEN$1 as PROFILE_NAME_OPEN, PROFILE_NAME_OVERLAY, PROFILE_NAME_OVERLAY_CALLBACK, PROFILE_NAME_STRICT_OVERLAY, PromptCredentialProvider, REPLICA_STICKINESS_MANAGER_FACTORY_BASE_TYPE, REQUIRED_FIELDS_BY_KTY, ReplicaStickinessManagerFactory, RootSessionManager, RouteManager, RpcMixin, RpcProxy, SEALED_ENVELOPE_NONCE_LENGTH, SEALED_ENVELOPE_OVERHEAD, SEALED_ENVELOPE_PRIVATE_KEY_LENGTH, SEALED_ENVELOPE_PUBLIC_KEY_LENGTH, SEALED_ENVELOPE_TAG_LENGTH, SECURE_CHANNEL_MANAGER_FACTORY_BASE_TYPE, SECURITY_MANAGER_FACTORY_BASE_TYPE, SECURITY_POLICY_FACTORY_BASE_TYPE, STORAGE_PROVIDER_FACTORY_BASE_TYPE, SecretSource, SecretStoreCredentialProvider, SecureChannelFrameHandler, SecureChannelManagerFactory, SecurityAction, SecurityRequirements, Sentinel, SentinelFactory, SessionKeyCredentialProvider, SignaturePolicy, SigningConfig as SigningConfigClass, SigningConfiguration, SimpleLoadBalancerStickinessManager, SimpleLoadBalancerStickinessManagerFactory, StaticCredentialProvider, StorageAESEncryptionManager, TOKEN_ISSUER_FACTORY_BASE_TYPE, TOKEN_PROVIDER_FACTORY_BASE_TYPE, TOKEN_VERIFIER_FACTORY_BASE_TYPE, TRANSPORT_PROVISIONER_FACTORY_BASE_TYPE, TRUST_STORE_PROVIDER_FACTORY_BASE_TYPE, TaskSpawner, TokenIssuerFactory, TokenProviderFactory, TokenSubjectNodeIdentityPolicy, TokenSubjectNodeIdentityPolicyFactory, TokenVerifierFactory, TransportProvisionerFactory, TrustStoreProviderFactory, TtlValidationError, UpstreamSessionManager, VALID_ACTIONS, VALID_CURVES_BY_KTY, VALID_EFFECTS, VALID_KEY_USES, VALID_ORIGIN_TYPES, VERSION, WEBSOCKET_CONNECTION_GRANT_TYPE, WELCOME_SERVICE_FACTORY_BASE_TYPE, WebSocketCloseCode, WebSocketConnector, WebSocketState, WelcomeServiceFactory, _NoopFlowController, __runtimePluginLoader, addEnvelopeFields, addLogLevel, addTimestamp, assertConnectionGrant, assertGrant, assertNotRegexPattern, basicConfig, broadcastChannelGrantToConnectorConfig, camelToSnakeCase, canonicalJson, capitalizeFirstLetter, color, compareCryptoLevels, compileGlobOnlyScopeRequirement, compileGlobPattern, compilePattern, compileScopeRequirement, compiledPathPattern, consoleTransport, convertWildcardLogicalToDnsConstraint, createConnectorConfig, createEd25519Keypair, createHostLogicalUri, createLogicalUri, createNodeDeliveryContext, createResource, createRpcProxy, createRsaKeypair, createTransportCloseError, createX25519Keypair, credentialToString, currentTraceId$1 as currentTraceId, debounce, decodeBase64Url, decodeFameDataPayload, deepMerge, defaultJsonEncoder, delay, dropEmpty, enableLogging, encodeUtf8, ensureRuntimeFactoriesRegistered, evaluateScopeRequirement, extractId, extractPoolAddressBase, extractPoolBase, filterKeysByUse, formatTimestamp, formatTimestampForConsole$1 as formatTimestampForConsole, frameDigest, getCompiledGlobPattern, getCurrentEnvelope, getFabricForNode, getFameRoot, getKeyProvider, getKeyStore, getLogger, hasCryptoSupport, hostnameToLogical, hostnamesToLogicals, httpGrantToConnectorConfig, immutableHeaders, inPageGrantToConnectorConfig, isAuthInjectionStrategy, isBroadcastChannelConnectionGrant, isConnectionGrant, isConnectorConfig, isEnvelopeLoggingEnabled, isFameError, isFameErrorType, isGrant, isHttpConnectionGrant, isIdentityExposingTokenProvider, isInPageConnectionGrant, isNodeLike, isPlainObject$4 as isPlainObject, isPoolAddress, isPoolLogical, isRegexPattern, isRegisterable, isTokenExpired, isTokenProvider, isTokenValid, isWebSocketConnectionGrant, jsonDumps, logicalPatternsToDnsConstraints, logicalToHostname, logicalsToHostnames, matchPattern, matchesPoolAddress, matchesPoolLogical, maybeAwait, nodeWelcomeRouter, nodeWelcomeRouterPlugin, normalizeBroadcastChannelConnectionGrant, normalizeEncryptionConfig, normalizeEnvelopeSnapshot, normalizeHttpConnectionGrant, normalizeInPageConnectionGrant, normalizeInboundCryptoRules, normalizeInboundSigningRules, normalizeOutboundCryptoRules, normalizeOutboundSigningRules, normalizePath, normalizeResponseCryptoRules, normalizeResponseSigningRules, normalizeScopeRequirement, normalizeSecretSource, normalizeSecurityRequirements, normalizeSigningConfig, normalizeWebSocketConnectionGrant, objectToBytes, operation, parseSealedEnvelope, pinoTransport, prettyModel$1 as prettyModel, registerDefaultFactories, registerDefaultKeyStoreFactory, registerNodePlacementStrategyFactory, registerRuntimeFactories, requireCryptoSupport, retryWithBackoff, safeColor, safeImport, sealedDecrypt, sealedEncrypt, secureDigest, setKeyStore, showEnvelopes$1 as showEnvelopes, sleep, snakeToCamelCase, stringifyNonPrimitives, supportsColor, throttle, urlsafeBase64Decode, urlsafeBase64Encode, validateCacheTtlSec, validateEncryptionKey, validateHostLogical, validateHostLogicals, validateJwkComplete, validateJwkStructure, validateJwkUseField, validateJwtTokenTtlSec, validateKeyCorrelationTtlSec, validateLogical, validateLogicalSegment, validateOAuth2TtlSec, validateSigningKey, validateTtlSec, waitForAll, waitForAllSettled, waitForAny, websocketGrantToConnectorConfig, withEnvelopeContext, withEnvelopeContextAsync, withLegacySnakeCaseKeys, withLock, withTimeout };
|
|
43839
|
+
export { ADMISSION_CLIENT_FACTORY_BASE_TYPE, ATTACHMENT_KEY_VALIDATOR_FACTORY_BASE_TYPE, AUTHORIZATION_POLICY_FACTORY_BASE_TYPE, AUTHORIZATION_POLICY_SOURCE_FACTORY_BASE_TYPE, AUTHORIZER_FACTORY_BASE_TYPE, AUTH_INJECTION_STRATEGY_FACTORY_BASE_TYPE, ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY$1 as AUTH_PROFILE_ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, ENV_VAR_HMAC_SECRET$1 as AUTH_PROFILE_ENV_VAR_HMAC_SECRET, ENV_VAR_JWKS_URL$1 as AUTH_PROFILE_ENV_VAR_JWKS_URL, ENV_VAR_JWT_ALGORITHM$1 as AUTH_PROFILE_ENV_VAR_JWT_ALGORITHM, ENV_VAR_JWT_AUDIENCE$2 as AUTH_PROFILE_ENV_VAR_JWT_AUDIENCE, ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE$1 as AUTH_PROFILE_ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE, ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER$1 as AUTH_PROFILE_ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER, ENV_VAR_JWT_TRUSTED_ISSUER$1 as AUTH_PROFILE_ENV_VAR_JWT_TRUSTED_ISSUER, ENV_VAR_TRUSTED_CLIENT_SCOPE$1 as AUTH_PROFILE_ENV_VAR_TRUSTED_CLIENT_SCOPE, PROFILE_NAME_DEFAULT as AUTH_PROFILE_NAME_DEFAULT, PROFILE_NAME_NOOP$2 as AUTH_PROFILE_NAME_NOOP, PROFILE_NAME_OAUTH2 as AUTH_PROFILE_NAME_OAUTH2, PROFILE_NAME_OAUTH2_CALLBACK as AUTH_PROFILE_NAME_OAUTH2_CALLBACK, PROFILE_NAME_OAUTH2_GATED as AUTH_PROFILE_NAME_OAUTH2_GATED, AnsiColor, AsyncLock, AttachmentKeyValidator, AuthInjectionStrategyFactory, AuthorizationPolicyFactory, AuthorizationPolicySourceFactory, AuthorizationProfileFactory, AuthorizerFactory, BROADCAST_CHANNEL_CONNECTION_GRANT_TYPE, FACTORY_META$$ as BROADCAST_CHANNEL_CONNECTOR_FACTORY_META, BROADCAST_CHANNEL_CONNECTOR_TYPE, FACTORY_META$Z as BROADCAST_CHANNEL_LISTENER_FACTORY_META, BackPressureFull, BaseAsyncConnector, BaseNodeEventListener, BasicAuthorizationPolicy, BasicAuthorizationPolicyFactory, BindingManager, BindingStoreEntryRecord, BroadcastChannelConnector, BroadcastChannelConnectorFactory, BroadcastChannelListener, BroadcastChannelListenerFactory, BrowserAutoKeyCredentialProvider, BrowserWrappedKeyCredentialProvider, CERTIFICATE_MANAGER_FACTORY_BASE_TYPE, CONNECTION_RETRY_POLICY_FACTORY_BASE_TYPE, CREDENTIAL_PROVIDER_FACTORY_BASE_TYPE, CRYPTO_LEVEL_SECURITY_ORDER, CertificateManagerFactory, ConnectionRetryPolicyFactory, ConnectorConfigDefaults, ConnectorFactory, ConsoleMetricsEmitter, CryptoLevel, FACTORY_META$11 as DEFAULT_WELCOME_FACTORY_META, DefaultConnectionRetryPolicy, DefaultConnectionRetryPolicyFactory, DefaultCryptoProvider, DefaultKeyManager, DefaultNodeIdentityPolicy, DefaultNodeIdentityPolicyFactory, DefaultSecurityManager, DefaultSecurityPolicy, DefaultWelcomeService, DefaultWelcomeServiceFactory, DevFixedKeyCredentialProvider, ENCRYPTION_MANAGER_FACTORY_BASE_TYPE, ENVELOPE_SIGNER_FACTORY_BASE_TYPE, ENVELOPE_VERIFIER_FACTORY_BASE_TYPE, ENV_VAR_AUTHORIZATION_PROFILE, ENV_VAR_DEFAULT_ENCRYPTION_LEVEL, ENV_VAR_HMAC_SECRET, ENV_VAR_JWKS_URL, ENV_VAR_JWT_ALGORITHM, ENV_VAR_JWT_AUDIENCE$1 as ENV_VAR_JWT_AUDIENCE, ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE, ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER, ENV_VAR_JWT_TRUSTED_ISSUER, ENV_VAR_SESSION_MAX_INITIAL_ATTEMPTS, ENV_VAR_SHOW_ENVELOPES$1 as ENV_VAR_SHOW_ENVELOPES, EdDSAEnvelopeSigner, EncryptedKeyValueStore, EncryptedStorageProviderBase, EncryptedValue, EncryptionConfiguration, EncryptionManagerFactory, EncryptionResult, EncryptionStatus, EnvCredentialProvider, EnvelopeContext, EnvelopeListenerManager, EnvelopeSecurityHandler, EnvelopeSignerFactory, EnvelopeVerifierFactory, FACTORY_META$12 as FACTORY_META, FIXED_PREFIX_LEN, FameAuthorizedDeliveryContextSchema, FameConnectError, FameEnvironmentContext, FameError, FameMessageTooLarge, FameNode, FameNodeAuthorizationContextSchema, FameProtocolError, FameTransportClose, FlowController, GRANT_PURPOSE_NODE_ATTACH, HTTP_CONNECTION_GRANT_TYPE, HTTP_STATELESS_CONNECTOR_TYPE, INPAGE_CONNECTION_GRANT_TYPE, FACTORY_META$10 as INPAGE_CONNECTOR_FACTORY_META, INPAGE_CONNECTOR_TYPE, FACTORY_META$_ as INPAGE_LISTENER_FACTORY_META, InMemoryBinding, InMemoryFanoutBroker, InMemoryKeyValueStore, InMemoryReadWriteChannel, InMemoryStorageProvider, InPageConnector, InPageConnectorFactory, InPageListener, InPageListenerFactory, IndexedDBKeyValueStore, IndexedDBStorageProvider, InvalidPassphraseError, JWKValidationError, KEY_MANAGER_FACTORY_BASE_TYPE, KEY_STORE_FACTORY_BASE_TYPE, KNOWN_POLICY_FIELDS, KNOWN_RULE_FIELDS, KeyInfo, KeyManagementHandler, KeyManagerFactory, KeyStore, KeyStoreFactory, KeyValidationError, LOAD_BALANCER_STICKINESS_MANAGER_FACTORY_BASE_TYPE, LoadBalancerStickinessManagerFactory, LogLevel, LogLevelNames, MAX_SCOPE_NESTING_DEPTH, MemoryMetricsEmitter, NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, NODE_LIKE_FACTORY_BASE_TYPE, NODE_PLACEMENT_STRATEGY_FACTORY_BASE_TYPE, NoOpMetricsEmitter, NoSecurityPolicy, NodeFactory, NodeIdentityPolicyFactory, NodeIdentityPolicyProfileFactory, NodePlacementStrategyFactory, NoneCredentialProvider, NoopEncryptionManager, NoopKeyValidator, NoopTrustStoreProvider, NotAuthorized, PROFILE_NAME_GATED, PROFILE_NAME_GATED_CALLBACK, PROFILE_NAME_OPEN$1 as PROFILE_NAME_OPEN, PROFILE_NAME_OVERLAY, PROFILE_NAME_OVERLAY_CALLBACK, PROFILE_NAME_STRICT_OVERLAY, PromptCredentialProvider, REPLICA_STICKINESS_MANAGER_FACTORY_BASE_TYPE, REQUIRED_FIELDS_BY_KTY, ReplicaStickinessManagerFactory, RootSessionManager, RouteManager, RpcMixin, RpcProxy, SEALED_ENVELOPE_NONCE_LENGTH, SEALED_ENVELOPE_OVERHEAD, SEALED_ENVELOPE_PRIVATE_KEY_LENGTH, SEALED_ENVELOPE_PUBLIC_KEY_LENGTH, SEALED_ENVELOPE_TAG_LENGTH, SECURE_CHANNEL_MANAGER_FACTORY_BASE_TYPE, SECURITY_MANAGER_FACTORY_BASE_TYPE, SECURITY_POLICY_FACTORY_BASE_TYPE, STORAGE_PROVIDER_FACTORY_BASE_TYPE, SecretSource, SecretStoreCredentialProvider, SecureChannelFrameHandler, SecureChannelManagerFactory, SecurityAction, SecurityRequirements, Sentinel, SentinelFactory, SessionKeyCredentialProvider, SignaturePolicy, SigningConfig as SigningConfigClass, SigningConfiguration, SimpleLoadBalancerStickinessManager, SimpleLoadBalancerStickinessManagerFactory, StaticCredentialProvider, StorageAESEncryptionManager, TOKEN_ISSUER_FACTORY_BASE_TYPE, TOKEN_PROVIDER_FACTORY_BASE_TYPE, TOKEN_VERIFIER_FACTORY_BASE_TYPE, TRANSPORT_PROVISIONER_FACTORY_BASE_TYPE, TRUST_STORE_PROVIDER_FACTORY_BASE_TYPE, TaskSpawner, TokenIssuerFactory, TokenProviderFactory, TokenSubjectNodeIdentityPolicy, TokenSubjectNodeIdentityPolicyFactory, TokenVerifierFactory, TransportProvisionerFactory, TrustStoreProviderFactory, TtlValidationError, UpstreamSessionManager, VALID_ACTIONS, VALID_CURVES_BY_KTY, VALID_EFFECTS, VALID_KEY_USES, VALID_ORIGIN_TYPES, VERSION, WEBSOCKET_CONNECTION_GRANT_TYPE, WELCOME_SERVICE_FACTORY_BASE_TYPE, WebSocketCloseCode, WebSocketConnector, WebSocketState, WelcomeServiceFactory, _NoopFlowController, __runtimePluginLoader, addEnvelopeFields, addLogLevel, addTimestamp, assertConnectionGrant, assertGrant, assertNotRegexPattern, basicConfig, broadcastChannelGrantToConnectorConfig, camelToSnakeCase, canonicalJson, capitalizeFirstLetter, clearProfiles, color, compareCryptoLevels, compileGlobOnlyScopeRequirement, compileGlobPattern, compilePattern, compileScopeRequirement, compiledPathPattern, consoleTransport, convertWildcardLogicalToDnsConstraint, createConnectorConfig, createEd25519Keypair, createHostLogicalUri, createLogicalUri, createNodeDeliveryContext, createResource, createRpcProxy, createRsaKeypair, createTransportCloseError, createX25519Keypair, credentialToString, currentTraceId$1 as currentTraceId, debounce, decodeBase64Url, decodeFameDataPayload, deepMerge, defaultJsonEncoder, delay, dropEmpty, enableLogging, encodeUtf8, ensureRuntimeFactoriesRegistered, evaluateScopeRequirement, extractId, extractPoolAddressBase, extractPoolBase, filterKeysByUse, formatTimestamp, formatTimestampForConsole$1 as formatTimestampForConsole, frameDigest, getCompiledGlobPattern, getCurrentEnvelope, getFabricForNode, getFameRoot, getKeyProvider, getKeyStore, getLogger, getProfile, hasCryptoSupport, hostnameToLogical, hostnamesToLogicals, httpGrantToConnectorConfig, immutableHeaders, inPageGrantToConnectorConfig, isAuthInjectionStrategy, isBroadcastChannelConnectionGrant, isConnectionGrant, isConnectorConfig, isEnvelopeLoggingEnabled, isFameError, isFameErrorType, isGrant, isHttpConnectionGrant, isIdentityExposingTokenProvider, isInPageConnectionGrant, isNodeLike, isPlainObject$4 as isPlainObject, isPoolAddress, isPoolLogical, isRegexPattern, isRegisterable, isTokenExpired, isTokenProvider, isTokenValid, isWebSocketConnectionGrant, jsonDumps, listProfiles, logicalPatternsToDnsConstraints, logicalToHostname, logicalsToHostnames, matchPattern, matchesPoolAddress, matchesPoolLogical, maybeAwait, nodeWelcomeRouter, nodeWelcomeRouterPlugin, normalizeBroadcastChannelConnectionGrant, normalizeEncryptionConfig, normalizeEnvelopeSnapshot, normalizeHttpConnectionGrant, normalizeInPageConnectionGrant, normalizeInboundCryptoRules, normalizeInboundSigningRules, normalizeOutboundCryptoRules, normalizeOutboundSigningRules, normalizePath, normalizeResponseCryptoRules, normalizeResponseSigningRules, normalizeScopeRequirement, normalizeSecretSource, normalizeSecurityRequirements, normalizeSigningConfig, normalizeWebSocketConnectionGrant, objectToBytes, operation, parseSealedEnvelope, pinoTransport, prettyModel$1 as prettyModel, registerDefaultFactories, registerDefaultKeyStoreFactory, registerNodePlacementStrategyFactory, registerProfile, registerRuntimeFactories, requireCryptoSupport, retryWithBackoff, safeColor, safeImport, sealedDecrypt, sealedEncrypt, secureDigest, setKeyStore, showEnvelopes$1 as showEnvelopes, sleep, snakeToCamelCase, stringifyNonPrimitives, supportsColor, throttle, urlsafeBase64Decode, urlsafeBase64Encode, validateCacheTtlSec, validateEncryptionKey, validateHostLogical, validateHostLogicals, validateJwkComplete, validateJwkStructure, validateJwkUseField, validateJwtTokenTtlSec, validateKeyCorrelationTtlSec, validateLogical, validateLogicalSegment, validateOAuth2TtlSec, validateSigningKey, validateTtlSec, waitForAll, waitForAllSettled, waitForAny, websocketGrantToConnectorConfig, withEnvelopeContext, withEnvelopeContextAsync, withLegacySnakeCaseKeys, withLock, withTimeout };
|
|
@@ -4,6 +4,7 @@ exports.FACTORY_META = exports.DeliveryProfileFactory = exports.PROFILE_NAME_AT_
|
|
|
4
4
|
const factory_1 = require("@naylence/factory");
|
|
5
5
|
const delivery_policy_factory_js_1 = require("./delivery-policy-factory.js");
|
|
6
6
|
const logging_js_1 = require("../util/logging.js");
|
|
7
|
+
const profile_registry_js_1 = require("../profile/profile-registry.js");
|
|
7
8
|
const logger = (0, logging_js_1.getLogger)('naylence.fame.delivery.delivery_profile_factory');
|
|
8
9
|
exports.PROFILE_NAME_AT_LEAST_ONCE = 'at-least-once';
|
|
9
10
|
exports.PROFILE_NAME_AT_MOST_ONCE = 'at-most-once';
|
|
@@ -32,10 +33,8 @@ const AT_LEAST_ONCE_PROFILE = {
|
|
|
32
33
|
const AT_MOST_ONCE_PROFILE = {
|
|
33
34
|
type: 'AtMostOnceDeliveryPolicy',
|
|
34
35
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
[exports.PROFILE_NAME_AT_MOST_ONCE]: AT_MOST_ONCE_PROFILE,
|
|
38
|
-
};
|
|
36
|
+
(0, profile_registry_js_1.registerProfile)(delivery_policy_factory_js_1.DELIVERY_POLICY_FACTORY_BASE_TYPE, exports.PROFILE_NAME_AT_LEAST_ONCE, AT_LEAST_ONCE_PROFILE, { source: 'delivery-profile-factory' });
|
|
37
|
+
(0, profile_registry_js_1.registerProfile)(delivery_policy_factory_js_1.DELIVERY_POLICY_FACTORY_BASE_TYPE, exports.PROFILE_NAME_AT_MOST_ONCE, AT_MOST_ONCE_PROFILE, { source: 'delivery-profile-factory' });
|
|
39
38
|
class DeliveryProfileFactory extends delivery_policy_factory_js_1.DeliveryPolicyFactory {
|
|
40
39
|
constructor() {
|
|
41
40
|
super(...arguments);
|
|
@@ -85,14 +84,11 @@ function coerceProfileString(value) {
|
|
|
85
84
|
return trimmed.length > 0 ? trimmed : null;
|
|
86
85
|
}
|
|
87
86
|
function resolveProfileConfig(profileName) {
|
|
88
|
-
const profile =
|
|
87
|
+
const profile = (0, profile_registry_js_1.getProfile)(delivery_policy_factory_js_1.DELIVERY_POLICY_FACTORY_BASE_TYPE, profileName);
|
|
89
88
|
if (!profile) {
|
|
90
89
|
throw new Error(`Unknown delivery profile: ${profileName}`);
|
|
91
90
|
}
|
|
92
|
-
return
|
|
93
|
-
}
|
|
94
|
-
function deepClone(value) {
|
|
95
|
-
return JSON.parse(JSON.stringify(value));
|
|
91
|
+
return profile;
|
|
96
92
|
}
|
|
97
93
|
exports.FACTORY_META = {
|
|
98
94
|
base: delivery_policy_factory_js_1.DELIVERY_POLICY_FACTORY_BASE_TYPE,
|
|
@@ -11,6 +11,7 @@ tslib_1.__exportStar(require("./node/index.js"), exports);
|
|
|
11
11
|
tslib_1.__exportStar(require("./delivery/index.js"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("./security/index.js"), exports);
|
|
13
13
|
tslib_1.__exportStar(require("./storage/index.js"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./profile/index.js"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("./util/index.js"), exports);
|
|
15
16
|
tslib_1.__exportStar(require("./constants/index.js"), exports);
|
|
16
17
|
tslib_1.__exportStar(require("./stickiness/index.js"), exports);
|
|
@@ -4,6 +4,7 @@ exports.AdmissionProfileFactory = exports.FACTORY_META = void 0;
|
|
|
4
4
|
const factory_1 = require("@naylence/factory");
|
|
5
5
|
const grant_js_1 = require("../../grants/grant.js");
|
|
6
6
|
const logging_js_1 = require("../../util/logging.js");
|
|
7
|
+
const profile_registry_js_1 = require("../../profile/profile-registry.js");
|
|
7
8
|
const admission_client_factory_js_1 = require("./admission-client-factory.js");
|
|
8
9
|
const logger = (0, logging_js_1.getLogger)('naylence.fame.node.admission.admission_profile_factory');
|
|
9
10
|
const ENV_VAR_IS_ROOT = 'FAME_ROOT';
|
|
@@ -214,20 +215,18 @@ const NOOP_PROFILE = {
|
|
|
214
215
|
auto_accept_logicals: true,
|
|
215
216
|
autoAcceptLogicals: true,
|
|
216
217
|
};
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
[PROFILE_NAME_NONE]: NOOP_PROFILE,
|
|
230
|
-
};
|
|
218
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_WELCOME, WELCOME_SERVICE_PROFILE, { source: 'admission-profile-factory' });
|
|
219
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_WELCOME_PKCE, WELCOME_SERVICE_PKCE_PROFILE, { source: 'admission-profile-factory' });
|
|
220
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_WELCOME_PKCE_ALIAS, WELCOME_SERVICE_PKCE_PROFILE, { source: 'admission-profile-factory' });
|
|
221
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT, DIRECT_PROFILE, { source: 'admission-profile-factory' });
|
|
222
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_PKCE, DIRECT_PKCE_PROFILE, { source: 'admission-profile-factory' });
|
|
223
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_PKCE_ALIAS, DIRECT_PKCE_PROFILE, { source: 'admission-profile-factory' });
|
|
224
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_HTTP, DIRECT_HTTP_PROFILE, { source: 'admission-profile-factory' });
|
|
225
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_INPAGE, DIRECT_INPAGE_PROFILE, { source: 'admission-profile-factory' });
|
|
226
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_INPAGE_ALIAS, DIRECT_INPAGE_PROFILE, { source: 'admission-profile-factory' });
|
|
227
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_OPEN, OPEN_PROFILE, { source: 'admission-profile-factory' });
|
|
228
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_NOOP, NOOP_PROFILE, { source: 'admission-profile-factory' });
|
|
229
|
+
(0, profile_registry_js_1.registerProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_NONE, NOOP_PROFILE, { source: 'admission-profile-factory' });
|
|
231
230
|
exports.FACTORY_META = {
|
|
232
231
|
base: admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE,
|
|
233
232
|
key: 'AdmissionProfile',
|
|
@@ -265,13 +264,10 @@ function normalizeConfig(config) {
|
|
|
265
264
|
return { profile: normalizedProfile };
|
|
266
265
|
}
|
|
267
266
|
function resolveProfileConfig(profileName) {
|
|
268
|
-
const profile =
|
|
267
|
+
const profile = (0, profile_registry_js_1.getProfile)(admission_client_factory_js_1.ADMISSION_CLIENT_FACTORY_BASE_TYPE, profileName);
|
|
269
268
|
if (!profile) {
|
|
270
269
|
throw new Error(`Unknown admission profile: ${profileName}`);
|
|
271
270
|
}
|
|
272
|
-
return
|
|
273
|
-
}
|
|
274
|
-
function deepClone(value) {
|
|
275
|
-
return JSON.parse(JSON.stringify(value));
|
|
271
|
+
return profile;
|
|
276
272
|
}
|
|
277
273
|
exports.default = AdmissionProfileFactory;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.NodeIdentityPolicyProfileFactory = exports.FACTORY_META = void 0;
|
|
4
4
|
const node_identity_policy_factory_js_1 = require("./node-identity-policy-factory.js");
|
|
5
5
|
const logging_js_1 = require("../util/logging.js");
|
|
6
|
+
const profile_registry_js_1 = require("../profile/profile-registry.js");
|
|
6
7
|
const logger = (0, logging_js_1.getLogger)('naylence.fame.node.node_identity_policy_profile_factory');
|
|
7
8
|
const PROFILE_NAME_DEFAULT = 'default';
|
|
8
9
|
const PROFILE_NAME_TOKEN_SUBJECT = 'token-subject';
|
|
@@ -13,11 +14,9 @@ const DEFAULT_PROFILE = {
|
|
|
13
14
|
const TOKEN_SUBJECT_PROFILE = {
|
|
14
15
|
type: 'TokenSubjectNodeIdentityPolicy',
|
|
15
16
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
[PROFILE_NAME_TOKEN_SUBJECT_ALIAS]: TOKEN_SUBJECT_PROFILE,
|
|
20
|
-
};
|
|
17
|
+
(0, profile_registry_js_1.registerProfile)(node_identity_policy_factory_js_1.NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_DEFAULT, DEFAULT_PROFILE, { source: 'node-identity-policy-profile-factory' });
|
|
18
|
+
(0, profile_registry_js_1.registerProfile)(node_identity_policy_factory_js_1.NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_TOKEN_SUBJECT, TOKEN_SUBJECT_PROFILE, { source: 'node-identity-policy-profile-factory' });
|
|
19
|
+
(0, profile_registry_js_1.registerProfile)(node_identity_policy_factory_js_1.NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_TOKEN_SUBJECT_ALIAS, TOKEN_SUBJECT_PROFILE, { source: 'node-identity-policy-profile-factory' });
|
|
21
20
|
exports.FACTORY_META = {
|
|
22
21
|
base: node_identity_policy_factory_js_1.NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE,
|
|
23
22
|
key: 'NodeIdentityPolicyProfile',
|
|
@@ -55,13 +54,10 @@ function normalizeConfig(config) {
|
|
|
55
54
|
return { profile: normalizedProfile };
|
|
56
55
|
}
|
|
57
56
|
function resolveProfileConfig(profileName) {
|
|
58
|
-
const profile =
|
|
57
|
+
const profile = (0, profile_registry_js_1.getProfile)(node_identity_policy_factory_js_1.NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, profileName);
|
|
59
58
|
if (!profile) {
|
|
60
59
|
throw new Error(`Unknown node identity policy profile: ${profileName}`);
|
|
61
60
|
}
|
|
62
|
-
return
|
|
63
|
-
}
|
|
64
|
-
function deepClone(value) {
|
|
65
|
-
return JSON.parse(JSON.stringify(value));
|
|
61
|
+
return profile;
|
|
66
62
|
}
|
|
67
63
|
exports.default = NodeIdentityPolicyProfileFactory;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clearProfiles = exports.listProfiles = exports.getProfile = exports.registerProfile = void 0;
|
|
4
|
+
var profile_registry_js_1 = require("./profile-registry.js");
|
|
5
|
+
Object.defineProperty(exports, "registerProfile", { enumerable: true, get: function () { return profile_registry_js_1.registerProfile; } });
|
|
6
|
+
Object.defineProperty(exports, "getProfile", { enumerable: true, get: function () { return profile_registry_js_1.getProfile; } });
|
|
7
|
+
Object.defineProperty(exports, "listProfiles", { enumerable: true, get: function () { return profile_registry_js_1.listProfiles; } });
|
|
8
|
+
Object.defineProperty(exports, "clearProfiles", { enumerable: true, get: function () { return profile_registry_js_1.clearProfiles; } });
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerProfile = registerProfile;
|
|
4
|
+
exports.getProfile = getProfile;
|
|
5
|
+
exports.listProfiles = listProfiles;
|
|
6
|
+
exports.clearProfiles = clearProfiles;
|
|
7
|
+
const registry = new Map();
|
|
8
|
+
function normalizeKey(value, label) {
|
|
9
|
+
if (typeof value !== 'string') {
|
|
10
|
+
throw new Error(`${label} must be a non-empty string`);
|
|
11
|
+
}
|
|
12
|
+
const trimmed = value.trim();
|
|
13
|
+
if (!trimmed) {
|
|
14
|
+
throw new Error(`${label} must be a non-empty string`);
|
|
15
|
+
}
|
|
16
|
+
return trimmed;
|
|
17
|
+
}
|
|
18
|
+
function cloneConfig(value) {
|
|
19
|
+
return JSON.parse(JSON.stringify(value));
|
|
20
|
+
}
|
|
21
|
+
function registerProfile(baseType, name, config, options) {
|
|
22
|
+
const normalizedBase = normalizeKey(baseType, 'baseType');
|
|
23
|
+
const normalizedName = normalizeKey(name, 'profile name');
|
|
24
|
+
if (!config || typeof config !== 'object' || Array.isArray(config)) {
|
|
25
|
+
throw new Error(`Profile '${normalizedName}' config must be an object`);
|
|
26
|
+
}
|
|
27
|
+
const profiles = registry.get(normalizedBase) ?? new Map();
|
|
28
|
+
if (profiles.has(normalizedName) && options?.allowOverride !== true) {
|
|
29
|
+
const sourceLabel = options?.source ? ` (${options.source})` : '';
|
|
30
|
+
throw new Error(`Profile '${normalizedName}' already registered for ${normalizedBase}${sourceLabel}`);
|
|
31
|
+
}
|
|
32
|
+
profiles.set(normalizedName, config);
|
|
33
|
+
registry.set(normalizedBase, profiles);
|
|
34
|
+
}
|
|
35
|
+
function getProfile(baseType, name) {
|
|
36
|
+
const normalizedBase = normalizeKey(baseType, 'baseType');
|
|
37
|
+
const normalizedName = normalizeKey(name, 'profile name');
|
|
38
|
+
const profiles = registry.get(normalizedBase);
|
|
39
|
+
if (!profiles) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const profile = profiles.get(normalizedName);
|
|
43
|
+
return profile ? cloneConfig(profile) : null;
|
|
44
|
+
}
|
|
45
|
+
function listProfiles(baseType) {
|
|
46
|
+
const normalizedBase = normalizeKey(baseType, 'baseType');
|
|
47
|
+
const profiles = registry.get(normalizedBase);
|
|
48
|
+
return profiles ? Array.from(profiles.keys()) : [];
|
|
49
|
+
}
|
|
50
|
+
function clearProfiles(baseType) {
|
|
51
|
+
if (!baseType) {
|
|
52
|
+
registry.clear();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const normalizedBase = normalizeKey(baseType, 'baseType');
|
|
56
|
+
registry.delete(normalizedBase);
|
|
57
|
+
}
|