@naylence/advanced-security 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.cjs +50 -13
- package/dist/browser/index.mjs +50 -13
- package/dist/cjs/naylence/fame/security/auth/policy/advanced-authorization-policy.js +46 -10
- package/dist/cjs/naylence/fame/security/auth/policy/advanced-authorization-policy.js.map +1 -1
- package/dist/cjs/version.js +2 -2
- package/dist/esm/naylence/fame/security/auth/policy/advanced-authorization-policy.js +46 -10
- package/dist/esm/naylence/fame/security/auth/policy/advanced-authorization-policy.js.map +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/node/index.cjs +50 -13
- package/dist/node/index.mjs +50 -13
- package/dist/node/node.cjs +50 -13
- package/dist/node/node.mjs +50 -13
- package/dist/types/naylence/fame/security/auth/policy/advanced-authorization-policy.d.ts +9 -0
- package/dist/types/naylence/fame/security/auth/policy/advanced-authorization-policy.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
package/dist/browser/index.cjs
CHANGED
|
@@ -572,12 +572,12 @@ async function registerAdvancedSecurityFactories(registrar = factory.Registry, o
|
|
|
572
572
|
}
|
|
573
573
|
|
|
574
574
|
// This file is auto-generated during build - do not edit manually
|
|
575
|
-
// Generated from package.json version: 0.4.
|
|
575
|
+
// Generated from package.json version: 0.4.4
|
|
576
576
|
/**
|
|
577
577
|
* The package version, injected at build time.
|
|
578
578
|
* @internal
|
|
579
579
|
*/
|
|
580
|
-
const VERSION = '0.4.
|
|
580
|
+
const VERSION = '0.4.4';
|
|
581
581
|
|
|
582
582
|
async function registerAdvancedSecurityPluginFactories(registrar = factory.Registry) {
|
|
583
583
|
await registerAdvancedSecurityFactories(registrar);
|
|
@@ -2588,6 +2588,34 @@ function assertArgCount(args, expected, functionName) {
|
|
|
2588
2588
|
* Extends the basic policy with support for `when` expression evaluation.
|
|
2589
2589
|
* This is part of the BSL-licensed Advanced Security package.
|
|
2590
2590
|
*/
|
|
2591
|
+
/**
|
|
2592
|
+
* Valid frame types that can be validated through authorization.
|
|
2593
|
+
*
|
|
2594
|
+
* These frame types reach the dispatchRoutingActionSelected hook and can be
|
|
2595
|
+
* subject to authorization checks. Frame types NOT in this list either:
|
|
2596
|
+
* - Bypass authorization entirely (e.g., AddressBindAck)
|
|
2597
|
+
* - Are not valid frame types in the protocol
|
|
2598
|
+
*/
|
|
2599
|
+
const VALID_FRAME_TYPES = [
|
|
2600
|
+
"Data",
|
|
2601
|
+
"DeliveryAck",
|
|
2602
|
+
"NodeAttach",
|
|
2603
|
+
"NodeHello",
|
|
2604
|
+
"NodeWelcome",
|
|
2605
|
+
"NodeAttachAck",
|
|
2606
|
+
"AddressBind",
|
|
2607
|
+
"AddressUnbind",
|
|
2608
|
+
"CapabilityAdvertise",
|
|
2609
|
+
"CapabilityWithdraw",
|
|
2610
|
+
"NodeHeartbeat",
|
|
2611
|
+
"NodeHeartbeatAck",
|
|
2612
|
+
"CreditUpdate",
|
|
2613
|
+
"KeyAnnounce",
|
|
2614
|
+
"KeyRequest",
|
|
2615
|
+
"SecureOpen",
|
|
2616
|
+
"SecureAccept",
|
|
2617
|
+
"SecureClose",
|
|
2618
|
+
];
|
|
2591
2619
|
/**
|
|
2592
2620
|
* Simple console logger implementation.
|
|
2593
2621
|
*/
|
|
@@ -3056,11 +3084,15 @@ class AdvancedAuthorizationPolicy {
|
|
|
3056
3084
|
return undefined;
|
|
3057
3085
|
}
|
|
3058
3086
|
if (typeof frameType === "string") {
|
|
3059
|
-
const
|
|
3060
|
-
if (!
|
|
3087
|
+
const trimmed = frameType.trim();
|
|
3088
|
+
if (!trimmed) {
|
|
3061
3089
|
throw new Error(`Invalid frame_type in rule "${ruleId}": value must not be empty`);
|
|
3062
3090
|
}
|
|
3063
|
-
|
|
3091
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
3092
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
3093
|
+
}
|
|
3094
|
+
// Normalize to lowercase for matching
|
|
3095
|
+
return new Set([trimmed.toLowerCase()]);
|
|
3064
3096
|
}
|
|
3065
3097
|
if (!Array.isArray(frameType)) {
|
|
3066
3098
|
throw new Error(`Invalid frame_type in rule "${ruleId}": must be a string or array of strings`);
|
|
@@ -3068,18 +3100,22 @@ class AdvancedAuthorizationPolicy {
|
|
|
3068
3100
|
if (frameType.length === 0) {
|
|
3069
3101
|
throw new Error(`Invalid frame_type in rule "${ruleId}": array must not be empty`);
|
|
3070
3102
|
}
|
|
3071
|
-
const
|
|
3072
|
-
for (const
|
|
3073
|
-
if (typeof
|
|
3103
|
+
const types = new Set();
|
|
3104
|
+
for (const type of frameType) {
|
|
3105
|
+
if (typeof type !== "string") {
|
|
3074
3106
|
throw new Error(`Invalid frame_type in rule "${ruleId}": all values must be strings`);
|
|
3075
3107
|
}
|
|
3076
|
-
const
|
|
3077
|
-
if (!
|
|
3108
|
+
const trimmed = type.trim();
|
|
3109
|
+
if (!trimmed) {
|
|
3078
3110
|
throw new Error(`Invalid frame_type in rule "${ruleId}": values must not be empty`);
|
|
3079
3111
|
}
|
|
3080
|
-
|
|
3112
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
3113
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
3114
|
+
}
|
|
3115
|
+
// Normalize to lowercase for matching
|
|
3116
|
+
types.add(trimmed.toLowerCase());
|
|
3081
3117
|
}
|
|
3082
|
-
return
|
|
3118
|
+
return types;
|
|
3083
3119
|
}
|
|
3084
3120
|
compileOriginTypes(originType, ruleId) {
|
|
3085
3121
|
if (originType === undefined) {
|
|
@@ -3155,7 +3191,8 @@ class AdvancedAuthorizationPolicy {
|
|
|
3155
3191
|
|
|
3156
3192
|
var advancedAuthorizationPolicy = /*#__PURE__*/Object.freeze({
|
|
3157
3193
|
__proto__: null,
|
|
3158
|
-
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy
|
|
3194
|
+
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy,
|
|
3195
|
+
VALID_FRAME_TYPES: VALID_FRAME_TYPES
|
|
3159
3196
|
});
|
|
3160
3197
|
|
|
3161
3198
|
/**
|
package/dist/browser/index.mjs
CHANGED
|
@@ -570,12 +570,12 @@ async function registerAdvancedSecurityFactories(registrar = Registry, options)
|
|
|
570
570
|
}
|
|
571
571
|
|
|
572
572
|
// This file is auto-generated during build - do not edit manually
|
|
573
|
-
// Generated from package.json version: 0.4.
|
|
573
|
+
// Generated from package.json version: 0.4.4
|
|
574
574
|
/**
|
|
575
575
|
* The package version, injected at build time.
|
|
576
576
|
* @internal
|
|
577
577
|
*/
|
|
578
|
-
const VERSION = '0.4.
|
|
578
|
+
const VERSION = '0.4.4';
|
|
579
579
|
|
|
580
580
|
async function registerAdvancedSecurityPluginFactories(registrar = Registry) {
|
|
581
581
|
await registerAdvancedSecurityFactories(registrar);
|
|
@@ -2586,6 +2586,34 @@ function assertArgCount(args, expected, functionName) {
|
|
|
2586
2586
|
* Extends the basic policy with support for `when` expression evaluation.
|
|
2587
2587
|
* This is part of the BSL-licensed Advanced Security package.
|
|
2588
2588
|
*/
|
|
2589
|
+
/**
|
|
2590
|
+
* Valid frame types that can be validated through authorization.
|
|
2591
|
+
*
|
|
2592
|
+
* These frame types reach the dispatchRoutingActionSelected hook and can be
|
|
2593
|
+
* subject to authorization checks. Frame types NOT in this list either:
|
|
2594
|
+
* - Bypass authorization entirely (e.g., AddressBindAck)
|
|
2595
|
+
* - Are not valid frame types in the protocol
|
|
2596
|
+
*/
|
|
2597
|
+
const VALID_FRAME_TYPES = [
|
|
2598
|
+
"Data",
|
|
2599
|
+
"DeliveryAck",
|
|
2600
|
+
"NodeAttach",
|
|
2601
|
+
"NodeHello",
|
|
2602
|
+
"NodeWelcome",
|
|
2603
|
+
"NodeAttachAck",
|
|
2604
|
+
"AddressBind",
|
|
2605
|
+
"AddressUnbind",
|
|
2606
|
+
"CapabilityAdvertise",
|
|
2607
|
+
"CapabilityWithdraw",
|
|
2608
|
+
"NodeHeartbeat",
|
|
2609
|
+
"NodeHeartbeatAck",
|
|
2610
|
+
"CreditUpdate",
|
|
2611
|
+
"KeyAnnounce",
|
|
2612
|
+
"KeyRequest",
|
|
2613
|
+
"SecureOpen",
|
|
2614
|
+
"SecureAccept",
|
|
2615
|
+
"SecureClose",
|
|
2616
|
+
];
|
|
2589
2617
|
/**
|
|
2590
2618
|
* Simple console logger implementation.
|
|
2591
2619
|
*/
|
|
@@ -3054,11 +3082,15 @@ class AdvancedAuthorizationPolicy {
|
|
|
3054
3082
|
return undefined;
|
|
3055
3083
|
}
|
|
3056
3084
|
if (typeof frameType === "string") {
|
|
3057
|
-
const
|
|
3058
|
-
if (!
|
|
3085
|
+
const trimmed = frameType.trim();
|
|
3086
|
+
if (!trimmed) {
|
|
3059
3087
|
throw new Error(`Invalid frame_type in rule "${ruleId}": value must not be empty`);
|
|
3060
3088
|
}
|
|
3061
|
-
|
|
3089
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
3090
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
3091
|
+
}
|
|
3092
|
+
// Normalize to lowercase for matching
|
|
3093
|
+
return new Set([trimmed.toLowerCase()]);
|
|
3062
3094
|
}
|
|
3063
3095
|
if (!Array.isArray(frameType)) {
|
|
3064
3096
|
throw new Error(`Invalid frame_type in rule "${ruleId}": must be a string or array of strings`);
|
|
@@ -3066,18 +3098,22 @@ class AdvancedAuthorizationPolicy {
|
|
|
3066
3098
|
if (frameType.length === 0) {
|
|
3067
3099
|
throw new Error(`Invalid frame_type in rule "${ruleId}": array must not be empty`);
|
|
3068
3100
|
}
|
|
3069
|
-
const
|
|
3070
|
-
for (const
|
|
3071
|
-
if (typeof
|
|
3101
|
+
const types = new Set();
|
|
3102
|
+
for (const type of frameType) {
|
|
3103
|
+
if (typeof type !== "string") {
|
|
3072
3104
|
throw new Error(`Invalid frame_type in rule "${ruleId}": all values must be strings`);
|
|
3073
3105
|
}
|
|
3074
|
-
const
|
|
3075
|
-
if (!
|
|
3106
|
+
const trimmed = type.trim();
|
|
3107
|
+
if (!trimmed) {
|
|
3076
3108
|
throw new Error(`Invalid frame_type in rule "${ruleId}": values must not be empty`);
|
|
3077
3109
|
}
|
|
3078
|
-
|
|
3110
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
3111
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
3112
|
+
}
|
|
3113
|
+
// Normalize to lowercase for matching
|
|
3114
|
+
types.add(trimmed.toLowerCase());
|
|
3079
3115
|
}
|
|
3080
|
-
return
|
|
3116
|
+
return types;
|
|
3081
3117
|
}
|
|
3082
3118
|
compileOriginTypes(originType, ruleId) {
|
|
3083
3119
|
if (originType === undefined) {
|
|
@@ -3153,7 +3189,8 @@ class AdvancedAuthorizationPolicy {
|
|
|
3153
3189
|
|
|
3154
3190
|
var advancedAuthorizationPolicy = /*#__PURE__*/Object.freeze({
|
|
3155
3191
|
__proto__: null,
|
|
3156
|
-
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy
|
|
3192
|
+
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy,
|
|
3193
|
+
VALID_FRAME_TYPES: VALID_FRAME_TYPES
|
|
3157
3194
|
});
|
|
3158
3195
|
|
|
3159
3196
|
/**
|
|
@@ -5,6 +5,34 @@
|
|
|
5
5
|
* This is part of the BSL-licensed Advanced Security package.
|
|
6
6
|
*/
|
|
7
7
|
import { compileGlobPattern, compileGlobOnlyScopeRequirement, KNOWN_POLICY_FIELDS, KNOWN_RULE_FIELDS, VALID_ACTIONS, VALID_EFFECTS, VALID_ORIGIN_TYPES, } from "@naylence/runtime";
|
|
8
|
+
/**
|
|
9
|
+
* Valid frame types that can be validated through authorization.
|
|
10
|
+
*
|
|
11
|
+
* These frame types reach the dispatchRoutingActionSelected hook and can be
|
|
12
|
+
* subject to authorization checks. Frame types NOT in this list either:
|
|
13
|
+
* - Bypass authorization entirely (e.g., AddressBindAck)
|
|
14
|
+
* - Are not valid frame types in the protocol
|
|
15
|
+
*/
|
|
16
|
+
export const VALID_FRAME_TYPES = [
|
|
17
|
+
"Data",
|
|
18
|
+
"DeliveryAck",
|
|
19
|
+
"NodeAttach",
|
|
20
|
+
"NodeHello",
|
|
21
|
+
"NodeWelcome",
|
|
22
|
+
"NodeAttachAck",
|
|
23
|
+
"AddressBind",
|
|
24
|
+
"AddressUnbind",
|
|
25
|
+
"CapabilityAdvertise",
|
|
26
|
+
"CapabilityWithdraw",
|
|
27
|
+
"NodeHeartbeat",
|
|
28
|
+
"NodeHeartbeatAck",
|
|
29
|
+
"CreditUpdate",
|
|
30
|
+
"KeyAnnounce",
|
|
31
|
+
"KeyRequest",
|
|
32
|
+
"SecureOpen",
|
|
33
|
+
"SecureAccept",
|
|
34
|
+
"SecureClose",
|
|
35
|
+
];
|
|
8
36
|
import { parse } from "../../../expr/parser.js";
|
|
9
37
|
import { evaluateAsBoolean, } from "../../../expr/evaluator.js";
|
|
10
38
|
import { DEFAULT_EXPRESSION_LIMITS } from "../../../expr/limits.js";
|
|
@@ -477,11 +505,15 @@ export class AdvancedAuthorizationPolicy {
|
|
|
477
505
|
return undefined;
|
|
478
506
|
}
|
|
479
507
|
if (typeof frameType === "string") {
|
|
480
|
-
const
|
|
481
|
-
if (!
|
|
508
|
+
const trimmed = frameType.trim();
|
|
509
|
+
if (!trimmed) {
|
|
482
510
|
throw new Error(`Invalid frame_type in rule "${ruleId}": value must not be empty`);
|
|
483
511
|
}
|
|
484
|
-
|
|
512
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
513
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
514
|
+
}
|
|
515
|
+
// Normalize to lowercase for matching
|
|
516
|
+
return new Set([trimmed.toLowerCase()]);
|
|
485
517
|
}
|
|
486
518
|
if (!Array.isArray(frameType)) {
|
|
487
519
|
throw new Error(`Invalid frame_type in rule "${ruleId}": must be a string or array of strings`);
|
|
@@ -489,18 +521,22 @@ export class AdvancedAuthorizationPolicy {
|
|
|
489
521
|
if (frameType.length === 0) {
|
|
490
522
|
throw new Error(`Invalid frame_type in rule "${ruleId}": array must not be empty`);
|
|
491
523
|
}
|
|
492
|
-
const
|
|
493
|
-
for (const
|
|
494
|
-
if (typeof
|
|
524
|
+
const types = new Set();
|
|
525
|
+
for (const type of frameType) {
|
|
526
|
+
if (typeof type !== "string") {
|
|
495
527
|
throw new Error(`Invalid frame_type in rule "${ruleId}": all values must be strings`);
|
|
496
528
|
}
|
|
497
|
-
const
|
|
498
|
-
if (!
|
|
529
|
+
const trimmed = type.trim();
|
|
530
|
+
if (!trimmed) {
|
|
499
531
|
throw new Error(`Invalid frame_type in rule "${ruleId}": values must not be empty`);
|
|
500
532
|
}
|
|
501
|
-
|
|
533
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
534
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
535
|
+
}
|
|
536
|
+
// Normalize to lowercase for matching
|
|
537
|
+
types.add(trimmed.toLowerCase());
|
|
502
538
|
}
|
|
503
|
-
return
|
|
539
|
+
return types;
|
|
504
540
|
}
|
|
505
541
|
compileOriginTypes(originType, ruleId) {
|
|
506
542
|
if (originType === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-authorization-policy.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/auth/policy/advanced-authorization-policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"advanced-authorization-policy.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/auth/policy/advanced-authorization-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/version.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// This file is auto-generated during build - do not edit manually
|
|
2
|
-
// Generated from package.json version: 0.4.
|
|
2
|
+
// Generated from package.json version: 0.4.4
|
|
3
3
|
/**
|
|
4
4
|
* The package version, injected at build time.
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
|
-
export const VERSION = '0.4.
|
|
7
|
+
export const VERSION = '0.4.4';
|
|
8
8
|
//# sourceMappingURL=version.js.map
|
|
@@ -5,6 +5,34 @@
|
|
|
5
5
|
* This is part of the BSL-licensed Advanced Security package.
|
|
6
6
|
*/
|
|
7
7
|
import { compileGlobPattern, compileGlobOnlyScopeRequirement, KNOWN_POLICY_FIELDS, KNOWN_RULE_FIELDS, VALID_ACTIONS, VALID_EFFECTS, VALID_ORIGIN_TYPES, } from "@naylence/runtime";
|
|
8
|
+
/**
|
|
9
|
+
* Valid frame types that can be validated through authorization.
|
|
10
|
+
*
|
|
11
|
+
* These frame types reach the dispatchRoutingActionSelected hook and can be
|
|
12
|
+
* subject to authorization checks. Frame types NOT in this list either:
|
|
13
|
+
* - Bypass authorization entirely (e.g., AddressBindAck)
|
|
14
|
+
* - Are not valid frame types in the protocol
|
|
15
|
+
*/
|
|
16
|
+
export const VALID_FRAME_TYPES = [
|
|
17
|
+
"Data",
|
|
18
|
+
"DeliveryAck",
|
|
19
|
+
"NodeAttach",
|
|
20
|
+
"NodeHello",
|
|
21
|
+
"NodeWelcome",
|
|
22
|
+
"NodeAttachAck",
|
|
23
|
+
"AddressBind",
|
|
24
|
+
"AddressUnbind",
|
|
25
|
+
"CapabilityAdvertise",
|
|
26
|
+
"CapabilityWithdraw",
|
|
27
|
+
"NodeHeartbeat",
|
|
28
|
+
"NodeHeartbeatAck",
|
|
29
|
+
"CreditUpdate",
|
|
30
|
+
"KeyAnnounce",
|
|
31
|
+
"KeyRequest",
|
|
32
|
+
"SecureOpen",
|
|
33
|
+
"SecureAccept",
|
|
34
|
+
"SecureClose",
|
|
35
|
+
];
|
|
8
36
|
import { parse } from "../../../expr/parser.js";
|
|
9
37
|
import { evaluateAsBoolean, } from "../../../expr/evaluator.js";
|
|
10
38
|
import { DEFAULT_EXPRESSION_LIMITS } from "../../../expr/limits.js";
|
|
@@ -477,11 +505,15 @@ export class AdvancedAuthorizationPolicy {
|
|
|
477
505
|
return undefined;
|
|
478
506
|
}
|
|
479
507
|
if (typeof frameType === "string") {
|
|
480
|
-
const
|
|
481
|
-
if (!
|
|
508
|
+
const trimmed = frameType.trim();
|
|
509
|
+
if (!trimmed) {
|
|
482
510
|
throw new Error(`Invalid frame_type in rule "${ruleId}": value must not be empty`);
|
|
483
511
|
}
|
|
484
|
-
|
|
512
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
513
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
514
|
+
}
|
|
515
|
+
// Normalize to lowercase for matching
|
|
516
|
+
return new Set([trimmed.toLowerCase()]);
|
|
485
517
|
}
|
|
486
518
|
if (!Array.isArray(frameType)) {
|
|
487
519
|
throw new Error(`Invalid frame_type in rule "${ruleId}": must be a string or array of strings`);
|
|
@@ -489,18 +521,22 @@ export class AdvancedAuthorizationPolicy {
|
|
|
489
521
|
if (frameType.length === 0) {
|
|
490
522
|
throw new Error(`Invalid frame_type in rule "${ruleId}": array must not be empty`);
|
|
491
523
|
}
|
|
492
|
-
const
|
|
493
|
-
for (const
|
|
494
|
-
if (typeof
|
|
524
|
+
const types = new Set();
|
|
525
|
+
for (const type of frameType) {
|
|
526
|
+
if (typeof type !== "string") {
|
|
495
527
|
throw new Error(`Invalid frame_type in rule "${ruleId}": all values must be strings`);
|
|
496
528
|
}
|
|
497
|
-
const
|
|
498
|
-
if (!
|
|
529
|
+
const trimmed = type.trim();
|
|
530
|
+
if (!trimmed) {
|
|
499
531
|
throw new Error(`Invalid frame_type in rule "${ruleId}": values must not be empty`);
|
|
500
532
|
}
|
|
501
|
-
|
|
533
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
534
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
535
|
+
}
|
|
536
|
+
// Normalize to lowercase for matching
|
|
537
|
+
types.add(trimmed.toLowerCase());
|
|
502
538
|
}
|
|
503
|
-
return
|
|
539
|
+
return types;
|
|
504
540
|
}
|
|
505
541
|
compileOriginTypes(originType, ruleId) {
|
|
506
542
|
if (originType === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-authorization-policy.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/auth/policy/advanced-authorization-policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"advanced-authorization-policy.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/auth/policy/advanced-authorization-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// This file is auto-generated during build - do not edit manually
|
|
2
|
-
// Generated from package.json version: 0.4.
|
|
2
|
+
// Generated from package.json version: 0.4.4
|
|
3
3
|
/**
|
|
4
4
|
* The package version, injected at build time.
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
|
-
export const VERSION = '0.4.
|
|
7
|
+
export const VERSION = '0.4.4';
|
|
8
8
|
//# sourceMappingURL=version.js.map
|
package/dist/node/index.cjs
CHANGED
|
@@ -18,12 +18,12 @@ var sha256_js = require('@noble/hashes/sha256.js');
|
|
|
18
18
|
var x509 = require('@peculiar/x509');
|
|
19
19
|
|
|
20
20
|
// This file is auto-generated during build - do not edit manually
|
|
21
|
-
// Generated from package.json version: 0.4.
|
|
21
|
+
// Generated from package.json version: 0.4.4
|
|
22
22
|
/**
|
|
23
23
|
* The package version, injected at build time.
|
|
24
24
|
* @internal
|
|
25
25
|
*/
|
|
26
|
-
const VERSION = '0.4.
|
|
26
|
+
const VERSION = '0.4.4';
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Abstract Syntax Tree (AST) node types for the expression language.
|
|
@@ -2075,6 +2075,34 @@ function assertArgCount(args, expected, functionName) {
|
|
|
2075
2075
|
* Extends the basic policy with support for `when` expression evaluation.
|
|
2076
2076
|
* This is part of the BSL-licensed Advanced Security package.
|
|
2077
2077
|
*/
|
|
2078
|
+
/**
|
|
2079
|
+
* Valid frame types that can be validated through authorization.
|
|
2080
|
+
*
|
|
2081
|
+
* These frame types reach the dispatchRoutingActionSelected hook and can be
|
|
2082
|
+
* subject to authorization checks. Frame types NOT in this list either:
|
|
2083
|
+
* - Bypass authorization entirely (e.g., AddressBindAck)
|
|
2084
|
+
* - Are not valid frame types in the protocol
|
|
2085
|
+
*/
|
|
2086
|
+
const VALID_FRAME_TYPES = [
|
|
2087
|
+
"Data",
|
|
2088
|
+
"DeliveryAck",
|
|
2089
|
+
"NodeAttach",
|
|
2090
|
+
"NodeHello",
|
|
2091
|
+
"NodeWelcome",
|
|
2092
|
+
"NodeAttachAck",
|
|
2093
|
+
"AddressBind",
|
|
2094
|
+
"AddressUnbind",
|
|
2095
|
+
"CapabilityAdvertise",
|
|
2096
|
+
"CapabilityWithdraw",
|
|
2097
|
+
"NodeHeartbeat",
|
|
2098
|
+
"NodeHeartbeatAck",
|
|
2099
|
+
"CreditUpdate",
|
|
2100
|
+
"KeyAnnounce",
|
|
2101
|
+
"KeyRequest",
|
|
2102
|
+
"SecureOpen",
|
|
2103
|
+
"SecureAccept",
|
|
2104
|
+
"SecureClose",
|
|
2105
|
+
];
|
|
2078
2106
|
/**
|
|
2079
2107
|
* Simple console logger implementation.
|
|
2080
2108
|
*/
|
|
@@ -2543,11 +2571,15 @@ class AdvancedAuthorizationPolicy {
|
|
|
2543
2571
|
return undefined;
|
|
2544
2572
|
}
|
|
2545
2573
|
if (typeof frameType === "string") {
|
|
2546
|
-
const
|
|
2547
|
-
if (!
|
|
2574
|
+
const trimmed = frameType.trim();
|
|
2575
|
+
if (!trimmed) {
|
|
2548
2576
|
throw new Error(`Invalid frame_type in rule "${ruleId}": value must not be empty`);
|
|
2549
2577
|
}
|
|
2550
|
-
|
|
2578
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
2579
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
2580
|
+
}
|
|
2581
|
+
// Normalize to lowercase for matching
|
|
2582
|
+
return new Set([trimmed.toLowerCase()]);
|
|
2551
2583
|
}
|
|
2552
2584
|
if (!Array.isArray(frameType)) {
|
|
2553
2585
|
throw new Error(`Invalid frame_type in rule "${ruleId}": must be a string or array of strings`);
|
|
@@ -2555,18 +2587,22 @@ class AdvancedAuthorizationPolicy {
|
|
|
2555
2587
|
if (frameType.length === 0) {
|
|
2556
2588
|
throw new Error(`Invalid frame_type in rule "${ruleId}": array must not be empty`);
|
|
2557
2589
|
}
|
|
2558
|
-
const
|
|
2559
|
-
for (const
|
|
2560
|
-
if (typeof
|
|
2590
|
+
const types = new Set();
|
|
2591
|
+
for (const type of frameType) {
|
|
2592
|
+
if (typeof type !== "string") {
|
|
2561
2593
|
throw new Error(`Invalid frame_type in rule "${ruleId}": all values must be strings`);
|
|
2562
2594
|
}
|
|
2563
|
-
const
|
|
2564
|
-
if (!
|
|
2595
|
+
const trimmed = type.trim();
|
|
2596
|
+
if (!trimmed) {
|
|
2565
2597
|
throw new Error(`Invalid frame_type in rule "${ruleId}": values must not be empty`);
|
|
2566
2598
|
}
|
|
2567
|
-
|
|
2599
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
2600
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
2601
|
+
}
|
|
2602
|
+
// Normalize to lowercase for matching
|
|
2603
|
+
types.add(trimmed.toLowerCase());
|
|
2568
2604
|
}
|
|
2569
|
-
return
|
|
2605
|
+
return types;
|
|
2570
2606
|
}
|
|
2571
2607
|
compileOriginTypes(originType, ruleId) {
|
|
2572
2608
|
if (originType === undefined) {
|
|
@@ -2642,7 +2678,8 @@ class AdvancedAuthorizationPolicy {
|
|
|
2642
2678
|
|
|
2643
2679
|
var advancedAuthorizationPolicy = /*#__PURE__*/Object.freeze({
|
|
2644
2680
|
__proto__: null,
|
|
2645
|
-
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy
|
|
2681
|
+
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy,
|
|
2682
|
+
VALID_FRAME_TYPES: VALID_FRAME_TYPES
|
|
2646
2683
|
});
|
|
2647
2684
|
|
|
2648
2685
|
/**
|
package/dist/node/index.mjs
CHANGED
|
@@ -16,12 +16,12 @@ import { sha256 as sha256$2 } from '@noble/hashes/sha256.js';
|
|
|
16
16
|
import { X509Certificate } from '@peculiar/x509';
|
|
17
17
|
|
|
18
18
|
// This file is auto-generated during build - do not edit manually
|
|
19
|
-
// Generated from package.json version: 0.4.
|
|
19
|
+
// Generated from package.json version: 0.4.4
|
|
20
20
|
/**
|
|
21
21
|
* The package version, injected at build time.
|
|
22
22
|
* @internal
|
|
23
23
|
*/
|
|
24
|
-
const VERSION = '0.4.
|
|
24
|
+
const VERSION = '0.4.4';
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Abstract Syntax Tree (AST) node types for the expression language.
|
|
@@ -2073,6 +2073,34 @@ function assertArgCount(args, expected, functionName) {
|
|
|
2073
2073
|
* Extends the basic policy with support for `when` expression evaluation.
|
|
2074
2074
|
* This is part of the BSL-licensed Advanced Security package.
|
|
2075
2075
|
*/
|
|
2076
|
+
/**
|
|
2077
|
+
* Valid frame types that can be validated through authorization.
|
|
2078
|
+
*
|
|
2079
|
+
* These frame types reach the dispatchRoutingActionSelected hook and can be
|
|
2080
|
+
* subject to authorization checks. Frame types NOT in this list either:
|
|
2081
|
+
* - Bypass authorization entirely (e.g., AddressBindAck)
|
|
2082
|
+
* - Are not valid frame types in the protocol
|
|
2083
|
+
*/
|
|
2084
|
+
const VALID_FRAME_TYPES = [
|
|
2085
|
+
"Data",
|
|
2086
|
+
"DeliveryAck",
|
|
2087
|
+
"NodeAttach",
|
|
2088
|
+
"NodeHello",
|
|
2089
|
+
"NodeWelcome",
|
|
2090
|
+
"NodeAttachAck",
|
|
2091
|
+
"AddressBind",
|
|
2092
|
+
"AddressUnbind",
|
|
2093
|
+
"CapabilityAdvertise",
|
|
2094
|
+
"CapabilityWithdraw",
|
|
2095
|
+
"NodeHeartbeat",
|
|
2096
|
+
"NodeHeartbeatAck",
|
|
2097
|
+
"CreditUpdate",
|
|
2098
|
+
"KeyAnnounce",
|
|
2099
|
+
"KeyRequest",
|
|
2100
|
+
"SecureOpen",
|
|
2101
|
+
"SecureAccept",
|
|
2102
|
+
"SecureClose",
|
|
2103
|
+
];
|
|
2076
2104
|
/**
|
|
2077
2105
|
* Simple console logger implementation.
|
|
2078
2106
|
*/
|
|
@@ -2541,11 +2569,15 @@ class AdvancedAuthorizationPolicy {
|
|
|
2541
2569
|
return undefined;
|
|
2542
2570
|
}
|
|
2543
2571
|
if (typeof frameType === "string") {
|
|
2544
|
-
const
|
|
2545
|
-
if (!
|
|
2572
|
+
const trimmed = frameType.trim();
|
|
2573
|
+
if (!trimmed) {
|
|
2546
2574
|
throw new Error(`Invalid frame_type in rule "${ruleId}": value must not be empty`);
|
|
2547
2575
|
}
|
|
2548
|
-
|
|
2576
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
2577
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
2578
|
+
}
|
|
2579
|
+
// Normalize to lowercase for matching
|
|
2580
|
+
return new Set([trimmed.toLowerCase()]);
|
|
2549
2581
|
}
|
|
2550
2582
|
if (!Array.isArray(frameType)) {
|
|
2551
2583
|
throw new Error(`Invalid frame_type in rule "${ruleId}": must be a string or array of strings`);
|
|
@@ -2553,18 +2585,22 @@ class AdvancedAuthorizationPolicy {
|
|
|
2553
2585
|
if (frameType.length === 0) {
|
|
2554
2586
|
throw new Error(`Invalid frame_type in rule "${ruleId}": array must not be empty`);
|
|
2555
2587
|
}
|
|
2556
|
-
const
|
|
2557
|
-
for (const
|
|
2558
|
-
if (typeof
|
|
2588
|
+
const types = new Set();
|
|
2589
|
+
for (const type of frameType) {
|
|
2590
|
+
if (typeof type !== "string") {
|
|
2559
2591
|
throw new Error(`Invalid frame_type in rule "${ruleId}": all values must be strings`);
|
|
2560
2592
|
}
|
|
2561
|
-
const
|
|
2562
|
-
if (!
|
|
2593
|
+
const trimmed = type.trim();
|
|
2594
|
+
if (!trimmed) {
|
|
2563
2595
|
throw new Error(`Invalid frame_type in rule "${ruleId}": values must not be empty`);
|
|
2564
2596
|
}
|
|
2565
|
-
|
|
2597
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
2598
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
2599
|
+
}
|
|
2600
|
+
// Normalize to lowercase for matching
|
|
2601
|
+
types.add(trimmed.toLowerCase());
|
|
2566
2602
|
}
|
|
2567
|
-
return
|
|
2603
|
+
return types;
|
|
2568
2604
|
}
|
|
2569
2605
|
compileOriginTypes(originType, ruleId) {
|
|
2570
2606
|
if (originType === undefined) {
|
|
@@ -2640,7 +2676,8 @@ class AdvancedAuthorizationPolicy {
|
|
|
2640
2676
|
|
|
2641
2677
|
var advancedAuthorizationPolicy = /*#__PURE__*/Object.freeze({
|
|
2642
2678
|
__proto__: null,
|
|
2643
|
-
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy
|
|
2679
|
+
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy,
|
|
2680
|
+
VALID_FRAME_TYPES: VALID_FRAME_TYPES
|
|
2644
2681
|
});
|
|
2645
2682
|
|
|
2646
2683
|
/**
|
package/dist/node/node.cjs
CHANGED
|
@@ -575,12 +575,12 @@ async function registerAdvancedSecurityFactories(registrar = factory.Registry, o
|
|
|
575
575
|
}
|
|
576
576
|
|
|
577
577
|
// This file is auto-generated during build - do not edit manually
|
|
578
|
-
// Generated from package.json version: 0.4.
|
|
578
|
+
// Generated from package.json version: 0.4.4
|
|
579
579
|
/**
|
|
580
580
|
* The package version, injected at build time.
|
|
581
581
|
* @internal
|
|
582
582
|
*/
|
|
583
|
-
const VERSION = '0.4.
|
|
583
|
+
const VERSION = '0.4.4';
|
|
584
584
|
|
|
585
585
|
async function registerAdvancedSecurityPluginFactories(registrar = factory.Registry) {
|
|
586
586
|
await registerAdvancedSecurityFactories(registrar, { includeExtras: true });
|
|
@@ -2686,6 +2686,34 @@ function assertArgCount(args, expected, functionName) {
|
|
|
2686
2686
|
* Extends the basic policy with support for `when` expression evaluation.
|
|
2687
2687
|
* This is part of the BSL-licensed Advanced Security package.
|
|
2688
2688
|
*/
|
|
2689
|
+
/**
|
|
2690
|
+
* Valid frame types that can be validated through authorization.
|
|
2691
|
+
*
|
|
2692
|
+
* These frame types reach the dispatchRoutingActionSelected hook and can be
|
|
2693
|
+
* subject to authorization checks. Frame types NOT in this list either:
|
|
2694
|
+
* - Bypass authorization entirely (e.g., AddressBindAck)
|
|
2695
|
+
* - Are not valid frame types in the protocol
|
|
2696
|
+
*/
|
|
2697
|
+
const VALID_FRAME_TYPES = [
|
|
2698
|
+
"Data",
|
|
2699
|
+
"DeliveryAck",
|
|
2700
|
+
"NodeAttach",
|
|
2701
|
+
"NodeHello",
|
|
2702
|
+
"NodeWelcome",
|
|
2703
|
+
"NodeAttachAck",
|
|
2704
|
+
"AddressBind",
|
|
2705
|
+
"AddressUnbind",
|
|
2706
|
+
"CapabilityAdvertise",
|
|
2707
|
+
"CapabilityWithdraw",
|
|
2708
|
+
"NodeHeartbeat",
|
|
2709
|
+
"NodeHeartbeatAck",
|
|
2710
|
+
"CreditUpdate",
|
|
2711
|
+
"KeyAnnounce",
|
|
2712
|
+
"KeyRequest",
|
|
2713
|
+
"SecureOpen",
|
|
2714
|
+
"SecureAccept",
|
|
2715
|
+
"SecureClose",
|
|
2716
|
+
];
|
|
2689
2717
|
/**
|
|
2690
2718
|
* Simple console logger implementation.
|
|
2691
2719
|
*/
|
|
@@ -3154,11 +3182,15 @@ class AdvancedAuthorizationPolicy {
|
|
|
3154
3182
|
return undefined;
|
|
3155
3183
|
}
|
|
3156
3184
|
if (typeof frameType === "string") {
|
|
3157
|
-
const
|
|
3158
|
-
if (!
|
|
3185
|
+
const trimmed = frameType.trim();
|
|
3186
|
+
if (!trimmed) {
|
|
3159
3187
|
throw new Error(`Invalid frame_type in rule "${ruleId}": value must not be empty`);
|
|
3160
3188
|
}
|
|
3161
|
-
|
|
3189
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
3190
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
3191
|
+
}
|
|
3192
|
+
// Normalize to lowercase for matching
|
|
3193
|
+
return new Set([trimmed.toLowerCase()]);
|
|
3162
3194
|
}
|
|
3163
3195
|
if (!Array.isArray(frameType)) {
|
|
3164
3196
|
throw new Error(`Invalid frame_type in rule "${ruleId}": must be a string or array of strings`);
|
|
@@ -3166,18 +3198,22 @@ class AdvancedAuthorizationPolicy {
|
|
|
3166
3198
|
if (frameType.length === 0) {
|
|
3167
3199
|
throw new Error(`Invalid frame_type in rule "${ruleId}": array must not be empty`);
|
|
3168
3200
|
}
|
|
3169
|
-
const
|
|
3170
|
-
for (const
|
|
3171
|
-
if (typeof
|
|
3201
|
+
const types = new Set();
|
|
3202
|
+
for (const type of frameType) {
|
|
3203
|
+
if (typeof type !== "string") {
|
|
3172
3204
|
throw new Error(`Invalid frame_type in rule "${ruleId}": all values must be strings`);
|
|
3173
3205
|
}
|
|
3174
|
-
const
|
|
3175
|
-
if (!
|
|
3206
|
+
const trimmed = type.trim();
|
|
3207
|
+
if (!trimmed) {
|
|
3176
3208
|
throw new Error(`Invalid frame_type in rule "${ruleId}": values must not be empty`);
|
|
3177
3209
|
}
|
|
3178
|
-
|
|
3210
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
3211
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
3212
|
+
}
|
|
3213
|
+
// Normalize to lowercase for matching
|
|
3214
|
+
types.add(trimmed.toLowerCase());
|
|
3179
3215
|
}
|
|
3180
|
-
return
|
|
3216
|
+
return types;
|
|
3181
3217
|
}
|
|
3182
3218
|
compileOriginTypes(originType, ruleId) {
|
|
3183
3219
|
if (originType === undefined) {
|
|
@@ -3253,7 +3289,8 @@ class AdvancedAuthorizationPolicy {
|
|
|
3253
3289
|
|
|
3254
3290
|
var advancedAuthorizationPolicy = /*#__PURE__*/Object.freeze({
|
|
3255
3291
|
__proto__: null,
|
|
3256
|
-
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy
|
|
3292
|
+
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy,
|
|
3293
|
+
VALID_FRAME_TYPES: VALID_FRAME_TYPES
|
|
3257
3294
|
});
|
|
3258
3295
|
|
|
3259
3296
|
/**
|
package/dist/node/node.mjs
CHANGED
|
@@ -573,12 +573,12 @@ async function registerAdvancedSecurityFactories(registrar = Registry, options)
|
|
|
573
573
|
}
|
|
574
574
|
|
|
575
575
|
// This file is auto-generated during build - do not edit manually
|
|
576
|
-
// Generated from package.json version: 0.4.
|
|
576
|
+
// Generated from package.json version: 0.4.4
|
|
577
577
|
/**
|
|
578
578
|
* The package version, injected at build time.
|
|
579
579
|
* @internal
|
|
580
580
|
*/
|
|
581
|
-
const VERSION = '0.4.
|
|
581
|
+
const VERSION = '0.4.4';
|
|
582
582
|
|
|
583
583
|
async function registerAdvancedSecurityPluginFactories(registrar = Registry) {
|
|
584
584
|
await registerAdvancedSecurityFactories(registrar, { includeExtras: true });
|
|
@@ -2684,6 +2684,34 @@ function assertArgCount(args, expected, functionName) {
|
|
|
2684
2684
|
* Extends the basic policy with support for `when` expression evaluation.
|
|
2685
2685
|
* This is part of the BSL-licensed Advanced Security package.
|
|
2686
2686
|
*/
|
|
2687
|
+
/**
|
|
2688
|
+
* Valid frame types that can be validated through authorization.
|
|
2689
|
+
*
|
|
2690
|
+
* These frame types reach the dispatchRoutingActionSelected hook and can be
|
|
2691
|
+
* subject to authorization checks. Frame types NOT in this list either:
|
|
2692
|
+
* - Bypass authorization entirely (e.g., AddressBindAck)
|
|
2693
|
+
* - Are not valid frame types in the protocol
|
|
2694
|
+
*/
|
|
2695
|
+
const VALID_FRAME_TYPES = [
|
|
2696
|
+
"Data",
|
|
2697
|
+
"DeliveryAck",
|
|
2698
|
+
"NodeAttach",
|
|
2699
|
+
"NodeHello",
|
|
2700
|
+
"NodeWelcome",
|
|
2701
|
+
"NodeAttachAck",
|
|
2702
|
+
"AddressBind",
|
|
2703
|
+
"AddressUnbind",
|
|
2704
|
+
"CapabilityAdvertise",
|
|
2705
|
+
"CapabilityWithdraw",
|
|
2706
|
+
"NodeHeartbeat",
|
|
2707
|
+
"NodeHeartbeatAck",
|
|
2708
|
+
"CreditUpdate",
|
|
2709
|
+
"KeyAnnounce",
|
|
2710
|
+
"KeyRequest",
|
|
2711
|
+
"SecureOpen",
|
|
2712
|
+
"SecureAccept",
|
|
2713
|
+
"SecureClose",
|
|
2714
|
+
];
|
|
2687
2715
|
/**
|
|
2688
2716
|
* Simple console logger implementation.
|
|
2689
2717
|
*/
|
|
@@ -3152,11 +3180,15 @@ class AdvancedAuthorizationPolicy {
|
|
|
3152
3180
|
return undefined;
|
|
3153
3181
|
}
|
|
3154
3182
|
if (typeof frameType === "string") {
|
|
3155
|
-
const
|
|
3156
|
-
if (!
|
|
3183
|
+
const trimmed = frameType.trim();
|
|
3184
|
+
if (!trimmed) {
|
|
3157
3185
|
throw new Error(`Invalid frame_type in rule "${ruleId}": value must not be empty`);
|
|
3158
3186
|
}
|
|
3159
|
-
|
|
3187
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
3188
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
3189
|
+
}
|
|
3190
|
+
// Normalize to lowercase for matching
|
|
3191
|
+
return new Set([trimmed.toLowerCase()]);
|
|
3160
3192
|
}
|
|
3161
3193
|
if (!Array.isArray(frameType)) {
|
|
3162
3194
|
throw new Error(`Invalid frame_type in rule "${ruleId}": must be a string or array of strings`);
|
|
@@ -3164,18 +3196,22 @@ class AdvancedAuthorizationPolicy {
|
|
|
3164
3196
|
if (frameType.length === 0) {
|
|
3165
3197
|
throw new Error(`Invalid frame_type in rule "${ruleId}": array must not be empty`);
|
|
3166
3198
|
}
|
|
3167
|
-
const
|
|
3168
|
-
for (const
|
|
3169
|
-
if (typeof
|
|
3199
|
+
const types = new Set();
|
|
3200
|
+
for (const type of frameType) {
|
|
3201
|
+
if (typeof type !== "string") {
|
|
3170
3202
|
throw new Error(`Invalid frame_type in rule "${ruleId}": all values must be strings`);
|
|
3171
3203
|
}
|
|
3172
|
-
const
|
|
3173
|
-
if (!
|
|
3204
|
+
const trimmed = type.trim();
|
|
3205
|
+
if (!trimmed) {
|
|
3174
3206
|
throw new Error(`Invalid frame_type in rule "${ruleId}": values must not be empty`);
|
|
3175
3207
|
}
|
|
3176
|
-
|
|
3208
|
+
if (!VALID_FRAME_TYPES.includes(trimmed)) {
|
|
3209
|
+
throw new Error(`Invalid frame_type in rule "${ruleId}": "${trimmed}". Must be one of: ${VALID_FRAME_TYPES.join(", ")}`);
|
|
3210
|
+
}
|
|
3211
|
+
// Normalize to lowercase for matching
|
|
3212
|
+
types.add(trimmed.toLowerCase());
|
|
3177
3213
|
}
|
|
3178
|
-
return
|
|
3214
|
+
return types;
|
|
3179
3215
|
}
|
|
3180
3216
|
compileOriginTypes(originType, ruleId) {
|
|
3181
3217
|
if (originType === undefined) {
|
|
@@ -3251,7 +3287,8 @@ class AdvancedAuthorizationPolicy {
|
|
|
3251
3287
|
|
|
3252
3288
|
var advancedAuthorizationPolicy = /*#__PURE__*/Object.freeze({
|
|
3253
3289
|
__proto__: null,
|
|
3254
|
-
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy
|
|
3290
|
+
AdvancedAuthorizationPolicy: AdvancedAuthorizationPolicy,
|
|
3291
|
+
VALID_FRAME_TYPES: VALID_FRAME_TYPES
|
|
3255
3292
|
});
|
|
3256
3293
|
|
|
3257
3294
|
/**
|
|
@@ -6,6 +6,15 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { FameDeliveryContext, FameEnvelope } from "@naylence/core";
|
|
8
8
|
import type { AuthorizationPolicy, AuthorizationDecision, AuthorizationPolicyDefinition, RuleAction } from "@naylence/runtime";
|
|
9
|
+
/**
|
|
10
|
+
* Valid frame types that can be validated through authorization.
|
|
11
|
+
*
|
|
12
|
+
* These frame types reach the dispatchRoutingActionSelected hook and can be
|
|
13
|
+
* subject to authorization checks. Frame types NOT in this list either:
|
|
14
|
+
* - Bypass authorization entirely (e.g., AddressBindAck)
|
|
15
|
+
* - Are not valid frame types in the protocol
|
|
16
|
+
*/
|
|
17
|
+
export declare const VALID_FRAME_TYPES: readonly ["Data", "DeliveryAck", "NodeAttach", "NodeHello", "NodeWelcome", "NodeAttachAck", "AddressBind", "AddressUnbind", "CapabilityAdvertise", "CapabilityWithdraw", "NodeHeartbeat", "NodeHeartbeatAck", "CreditUpdate", "KeyAnnounce", "KeyRequest", "SecureOpen", "SecureAccept", "SecureClose"];
|
|
9
18
|
import type { NodeLike } from "@naylence/runtime";
|
|
10
19
|
import type { ExpressionLimits } from "../../../expr/limits.js";
|
|
11
20
|
/**
|
package/dist/types/naylence/fame/security/auth/policy/advanced-authorization-policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-authorization-policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/auth/policy/advanced-authorization-policy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EAErB,6BAA6B,EAE7B,UAAU,EAGX,MAAM,mBAAmB,CAAC;AAY3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE;;GAEG;AACH,UAAU,MAAM;IACd,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3D,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AA4JD;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,EAAE,kCAAkC;IAkCvD;;OAEG;IACG,eAAe,CACnB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,qBAAqB,CAAC;IA8MjC,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;IAuFnB,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,cAAc;IA+DtB,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"advanced-authorization-policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/auth/policy/advanced-authorization-policy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EAErB,6BAA6B,EAE7B,UAAU,EAGX,MAAM,mBAAmB,CAAC;AAY3B;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,ySAmBpB,CAAC;AAEX,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE;;GAEG;AACH,UAAU,MAAM;IACd,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3D,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AA4JD;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,EAAE,kCAAkC;IAkCvD;;OAEG;IACG,eAAe,CACnB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,qBAAqB,CAAC;IA8MjC,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;IAuFnB,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,cAAc;IA+DtB,OAAO,CAAC,iBAAiB;IA6DzB,OAAO,CAAC,kBAAkB;IA6D1B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,wBAAwB;CAcjC"}
|
package/dist/types/version.d.ts
CHANGED
package/package.json
CHANGED