@naylence/runtime 0.3.17 → 0.3.19

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.
@@ -515,12 +515,12 @@ async function ensureRuntimeFactoriesRegistered(registry = factory.Registry) {
515
515
  }
516
516
 
517
517
  // This file is auto-generated during build - do not edit manually
518
- // Generated from package.json version: 0.3.17
518
+ // Generated from package.json version: 0.3.19
519
519
  /**
520
520
  * The package version, injected at build time.
521
521
  * @internal
522
522
  */
523
- const VERSION = '0.3.17';
523
+ const VERSION = '0.3.19';
524
524
 
525
525
  let initialized = false;
526
526
  const runtimePlugin = {
@@ -25863,9 +25863,15 @@ class DefaultSecurityManager {
25863
25863
  hasNodeAttachValidation(authorizer)) {
25864
25864
  try {
25865
25865
  const validated = await authorizer.validateNodeAttachRequest(_node, envelope.frame, authResult);
25866
- if (validated) {
25867
- finalAuthResult = validated;
25866
+ if (validated === undefined) {
25867
+ logger$z.warning('node_attach_validation_rejected', {
25868
+ envp_id: envelope.id,
25869
+ frame_type: envelope.frame.type,
25870
+ origin_type: context.originType ?? 'unknown',
25871
+ });
25872
+ return null;
25868
25873
  }
25874
+ finalAuthResult = validated;
25869
25875
  }
25870
25876
  catch (error) {
25871
25877
  logger$z.error('node_attach_authorization_validation_failed', {
@@ -28228,6 +28234,7 @@ const ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = 'FAME_DEFAULT_ENCRYPTION_LEVEL';
28228
28234
  const ENV_VAR_HMAC_SECRET = 'FAME_HMAC_SECRET';
28229
28235
  const ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = 'FAME_JWT_REVERSE_AUTH_TRUSTED_ISSUER';
28230
28236
  const ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = 'FAME_JWT_REVERSE_AUTH_AUDIENCE';
28237
+ const ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = 'FAME_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY';
28231
28238
  const PROFILE_NAME_STRICT_OVERLAY = 'strict-overlay';
28232
28239
  const PROFILE_NAME_OVERLAY = 'overlay';
28233
28240
  const PROFILE_NAME_OVERLAY_CALLBACK = 'overlay-callback';
@@ -28463,6 +28470,7 @@ const GATED_PROFILE = {
28463
28470
  max_ttl_sec: 86400,
28464
28471
  algorithm: factory.Expressions.env(ENV_VAR_JWT_ALGORITHM, 'RS256'),
28465
28472
  audience: factory.Expressions.env(ENV_VAR_JWT_AUDIENCE$1),
28473
+ enforce_token_subject_node_identity: factory.Expressions.env(ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, 'false'),
28466
28474
  },
28467
28475
  };
28468
28476
  const GATED_CALLBACK_PROFILE = {
@@ -28669,6 +28677,7 @@ function deepClone$3(value) {
28669
28677
  var nodeSecurityProfileFactory = /*#__PURE__*/Object.freeze({
28670
28678
  __proto__: null,
28671
28679
  ENV_VAR_DEFAULT_ENCRYPTION_LEVEL: ENV_VAR_DEFAULT_ENCRYPTION_LEVEL,
28680
+ ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY: ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY,
28672
28681
  ENV_VAR_HMAC_SECRET: ENV_VAR_HMAC_SECRET,
28673
28682
  ENV_VAR_JWKS_URL: ENV_VAR_JWKS_URL,
28674
28683
  ENV_VAR_JWT_ALGORITHM: ENV_VAR_JWT_ALGORITHM,
@@ -34778,11 +34787,8 @@ function normalizeConfig$c(config) {
34778
34787
  : typeof source.reverse_auth_ttl_sec === 'number'
34779
34788
  ? source.reverse_auth_ttl_sec
34780
34789
  : DEFAULT_REVERSE_AUTH_TTL_SEC;
34781
- const enforceTokenSubjectNodeIdentity = typeof source.enforceTokenSubjectNodeIdentity === 'boolean'
34782
- ? source.enforceTokenSubjectNodeIdentity
34783
- : typeof source.enforce_token_subject_node_identity === 'boolean'
34784
- ? source.enforce_token_subject_node_identity
34785
- : false;
34790
+ const enforceTokenSubjectNodeIdentity = normalizeBooleanOption(source.enforceTokenSubjectNodeIdentity ??
34791
+ source.enforce_token_subject_node_identity, false);
34786
34792
  const tokenVerifierConfigInput = source.tokenVerifierConfig ?? source.token_verifier_config ?? null;
34787
34793
  const tokenVerifierConfig = normalizeTokenVerifierConfig({
34788
34794
  config: tokenVerifierConfigInput,
@@ -34822,6 +34828,21 @@ function normalizeTokenVerifierConfig({ config, issuer, jwksUrl, algorithm, }) {
34822
34828
  };
34823
34829
  return defaultConfig;
34824
34830
  }
34831
+ function normalizeBooleanOption(value, defaultValue) {
34832
+ if (typeof value === 'boolean') {
34833
+ return value;
34834
+ }
34835
+ if (typeof value === 'string') {
34836
+ const lower = value.toLowerCase().trim();
34837
+ if (lower === 'true' || lower === '1' || lower === 'yes') {
34838
+ return true;
34839
+ }
34840
+ if (lower === 'false' || lower === '0' || lower === 'no') {
34841
+ return false;
34842
+ }
34843
+ }
34844
+ return defaultValue;
34845
+ }
34825
34846
 
34826
34847
  var oauth2AuthorizerFactory = /*#__PURE__*/Object.freeze({
34827
34848
  __proto__: null,
@@ -513,12 +513,12 @@ async function ensureRuntimeFactoriesRegistered(registry = Registry) {
513
513
  }
514
514
 
515
515
  // This file is auto-generated during build - do not edit manually
516
- // Generated from package.json version: 0.3.17
516
+ // Generated from package.json version: 0.3.19
517
517
  /**
518
518
  * The package version, injected at build time.
519
519
  * @internal
520
520
  */
521
- const VERSION = '0.3.17';
521
+ const VERSION = '0.3.19';
522
522
 
523
523
  let initialized = false;
524
524
  const runtimePlugin = {
@@ -25861,9 +25861,15 @@ class DefaultSecurityManager {
25861
25861
  hasNodeAttachValidation(authorizer)) {
25862
25862
  try {
25863
25863
  const validated = await authorizer.validateNodeAttachRequest(_node, envelope.frame, authResult);
25864
- if (validated) {
25865
- finalAuthResult = validated;
25864
+ if (validated === undefined) {
25865
+ logger$z.warning('node_attach_validation_rejected', {
25866
+ envp_id: envelope.id,
25867
+ frame_type: envelope.frame.type,
25868
+ origin_type: context.originType ?? 'unknown',
25869
+ });
25870
+ return null;
25866
25871
  }
25872
+ finalAuthResult = validated;
25867
25873
  }
25868
25874
  catch (error) {
25869
25875
  logger$z.error('node_attach_authorization_validation_failed', {
@@ -28226,6 +28232,7 @@ const ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = 'FAME_DEFAULT_ENCRYPTION_LEVEL';
28226
28232
  const ENV_VAR_HMAC_SECRET = 'FAME_HMAC_SECRET';
28227
28233
  const ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = 'FAME_JWT_REVERSE_AUTH_TRUSTED_ISSUER';
28228
28234
  const ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = 'FAME_JWT_REVERSE_AUTH_AUDIENCE';
28235
+ const ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = 'FAME_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY';
28229
28236
  const PROFILE_NAME_STRICT_OVERLAY = 'strict-overlay';
28230
28237
  const PROFILE_NAME_OVERLAY = 'overlay';
28231
28238
  const PROFILE_NAME_OVERLAY_CALLBACK = 'overlay-callback';
@@ -28461,6 +28468,7 @@ const GATED_PROFILE = {
28461
28468
  max_ttl_sec: 86400,
28462
28469
  algorithm: Expressions.env(ENV_VAR_JWT_ALGORITHM, 'RS256'),
28463
28470
  audience: Expressions.env(ENV_VAR_JWT_AUDIENCE$1),
28471
+ enforce_token_subject_node_identity: Expressions.env(ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, 'false'),
28464
28472
  },
28465
28473
  };
28466
28474
  const GATED_CALLBACK_PROFILE = {
@@ -28667,6 +28675,7 @@ function deepClone$3(value) {
28667
28675
  var nodeSecurityProfileFactory = /*#__PURE__*/Object.freeze({
28668
28676
  __proto__: null,
28669
28677
  ENV_VAR_DEFAULT_ENCRYPTION_LEVEL: ENV_VAR_DEFAULT_ENCRYPTION_LEVEL,
28678
+ ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY: ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY,
28670
28679
  ENV_VAR_HMAC_SECRET: ENV_VAR_HMAC_SECRET,
28671
28680
  ENV_VAR_JWKS_URL: ENV_VAR_JWKS_URL,
28672
28681
  ENV_VAR_JWT_ALGORITHM: ENV_VAR_JWT_ALGORITHM,
@@ -34776,11 +34785,8 @@ function normalizeConfig$c(config) {
34776
34785
  : typeof source.reverse_auth_ttl_sec === 'number'
34777
34786
  ? source.reverse_auth_ttl_sec
34778
34787
  : DEFAULT_REVERSE_AUTH_TTL_SEC;
34779
- const enforceTokenSubjectNodeIdentity = typeof source.enforceTokenSubjectNodeIdentity === 'boolean'
34780
- ? source.enforceTokenSubjectNodeIdentity
34781
- : typeof source.enforce_token_subject_node_identity === 'boolean'
34782
- ? source.enforce_token_subject_node_identity
34783
- : false;
34788
+ const enforceTokenSubjectNodeIdentity = normalizeBooleanOption(source.enforceTokenSubjectNodeIdentity ??
34789
+ source.enforce_token_subject_node_identity, false);
34784
34790
  const tokenVerifierConfigInput = source.tokenVerifierConfig ?? source.token_verifier_config ?? null;
34785
34791
  const tokenVerifierConfig = normalizeTokenVerifierConfig({
34786
34792
  config: tokenVerifierConfigInput,
@@ -34820,6 +34826,21 @@ function normalizeTokenVerifierConfig({ config, issuer, jwksUrl, algorithm, }) {
34820
34826
  };
34821
34827
  return defaultConfig;
34822
34828
  }
34829
+ function normalizeBooleanOption(value, defaultValue) {
34830
+ if (typeof value === 'boolean') {
34831
+ return value;
34832
+ }
34833
+ if (typeof value === 'string') {
34834
+ const lower = value.toLowerCase().trim();
34835
+ if (lower === 'true' || lower === '1' || lower === 'yes') {
34836
+ return true;
34837
+ }
34838
+ if (lower === 'false' || lower === '0' || lower === 'no') {
34839
+ return false;
34840
+ }
34841
+ }
34842
+ return defaultValue;
34843
+ }
34823
34844
 
34824
34845
  var oauth2AuthorizerFactory = /*#__PURE__*/Object.freeze({
34825
34846
  __proto__: null,
@@ -155,11 +155,8 @@ function normalizeConfig(config) {
155
155
  : typeof source.reverse_auth_ttl_sec === 'number'
156
156
  ? source.reverse_auth_ttl_sec
157
157
  : ttl_constants_js_1.DEFAULT_REVERSE_AUTH_TTL_SEC;
158
- const enforceTokenSubjectNodeIdentity = typeof source.enforceTokenSubjectNodeIdentity === 'boolean'
159
- ? source.enforceTokenSubjectNodeIdentity
160
- : typeof source.enforce_token_subject_node_identity === 'boolean'
161
- ? source.enforce_token_subject_node_identity
162
- : false;
158
+ const enforceTokenSubjectNodeIdentity = normalizeBooleanOption(source.enforceTokenSubjectNodeIdentity ??
159
+ source.enforce_token_subject_node_identity, false);
163
160
  const tokenVerifierConfigInput = source.tokenVerifierConfig ?? source.token_verifier_config ?? null;
164
161
  const tokenVerifierConfig = normalizeTokenVerifierConfig({
165
162
  config: tokenVerifierConfigInput,
@@ -199,4 +196,19 @@ function normalizeTokenVerifierConfig({ config, issuer, jwksUrl, algorithm, }) {
199
196
  };
200
197
  return defaultConfig;
201
198
  }
199
+ function normalizeBooleanOption(value, defaultValue) {
200
+ if (typeof value === 'boolean') {
201
+ return value;
202
+ }
203
+ if (typeof value === 'string') {
204
+ const lower = value.toLowerCase().trim();
205
+ if (lower === 'true' || lower === '1' || lower === 'yes') {
206
+ return true;
207
+ }
208
+ if (lower === 'false' || lower === '0' || lower === 'no') {
209
+ return false;
210
+ }
211
+ }
212
+ return defaultValue;
213
+ }
202
214
  exports.default = OAuth2AuthorizerFactory;
@@ -692,9 +692,15 @@ class DefaultSecurityManager {
692
692
  hasNodeAttachValidation(authorizer)) {
693
693
  try {
694
694
  const validated = await authorizer.validateNodeAttachRequest(_node, envelope.frame, authResult);
695
- if (validated) {
696
- finalAuthResult = validated;
695
+ if (validated === undefined) {
696
+ logger.warning('node_attach_validation_rejected', {
697
+ envp_id: envelope.id,
698
+ frame_type: envelope.frame.type,
699
+ origin_type: context.originType ?? 'unknown',
700
+ });
701
+ return null;
697
702
  }
703
+ finalAuthResult = validated;
698
704
  }
699
705
  catch (error) {
700
706
  logger.error('node_attach_authorization_validation_failed', {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NodeSecurityProfileFactory = exports.FACTORY_META = exports.PROFILE_NAME_OPEN = exports.PROFILE_NAME_GATED_CALLBACK = exports.PROFILE_NAME_GATED = exports.PROFILE_NAME_OVERLAY_CALLBACK = exports.PROFILE_NAME_OVERLAY = exports.PROFILE_NAME_STRICT_OVERLAY = exports.ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = exports.ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = exports.ENV_VAR_HMAC_SECRET = exports.ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = exports.ENV_VAR_JWKS_URL = exports.ENV_VAR_JWT_AUDIENCE = exports.ENV_VAR_JWT_ALGORITHM = exports.ENV_VAR_JWT_TRUSTED_ISSUER = void 0;
3
+ exports.NodeSecurityProfileFactory = exports.FACTORY_META = exports.PROFILE_NAME_OPEN = exports.PROFILE_NAME_GATED_CALLBACK = exports.PROFILE_NAME_GATED = exports.PROFILE_NAME_OVERLAY_CALLBACK = exports.PROFILE_NAME_OVERLAY = exports.PROFILE_NAME_STRICT_OVERLAY = exports.ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = exports.ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = exports.ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = exports.ENV_VAR_HMAC_SECRET = exports.ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = exports.ENV_VAR_JWKS_URL = exports.ENV_VAR_JWT_AUDIENCE = exports.ENV_VAR_JWT_ALGORITHM = exports.ENV_VAR_JWT_TRUSTED_ISSUER = void 0;
4
4
  const factory_1 = require("@naylence/factory");
5
5
  const security_manager_factory_js_1 = require("./security-manager-factory.js");
6
6
  const logging_js_1 = require("../util/logging.js");
@@ -13,6 +13,7 @@ exports.ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = 'FAME_DEFAULT_ENCRYPTION_LEVEL';
13
13
  exports.ENV_VAR_HMAC_SECRET = 'FAME_HMAC_SECRET';
14
14
  exports.ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = 'FAME_JWT_REVERSE_AUTH_TRUSTED_ISSUER';
15
15
  exports.ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = 'FAME_JWT_REVERSE_AUTH_AUDIENCE';
16
+ exports.ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = 'FAME_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY';
16
17
  exports.PROFILE_NAME_STRICT_OVERLAY = 'strict-overlay';
17
18
  exports.PROFILE_NAME_OVERLAY = 'overlay';
18
19
  exports.PROFILE_NAME_OVERLAY_CALLBACK = 'overlay-callback';
@@ -248,6 +249,7 @@ const GATED_PROFILE = {
248
249
  max_ttl_sec: 86400,
249
250
  algorithm: factory_1.Expressions.env(exports.ENV_VAR_JWT_ALGORITHM, 'RS256'),
250
251
  audience: factory_1.Expressions.env(exports.ENV_VAR_JWT_AUDIENCE),
252
+ enforce_token_subject_node_identity: factory_1.Expressions.env(exports.ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, 'false'),
251
253
  },
252
254
  };
253
255
  const GATED_CALLBACK_PROFILE = {
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  // This file is auto-generated during build - do not edit manually
3
- // Generated from package.json version: 0.3.17
3
+ // Generated from package.json version: 0.3.19
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.VERSION = void 0;
6
6
  /**
7
7
  * The package version, injected at build time.
8
8
  * @internal
9
9
  */
10
- exports.VERSION = '0.3.17';
10
+ exports.VERSION = '0.3.19';
@@ -118,11 +118,8 @@ function normalizeConfig(config) {
118
118
  : typeof source.reverse_auth_ttl_sec === 'number'
119
119
  ? source.reverse_auth_ttl_sec
120
120
  : DEFAULT_REVERSE_AUTH_TTL_SEC;
121
- const enforceTokenSubjectNodeIdentity = typeof source.enforceTokenSubjectNodeIdentity === 'boolean'
122
- ? source.enforceTokenSubjectNodeIdentity
123
- : typeof source.enforce_token_subject_node_identity === 'boolean'
124
- ? source.enforce_token_subject_node_identity
125
- : false;
121
+ const enforceTokenSubjectNodeIdentity = normalizeBooleanOption(source.enforceTokenSubjectNodeIdentity ??
122
+ source.enforce_token_subject_node_identity, false);
126
123
  const tokenVerifierConfigInput = source.tokenVerifierConfig ?? source.token_verifier_config ?? null;
127
124
  const tokenVerifierConfig = normalizeTokenVerifierConfig({
128
125
  config: tokenVerifierConfigInput,
@@ -162,4 +159,19 @@ function normalizeTokenVerifierConfig({ config, issuer, jwksUrl, algorithm, }) {
162
159
  };
163
160
  return defaultConfig;
164
161
  }
162
+ function normalizeBooleanOption(value, defaultValue) {
163
+ if (typeof value === 'boolean') {
164
+ return value;
165
+ }
166
+ if (typeof value === 'string') {
167
+ const lower = value.toLowerCase().trim();
168
+ if (lower === 'true' || lower === '1' || lower === 'yes') {
169
+ return true;
170
+ }
171
+ if (lower === 'false' || lower === '0' || lower === 'no') {
172
+ return false;
173
+ }
174
+ }
175
+ return defaultValue;
176
+ }
165
177
  export default OAuth2AuthorizerFactory;
@@ -689,9 +689,15 @@ export class DefaultSecurityManager {
689
689
  hasNodeAttachValidation(authorizer)) {
690
690
  try {
691
691
  const validated = await authorizer.validateNodeAttachRequest(_node, envelope.frame, authResult);
692
- if (validated) {
693
- finalAuthResult = validated;
692
+ if (validated === undefined) {
693
+ logger.warning('node_attach_validation_rejected', {
694
+ envp_id: envelope.id,
695
+ frame_type: envelope.frame.type,
696
+ origin_type: context.originType ?? 'unknown',
697
+ });
698
+ return null;
694
699
  }
700
+ finalAuthResult = validated;
695
701
  }
696
702
  catch (error) {
697
703
  logger.error('node_attach_authorization_validation_failed', {
@@ -10,6 +10,7 @@ export const ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = 'FAME_DEFAULT_ENCRYPTION_LEVEL';
10
10
  export const ENV_VAR_HMAC_SECRET = 'FAME_HMAC_SECRET';
11
11
  export const ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = 'FAME_JWT_REVERSE_AUTH_TRUSTED_ISSUER';
12
12
  export const ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = 'FAME_JWT_REVERSE_AUTH_AUDIENCE';
13
+ export const ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = 'FAME_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY';
13
14
  export const PROFILE_NAME_STRICT_OVERLAY = 'strict-overlay';
14
15
  export const PROFILE_NAME_OVERLAY = 'overlay';
15
16
  export const PROFILE_NAME_OVERLAY_CALLBACK = 'overlay-callback';
@@ -245,6 +246,7 @@ const GATED_PROFILE = {
245
246
  max_ttl_sec: 86400,
246
247
  algorithm: Expressions.env(ENV_VAR_JWT_ALGORITHM, 'RS256'),
247
248
  audience: Expressions.env(ENV_VAR_JWT_AUDIENCE),
249
+ enforce_token_subject_node_identity: Expressions.env(ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, 'false'),
248
250
  },
249
251
  };
250
252
  const GATED_CALLBACK_PROFILE = {
@@ -1,7 +1,7 @@
1
1
  // This file is auto-generated during build - do not edit manually
2
- // Generated from package.json version: 0.3.17
2
+ // Generated from package.json version: 0.3.19
3
3
  /**
4
4
  * The package version, injected at build time.
5
5
  * @internal
6
6
  */
7
- export const VERSION = '0.3.17';
7
+ export const VERSION = '0.3.19';
@@ -14,12 +14,12 @@ var fastify = require('fastify');
14
14
  var websocketPlugin = require('@fastify/websocket');
15
15
 
16
16
  // This file is auto-generated during build - do not edit manually
17
- // Generated from package.json version: 0.3.17
17
+ // Generated from package.json version: 0.3.19
18
18
  /**
19
19
  * The package version, injected at build time.
20
20
  * @internal
21
21
  */
22
- const VERSION = '0.3.17';
22
+ const VERSION = '0.3.19';
23
23
 
24
24
  /**
25
25
  * Fame protocol specific error classes with WebSocket close codes and proper inheritance.
@@ -25750,9 +25750,15 @@ class DefaultSecurityManager {
25750
25750
  hasNodeAttachValidation(authorizer)) {
25751
25751
  try {
25752
25752
  const validated = await authorizer.validateNodeAttachRequest(_node, envelope.frame, authResult);
25753
- if (validated) {
25754
- finalAuthResult = validated;
25753
+ if (validated === undefined) {
25754
+ logger$z.warning('node_attach_validation_rejected', {
25755
+ envp_id: envelope.id,
25756
+ frame_type: envelope.frame.type,
25757
+ origin_type: context.originType ?? 'unknown',
25758
+ });
25759
+ return null;
25755
25760
  }
25761
+ finalAuthResult = validated;
25756
25762
  }
25757
25763
  catch (error) {
25758
25764
  logger$z.error('node_attach_authorization_validation_failed', {
@@ -28115,6 +28121,7 @@ const ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = 'FAME_DEFAULT_ENCRYPTION_LEVEL';
28115
28121
  const ENV_VAR_HMAC_SECRET = 'FAME_HMAC_SECRET';
28116
28122
  const ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = 'FAME_JWT_REVERSE_AUTH_TRUSTED_ISSUER';
28117
28123
  const ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = 'FAME_JWT_REVERSE_AUTH_AUDIENCE';
28124
+ const ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = 'FAME_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY';
28118
28125
  const PROFILE_NAME_STRICT_OVERLAY = 'strict-overlay';
28119
28126
  const PROFILE_NAME_OVERLAY = 'overlay';
28120
28127
  const PROFILE_NAME_OVERLAY_CALLBACK = 'overlay-callback';
@@ -28350,6 +28357,7 @@ const GATED_PROFILE = {
28350
28357
  max_ttl_sec: 86400,
28351
28358
  algorithm: factory.Expressions.env(ENV_VAR_JWT_ALGORITHM, 'RS256'),
28352
28359
  audience: factory.Expressions.env(ENV_VAR_JWT_AUDIENCE$1),
28360
+ enforce_token_subject_node_identity: factory.Expressions.env(ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, 'false'),
28353
28361
  },
28354
28362
  };
28355
28363
  const GATED_CALLBACK_PROFILE = {
@@ -28556,6 +28564,7 @@ function deepClone$3(value) {
28556
28564
  var nodeSecurityProfileFactory = /*#__PURE__*/Object.freeze({
28557
28565
  __proto__: null,
28558
28566
  ENV_VAR_DEFAULT_ENCRYPTION_LEVEL: ENV_VAR_DEFAULT_ENCRYPTION_LEVEL,
28567
+ ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY: ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY,
28559
28568
  ENV_VAR_HMAC_SECRET: ENV_VAR_HMAC_SECRET,
28560
28569
  ENV_VAR_JWKS_URL: ENV_VAR_JWKS_URL,
28561
28570
  ENV_VAR_JWT_ALGORITHM: ENV_VAR_JWT_ALGORITHM,
@@ -33328,11 +33337,8 @@ function normalizeConfig$c(config) {
33328
33337
  : typeof source.reverse_auth_ttl_sec === 'number'
33329
33338
  ? source.reverse_auth_ttl_sec
33330
33339
  : DEFAULT_REVERSE_AUTH_TTL_SEC;
33331
- const enforceTokenSubjectNodeIdentity = typeof source.enforceTokenSubjectNodeIdentity === 'boolean'
33332
- ? source.enforceTokenSubjectNodeIdentity
33333
- : typeof source.enforce_token_subject_node_identity === 'boolean'
33334
- ? source.enforce_token_subject_node_identity
33335
- : false;
33340
+ const enforceTokenSubjectNodeIdentity = normalizeBooleanOption(source.enforceTokenSubjectNodeIdentity ??
33341
+ source.enforce_token_subject_node_identity, false);
33336
33342
  const tokenVerifierConfigInput = source.tokenVerifierConfig ?? source.token_verifier_config ?? null;
33337
33343
  const tokenVerifierConfig = normalizeTokenVerifierConfig({
33338
33344
  config: tokenVerifierConfigInput,
@@ -33372,6 +33378,21 @@ function normalizeTokenVerifierConfig({ config, issuer, jwksUrl, algorithm, }) {
33372
33378
  };
33373
33379
  return defaultConfig;
33374
33380
  }
33381
+ function normalizeBooleanOption(value, defaultValue) {
33382
+ if (typeof value === 'boolean') {
33383
+ return value;
33384
+ }
33385
+ if (typeof value === 'string') {
33386
+ const lower = value.toLowerCase().trim();
33387
+ if (lower === 'true' || lower === '1' || lower === 'yes') {
33388
+ return true;
33389
+ }
33390
+ if (lower === 'false' || lower === '0' || lower === 'no') {
33391
+ return false;
33392
+ }
33393
+ }
33394
+ return defaultValue;
33395
+ }
33375
33396
 
33376
33397
  var oauth2AuthorizerFactory = /*#__PURE__*/Object.freeze({
33377
33398
  __proto__: null,
@@ -13,12 +13,12 @@ import fastify from 'fastify';
13
13
  import websocketPlugin from '@fastify/websocket';
14
14
 
15
15
  // This file is auto-generated during build - do not edit manually
16
- // Generated from package.json version: 0.3.17
16
+ // Generated from package.json version: 0.3.19
17
17
  /**
18
18
  * The package version, injected at build time.
19
19
  * @internal
20
20
  */
21
- const VERSION = '0.3.17';
21
+ const VERSION = '0.3.19';
22
22
 
23
23
  /**
24
24
  * Fame protocol specific error classes with WebSocket close codes and proper inheritance.
@@ -25749,9 +25749,15 @@ class DefaultSecurityManager {
25749
25749
  hasNodeAttachValidation(authorizer)) {
25750
25750
  try {
25751
25751
  const validated = await authorizer.validateNodeAttachRequest(_node, envelope.frame, authResult);
25752
- if (validated) {
25753
- finalAuthResult = validated;
25752
+ if (validated === undefined) {
25753
+ logger$z.warning('node_attach_validation_rejected', {
25754
+ envp_id: envelope.id,
25755
+ frame_type: envelope.frame.type,
25756
+ origin_type: context.originType ?? 'unknown',
25757
+ });
25758
+ return null;
25754
25759
  }
25760
+ finalAuthResult = validated;
25755
25761
  }
25756
25762
  catch (error) {
25757
25763
  logger$z.error('node_attach_authorization_validation_failed', {
@@ -28114,6 +28120,7 @@ const ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = 'FAME_DEFAULT_ENCRYPTION_LEVEL';
28114
28120
  const ENV_VAR_HMAC_SECRET = 'FAME_HMAC_SECRET';
28115
28121
  const ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = 'FAME_JWT_REVERSE_AUTH_TRUSTED_ISSUER';
28116
28122
  const ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = 'FAME_JWT_REVERSE_AUTH_AUDIENCE';
28123
+ const ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = 'FAME_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY';
28117
28124
  const PROFILE_NAME_STRICT_OVERLAY = 'strict-overlay';
28118
28125
  const PROFILE_NAME_OVERLAY = 'overlay';
28119
28126
  const PROFILE_NAME_OVERLAY_CALLBACK = 'overlay-callback';
@@ -28349,6 +28356,7 @@ const GATED_PROFILE = {
28349
28356
  max_ttl_sec: 86400,
28350
28357
  algorithm: Expressions.env(ENV_VAR_JWT_ALGORITHM, 'RS256'),
28351
28358
  audience: Expressions.env(ENV_VAR_JWT_AUDIENCE$1),
28359
+ enforce_token_subject_node_identity: Expressions.env(ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, 'false'),
28352
28360
  },
28353
28361
  };
28354
28362
  const GATED_CALLBACK_PROFILE = {
@@ -28555,6 +28563,7 @@ function deepClone$3(value) {
28555
28563
  var nodeSecurityProfileFactory = /*#__PURE__*/Object.freeze({
28556
28564
  __proto__: null,
28557
28565
  ENV_VAR_DEFAULT_ENCRYPTION_LEVEL: ENV_VAR_DEFAULT_ENCRYPTION_LEVEL,
28566
+ ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY: ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY,
28558
28567
  ENV_VAR_HMAC_SECRET: ENV_VAR_HMAC_SECRET,
28559
28568
  ENV_VAR_JWKS_URL: ENV_VAR_JWKS_URL,
28560
28569
  ENV_VAR_JWT_ALGORITHM: ENV_VAR_JWT_ALGORITHM,
@@ -33327,11 +33336,8 @@ function normalizeConfig$c(config) {
33327
33336
  : typeof source.reverse_auth_ttl_sec === 'number'
33328
33337
  ? source.reverse_auth_ttl_sec
33329
33338
  : DEFAULT_REVERSE_AUTH_TTL_SEC;
33330
- const enforceTokenSubjectNodeIdentity = typeof source.enforceTokenSubjectNodeIdentity === 'boolean'
33331
- ? source.enforceTokenSubjectNodeIdentity
33332
- : typeof source.enforce_token_subject_node_identity === 'boolean'
33333
- ? source.enforce_token_subject_node_identity
33334
- : false;
33339
+ const enforceTokenSubjectNodeIdentity = normalizeBooleanOption(source.enforceTokenSubjectNodeIdentity ??
33340
+ source.enforce_token_subject_node_identity, false);
33335
33341
  const tokenVerifierConfigInput = source.tokenVerifierConfig ?? source.token_verifier_config ?? null;
33336
33342
  const tokenVerifierConfig = normalizeTokenVerifierConfig({
33337
33343
  config: tokenVerifierConfigInput,
@@ -33371,6 +33377,21 @@ function normalizeTokenVerifierConfig({ config, issuer, jwksUrl, algorithm, }) {
33371
33377
  };
33372
33378
  return defaultConfig;
33373
33379
  }
33380
+ function normalizeBooleanOption(value, defaultValue) {
33381
+ if (typeof value === 'boolean') {
33382
+ return value;
33383
+ }
33384
+ if (typeof value === 'string') {
33385
+ const lower = value.toLowerCase().trim();
33386
+ if (lower === 'true' || lower === '1' || lower === 'yes') {
33387
+ return true;
33388
+ }
33389
+ if (lower === 'false' || lower === '0' || lower === 'no') {
33390
+ return false;
33391
+ }
33392
+ }
33393
+ return defaultValue;
33394
+ }
33374
33395
 
33375
33396
  var oauth2AuthorizerFactory = /*#__PURE__*/Object.freeze({
33376
33397
  __proto__: null,
@@ -4426,12 +4426,12 @@ async function ensureRuntimeFactoriesRegistered(registry = factory.Registry) {
4426
4426
  }
4427
4427
 
4428
4428
  // This file is auto-generated during build - do not edit manually
4429
- // Generated from package.json version: 0.3.17
4429
+ // Generated from package.json version: 0.3.19
4430
4430
  /**
4431
4431
  * The package version, injected at build time.
4432
4432
  * @internal
4433
4433
  */
4434
- const VERSION = '0.3.17';
4434
+ const VERSION = '0.3.19';
4435
4435
 
4436
4436
  let initialized = false;
4437
4437
  const runtimePlugin = {
@@ -26938,9 +26938,15 @@ class DefaultSecurityManager {
26938
26938
  hasNodeAttachValidation(authorizer)) {
26939
26939
  try {
26940
26940
  const validated = await authorizer.validateNodeAttachRequest(_node, envelope.frame, authResult);
26941
- if (validated) {
26942
- finalAuthResult = validated;
26941
+ if (validated === undefined) {
26942
+ logger$C.warning('node_attach_validation_rejected', {
26943
+ envp_id: envelope.id,
26944
+ frame_type: envelope.frame.type,
26945
+ origin_type: context.originType ?? 'unknown',
26946
+ });
26947
+ return null;
26943
26948
  }
26949
+ finalAuthResult = validated;
26944
26950
  }
26945
26951
  catch (error) {
26946
26952
  logger$C.error('node_attach_authorization_validation_failed', {
@@ -29319,6 +29325,7 @@ const ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = 'FAME_DEFAULT_ENCRYPTION_LEVEL';
29319
29325
  const ENV_VAR_HMAC_SECRET = 'FAME_HMAC_SECRET';
29320
29326
  const ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = 'FAME_JWT_REVERSE_AUTH_TRUSTED_ISSUER';
29321
29327
  const ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = 'FAME_JWT_REVERSE_AUTH_AUDIENCE';
29328
+ const ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = 'FAME_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY';
29322
29329
  const PROFILE_NAME_STRICT_OVERLAY = 'strict-overlay';
29323
29330
  const PROFILE_NAME_OVERLAY = 'overlay';
29324
29331
  const PROFILE_NAME_OVERLAY_CALLBACK = 'overlay-callback';
@@ -29554,6 +29561,7 @@ const GATED_PROFILE = {
29554
29561
  max_ttl_sec: 86400,
29555
29562
  algorithm: factory.Expressions.env(ENV_VAR_JWT_ALGORITHM$2, 'RS256'),
29556
29563
  audience: factory.Expressions.env(ENV_VAR_JWT_AUDIENCE$2),
29564
+ enforce_token_subject_node_identity: factory.Expressions.env(ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, 'false'),
29557
29565
  },
29558
29566
  };
29559
29567
  const GATED_CALLBACK_PROFILE = {
@@ -29760,6 +29768,7 @@ function deepClone$3(value) {
29760
29768
  var nodeSecurityProfileFactory = /*#__PURE__*/Object.freeze({
29761
29769
  __proto__: null,
29762
29770
  ENV_VAR_DEFAULT_ENCRYPTION_LEVEL: ENV_VAR_DEFAULT_ENCRYPTION_LEVEL,
29771
+ ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY: ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY,
29763
29772
  ENV_VAR_HMAC_SECRET: ENV_VAR_HMAC_SECRET,
29764
29773
  ENV_VAR_JWKS_URL: ENV_VAR_JWKS_URL,
29765
29774
  ENV_VAR_JWT_ALGORITHM: ENV_VAR_JWT_ALGORITHM$2,
@@ -38069,11 +38078,8 @@ function normalizeConfig$c(config) {
38069
38078
  : typeof source.reverse_auth_ttl_sec === 'number'
38070
38079
  ? source.reverse_auth_ttl_sec
38071
38080
  : DEFAULT_REVERSE_AUTH_TTL_SEC;
38072
- const enforceTokenSubjectNodeIdentity = typeof source.enforceTokenSubjectNodeIdentity === 'boolean'
38073
- ? source.enforceTokenSubjectNodeIdentity
38074
- : typeof source.enforce_token_subject_node_identity === 'boolean'
38075
- ? source.enforce_token_subject_node_identity
38076
- : false;
38081
+ const enforceTokenSubjectNodeIdentity = normalizeBooleanOption(source.enforceTokenSubjectNodeIdentity ??
38082
+ source.enforce_token_subject_node_identity, false);
38077
38083
  const tokenVerifierConfigInput = source.tokenVerifierConfig ?? source.token_verifier_config ?? null;
38078
38084
  const tokenVerifierConfig = normalizeTokenVerifierConfig({
38079
38085
  config: tokenVerifierConfigInput,
@@ -38113,6 +38119,21 @@ function normalizeTokenVerifierConfig({ config, issuer, jwksUrl, algorithm, }) {
38113
38119
  };
38114
38120
  return defaultConfig;
38115
38121
  }
38122
+ function normalizeBooleanOption(value, defaultValue) {
38123
+ if (typeof value === 'boolean') {
38124
+ return value;
38125
+ }
38126
+ if (typeof value === 'string') {
38127
+ const lower = value.toLowerCase().trim();
38128
+ if (lower === 'true' || lower === '1' || lower === 'yes') {
38129
+ return true;
38130
+ }
38131
+ if (lower === 'false' || lower === '0' || lower === 'no') {
38132
+ return false;
38133
+ }
38134
+ }
38135
+ return defaultValue;
38136
+ }
38116
38137
 
38117
38138
  var oauth2AuthorizerFactory = /*#__PURE__*/Object.freeze({
38118
38139
  __proto__: null,
@@ -4425,12 +4425,12 @@ async function ensureRuntimeFactoriesRegistered(registry = Registry) {
4425
4425
  }
4426
4426
 
4427
4427
  // This file is auto-generated during build - do not edit manually
4428
- // Generated from package.json version: 0.3.17
4428
+ // Generated from package.json version: 0.3.19
4429
4429
  /**
4430
4430
  * The package version, injected at build time.
4431
4431
  * @internal
4432
4432
  */
4433
- const VERSION = '0.3.17';
4433
+ const VERSION = '0.3.19';
4434
4434
 
4435
4435
  let initialized = false;
4436
4436
  const runtimePlugin = {
@@ -26937,9 +26937,15 @@ class DefaultSecurityManager {
26937
26937
  hasNodeAttachValidation(authorizer)) {
26938
26938
  try {
26939
26939
  const validated = await authorizer.validateNodeAttachRequest(_node, envelope.frame, authResult);
26940
- if (validated) {
26941
- finalAuthResult = validated;
26940
+ if (validated === undefined) {
26941
+ logger$C.warning('node_attach_validation_rejected', {
26942
+ envp_id: envelope.id,
26943
+ frame_type: envelope.frame.type,
26944
+ origin_type: context.originType ?? 'unknown',
26945
+ });
26946
+ return null;
26942
26947
  }
26948
+ finalAuthResult = validated;
26943
26949
  }
26944
26950
  catch (error) {
26945
26951
  logger$C.error('node_attach_authorization_validation_failed', {
@@ -29318,6 +29324,7 @@ const ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = 'FAME_DEFAULT_ENCRYPTION_LEVEL';
29318
29324
  const ENV_VAR_HMAC_SECRET = 'FAME_HMAC_SECRET';
29319
29325
  const ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = 'FAME_JWT_REVERSE_AUTH_TRUSTED_ISSUER';
29320
29326
  const ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = 'FAME_JWT_REVERSE_AUTH_AUDIENCE';
29327
+ const ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = 'FAME_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY';
29321
29328
  const PROFILE_NAME_STRICT_OVERLAY = 'strict-overlay';
29322
29329
  const PROFILE_NAME_OVERLAY = 'overlay';
29323
29330
  const PROFILE_NAME_OVERLAY_CALLBACK = 'overlay-callback';
@@ -29553,6 +29560,7 @@ const GATED_PROFILE = {
29553
29560
  max_ttl_sec: 86400,
29554
29561
  algorithm: Expressions.env(ENV_VAR_JWT_ALGORITHM$2, 'RS256'),
29555
29562
  audience: Expressions.env(ENV_VAR_JWT_AUDIENCE$2),
29563
+ enforce_token_subject_node_identity: Expressions.env(ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY, 'false'),
29556
29564
  },
29557
29565
  };
29558
29566
  const GATED_CALLBACK_PROFILE = {
@@ -29759,6 +29767,7 @@ function deepClone$3(value) {
29759
29767
  var nodeSecurityProfileFactory = /*#__PURE__*/Object.freeze({
29760
29768
  __proto__: null,
29761
29769
  ENV_VAR_DEFAULT_ENCRYPTION_LEVEL: ENV_VAR_DEFAULT_ENCRYPTION_LEVEL,
29770
+ ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY: ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY,
29762
29771
  ENV_VAR_HMAC_SECRET: ENV_VAR_HMAC_SECRET,
29763
29772
  ENV_VAR_JWKS_URL: ENV_VAR_JWKS_URL,
29764
29773
  ENV_VAR_JWT_ALGORITHM: ENV_VAR_JWT_ALGORITHM$2,
@@ -38068,11 +38077,8 @@ function normalizeConfig$c(config) {
38068
38077
  : typeof source.reverse_auth_ttl_sec === 'number'
38069
38078
  ? source.reverse_auth_ttl_sec
38070
38079
  : DEFAULT_REVERSE_AUTH_TTL_SEC;
38071
- const enforceTokenSubjectNodeIdentity = typeof source.enforceTokenSubjectNodeIdentity === 'boolean'
38072
- ? source.enforceTokenSubjectNodeIdentity
38073
- : typeof source.enforce_token_subject_node_identity === 'boolean'
38074
- ? source.enforce_token_subject_node_identity
38075
- : false;
38080
+ const enforceTokenSubjectNodeIdentity = normalizeBooleanOption(source.enforceTokenSubjectNodeIdentity ??
38081
+ source.enforce_token_subject_node_identity, false);
38076
38082
  const tokenVerifierConfigInput = source.tokenVerifierConfig ?? source.token_verifier_config ?? null;
38077
38083
  const tokenVerifierConfig = normalizeTokenVerifierConfig({
38078
38084
  config: tokenVerifierConfigInput,
@@ -38112,6 +38118,21 @@ function normalizeTokenVerifierConfig({ config, issuer, jwksUrl, algorithm, }) {
38112
38118
  };
38113
38119
  return defaultConfig;
38114
38120
  }
38121
+ function normalizeBooleanOption(value, defaultValue) {
38122
+ if (typeof value === 'boolean') {
38123
+ return value;
38124
+ }
38125
+ if (typeof value === 'string') {
38126
+ const lower = value.toLowerCase().trim();
38127
+ if (lower === 'true' || lower === '1' || lower === 'yes') {
38128
+ return true;
38129
+ }
38130
+ if (lower === 'false' || lower === '0' || lower === 'no') {
38131
+ return false;
38132
+ }
38133
+ }
38134
+ return defaultValue;
38135
+ }
38115
38136
 
38116
38137
  var oauth2AuthorizerFactory = /*#__PURE__*/Object.freeze({
38117
38138
  __proto__: null,
@@ -10,6 +10,7 @@ export declare const ENV_VAR_DEFAULT_ENCRYPTION_LEVEL = "FAME_DEFAULT_ENCRYPTION
10
10
  export declare const ENV_VAR_HMAC_SECRET = "FAME_HMAC_SECRET";
11
11
  export declare const ENV_VAR_JWT_REVERSE_AUTH_TRUSTED_ISSUER = "FAME_JWT_REVERSE_AUTH_TRUSTED_ISSUER";
12
12
  export declare const ENV_VAR_JWT_REVERSE_AUTH_AUDIENCE = "FAME_JWT_REVERSE_AUTH_AUDIENCE";
13
+ export declare const ENV_VAR_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY = "FAME_ENFORCE_TOKEN_SUBJECT_NODE_IDENTITY";
13
14
  export declare const PROFILE_NAME_STRICT_OVERLAY = "strict-overlay";
14
15
  export declare const PROFILE_NAME_OVERLAY = "overlay";
15
16
  export declare const PROFILE_NAME_OVERLAY_CALLBACK = "overlay-callback";
@@ -2,4 +2,4 @@
2
2
  * The package version, injected at build time.
3
3
  * @internal
4
4
  */
5
- export declare const VERSION = "0.3.17";
5
+ export declare const VERSION = "0.3.19";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naylence/runtime",
3
- "version": "0.3.17",
3
+ "version": "0.3.19",
4
4
  "type": "module",
5
5
  "description": "Naylence Runtime - Complete TypeScript runtime",
6
6
  "author": "Naylence Dev <naylencedev@gmail.com>",