@naylence/runtime 0.3.13 → 0.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { FlowFlags, ConnectorState, generateId, ConnectorStateUtils, FameResponseType, createFameEnvelope, parseAddressComponents, FameAddress, DEFAULT_POLLING_TIMEOUT_MS, extractEnvelopeAndContext, createChannelMessage, parseAddress, formatAddress, formatAddressFromComponents, localDeliveryContext, Binding, DeliveryOriginType, makeResponse, isFameMessageResponse, parseRequest, makeRequest, DEFAULT_INVOKE_TIMEOUT_MILLIS, parseResponse, FameFabric, isFameMessageService, isFameRPCService, FameServiceProxy, generateIdAsync, snakeToCamelObject, getDefaultFameConfigResolver, setDefaultFameConfigResolver, SigningMaterial, AuthorizationContextSchema, FameDeliveryContextSchema, SecurityContextSchema, withFabric, FameEnvelopeSchema, serializeEnvelope, FameChannelMessage, deserializeEnvelope, SINK_CAPABILITY, FameFabricFactory, createAuthorizationContext } from '@naylence/core';
2
2
  export * from '@naylence/core';
3
- import { ExtensionManager, ExpressionEvaluationPolicy, AbstractResourceFactory, createResource as createResource$1, createDefaultResource, registerFactory, Expressions, Registry, configValidator } from '@naylence/factory';
3
+ import { ExtensionManager, ExpressionEvaluationPolicy, AbstractResourceFactory, createResource as createResource$1, createDefaultResource, Registry, registerFactory, Expressions, configValidator } from '@naylence/factory';
4
4
  import { z, ZodError } from 'zod';
5
5
  import fs from 'node:fs';
6
6
  import fsPromises from 'node:fs/promises';
@@ -430,7 +430,7 @@ function getPinoLevel(level) {
430
430
  case LogLevel.CRITICAL:
431
431
  return 'fatal';
432
432
  default:
433
- return 'info';
433
+ return 'warn';
434
434
  }
435
435
  }
436
436
  // Initialize Pino if available (Node.js only)
@@ -509,7 +509,7 @@ function getInitialLogLevel() {
509
509
  }
510
510
  }
511
511
  // Default to INFO - balanced verbosity for most use cases
512
- return LogLevel.INFO;
512
+ return LogLevel.WARNING;
513
513
  }
514
514
  const defaultConfig = {
515
515
  level: getInitialLogLevel(),
@@ -4009,6 +4009,454 @@ var websocketConnectorNodeSsl = /*#__PURE__*/Object.freeze({
4009
4009
  __proto__: null
4010
4010
  });
4011
4011
 
4012
+ /**
4013
+ * AUTO-GENERATED FILE. DO NOT EDIT DIRECTLY.
4014
+ * Generated by scripts/generate-factory-manifest.mjs
4015
+ *
4016
+ * Provides the list of runtime factory modules for registration.
4017
+ */
4018
+ const MODULES = [
4019
+ "./connector/broadcast-channel-connector-factory.js",
4020
+ "./connector/broadcast-channel-listener-factory.js",
4021
+ "./connector/http-listener-factory.js",
4022
+ "./connector/http-stateless-connector-factory.js",
4023
+ "./connector/inpage-connector-factory.js",
4024
+ "./connector/inpage-listener-factory.js",
4025
+ "./connector/websocket-connector-factory.js",
4026
+ "./connector/websocket-listener-factory.js",
4027
+ "./delivery/at-least-once-delivery-policy-factory.js",
4028
+ "./delivery/at-most-once-delivery-policy-factory.js",
4029
+ "./delivery/delivery-profile-factory.js",
4030
+ "./fabric/in-process-fame-fabric-factory.js",
4031
+ "./node/admission/admission-profile-factory.js",
4032
+ "./node/admission/direct-admission-client-factory.js",
4033
+ "./node/admission/noop-admission-client-factory.js",
4034
+ "./node/admission/welcome-service-client-factory.js",
4035
+ "./node/default-node-identity-policy-factory.js",
4036
+ "./node/node-factory.js",
4037
+ "./node/node-identity-policy-profile-factory.js",
4038
+ "./node/token-subject-node-identity-policy-factory.js",
4039
+ "./placement/static-node-placement-strategy-factory.js",
4040
+ "./security/auth/bearer-token-header-auth-injection-strategy-factory.js",
4041
+ "./security/auth/default-authorizer-factory.js",
4042
+ "./security/auth/jwks-jwt-token-verifier-factory.js",
4043
+ "./security/auth/jwt-token-issuer-factory.js",
4044
+ "./security/auth/jwt-token-verifier-factory.js",
4045
+ "./security/auth/no-auth-injection-strategy-factory.js",
4046
+ "./security/auth/none-token-provider-factory.js",
4047
+ "./security/auth/noop-authorizer-factory.js",
4048
+ "./security/auth/noop-token-issuer-factory.js",
4049
+ "./security/auth/noop-token-verifier-factory.js",
4050
+ "./security/auth/oauth2-authorizer-factory.js",
4051
+ "./security/auth/oauth2-client-credentials-token-provider-factory.js",
4052
+ "./security/auth/oauth2-pkce-token-provider-factory.js",
4053
+ "./security/auth/query-param-auth-injection-strategy-factory.js",
4054
+ "./security/auth/shared-secret-authorizer-factory.js",
4055
+ "./security/auth/shared-secret-token-provider-factory.js",
4056
+ "./security/auth/shared-secret-token-verifier-factory.js",
4057
+ "./security/auth/static-token-provider-factory.js",
4058
+ "./security/auth/websocket-subprotocol-auth-injection-strategy-factory.js",
4059
+ "./security/credential/dev-fixed-key-credential-provider-factory.js",
4060
+ "./security/credential/env-credential-provider-factory.js",
4061
+ "./security/credential/none-credential-provider-factory.js",
4062
+ "./security/credential/prompt-credential-provider-factory.js",
4063
+ "./security/credential/secret-store-credential-provider-factory.js",
4064
+ "./security/credential/session-key-credential-provider-factory.js",
4065
+ "./security/credential/static-credential-provider-factory.js",
4066
+ "./security/default-security-manager-factory.js",
4067
+ "./security/encryption/noop-encryption-manager-factory.js",
4068
+ "./security/encryption/noop-secure-channel-manager-factory.js",
4069
+ "./security/keys/default-key-manager-factory.js",
4070
+ "./security/keys/in-memory-key-store-factory.js",
4071
+ "./security/keys/noop-key-validator-factory.js",
4072
+ "./security/node-security-profile-factory.js",
4073
+ "./security/policy/default-security-policy-factory.js",
4074
+ "./security/policy/no-security-policy-factory.js",
4075
+ "./security/signing/eddsa-envelope-signer-factory.js",
4076
+ "./security/signing/eddsa-envelope-verifier-factory.js",
4077
+ "./security/trust-store/noop-trust-store-provider-factory.js",
4078
+ "./sentinel/capability-aware-routing-policy-factory.js",
4079
+ "./sentinel/composite-routing-policy-factory.js",
4080
+ "./sentinel/hybrid-path-routing-policy-factory.js",
4081
+ "./sentinel/load-balancing/composite-load-balancing-strategy-factory.js",
4082
+ "./sentinel/load-balancing/hrw-load-balancing-strategy-factory.js",
4083
+ "./sentinel/load-balancing/load-balancing-profile-factory.js",
4084
+ "./sentinel/load-balancing/random-load-balancing-strategy-factory.js",
4085
+ "./sentinel/load-balancing/round-robin-load-balancing-strategy-factory.js",
4086
+ "./sentinel/load-balancing/sticky-load-balancing-strategy-factory.js",
4087
+ "./sentinel/routing-profile-factory.js",
4088
+ "./sentinel/sentinel-factory.js",
4089
+ "./sentinel/store/route-store-factory.js",
4090
+ "./stickiness/simple-load-balancer-stickiness-manager-factory.js",
4091
+ "./telemetry/noop-trace-emitter-factory.js",
4092
+ "./telemetry/open-telemetry-trace-emitter-factory.js",
4093
+ "./telemetry/trace-emitter-profile-factory.js",
4094
+ "./welcome/default-welcome-service-factory.js"
4095
+ ];
4096
+ const MODULE_LOADERS = {
4097
+ "./connector/broadcast-channel-connector-factory.js": () => Promise.resolve().then(function () { return broadcastChannelConnectorFactory; }),
4098
+ "./connector/broadcast-channel-listener-factory.js": () => Promise.resolve().then(function () { return broadcastChannelListenerFactory; }),
4099
+ "./connector/http-listener-factory.js": () => Promise.resolve().then(function () { return httpListenerFactory; }),
4100
+ "./connector/http-stateless-connector-factory.js": () => Promise.resolve().then(function () { return httpStatelessConnectorFactory; }),
4101
+ "./connector/inpage-connector-factory.js": () => Promise.resolve().then(function () { return inpageConnectorFactory; }),
4102
+ "./connector/inpage-listener-factory.js": () => Promise.resolve().then(function () { return inpageListenerFactory; }),
4103
+ "./connector/websocket-connector-factory.js": () => Promise.resolve().then(function () { return websocketConnectorFactory; }),
4104
+ "./connector/websocket-listener-factory.js": () => Promise.resolve().then(function () { return websocketListenerFactory; }),
4105
+ "./delivery/at-least-once-delivery-policy-factory.js": () => Promise.resolve().then(function () { return atLeastOnceDeliveryPolicyFactory; }),
4106
+ "./delivery/at-most-once-delivery-policy-factory.js": () => Promise.resolve().then(function () { return atMostOnceDeliveryPolicyFactory; }),
4107
+ "./delivery/delivery-profile-factory.js": () => Promise.resolve().then(function () { return deliveryProfileFactory; }),
4108
+ "./fabric/in-process-fame-fabric-factory.js": () => Promise.resolve().then(function () { return inProcessFameFabricFactory; }),
4109
+ "./node/admission/admission-profile-factory.js": () => Promise.resolve().then(function () { return admissionProfileFactory; }),
4110
+ "./node/admission/direct-admission-client-factory.js": () => Promise.resolve().then(function () { return directAdmissionClientFactory; }),
4111
+ "./node/admission/noop-admission-client-factory.js": () => Promise.resolve().then(function () { return noopAdmissionClientFactory; }),
4112
+ "./node/admission/welcome-service-client-factory.js": () => Promise.resolve().then(function () { return welcomeServiceClientFactory; }),
4113
+ "./node/default-node-identity-policy-factory.js": () => Promise.resolve().then(function () { return defaultNodeIdentityPolicyFactory; }),
4114
+ "./node/node-factory.js": () => Promise.resolve().then(function () { return nodeFactory; }),
4115
+ "./node/node-identity-policy-profile-factory.js": () => Promise.resolve().then(function () { return nodeIdentityPolicyProfileFactory; }),
4116
+ "./node/token-subject-node-identity-policy-factory.js": () => Promise.resolve().then(function () { return tokenSubjectNodeIdentityPolicyFactory; }),
4117
+ "./placement/static-node-placement-strategy-factory.js": () => Promise.resolve().then(function () { return staticNodePlacementStrategyFactory; }),
4118
+ "./security/auth/bearer-token-header-auth-injection-strategy-factory.js": () => Promise.resolve().then(function () { return bearerTokenHeaderAuthInjectionStrategyFactory; }),
4119
+ "./security/auth/default-authorizer-factory.js": () => Promise.resolve().then(function () { return defaultAuthorizerFactory; }),
4120
+ "./security/auth/jwks-jwt-token-verifier-factory.js": () => Promise.resolve().then(function () { return jwksJwtTokenVerifierFactory; }),
4121
+ "./security/auth/jwt-token-issuer-factory.js": () => Promise.resolve().then(function () { return jwtTokenIssuerFactory; }),
4122
+ "./security/auth/jwt-token-verifier-factory.js": () => Promise.resolve().then(function () { return jwtTokenVerifierFactory; }),
4123
+ "./security/auth/no-auth-injection-strategy-factory.js": () => Promise.resolve().then(function () { return noAuthInjectionStrategyFactory; }),
4124
+ "./security/auth/none-token-provider-factory.js": () => Promise.resolve().then(function () { return noneTokenProviderFactory; }),
4125
+ "./security/auth/noop-authorizer-factory.js": () => Promise.resolve().then(function () { return noopAuthorizerFactory; }),
4126
+ "./security/auth/noop-token-issuer-factory.js": () => Promise.resolve().then(function () { return noopTokenIssuerFactory; }),
4127
+ "./security/auth/noop-token-verifier-factory.js": () => Promise.resolve().then(function () { return noopTokenVerifierFactory; }),
4128
+ "./security/auth/oauth2-authorizer-factory.js": () => Promise.resolve().then(function () { return oauth2AuthorizerFactory; }),
4129
+ "./security/auth/oauth2-client-credentials-token-provider-factory.js": () => Promise.resolve().then(function () { return oauth2ClientCredentialsTokenProviderFactory; }),
4130
+ "./security/auth/oauth2-pkce-token-provider-factory.js": () => Promise.resolve().then(function () { return oauth2PkceTokenProviderFactory; }),
4131
+ "./security/auth/query-param-auth-injection-strategy-factory.js": () => Promise.resolve().then(function () { return queryParamAuthInjectionStrategyFactory; }),
4132
+ "./security/auth/shared-secret-authorizer-factory.js": () => Promise.resolve().then(function () { return sharedSecretAuthorizerFactory; }),
4133
+ "./security/auth/shared-secret-token-provider-factory.js": () => Promise.resolve().then(function () { return sharedSecretTokenProviderFactory; }),
4134
+ "./security/auth/shared-secret-token-verifier-factory.js": () => Promise.resolve().then(function () { return sharedSecretTokenVerifierFactory; }),
4135
+ "./security/auth/static-token-provider-factory.js": () => Promise.resolve().then(function () { return staticTokenProviderFactory; }),
4136
+ "./security/auth/websocket-subprotocol-auth-injection-strategy-factory.js": () => Promise.resolve().then(function () { return websocketSubprotocolAuthInjectionStrategyFactory; }),
4137
+ "./security/credential/dev-fixed-key-credential-provider-factory.js": () => Promise.resolve().then(function () { return devFixedKeyCredentialProviderFactory; }),
4138
+ "./security/credential/env-credential-provider-factory.js": () => Promise.resolve().then(function () { return envCredentialProviderFactory; }),
4139
+ "./security/credential/none-credential-provider-factory.js": () => Promise.resolve().then(function () { return noneCredentialProviderFactory; }),
4140
+ "./security/credential/prompt-credential-provider-factory.js": () => Promise.resolve().then(function () { return promptCredentialProviderFactory; }),
4141
+ "./security/credential/secret-store-credential-provider-factory.js": () => Promise.resolve().then(function () { return secretStoreCredentialProviderFactory; }),
4142
+ "./security/credential/session-key-credential-provider-factory.js": () => Promise.resolve().then(function () { return sessionKeyCredentialProviderFactory; }),
4143
+ "./security/credential/static-credential-provider-factory.js": () => Promise.resolve().then(function () { return staticCredentialProviderFactory; }),
4144
+ "./security/default-security-manager-factory.js": () => Promise.resolve().then(function () { return defaultSecurityManagerFactory; }),
4145
+ "./security/encryption/noop-encryption-manager-factory.js": () => Promise.resolve().then(function () { return noopEncryptionManagerFactory; }),
4146
+ "./security/encryption/noop-secure-channel-manager-factory.js": () => Promise.resolve().then(function () { return noopSecureChannelManagerFactory; }),
4147
+ "./security/keys/default-key-manager-factory.js": () => Promise.resolve().then(function () { return defaultKeyManagerFactory; }),
4148
+ "./security/keys/in-memory-key-store-factory.js": () => Promise.resolve().then(function () { return inMemoryKeyStoreFactory; }),
4149
+ "./security/keys/noop-key-validator-factory.js": () => Promise.resolve().then(function () { return noopKeyValidatorFactory; }),
4150
+ "./security/node-security-profile-factory.js": () => Promise.resolve().then(function () { return nodeSecurityProfileFactory; }),
4151
+ "./security/policy/default-security-policy-factory.js": () => Promise.resolve().then(function () { return defaultSecurityPolicyFactory; }),
4152
+ "./security/policy/no-security-policy-factory.js": () => Promise.resolve().then(function () { return noSecurityPolicyFactory; }),
4153
+ "./security/signing/eddsa-envelope-signer-factory.js": () => Promise.resolve().then(function () { return eddsaEnvelopeSignerFactory; }),
4154
+ "./security/signing/eddsa-envelope-verifier-factory.js": () => Promise.resolve().then(function () { return eddsaEnvelopeVerifierFactory; }),
4155
+ "./security/trust-store/noop-trust-store-provider-factory.js": () => Promise.resolve().then(function () { return noopTrustStoreProviderFactory; }),
4156
+ "./sentinel/capability-aware-routing-policy-factory.js": () => Promise.resolve().then(function () { return capabilityAwareRoutingPolicyFactory; }),
4157
+ "./sentinel/composite-routing-policy-factory.js": () => Promise.resolve().then(function () { return compositeRoutingPolicyFactory; }),
4158
+ "./sentinel/hybrid-path-routing-policy-factory.js": () => Promise.resolve().then(function () { return hybridPathRoutingPolicyFactory; }),
4159
+ "./sentinel/load-balancing/composite-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return compositeLoadBalancingStrategyFactory; }),
4160
+ "./sentinel/load-balancing/hrw-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return hrwLoadBalancingStrategyFactory; }),
4161
+ "./sentinel/load-balancing/load-balancing-profile-factory.js": () => Promise.resolve().then(function () { return loadBalancingProfileFactory; }),
4162
+ "./sentinel/load-balancing/random-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return randomLoadBalancingStrategyFactory; }),
4163
+ "./sentinel/load-balancing/round-robin-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return roundRobinLoadBalancingStrategyFactory; }),
4164
+ "./sentinel/load-balancing/sticky-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return stickyLoadBalancingStrategyFactory; }),
4165
+ "./sentinel/routing-profile-factory.js": () => Promise.resolve().then(function () { return routingProfileFactory; }),
4166
+ "./sentinel/sentinel-factory.js": () => Promise.resolve().then(function () { return sentinelFactory; }),
4167
+ "./sentinel/store/route-store-factory.js": () => Promise.resolve().then(function () { return routeStoreFactory; }),
4168
+ "./stickiness/simple-load-balancer-stickiness-manager-factory.js": () => Promise.resolve().then(function () { return simpleLoadBalancerStickinessManagerFactory; }),
4169
+ "./telemetry/noop-trace-emitter-factory.js": () => Promise.resolve().then(function () { return noopTraceEmitterFactory; }),
4170
+ "./telemetry/open-telemetry-trace-emitter-factory.js": () => Promise.resolve().then(function () { return openTelemetryTraceEmitterFactory; }),
4171
+ "./telemetry/trace-emitter-profile-factory.js": () => Promise.resolve().then(function () { return traceEmitterProfileFactory; }),
4172
+ "./welcome/default-welcome-service-factory.js": () => Promise.resolve().then(function () { return defaultWelcomeServiceFactory; }),
4173
+ };
4174
+
4175
+ const FACTORY_MODULE_PREFIX$1 = '@naylence/runtime/naylence/fame/';
4176
+ const BROWSER_DIST_SEGMENT = '/dist/browser/';
4177
+ const NODE_ONLY_FACTORY_MODULES = new Set([
4178
+ './connector/http-listener-factory.js',
4179
+ './connector/websocket-listener-factory.js',
4180
+ './telemetry/open-telemetry-trace-emitter-factory.js',
4181
+ './security/credential/prompt-credential-provider-factory.js',
4182
+ ]);
4183
+ const BROWSER_ONLY_FACTORY_MODULES = new Set([
4184
+ './security/auth/oauth2-pkce-token-provider-factory.js',
4185
+ ]);
4186
+ const isNodeEnvironment = typeof process !== 'undefined' && Boolean(process?.versions?.node);
4187
+ function detectModuleUrl() {
4188
+ // Prefer Node-friendly __filename when available.
4189
+ if (typeof __filename === 'string') {
4190
+ try {
4191
+ const normalized = __filename.startsWith('file://')
4192
+ ? __filename
4193
+ : `file://${__filename}`;
4194
+ return normalized;
4195
+ }
4196
+ catch {
4197
+ // fall through to stack parsing
4198
+ }
4199
+ }
4200
+ // Fallback to parsing the current stack trace to discover the executing module URL.
4201
+ try {
4202
+ throw new Error();
4203
+ }
4204
+ catch (error) {
4205
+ const stack = typeof error === 'object' && error && 'stack' in error
4206
+ ? String(error.stack ?? '')
4207
+ : '';
4208
+ const lines = stack.split('\n');
4209
+ for (const line of lines) {
4210
+ const match = line.match(/(https?:\/\/[^\s)]+|file:\/\/[^\s)]+|\/[^\s)]+\.(?:js|ts))/u);
4211
+ if (!match) {
4212
+ continue;
4213
+ }
4214
+ const candidate = match[1];
4215
+ if (candidate.startsWith('http://') || candidate.startsWith('https://')) {
4216
+ return candidate;
4217
+ }
4218
+ if (candidate.startsWith('file://')) {
4219
+ return candidate;
4220
+ }
4221
+ return `file://${candidate}`;
4222
+ }
4223
+ }
4224
+ return null;
4225
+ }
4226
+ function computeBrowserFactoryBase(rawUrl) {
4227
+ if (!rawUrl) {
4228
+ return null;
4229
+ }
4230
+ const sanitized = rawUrl.split('?')[0]?.split('#')[0] ?? rawUrl;
4231
+ const esmMarker = '/dist/esm/naylence/fame/';
4232
+ const browserMarker = '/dist/browser/';
4233
+ const distMarker = '/dist/';
4234
+ if (sanitized.includes(esmMarker)) {
4235
+ return sanitized.slice(0, sanitized.indexOf(esmMarker) + esmMarker.length);
4236
+ }
4237
+ if (rawUrl.includes(BROWSER_DIST_SEGMENT)) {
4238
+ return new URL('../esm/naylence/fame/', rawUrl).href;
4239
+ }
4240
+ if (rawUrl.startsWith('http://') || rawUrl.startsWith('https://')) {
4241
+ try {
4242
+ const parsed = new URL(rawUrl);
4243
+ const viteDepsSegment = '/node_modules/.vite/deps/';
4244
+ if (parsed.pathname.includes(viteDepsSegment)) {
4245
+ const baseOrigin = `${parsed.protocol}//${parsed.host}`;
4246
+ return `${baseOrigin}/node_modules/@naylence/runtime/dist/esm/naylence/fame/`;
4247
+ }
4248
+ }
4249
+ catch {
4250
+ // ignore and fall through to null
4251
+ }
4252
+ }
4253
+ if (sanitized.includes(browserMarker)) {
4254
+ const base = sanitized.slice(0, sanitized.indexOf(browserMarker) + browserMarker.length);
4255
+ return `${base.replace(/browser\/?$/u, '')}esm/naylence/fame/`;
4256
+ }
4257
+ if (sanitized.includes(distMarker)) {
4258
+ const index = sanitized.indexOf(distMarker);
4259
+ const base = sanitized.slice(0, index + distMarker.length);
4260
+ return `${base}esm/naylence/fame/`;
4261
+ }
4262
+ // Fallback for development: if this is a source file path, compute dist/esm path
4263
+ const srcMarker = '/src/naylence/fame/';
4264
+ if (sanitized.includes(srcMarker)) {
4265
+ const index = sanitized.indexOf(srcMarker);
4266
+ const projectRoot = sanitized.slice(0, index);
4267
+ return `${projectRoot}/dist/esm/naylence/fame/`;
4268
+ }
4269
+ return null;
4270
+ }
4271
+ const moduleUrl = detectModuleUrl();
4272
+ const browserFactoryBase = computeBrowserFactoryBase(moduleUrl);
4273
+ function resolveFactoryModuleSpecifier$1(specifier) {
4274
+ if (specifier.startsWith('../')) {
4275
+ const relativePath = specifier.slice('../'.length);
4276
+ return `${FACTORY_MODULE_PREFIX$1}${relativePath}`;
4277
+ }
4278
+ if (specifier.startsWith('./')) {
4279
+ const relativePath = specifier.slice('./'.length);
4280
+ return `${FACTORY_MODULE_PREFIX$1}${relativePath}`;
4281
+ }
4282
+ return null;
4283
+ }
4284
+ function resolveModuleCandidates(spec) {
4285
+ const packageSpecifier = resolveFactoryModuleSpecifier$1(spec);
4286
+ const candidates = [];
4287
+ const preferSource = typeof moduleUrl === 'string' && moduleUrl.includes('/src/');
4288
+ const addCandidate = (candidate) => {
4289
+ if (!candidate) {
4290
+ return;
4291
+ }
4292
+ if (!candidates.includes(candidate)) {
4293
+ candidates.push(candidate);
4294
+ }
4295
+ };
4296
+ if (preferSource && spec.startsWith('./')) {
4297
+ const baseSource = `../${spec.slice(2)}`;
4298
+ addCandidate(baseSource);
4299
+ if (baseSource.endsWith('.js')) {
4300
+ addCandidate(baseSource.replace(/\.js$/u, '.ts'));
4301
+ }
4302
+ }
4303
+ if (browserFactoryBase && spec.startsWith('./')) {
4304
+ const browserCandidate = new URL(spec.slice('./'.length), browserFactoryBase).href;
4305
+ addCandidate(browserCandidate);
4306
+ if (browserCandidate.endsWith('.js')) {
4307
+ addCandidate(browserCandidate.replace(/\.js$/u, '.ts'));
4308
+ }
4309
+ }
4310
+ if (packageSpecifier) {
4311
+ addCandidate(packageSpecifier);
4312
+ if (packageSpecifier.endsWith('.js')) {
4313
+ addCandidate(packageSpecifier.replace(/\.js$/u, '.ts'));
4314
+ }
4315
+ }
4316
+ const baseFallback = spec.startsWith('./') ? `../${spec.slice(2)}` : spec;
4317
+ addCandidate(baseFallback);
4318
+ if (baseFallback.endsWith('.js')) {
4319
+ addCandidate(baseFallback.replace(/\.js$/u, '.ts'));
4320
+ }
4321
+ return candidates;
4322
+ }
4323
+ async function performRegistration(registry) {
4324
+ await Promise.all(MODULES.map(async (spec) => {
4325
+ if (!isNodeEnvironment && NODE_ONLY_FACTORY_MODULES.has(spec)) {
4326
+ return;
4327
+ }
4328
+ if (isNodeEnvironment && BROWSER_ONLY_FACTORY_MODULES.has(spec)) {
4329
+ return;
4330
+ }
4331
+ try {
4332
+ let mod;
4333
+ let lastError;
4334
+ const staticLoader = MODULE_LOADERS?.[spec];
4335
+ if (staticLoader) {
4336
+ try {
4337
+ mod = await staticLoader();
4338
+ }
4339
+ catch (error) {
4340
+ lastError = error;
4341
+ }
4342
+ }
4343
+ if (!mod) {
4344
+ const candidates = resolveModuleCandidates(spec);
4345
+ for (const [index, candidate] of candidates.entries()) {
4346
+ try {
4347
+ mod = await import(/* @vite-ignore */ candidate);
4348
+ lastError = undefined;
4349
+ break;
4350
+ }
4351
+ catch (error) {
4352
+ lastError = error;
4353
+ const isLastCandidate = index === candidates.length - 1;
4354
+ if (isLastCandidate) {
4355
+ throw error;
4356
+ }
4357
+ const message = error instanceof Error ? error.message : String(error);
4358
+ const moduleNotFound = message.includes('Cannot find module') ||
4359
+ message.includes('ERR_MODULE_NOT_FOUND') ||
4360
+ message.includes('Unknown file extension') ||
4361
+ message.includes('Failed to fetch dynamically imported module') ||
4362
+ message.includes('Importing a module script failed');
4363
+ if (!moduleNotFound) {
4364
+ throw error;
4365
+ }
4366
+ }
4367
+ }
4368
+ }
4369
+ if (!mod) {
4370
+ throw (lastError ?? new Error(`Unable to import factory module: ${spec}`));
4371
+ }
4372
+ const meta = mod.FACTORY_META;
4373
+ const Ctor = mod.default;
4374
+ if (!meta?.base || !meta?.key || typeof Ctor !== 'function') {
4375
+ console.warn('[factory-manifest] skipped', spec, '— missing FACTORY_META or default export ctor');
4376
+ return;
4377
+ }
4378
+ registry.registerFactory(meta.base, meta.key, Ctor);
4379
+ }
4380
+ catch (error) {
4381
+ const reason = error instanceof Error ? error.message : String(error);
4382
+ console.warn('[factory-manifest] skipped', spec, '-', reason);
4383
+ }
4384
+ }));
4385
+ }
4386
+ async function registerDefaultFactories(registry = Registry) {
4387
+ await performRegistration(registry);
4388
+ }
4389
+ /**
4390
+ * Register all default Naylence runtime factories into the supplied registry.
4391
+ *
4392
+ * @param registry Registry implementation to receive the default runtime factories.
4393
+ */
4394
+ async function registerRuntimeFactories(registry = Registry) {
4395
+ if (registry === Registry) {
4396
+ await ensureDefaultRegistration();
4397
+ return;
4398
+ }
4399
+ await performRegistration(registry);
4400
+ }
4401
+ let defaultRegistrationPromise = null;
4402
+ let defaultRegistrationError = null;
4403
+ async function ensureDefaultRegistration() {
4404
+ if (defaultRegistrationError) {
4405
+ throw defaultRegistrationError;
4406
+ }
4407
+ if (!defaultRegistrationPromise) {
4408
+ defaultRegistrationError = null;
4409
+ defaultRegistrationPromise = performRegistration(Registry).catch((error) => {
4410
+ defaultRegistrationError = error;
4411
+ defaultRegistrationPromise = null;
4412
+ throw error;
4413
+ });
4414
+ }
4415
+ await defaultRegistrationPromise;
4416
+ }
4417
+ async function ensureRuntimeFactoriesRegistered(registry = Registry) {
4418
+ if (registry !== Registry) {
4419
+ await performRegistration(registry);
4420
+ return;
4421
+ }
4422
+ await ensureDefaultRegistration();
4423
+ }
4424
+
4425
+ // This file is auto-generated during build - do not edit manually
4426
+ // Generated from package.json version: 0.3.15
4427
+ /**
4428
+ * The package version, injected at build time.
4429
+ * @internal
4430
+ */
4431
+ const VERSION = '0.3.15';
4432
+
4433
+ let initialized = false;
4434
+ const runtimePlugin = {
4435
+ name: 'naylence:runtime',
4436
+ version: VERSION,
4437
+ async register() {
4438
+ // console.log('[naylence:runtime] register() called, initialized=', initialized);
4439
+ if (initialized) {
4440
+ // console.log('[naylence:runtime] already initialized, skipping');
4441
+ return;
4442
+ }
4443
+ initialized = true;
4444
+ // console.log('[naylence:runtime] registering runtime factories...');
4445
+ // Register factories from manifest
4446
+ await registerRuntimeFactories();
4447
+ // Import modules with side-effect registrations (not in manifest)
4448
+ await Promise.resolve().then(function () { return websocketTransportProvisioner; });
4449
+ // console.log('[naylence:runtime] runtime factories registered');
4450
+ },
4451
+ };
4452
+ const RUNTIME_PLUGIN_SPECIFIER = runtimePlugin.name;
4453
+
4454
+ var plugin = /*#__PURE__*/Object.freeze({
4455
+ __proto__: null,
4456
+ RUNTIME_PLUGIN_SPECIFIER: RUNTIME_PLUGIN_SPECIFIER,
4457
+ default: runtimePlugin
4458
+ });
4459
+
4012
4460
  const CREDENTIAL_PROVIDER_FACTORY_BASE_TYPE = 'CredentialProviderFactory';
4013
4461
  class CredentialProviderFactory extends AbstractResourceFactory {
4014
4462
  static async createCredentialProvider(config, options = {}) {
@@ -5570,14 +6018,6 @@ for (const [name, config] of Object.entries(SQLITE_PROFILES)) {
5570
6018
  registerStorageProfile(name, config);
5571
6019
  }
5572
6020
 
5573
- // This file is auto-generated during build - do not edit manually
5574
- // Generated from package.json version: 0.3.13
5575
- /**
5576
- * The package version, injected at build time.
5577
- * @internal
5578
- */
5579
- const VERSION = '0.3.13';
5580
-
5581
6021
  /**
5582
6022
  * Fame errors module - Fame protocol specific error classes
5583
6023
  */
@@ -15807,419 +16247,6 @@ var extendedFameConfig = /*#__PURE__*/Object.freeze({
15807
16247
  resetFameConfigCache: resetFameConfigCache
15808
16248
  });
15809
16249
 
15810
- /**
15811
- * AUTO-GENERATED FILE. DO NOT EDIT DIRECTLY.
15812
- * Generated by scripts/generate-factory-manifest.mjs
15813
- *
15814
- * Provides the list of runtime factory modules for registration.
15815
- */
15816
- const MODULES = [
15817
- "./connector/broadcast-channel-connector-factory.js",
15818
- "./connector/broadcast-channel-listener-factory.js",
15819
- "./connector/http-listener-factory.js",
15820
- "./connector/http-stateless-connector-factory.js",
15821
- "./connector/inpage-connector-factory.js",
15822
- "./connector/inpage-listener-factory.js",
15823
- "./connector/websocket-connector-factory.js",
15824
- "./connector/websocket-listener-factory.js",
15825
- "./delivery/at-least-once-delivery-policy-factory.js",
15826
- "./delivery/at-most-once-delivery-policy-factory.js",
15827
- "./delivery/delivery-profile-factory.js",
15828
- "./fabric/in-process-fame-fabric-factory.js",
15829
- "./node/admission/admission-profile-factory.js",
15830
- "./node/admission/direct-admission-client-factory.js",
15831
- "./node/admission/noop-admission-client-factory.js",
15832
- "./node/admission/welcome-service-client-factory.js",
15833
- "./node/default-node-identity-policy-factory.js",
15834
- "./node/node-factory.js",
15835
- "./node/node-identity-policy-profile-factory.js",
15836
- "./node/token-subject-node-identity-policy-factory.js",
15837
- "./placement/static-node-placement-strategy-factory.js",
15838
- "./security/auth/bearer-token-header-auth-injection-strategy-factory.js",
15839
- "./security/auth/default-authorizer-factory.js",
15840
- "./security/auth/jwks-jwt-token-verifier-factory.js",
15841
- "./security/auth/jwt-token-issuer-factory.js",
15842
- "./security/auth/jwt-token-verifier-factory.js",
15843
- "./security/auth/no-auth-injection-strategy-factory.js",
15844
- "./security/auth/none-token-provider-factory.js",
15845
- "./security/auth/noop-authorizer-factory.js",
15846
- "./security/auth/noop-token-issuer-factory.js",
15847
- "./security/auth/noop-token-verifier-factory.js",
15848
- "./security/auth/oauth2-authorizer-factory.js",
15849
- "./security/auth/oauth2-client-credentials-token-provider-factory.js",
15850
- "./security/auth/oauth2-pkce-token-provider-factory.js",
15851
- "./security/auth/query-param-auth-injection-strategy-factory.js",
15852
- "./security/auth/shared-secret-authorizer-factory.js",
15853
- "./security/auth/shared-secret-token-provider-factory.js",
15854
- "./security/auth/shared-secret-token-verifier-factory.js",
15855
- "./security/auth/static-token-provider-factory.js",
15856
- "./security/auth/websocket-subprotocol-auth-injection-strategy-factory.js",
15857
- "./security/credential/dev-fixed-key-credential-provider-factory.js",
15858
- "./security/credential/env-credential-provider-factory.js",
15859
- "./security/credential/none-credential-provider-factory.js",
15860
- "./security/credential/prompt-credential-provider-factory.js",
15861
- "./security/credential/secret-store-credential-provider-factory.js",
15862
- "./security/credential/session-key-credential-provider-factory.js",
15863
- "./security/credential/static-credential-provider-factory.js",
15864
- "./security/default-security-manager-factory.js",
15865
- "./security/encryption/noop-encryption-manager-factory.js",
15866
- "./security/encryption/noop-secure-channel-manager-factory.js",
15867
- "./security/keys/default-key-manager-factory.js",
15868
- "./security/keys/in-memory-key-store-factory.js",
15869
- "./security/keys/noop-key-validator-factory.js",
15870
- "./security/node-security-profile-factory.js",
15871
- "./security/policy/default-security-policy-factory.js",
15872
- "./security/policy/no-security-policy-factory.js",
15873
- "./security/signing/eddsa-envelope-signer-factory.js",
15874
- "./security/signing/eddsa-envelope-verifier-factory.js",
15875
- "./security/trust-store/noop-trust-store-provider-factory.js",
15876
- "./sentinel/capability-aware-routing-policy-factory.js",
15877
- "./sentinel/composite-routing-policy-factory.js",
15878
- "./sentinel/hybrid-path-routing-policy-factory.js",
15879
- "./sentinel/load-balancing/composite-load-balancing-strategy-factory.js",
15880
- "./sentinel/load-balancing/hrw-load-balancing-strategy-factory.js",
15881
- "./sentinel/load-balancing/load-balancing-profile-factory.js",
15882
- "./sentinel/load-balancing/random-load-balancing-strategy-factory.js",
15883
- "./sentinel/load-balancing/round-robin-load-balancing-strategy-factory.js",
15884
- "./sentinel/load-balancing/sticky-load-balancing-strategy-factory.js",
15885
- "./sentinel/routing-profile-factory.js",
15886
- "./sentinel/sentinel-factory.js",
15887
- "./sentinel/store/route-store-factory.js",
15888
- "./stickiness/simple-load-balancer-stickiness-manager-factory.js",
15889
- "./telemetry/noop-trace-emitter-factory.js",
15890
- "./telemetry/open-telemetry-trace-emitter-factory.js",
15891
- "./telemetry/trace-emitter-profile-factory.js",
15892
- "./welcome/default-welcome-service-factory.js"
15893
- ];
15894
- const MODULE_LOADERS = {
15895
- "./connector/broadcast-channel-connector-factory.js": () => Promise.resolve().then(function () { return broadcastChannelConnectorFactory; }),
15896
- "./connector/broadcast-channel-listener-factory.js": () => Promise.resolve().then(function () { return broadcastChannelListenerFactory; }),
15897
- "./connector/http-listener-factory.js": () => Promise.resolve().then(function () { return httpListenerFactory; }),
15898
- "./connector/http-stateless-connector-factory.js": () => Promise.resolve().then(function () { return httpStatelessConnectorFactory; }),
15899
- "./connector/inpage-connector-factory.js": () => Promise.resolve().then(function () { return inpageConnectorFactory; }),
15900
- "./connector/inpage-listener-factory.js": () => Promise.resolve().then(function () { return inpageListenerFactory; }),
15901
- "./connector/websocket-connector-factory.js": () => Promise.resolve().then(function () { return websocketConnectorFactory; }),
15902
- "./connector/websocket-listener-factory.js": () => Promise.resolve().then(function () { return websocketListenerFactory; }),
15903
- "./delivery/at-least-once-delivery-policy-factory.js": () => Promise.resolve().then(function () { return atLeastOnceDeliveryPolicyFactory; }),
15904
- "./delivery/at-most-once-delivery-policy-factory.js": () => Promise.resolve().then(function () { return atMostOnceDeliveryPolicyFactory; }),
15905
- "./delivery/delivery-profile-factory.js": () => Promise.resolve().then(function () { return deliveryProfileFactory; }),
15906
- "./fabric/in-process-fame-fabric-factory.js": () => Promise.resolve().then(function () { return inProcessFameFabricFactory; }),
15907
- "./node/admission/admission-profile-factory.js": () => Promise.resolve().then(function () { return admissionProfileFactory; }),
15908
- "./node/admission/direct-admission-client-factory.js": () => Promise.resolve().then(function () { return directAdmissionClientFactory; }),
15909
- "./node/admission/noop-admission-client-factory.js": () => Promise.resolve().then(function () { return noopAdmissionClientFactory; }),
15910
- "./node/admission/welcome-service-client-factory.js": () => Promise.resolve().then(function () { return welcomeServiceClientFactory; }),
15911
- "./node/default-node-identity-policy-factory.js": () => Promise.resolve().then(function () { return defaultNodeIdentityPolicyFactory; }),
15912
- "./node/node-factory.js": () => Promise.resolve().then(function () { return nodeFactory; }),
15913
- "./node/node-identity-policy-profile-factory.js": () => Promise.resolve().then(function () { return nodeIdentityPolicyProfileFactory; }),
15914
- "./node/token-subject-node-identity-policy-factory.js": () => Promise.resolve().then(function () { return tokenSubjectNodeIdentityPolicyFactory; }),
15915
- "./placement/static-node-placement-strategy-factory.js": () => Promise.resolve().then(function () { return staticNodePlacementStrategyFactory; }),
15916
- "./security/auth/bearer-token-header-auth-injection-strategy-factory.js": () => Promise.resolve().then(function () { return bearerTokenHeaderAuthInjectionStrategyFactory; }),
15917
- "./security/auth/default-authorizer-factory.js": () => Promise.resolve().then(function () { return defaultAuthorizerFactory; }),
15918
- "./security/auth/jwks-jwt-token-verifier-factory.js": () => Promise.resolve().then(function () { return jwksJwtTokenVerifierFactory; }),
15919
- "./security/auth/jwt-token-issuer-factory.js": () => Promise.resolve().then(function () { return jwtTokenIssuerFactory; }),
15920
- "./security/auth/jwt-token-verifier-factory.js": () => Promise.resolve().then(function () { return jwtTokenVerifierFactory; }),
15921
- "./security/auth/no-auth-injection-strategy-factory.js": () => Promise.resolve().then(function () { return noAuthInjectionStrategyFactory; }),
15922
- "./security/auth/none-token-provider-factory.js": () => Promise.resolve().then(function () { return noneTokenProviderFactory; }),
15923
- "./security/auth/noop-authorizer-factory.js": () => Promise.resolve().then(function () { return noopAuthorizerFactory; }),
15924
- "./security/auth/noop-token-issuer-factory.js": () => Promise.resolve().then(function () { return noopTokenIssuerFactory; }),
15925
- "./security/auth/noop-token-verifier-factory.js": () => Promise.resolve().then(function () { return noopTokenVerifierFactory; }),
15926
- "./security/auth/oauth2-authorizer-factory.js": () => Promise.resolve().then(function () { return oauth2AuthorizerFactory; }),
15927
- "./security/auth/oauth2-client-credentials-token-provider-factory.js": () => Promise.resolve().then(function () { return oauth2ClientCredentialsTokenProviderFactory; }),
15928
- "./security/auth/oauth2-pkce-token-provider-factory.js": () => Promise.resolve().then(function () { return oauth2PkceTokenProviderFactory; }),
15929
- "./security/auth/query-param-auth-injection-strategy-factory.js": () => Promise.resolve().then(function () { return queryParamAuthInjectionStrategyFactory; }),
15930
- "./security/auth/shared-secret-authorizer-factory.js": () => Promise.resolve().then(function () { return sharedSecretAuthorizerFactory; }),
15931
- "./security/auth/shared-secret-token-provider-factory.js": () => Promise.resolve().then(function () { return sharedSecretTokenProviderFactory; }),
15932
- "./security/auth/shared-secret-token-verifier-factory.js": () => Promise.resolve().then(function () { return sharedSecretTokenVerifierFactory; }),
15933
- "./security/auth/static-token-provider-factory.js": () => Promise.resolve().then(function () { return staticTokenProviderFactory; }),
15934
- "./security/auth/websocket-subprotocol-auth-injection-strategy-factory.js": () => Promise.resolve().then(function () { return websocketSubprotocolAuthInjectionStrategyFactory; }),
15935
- "./security/credential/dev-fixed-key-credential-provider-factory.js": () => Promise.resolve().then(function () { return devFixedKeyCredentialProviderFactory; }),
15936
- "./security/credential/env-credential-provider-factory.js": () => Promise.resolve().then(function () { return envCredentialProviderFactory; }),
15937
- "./security/credential/none-credential-provider-factory.js": () => Promise.resolve().then(function () { return noneCredentialProviderFactory; }),
15938
- "./security/credential/prompt-credential-provider-factory.js": () => Promise.resolve().then(function () { return promptCredentialProviderFactory; }),
15939
- "./security/credential/secret-store-credential-provider-factory.js": () => Promise.resolve().then(function () { return secretStoreCredentialProviderFactory; }),
15940
- "./security/credential/session-key-credential-provider-factory.js": () => Promise.resolve().then(function () { return sessionKeyCredentialProviderFactory; }),
15941
- "./security/credential/static-credential-provider-factory.js": () => Promise.resolve().then(function () { return staticCredentialProviderFactory; }),
15942
- "./security/default-security-manager-factory.js": () => Promise.resolve().then(function () { return defaultSecurityManagerFactory; }),
15943
- "./security/encryption/noop-encryption-manager-factory.js": () => Promise.resolve().then(function () { return noopEncryptionManagerFactory; }),
15944
- "./security/encryption/noop-secure-channel-manager-factory.js": () => Promise.resolve().then(function () { return noopSecureChannelManagerFactory; }),
15945
- "./security/keys/default-key-manager-factory.js": () => Promise.resolve().then(function () { return defaultKeyManagerFactory; }),
15946
- "./security/keys/in-memory-key-store-factory.js": () => Promise.resolve().then(function () { return inMemoryKeyStoreFactory; }),
15947
- "./security/keys/noop-key-validator-factory.js": () => Promise.resolve().then(function () { return noopKeyValidatorFactory; }),
15948
- "./security/node-security-profile-factory.js": () => Promise.resolve().then(function () { return nodeSecurityProfileFactory; }),
15949
- "./security/policy/default-security-policy-factory.js": () => Promise.resolve().then(function () { return defaultSecurityPolicyFactory; }),
15950
- "./security/policy/no-security-policy-factory.js": () => Promise.resolve().then(function () { return noSecurityPolicyFactory; }),
15951
- "./security/signing/eddsa-envelope-signer-factory.js": () => Promise.resolve().then(function () { return eddsaEnvelopeSignerFactory; }),
15952
- "./security/signing/eddsa-envelope-verifier-factory.js": () => Promise.resolve().then(function () { return eddsaEnvelopeVerifierFactory; }),
15953
- "./security/trust-store/noop-trust-store-provider-factory.js": () => Promise.resolve().then(function () { return noopTrustStoreProviderFactory; }),
15954
- "./sentinel/capability-aware-routing-policy-factory.js": () => Promise.resolve().then(function () { return capabilityAwareRoutingPolicyFactory; }),
15955
- "./sentinel/composite-routing-policy-factory.js": () => Promise.resolve().then(function () { return compositeRoutingPolicyFactory; }),
15956
- "./sentinel/hybrid-path-routing-policy-factory.js": () => Promise.resolve().then(function () { return hybridPathRoutingPolicyFactory; }),
15957
- "./sentinel/load-balancing/composite-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return compositeLoadBalancingStrategyFactory; }),
15958
- "./sentinel/load-balancing/hrw-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return hrwLoadBalancingStrategyFactory; }),
15959
- "./sentinel/load-balancing/load-balancing-profile-factory.js": () => Promise.resolve().then(function () { return loadBalancingProfileFactory; }),
15960
- "./sentinel/load-balancing/random-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return randomLoadBalancingStrategyFactory; }),
15961
- "./sentinel/load-balancing/round-robin-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return roundRobinLoadBalancingStrategyFactory; }),
15962
- "./sentinel/load-balancing/sticky-load-balancing-strategy-factory.js": () => Promise.resolve().then(function () { return stickyLoadBalancingStrategyFactory; }),
15963
- "./sentinel/routing-profile-factory.js": () => Promise.resolve().then(function () { return routingProfileFactory; }),
15964
- "./sentinel/sentinel-factory.js": () => Promise.resolve().then(function () { return sentinelFactory; }),
15965
- "./sentinel/store/route-store-factory.js": () => Promise.resolve().then(function () { return routeStoreFactory; }),
15966
- "./stickiness/simple-load-balancer-stickiness-manager-factory.js": () => Promise.resolve().then(function () { return simpleLoadBalancerStickinessManagerFactory; }),
15967
- "./telemetry/noop-trace-emitter-factory.js": () => Promise.resolve().then(function () { return noopTraceEmitterFactory; }),
15968
- "./telemetry/open-telemetry-trace-emitter-factory.js": () => Promise.resolve().then(function () { return openTelemetryTraceEmitterFactory; }),
15969
- "./telemetry/trace-emitter-profile-factory.js": () => Promise.resolve().then(function () { return traceEmitterProfileFactory; }),
15970
- "./welcome/default-welcome-service-factory.js": () => Promise.resolve().then(function () { return defaultWelcomeServiceFactory; }),
15971
- };
15972
-
15973
- const FACTORY_MODULE_PREFIX$1 = '@naylence/runtime/naylence/fame/';
15974
- const BROWSER_DIST_SEGMENT = '/dist/browser/';
15975
- const NODE_ONLY_FACTORY_MODULES = new Set([
15976
- './connector/http-listener-factory.js',
15977
- './connector/websocket-listener-factory.js',
15978
- './telemetry/open-telemetry-trace-emitter-factory.js',
15979
- './security/credential/prompt-credential-provider-factory.js',
15980
- ]);
15981
- const BROWSER_ONLY_FACTORY_MODULES = new Set([
15982
- './security/auth/oauth2-pkce-token-provider-factory.js',
15983
- ]);
15984
- const isNodeEnvironment = typeof process !== 'undefined' && Boolean(process?.versions?.node);
15985
- function detectModuleUrl() {
15986
- // Prefer Node-friendly __filename when available.
15987
- if (typeof __filename === 'string') {
15988
- try {
15989
- const normalized = __filename.startsWith('file://')
15990
- ? __filename
15991
- : `file://${__filename}`;
15992
- return normalized;
15993
- }
15994
- catch {
15995
- // fall through to stack parsing
15996
- }
15997
- }
15998
- // Fallback to parsing the current stack trace to discover the executing module URL.
15999
- try {
16000
- throw new Error();
16001
- }
16002
- catch (error) {
16003
- const stack = typeof error === 'object' && error && 'stack' in error
16004
- ? String(error.stack ?? '')
16005
- : '';
16006
- const lines = stack.split('\n');
16007
- for (const line of lines) {
16008
- const match = line.match(/(https?:\/\/[^\s)]+|file:\/\/[^\s)]+|\/[^\s)]+\.(?:js|ts))/u);
16009
- if (!match) {
16010
- continue;
16011
- }
16012
- const candidate = match[1];
16013
- if (candidate.startsWith('http://') || candidate.startsWith('https://')) {
16014
- return candidate;
16015
- }
16016
- if (candidate.startsWith('file://')) {
16017
- return candidate;
16018
- }
16019
- return `file://${candidate}`;
16020
- }
16021
- }
16022
- return null;
16023
- }
16024
- function computeBrowserFactoryBase(rawUrl) {
16025
- if (!rawUrl) {
16026
- return null;
16027
- }
16028
- const sanitized = rawUrl.split('?')[0]?.split('#')[0] ?? rawUrl;
16029
- const esmMarker = '/dist/esm/naylence/fame/';
16030
- const browserMarker = '/dist/browser/';
16031
- const distMarker = '/dist/';
16032
- if (sanitized.includes(esmMarker)) {
16033
- return sanitized.slice(0, sanitized.indexOf(esmMarker) + esmMarker.length);
16034
- }
16035
- if (rawUrl.includes(BROWSER_DIST_SEGMENT)) {
16036
- return new URL('../esm/naylence/fame/', rawUrl).href;
16037
- }
16038
- if (rawUrl.startsWith('http://') || rawUrl.startsWith('https://')) {
16039
- try {
16040
- const parsed = new URL(rawUrl);
16041
- const viteDepsSegment = '/node_modules/.vite/deps/';
16042
- if (parsed.pathname.includes(viteDepsSegment)) {
16043
- const baseOrigin = `${parsed.protocol}//${parsed.host}`;
16044
- return `${baseOrigin}/node_modules/@naylence/runtime/dist/esm/naylence/fame/`;
16045
- }
16046
- }
16047
- catch {
16048
- // ignore and fall through to null
16049
- }
16050
- }
16051
- if (sanitized.includes(browserMarker)) {
16052
- const base = sanitized.slice(0, sanitized.indexOf(browserMarker) + browserMarker.length);
16053
- return `${base.replace(/browser\/?$/u, '')}esm/naylence/fame/`;
16054
- }
16055
- if (sanitized.includes(distMarker)) {
16056
- const index = sanitized.indexOf(distMarker);
16057
- const base = sanitized.slice(0, index + distMarker.length);
16058
- return `${base}esm/naylence/fame/`;
16059
- }
16060
- // Fallback for development: if this is a source file path, compute dist/esm path
16061
- const srcMarker = '/src/naylence/fame/';
16062
- if (sanitized.includes(srcMarker)) {
16063
- const index = sanitized.indexOf(srcMarker);
16064
- const projectRoot = sanitized.slice(0, index);
16065
- return `${projectRoot}/dist/esm/naylence/fame/`;
16066
- }
16067
- return null;
16068
- }
16069
- const moduleUrl = detectModuleUrl();
16070
- const browserFactoryBase = computeBrowserFactoryBase(moduleUrl);
16071
- function resolveFactoryModuleSpecifier$1(specifier) {
16072
- if (specifier.startsWith('../')) {
16073
- const relativePath = specifier.slice('../'.length);
16074
- return `${FACTORY_MODULE_PREFIX$1}${relativePath}`;
16075
- }
16076
- if (specifier.startsWith('./')) {
16077
- const relativePath = specifier.slice('./'.length);
16078
- return `${FACTORY_MODULE_PREFIX$1}${relativePath}`;
16079
- }
16080
- return null;
16081
- }
16082
- function resolveModuleCandidates(spec) {
16083
- const packageSpecifier = resolveFactoryModuleSpecifier$1(spec);
16084
- const candidates = [];
16085
- const preferSource = typeof moduleUrl === 'string' && moduleUrl.includes('/src/');
16086
- const addCandidate = (candidate) => {
16087
- if (!candidate) {
16088
- return;
16089
- }
16090
- if (!candidates.includes(candidate)) {
16091
- candidates.push(candidate);
16092
- }
16093
- };
16094
- if (preferSource && spec.startsWith('./')) {
16095
- const baseSource = `../${spec.slice(2)}`;
16096
- addCandidate(baseSource);
16097
- if (baseSource.endsWith('.js')) {
16098
- addCandidate(baseSource.replace(/\.js$/u, '.ts'));
16099
- }
16100
- }
16101
- if (browserFactoryBase && spec.startsWith('./')) {
16102
- const browserCandidate = new URL(spec.slice('./'.length), browserFactoryBase).href;
16103
- addCandidate(browserCandidate);
16104
- if (browserCandidate.endsWith('.js')) {
16105
- addCandidate(browserCandidate.replace(/\.js$/u, '.ts'));
16106
- }
16107
- }
16108
- if (packageSpecifier) {
16109
- addCandidate(packageSpecifier);
16110
- if (packageSpecifier.endsWith('.js')) {
16111
- addCandidate(packageSpecifier.replace(/\.js$/u, '.ts'));
16112
- }
16113
- }
16114
- const baseFallback = spec.startsWith('./') ? `../${spec.slice(2)}` : spec;
16115
- addCandidate(baseFallback);
16116
- if (baseFallback.endsWith('.js')) {
16117
- addCandidate(baseFallback.replace(/\.js$/u, '.ts'));
16118
- }
16119
- return candidates;
16120
- }
16121
- async function performRegistration(registry) {
16122
- await Promise.all(MODULES.map(async (spec) => {
16123
- if (!isNodeEnvironment && NODE_ONLY_FACTORY_MODULES.has(spec)) {
16124
- return;
16125
- }
16126
- if (isNodeEnvironment && BROWSER_ONLY_FACTORY_MODULES.has(spec)) {
16127
- return;
16128
- }
16129
- try {
16130
- let mod;
16131
- let lastError;
16132
- const staticLoader = MODULE_LOADERS?.[spec];
16133
- if (staticLoader) {
16134
- try {
16135
- mod = await staticLoader();
16136
- }
16137
- catch (error) {
16138
- lastError = error;
16139
- }
16140
- }
16141
- if (!mod) {
16142
- const candidates = resolveModuleCandidates(spec);
16143
- for (const [index, candidate] of candidates.entries()) {
16144
- try {
16145
- mod = await import(/* @vite-ignore */ candidate);
16146
- lastError = undefined;
16147
- break;
16148
- }
16149
- catch (error) {
16150
- lastError = error;
16151
- const isLastCandidate = index === candidates.length - 1;
16152
- if (isLastCandidate) {
16153
- throw error;
16154
- }
16155
- const message = error instanceof Error ? error.message : String(error);
16156
- const moduleNotFound = message.includes('Cannot find module') ||
16157
- message.includes('ERR_MODULE_NOT_FOUND') ||
16158
- message.includes('Unknown file extension') ||
16159
- message.includes('Failed to fetch dynamically imported module') ||
16160
- message.includes('Importing a module script failed');
16161
- if (!moduleNotFound) {
16162
- throw error;
16163
- }
16164
- }
16165
- }
16166
- }
16167
- if (!mod) {
16168
- throw (lastError ?? new Error(`Unable to import factory module: ${spec}`));
16169
- }
16170
- const meta = mod.FACTORY_META;
16171
- const Ctor = mod.default;
16172
- if (!meta?.base || !meta?.key || typeof Ctor !== 'function') {
16173
- console.warn('[factory-manifest] skipped', spec, '— missing FACTORY_META or default export ctor');
16174
- return;
16175
- }
16176
- registry.registerFactory(meta.base, meta.key, Ctor);
16177
- }
16178
- catch (error) {
16179
- const reason = error instanceof Error ? error.message : String(error);
16180
- console.warn('[factory-manifest] skipped', spec, '-', reason);
16181
- }
16182
- }));
16183
- }
16184
- async function registerDefaultFactories(registry = Registry) {
16185
- await performRegistration(registry);
16186
- }
16187
- /**
16188
- * Register all default Naylence runtime factories into the supplied registry.
16189
- *
16190
- * @param registry Registry implementation to receive the default runtime factories.
16191
- */
16192
- async function registerRuntimeFactories(registry = Registry) {
16193
- if (registry === Registry) {
16194
- await ensureDefaultRegistration();
16195
- return;
16196
- }
16197
- await performRegistration(registry);
16198
- }
16199
- let defaultRegistrationPromise = null;
16200
- let defaultRegistrationError = null;
16201
- async function ensureDefaultRegistration() {
16202
- if (defaultRegistrationError) {
16203
- throw defaultRegistrationError;
16204
- }
16205
- if (!defaultRegistrationPromise) {
16206
- defaultRegistrationError = null;
16207
- defaultRegistrationPromise = performRegistration(Registry).catch((error) => {
16208
- defaultRegistrationError = error;
16209
- defaultRegistrationPromise = null;
16210
- throw error;
16211
- });
16212
- }
16213
- await defaultRegistrationPromise;
16214
- }
16215
- async function ensureRuntimeFactoriesRegistered(registry = Registry) {
16216
- if (registry !== Registry) {
16217
- await performRegistration(registry);
16218
- return;
16219
- }
16220
- await ensureDefaultRegistration();
16221
- }
16222
-
16223
16250
  const NODE_LIKE_FACTORY_BASE_TYPE = 'NodeLikeFactory';
16224
16251
  class NodeLikeFactory extends AbstractResourceFactory {
16225
16252
  static async createNode(config, options = {}) {
@@ -35632,6 +35659,28 @@ async function main() {
35632
35659
  process.on('SIGTERM', () => shutdown('SIGTERM'));
35633
35660
  }
35634
35661
 
35662
+ // Always register the plugin directly. This ensures it is initialized even if
35663
+ // the dynamic import mechanism (used by FAME_PLUGINS) fails or is not used.
35664
+ (async () => {
35665
+ try {
35666
+ await runtimePlugin.register();
35667
+ }
35668
+ catch (err) {
35669
+ console.error('[naylence-runtime] Failed to auto-register plugin:', err);
35670
+ }
35671
+ })();
35672
+ // Auto-register the runtime plugin in FAME_PLUGINS for child processes
35673
+ if (typeof process !== 'undefined' && process.env) {
35674
+ const pluginName = '@naylence/runtime';
35675
+ const current = process.env.FAME_PLUGINS || '';
35676
+ const plugins = current.split(',').map((p) => p.trim());
35677
+ if (!plugins.includes(pluginName)) {
35678
+ process.env.FAME_PLUGINS = current
35679
+ ? `${current},${pluginName}`
35680
+ : pluginName;
35681
+ }
35682
+ }
35683
+
35635
35684
  /**
35636
35685
  * Base abstraction for message delivery policies.
35637
35686
  */
@@ -41269,31 +41318,104 @@ var traceEmitterProfileFactory = /*#__PURE__*/Object.freeze({
41269
41318
  default: TraceEmitterProfileFactory
41270
41319
  });
41271
41320
 
41272
- let initialized = false;
41273
- const runtimePlugin = {
41274
- name: 'naylence:runtime',
41275
- version: VERSION,
41276
- async register() {
41277
- // console.log('[naylence:runtime] register() called, initialized=', initialized);
41278
- if (initialized) {
41279
- // console.log('[naylence:runtime] already initialized, skipping');
41280
- return;
41321
+ class WebSocketTransportProvisioner {
41322
+ constructor(options) {
41323
+ this.url = options.url;
41324
+ this.ttlSec = options.ttlSec;
41325
+ }
41326
+ async provision(_decision, hello, _fullMetadata, attachToken) {
41327
+ const supportedTransports = hello.supportedTransports;
41328
+ if (Array.isArray(supportedTransports) && supportedTransports.length > 0) {
41329
+ const hasWebSocket = supportedTransports.includes(WebSocketTransportProvisioner.TRANSPORT_TYPE);
41330
+ if (!hasWebSocket) {
41331
+ throw new Error(`Unsupported transports: ${supportedTransports.join(', ')}`);
41332
+ }
41281
41333
  }
41282
- initialized = true;
41283
- // console.log('[naylence:runtime] registering runtime factories...');
41284
- // Register factories from manifest
41285
- await registerRuntimeFactories();
41286
- // Import modules with side-effect registrations (not in manifest)
41287
- await Promise.resolve().then(function () { return websocketTransportProvisioner; });
41288
- // console.log('[naylence:runtime] runtime factories registered');
41289
- },
41290
- };
41291
- const RUNTIME_PLUGIN_SPECIFIER = runtimePlugin.name;
41334
+ let authConfig;
41335
+ if (attachToken) {
41336
+ const tokenProviderConfig = {
41337
+ type: 'StaticTokenProvider',
41338
+ token: attachToken,
41339
+ };
41340
+ authConfig = {
41341
+ type: 'WebSocketSubprotocolAuth',
41342
+ tokenProvider: tokenProviderConfig,
41343
+ };
41344
+ }
41345
+ const grant = normalizeWebSocketConnectionGrant({
41346
+ type: WEBSOCKET_CONNECTION_GRANT_TYPE,
41347
+ purpose: GRANT_PURPOSE_NODE_ATTACH,
41348
+ url: this.url,
41349
+ auth: authConfig,
41350
+ });
41351
+ const result = {
41352
+ connectionGrant: grant,
41353
+ cleanupHandle: null,
41354
+ };
41355
+ if (this.ttlSec !== undefined) {
41356
+ result.metadata = {
41357
+ ...(result.metadata ?? {}),
41358
+ ttlSec: this.ttlSec,
41359
+ };
41360
+ }
41361
+ return result;
41362
+ }
41363
+ async deprovision(_cleanupHandle) {
41364
+ // No-op for stateless WebSocket transport provisioners
41365
+ }
41366
+ }
41367
+ WebSocketTransportProvisioner.TRANSPORT_TYPE = 'websocket';
41368
+ class WebSocketTransportProvisionerFactory extends TransportProvisionerFactory {
41369
+ constructor() {
41370
+ super(...arguments);
41371
+ this.type = 'WebSocketTransportProvisioner';
41372
+ this.isDefault = true;
41373
+ }
41374
+ async create(config) {
41375
+ const options = normalizeConfig(config);
41376
+ return new WebSocketTransportProvisioner(options);
41377
+ }
41378
+ }
41379
+ function normalizeConfig(config) {
41380
+ if (!config) {
41381
+ throw new Error('WebSocketTransportProvisioner requires configuration');
41382
+ }
41383
+ const candidate = config;
41384
+ const typeValue = typeof candidate.type === 'string' ? candidate.type : undefined;
41385
+ if (typeValue !== 'WebSocketTransportProvisioner') {
41386
+ throw new Error(`WebSocketTransportProvisionerFactory expects type "WebSocketTransportProvisioner", got "${typeValue ?? 'undefined'}"`);
41387
+ }
41388
+ const urlValue = candidate.url;
41389
+ if (typeof urlValue !== 'string' || urlValue.trim().length === 0) {
41390
+ throw new Error('WebSocketTransportProvisioner configuration must include a non-empty "url" string');
41391
+ }
41392
+ const ttlCandidate = (() => {
41393
+ const raw = candidate.ttlSec ?? candidate.ttl_sec ?? candidate.ttlSEC;
41394
+ if (typeof raw === 'number') {
41395
+ return raw;
41396
+ }
41397
+ if (typeof raw === 'string') {
41398
+ const parsed = Number(raw.trim());
41399
+ return Number.isFinite(parsed) ? parsed : undefined;
41400
+ }
41401
+ return undefined;
41402
+ })();
41403
+ const options = {
41404
+ url: urlValue.trim(),
41405
+ };
41406
+ if (typeof ttlCandidate === 'number' && Number.isFinite(ttlCandidate)) {
41407
+ options.ttlSec = ttlCandidate;
41408
+ }
41409
+ return options;
41410
+ }
41411
+ registerFactory(TRANSPORT_PROVISIONER_FACTORY_BASE_TYPE, 'WebSocketTransportProvisioner', WebSocketTransportProvisionerFactory, {
41412
+ isDefault: true,
41413
+ });
41292
41414
 
41293
- var plugin = /*#__PURE__*/Object.freeze({
41415
+ var websocketTransportProvisioner = /*#__PURE__*/Object.freeze({
41294
41416
  __proto__: null,
41295
- RUNTIME_PLUGIN_SPECIFIER: RUNTIME_PLUGIN_SPECIFIER,
41296
- default: runtimePlugin
41417
+ WebSocketTransportProvisioner: WebSocketTransportProvisioner,
41418
+ WebSocketTransportProvisionerFactory: WebSocketTransportProvisionerFactory
41297
41419
  });
41298
41420
 
41299
41421
  const logger$5 = getLogger('naylence.fame.security.auth.default_authorizer');
@@ -43539,104 +43661,4 @@ var otelSetup = /*#__PURE__*/Object.freeze({
43539
43661
  setupOtel: setupOtel
43540
43662
  });
43541
43663
 
43542
- class WebSocketTransportProvisioner {
43543
- constructor(options) {
43544
- this.url = options.url;
43545
- this.ttlSec = options.ttlSec;
43546
- }
43547
- async provision(_decision, hello, _fullMetadata, attachToken) {
43548
- const supportedTransports = hello.supportedTransports;
43549
- if (Array.isArray(supportedTransports) && supportedTransports.length > 0) {
43550
- const hasWebSocket = supportedTransports.includes(WebSocketTransportProvisioner.TRANSPORT_TYPE);
43551
- if (!hasWebSocket) {
43552
- throw new Error(`Unsupported transports: ${supportedTransports.join(', ')}`);
43553
- }
43554
- }
43555
- let authConfig;
43556
- if (attachToken) {
43557
- const tokenProviderConfig = {
43558
- type: 'StaticTokenProvider',
43559
- token: attachToken,
43560
- };
43561
- authConfig = {
43562
- type: 'WebSocketSubprotocolAuth',
43563
- tokenProvider: tokenProviderConfig,
43564
- };
43565
- }
43566
- const grant = normalizeWebSocketConnectionGrant({
43567
- type: WEBSOCKET_CONNECTION_GRANT_TYPE,
43568
- purpose: GRANT_PURPOSE_NODE_ATTACH,
43569
- url: this.url,
43570
- auth: authConfig,
43571
- });
43572
- const result = {
43573
- connectionGrant: grant,
43574
- cleanupHandle: null,
43575
- };
43576
- if (this.ttlSec !== undefined) {
43577
- result.metadata = {
43578
- ...(result.metadata ?? {}),
43579
- ttlSec: this.ttlSec,
43580
- };
43581
- }
43582
- return result;
43583
- }
43584
- async deprovision(_cleanupHandle) {
43585
- // No-op for stateless WebSocket transport provisioners
43586
- }
43587
- }
43588
- WebSocketTransportProvisioner.TRANSPORT_TYPE = 'websocket';
43589
- class WebSocketTransportProvisionerFactory extends TransportProvisionerFactory {
43590
- constructor() {
43591
- super(...arguments);
43592
- this.type = 'WebSocketTransportProvisioner';
43593
- this.isDefault = true;
43594
- }
43595
- async create(config) {
43596
- const options = normalizeConfig(config);
43597
- return new WebSocketTransportProvisioner(options);
43598
- }
43599
- }
43600
- function normalizeConfig(config) {
43601
- if (!config) {
43602
- throw new Error('WebSocketTransportProvisioner requires configuration');
43603
- }
43604
- const candidate = config;
43605
- const typeValue = typeof candidate.type === 'string' ? candidate.type : undefined;
43606
- if (typeValue !== 'WebSocketTransportProvisioner') {
43607
- throw new Error(`WebSocketTransportProvisionerFactory expects type "WebSocketTransportProvisioner", got "${typeValue ?? 'undefined'}"`);
43608
- }
43609
- const urlValue = candidate.url;
43610
- if (typeof urlValue !== 'string' || urlValue.trim().length === 0) {
43611
- throw new Error('WebSocketTransportProvisioner configuration must include a non-empty "url" string');
43612
- }
43613
- const ttlCandidate = (() => {
43614
- const raw = candidate.ttlSec ?? candidate.ttl_sec ?? candidate.ttlSEC;
43615
- if (typeof raw === 'number') {
43616
- return raw;
43617
- }
43618
- if (typeof raw === 'string') {
43619
- const parsed = Number(raw.trim());
43620
- return Number.isFinite(parsed) ? parsed : undefined;
43621
- }
43622
- return undefined;
43623
- })();
43624
- const options = {
43625
- url: urlValue.trim(),
43626
- };
43627
- if (typeof ttlCandidate === 'number' && Number.isFinite(ttlCandidate)) {
43628
- options.ttlSec = ttlCandidate;
43629
- }
43630
- return options;
43631
- }
43632
- registerFactory(TRANSPORT_PROVISIONER_FACTORY_BASE_TYPE, 'WebSocketTransportProvisioner', WebSocketTransportProvisionerFactory, {
43633
- isDefault: true,
43634
- });
43635
-
43636
- var websocketTransportProvisioner = /*#__PURE__*/Object.freeze({
43637
- __proto__: null,
43638
- WebSocketTransportProvisioner: WebSocketTransportProvisioner,
43639
- WebSocketTransportProvisionerFactory: WebSocketTransportProvisionerFactory
43640
- });
43641
-
43642
43664
  export { ADMISSION_CLIENT_FACTORY_BASE_TYPE, ATTACHMENT_KEY_VALIDATOR_FACTORY_BASE_TYPE, AUTHORIZER_FACTORY_BASE_TYPE, AUTH_INJECTION_STRATEGY_FACTORY_BASE_TYPE, AnsiColor, AsyncLock, AttachmentKeyValidator, AuthInjectionStrategyFactory, AuthorizerFactory, BROADCAST_CHANNEL_CONNECTION_GRANT_TYPE, BackPressureFull, BaseAsyncConnector, BaseNodeEventListener, BindingManager, BindingStoreEntryRecord, BrowserAutoKeyCredentialProvider, BrowserWrappedKeyCredentialProvider, CERTIFICATE_MANAGER_FACTORY_BASE_TYPE, CREDENTIAL_PROVIDER_FACTORY_BASE_TYPE, CRYPTO_LEVEL_SECURITY_ORDER, CertificateManagerFactory, ConnectorConfigDefaults, ConnectorFactory, ConsoleMetricsEmitter, CryptoLevel, FACTORY_META$_ as DEFAULT_WELCOME_FACTORY_META, 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_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_SHOW_ENVELOPES$1 as ENV_VAR_SHOW_ENVELOPES, EdDSAEnvelopeSigner, EncryptedKeyValueStore, EncryptedStorageProviderBase, EncryptedValue, EncryptionConfiguration, EncryptionManagerFactory, EncryptionResult, EncryptionStatus, EnvCredentialProvider, EnvelopeContext, EnvelopeListenerManager, EnvelopeSecurityHandler, EnvelopeSignerFactory, EnvelopeVerifierFactory, FACTORY_META$$ 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, KeyInfo, KeyManagementHandler, KeyManagerFactory, KeyStore, KeyStoreFactory, KeyValidationError, LOAD_BALANCER_STICKINESS_MANAGER_FACTORY_BASE_TYPE, LoadBalancerStickinessManagerFactory, LogLevel, LogLevelNames, 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_CURVES_BY_KTY, VALID_KEY_USES, VERSION, WEBSOCKET_CONNECTION_GRANT_TYPE, WELCOME_SERVICE_FACTORY_BASE_TYPE, WebSocketCloseCode, WebSocketConnector, WebSocketListener, WebSocketState, WelcomeServiceFactory, _NoopFlowController, __runtimePluginLoader, addEnvelopeFields, addLogLevel, addTimestamp, assertConnectionGrant, assertGrant, basicConfig, broadcastChannelGrantToConnectorConfig, camelToSnakeCase, canonicalJson, capitalizeFirstLetter, color, compareCryptoLevels, 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, extractId, extractPoolAddressBase, extractPoolBase, filterKeysByUse, formatTimestamp, formatTimestampForConsole$1 as formatTimestampForConsole, frameDigest, 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$3 as isPlainObject, isPoolAddress, isPoolLogical, isRegisterable, isTokenExpired, isTokenProvider, isTokenValid, isWebSocketConnectionGrant, jsonDumps, logicalPatternsToDnsConstraints, logicalToHostname, logicalsToHostnames, matchesPoolAddress, matchesPoolLogical, maybeAwait, nodeWelcomeRouter, nodeWelcomeRouterPlugin, normalizeBroadcastChannelConnectionGrant, normalizeEncryptionConfig, normalizeEnvelopeSnapshot, normalizeExtendedFameConfig, normalizeHttpConnectionGrant, normalizeInPageConnectionGrant, normalizeInboundCryptoRules, normalizeInboundSigningRules, normalizeOutboundCryptoRules, normalizeOutboundSigningRules, normalizePath, normalizeResponseCryptoRules, normalizeResponseSigningRules, 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 };