@vorionsys/contracts 0.1.2 → 0.1.3
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/CHANGELOG.md +1 -1
- package/README.md +3 -3
- package/dist/aci/index.d.ts +1 -1
- package/dist/aci/index.js +1 -1
- package/dist/canonical/agent.d.ts +14 -14
- package/dist/canonical/governance.d.ts +8 -8
- package/dist/canonical/intent.d.ts +18 -18
- package/dist/canonical/middleware.d.ts +4 -4
- package/dist/canonical/trust-signal.d.ts +48 -45
- package/dist/canonical/trust-signal.d.ts.map +1 -1
- package/dist/canonical/trust-signal.js +7 -2
- package/dist/canonical/trust-signal.js.map +1 -1
- package/dist/canonical/validation.d.ts +11 -26
- package/dist/canonical/validation.d.ts.map +1 -1
- package/dist/canonical/validation.js +30 -101
- package/dist/canonical/validation.js.map +1 -1
- package/dist/car/attestation.d.ts +30 -30
- package/dist/car/attestation.d.ts.map +1 -1
- package/dist/car/attestation.js +3 -1
- package/dist/car/attestation.js.map +1 -1
- package/dist/car/car-string.d.ts +41 -41
- package/dist/car/car-string.d.ts.map +1 -1
- package/dist/car/car-string.js +36 -36
- package/dist/car/car-string.js.map +1 -1
- package/dist/car/domains.d.ts +34 -18
- package/dist/car/domains.d.ts.map +1 -1
- package/dist/car/domains.js +53 -15
- package/dist/car/domains.js.map +1 -1
- package/dist/car/effective-permission.d.ts +59 -11
- package/dist/car/effective-permission.d.ts.map +1 -1
- package/dist/car/effective-permission.js +30 -2
- package/dist/car/effective-permission.js.map +1 -1
- package/dist/car/identity.d.ts +298 -79
- package/dist/car/identity.d.ts.map +1 -1
- package/dist/car/identity.js +112 -10
- package/dist/car/identity.js.map +1 -1
- package/dist/car/index.d.ts +3 -3
- package/dist/car/index.d.ts.map +1 -1
- package/dist/car/index.js +15 -7
- package/dist/car/index.js.map +1 -1
- package/dist/car/jwt-claims.d.ts +179 -179
- package/dist/car/jwt-claims.d.ts.map +1 -1
- package/dist/car/jwt-claims.js +39 -46
- package/dist/car/jwt-claims.js.map +1 -1
- package/dist/car/levels.d.ts +2 -2
- package/dist/car/mapping.d.ts +36 -36
- package/dist/car/mapping.d.ts.map +1 -1
- package/dist/car/mapping.js +107 -43
- package/dist/car/mapping.js.map +1 -1
- package/dist/car/skills.d.ts +4 -4
- package/dist/car/tiers.d.ts +7 -7
- package/dist/car/tiers.js +4 -4
- package/dist/car/tiers.js.map +1 -1
- package/dist/common/primitives.d.ts +2 -2
- package/dist/db/agents.d.ts +4 -4
- package/dist/db/agents.js +4 -4
- package/dist/db/agents.js.map +1 -1
- package/dist/v2/enums.d.ts +5 -0
- package/dist/v2/enums.d.ts.map +1 -1
- package/dist/v2/enums.js +5 -0
- package/dist/v2/enums.js.map +1 -1
- package/dist/v2/evidence.d.ts +20 -20
- package/dist/v2/pre-action-gate.js +5 -5
- package/dist/v2/pre-action-gate.js.map +1 -1
- package/dist/v2/retention.d.ts +14 -14
- package/dist/v2/trust-delta.d.ts +6 -6
- package/dist/v2/trust-delta.d.ts.map +1 -1
- package/dist/v2/trust-profile.d.ts +116 -54
- package/dist/v2/trust-profile.d.ts.map +1 -1
- package/dist/v2/trust-profile.js +22 -17
- package/dist/v2/trust-profile.js.map +1 -1
- package/dist/validators/decision.d.ts +6 -6
- package/dist/validators/intent.d.ts +8 -8
- package/dist/validators/proof-event.d.ts +54 -54
- package/dist/validators/trust-profile.d.ts +76 -244
- package/dist/validators/trust-profile.d.ts.map +1 -1
- package/dist/validators/trust-profile.js +21 -35
- package/dist/validators/trust-profile.js.map +1 -1
- package/package.json +4 -3
|
@@ -13,6 +13,33 @@
|
|
|
13
13
|
import { z } from 'zod';
|
|
14
14
|
import { CapabilityLevel } from './levels.js';
|
|
15
15
|
import { CertificationTier, RuntimeTier } from './tiers.js';
|
|
16
|
+
/**
|
|
17
|
+
* Supervision elevation for effective permission calculation.
|
|
18
|
+
*
|
|
19
|
+
* When an agent operates under a higher-tier supervisor, it can be
|
|
20
|
+
* granted temporary tier elevation of up to +2 tiers above its base
|
|
21
|
+
* certification tier. The effective elevation is always capped at
|
|
22
|
+
* (supervisorTier - 1) and T7_AUTONOMOUS.
|
|
23
|
+
*/
|
|
24
|
+
export interface SupervisionElevation {
|
|
25
|
+
/** Certification tier of the supervisor */
|
|
26
|
+
supervisorTier: CertificationTier;
|
|
27
|
+
/** Number of elevation tiers granted (0 to MAX_SUPERVISION_ELEVATION) */
|
|
28
|
+
grantedElevation: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Zod schema for SupervisionElevation.
|
|
32
|
+
*/
|
|
33
|
+
export declare const supervisionElevationSchema: z.ZodObject<{
|
|
34
|
+
supervisorTier: z.ZodNativeEnum<typeof CertificationTier>;
|
|
35
|
+
grantedElevation: z.ZodNumber;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
supervisorTier: CertificationTier;
|
|
38
|
+
grantedElevation: number;
|
|
39
|
+
}, {
|
|
40
|
+
supervisorTier: CertificationTier;
|
|
41
|
+
grantedElevation: number;
|
|
42
|
+
}>;
|
|
16
43
|
/**
|
|
17
44
|
* Context for calculating effective permissions.
|
|
18
45
|
*
|
|
@@ -22,9 +49,10 @@ import { CertificationTier, RuntimeTier } from './tiers.js';
|
|
|
22
49
|
* - runtimeTier: Deployment-specific autonomy level
|
|
23
50
|
* - observabilityCeiling: Maximum level based on observability requirements
|
|
24
51
|
* - contextPolicyCeiling: Maximum level based on current context policy
|
|
52
|
+
* - supervisionElevation: Optional tier boost from supervisor (max +2)
|
|
25
53
|
*/
|
|
26
54
|
export interface EffectivePermissionContext {
|
|
27
|
-
/**
|
|
55
|
+
/** CAR ID certification tier (external attestation status) */
|
|
28
56
|
certificationTier: CertificationTier;
|
|
29
57
|
/** Agent's competence/capability level */
|
|
30
58
|
competenceLevel: CapabilityLevel;
|
|
@@ -34,6 +62,8 @@ export interface EffectivePermissionContext {
|
|
|
34
62
|
observabilityCeiling: number;
|
|
35
63
|
/** Maximum level based on context policy (0-7) */
|
|
36
64
|
contextPolicyCeiling: number;
|
|
65
|
+
/** Optional supervision elevation (can raise effective tier by up to +2) */
|
|
66
|
+
supervisionElevation?: SupervisionElevation;
|
|
37
67
|
}
|
|
38
68
|
/**
|
|
39
69
|
* Zod schema for EffectivePermissionContext.
|
|
@@ -44,18 +74,36 @@ export declare const effectivePermissionContextSchema: z.ZodObject<{
|
|
|
44
74
|
runtimeTier: z.ZodNativeEnum<typeof RuntimeTier>;
|
|
45
75
|
observabilityCeiling: z.ZodNumber;
|
|
46
76
|
contextPolicyCeiling: z.ZodNumber;
|
|
77
|
+
supervisionElevation: z.ZodOptional<z.ZodObject<{
|
|
78
|
+
supervisorTier: z.ZodNativeEnum<typeof CertificationTier>;
|
|
79
|
+
grantedElevation: z.ZodNumber;
|
|
80
|
+
}, "strip", z.ZodTypeAny, {
|
|
81
|
+
supervisorTier: CertificationTier;
|
|
82
|
+
grantedElevation: number;
|
|
83
|
+
}, {
|
|
84
|
+
supervisorTier: CertificationTier;
|
|
85
|
+
grantedElevation: number;
|
|
86
|
+
}>>;
|
|
47
87
|
}, "strip", z.ZodTypeAny, {
|
|
48
88
|
certificationTier: CertificationTier;
|
|
49
89
|
runtimeTier: RuntimeTier;
|
|
50
90
|
competenceLevel: CapabilityLevel;
|
|
51
91
|
observabilityCeiling: number;
|
|
52
92
|
contextPolicyCeiling: number;
|
|
93
|
+
supervisionElevation?: {
|
|
94
|
+
supervisorTier: CertificationTier;
|
|
95
|
+
grantedElevation: number;
|
|
96
|
+
} | undefined;
|
|
53
97
|
}, {
|
|
54
98
|
certificationTier: CertificationTier;
|
|
55
99
|
runtimeTier: RuntimeTier;
|
|
56
100
|
competenceLevel: CapabilityLevel;
|
|
57
101
|
observabilityCeiling: number;
|
|
58
102
|
contextPolicyCeiling: number;
|
|
103
|
+
supervisionElevation?: {
|
|
104
|
+
supervisorTier: CertificationTier;
|
|
105
|
+
grantedElevation: number;
|
|
106
|
+
} | undefined;
|
|
59
107
|
}>;
|
|
60
108
|
/**
|
|
61
109
|
* Result of effective permission calculation.
|
|
@@ -75,7 +123,7 @@ export interface EffectivePermission {
|
|
|
75
123
|
/**
|
|
76
124
|
* Factors that can constrain effective permission.
|
|
77
125
|
*/
|
|
78
|
-
export type ConstrainingFactor = 'certification_tier' | 'competence_level' | 'runtime_tier' | 'observability_ceiling' | 'context_policy_ceiling' | 'multiple';
|
|
126
|
+
export type ConstrainingFactor = 'certification_tier' | 'competence_level' | 'runtime_tier' | 'observability_ceiling' | 'context_policy_ceiling' | 'supervision_elevation' | 'multiple';
|
|
79
127
|
/**
|
|
80
128
|
* Individual ceiling values applied to permission calculation.
|
|
81
129
|
*/
|
|
@@ -94,7 +142,7 @@ export interface PermissionCeilings {
|
|
|
94
142
|
/**
|
|
95
143
|
* Zod schema for ConstrainingFactor.
|
|
96
144
|
*/
|
|
97
|
-
export declare const constrainingFactorSchema: z.ZodEnum<["certification_tier", "competence_level", "runtime_tier", "observability_ceiling", "context_policy_ceiling", "multiple"]>;
|
|
145
|
+
export declare const constrainingFactorSchema: z.ZodEnum<["certification_tier", "competence_level", "runtime_tier", "observability_ceiling", "context_policy_ceiling", "supervision_elevation", "multiple"]>;
|
|
98
146
|
/**
|
|
99
147
|
* Zod schema for PermissionCeilings.
|
|
100
148
|
*/
|
|
@@ -123,7 +171,7 @@ export declare const permissionCeilingsSchema: z.ZodObject<{
|
|
|
123
171
|
export declare const effectivePermissionSchema: z.ZodObject<{
|
|
124
172
|
level: z.ZodNativeEnum<typeof CapabilityLevel>;
|
|
125
173
|
constrained: z.ZodBoolean;
|
|
126
|
-
constrainingFactor: z.ZodOptional<z.ZodEnum<["certification_tier", "competence_level", "runtime_tier", "observability_ceiling", "context_policy_ceiling", "multiple"]>>;
|
|
174
|
+
constrainingFactor: z.ZodOptional<z.ZodEnum<["certification_tier", "competence_level", "runtime_tier", "observability_ceiling", "context_policy_ceiling", "supervision_elevation", "multiple"]>>;
|
|
127
175
|
ceilings: z.ZodObject<{
|
|
128
176
|
certificationCeiling: z.ZodNativeEnum<typeof CapabilityLevel>;
|
|
129
177
|
competenceCeiling: z.ZodNativeEnum<typeof CapabilityLevel>;
|
|
@@ -154,7 +202,7 @@ export declare const effectivePermissionSchema: z.ZodObject<{
|
|
|
154
202
|
competenceCeiling: CapabilityLevel;
|
|
155
203
|
runtimeCeiling: CapabilityLevel;
|
|
156
204
|
};
|
|
157
|
-
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "multiple" | undefined;
|
|
205
|
+
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "supervision_elevation" | "multiple" | undefined;
|
|
158
206
|
recommendations?: string[] | undefined;
|
|
159
207
|
}, {
|
|
160
208
|
level: CapabilityLevel;
|
|
@@ -166,7 +214,7 @@ export declare const effectivePermissionSchema: z.ZodObject<{
|
|
|
166
214
|
competenceCeiling: CapabilityLevel;
|
|
167
215
|
runtimeCeiling: CapabilityLevel;
|
|
168
216
|
};
|
|
169
|
-
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "multiple" | undefined;
|
|
217
|
+
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "supervision_elevation" | "multiple" | undefined;
|
|
170
218
|
recommendations?: string[] | undefined;
|
|
171
219
|
}>;
|
|
172
220
|
/**
|
|
@@ -247,7 +295,7 @@ export declare const permissionCheckResultSchema: z.ZodObject<{
|
|
|
247
295
|
permission: z.ZodObject<{
|
|
248
296
|
level: z.ZodNativeEnum<typeof CapabilityLevel>;
|
|
249
297
|
constrained: z.ZodBoolean;
|
|
250
|
-
constrainingFactor: z.ZodOptional<z.ZodEnum<["certification_tier", "competence_level", "runtime_tier", "observability_ceiling", "context_policy_ceiling", "multiple"]>>;
|
|
298
|
+
constrainingFactor: z.ZodOptional<z.ZodEnum<["certification_tier", "competence_level", "runtime_tier", "observability_ceiling", "context_policy_ceiling", "supervision_elevation", "multiple"]>>;
|
|
251
299
|
ceilings: z.ZodObject<{
|
|
252
300
|
certificationCeiling: z.ZodNativeEnum<typeof CapabilityLevel>;
|
|
253
301
|
competenceCeiling: z.ZodNativeEnum<typeof CapabilityLevel>;
|
|
@@ -278,7 +326,7 @@ export declare const permissionCheckResultSchema: z.ZodObject<{
|
|
|
278
326
|
competenceCeiling: CapabilityLevel;
|
|
279
327
|
runtimeCeiling: CapabilityLevel;
|
|
280
328
|
};
|
|
281
|
-
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "multiple" | undefined;
|
|
329
|
+
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "supervision_elevation" | "multiple" | undefined;
|
|
282
330
|
recommendations?: string[] | undefined;
|
|
283
331
|
}, {
|
|
284
332
|
level: CapabilityLevel;
|
|
@@ -290,7 +338,7 @@ export declare const permissionCheckResultSchema: z.ZodObject<{
|
|
|
290
338
|
competenceCeiling: CapabilityLevel;
|
|
291
339
|
runtimeCeiling: CapabilityLevel;
|
|
292
340
|
};
|
|
293
|
-
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "multiple" | undefined;
|
|
341
|
+
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "supervision_elevation" | "multiple" | undefined;
|
|
294
342
|
recommendations?: string[] | undefined;
|
|
295
343
|
}>;
|
|
296
344
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -305,7 +353,7 @@ export declare const permissionCheckResultSchema: z.ZodObject<{
|
|
|
305
353
|
competenceCeiling: CapabilityLevel;
|
|
306
354
|
runtimeCeiling: CapabilityLevel;
|
|
307
355
|
};
|
|
308
|
-
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "multiple" | undefined;
|
|
356
|
+
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "supervision_elevation" | "multiple" | undefined;
|
|
309
357
|
recommendations?: string[] | undefined;
|
|
310
358
|
};
|
|
311
359
|
effectiveLevel: CapabilityLevel;
|
|
@@ -323,7 +371,7 @@ export declare const permissionCheckResultSchema: z.ZodObject<{
|
|
|
323
371
|
competenceCeiling: CapabilityLevel;
|
|
324
372
|
runtimeCeiling: CapabilityLevel;
|
|
325
373
|
};
|
|
326
|
-
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "multiple" | undefined;
|
|
374
|
+
constrainingFactor?: "certification_tier" | "competence_level" | "runtime_tier" | "observability_ceiling" | "context_policy_ceiling" | "supervision_elevation" | "multiple" | undefined;
|
|
327
375
|
recommendations?: string[] | undefined;
|
|
328
376
|
};
|
|
329
377
|
effectiveLevel: CapabilityLevel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective-permission.d.ts","sourceRoot":"","sources":["../../src/car/effective-permission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAyB,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAGZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"effective-permission.d.ts","sourceRoot":"","sources":["../../src/car/effective-permission.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* @module @vorionsys/contracts/car/effective-permission
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.permissionCheckResultSchema = exports.effectivePermissionSchema = exports.permissionCeilingsSchema = exports.constrainingFactorSchema = exports.effectivePermissionContextSchema = void 0;
|
|
15
|
+
exports.permissionCheckResultSchema = exports.effectivePermissionSchema = exports.permissionCeilingsSchema = exports.constrainingFactorSchema = exports.effectivePermissionContextSchema = exports.supervisionElevationSchema = void 0;
|
|
16
16
|
exports.calculateEffectivePermission = calculateEffectivePermission;
|
|
17
17
|
exports.permissionAllowsLevel = permissionAllowsLevel;
|
|
18
18
|
exports.contextAllowsLevel = contextAllowsLevel;
|
|
@@ -26,6 +26,14 @@ exports.isEffectivePermission = isEffectivePermission;
|
|
|
26
26
|
const zod_1 = require("zod");
|
|
27
27
|
const levels_js_1 = require("./levels.js");
|
|
28
28
|
const tiers_js_1 = require("./tiers.js");
|
|
29
|
+
const identity_js_1 = require("./identity.js");
|
|
30
|
+
/**
|
|
31
|
+
* Zod schema for SupervisionElevation.
|
|
32
|
+
*/
|
|
33
|
+
exports.supervisionElevationSchema = zod_1.z.object({
|
|
34
|
+
supervisorTier: tiers_js_1.certificationTierSchema,
|
|
35
|
+
grantedElevation: zod_1.z.number().int().min(0).max(identity_js_1.MAX_SUPERVISION_ELEVATION),
|
|
36
|
+
});
|
|
29
37
|
/**
|
|
30
38
|
* Zod schema for EffectivePermissionContext.
|
|
31
39
|
*/
|
|
@@ -35,6 +43,7 @@ exports.effectivePermissionContextSchema = zod_1.z.object({
|
|
|
35
43
|
runtimeTier: tiers_js_1.runtimeTierSchema,
|
|
36
44
|
observabilityCeiling: zod_1.z.number().int().min(0).max(7),
|
|
37
45
|
contextPolicyCeiling: zod_1.z.number().int().min(0).max(7),
|
|
46
|
+
supervisionElevation: exports.supervisionElevationSchema.optional(),
|
|
38
47
|
});
|
|
39
48
|
/**
|
|
40
49
|
* Zod schema for ConstrainingFactor.
|
|
@@ -45,6 +54,7 @@ exports.constrainingFactorSchema = zod_1.z.enum([
|
|
|
45
54
|
'runtime_tier',
|
|
46
55
|
'observability_ceiling',
|
|
47
56
|
'context_policy_ceiling',
|
|
57
|
+
'supervision_elevation',
|
|
48
58
|
'multiple',
|
|
49
59
|
]);
|
|
50
60
|
/**
|
|
@@ -120,7 +130,17 @@ function runtimeTierToCeiling(tier) {
|
|
|
120
130
|
*/
|
|
121
131
|
function calculateEffectivePermission(ctx) {
|
|
122
132
|
// Calculate individual ceilings
|
|
123
|
-
|
|
133
|
+
// If supervision elevation is active, boost the certification ceiling
|
|
134
|
+
let effectiveCertTier = ctx.certificationTier;
|
|
135
|
+
if (ctx.supervisionElevation) {
|
|
136
|
+
const { supervisorTier, grantedElevation } = ctx.supervisionElevation;
|
|
137
|
+
const elevation = Math.min(grantedElevation, identity_js_1.MAX_SUPERVISION_ELEVATION);
|
|
138
|
+
const supervisorCap = Math.max(0, supervisorTier - 1);
|
|
139
|
+
effectiveCertTier = Math.min(ctx.certificationTier + elevation, supervisorCap, tiers_js_1.CertificationTier.T7_AUTONOMOUS);
|
|
140
|
+
// Elevation can never lower the base tier
|
|
141
|
+
effectiveCertTier = Math.max(ctx.certificationTier, effectiveCertTier);
|
|
142
|
+
}
|
|
143
|
+
const certificationCeiling = certificationTierToCeiling(effectiveCertTier);
|
|
124
144
|
const competenceCeiling = ctx.competenceLevel;
|
|
125
145
|
const runtimeCeiling = runtimeTierToCeiling(ctx.runtimeTier);
|
|
126
146
|
const observabilityCeiling = Math.min(7, Math.max(0, ctx.observabilityCeiling));
|
|
@@ -262,6 +282,14 @@ function modifyContextCeiling(ctx, factor, newValue) {
|
|
|
262
282
|
case 'context_policy_ceiling':
|
|
263
283
|
newCtx.contextPolicyCeiling = Math.min(7, Math.max(0, newValue));
|
|
264
284
|
break;
|
|
285
|
+
case 'supervision_elevation':
|
|
286
|
+
if (newCtx.supervisionElevation) {
|
|
287
|
+
newCtx.supervisionElevation = {
|
|
288
|
+
...newCtx.supervisionElevation,
|
|
289
|
+
grantedElevation: Math.min(identity_js_1.MAX_SUPERVISION_ELEVATION, Math.max(0, newValue)),
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
break;
|
|
265
293
|
}
|
|
266
294
|
return newCtx;
|
|
267
295
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective-permission.js","sourceRoot":"","sources":["../../src/car/effective-permission.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;
|
|
1
|
+
{"version":3,"file":"effective-permission.js","sourceRoot":"","sources":["../../src/car/effective-permission.ts"],"names":[],"mappings":"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"}
|