@xemahq/contracts 0.48.0 → 0.50.0
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/.source-stamp.json +2 -2
- package/dist/authorization-module/platform/xema_capability.fga +13 -5
- package/dist/authorization-module/platform/xema_capability.fga.yaml +35 -1
- package/dist/authzen/index.d.ts +1 -0
- package/dist/authzen/index.d.ts.map +1 -1
- package/dist/authzen/index.js +1 -0
- package/dist/authzen/index.js.map +1 -1
- package/dist/authzen/lib/org-authority-contextual-tuple.d.ts +27 -0
- package/dist/authzen/lib/org-authority-contextual-tuple.d.ts.map +1 -0
- package/dist/authzen/lib/org-authority-contextual-tuple.js +54 -0
- package/dist/authzen/lib/org-authority-contextual-tuple.js.map +1 -0
- package/dist/authzen/lib/xema-authzen-profile.d.ts +4 -0
- package/dist/authzen/lib/xema-authzen-profile.d.ts.map +1 -1
- package/dist/authzen/lib/xema-authzen-profile.js +2 -0
- package/dist/authzen/lib/xema-authzen-profile.js.map +1 -1
- package/dist/capability/lib/capability-contribution.d.ts +0 -3
- package/dist/capability/lib/capability-contribution.d.ts.map +1 -1
- package/dist/capability/lib/capability-contribution.js +0 -3
- package/dist/capability/lib/capability-contribution.js.map +1 -1
- package/dist/capability/lib/capability-human-baseline.d.ts +10 -15
- package/dist/capability/lib/capability-human-baseline.d.ts.map +1 -1
- package/dist/capability/lib/capability-human-baseline.js +48 -77
- package/dist/capability/lib/capability-human-baseline.js.map +1 -1
- package/dist/capability/lib/shell-command-descriptor.d.ts +0 -2
- package/dist/capability/lib/shell-command-descriptor.d.ts.map +1 -1
- package/dist/capability/lib/shell-command-descriptor.js +1 -3
- package/dist/capability/lib/shell-command-descriptor.js.map +1 -1
- package/dist/capability-projection/lib/projected-capability.d.ts +0 -1
- package/dist/capability-projection/lib/projected-capability.d.ts.map +1 -1
- package/dist/deployment/index.d.ts +2 -0
- package/dist/deployment/index.d.ts.map +1 -0
- package/dist/deployment/index.js +18 -0
- package/dist/deployment/index.js.map +1 -0
- package/dist/deployment/lib/deployment-id.d.ts +11 -0
- package/dist/deployment/lib/deployment-id.d.ts.map +1 -0
- package/dist/deployment/lib/deployment-id.js +25 -0
- package/dist/deployment/lib/deployment-id.js.map +1 -0
- package/dist/execution-context/lib/execution-context.d.ts +1 -0
- package/dist/execution-context/lib/execution-context.d.ts.map +1 -1
- package/dist/execution-context/lib/execution-context.js +1 -0
- package/dist/execution-context/lib/execution-context.js.map +1 -1
- package/dist/execution-target/lib/execution-target.d.ts.map +1 -1
- package/dist/execution-target/lib/execution-target.js.map +1 -1
- package/dist/subject/lib/delegated-authority.d.ts +10 -1
- package/dist/subject/lib/delegated-authority.d.ts.map +1 -1
- package/dist/subject/lib/delegated-authority.js +29 -2
- package/dist/subject/lib/delegated-authority.js.map +1 -1
- package/dist/subject/lib/subject.d.ts +2 -1
- package/dist/subject/lib/subject.d.ts.map +1 -1
- package/dist/subject/lib/subject.js +1 -0
- package/dist/subject/lib/subject.js.map +1 -1
- package/dist/workflow/lib/workflow-namespace.d.ts +3 -4
- package/dist/workflow/lib/workflow-namespace.d.ts.map +1 -1
- package/dist/workflow/lib/workflow-namespace.js +27 -22
- package/dist/workflow/lib/workflow-namespace.js.map +1 -1
- package/package.json +1 -1
package/dist/.source-stamp.json
CHANGED
|
@@ -12,12 +12,20 @@ module xema_capability
|
|
|
12
12
|
# `user:*` on `granted_to` is the public-grant idiom: a PLATFORM-owned
|
|
13
13
|
# wildcard, written only by authorization-api's grant door.
|
|
14
14
|
#
|
|
15
|
-
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
15
|
+
# `org#admin` is the org's ADMINISTRATORS — owner, admin, or a platform admin
|
|
16
|
+
# acting in the org. It is never a stored tuple: the PDP adds it per decision
|
|
17
|
+
# as a CONTEXTUAL tuple from the verified org-authority instrument
|
|
18
|
+
# (`buildOrgAuthorityContextualTuples`, `@xemahq/contracts/authzen`), so a
|
|
19
|
+
# grant to `org:<o>#admin` admits exactly the subjects that instrument names
|
|
20
|
+
# for THIS decision, and nobody once their authority is withdrawn.
|
|
21
|
+
#
|
|
22
|
+
# This module is part of EVERY composition, so a grant tuple is valid under
|
|
23
|
+
# every composed model. The capability verdict must therefore evaluate against
|
|
24
|
+
# the org's composed policy set WITH the contextual tuples; a check that runs
|
|
25
|
+
# without them can never see an administrator grant.
|
|
18
26
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
19
27
|
|
|
20
28
|
type capability
|
|
21
29
|
relations
|
|
22
|
-
define granted_to: [user, user:*, agent, app, service, runner, external-subject, role#assignee, team#member]
|
|
23
|
-
define granted_pending_approval: [user, agent, app, service, runner, external-subject, role#assignee, team#member]
|
|
30
|
+
define granted_to: [user, user:*, agent, app, service, runner, external-subject, role#assignee, team#member, org#admin]
|
|
31
|
+
define granted_pending_approval: [user, agent, app, service, runner, external-subject, role#assignee, team#member, org#admin]
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
# module, run against the BASE composition. Ports the capability-grant
|
|
3
3
|
# semantics authorization-api relies on: direct grants, team grants through
|
|
4
4
|
# nested sub-teams, role grants through team-held assignments, the public
|
|
5
|
-
# `user:*` grant,
|
|
5
|
+
# `user:*` grant, the disjoint approval-gated relation, and grants to the
|
|
6
|
+
# org's administrators (`org#admin`). `org#admin` is never stored: the PDP
|
|
7
|
+
# adds it as a CONTEXTUAL tuple per decision, which these tests model as a
|
|
8
|
+
# test-scoped tuple — present in the allow case, absent in the deny cases.
|
|
6
9
|
name: xema_capability
|
|
7
10
|
model_file: ./fga.mod
|
|
8
11
|
tuples:
|
|
@@ -42,6 +45,10 @@ tuples:
|
|
|
42
45
|
- user: runner:r1
|
|
43
46
|
relation: granted_to
|
|
44
47
|
object: capability:runner~3anoop.echo@1|default
|
|
48
|
+
# grant to the administrators of org o1 (org-scoped capability object)
|
|
49
|
+
- user: org:o1#admin
|
|
50
|
+
relation: granted_to
|
|
51
|
+
object: capability:o1|notification~3aannouncement.publish@1|org
|
|
45
52
|
tests:
|
|
46
53
|
- name: a direct grant admits only its subject
|
|
47
54
|
check:
|
|
@@ -106,3 +113,30 @@ tests:
|
|
|
106
113
|
- capability:kb~3adoc.write@1|default
|
|
107
114
|
- capability:kb~3adoc.publish@1|default
|
|
108
115
|
- capability:catalog~3aread@1|default
|
|
116
|
+
- name: an administrator grant admits a subject only while it holds org-admin authority in THAT org
|
|
117
|
+
tuples:
|
|
118
|
+
# the per-decision contextual tuple the verified instrument produces
|
|
119
|
+
- user: user:carol
|
|
120
|
+
relation: admin
|
|
121
|
+
object: org:o1
|
|
122
|
+
check:
|
|
123
|
+
- user: user:carol
|
|
124
|
+
object: capability:o1|notification~3aannouncement.publish@1|org
|
|
125
|
+
assertions:
|
|
126
|
+
granted_to: true
|
|
127
|
+
- name: an administrator grant denies a subject with no org-authority instrument
|
|
128
|
+
check:
|
|
129
|
+
- user: user:carol
|
|
130
|
+
object: capability:o1|notification~3aannouncement.publish@1|org
|
|
131
|
+
assertions:
|
|
132
|
+
granted_to: false
|
|
133
|
+
- name: an administrator grant denies an administrator of a DIFFERENT org
|
|
134
|
+
tuples:
|
|
135
|
+
- user: user:carol
|
|
136
|
+
relation: admin
|
|
137
|
+
object: org:o2
|
|
138
|
+
check:
|
|
139
|
+
- user: user:carol
|
|
140
|
+
object: capability:o1|notification~3aannouncement.publish@1|org
|
|
141
|
+
assertions:
|
|
142
|
+
granted_to: false
|
package/dist/authzen/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/authzen/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/authzen/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC"}
|
package/dist/authzen/index.js
CHANGED
|
@@ -21,4 +21,5 @@ __exportStar(require("./lib/authzen-metadata"), exports);
|
|
|
21
21
|
__exportStar(require("./lib/xema-authzen-profile"), exports);
|
|
22
22
|
__exportStar(require("./lib/authzen-snapshot"), exports);
|
|
23
23
|
__exportStar(require("./lib/xema-capability-resource"), exports);
|
|
24
|
+
__exportStar(require("./lib/org-authority-contextual-tuple"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authzen/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,2DAAyC;AACzC,uDAAqC;AACrC,yDAAuC;AACvC,6DAA2C;AAC3C,yDAAuC;AACvC,iEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authzen/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,2DAAyC;AACzC,uDAAqC;AACrC,yDAAuC;AACvC,6DAA2C;AAC3C,yDAAuC;AACvC,iEAA+C;AAC/C,uEAAqD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { XemaOrgAuthorityInstrument } from './xema-authzen-profile';
|
|
2
|
+
export declare const XEMA_ORG_OBJECT_TYPE = "org";
|
|
3
|
+
export declare const XEMA_ORG_ADMIN_RELATION = "admin";
|
|
4
|
+
export interface AuthzContextualTuple {
|
|
5
|
+
readonly user: string;
|
|
6
|
+
readonly relation: string;
|
|
7
|
+
readonly object: string;
|
|
8
|
+
}
|
|
9
|
+
export declare enum OrgAuthorityContextualTupleRefusal {
|
|
10
|
+
SubjectNotUser = "subject_not_user",
|
|
11
|
+
RoleBelowAdmin = "role_below_admin"
|
|
12
|
+
}
|
|
13
|
+
export declare class OrgAuthorityContextualTupleError extends Error {
|
|
14
|
+
readonly refusal: OrgAuthorityContextualTupleRefusal;
|
|
15
|
+
constructor(refusal: OrgAuthorityContextualTupleRefusal);
|
|
16
|
+
}
|
|
17
|
+
export declare function buildXemaOrgObject(orgId: string): string;
|
|
18
|
+
export declare function buildOrgAdministratorsUserset(orgId: string): string;
|
|
19
|
+
export declare function buildOrgAuthorityContextualTuples(input: {
|
|
20
|
+
readonly subject: {
|
|
21
|
+
readonly kind: string;
|
|
22
|
+
readonly id: string;
|
|
23
|
+
};
|
|
24
|
+
readonly orgId: string;
|
|
25
|
+
readonly instrument: XemaOrgAuthorityInstrument | undefined;
|
|
26
|
+
}): readonly AuthzContextualTuple[];
|
|
27
|
+
//# sourceMappingURL=org-authority-contextual-tuple.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-authority-contextual-tuple.d.ts","sourceRoot":"","sources":["../../../src/authzen/lib/org-authority-contextual-tuple.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AA0BzE,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAG/C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAGD,oBAAY,kCAAkC;IAE5C,cAAc,qBAAqB;IAEnC,cAAc,qBAAqB;CACpC;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,kCAAkC;gBAA3C,OAAO,EAAE,kCAAkC;CAQjE;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAQD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAOD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,0BAA0B,GAAG,SAAS,CAAC;CAC7D,GAAG,SAAS,oBAAoB,EAAE,CAuBlC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OrgAuthorityContextualTupleError = exports.OrgAuthorityContextualTupleRefusal = exports.XEMA_ORG_ADMIN_RELATION = exports.XEMA_ORG_OBJECT_TYPE = void 0;
|
|
4
|
+
exports.buildXemaOrgObject = buildXemaOrgObject;
|
|
5
|
+
exports.buildOrgAdministratorsUserset = buildOrgAdministratorsUserset;
|
|
6
|
+
exports.buildOrgAuthorityContextualTuples = buildOrgAuthorityContextualTuples;
|
|
7
|
+
const audit_1 = require("../../audit");
|
|
8
|
+
const subject_1 = require("../../subject");
|
|
9
|
+
const tenant_1 = require("../../tenant");
|
|
10
|
+
const xema_capability_resource_1 = require("./xema-capability-resource");
|
|
11
|
+
exports.XEMA_ORG_OBJECT_TYPE = 'org';
|
|
12
|
+
exports.XEMA_ORG_ADMIN_RELATION = 'admin';
|
|
13
|
+
var OrgAuthorityContextualTupleRefusal;
|
|
14
|
+
(function (OrgAuthorityContextualTupleRefusal) {
|
|
15
|
+
OrgAuthorityContextualTupleRefusal["SubjectNotUser"] = "subject_not_user";
|
|
16
|
+
OrgAuthorityContextualTupleRefusal["RoleBelowAdmin"] = "role_below_admin";
|
|
17
|
+
})(OrgAuthorityContextualTupleRefusal || (exports.OrgAuthorityContextualTupleRefusal = OrgAuthorityContextualTupleRefusal = {}));
|
|
18
|
+
class OrgAuthorityContextualTupleError extends Error {
|
|
19
|
+
refusal;
|
|
20
|
+
constructor(refusal) {
|
|
21
|
+
super(refusal === OrgAuthorityContextualTupleRefusal.SubjectNotUser
|
|
22
|
+
? 'an org-authority instrument is carried only by a user subject.'
|
|
23
|
+
: 'the org-authority instrument states an org role that does not hold org-admin authority.');
|
|
24
|
+
this.refusal = refusal;
|
|
25
|
+
this.name = 'OrgAuthorityContextualTupleError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.OrgAuthorityContextualTupleError = OrgAuthorityContextualTupleError;
|
|
29
|
+
function buildXemaOrgObject(orgId) {
|
|
30
|
+
return `${exports.XEMA_ORG_OBJECT_TYPE}:${(0, xema_capability_resource_1.encodeXemaIdSegment)(orgId)}`;
|
|
31
|
+
}
|
|
32
|
+
function buildOrgAdministratorsUserset(orgId) {
|
|
33
|
+
return `${buildXemaOrgObject(orgId)}#${exports.XEMA_ORG_ADMIN_RELATION}`;
|
|
34
|
+
}
|
|
35
|
+
function buildOrgAuthorityContextualTuples(input) {
|
|
36
|
+
const { subject, orgId, instrument } = input;
|
|
37
|
+
if (instrument === undefined)
|
|
38
|
+
return [];
|
|
39
|
+
if (subject.kind !== subject_1.SubjectKind.User) {
|
|
40
|
+
throw new OrgAuthorityContextualTupleError(OrgAuthorityContextualTupleRefusal.SubjectNotUser);
|
|
41
|
+
}
|
|
42
|
+
if (instrument.kind === audit_1.AuditAuthorityKind.OrgRole &&
|
|
43
|
+
!(0, tenant_1.orgRoleSatisfies)(instrument.orgRole, tenant_1.OrgRole.Admin)) {
|
|
44
|
+
throw new OrgAuthorityContextualTupleError(OrgAuthorityContextualTupleRefusal.RoleBelowAdmin);
|
|
45
|
+
}
|
|
46
|
+
return [
|
|
47
|
+
{
|
|
48
|
+
user: (0, subject_1.subjectRefToString)({ kind: subject_1.SubjectKind.User, id: subject.id }),
|
|
49
|
+
relation: exports.XEMA_ORG_ADMIN_RELATION,
|
|
50
|
+
object: buildXemaOrgObject(orgId),
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=org-authority-contextual-tuple.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-authority-contextual-tuple.js","sourceRoot":"","sources":["../../../src/authzen/lib/org-authority-contextual-tuple.ts"],"names":[],"mappings":";;;AA6DA,gDAEC;AAQD,sEAEC;AAOD,8EA2BC;AA3GD,uCAAiD;AACjD,2CAAgE;AAChE,yCAAyD;AAEzD,yEAAiE;AA2BpD,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAC7B,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAU/C,IAAY,kCAKX;AALD,WAAY,kCAAkC;IAE5C,yEAAmC,CAAA;IAEnC,yEAAmC,CAAA;AACrC,CAAC,EALW,kCAAkC,kDAAlC,kCAAkC,QAK7C;AAED,MAAa,gCAAiC,SAAQ,KAAK;IACpC;IAArB,YAAqB,OAA2C;QAC9D,KAAK,CACH,OAAO,KAAK,kCAAkC,CAAC,cAAc;YAC3D,CAAC,CAAC,gEAAgE;YAClE,CAAC,CAAC,yFAAyF,CAC9F,CAAC;QALiB,YAAO,GAAP,OAAO,CAAoC;QAM9D,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AATD,4EASC;AAGD,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,OAAO,GAAG,4BAAoB,IAAI,IAAA,8CAAmB,EAAC,KAAK,CAAC,EAAE,CAAC;AACjE,CAAC;AAQD,SAAgB,6BAA6B,CAAC,KAAa;IACzD,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,+BAAuB,EAAE,CAAC;AACnE,CAAC;AAOD,SAAgB,iCAAiC,CAAC,KAIjD;IACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACxC,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAW,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,gCAAgC,CACxC,kCAAkC,CAAC,cAAc,CAClD,CAAC;IACJ,CAAC;IACD,IACE,UAAU,CAAC,IAAI,KAAK,0BAAkB,CAAC,OAAO;QAC9C,CAAC,IAAA,yBAAgB,EAAC,UAAU,CAAC,OAAO,EAAE,gBAAO,CAAC,KAAK,CAAC,EACpD,CAAC;QACD,MAAM,IAAI,gCAAgC,CACxC,kCAAkC,CAAC,cAAc,CAClD,CAAC;IACJ,CAAC;IACD,OAAO;QACL;YACE,IAAI,EAAE,IAAA,4BAAkB,EAAC,EAAE,IAAI,EAAE,qBAAW,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;YACpE,QAAQ,EAAE,+BAAuB;YACjC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC;SAClC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -87,6 +87,7 @@ export declare const XemaAuthzenInvocationSchema: z.ZodObject<{
|
|
|
87
87
|
aperture: z.ZodOptional<z.ZodType<import("../../capability").CapabilityAperture, unknown, z.core.$ZodTypeInternals<import("../../capability").CapabilityAperture, unknown>>>;
|
|
88
88
|
constraints: z.ZodOptional<z.ZodType<import("../../execution-context").ExecutionContextConstraints, unknown, z.core.$ZodTypeInternals<import("../../execution-context").ExecutionContextConstraints, unknown>>>;
|
|
89
89
|
resourceClassification: z.ZodOptional<z.ZodEnum<typeof import("../../space").DataClassification>>;
|
|
90
|
+
operationInstance: z.ZodOptional<z.ZodString>;
|
|
90
91
|
}, z.core.$strict>;
|
|
91
92
|
export type XemaAuthzenInvocation = z.infer<typeof XemaAuthzenInvocationSchema>;
|
|
92
93
|
export declare const XemaAuthzenInstanceSchema: z.ZodObject<{
|
|
@@ -111,6 +112,7 @@ export declare const XemaAuthzenContextSchema: z.ZodObject<{
|
|
|
111
112
|
aperture: z.ZodOptional<z.ZodType<import("../../capability").CapabilityAperture, unknown, z.core.$ZodTypeInternals<import("../../capability").CapabilityAperture, unknown>>>;
|
|
112
113
|
constraints: z.ZodOptional<z.ZodType<import("../../execution-context").ExecutionContextConstraints, unknown, z.core.$ZodTypeInternals<import("../../execution-context").ExecutionContextConstraints, unknown>>>;
|
|
113
114
|
resourceClassification: z.ZodOptional<z.ZodEnum<typeof import("../../space").DataClassification>>;
|
|
115
|
+
operationInstance: z.ZodOptional<z.ZodString>;
|
|
114
116
|
}, z.core.$strict>>;
|
|
115
117
|
snapshot: z.ZodOptional<z.ZodString>;
|
|
116
118
|
}, z.core.$strict>;
|
|
@@ -160,6 +162,7 @@ export declare const XemaAccessEvaluationRequestSchema: z.ZodObject<{
|
|
|
160
162
|
aperture: z.ZodOptional<z.ZodType<import("../../capability").CapabilityAperture, unknown, z.core.$ZodTypeInternals<import("../../capability").CapabilityAperture, unknown>>>;
|
|
161
163
|
constraints: z.ZodOptional<z.ZodType<import("../../execution-context").ExecutionContextConstraints, unknown, z.core.$ZodTypeInternals<import("../../execution-context").ExecutionContextConstraints, unknown>>>;
|
|
162
164
|
resourceClassification: z.ZodOptional<z.ZodEnum<typeof import("../../space").DataClassification>>;
|
|
165
|
+
operationInstance: z.ZodOptional<z.ZodString>;
|
|
163
166
|
}, z.core.$strict>>;
|
|
164
167
|
snapshot: z.ZodOptional<z.ZodString>;
|
|
165
168
|
}, z.core.$strict>;
|
|
@@ -172,6 +175,7 @@ export declare enum XemaAuthzenReasonCode {
|
|
|
172
175
|
DelegationRequired = "delegation_required",
|
|
173
176
|
CapabilityNotDelegated = "capability_not_delegated",
|
|
174
177
|
ResourceOutsideDelegatedScope = "resource_outside_delegated_scope",
|
|
178
|
+
OperationInstanceMismatch = "operation_instance_mismatch",
|
|
175
179
|
CeilingRefused = "ceiling_refused",
|
|
176
180
|
NamespaceWithdrawn = "namespace_withdrawn",
|
|
177
181
|
SubjectNotEvaluable = "subject_not_evaluable"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xema-authzen-profile.d.ts","sourceRoot":"","sources":["../../../src/authzen/lib/xema-authzen-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQjD,OAAO,EAGL,WAAW,EACZ,MAAM,eAAe,CAAC;AA6BvB,eAAO,MAAM,0BAA0B,mHAS5B,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,eAAO,MAAM,4BAA4B;;;;;;EAAqC,CAAC;AAc/E,eAAO,MAAM,gCAAgC;;;;;4BAQ3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AAQF,eAAO,MAAM,kCAAkC;;;;;;;kBAIpC,CAAC;AACZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC;AAGF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;kBAM1B,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAY1E,eAAO,MAAM,oCAAoC,qCAEtC,CAAC;AAGZ,eAAO,MAAM,iCAAiC;;;;;kBAKnC,CAAC;AACZ,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AASF,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAO5C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAG/C,eAAO,MAAM,iCAAiC,QAAe,CAAC;AAE9D,eAAO,MAAM,6BAA6B,aAKtC,CAAC;AAGL,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,OAAO,EAAE,MAAM;CAI5B;AAGD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAYxE;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAGD,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAQ5E;AAiBD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EACxD,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAgBT;AAGD,eAAO,MAAM,yBAAyB;;;;kBAAwB,CAAC;AAM/D,eAAO,MAAM,uBAAuB;;;kBAIlC,CAAC;
|
|
1
|
+
{"version":3,"file":"xema-authzen-profile.d.ts","sourceRoot":"","sources":["../../../src/authzen/lib/xema-authzen-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,6 +117,7 @@ exports.XemaAuthzenInvocationSchema = zod_1.z
|
|
|
117
117
|
aperture: capability_1.CapabilityApertureSchema.optional(),
|
|
118
118
|
constraints: execution_context_1.ExecutionContextConstraintsSchema.optional(),
|
|
119
119
|
resourceClassification: space_1.DataClassificationSchema.optional(),
|
|
120
|
+
operationInstance: zod_1.z.string().min(1).optional(),
|
|
120
121
|
})
|
|
121
122
|
.strict();
|
|
122
123
|
exports.XemaAuthzenInstanceSchema = zod_1.z
|
|
@@ -152,6 +153,7 @@ var XemaAuthzenReasonCode;
|
|
|
152
153
|
XemaAuthzenReasonCode["DelegationRequired"] = "delegation_required";
|
|
153
154
|
XemaAuthzenReasonCode["CapabilityNotDelegated"] = "capability_not_delegated";
|
|
154
155
|
XemaAuthzenReasonCode["ResourceOutsideDelegatedScope"] = "resource_outside_delegated_scope";
|
|
156
|
+
XemaAuthzenReasonCode["OperationInstanceMismatch"] = "operation_instance_mismatch";
|
|
155
157
|
XemaAuthzenReasonCode["CeilingRefused"] = "ceiling_refused";
|
|
156
158
|
XemaAuthzenReasonCode["NamespaceWithdrawn"] = "namespace_withdrawn";
|
|
157
159
|
XemaAuthzenReasonCode["SubjectNotEvaluable"] = "subject_not_evaluable";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xema-authzen-profile.js","sourceRoot":"","sources":["../../../src/authzen/lib/xema-authzen-profile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"xema-authzen-profile.js","sourceRoot":"","sources":["../../../src/authzen/lib/xema-authzen-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ import { type CapabilityEffectClass } from './capability-effect-class';
|
|
|
6
6
|
import { type RequiredResourceRoleBinding } from './required-resource-role-binding';
|
|
7
7
|
import { CapabilityRiskTier } from './permission-profile';
|
|
8
8
|
import { type DataClassification } from '../../space';
|
|
9
|
-
import { type OrgRole } from '../../tenant';
|
|
10
9
|
import { type HumanBaseline } from './capability-human-baseline';
|
|
11
10
|
import { type TrustedContextProjection } from './trusted-context-projection';
|
|
12
11
|
export interface CapabilityContributionManifest {
|
|
@@ -28,7 +27,6 @@ export interface CapabilityContributionManifest {
|
|
|
28
27
|
readonly trustedContextProjection?: TrustedContextProjection | undefined;
|
|
29
28
|
readonly requiredBindings?: readonly RequiredResourceRoleBinding[] | undefined;
|
|
30
29
|
readonly safeForAgents?: boolean | undefined;
|
|
31
|
-
readonly defaultBaselineOrgRole?: OrgRole | undefined;
|
|
32
30
|
readonly humanBaseline?: HumanBaseline | undefined;
|
|
33
31
|
}
|
|
34
32
|
export declare const CapabilityContributionManifestSchema: z.ZodObject<{
|
|
@@ -50,7 +48,6 @@ export declare const CapabilityContributionManifestSchema: z.ZodObject<{
|
|
|
50
48
|
trustedContextProjection: z.ZodOptional<z.ZodType<TrustedContextProjection, unknown, z.core.$ZodTypeInternals<TrustedContextProjection, unknown>>>;
|
|
51
49
|
requiredBindings: z.ZodOptional<z.ZodArray<z.ZodType<RequiredResourceRoleBinding, unknown, z.core.$ZodTypeInternals<RequiredResourceRoleBinding, unknown>>>>;
|
|
52
50
|
safeForAgents: z.ZodOptional<z.ZodBoolean>;
|
|
53
|
-
defaultBaselineOrgRole: z.ZodOptional<z.ZodEnum<typeof OrgRole>>;
|
|
54
51
|
humanBaseline: z.ZodOptional<z.ZodType<HumanBaseline, unknown, z.core.$ZodTypeInternals<HumanBaseline, unknown>>>;
|
|
55
52
|
}, z.core.$strict>;
|
|
56
53
|
//# sourceMappingURL=capability-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-contribution.d.ts","sourceRoot":"","sources":["../../../src/capability/lib/capability-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"capability-contribution.d.ts","sourceRoot":"","sources":["../../../src/capability/lib/capability-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,8BAA8B,CAAC;AAsBtC,MAAM,WAAW,8BAA8B;IAE7C,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAE5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAKtC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAKnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAUnE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAOjD,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAoB1D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAgB/D,QAAQ,CAAC,eAAe,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAqBjE,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IA0B7C,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAQzD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAgBzE,QAAQ,CAAC,gBAAgB,CAAC,EACtB,SAAS,2BAA2B,EAAE,GACtC,SAAS,CAAC;IAuDd,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAa7C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACpD;AAcD,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;kBAsEO,CAAC"}
|
|
@@ -9,7 +9,6 @@ const capability_effect_class_1 = require("./capability-effect-class");
|
|
|
9
9
|
const required_resource_role_binding_1 = require("./required-resource-role-binding");
|
|
10
10
|
const permission_profile_1 = require("./permission-profile");
|
|
11
11
|
const space_1 = require("../../space");
|
|
12
|
-
const tenant_1 = require("../../tenant");
|
|
13
12
|
const capability_human_baseline_1 = require("./capability-human-baseline");
|
|
14
13
|
const trusted_context_projection_1 = require("./trusted-context-projection");
|
|
15
14
|
exports.CapabilityContributionManifestSchema = zod_1.z
|
|
@@ -35,12 +34,10 @@ exports.CapabilityContributionManifestSchema = zod_1.z
|
|
|
35
34
|
.max(20)
|
|
36
35
|
.optional(),
|
|
37
36
|
safeForAgents: zod_1.z.boolean().optional(),
|
|
38
|
-
defaultBaselineOrgRole: tenant_1.OrgRoleSchema.optional(),
|
|
39
37
|
humanBaseline: capability_human_baseline_1.HumanBaselineSchema.optional(),
|
|
40
38
|
})
|
|
41
39
|
.strict()
|
|
42
40
|
.superRefine((manifest, context) => {
|
|
43
|
-
(0, capability_human_baseline_1.refineSingleHumanBaselineDeclaration)(manifest, context);
|
|
44
41
|
const properties = manifest.inputSchema['properties'];
|
|
45
42
|
if ((0, trusted_context_projection_1.declaresReservedTrustedOperationContextField)(properties)) {
|
|
46
43
|
context.addIssue({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-contribution.js","sourceRoot":"","sources":["../../../src/capability/lib/capability-contribution.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qDAA2E;AAC3E,yDAG4B;AAC5B,yDAG4B;AAC5B,uEAGmC;AACnC,qFAG0C;AAC1C,6DAG8B;AAC9B,uCAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"capability-contribution.js","sourceRoot":"","sources":["../../../src/capability/lib/capability-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ExecutionEnvironmentKind } from '../../execution-environment-kind';
|
|
3
3
|
import { OrgRole } from '../../tenant';
|
|
4
|
-
export declare const CAPABILITY_HUMAN_BASELINE_FIELD = "defaultBaselineOrgRole";
|
|
5
|
-
export declare function resolveHumanBaselineFloor(descriptor: Readonly<Record<string, unknown>> | undefined): OrgRole | undefined;
|
|
6
|
-
export declare function capabilityInHumanBaseline(descriptor: Readonly<Record<string, unknown>> | undefined, role: OrgRole): boolean;
|
|
7
|
-
export declare function isWidestHumanBaseline(descriptor: Readonly<Record<string, unknown>> | undefined): boolean;
|
|
8
4
|
export declare const CAPABILITY_HUMAN_BASELINE_DECLARATION_FIELD = "humanBaseline";
|
|
9
5
|
export declare enum HumanBaselineKind {
|
|
10
6
|
ExplicitOnly = "explicit-only",
|
|
11
|
-
OrgRole = "org-role"
|
|
7
|
+
OrgRole = "org-role",
|
|
8
|
+
OrgAdministrators = "org-administrators"
|
|
12
9
|
}
|
|
13
10
|
export interface ExplicitOnlyHumanBaseline {
|
|
14
11
|
readonly kind: HumanBaselineKind.ExplicitOnly;
|
|
@@ -18,23 +15,21 @@ export interface OrgRoleHumanBaseline {
|
|
|
18
15
|
readonly minimumOrgRole: OrgRole;
|
|
19
16
|
readonly environments: readonly ExecutionEnvironmentKind[];
|
|
20
17
|
}
|
|
21
|
-
export
|
|
18
|
+
export interface OrgAdministratorsHumanBaseline {
|
|
19
|
+
readonly kind: HumanBaselineKind.OrgAdministrators;
|
|
20
|
+
readonly environments: readonly ExecutionEnvironmentKind[];
|
|
21
|
+
}
|
|
22
|
+
export type GrantingHumanBaseline = OrgRoleHumanBaseline | OrgAdministratorsHumanBaseline;
|
|
23
|
+
export type HumanBaseline = ExplicitOnlyHumanBaseline | GrantingHumanBaseline;
|
|
22
24
|
export declare const HumanBaselineSchema: z.ZodType<HumanBaseline>;
|
|
23
25
|
export declare const EXPLICIT_ONLY_HUMAN_BASELINE: ExplicitOnlyHumanBaseline;
|
|
24
26
|
export declare class HumanBaselineDeclarationError extends Error {
|
|
25
27
|
constructor(message: string);
|
|
26
28
|
}
|
|
27
29
|
export declare function orgRoleHumanBaseline(minimumOrgRole: OrgRole, environments: readonly ExecutionEnvironmentKind[]): OrgRoleHumanBaseline;
|
|
28
|
-
export declare
|
|
29
|
-
export declare function refineSingleHumanBaselineDeclaration(manifest: {
|
|
30
|
-
readonly humanBaseline?: HumanBaseline | undefined;
|
|
31
|
-
readonly defaultBaselineOrgRole?: OrgRole | undefined;
|
|
32
|
-
}, context: z.RefinementCtx): void;
|
|
30
|
+
export declare function orgAdministratorsHumanBaseline(environments: readonly ExecutionEnvironmentKind[]): OrgAdministratorsHumanBaseline;
|
|
33
31
|
export declare function normalizeHumanBaseline(descriptor: Readonly<Record<string, unknown>> | undefined): HumanBaseline | undefined;
|
|
34
|
-
export
|
|
35
|
-
readonly minimumOrgRole: OrgRole;
|
|
36
|
-
readonly environments: readonly ExecutionEnvironmentKind[];
|
|
37
|
-
}
|
|
32
|
+
export type HumanBaselineGrantPlan = GrantingHumanBaseline;
|
|
38
33
|
export declare function humanBaselineGrantPlan(baseline: HumanBaseline | undefined): HumanBaselineGrantPlan | undefined;
|
|
39
34
|
export declare function satisfiesHumanBaseline(role: OrgRole, environment: ExecutionEnvironmentKind, baseline: HumanBaseline | undefined): boolean;
|
|
40
35
|
//# sourceMappingURL=capability-human-baseline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-human-baseline.d.ts","sourceRoot":"","sources":["../../../src/capability/lib/capability-human-baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,wBAAwB,EAEzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"capability-human-baseline.d.ts","sourceRoot":"","sources":["../../../src/capability/lib/capability-human-baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,wBAAwB,EAEzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAmC,MAAM,cAAc,CAAC;AA+HxE,eAAO,MAAM,2CAA2C,kBAAkB,CAAC;AAG3E,oBAAY,iBAAiB;IAE3B,YAAY,kBAAkB;IAE9B,OAAO,aAAa;IAEpB,iBAAiB,uBAAuB;CACzC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAEzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAMjC,QAAQ,CAAC,YAAY,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAKnD,QAAQ,CAAC,YAAY,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC5D;AAGD,MAAM,MAAM,qBAAqB,GAC7B,oBAAoB,GACpB,8BAA8B,CAAC;AAEnC,MAAM,MAAM,aAAa,GAAG,yBAAyB,GAAG,qBAAqB,CAAC;AAsE9E,eAAO,MAAM,mBAAmB,EAIf,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAG1C,eAAO,MAAM,4BAA4B,EAAE,yBACc,CAAC;AAO1D,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAOD,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,OAAO,EACvB,YAAY,EAAE,SAAS,wBAAwB,EAAE,GAChD,oBAAoB,CAgBtB;AAMD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,SAAS,wBAAwB,EAAE,GAChD,8BAA8B,CAehC;AAWD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GACxD,aAAa,GAAG,SAAS,CAa3B;AAQD,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAO3D,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,GAAG,SAAS,GAClC,sBAAsB,GAAG,SAAS,CASpC;AAqBD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,wBAAwB,EACrC,QAAQ,EAAE,aAAa,GAAG,SAAS,GAClC,OAAO,CAQT"}
|
|
@@ -1,38 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.resolveHumanBaselineFloor = resolveHumanBaselineFloor;
|
|
5
|
-
exports.capabilityInHumanBaseline = capabilityInHumanBaseline;
|
|
6
|
-
exports.isWidestHumanBaseline = isWidestHumanBaseline;
|
|
3
|
+
exports.HumanBaselineDeclarationError = exports.EXPLICIT_ONLY_HUMAN_BASELINE = exports.HumanBaselineSchema = exports.HumanBaselineKind = exports.CAPABILITY_HUMAN_BASELINE_DECLARATION_FIELD = void 0;
|
|
7
4
|
exports.orgRoleHumanBaseline = orgRoleHumanBaseline;
|
|
8
|
-
exports.
|
|
5
|
+
exports.orgAdministratorsHumanBaseline = orgAdministratorsHumanBaseline;
|
|
9
6
|
exports.normalizeHumanBaseline = normalizeHumanBaseline;
|
|
10
7
|
exports.humanBaselineGrantPlan = humanBaselineGrantPlan;
|
|
11
8
|
exports.satisfiesHumanBaseline = satisfiesHumanBaseline;
|
|
12
9
|
const zod_1 = require("zod");
|
|
13
10
|
const execution_environment_kind_1 = require("../../execution-environment-kind");
|
|
14
11
|
const tenant_1 = require("../../tenant");
|
|
15
|
-
exports.CAPABILITY_HUMAN_BASELINE_FIELD = 'defaultBaselineOrgRole';
|
|
16
|
-
function resolveHumanBaselineFloor(descriptor) {
|
|
17
|
-
if (descriptor === undefined)
|
|
18
|
-
return undefined;
|
|
19
|
-
const parsed = tenant_1.OrgRoleSchema.safeParse(descriptor[exports.CAPABILITY_HUMAN_BASELINE_FIELD]);
|
|
20
|
-
return parsed.success ? parsed.data : undefined;
|
|
21
|
-
}
|
|
22
|
-
function capabilityInHumanBaseline(descriptor, role) {
|
|
23
|
-
const floor = resolveHumanBaselineFloor(descriptor);
|
|
24
|
-
if (floor === undefined)
|
|
25
|
-
return false;
|
|
26
|
-
return (0, tenant_1.orgRoleSatisfies)(role, floor);
|
|
27
|
-
}
|
|
28
|
-
function isWidestHumanBaseline(descriptor) {
|
|
29
|
-
return capabilityInHumanBaseline(descriptor, tenant_1.LOWEST_ORG_ROLE);
|
|
30
|
-
}
|
|
31
12
|
exports.CAPABILITY_HUMAN_BASELINE_DECLARATION_FIELD = 'humanBaseline';
|
|
32
13
|
var HumanBaselineKind;
|
|
33
14
|
(function (HumanBaselineKind) {
|
|
34
15
|
HumanBaselineKind["ExplicitOnly"] = "explicit-only";
|
|
35
16
|
HumanBaselineKind["OrgRole"] = "org-role";
|
|
17
|
+
HumanBaselineKind["OrgAdministrators"] = "org-administrators";
|
|
36
18
|
})(HumanBaselineKind || (exports.HumanBaselineKind = HumanBaselineKind = {}));
|
|
37
19
|
function compareEnvironment(a, b) {
|
|
38
20
|
if (a === b)
|
|
@@ -42,14 +24,7 @@ function compareEnvironment(a, b) {
|
|
|
42
24
|
const ExplicitOnlyHumanBaselineSchema = zod_1.z
|
|
43
25
|
.object({ kind: zod_1.z.literal(HumanBaselineKind.ExplicitOnly) })
|
|
44
26
|
.strict();
|
|
45
|
-
|
|
46
|
-
.object({
|
|
47
|
-
kind: zod_1.z.literal(HumanBaselineKind.OrgRole),
|
|
48
|
-
minimumOrgRole: tenant_1.OrgRoleSchema,
|
|
49
|
-
environments: zod_1.z.array(execution_environment_kind_1.ExecutionEnvironmentKindSchema).min(1),
|
|
50
|
-
})
|
|
51
|
-
.strict()
|
|
52
|
-
.superRefine((baseline, context) => {
|
|
27
|
+
function refineCanonicalEnvironments(baseline, context) {
|
|
53
28
|
const seen = new Set();
|
|
54
29
|
for (const [index, environment] of baseline.environments.entries()) {
|
|
55
30
|
if (seen.has(environment)) {
|
|
@@ -72,10 +47,26 @@ const OrgRoleHumanBaselineSchema = zod_1.z
|
|
|
72
47
|
`(expected [${canonical.join(', ')}]).`,
|
|
73
48
|
});
|
|
74
49
|
}
|
|
75
|
-
}
|
|
50
|
+
}
|
|
51
|
+
const OrgRoleHumanBaselineSchema = zod_1.z
|
|
52
|
+
.object({
|
|
53
|
+
kind: zod_1.z.literal(HumanBaselineKind.OrgRole),
|
|
54
|
+
minimumOrgRole: tenant_1.OrgRoleSchema,
|
|
55
|
+
environments: zod_1.z.array(execution_environment_kind_1.ExecutionEnvironmentKindSchema).min(1),
|
|
56
|
+
})
|
|
57
|
+
.strict()
|
|
58
|
+
.superRefine(refineCanonicalEnvironments);
|
|
59
|
+
const OrgAdministratorsHumanBaselineSchema = zod_1.z
|
|
60
|
+
.object({
|
|
61
|
+
kind: zod_1.z.literal(HumanBaselineKind.OrgAdministrators),
|
|
62
|
+
environments: zod_1.z.array(execution_environment_kind_1.ExecutionEnvironmentKindSchema).min(1),
|
|
63
|
+
})
|
|
64
|
+
.strict()
|
|
65
|
+
.superRefine(refineCanonicalEnvironments);
|
|
76
66
|
exports.HumanBaselineSchema = zod_1.z.discriminatedUnion('kind', [
|
|
77
67
|
ExplicitOnlyHumanBaselineSchema,
|
|
78
68
|
OrgRoleHumanBaselineSchema,
|
|
69
|
+
OrgAdministratorsHumanBaselineSchema,
|
|
79
70
|
]);
|
|
80
71
|
exports.EXPLICIT_ONLY_HUMAN_BASELINE = Object.freeze({ kind: HumanBaselineKind.ExplicitOnly });
|
|
81
72
|
class HumanBaselineDeclarationError extends Error {
|
|
@@ -100,54 +91,33 @@ function orgRoleHumanBaseline(minimumOrgRole, environments) {
|
|
|
100
91
|
environments: Object.freeze(candidate.environments),
|
|
101
92
|
});
|
|
102
93
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
execution_environment_kind_1.ExecutionEnvironmentKind.Session,
|
|
112
|
-
]),
|
|
113
|
-
});
|
|
114
|
-
function refineSingleHumanBaselineDeclaration(manifest, context) {
|
|
115
|
-
if (manifest.humanBaseline !== undefined &&
|
|
116
|
-
manifest.defaultBaselineOrgRole !== undefined) {
|
|
117
|
-
context.addIssue({
|
|
118
|
-
code: 'custom',
|
|
119
|
-
path: [exports.CAPABILITY_HUMAN_BASELINE_DECLARATION_FIELD],
|
|
120
|
-
message: 'Declare either humanBaseline or the deprecated defaultBaselineOrgRole, never both.',
|
|
121
|
-
});
|
|
94
|
+
function orgAdministratorsHumanBaseline(environments) {
|
|
95
|
+
const candidate = {
|
|
96
|
+
kind: HumanBaselineKind.OrgAdministrators,
|
|
97
|
+
environments: [...environments].sort(compareEnvironment),
|
|
98
|
+
};
|
|
99
|
+
const parsed = exports.HumanBaselineSchema.safeParse(candidate);
|
|
100
|
+
if (!parsed.success) {
|
|
101
|
+
throw new HumanBaselineDeclarationError(parsed.error.issues.map((issue) => issue.message).join('; '));
|
|
122
102
|
}
|
|
103
|
+
return Object.freeze({
|
|
104
|
+
...candidate,
|
|
105
|
+
environments: Object.freeze(candidate.environments),
|
|
106
|
+
});
|
|
123
107
|
}
|
|
124
108
|
function normalizeHumanBaseline(descriptor) {
|
|
125
109
|
if (descriptor === undefined)
|
|
126
110
|
return undefined;
|
|
127
111
|
const structured = descriptor[exports.CAPABILITY_HUMAN_BASELINE_DECLARATION_FIELD];
|
|
128
|
-
|
|
129
|
-
const hasStructured = structured !== undefined && structured !== null;
|
|
130
|
-
const hasLegacy = legacyRaw !== undefined && legacyRaw !== null;
|
|
131
|
-
if (hasStructured && hasLegacy) {
|
|
132
|
-
throw new HumanBaselineDeclarationError('Declare either humanBaseline or the deprecated defaultBaselineOrgRole, never both.');
|
|
133
|
-
}
|
|
134
|
-
if (hasStructured) {
|
|
135
|
-
const parsed = exports.HumanBaselineSchema.safeParse(structured);
|
|
136
|
-
if (!parsed.success) {
|
|
137
|
-
throw new HumanBaselineDeclarationError(`Malformed humanBaseline: ${parsed.error.issues
|
|
138
|
-
.map((issue) => issue.message)
|
|
139
|
-
.join('; ')}`);
|
|
140
|
-
}
|
|
141
|
-
return parsed.data;
|
|
142
|
-
}
|
|
143
|
-
const legacy = resolveHumanBaselineFloor(descriptor);
|
|
144
|
-
if (legacy === undefined)
|
|
112
|
+
if (structured === undefined || structured === null)
|
|
145
113
|
return undefined;
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
114
|
+
const parsed = exports.HumanBaselineSchema.safeParse(structured);
|
|
115
|
+
if (!parsed.success) {
|
|
116
|
+
throw new HumanBaselineDeclarationError(`Malformed humanBaseline: ${parsed.error.issues
|
|
117
|
+
.map((issue) => issue.message)
|
|
118
|
+
.join('; ')}`);
|
|
119
|
+
}
|
|
120
|
+
return parsed.data;
|
|
151
121
|
}
|
|
152
122
|
function humanBaselineGrantPlan(baseline) {
|
|
153
123
|
if (baseline === undefined)
|
|
@@ -156,17 +126,18 @@ function humanBaselineGrantPlan(baseline) {
|
|
|
156
126
|
case HumanBaselineKind.ExplicitOnly:
|
|
157
127
|
return undefined;
|
|
158
128
|
case HumanBaselineKind.OrgRole:
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
environments: baseline.environments,
|
|
162
|
-
};
|
|
129
|
+
case HumanBaselineKind.OrgAdministrators:
|
|
130
|
+
return baseline;
|
|
163
131
|
}
|
|
164
132
|
}
|
|
133
|
+
const ORG_ADMINISTRATOR_ROLE_FLOOR = tenant_1.OrgRole.Admin;
|
|
165
134
|
function satisfiesHumanBaseline(role, environment, baseline) {
|
|
166
135
|
const plan = humanBaselineGrantPlan(baseline);
|
|
167
136
|
if (plan === undefined)
|
|
168
137
|
return false;
|
|
169
|
-
|
|
170
|
-
plan.
|
|
138
|
+
const floor = plan.kind === HumanBaselineKind.OrgRole
|
|
139
|
+
? plan.minimumOrgRole
|
|
140
|
+
: ORG_ADMINISTRATOR_ROLE_FLOOR;
|
|
141
|
+
return (0, tenant_1.orgRoleSatisfies)(role, floor) && plan.environments.includes(environment);
|
|
171
142
|
}
|
|
172
143
|
//# sourceMappingURL=capability-human-baseline.js.map
|