@naylence/runtime 0.4.5 → 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 (42) hide show
  1. package/dist/browser/index.cjs +179 -127
  2. package/dist/browser/index.mjs +177 -129
  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 +64 -30
  10. package/dist/cjs/naylence/fame/security/default-security-manager-factory.js +4 -3
  11. package/dist/cjs/naylence/fame/security/node-security-profile-factory.js +9 -13
  12. package/dist/cjs/naylence/fame/sentinel/load-balancing/load-balancing-profile-factory.js +10 -13
  13. package/dist/cjs/naylence/fame/sentinel/routing-profile-factory.js +7 -8
  14. package/dist/cjs/naylence/fame/storage/storage-profile-factory.js +8 -12
  15. package/dist/cjs/naylence/fame/telemetry/trace-emitter-profile-factory.js +5 -9
  16. package/dist/cjs/runtime-isomorphic.js +1 -0
  17. package/dist/cjs/version.js +2 -2
  18. package/dist/esm/naylence/fame/delivery/delivery-profile-factory.js +5 -9
  19. package/dist/esm/naylence/fame/index.js +1 -0
  20. package/dist/esm/naylence/fame/node/admission/admission-profile-factory.js +15 -19
  21. package/dist/esm/naylence/fame/node/node-identity-policy-profile-factory.js +6 -10
  22. package/dist/esm/naylence/fame/profile/index.js +1 -0
  23. package/dist/esm/naylence/fame/profile/profile-registry.js +51 -0
  24. package/dist/esm/naylence/fame/security/auth/authorization-profile-factory.js +65 -31
  25. package/dist/esm/naylence/fame/security/default-security-manager-factory.js +4 -3
  26. package/dist/esm/naylence/fame/security/node-security-profile-factory.js +9 -13
  27. package/dist/esm/naylence/fame/sentinel/load-balancing/load-balancing-profile-factory.js +10 -13
  28. package/dist/esm/naylence/fame/sentinel/routing-profile-factory.js +7 -8
  29. package/dist/esm/naylence/fame/storage/storage-profile-factory.js +8 -12
  30. package/dist/esm/naylence/fame/telemetry/trace-emitter-profile-factory.js +5 -9
  31. package/dist/esm/runtime-isomorphic.js +1 -0
  32. package/dist/esm/version.js +2 -2
  33. package/dist/node/index.cjs +179 -127
  34. package/dist/node/index.mjs +177 -129
  35. package/dist/node/node.cjs +182 -128
  36. package/dist/node/node.mjs +180 -130
  37. package/dist/types/naylence/fame/index.d.ts +1 -0
  38. package/dist/types/naylence/fame/profile/index.d.ts +2 -0
  39. package/dist/types/naylence/fame/profile/profile-registry.d.ts +9 -0
  40. package/dist/types/runtime-isomorphic.d.ts +1 -0
  41. package/dist/types/version.d.ts +1 -1
  42. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { parseAddressComponents, FlowFlags, FameAddress, DEFAULT_POLLING_TIMEOUT_MS, extractEnvelopeAndContext, createChannelMessage, generateId, createFameEnvelope, parseAddress, formatAddress, formatAddressFromComponents, FameResponseType, localDeliveryContext, Binding, DeliveryOriginType, makeResponse, isFameMessageResponse, parseRequest, makeRequest, DEFAULT_INVOKE_TIMEOUT_MILLIS, parseResponse, ConnectorState, ConnectorStateUtils, FameFabric, isFameMessageService, isFameRPCService, FameServiceProxy, generateIdAsync, snakeToCamelObject, getDefaultFameConfigResolver, setDefaultFameConfigResolver, SigningMaterial, AuthorizationContextSchema, FameDeliveryContextSchema, SecurityContextSchema, withFabric, FameEnvelopeSchema, deserializeEnvelope, FameChannelMessage, SINK_CAPABILITY, FameFabricFactory, serializeEnvelope, createAuthorizationContext } from '@naylence/core';
2
2
  export * from '@naylence/core';
3
3
  import { z, ZodError } from 'zod';
4
- import { Registry, AbstractResourceFactory, createResource as createResource$1, createDefaultResource, registerFactory, Expressions, ExtensionManager, ExpressionEvaluationPolicy, ExpressionEvaluator, configValidator } from '@naylence/factory';
4
+ import { Registry, AbstractResourceFactory, createResource as createResource$1, createDefaultResource, registerFactory, Expressions, ExtensionManager, ExpressionEvaluationPolicy, configValidator } from '@naylence/factory';
5
5
  import { sign, hashes, verify } from '@noble/ed25519';
6
6
  import { sha256, sha512 } from '@noble/hashes/sha2.js';
7
7
  import { chacha20poly1305 } from '@noble/ciphers/chacha.js';
@@ -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.5
526
+ // Generated from package.json version: 0.4.7
527
527
  /**
528
528
  * The package version, injected at build time.
529
529
  * @internal
530
530
  */
531
- const VERSION = '0.4.5';
531
+ const VERSION = '0.4.7';
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
- // Base profile map with browser-safe options
4204
- const BASE_PROFILE_MAP = {
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 = PROFILE_MAP$7[profileName];
4269
+ const profileConfig = getProfile(STORAGE_PROVIDER_FACTORY_BASE_TYPE, profileName);
4225
4270
  if (!profileConfig) {
4226
- throw new Error(`Unknown storage profile '${profileName}'. Supported profiles: ${Object.keys(PROFILE_MAP$7).join(', ')}`);
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
- const PROFILE_MAP$6 = {
16195
- [PROFILE_NAME_DEFAULT$1]: DEFAULT_PROFILE$1,
16196
- [PROFILE_NAME_TOKEN_SUBJECT]: TOKEN_SUBJECT_PROFILE,
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 = PROFILE_MAP$6[profileName];
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 deepClone$5(profile);
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({
@@ -21939,14 +21979,13 @@ const ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE$1 = 'FAME_JWT_REVERSE_AUTH_AUDIENCE';
21939
21979
  const ENV_VAR_HMAC_SECRET$1 = 'FAME_HMAC_SECRET';
21940
21980
  const DEFAULT_REVERSE_AUTH_ISSUER = 'reverse-auth.naylence.ai';
21941
21981
  const DEFAULT_REVERSE_AUTH_AUDIENCE = 'dev.naylence.ai';
21942
- const DEFAULT_VERIFIER_CONFIG = {
21943
- type: 'JWKSJWTTokenVerifier',
21944
- jwks_url: Expressions.env(ENV_VAR_JWKS_URL$1),
21945
- issuer: Expressions.env(ENV_VAR_JWT_TRUSTED_ISSUER$1),
21946
- };
21947
21982
  const DEFAULT_PROFILE = {
21948
21983
  type: 'DefaultAuthorizer',
21949
- verifier: DEFAULT_VERIFIER_CONFIG,
21984
+ verifier: {
21985
+ type: 'JWKSJWTTokenVerifier',
21986
+ jwks_url: Expressions.env(ENV_VAR_JWKS_URL$1),
21987
+ issuer: Expressions.env(ENV_VAR_JWT_TRUSTED_ISSUER$1),
21988
+ },
21950
21989
  };
21951
21990
  const OAUTH2_PROFILE = {
21952
21991
  type: 'OAuth2Authorizer',
@@ -21991,6 +22030,11 @@ const OAUTH2_CALLBACK_PROFILE = {
21991
22030
  const NOOP_PROFILE$2 = {
21992
22031
  type: 'NoopAuthorizer',
21993
22032
  };
22033
+ const DEFAULT_VERIFIER_CONFIG = {
22034
+ type: 'JWKSJWTTokenVerifier',
22035
+ jwks_url: Expressions.env(ENV_VAR_JWKS_URL$1),
22036
+ issuer: Expressions.env(ENV_VAR_JWT_TRUSTED_ISSUER$1),
22037
+ };
21994
22038
  const DEFAULT_POLICY_SOURCE = {
21995
22039
  type: 'LocalFileAuthorizationPolicySource',
21996
22040
  path: Expressions.env(ENV_VAR_AUTH_POLICY_PATH, './auth-policy.yaml'),
@@ -22001,14 +22045,12 @@ const POLICY_LOCALFILE_PROFILE = {
22001
22045
  verifier: DEFAULT_VERIFIER_CONFIG,
22002
22046
  policySource: DEFAULT_POLICY_SOURCE,
22003
22047
  };
22004
- const PROFILE_MAP$5 = {
22005
- [PROFILE_NAME_DEFAULT]: DEFAULT_PROFILE,
22006
- [PROFILE_NAME_OAUTH2]: OAUTH2_PROFILE,
22007
- [PROFILE_NAME_OAUTH2_GATED]: OAUTH2_GATED_PROFILE,
22008
- [PROFILE_NAME_OAUTH2_CALLBACK]: OAUTH2_CALLBACK_PROFILE,
22009
- [PROFILE_NAME_POLICY_LOCALFILE]: POLICY_LOCALFILE_PROFILE,
22010
- [PROFILE_NAME_NOOP$2]: NOOP_PROFILE$2,
22011
- };
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' });
22012
22054
  const PROFILE_ALIASES$1 = {
22013
22055
  jwt: PROFILE_NAME_DEFAULT,
22014
22056
  jwks: PROFILE_NAME_DEFAULT,
@@ -22042,13 +22084,55 @@ class AuthorizationProfileFactory extends AuthorizerFactory {
22042
22084
  logger$K.debug('enabling_authorization_profile', {
22043
22085
  profile: normalized.profile,
22044
22086
  });
22045
- const authorizer = await AuthorizerFactory.createAuthorizer(profileConfig, { factoryArgs });
22087
+ // Extract CreateResourceOptions from factoryArgs - it's typically the last object with env/config/variables
22088
+ const createOptions = extractCreateResourceOptions(factoryArgs);
22089
+ // Only evaluate expressions if we have env/config/variables available
22090
+ let evaluatedConfig = profileConfig;
22091
+ const hasContext = createOptions.env || createOptions.config || createOptions.variables;
22092
+ if (hasContext) {
22093
+ // Build validation context from createOptions to evaluate expressions
22094
+ const validationContext = {
22095
+ env: createOptions.env,
22096
+ config: createOptions.config,
22097
+ variables: createOptions.variables,
22098
+ allowUnknownProperties: true,
22099
+ };
22100
+ // Evaluate expressions in the profile config
22101
+ const validationResult = configValidator.validate(profileConfig, validationContext);
22102
+ if (!validationResult.valid) {
22103
+ const errorMessages = validationResult.errors
22104
+ .map((error) => `${error.path || 'root'}: ${error.message}`)
22105
+ .join('; ');
22106
+ throw new Error(`Failed to evaluate authorization profile configuration: ${errorMessages}`);
22107
+ }
22108
+ evaluatedConfig = validationResult.config ?? profileConfig;
22109
+ }
22110
+ const authorizer = await AuthorizerFactory.createAuthorizer(evaluatedConfig, hasContext ? { validate: false } : { factoryArgs } // Pass factoryArgs if no validation was done
22111
+ );
22046
22112
  if (!authorizer) {
22047
22113
  throw new Error(`Failed to create authorizer for profile: ${normalized.profile}`);
22048
22114
  }
22049
22115
  return authorizer;
22050
22116
  }
22051
22117
  }
22118
+ /**
22119
+ * Extracts CreateResourceOptions from factoryArgs.
22120
+ * The factory system passes CreateResourceOptions as an object in factoryArgs.
22121
+ */
22122
+ function extractCreateResourceOptions(factoryArgs) {
22123
+ // Find the last object argument that looks like CreateResourceOptions
22124
+ for (let i = factoryArgs.length - 1; i >= 0; i--) {
22125
+ const arg = factoryArgs[i];
22126
+ if (arg && typeof arg === 'object' && !Array.isArray(arg)) {
22127
+ const candidate = arg;
22128
+ // Check if it has typical CreateResourceOptions properties
22129
+ if ('env' in candidate || 'config' in candidate || 'variables' in candidate || 'factoryArgs' in candidate) {
22130
+ return candidate;
22131
+ }
22132
+ }
22133
+ }
22134
+ return {};
22135
+ }
22052
22136
  function normalizeConfig$w(config) {
22053
22137
  if (!config) {
22054
22138
  return { profile: PROFILE_NAME_OAUTH2 };
@@ -22060,21 +22144,13 @@ function normalizeConfig$w(config) {
22060
22144
  return { profile: canonicalProfile };
22061
22145
  }
22062
22146
  function resolveProfileName$2(candidate) {
22063
- let direct = coerceProfileString$2(candidate.profile);
22064
- if (direct && ExpressionEvaluator.isExpression(direct)) {
22065
- const evaluated = ExpressionEvaluator.evaluate(direct);
22066
- direct = coerceProfileString$2(evaluated);
22067
- }
22147
+ const direct = coerceProfileString$2(candidate.profile);
22068
22148
  if (direct) {
22069
22149
  return direct;
22070
22150
  }
22071
22151
  const legacyKeys = ['profile_name', 'profileName'];
22072
22152
  for (const legacyKey of legacyKeys) {
22073
- let legacyValue = coerceProfileString$2(candidate[legacyKey]);
22074
- if (legacyValue && ExpressionEvaluator.isExpression(legacyValue)) {
22075
- const evaluated = ExpressionEvaluator.evaluate(legacyValue);
22076
- legacyValue = coerceProfileString$2(evaluated);
22077
- }
22153
+ const legacyValue = coerceProfileString$2(candidate[legacyKey]);
22078
22154
  if (legacyValue) {
22079
22155
  return legacyValue;
22080
22156
  }
@@ -22093,14 +22169,11 @@ function canonicalizeProfileName$1(value) {
22093
22169
  return PROFILE_ALIASES$1[normalized] ?? normalized;
22094
22170
  }
22095
22171
  function resolveProfileConfig$4(profileName) {
22096
- const profile = PROFILE_MAP$5[profileName];
22172
+ const profile = getProfile(AUTHORIZER_FACTORY_BASE_TYPE, profileName);
22097
22173
  if (!profile) {
22098
22174
  throw new Error(`Unknown authorization profile: ${profileName}`);
22099
22175
  }
22100
- return deepClone$4(profile);
22101
- }
22102
- function deepClone$4(value) {
22103
- return JSON.parse(JSON.stringify(value));
22176
+ return profile;
22104
22177
  }
22105
22178
 
22106
22179
  var authorizationProfileFactory = /*#__PURE__*/Object.freeze({
@@ -29904,14 +29977,12 @@ const OPEN_PROFILE$1 = {
29904
29977
  profile: Expressions.env(ENV_VAR_AUTHORIZATION_PROFILE, 'noop'),
29905
29978
  },
29906
29979
  };
29907
- const PROFILE_MAP$4 = {
29908
- [PROFILE_NAME_OVERLAY]: OVERLAY_PROFILE,
29909
- [PROFILE_NAME_OVERLAY_CALLBACK]: OVERLAY_CALLBACK_PROFILE,
29910
- [PROFILE_NAME_STRICT_OVERLAY]: STRICT_OVERLAY_PROFILE,
29911
- [PROFILE_NAME_GATED]: GATED_PROFILE,
29912
- [PROFILE_NAME_GATED_CALLBACK]: GATED_CALLBACK_PROFILE,
29913
- [PROFILE_NAME_OPEN$1]: OPEN_PROFILE$1,
29914
- };
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' });
29915
29986
  const FACTORY_META$13 = {
29916
29987
  base: SECURITY_MANAGER_FACTORY_BASE_TYPE,
29917
29988
  key: 'SecurityProfile',
@@ -30018,14 +30089,11 @@ function normalizeProfile(config) {
30018
30089
  return value.toLowerCase();
30019
30090
  }
30020
30091
  function resolveProfileConfig$3(profileName) {
30021
- const template = PROFILE_MAP$4[profileName];
30092
+ const template = getProfile(SECURITY_MANAGER_FACTORY_BASE_TYPE, profileName);
30022
30093
  if (!template) {
30023
30094
  throw new Error(`Unknown security profile: ${profileName}`);
30024
30095
  }
30025
- return deepClone$3(template);
30026
- }
30027
- function deepClone$3(value) {
30028
- return JSON.parse(JSON.stringify(value));
30096
+ return template;
30029
30097
  }
30030
30098
 
30031
30099
  var nodeSecurityProfileFactory = /*#__PURE__*/Object.freeze({
@@ -33950,10 +34018,8 @@ const AT_LEAST_ONCE_PROFILE = {
33950
34018
  const AT_MOST_ONCE_PROFILE = {
33951
34019
  type: 'AtMostOnceDeliveryPolicy',
33952
34020
  };
33953
- const PROFILE_MAP$3 = {
33954
- [PROFILE_NAME_AT_LEAST_ONCE]: AT_LEAST_ONCE_PROFILE,
33955
- [PROFILE_NAME_AT_MOST_ONCE]: AT_MOST_ONCE_PROFILE,
33956
- };
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' });
33957
34023
  class DeliveryProfileFactory extends DeliveryPolicyFactory {
33958
34024
  constructor() {
33959
34025
  super(...arguments);
@@ -34002,14 +34068,11 @@ function coerceProfileString$1(value) {
34002
34068
  return trimmed.length > 0 ? trimmed : null;
34003
34069
  }
34004
34070
  function resolveProfileConfig$2(profileName) {
34005
- const profile = PROFILE_MAP$3[profileName];
34071
+ const profile = getProfile(DELIVERY_POLICY_FACTORY_BASE_TYPE, profileName);
34006
34072
  if (!profile) {
34007
34073
  throw new Error(`Unknown delivery profile: ${profileName}`);
34008
34074
  }
34009
- return deepClone$2(profile);
34010
- }
34011
- function deepClone$2(value) {
34012
- return JSON.parse(JSON.stringify(value));
34075
+ return profile;
34013
34076
  }
34014
34077
  const FACTORY_META$S = {
34015
34078
  base: DELIVERY_POLICY_FACTORY_BASE_TYPE,
@@ -34446,20 +34509,18 @@ const NOOP_PROFILE$1 = {
34446
34509
  auto_accept_logicals: true,
34447
34510
  autoAcceptLogicals: true,
34448
34511
  };
34449
- const PROFILE_MAP$2 = {
34450
- [PROFILE_NAME_WELCOME]: WELCOME_SERVICE_PROFILE,
34451
- [PROFILE_NAME_WELCOME_PKCE]: WELCOME_SERVICE_PKCE_PROFILE,
34452
- [PROFILE_NAME_WELCOME_PKCE_ALIAS]: WELCOME_SERVICE_PKCE_PROFILE,
34453
- [PROFILE_NAME_DIRECT]: DIRECT_PROFILE,
34454
- [PROFILE_NAME_DIRECT_PKCE]: DIRECT_PKCE_PROFILE,
34455
- [PROFILE_NAME_DIRECT_PKCE_ALIAS]: DIRECT_PKCE_PROFILE,
34456
- [PROFILE_NAME_DIRECT_HTTP]: DIRECT_HTTP_PROFILE,
34457
- [PROFILE_NAME_DIRECT_INPAGE]: DIRECT_INPAGE_PROFILE,
34458
- [PROFILE_NAME_DIRECT_INPAGE_ALIAS]: DIRECT_INPAGE_PROFILE,
34459
- [PROFILE_NAME_OPEN]: OPEN_PROFILE,
34460
- [PROFILE_NAME_NOOP$1]: NOOP_PROFILE$1,
34461
- [PROFILE_NAME_NONE]: NOOP_PROFILE$1,
34462
- };
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' });
34463
34524
  const FACTORY_META$Q = {
34464
34525
  base: ADMISSION_CLIENT_FACTORY_BASE_TYPE,
34465
34526
  key: 'AdmissionProfile',
@@ -34496,14 +34557,11 @@ function normalizeConfig$p(config) {
34496
34557
  return { profile: normalizedProfile };
34497
34558
  }
34498
34559
  function resolveProfileConfig$1(profileName) {
34499
- const profile = PROFILE_MAP$2[profileName];
34560
+ const profile = getProfile(ADMISSION_CLIENT_FACTORY_BASE_TYPE, profileName);
34500
34561
  if (!profile) {
34501
34562
  throw new Error(`Unknown admission profile: ${profileName}`);
34502
34563
  }
34503
- return deepClone$1(profile);
34504
- }
34505
- function deepClone$1(value) {
34506
- return JSON.parse(JSON.stringify(value));
34564
+ return profile;
34507
34565
  }
34508
34566
 
34509
34567
  var admissionProfileFactory = /*#__PURE__*/Object.freeze({
@@ -37413,7 +37471,7 @@ class DefaultSecurityManagerFactory extends SecurityManagerFactory {
37413
37471
  }
37414
37472
  if (!authorizer) {
37415
37473
  authorizer =
37416
- await DefaultSecurityManagerFactory.createAuthorizerFromConfig(config, policy);
37474
+ await DefaultSecurityManagerFactory.createAuthorizerFromConfig(config, policy, createOptions);
37417
37475
  }
37418
37476
  if (authorizer &&
37419
37477
  eventListeners &&
@@ -37644,14 +37702,14 @@ class DefaultSecurityManagerFactory extends SecurityManagerFactory {
37644
37702
  }
37645
37703
  return null;
37646
37704
  }
37647
- static async createAuthorizerFromConfig(config, policy) {
37705
+ static async createAuthorizerFromConfig(config, policy, createOptions) {
37648
37706
  let authorizerConfig = config.authorizer ?? null;
37649
37707
  if (!authorizerConfig) {
37650
37708
  authorizerConfig = config.authorizer_config ?? null;
37651
37709
  }
37652
37710
  if (authorizerConfig &&
37653
37711
  DefaultSecurityManagerFactory.isConfigLike(authorizerConfig)) {
37654
- return ((await AuthorizerFactory.createAuthorizer(authorizerConfig)) ?? null);
37712
+ return ((await AuthorizerFactory.createAuthorizer(authorizerConfig, createOptions ?? undefined)) ?? null);
37655
37713
  }
37656
37714
  try {
37657
37715
  const requirements = policy.requirements?.();
@@ -37667,6 +37725,7 @@ class DefaultSecurityManagerFactory extends SecurityManagerFactory {
37667
37725
  }
37668
37726
  const tokenVerifier = new NoopTokenVerifier();
37669
37727
  return ((await AuthorizerFactory.createAuthorizer(null, {
37728
+ ...createOptions,
37670
37729
  factoryArgs: [tokenVerifier],
37671
37730
  })) ?? null);
37672
37731
  }
@@ -38828,6 +38887,11 @@ const STICKY_HRW_PROFILE = {
38828
38887
  const DEVELOPMENT_PROFILE$1 = {
38829
38888
  type: 'RoundRobinLoadBalancingStrategy',
38830
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' });
38831
38895
  const FACTORY_META$7 = {
38832
38896
  base: LOAD_BALANCING_STRATEGY_FACTORY_BASE,
38833
38897
  key: 'LoadBalancingProfile',
@@ -38882,20 +38946,11 @@ class LoadBalancingProfileFactory extends LoadBalancingStrategyFactory {
38882
38946
  return undefined;
38883
38947
  }
38884
38948
  resolveProfile(profile) {
38885
- switch (profile) {
38886
- case PROFILE_NAME_RANDOM:
38887
- return RANDOM_PROFILE;
38888
- case PROFILE_NAME_ROUND_ROBIN:
38889
- return ROUND_ROBIN_PROFILE;
38890
- case PROFILE_NAME_HRW:
38891
- return HRW_PROFILE;
38892
- case PROFILE_NAME_STICKY_HRW:
38893
- return STICKY_HRW_PROFILE;
38894
- case PROFILE_NAME_DEVELOPMENT$1:
38895
- return DEVELOPMENT_PROFILE$1;
38896
- default:
38897
- 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}`);
38898
38952
  }
38953
+ return strategyConfig;
38899
38954
  }
38900
38955
  }
38901
38956
 
@@ -39064,13 +39119,11 @@ const HYBRID_ONLY_PROFILE = {
39064
39119
  type: 'HybridPathRoutingPolicy',
39065
39120
  loadBalancingStrategy: { type: 'HRWLoadBalancingStrategy' },
39066
39121
  };
39067
- const PROFILE_MAP$1 = {
39068
- [PROFILE_NAME_DEVELOPMENT]: DEVELOPMENT_PROFILE,
39069
- [PROFILE_NAME_PRODUCTION]: PRODUCTION_PROFILE,
39070
- [PROFILE_NAME_BASIC]: BASIC_PROFILE,
39071
- [PROFILE_NAME_CAPABILITY_AWARE]: CAPABILITY_AWARE_PROFILE,
39072
- [PROFILE_NAME_HYBRID_ONLY]: HYBRID_ONLY_PROFILE,
39073
- };
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' });
39074
39127
  const FACTORY_META$3 = {
39075
39128
  base: ROUTING_POLICY_FACTORY_BASE,
39076
39129
  key: 'RoutingProfile',
@@ -39125,7 +39178,7 @@ class RoutingProfileFactory extends RoutingPolicyFactory {
39125
39178
  return undefined;
39126
39179
  }
39127
39180
  getProfileConfig(profile) {
39128
- const routingConfig = PROFILE_MAP$1[profile];
39181
+ const routingConfig = getProfile(ROUTING_POLICY_FACTORY_BASE, profile);
39129
39182
  if (!routingConfig) {
39130
39183
  throw new Error('Unknown routing profile');
39131
39184
  }
@@ -39675,10 +39728,8 @@ const OPEN_TELEMETRY_PROFILE = {
39675
39728
  serviceName: Expressions.env(ENV_VAR_TELEMETRY_SERVICE_NAME, 'naylence-service'),
39676
39729
  headers: {},
39677
39730
  };
39678
- const PROFILE_MAP = {
39679
- [PROFILE_NAME_NOOP]: NOOP_PROFILE,
39680
- [PROFILE_NAME_OPEN_TELEMETRY]: OPEN_TELEMETRY_PROFILE,
39681
- };
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' });
39682
39733
  const FACTORY_META = {
39683
39734
  base: TRACE_EMITTER_FACTORY_BASE_TYPE,
39684
39735
  key: 'TraceEmitterProfile',
@@ -39747,14 +39798,11 @@ function canonicalizeProfileName(value) {
39747
39798
  return PROFILE_ALIASES[normalized] ?? normalized;
39748
39799
  }
39749
39800
  function resolveProfileConfig(profileName) {
39750
- const profile = PROFILE_MAP[profileName];
39801
+ const profile = getProfile(TRACE_EMITTER_FACTORY_BASE_TYPE, profileName);
39751
39802
  if (!profile) {
39752
39803
  throw new Error(`Unknown trace emitter profile: ${profileName}`);
39753
39804
  }
39754
- return deepClone(profile);
39755
- }
39756
- function deepClone(value) {
39757
- return JSON.parse(JSON.stringify(value));
39805
+ return profile;
39758
39806
  }
39759
39807
 
39760
39808
  var traceEmitterProfileFactory = /*#__PURE__*/Object.freeze({
@@ -43788,4 +43836,4 @@ var otelSetup = /*#__PURE__*/Object.freeze({
43788
43836
  setupOtel: setupOtel
43789
43837
  });
43790
43838
 
43791
- 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
- const PROFILE_MAP = {
36
- [exports.PROFILE_NAME_AT_LEAST_ONCE]: AT_LEAST_ONCE_PROFILE,
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 = PROFILE_MAP[profileName];
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 deepClone(profile);
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);