@naylence/runtime 0.4.6 → 0.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/browser/index.cjs +120 -107
  2. package/dist/browser/index.mjs +117 -108
  3. package/dist/cjs/naylence/fame/delivery/delivery-profile-factory.js +5 -9
  4. package/dist/cjs/naylence/fame/index.js +1 -0
  5. package/dist/cjs/naylence/fame/node/admission/admission-profile-factory.js +15 -19
  6. package/dist/cjs/naylence/fame/node/node-identity-policy-profile-factory.js +6 -10
  7. package/dist/cjs/naylence/fame/profile/index.js +8 -0
  8. package/dist/cjs/naylence/fame/profile/profile-registry.js +57 -0
  9. package/dist/cjs/naylence/fame/security/auth/authorization-profile-factory.js +9 -13
  10. package/dist/cjs/naylence/fame/security/node-security-profile-factory.js +9 -13
  11. package/dist/cjs/naylence/fame/sentinel/load-balancing/load-balancing-profile-factory.js +10 -13
  12. package/dist/cjs/naylence/fame/sentinel/routing-profile-factory.js +7 -8
  13. package/dist/cjs/naylence/fame/storage/storage-profile-factory.js +8 -12
  14. package/dist/cjs/naylence/fame/telemetry/trace-emitter-profile-factory.js +5 -9
  15. package/dist/cjs/runtime-isomorphic.js +1 -0
  16. package/dist/cjs/version.js +2 -2
  17. package/dist/esm/naylence/fame/delivery/delivery-profile-factory.js +5 -9
  18. package/dist/esm/naylence/fame/index.js +1 -0
  19. package/dist/esm/naylence/fame/node/admission/admission-profile-factory.js +15 -19
  20. package/dist/esm/naylence/fame/node/node-identity-policy-profile-factory.js +6 -10
  21. package/dist/esm/naylence/fame/profile/index.js +1 -0
  22. package/dist/esm/naylence/fame/profile/profile-registry.js +51 -0
  23. package/dist/esm/naylence/fame/security/auth/authorization-profile-factory.js +9 -13
  24. package/dist/esm/naylence/fame/security/node-security-profile-factory.js +9 -13
  25. package/dist/esm/naylence/fame/sentinel/load-balancing/load-balancing-profile-factory.js +10 -13
  26. package/dist/esm/naylence/fame/sentinel/routing-profile-factory.js +7 -8
  27. package/dist/esm/naylence/fame/storage/storage-profile-factory.js +8 -12
  28. package/dist/esm/naylence/fame/telemetry/trace-emitter-profile-factory.js +5 -9
  29. package/dist/esm/runtime-isomorphic.js +1 -0
  30. package/dist/esm/version.js +2 -2
  31. package/dist/node/index.cjs +120 -107
  32. package/dist/node/index.mjs +117 -108
  33. package/dist/node/node.cjs +123 -108
  34. package/dist/node/node.mjs +120 -109
  35. package/dist/types/naylence/fame/index.d.ts +1 -0
  36. package/dist/types/naylence/fame/profile/index.d.ts +2 -0
  37. package/dist/types/naylence/fame/profile/profile-registry.d.ts +9 -0
  38. package/dist/types/runtime-isomorphic.d.ts +1 -0
  39. package/dist/types/version.d.ts +1 -1
  40. package/package.json +1 -1
@@ -4435,12 +4435,12 @@ async function ensureRuntimeFactoriesRegistered(registry = Registry) {
4435
4435
  }
4436
4436
 
4437
4437
  // This file is auto-generated during build - do not edit manually
4438
- // Generated from package.json version: 0.4.6
4438
+ // Generated from package.json version: 0.4.7
4439
4439
  /**
4440
4440
  * The package version, injected at build time.
4441
4441
  * @internal
4442
4442
  */
4443
- const VERSION = '0.4.6';
4443
+ const VERSION = '0.4.7';
4444
4444
 
4445
4445
  let initialized = false;
4446
4446
  const runtimePlugin = {
@@ -5034,6 +5034,58 @@ function getSqliteStorageProviderModule() {
5034
5034
  }
5035
5035
  registerStorageProviderFactory('SQLiteStorageProvider', SQLiteStorageProviderFactory);
5036
5036
 
5037
+ const registry = new Map();
5038
+ function normalizeKey$1(value, label) {
5039
+ if (typeof value !== 'string') {
5040
+ throw new Error(`${label} must be a non-empty string`);
5041
+ }
5042
+ const trimmed = value.trim();
5043
+ if (!trimmed) {
5044
+ throw new Error(`${label} must be a non-empty string`);
5045
+ }
5046
+ return trimmed;
5047
+ }
5048
+ function cloneConfig(value) {
5049
+ return JSON.parse(JSON.stringify(value));
5050
+ }
5051
+ function registerProfile(baseType, name, config, options) {
5052
+ const normalizedBase = normalizeKey$1(baseType, 'baseType');
5053
+ const normalizedName = normalizeKey$1(name, 'profile name');
5054
+ if (!config || typeof config !== 'object' || Array.isArray(config)) {
5055
+ throw new Error(`Profile '${normalizedName}' config must be an object`);
5056
+ }
5057
+ const profiles = registry.get(normalizedBase) ?? new Map();
5058
+ if (profiles.has(normalizedName) && options?.allowOverride !== true) {
5059
+ const sourceLabel = options?.source ? ` (${options.source})` : '';
5060
+ throw new Error(`Profile '${normalizedName}' already registered for ${normalizedBase}${sourceLabel}`);
5061
+ }
5062
+ profiles.set(normalizedName, config);
5063
+ registry.set(normalizedBase, profiles);
5064
+ }
5065
+ function getProfile(baseType, name) {
5066
+ const normalizedBase = normalizeKey$1(baseType, 'baseType');
5067
+ const normalizedName = normalizeKey$1(name, 'profile name');
5068
+ const profiles = registry.get(normalizedBase);
5069
+ if (!profiles) {
5070
+ return null;
5071
+ }
5072
+ const profile = profiles.get(normalizedName);
5073
+ return profile ? cloneConfig(profile) : null;
5074
+ }
5075
+ function listProfiles(baseType) {
5076
+ const normalizedBase = normalizeKey$1(baseType, 'baseType');
5077
+ const profiles = registry.get(normalizedBase);
5078
+ return profiles ? Array.from(profiles.keys()) : [];
5079
+ }
5080
+ function clearProfiles(baseType) {
5081
+ if (!baseType) {
5082
+ registry.clear();
5083
+ return;
5084
+ }
5085
+ const normalizedBase = normalizeKey$1(baseType, 'baseType');
5086
+ registry.delete(normalizedBase);
5087
+ }
5088
+
5037
5089
  const ENV_VAR_STORAGE_DB_DIRECTORY = 'FAME_STORAGE_DB_DIRECTORY';
5038
5090
  const ENV_VAR_STORAGE_MASTER_KEY = 'FAME_STORAGE_MASTER_KEY';
5039
5091
  const ENV_VAR_STORAGE_ENCRYPTED = 'FAME_STORAGE_ENCRYPTED';
@@ -5070,18 +5122,13 @@ const ENCRYPTED_SQLITE_PROFILE_CONFIG = {
5070
5122
  masterKey: Expressions.env(ENV_VAR_STORAGE_MASTER_KEY),
5071
5123
  isCached: true,
5072
5124
  };
5073
- // Base profile map with browser-safe options
5074
- const BASE_PROFILE_MAP = {
5075
- [PROFILE_NAME_MEMORY]: MEMORY_PROFILE_CONFIG,
5076
- [PROFILE_NAME_INDEXEDDB]: INDEXEDDB_PROFILE_CONFIG,
5077
- };
5078
- // Extended profile map - can be augmented by Node.js environment
5079
- const PROFILE_MAP$7 = {
5080
- ...BASE_PROFILE_MAP,
5081
- };
5125
+ registerProfile(STORAGE_PROVIDER_FACTORY_BASE_TYPE, PROFILE_NAME_MEMORY, MEMORY_PROFILE_CONFIG, { source: 'storage-profile-factory' });
5126
+ registerProfile(STORAGE_PROVIDER_FACTORY_BASE_TYPE, PROFILE_NAME_INDEXEDDB, INDEXEDDB_PROFILE_CONFIG, { source: 'storage-profile-factory' });
5082
5127
  // Function to register additional profiles (used by Node.js build)
5083
5128
  function registerStorageProfile(name, config) {
5084
- PROFILE_MAP$7[name] = config;
5129
+ registerProfile(STORAGE_PROVIDER_FACTORY_BASE_TYPE, name, config, {
5130
+ source: 'storage-profile-factory',
5131
+ });
5085
5132
  }
5086
5133
  // Export the SQLite configs so they can be registered from node-index.ts
5087
5134
  const SQLITE_PROFILES = {
@@ -5100,9 +5147,9 @@ class StorageProfileFactory extends StorageProviderFactory {
5100
5147
  type: 'StorageProfile',
5101
5148
  });
5102
5149
  const profileName = (parsed.profile ?? PROFILE_NAME_MEMORY).toLowerCase();
5103
- const profileConfig = PROFILE_MAP$7[profileName];
5150
+ const profileConfig = getProfile(STORAGE_PROVIDER_FACTORY_BASE_TYPE, profileName);
5104
5151
  if (!profileConfig) {
5105
- throw new Error(`Unknown storage profile '${profileName}'. Supported profiles: ${Object.keys(PROFILE_MAP$7).join(', ')}`);
5152
+ throw new Error(`Unknown storage profile '${profileName}'. Supported profiles: ${listProfiles(STORAGE_PROVIDER_FACTORY_BASE_TYPE).join(', ')}`);
5106
5153
  }
5107
5154
  const createOptions = {
5108
5155
  ...options,
@@ -17804,11 +17851,9 @@ const DEFAULT_PROFILE$1 = {
17804
17851
  const TOKEN_SUBJECT_PROFILE = {
17805
17852
  type: 'TokenSubjectNodeIdentityPolicy',
17806
17853
  };
17807
- const PROFILE_MAP$6 = {
17808
- [PROFILE_NAME_DEFAULT$1]: DEFAULT_PROFILE$1,
17809
- [PROFILE_NAME_TOKEN_SUBJECT]: TOKEN_SUBJECT_PROFILE,
17810
- [PROFILE_NAME_TOKEN_SUBJECT_ALIAS]: TOKEN_SUBJECT_PROFILE,
17811
- };
17854
+ registerProfile(NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_DEFAULT$1, DEFAULT_PROFILE$1, { source: 'node-identity-policy-profile-factory' });
17855
+ registerProfile(NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_TOKEN_SUBJECT, TOKEN_SUBJECT_PROFILE, { source: 'node-identity-policy-profile-factory' });
17856
+ registerProfile(NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_TOKEN_SUBJECT_ALIAS, TOKEN_SUBJECT_PROFILE, { source: 'node-identity-policy-profile-factory' });
17812
17857
  const FACTORY_META$18 = {
17813
17858
  base: NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE,
17814
17859
  key: 'NodeIdentityPolicyProfile',
@@ -17845,14 +17890,11 @@ function normalizeConfig$x(config) {
17845
17890
  return { profile: normalizedProfile };
17846
17891
  }
17847
17892
  function resolveProfileConfig$5(profileName) {
17848
- const profile = PROFILE_MAP$6[profileName];
17893
+ const profile = getProfile(NODE_IDENTITY_POLICY_FACTORY_BASE_TYPE, profileName);
17849
17894
  if (!profile) {
17850
17895
  throw new Error(`Unknown node identity policy profile: ${profileName}`);
17851
17896
  }
17852
- return deepClone$5(profile);
17853
- }
17854
- function deepClone$5(value) {
17855
- return JSON.parse(JSON.stringify(value));
17897
+ return profile;
17856
17898
  }
17857
17899
 
17858
17900
  var nodeIdentityPolicyProfileFactory = /*#__PURE__*/Object.freeze({
@@ -23098,14 +23140,12 @@ const POLICY_LOCALFILE_PROFILE = {
23098
23140
  verifier: DEFAULT_VERIFIER_CONFIG,
23099
23141
  policySource: DEFAULT_POLICY_SOURCE,
23100
23142
  };
23101
- const PROFILE_MAP$5 = {
23102
- [PROFILE_NAME_DEFAULT]: DEFAULT_PROFILE,
23103
- [PROFILE_NAME_OAUTH2]: OAUTH2_PROFILE,
23104
- [PROFILE_NAME_OAUTH2_GATED]: OAUTH2_GATED_PROFILE,
23105
- [PROFILE_NAME_OAUTH2_CALLBACK]: OAUTH2_CALLBACK_PROFILE,
23106
- [PROFILE_NAME_POLICY_LOCALFILE]: POLICY_LOCALFILE_PROFILE,
23107
- [PROFILE_NAME_NOOP$2]: NOOP_PROFILE$2,
23108
- };
23143
+ registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_DEFAULT, DEFAULT_PROFILE, { source: 'authorization-profile-factory' });
23144
+ registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_OAUTH2, OAUTH2_PROFILE, { source: 'authorization-profile-factory' });
23145
+ registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_OAUTH2_GATED, OAUTH2_GATED_PROFILE, { source: 'authorization-profile-factory' });
23146
+ registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_OAUTH2_CALLBACK, OAUTH2_CALLBACK_PROFILE, { source: 'authorization-profile-factory' });
23147
+ registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_POLICY_LOCALFILE, POLICY_LOCALFILE_PROFILE, { source: 'authorization-profile-factory' });
23148
+ registerProfile(AUTHORIZER_FACTORY_BASE_TYPE, PROFILE_NAME_NOOP$2, NOOP_PROFILE$2, { source: 'authorization-profile-factory' });
23109
23149
  const PROFILE_ALIASES$1 = {
23110
23150
  jwt: PROFILE_NAME_DEFAULT,
23111
23151
  jwks: PROFILE_NAME_DEFAULT,
@@ -23224,14 +23264,11 @@ function canonicalizeProfileName$1(value) {
23224
23264
  return PROFILE_ALIASES$1[normalized] ?? normalized;
23225
23265
  }
23226
23266
  function resolveProfileConfig$4(profileName) {
23227
- const profile = PROFILE_MAP$5[profileName];
23267
+ const profile = getProfile(AUTHORIZER_FACTORY_BASE_TYPE, profileName);
23228
23268
  if (!profile) {
23229
23269
  throw new Error(`Unknown authorization profile: ${profileName}`);
23230
23270
  }
23231
- return deepClone$4(profile);
23232
- }
23233
- function deepClone$4(value) {
23234
- return JSON.parse(JSON.stringify(value));
23271
+ return profile;
23235
23272
  }
23236
23273
 
23237
23274
  var authorizationProfileFactory = /*#__PURE__*/Object.freeze({
@@ -31050,14 +31087,12 @@ const OPEN_PROFILE$1 = {
31050
31087
  profile: Expressions.env(ENV_VAR_AUTHORIZATION_PROFILE, 'noop'),
31051
31088
  },
31052
31089
  };
31053
- const PROFILE_MAP$4 = {
31054
- [PROFILE_NAME_OVERLAY]: OVERLAY_PROFILE,
31055
- [PROFILE_NAME_OVERLAY_CALLBACK]: OVERLAY_CALLBACK_PROFILE,
31056
- [PROFILE_NAME_STRICT_OVERLAY]: STRICT_OVERLAY_PROFILE,
31057
- [PROFILE_NAME_GATED]: GATED_PROFILE,
31058
- [PROFILE_NAME_GATED_CALLBACK]: GATED_CALLBACK_PROFILE,
31059
- [PROFILE_NAME_OPEN$1]: OPEN_PROFILE$1,
31060
- };
31090
+ registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_OVERLAY, OVERLAY_PROFILE, { source: 'node-security-profile-factory' });
31091
+ registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_OVERLAY_CALLBACK, OVERLAY_CALLBACK_PROFILE, { source: 'node-security-profile-factory' });
31092
+ registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_STRICT_OVERLAY, STRICT_OVERLAY_PROFILE, { source: 'node-security-profile-factory' });
31093
+ registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_GATED, GATED_PROFILE, { source: 'node-security-profile-factory' });
31094
+ registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_GATED_CALLBACK, GATED_CALLBACK_PROFILE, { source: 'node-security-profile-factory' });
31095
+ registerProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, PROFILE_NAME_OPEN$1, OPEN_PROFILE$1, { source: 'node-security-profile-factory' });
31061
31096
  const FACTORY_META$12 = {
31062
31097
  base: SECURITY_MANAGER_FACTORY_BASE_TYPE,
31063
31098
  key: 'SecurityProfile',
@@ -31164,14 +31199,11 @@ function normalizeProfile(config) {
31164
31199
  return value.toLowerCase();
31165
31200
  }
31166
31201
  function resolveProfileConfig$3(profileName) {
31167
- const template = PROFILE_MAP$4[profileName];
31202
+ const template = getProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, profileName);
31168
31203
  if (!template) {
31169
31204
  throw new Error(`Unknown security profile: ${profileName}`);
31170
31205
  }
31171
- return deepClone$3(template);
31172
- }
31173
- function deepClone$3(value) {
31174
- return JSON.parse(JSON.stringify(value));
31206
+ return template;
31175
31207
  }
31176
31208
 
31177
31209
  var nodeSecurityProfileFactory = /*#__PURE__*/Object.freeze({
@@ -37508,10 +37540,8 @@ const AT_LEAST_ONCE_PROFILE = {
37508
37540
  const AT_MOST_ONCE_PROFILE = {
37509
37541
  type: 'AtMostOnceDeliveryPolicy',
37510
37542
  };
37511
- const PROFILE_MAP$3 = {
37512
- [PROFILE_NAME_AT_LEAST_ONCE]: AT_LEAST_ONCE_PROFILE,
37513
- [PROFILE_NAME_AT_MOST_ONCE]: AT_MOST_ONCE_PROFILE,
37514
- };
37543
+ registerProfile(DELIVERY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_AT_LEAST_ONCE, AT_LEAST_ONCE_PROFILE, { source: 'delivery-profile-factory' });
37544
+ registerProfile(DELIVERY_POLICY_FACTORY_BASE_TYPE, PROFILE_NAME_AT_MOST_ONCE, AT_MOST_ONCE_PROFILE, { source: 'delivery-profile-factory' });
37515
37545
  class DeliveryProfileFactory extends DeliveryPolicyFactory {
37516
37546
  constructor() {
37517
37547
  super(...arguments);
@@ -37560,14 +37590,11 @@ function coerceProfileString$1(value) {
37560
37590
  return trimmed.length > 0 ? trimmed : null;
37561
37591
  }
37562
37592
  function resolveProfileConfig$2(profileName) {
37563
- const profile = PROFILE_MAP$3[profileName];
37593
+ const profile = getProfile(DELIVERY_POLICY_FACTORY_BASE_TYPE, profileName);
37564
37594
  if (!profile) {
37565
37595
  throw new Error(`Unknown delivery profile: ${profileName}`);
37566
37596
  }
37567
- return deepClone$2(profile);
37568
- }
37569
- function deepClone$2(value) {
37570
- return JSON.parse(JSON.stringify(value));
37597
+ return profile;
37571
37598
  }
37572
37599
  const FACTORY_META$R = {
37573
37600
  base: DELIVERY_POLICY_FACTORY_BASE_TYPE,
@@ -37792,20 +37819,18 @@ const NOOP_PROFILE$1 = {
37792
37819
  auto_accept_logicals: true,
37793
37820
  autoAcceptLogicals: true,
37794
37821
  };
37795
- const PROFILE_MAP$2 = {
37796
- [PROFILE_NAME_WELCOME]: WELCOME_SERVICE_PROFILE,
37797
- [PROFILE_NAME_WELCOME_PKCE]: WELCOME_SERVICE_PKCE_PROFILE,
37798
- [PROFILE_NAME_WELCOME_PKCE_ALIAS]: WELCOME_SERVICE_PKCE_PROFILE,
37799
- [PROFILE_NAME_DIRECT]: DIRECT_PROFILE,
37800
- [PROFILE_NAME_DIRECT_PKCE]: DIRECT_PKCE_PROFILE,
37801
- [PROFILE_NAME_DIRECT_PKCE_ALIAS]: DIRECT_PKCE_PROFILE,
37802
- [PROFILE_NAME_DIRECT_HTTP]: DIRECT_HTTP_PROFILE,
37803
- [PROFILE_NAME_DIRECT_INPAGE]: DIRECT_INPAGE_PROFILE,
37804
- [PROFILE_NAME_DIRECT_INPAGE_ALIAS]: DIRECT_INPAGE_PROFILE,
37805
- [PROFILE_NAME_OPEN]: OPEN_PROFILE,
37806
- [PROFILE_NAME_NOOP$1]: NOOP_PROFILE$1,
37807
- [PROFILE_NAME_NONE]: NOOP_PROFILE$1,
37808
- };
37822
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_WELCOME, WELCOME_SERVICE_PROFILE, { source: 'admission-profile-factory' });
37823
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_WELCOME_PKCE, WELCOME_SERVICE_PKCE_PROFILE, { source: 'admission-profile-factory' });
37824
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_WELCOME_PKCE_ALIAS, WELCOME_SERVICE_PKCE_PROFILE, { source: 'admission-profile-factory' });
37825
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT, DIRECT_PROFILE, { source: 'admission-profile-factory' });
37826
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_PKCE, DIRECT_PKCE_PROFILE, { source: 'admission-profile-factory' });
37827
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_PKCE_ALIAS, DIRECT_PKCE_PROFILE, { source: 'admission-profile-factory' });
37828
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_HTTP, DIRECT_HTTP_PROFILE, { source: 'admission-profile-factory' });
37829
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_INPAGE, DIRECT_INPAGE_PROFILE, { source: 'admission-profile-factory' });
37830
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_DIRECT_INPAGE_ALIAS, DIRECT_INPAGE_PROFILE, { source: 'admission-profile-factory' });
37831
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_OPEN, OPEN_PROFILE, { source: 'admission-profile-factory' });
37832
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_NOOP$1, NOOP_PROFILE$1, { source: 'admission-profile-factory' });
37833
+ registerProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, PROFILE_NAME_NONE, NOOP_PROFILE$1, { source: 'admission-profile-factory' });
37809
37834
  const FACTORY_META$Q = {
37810
37835
  base: ADMISSION_CLIENT_FACTORY_BASE_TYPE,
37811
37836
  key: 'AdmissionProfile',
@@ -37842,14 +37867,11 @@ function normalizeConfig$p(config) {
37842
37867
  return { profile: normalizedProfile };
37843
37868
  }
37844
37869
  function resolveProfileConfig$1(profileName) {
37845
- const profile = PROFILE_MAP$2[profileName];
37870
+ const profile = getProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, profileName);
37846
37871
  if (!profile) {
37847
37872
  throw new Error(`Unknown admission profile: ${profileName}`);
37848
37873
  }
37849
- return deepClone$1(profile);
37850
- }
37851
- function deepClone$1(value) {
37852
- return JSON.parse(JSON.stringify(value));
37874
+ return profile;
37853
37875
  }
37854
37876
 
37855
37877
  var admissionProfileFactory = /*#__PURE__*/Object.freeze({
@@ -42176,6 +42198,11 @@ const STICKY_HRW_PROFILE = {
42176
42198
  const DEVELOPMENT_PROFILE$1 = {
42177
42199
  type: 'RoundRobinLoadBalancingStrategy',
42178
42200
  };
42201
+ registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_RANDOM, RANDOM_PROFILE, { source: 'load-balancing-profile-factory' });
42202
+ registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_ROUND_ROBIN, ROUND_ROBIN_PROFILE, { source: 'load-balancing-profile-factory' });
42203
+ registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_HRW, HRW_PROFILE, { source: 'load-balancing-profile-factory' });
42204
+ registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_STICKY_HRW, STICKY_HRW_PROFILE, { source: 'load-balancing-profile-factory' });
42205
+ registerProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, PROFILE_NAME_DEVELOPMENT$1, DEVELOPMENT_PROFILE$1, { source: 'load-balancing-profile-factory' });
42179
42206
  const FACTORY_META$7 = {
42180
42207
  base: LOAD_BALANCING_STRATEGY_FACTORY_BASE,
42181
42208
  key: 'LoadBalancingProfile',
@@ -42230,20 +42257,11 @@ class LoadBalancingProfileFactory extends LoadBalancingStrategyFactory {
42230
42257
  return undefined;
42231
42258
  }
42232
42259
  resolveProfile(profile) {
42233
- switch (profile) {
42234
- case PROFILE_NAME_RANDOM:
42235
- return RANDOM_PROFILE;
42236
- case PROFILE_NAME_ROUND_ROBIN:
42237
- return ROUND_ROBIN_PROFILE;
42238
- case PROFILE_NAME_HRW:
42239
- return HRW_PROFILE;
42240
- case PROFILE_NAME_STICKY_HRW:
42241
- return STICKY_HRW_PROFILE;
42242
- case PROFILE_NAME_DEVELOPMENT$1:
42243
- return DEVELOPMENT_PROFILE$1;
42244
- default:
42245
- throw new Error(`Unknown load balancing profile: ${profile}`);
42260
+ const strategyConfig = getProfile(LOAD_BALANCING_STRATEGY_FACTORY_BASE, profile);
42261
+ if (!strategyConfig) {
42262
+ throw new Error(`Unknown load balancing profile: ${profile}`);
42246
42263
  }
42264
+ return strategyConfig;
42247
42265
  }
42248
42266
  }
42249
42267
 
@@ -42412,13 +42430,11 @@ const HYBRID_ONLY_PROFILE = {
42412
42430
  type: 'HybridPathRoutingPolicy',
42413
42431
  loadBalancingStrategy: { type: 'HRWLoadBalancingStrategy' },
42414
42432
  };
42415
- const PROFILE_MAP$1 = {
42416
- [PROFILE_NAME_DEVELOPMENT]: DEVELOPMENT_PROFILE,
42417
- [PROFILE_NAME_PRODUCTION]: PRODUCTION_PROFILE,
42418
- [PROFILE_NAME_BASIC]: BASIC_PROFILE,
42419
- [PROFILE_NAME_CAPABILITY_AWARE]: CAPABILITY_AWARE_PROFILE,
42420
- [PROFILE_NAME_HYBRID_ONLY]: HYBRID_ONLY_PROFILE,
42421
- };
42433
+ registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_DEVELOPMENT, DEVELOPMENT_PROFILE, { source: 'routing-profile-factory' });
42434
+ registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_PRODUCTION, PRODUCTION_PROFILE, { source: 'routing-profile-factory' });
42435
+ registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_BASIC, BASIC_PROFILE, { source: 'routing-profile-factory' });
42436
+ registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_CAPABILITY_AWARE, CAPABILITY_AWARE_PROFILE, { source: 'routing-profile-factory' });
42437
+ registerProfile(ROUTING_POLICY_FACTORY_BASE, PROFILE_NAME_HYBRID_ONLY, HYBRID_ONLY_PROFILE, { source: 'routing-profile-factory' });
42422
42438
  const FACTORY_META$3 = {
42423
42439
  base: ROUTING_POLICY_FACTORY_BASE,
42424
42440
  key: 'RoutingProfile',
@@ -42473,7 +42489,7 @@ class RoutingProfileFactory extends RoutingPolicyFactory {
42473
42489
  return undefined;
42474
42490
  }
42475
42491
  getProfileConfig(profile) {
42476
- const routingConfig = PROFILE_MAP$1[profile];
42492
+ const routingConfig = getProfile(ROUTING_POLICY_FACTORY_BASE, profile);
42477
42493
  if (!routingConfig) {
42478
42494
  throw new Error('Unknown routing profile');
42479
42495
  }
@@ -43024,10 +43040,8 @@ const OPEN_TELEMETRY_PROFILE = {
43024
43040
  serviceName: Expressions.env(ENV_VAR_TELEMETRY_SERVICE_NAME, 'naylence-service'),
43025
43041
  headers: {},
43026
43042
  };
43027
- const PROFILE_MAP = {
43028
- [PROFILE_NAME_NOOP]: NOOP_PROFILE,
43029
- [PROFILE_NAME_OPEN_TELEMETRY]: OPEN_TELEMETRY_PROFILE,
43030
- };
43043
+ registerProfile(TRACE_EMITTER_FACTORY_BASE_TYPE, PROFILE_NAME_NOOP, NOOP_PROFILE, { source: 'trace-emitter-profile-factory' });
43044
+ registerProfile(TRACE_EMITTER_FACTORY_BASE_TYPE, PROFILE_NAME_OPEN_TELEMETRY, OPEN_TELEMETRY_PROFILE, { source: 'trace-emitter-profile-factory' });
43031
43045
  const FACTORY_META = {
43032
43046
  base: TRACE_EMITTER_FACTORY_BASE_TYPE,
43033
43047
  key: 'TraceEmitterProfile',
@@ -43096,14 +43110,11 @@ function canonicalizeProfileName(value) {
43096
43110
  return PROFILE_ALIASES[normalized] ?? normalized;
43097
43111
  }
43098
43112
  function resolveProfileConfig(profileName) {
43099
- const profile = PROFILE_MAP[profileName];
43113
+ const profile = getProfile(TRACE_EMITTER_FACTORY_BASE_TYPE, profileName);
43100
43114
  if (!profile) {
43101
43115
  throw new Error(`Unknown trace emitter profile: ${profileName}`);
43102
43116
  }
43103
- return deepClone(profile);
43104
- }
43105
- function deepClone(value) {
43106
- return JSON.parse(JSON.stringify(value));
43117
+ return profile;
43107
43118
  }
43108
43119
 
43109
43120
  var traceEmitterProfileFactory = /*#__PURE__*/Object.freeze({
@@ -45986,4 +45997,4 @@ var otelSetup = /*#__PURE__*/Object.freeze({
45986
45997
  setupOtel: setupOtel
45987
45998
  });
45988
45999
 
45989
- 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$3 as AUTH_PROFILE_ENV_VAR_JWT_ALGORITHM, ENV_VAR_JWT_AUDIENCE$3 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, BackPressureFull, BaseAsyncConnector, BaseNodeEventListener, BasicAuthorizationPolicy, BasicAuthorizationPolicyFactory, BindingManager, BindingStoreEntryRecord, 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$10 as DEFAULT_WELCOME_FACTORY_META, DefaultConnectionRetryPolicy, DefaultConnectionRetryPolicyFactory, DefaultCryptoProvider, DefaultHttpServer, 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$2 as ENV_VAR_JWT_ALGORITHM, ENV_VAR_JWT_AUDIENCE$2 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$11 as FACTORY_META, FAME_FABRIC_FACTORY_BASE_TYPE, 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, HttpListener, HttpStatelessConnector, INPAGE_CONNECTION_GRANT_TYPE, INPAGE_CONNECTOR_TYPE, InMemoryBinding, InMemoryFanoutBroker, InMemoryKeyValueStore, InMemoryReadWriteChannel, InMemoryStorageProvider, InPageConnector, InPageListener, InProcessFameFabric, InProcessFameFabricFactory, 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, QueueFullError, 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, SQLiteKeyValueStore, SQLiteStorageProvider, 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_LISTENER_FACTORY_BASE_TYPE, TRANSPORT_PROVISIONER_FACTORY_BASE_TYPE, TRUST_STORE_PROVIDER_FACTORY_BASE_TYPE, TaskSpawner, TokenIssuerFactory, TokenProviderFactory, TokenSubjectNodeIdentityPolicy, TokenSubjectNodeIdentityPolicyFactory, TokenVerifierFactory, TransportListener, TransportListenerFactory, 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, WebSocketListener, 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, createJwksRouter, createLogicalUri, createNodeDeliveryContext, createApp as createOAuth2ServerApp, createOAuth2TokenRouter, createOpenIDConfigurationRouter, 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, getHttpListenerInstance, getInPageListenerInstance, getKeyProvider, getKeyStore, getLogger, getWebsocketListenerInstance, 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, normalizeExtendedFameConfig, 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, main as runOAuth2Server, 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 };
46000
+ 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$3 as AUTH_PROFILE_ENV_VAR_JWT_ALGORITHM, ENV_VAR_JWT_AUDIENCE$3 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, BackPressureFull, BaseAsyncConnector, BaseNodeEventListener, BasicAuthorizationPolicy, BasicAuthorizationPolicyFactory, BindingManager, BindingStoreEntryRecord, 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$10 as DEFAULT_WELCOME_FACTORY_META, DefaultConnectionRetryPolicy, DefaultConnectionRetryPolicyFactory, DefaultCryptoProvider, DefaultHttpServer, 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$2 as ENV_VAR_JWT_ALGORITHM, ENV_VAR_JWT_AUDIENCE$2 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$11 as FACTORY_META, FAME_FABRIC_FACTORY_BASE_TYPE, 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, HttpListener, HttpStatelessConnector, INPAGE_CONNECTION_GRANT_TYPE, INPAGE_CONNECTOR_TYPE, InMemoryBinding, InMemoryFanoutBroker, InMemoryKeyValueStore, InMemoryReadWriteChannel, InMemoryStorageProvider, InPageConnector, InPageListener, InProcessFameFabric, InProcessFameFabricFactory, 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, QueueFullError, 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, SQLiteKeyValueStore, SQLiteStorageProvider, 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_LISTENER_FACTORY_BASE_TYPE, TRANSPORT_PROVISIONER_FACTORY_BASE_TYPE, TRUST_STORE_PROVIDER_FACTORY_BASE_TYPE, TaskSpawner, TokenIssuerFactory, TokenProviderFactory, TokenSubjectNodeIdentityPolicy, TokenSubjectNodeIdentityPolicyFactory, TokenVerifierFactory, TransportListener, TransportListenerFactory, 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, WebSocketListener, 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, createJwksRouter, createLogicalUri, createNodeDeliveryContext, createApp as createOAuth2ServerApp, createOAuth2TokenRouter, createOpenIDConfigurationRouter, 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, getHttpListenerInstance, getInPageListenerInstance, getKeyProvider, getKeyStore, getLogger, getProfile, getWebsocketListenerInstance, 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, normalizeExtendedFameConfig, 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, main as runOAuth2Server, 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 };
@@ -7,6 +7,7 @@ export * from './node/index.js';
7
7
  export * from './delivery/index.js';
8
8
  export * from './security/index.js';
9
9
  export * from './storage/index.js';
10
+ export * from './profile/index.js';
10
11
  export * from './util/index.js';
11
12
  export * from './constants/index.js';
12
13
  export * from './stickiness/index.js';
@@ -0,0 +1,2 @@
1
+ export type { ProfileConfig, RegisterProfileOptions } from './profile-registry.js';
2
+ export { registerProfile, getProfile, listProfiles, clearProfiles, } from './profile-registry.js';
@@ -0,0 +1,9 @@
1
+ export interface RegisterProfileOptions {
2
+ allowOverride?: boolean;
3
+ source?: string;
4
+ }
5
+ export type ProfileConfig = Record<string, unknown>;
6
+ export declare function registerProfile(baseType: string, name: string, config: ProfileConfig, options?: RegisterProfileOptions): void;
7
+ export declare function getProfile(baseType: string, name: string): ProfileConfig | null;
8
+ export declare function listProfiles(baseType: string): string[];
9
+ export declare function clearProfiles(baseType?: string): void;
@@ -11,6 +11,7 @@ export { VERSION } from './version.js';
11
11
  export * from './naylence/fame/errors/index.js';
12
12
  export * from './naylence/fame/util/index.js';
13
13
  export * from './naylence/fame/channel/index.js';
14
+ export * from './naylence/fame/profile/index.js';
14
15
  export * from './naylence/fame/storage/index.js';
15
16
  export * from './naylence/fame/node/index.js';
16
17
  export * from './naylence/fame/sentinel/index.js';
@@ -2,4 +2,4 @@
2
2
  * The package version, injected at build time.
3
3
  * @internal
4
4
  */
5
- export declare const VERSION = "0.4.6";
5
+ export declare const VERSION = "0.4.7";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naylence/runtime",
3
- "version": "0.4.6",
3
+ "version": "0.4.7",
4
4
  "type": "module",
5
5
  "description": "Naylence Runtime - Complete TypeScript runtime",
6
6
  "author": "Naylence Dev <naylencedev@gmail.com>",