@xemahq/contracts 0.77.0 → 0.78.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/README.md +1 -1
- package/dist/.source-stamp.json +2 -2
- package/dist/authorization-module/index.d.ts +2 -0
- package/dist/authorization-module/index.d.ts.map +1 -1
- package/dist/authorization-module/index.js +2 -0
- package/dist/authorization-module/index.js.map +1 -1
- package/dist/authorization-module/lib/authorization-composition-error.d.ts +11 -0
- package/dist/authorization-module/lib/authorization-composition-error.d.ts.map +1 -1
- package/dist/authorization-module/lib/authorization-composition-error.js +16 -1
- package/dist/authorization-module/lib/authorization-composition-error.js.map +1 -1
- package/dist/authorization-module/lib/authorization-interface-requirements.d.ts +5 -1
- package/dist/authorization-module/lib/authorization-interface-requirements.d.ts.map +1 -1
- package/dist/authorization-module/lib/authorization-interface-requirements.js +1 -0
- package/dist/authorization-module/lib/authorization-interface-requirements.js.map +1 -1
- package/dist/authorization-module/lib/authorization-module-contribution.d.ts +24 -0
- package/dist/authorization-module/lib/authorization-module-contribution.d.ts.map +1 -1
- package/dist/authorization-module/lib/authorization-module-contribution.js +1 -0
- package/dist/authorization-module/lib/authorization-module-contribution.js.map +1 -1
- package/dist/authorization-module/lib/authorization-module-envelope.d.ts +11 -0
- package/dist/authorization-module/lib/authorization-module-envelope.d.ts.map +1 -1
- package/dist/authorization-module/lib/authorization-module-envelope.js +4 -0
- package/dist/authorization-module/lib/authorization-module-envelope.js.map +1 -1
- package/dist/authorization-module/lib/delegation-origination.d.ts +26 -0
- package/dist/authorization-module/lib/delegation-origination.d.ts.map +1 -0
- package/dist/authorization-module/lib/delegation-origination.js +43 -0
- package/dist/authorization-module/lib/delegation-origination.js.map +1 -0
- package/dist/authorization-module/lib/delegation-wildcard-ceiling.d.ts +6 -0
- package/dist/authorization-module/lib/delegation-wildcard-ceiling.d.ts.map +1 -0
- package/dist/authorization-module/lib/delegation-wildcard-ceiling.js +17 -0
- package/dist/authorization-module/lib/delegation-wildcard-ceiling.js.map +1 -0
- package/dist/authorization-module/lib/platform-authorization-modules.d.ts.map +1 -1
- package/dist/authorization-module/lib/platform-authorization-modules.js +10 -11
- package/dist/authorization-module/lib/platform-authorization-modules.js.map +1 -1
- package/dist/authorization-module/platform/xema_core.fga +76 -45
- package/dist/authorization-module/platform/xema_core.fga.yaml +522 -97
- package/dist/authorization-module/platform/xema_sharing.fga +48 -33
- package/dist/authorization-module/platform/xema_sharing.fga.yaml +555 -2
- package/dist/authorization-module/server/authorization-interface-conformance.d.ts +1 -0
- package/dist/authorization-module/server/authorization-interface-conformance.d.ts.map +1 -1
- package/dist/authorization-module/server/authorization-interface-conformance.js +13 -1
- package/dist/authorization-module/server/authorization-interface-conformance.js.map +1 -1
- package/dist/authorization-module/server/compose-authorization-base.d.ts +2 -0
- package/dist/authorization-module/server/compose-authorization-base.d.ts.map +1 -1
- package/dist/authorization-module/server/compose-authorization-base.js +15 -2
- package/dist/authorization-module/server/compose-authorization-base.js.map +1 -1
- package/dist/authorization-module/server/delegation-origination-conformance.d.ts +15 -0
- package/dist/authorization-module/server/delegation-origination-conformance.d.ts.map +1 -0
- package/dist/authorization-module/server/delegation-origination-conformance.js +92 -0
- package/dist/authorization-module/server/delegation-origination-conformance.js.map +1 -0
- package/dist/authorization-module/server/userset-subject-types.d.ts +3 -0
- package/dist/authorization-module/server/userset-subject-types.d.ts.map +1 -0
- package/dist/authorization-module/server/userset-subject-types.js +65 -0
- package/dist/authorization-module/server/userset-subject-types.js.map +1 -0
- 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/durable-delegation-model.d.ts +33 -11
- package/dist/authzen/lib/durable-delegation-model.d.ts.map +1 -1
- package/dist/authzen/lib/durable-delegation-model.js +54 -16
- package/dist/authzen/lib/durable-delegation-model.js.map +1 -1
- package/dist/authzen/lib/xema-membership.d.ts +6 -0
- package/dist/authzen/lib/xema-membership.d.ts.map +1 -0
- package/dist/authzen/lib/xema-membership.js +16 -0
- package/dist/authzen/lib/xema-membership.js.map +1 -0
- package/dist/deployment/lib/resolved-deployment.d.ts +5 -2
- package/dist/deployment/lib/resolved-deployment.d.ts.map +1 -1
- package/dist/deployment/lib/resolved-deployment.js +6 -3
- package/dist/deployment/lib/resolved-deployment.js.map +1 -1
- package/dist/distribution/index.d.ts +2 -0
- package/dist/distribution/index.d.ts.map +1 -1
- package/dist/distribution/index.js +2 -0
- package/dist/distribution/index.js.map +1 -1
- package/dist/distribution/lib/authorization-lock.d.ts +16 -0
- package/dist/distribution/lib/authorization-lock.d.ts.map +1 -0
- package/dist/distribution/lib/authorization-lock.js +34 -0
- package/dist/distribution/lib/authorization-lock.js.map +1 -0
- package/dist/distribution/lib/customer-edition-definition.d.ts +10 -1
- package/dist/distribution/lib/customer-edition-definition.d.ts.map +1 -1
- package/dist/distribution/lib/customer-edition-definition.js +53 -2
- package/dist/distribution/lib/customer-edition-definition.js.map +1 -1
- package/dist/distribution/lib/distribution-lock.d.ts +2 -1
- package/dist/distribution/lib/distribution-lock.d.ts.map +1 -1
- package/dist/distribution/lib/distribution-lock.js +20 -0
- package/dist/distribution/lib/distribution-lock.js.map +1 -1
- package/dist/distribution/lib/image-producer-evidence.d.ts +86 -14
- package/dist/distribution/lib/image-producer-evidence.d.ts.map +1 -1
- package/dist/distribution/lib/image-producer-evidence.js +72 -12
- package/dist/distribution/lib/image-producer-evidence.js.map +1 -1
- package/dist/distribution/lib/kernel-contract-authority.d.ts +1 -0
- package/dist/distribution/lib/kernel-contract-authority.d.ts.map +1 -1
- package/dist/distribution/lib/kernel-contract-authority.js +6 -2
- package/dist/distribution/lib/kernel-contract-authority.js.map +1 -1
- package/dist/distribution/lib/kernel-contract-source-paths.d.ts +1 -1
- package/dist/distribution/lib/kernel-contract-source-paths.d.ts.map +1 -1
- package/dist/distribution/lib/kernel-contract-source-paths.js +8 -0
- package/dist/distribution/lib/kernel-contract-source-paths.js.map +1 -1
- package/dist/distribution/lib/resolve-unsplit-deployment.d.ts +2 -0
- package/dist/distribution/lib/resolve-unsplit-deployment.d.ts.map +1 -1
- package/dist/distribution/lib/resolve-unsplit-deployment.js +14 -0
- package/dist/distribution/lib/resolve-unsplit-deployment.js.map +1 -1
- package/dist/distribution/lib/runtime-image-source-index.d.ts +18 -1
- package/dist/distribution/lib/runtime-image-source-index.d.ts.map +1 -1
- package/dist/distribution/lib/runtime-image-source-index.js +38 -2
- package/dist/distribution/lib/runtime-image-source-index.js.map +1 -1
- package/dist/distribution/lib/verify-delivered-locks.d.ts +41 -0
- package/dist/distribution/lib/verify-delivered-locks.d.ts.map +1 -0
- package/dist/distribution/lib/verify-delivered-locks.js +76 -0
- package/dist/distribution/lib/verify-delivered-locks.js.map +1 -0
- package/dist/distribution/lib/verify-resolved-deployment.d.ts +1 -0
- package/dist/distribution/lib/verify-resolved-deployment.d.ts.map +1 -1
- package/dist/distribution/lib/verify-resolved-deployment.js +8 -0
- package/dist/distribution/lib/verify-resolved-deployment.js.map +1 -1
- package/dist/distribution/server/index.d.ts +8 -0
- package/dist/distribution/server/index.d.ts.map +1 -0
- package/dist/distribution/server/index.js +34 -0
- package/dist/distribution/server/index.js.map +1 -0
- package/dist/edition-protocol/edition-contract.schema.json +1 -1
- package/dist/edition-protocol/edition-protocol.json +1 -1
- package/dist/edition-protocol/lib/edition-protocol.d.ts +2 -1
- package/dist/edition-protocol/lib/edition-protocol.d.ts.map +1 -1
- package/dist/edition-protocol/lib/edition-protocol.js +4 -2
- package/dist/edition-protocol/lib/edition-protocol.js.map +1 -1
- package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.d.ts +2 -0
- package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.d.ts.map +1 -1
- package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.js +66 -1
- package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.js.map +1 -1
- package/package.json +5 -2
|
@@ -13,6 +13,21 @@ module xema_sharing
|
|
|
13
13
|
# explicit-share — named manager / editor / viewer tuples.
|
|
14
14
|
# Nothing short-circuits: org-shared is a tuple, read and revocable.
|
|
15
15
|
#
|
|
16
|
+
# A HUMAN SHARE'S HOLDER IS A MEMBERSHIP INSTANCE, not a user: every share
|
|
17
|
+
# level admits `membership#holder` (and `membership#holder with
|
|
18
|
+
# xema_share_not_expired`) INSTEAD OF `user`. A share bound to a membership
|
|
19
|
+
# ends with that membership and never revives on rejoin (see `membership` in
|
|
20
|
+
# xema_core). `org_viewer` is not a share level and is unchanged.
|
|
21
|
+
#
|
|
22
|
+
# AN ORG-SCOPED OWNER IS A MEMBERSHIP INSTANCE TOO: on every org-scoped kind
|
|
23
|
+
# (document, connector-migration, biome-lifecycle-approval, capability-grant,
|
|
24
|
+
# output-route, and a professional mailbox) `owner` admits `membership#holder`
|
|
25
|
+
# INSTEAD OF `user`, so leaving ends the ownership and a rejoin (a new
|
|
26
|
+
# membership id) never revives it; a demotion keeps the id and so the owner.
|
|
27
|
+
# Personal-space owners stay `user`: a personal mailbox (`xema_mailbox` admits
|
|
28
|
+
# both subject types, the writer picks by owner scope), a personal portal and
|
|
29
|
+
# a user memory. `xema_store-listing` is system-scoped, not org-scoped.
|
|
30
|
+
#
|
|
16
31
|
# A share may EXPIRE: `xema_share_not_expired` is evaluated against
|
|
17
32
|
# `current_time`, which the PDP supplies on every check — no sweeper.
|
|
18
33
|
#
|
|
@@ -31,10 +46,10 @@ module xema_sharing
|
|
|
31
46
|
|
|
32
47
|
type xema_document
|
|
33
48
|
relations
|
|
34
|
-
define owner: [
|
|
35
|
-
define manager: [
|
|
36
|
-
define editor: [
|
|
37
|
-
define viewer: [
|
|
49
|
+
define owner: [membership#holder, agent, service, external-subject, team#member, role#assignee]
|
|
50
|
+
define manager: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or owner
|
|
51
|
+
define editor: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or manager
|
|
52
|
+
define viewer: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or editor
|
|
38
53
|
define org_viewer: [org#member]
|
|
39
54
|
define can_manage: manager
|
|
40
55
|
define can_edit: editor
|
|
@@ -43,10 +58,10 @@ type xema_document
|
|
|
43
58
|
|
|
44
59
|
type xema_mailbox
|
|
45
60
|
relations
|
|
46
|
-
define owner: [user, agent, service, external-subject, team#member, role#assignee]
|
|
47
|
-
define manager: [
|
|
48
|
-
define editor: [
|
|
49
|
-
define viewer: [
|
|
61
|
+
define owner: [user, membership#holder, agent, service, external-subject, team#member, role#assignee]
|
|
62
|
+
define manager: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or owner
|
|
63
|
+
define editor: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or manager
|
|
64
|
+
define viewer: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or editor
|
|
50
65
|
define org_viewer: [org#member]
|
|
51
66
|
define can_manage: manager
|
|
52
67
|
define can_edit: editor
|
|
@@ -57,9 +72,9 @@ type xema_portal
|
|
|
57
72
|
relations
|
|
58
73
|
define parent: [org]
|
|
59
74
|
define owner: [user, agent, service, external-subject, team#member, role#assignee]
|
|
60
|
-
define manager: [
|
|
61
|
-
define editor: [
|
|
62
|
-
define viewer: [
|
|
75
|
+
define manager: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or owner or xema_admin from parent
|
|
76
|
+
define editor: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or manager
|
|
77
|
+
define viewer: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or editor
|
|
63
78
|
define org_viewer: [org#member]
|
|
64
79
|
define can_manage: manager
|
|
65
80
|
define can_edit: editor
|
|
@@ -68,10 +83,10 @@ type xema_portal
|
|
|
68
83
|
|
|
69
84
|
type xema_connector-migration
|
|
70
85
|
relations
|
|
71
|
-
define owner: [
|
|
72
|
-
define manager: [
|
|
73
|
-
define editor: [
|
|
74
|
-
define viewer: [
|
|
86
|
+
define owner: [membership#holder, agent, service, external-subject, team#member, role#assignee]
|
|
87
|
+
define manager: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or owner
|
|
88
|
+
define editor: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or manager
|
|
89
|
+
define viewer: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or editor
|
|
75
90
|
define org_viewer: [org#member]
|
|
76
91
|
define can_manage: manager
|
|
77
92
|
define can_edit: editor
|
|
@@ -81,9 +96,9 @@ type xema_connector-migration
|
|
|
81
96
|
type xema_store-listing
|
|
82
97
|
relations
|
|
83
98
|
define owner: [user, agent, service, external-subject, team#member, role#assignee]
|
|
84
|
-
define manager: [
|
|
85
|
-
define editor: [
|
|
86
|
-
define viewer: [
|
|
99
|
+
define manager: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or owner
|
|
100
|
+
define editor: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or manager
|
|
101
|
+
define viewer: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or editor
|
|
87
102
|
define org_viewer: [org#member]
|
|
88
103
|
define can_manage: manager
|
|
89
104
|
define can_edit: editor
|
|
@@ -92,10 +107,10 @@ type xema_store-listing
|
|
|
92
107
|
|
|
93
108
|
type xema_biome-lifecycle-approval
|
|
94
109
|
relations
|
|
95
|
-
define owner: [
|
|
96
|
-
define manager: [
|
|
97
|
-
define editor: [
|
|
98
|
-
define viewer: [
|
|
110
|
+
define owner: [membership#holder, agent, service, external-subject, team#member, role#assignee]
|
|
111
|
+
define manager: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or owner
|
|
112
|
+
define editor: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or manager
|
|
113
|
+
define viewer: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or editor
|
|
99
114
|
define org_viewer: [org#member]
|
|
100
115
|
define can_manage: manager
|
|
101
116
|
define can_edit: editor
|
|
@@ -105,9 +120,9 @@ type xema_biome-lifecycle-approval
|
|
|
105
120
|
type xema_memory
|
|
106
121
|
relations
|
|
107
122
|
define owner: [user, agent, service, external-subject, team#member, role#assignee]
|
|
108
|
-
define manager: [
|
|
109
|
-
define editor: [
|
|
110
|
-
define viewer: [
|
|
123
|
+
define manager: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or owner
|
|
124
|
+
define editor: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or manager
|
|
125
|
+
define viewer: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or editor
|
|
111
126
|
define org_viewer: [org#member]
|
|
112
127
|
define can_manage: manager
|
|
113
128
|
define can_edit: editor
|
|
@@ -116,10 +131,10 @@ type xema_memory
|
|
|
116
131
|
|
|
117
132
|
type xema_capability-grant
|
|
118
133
|
relations
|
|
119
|
-
define owner: [
|
|
120
|
-
define manager: [
|
|
121
|
-
define editor: [
|
|
122
|
-
define viewer: [
|
|
134
|
+
define owner: [membership#holder, agent, service, external-subject, team#member, role#assignee]
|
|
135
|
+
define manager: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or owner
|
|
136
|
+
define editor: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or manager
|
|
137
|
+
define viewer: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or editor
|
|
123
138
|
define org_viewer: [org#member]
|
|
124
139
|
define can_manage: manager
|
|
125
140
|
define can_edit: editor
|
|
@@ -128,10 +143,10 @@ type xema_capability-grant
|
|
|
128
143
|
|
|
129
144
|
type xema_output-route
|
|
130
145
|
relations
|
|
131
|
-
define owner: [
|
|
132
|
-
define manager: [
|
|
133
|
-
define editor: [
|
|
134
|
-
define viewer: [
|
|
146
|
+
define owner: [membership#holder, agent, service, external-subject, team#member, role#assignee]
|
|
147
|
+
define manager: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or owner
|
|
148
|
+
define editor: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or manager
|
|
149
|
+
define viewer: [membership#holder, membership#holder with xema_share_not_expired, agent, agent with xema_share_not_expired, external-subject, external-subject with xema_share_not_expired, team#member, team#member with xema_share_not_expired, role#assignee, role#assignee with xema_share_not_expired] or editor
|
|
135
150
|
define org_viewer: [org#member]
|
|
136
151
|
define can_manage: manager
|
|
137
152
|
define can_edit: editor
|