@xemahq/space-registry-api-client 0.2.4 → 0.2.7
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/custom-fetch.d.ts +22 -0
- package/dist/custom-fetch.js +27 -0
- package/dist/endpoints/spaces/spaces.d.ts +19 -4
- package/dist/endpoints/spaces/spaces.js +39 -4
- package/dist/models/createSpaceDto.d.ts +2 -2
- package/dist/models/dataClassification.d.ts +1 -1
- package/dist/models/index.d.ts +3 -8
- package/dist/models/index.js +3 -8
- package/dist/models/orgGovernanceSettingsDto.d.ts +22 -0
- package/dist/models/orgGovernanceSettingsDtoDataEnvelope.d.ts +9 -0
- package/dist/models/orgGovernanceSettingsDtoDataEnvelope.js +2 -0
- package/dist/models/spaceClassificationDto.d.ts +3 -4
- package/dist/models/spaceDto.d.ts +6 -18
- package/dist/models/spaceKind.d.ts +3 -0
- package/dist/models/updateClassificationDto.d.ts +1 -1
- package/dist/models/updateOrgGovernanceSettingsDto.d.ts +17 -0
- package/package.json +2 -2
- package/dist/models/spaceClassificationDtoResolvedFromRefUri.d.ts +0 -12
- package/dist/models/spaceDtoAppId.d.ts +0 -11
- package/dist/models/spaceDtoBiomeId.d.ts +0 -11
- package/dist/models/spaceDtoBiomeId.js +0 -7
- package/dist/models/spaceDtoOrgId.d.ts +0 -11
- package/dist/models/spaceDtoOrgId.js +0 -7
- package/dist/models/spaceDtoParentId.d.ts +0 -12
- package/dist/models/spaceDtoParentId.js +0 -7
- package/dist/models/spaceDtoProjectId.d.ts +0 -11
- package/dist/models/spaceDtoProjectId.js +0 -7
- package/dist/models/spaceDtoSessionId.d.ts +0 -11
- package/dist/models/spaceDtoSessionId.js +0 -7
- package/dist/models/spaceDtoUserId.d.ts +0 -11
- package/dist/models/spaceDtoUserId.js +0 -7
- /package/dist/models/{spaceClassificationDtoResolvedFromRefUri.js → orgGovernanceSettingsDto.js} +0 -0
- /package/dist/models/{spaceDtoAppId.js → updateOrgGovernanceSettingsDto.js} +0 -0
package/dist/custom-fetch.d.ts
CHANGED
|
@@ -47,6 +47,28 @@ export interface ClientConfig {
|
|
|
47
47
|
getAuthToken?: () => Promise<string>;
|
|
48
48
|
/** Optional callback returning headers to inject on every request. Per-call headers take precedence. */
|
|
49
49
|
getHeaders?: () => Record<string, string> | Promise<Record<string, string>>;
|
|
50
|
+
/**
|
|
51
|
+
* Optional resolver for the CORRELATION ID of the request being made — the
|
|
52
|
+
* handle that ties one causal chain together across every service hop.
|
|
53
|
+
*
|
|
54
|
+
* WHY IT IS A CALLBACK AND NOT A VALUE. `ClientConfig` is process-global
|
|
55
|
+
* (`configureClient` is called once at wiring time), and a correlation id is
|
|
56
|
+
* per-request. This is invoked INSIDE the request, so a server can point it
|
|
57
|
+
* at whatever carries its ambient request context and get the CURRENT id
|
|
58
|
+
* rather than the one that happened to be live at boot.
|
|
59
|
+
*
|
|
60
|
+
* WHY THE TRANSPORT DOES NOT MINT ONE. Returning `undefined` sends no header,
|
|
61
|
+
* and the receiving service's `RequestContextMiddleware` mints its own — a
|
|
62
|
+
* new trace, which is honest. A transport that minted per call would produce
|
|
63
|
+
* a FRESH id on every hop while looking like propagation, which is strictly
|
|
64
|
+
* worse than none: every row would carry a correlation id and no two rows
|
|
65
|
+
* that belong together would share one. That is the exact defect this exists
|
|
66
|
+
* to fix, so the transport must not reproduce it one layer down.
|
|
67
|
+
*
|
|
68
|
+
* A caller-supplied `X-Correlation-Id` header always wins, and so does one
|
|
69
|
+
* from `getHeaders`.
|
|
70
|
+
*/
|
|
71
|
+
getCorrelationId?: () => string | undefined | Promise<string | undefined>;
|
|
50
72
|
/**
|
|
51
73
|
* Optional callback invoked on a 401 before ONE re-attempt. Supplying it is
|
|
52
74
|
* what opts this client into that re-attempt; without it a 401 comes back to
|
package/dist/custom-fetch.js
CHANGED
|
@@ -89,6 +89,16 @@ function getClientConfig() {
|
|
|
89
89
|
*/
|
|
90
90
|
/** The only statuses that state the request was NOT processed. See above. */
|
|
91
91
|
const RETRYABLE_STATUSES = [429, 503];
|
|
92
|
+
/**
|
|
93
|
+
* The platform's correlation header, spelled once.
|
|
94
|
+
*
|
|
95
|
+
* Value-identical to what `RequestContextMiddleware` reads in
|
|
96
|
+
* `@xemahq/platform-common`. It is a literal here rather than an import
|
|
97
|
+
* because this file has ZERO imports on purpose: it ships byte-identical into
|
|
98
|
+
* browser-target clients as well as server-target ones, and a dependency on a
|
|
99
|
+
* NestJS-peer package would follow it into every one of them.
|
|
100
|
+
*/
|
|
101
|
+
const CORRELATION_ID_HEADER = 'X-Correlation-Id';
|
|
92
102
|
/** Backoff floor, doubling per attempt up to {@link MAX_BACKOFF_MS}. */
|
|
93
103
|
const BASE_BACKOFF_MS = 1000;
|
|
94
104
|
/** Ceiling on a single backoff, however many attempts have elapsed. */
|
|
@@ -104,6 +114,23 @@ async function buildHeaders(config, callerHeaders) {
|
|
|
104
114
|
}
|
|
105
115
|
}
|
|
106
116
|
}
|
|
117
|
+
// Correlation id (caller and global headers still take precedence).
|
|
118
|
+
//
|
|
119
|
+
// Without this, every server-to-server hop through a generated client started
|
|
120
|
+
// a NEW trace: the id is read-or-minted per hop by the receiving service's
|
|
121
|
+
// RequestContextMiddleware, and nothing carried it outbound — so an audit
|
|
122
|
+
// journal could record a whole causal chain and offer no way to join it back
|
|
123
|
+
// together.
|
|
124
|
+
//
|
|
125
|
+
// Absent resolver, or a resolver that answers `undefined`: NO header. The
|
|
126
|
+
// receiver mints and a new trace begins, which is the truthful outcome when
|
|
127
|
+
// there is nothing to continue.
|
|
128
|
+
if (config.getCorrelationId && !headers.has(CORRELATION_ID_HEADER)) {
|
|
129
|
+
const correlationId = await Promise.resolve(config.getCorrelationId());
|
|
130
|
+
if (correlationId) {
|
|
131
|
+
headers.set(CORRELATION_ID_HEADER, correlationId);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
107
134
|
// Auth token (caller or global headers take precedence)
|
|
108
135
|
if (config.getAuthToken && !headers.has('Authorization')) {
|
|
109
136
|
const token = await config.getAuthToken();
|
|
@@ -3,10 +3,23 @@
|
|
|
3
3
|
* Space Registry API
|
|
4
4
|
* OpenAPI spec version: 0.1.0
|
|
5
5
|
*/
|
|
6
|
-
import type { CreateSpaceDto, SpaceAncestorsDtoDataEnvelope, SpaceClassificationDtoDataEnvelope, SpaceDtoDataArrayEnvelope, SpaceDtoDataEnvelope, SpacesControllerAncestorsParams, SpacesControllerClassificationParams, SpacesControllerListParams, SpacesControllerResolveParams, UpdateClassificationDto } from '../../models';
|
|
6
|
+
import type { CreateSpaceDto, OrgGovernanceSettingsDtoDataEnvelope, SpaceAncestorsDtoDataEnvelope, SpaceClassificationDtoDataEnvelope, SpaceDtoDataArrayEnvelope, SpaceDtoDataEnvelope, SpacesControllerAncestorsParams, SpacesControllerClassificationParams, SpacesControllerListParams, SpacesControllerResolveParams, UpdateClassificationDto, UpdateOrgGovernanceSettingsDto } from '../../models';
|
|
7
|
+
export declare const getSpacesControllerReadGovernanceUrl: () => string;
|
|
8
|
+
/**
|
|
9
|
+
* An organization that has never armed anything returns 200 with `configured: false` — never a 404. Un-configured is an answer.
|
|
10
|
+
* @summary Read the caller org's classification-governance controls (separation of duties on downgrades).
|
|
11
|
+
*/
|
|
12
|
+
export declare const spacesControllerReadGovernance: (options?: RequestInit) => Promise<OrgGovernanceSettingsDtoDataEnvelope>;
|
|
13
|
+
export declare const getSpacesControllerUpdateGovernanceUrl: () => string;
|
|
14
|
+
/**
|
|
15
|
+
* OFF by default and on a fresh install. Arming requires a data-governance group — an armed control with nobody to ask refuses every downgrade and can approve none.
|
|
16
|
+
* @summary Arm or disarm approval-on-downgrade for the caller org. Requires the org admin role.
|
|
17
|
+
*/
|
|
18
|
+
export declare const spacesControllerUpdateGovernance: (updateOrgGovernanceSettingsDto: UpdateOrgGovernanceSettingsDto, options?: RequestInit) => Promise<OrgGovernanceSettingsDtoDataEnvelope>;
|
|
7
19
|
export declare const getSpacesControllerCreateUrl: () => string;
|
|
8
20
|
/**
|
|
9
|
-
*
|
|
21
|
+
* Nothing about the ancestry needs to exist first — a declaration on a project ref whose org ref has no row is valid, because ancestry is derived from the ref grammar rather than stored.
|
|
22
|
+
* @summary Declare a Space (idempotent on its canonical refUri). Requires the org admin role.
|
|
10
23
|
*/
|
|
11
24
|
export declare const spacesControllerCreate: (createSpaceDto: CreateSpaceDto, options?: RequestInit) => Promise<SpaceDtoDataEnvelope>;
|
|
12
25
|
export declare const getSpacesControllerListUrl: (params?: SpacesControllerListParams) => string;
|
|
@@ -40,11 +53,13 @@ export declare const getSpacesControllerGetByIdUrl: (id: string) => string;
|
|
|
40
53
|
export declare const spacesControllerGetById: (id: string, options?: RequestInit) => Promise<SpaceDtoDataEnvelope>;
|
|
41
54
|
export declare const getSpacesControllerRemoveUrl: (id: string) => string;
|
|
42
55
|
/**
|
|
43
|
-
*
|
|
56
|
+
* A row is an override, not a node, so a delete orphans nothing: every descendant ref keeps resolving and simply loses one contribution to the classification join.
|
|
57
|
+
* @summary Delete a Space override by id. Requires the org admin role. Refuses system-managed Spaces (fail-fast).
|
|
44
58
|
*/
|
|
45
59
|
export declare const spacesControllerRemove: (id: string, options?: RequestInit) => Promise<void>;
|
|
46
60
|
export declare const getSpacesControllerSetClassificationUrl: (id: string) => string;
|
|
47
61
|
/**
|
|
48
|
-
*
|
|
62
|
+
* RAISING sensitivity takes no extra path. LOWERING it requires `allowDowngrade` and writes a durable downgrade audit carrying the blast radius as measured at that moment. If the organization has armed separation of duties, the write does NOT happen: a Decision is opened for the data-governance group and this responds 409 `SPACE_DOWNGRADE_AWAITING_DECISION` with the decision id.
|
|
63
|
+
* @summary Set/change a Space's own classification. Requires the org admin role. Downgrades require allowDowngrade, are audited, and may require approval.
|
|
49
64
|
*/
|
|
50
65
|
export declare const spacesControllerSetClassification: (id: string, updateClassificationDto: UpdateClassificationDto, options?: RequestInit) => Promise<SpaceDtoDataEnvelope>;
|
|
@@ -1,13 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.spacesControllerSetClassification = exports.getSpacesControllerSetClassificationUrl = exports.spacesControllerRemove = exports.getSpacesControllerRemoveUrl = exports.spacesControllerGetById = exports.getSpacesControllerGetByIdUrl = exports.spacesControllerClassification = exports.getSpacesControllerClassificationUrl = exports.spacesControllerAncestors = exports.getSpacesControllerAncestorsUrl = exports.spacesControllerResolve = exports.getSpacesControllerResolveUrl = exports.spacesControllerList = exports.getSpacesControllerListUrl = exports.spacesControllerCreate = exports.getSpacesControllerCreateUrl = void 0;
|
|
3
|
+
exports.spacesControllerSetClassification = exports.getSpacesControllerSetClassificationUrl = exports.spacesControllerRemove = exports.getSpacesControllerRemoveUrl = exports.spacesControllerGetById = exports.getSpacesControllerGetByIdUrl = exports.spacesControllerClassification = exports.getSpacesControllerClassificationUrl = exports.spacesControllerAncestors = exports.getSpacesControllerAncestorsUrl = exports.spacesControllerResolve = exports.getSpacesControllerResolveUrl = exports.spacesControllerList = exports.getSpacesControllerListUrl = exports.spacesControllerCreate = exports.getSpacesControllerCreateUrl = exports.spacesControllerUpdateGovernance = exports.getSpacesControllerUpdateGovernanceUrl = exports.spacesControllerReadGovernance = exports.getSpacesControllerReadGovernanceUrl = void 0;
|
|
4
4
|
const custom_fetch_1 = require("../../custom-fetch");
|
|
5
|
+
const getSpacesControllerReadGovernanceUrl = () => {
|
|
6
|
+
return `/spaces/governance`;
|
|
7
|
+
};
|
|
8
|
+
exports.getSpacesControllerReadGovernanceUrl = getSpacesControllerReadGovernanceUrl;
|
|
9
|
+
/**
|
|
10
|
+
* An organization that has never armed anything returns 200 with `configured: false` — never a 404. Un-configured is an answer.
|
|
11
|
+
* @summary Read the caller org's classification-governance controls (separation of duties on downgrades).
|
|
12
|
+
*/
|
|
13
|
+
const spacesControllerReadGovernance = async (options) => {
|
|
14
|
+
return (0, custom_fetch_1.customFetch)((0, exports.getSpacesControllerReadGovernanceUrl)(), {
|
|
15
|
+
...options,
|
|
16
|
+
method: 'GET'
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
exports.spacesControllerReadGovernance = spacesControllerReadGovernance;
|
|
20
|
+
const getSpacesControllerUpdateGovernanceUrl = () => {
|
|
21
|
+
return `/spaces/governance`;
|
|
22
|
+
};
|
|
23
|
+
exports.getSpacesControllerUpdateGovernanceUrl = getSpacesControllerUpdateGovernanceUrl;
|
|
24
|
+
/**
|
|
25
|
+
* OFF by default and on a fresh install. Arming requires a data-governance group — an armed control with nobody to ask refuses every downgrade and can approve none.
|
|
26
|
+
* @summary Arm or disarm approval-on-downgrade for the caller org. Requires the org admin role.
|
|
27
|
+
*/
|
|
28
|
+
const spacesControllerUpdateGovernance = async (updateOrgGovernanceSettingsDto, options) => {
|
|
29
|
+
return (0, custom_fetch_1.customFetch)((0, exports.getSpacesControllerUpdateGovernanceUrl)(), {
|
|
30
|
+
...options,
|
|
31
|
+
method: 'PUT',
|
|
32
|
+
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
33
|
+
body: JSON.stringify(updateOrgGovernanceSettingsDto)
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
exports.spacesControllerUpdateGovernance = spacesControllerUpdateGovernance;
|
|
5
37
|
const getSpacesControllerCreateUrl = () => {
|
|
6
38
|
return `/spaces`;
|
|
7
39
|
};
|
|
8
40
|
exports.getSpacesControllerCreateUrl = getSpacesControllerCreateUrl;
|
|
9
41
|
/**
|
|
10
|
-
*
|
|
42
|
+
* Nothing about the ancestry needs to exist first — a declaration on a project ref whose org ref has no row is valid, because ancestry is derived from the ref grammar rather than stored.
|
|
43
|
+
* @summary Declare a Space (idempotent on its canonical refUri). Requires the org admin role.
|
|
11
44
|
*/
|
|
12
45
|
const spacesControllerCreate = async (createSpaceDto, options) => {
|
|
13
46
|
return (0, custom_fetch_1.customFetch)((0, exports.getSpacesControllerCreateUrl)(), {
|
|
@@ -173,7 +206,8 @@ const getSpacesControllerRemoveUrl = (id) => {
|
|
|
173
206
|
};
|
|
174
207
|
exports.getSpacesControllerRemoveUrl = getSpacesControllerRemoveUrl;
|
|
175
208
|
/**
|
|
176
|
-
*
|
|
209
|
+
* A row is an override, not a node, so a delete orphans nothing: every descendant ref keeps resolving and simply loses one contribution to the classification join.
|
|
210
|
+
* @summary Delete a Space override by id. Requires the org admin role. Refuses system-managed Spaces (fail-fast).
|
|
177
211
|
*/
|
|
178
212
|
const spacesControllerRemove = async (id, options) => {
|
|
179
213
|
return (0, custom_fetch_1.customFetch)((0, exports.getSpacesControllerRemoveUrl)(id), {
|
|
@@ -187,7 +221,8 @@ const getSpacesControllerSetClassificationUrl = (id) => {
|
|
|
187
221
|
};
|
|
188
222
|
exports.getSpacesControllerSetClassificationUrl = getSpacesControllerSetClassificationUrl;
|
|
189
223
|
/**
|
|
190
|
-
*
|
|
224
|
+
* RAISING sensitivity takes no extra path. LOWERING it requires `allowDowngrade` and writes a durable downgrade audit carrying the blast radius as measured at that moment. If the organization has armed separation of duties, the write does NOT happen: a Decision is opened for the data-governance group and this responds 409 `SPACE_DOWNGRADE_AWAITING_DECISION` with the decision id.
|
|
225
|
+
* @summary Set/change a Space's own classification. Requires the org admin role. Downgrades require allowDowngrade, are audited, and may require approval.
|
|
191
226
|
*/
|
|
192
227
|
const spacesControllerSetClassification = async (id, updateClassificationDto, options) => {
|
|
193
228
|
return (0, custom_fetch_1.customFetch)((0, exports.getSpacesControllerSetClassificationUrl)(id), {
|
|
@@ -10,9 +10,9 @@ export interface CreateSpaceDto {
|
|
|
10
10
|
ref: string;
|
|
11
11
|
/** Human-readable label for this Space. */
|
|
12
12
|
displayName: string;
|
|
13
|
-
/** Own data classification. MUST be >= the
|
|
13
|
+
/** Own data classification. MUST be >= the INHERITED floor (the join over the ancestor refs) unless allowClassificationBelowParent is set. */
|
|
14
14
|
classification?: DataClassification;
|
|
15
15
|
labels?: CreateSpaceDtoLabels;
|
|
16
|
-
/** Privileged policy flag. When true, permits a classification strictly below the
|
|
16
|
+
/** Privileged policy flag. When true, permits PERSISTING a classification strictly below the inherited floor. Resolution is a monotone join, so such a value can never lower the effective classification — the flag only suppresses the fail-fast that says so. */
|
|
17
17
|
allowClassificationBelowParent?: boolean;
|
|
18
18
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* OpenAPI spec version: 0.1.0
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* The classification DECLARED on this ref.
|
|
8
8
|
*/
|
|
9
9
|
export type DataClassification = typeof DataClassification[keyof typeof DataClassification];
|
|
10
10
|
export declare const DataClassification: {
|
package/dist/models/index.d.ts
CHANGED
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
export * from './createSpaceDto';
|
|
2
2
|
export * from './createSpaceDtoLabels';
|
|
3
3
|
export * from './dataClassification';
|
|
4
|
+
export * from './orgGovernanceSettingsDto';
|
|
5
|
+
export * from './orgGovernanceSettingsDtoDataEnvelope';
|
|
4
6
|
export * from './spaceAncestorsDto';
|
|
5
7
|
export * from './spaceAncestorsDtoDataEnvelope';
|
|
6
8
|
export * from './spaceClassificationDto';
|
|
7
9
|
export * from './spaceClassificationDtoDataEnvelope';
|
|
8
|
-
export * from './spaceClassificationDtoResolvedFromRefUri';
|
|
9
10
|
export * from './spaceDto';
|
|
10
|
-
export * from './spaceDtoAppId';
|
|
11
|
-
export * from './spaceDtoBiomeId';
|
|
12
11
|
export * from './spaceDtoDataArrayEnvelope';
|
|
13
12
|
export * from './spaceDtoDataEnvelope';
|
|
14
13
|
export * from './spaceDtoLabels';
|
|
15
|
-
export * from './spaceDtoOrgId';
|
|
16
|
-
export * from './spaceDtoParentId';
|
|
17
|
-
export * from './spaceDtoProjectId';
|
|
18
|
-
export * from './spaceDtoSessionId';
|
|
19
|
-
export * from './spaceDtoUserId';
|
|
20
14
|
export * from './spaceKind';
|
|
21
15
|
export * from './spacesControllerAncestorsParams';
|
|
22
16
|
export * from './spacesControllerClassificationParams';
|
|
23
17
|
export * from './spacesControllerListParams';
|
|
24
18
|
export * from './spacesControllerResolveParams';
|
|
25
19
|
export * from './updateClassificationDto';
|
|
20
|
+
export * from './updateOrgGovernanceSettingsDto';
|
package/dist/models/index.js
CHANGED
|
@@ -18,25 +18,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
__exportStar(require("./createSpaceDto"), exports);
|
|
19
19
|
__exportStar(require("./createSpaceDtoLabels"), exports);
|
|
20
20
|
__exportStar(require("./dataClassification"), exports);
|
|
21
|
+
__exportStar(require("./orgGovernanceSettingsDto"), exports);
|
|
22
|
+
__exportStar(require("./orgGovernanceSettingsDtoDataEnvelope"), exports);
|
|
21
23
|
__exportStar(require("./spaceAncestorsDto"), exports);
|
|
22
24
|
__exportStar(require("./spaceAncestorsDtoDataEnvelope"), exports);
|
|
23
25
|
__exportStar(require("./spaceClassificationDto"), exports);
|
|
24
26
|
__exportStar(require("./spaceClassificationDtoDataEnvelope"), exports);
|
|
25
|
-
__exportStar(require("./spaceClassificationDtoResolvedFromRefUri"), exports);
|
|
26
27
|
__exportStar(require("./spaceDto"), exports);
|
|
27
|
-
__exportStar(require("./spaceDtoAppId"), exports);
|
|
28
|
-
__exportStar(require("./spaceDtoBiomeId"), exports);
|
|
29
28
|
__exportStar(require("./spaceDtoDataArrayEnvelope"), exports);
|
|
30
29
|
__exportStar(require("./spaceDtoDataEnvelope"), exports);
|
|
31
30
|
__exportStar(require("./spaceDtoLabels"), exports);
|
|
32
|
-
__exportStar(require("./spaceDtoOrgId"), exports);
|
|
33
|
-
__exportStar(require("./spaceDtoParentId"), exports);
|
|
34
|
-
__exportStar(require("./spaceDtoProjectId"), exports);
|
|
35
|
-
__exportStar(require("./spaceDtoSessionId"), exports);
|
|
36
|
-
__exportStar(require("./spaceDtoUserId"), exports);
|
|
37
31
|
__exportStar(require("./spaceKind"), exports);
|
|
38
32
|
__exportStar(require("./spacesControllerAncestorsParams"), exports);
|
|
39
33
|
__exportStar(require("./spacesControllerClassificationParams"), exports);
|
|
40
34
|
__exportStar(require("./spacesControllerListParams"), exports);
|
|
41
35
|
__exportStar(require("./spacesControllerResolveParams"), exports);
|
|
42
36
|
__exportStar(require("./updateClassificationDto"), exports);
|
|
37
|
+
__exportStar(require("./updateOrgGovernanceSettingsDto"), exports);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by @xemahq/api-client-generator — do not edit manually.
|
|
3
|
+
* Space Registry API
|
|
4
|
+
* OpenAPI spec version: 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
export interface OrgGovernanceSettingsDto {
|
|
7
|
+
/** False when this organization has never written a governance setting — the resting state, not an error. */
|
|
8
|
+
configured: boolean;
|
|
9
|
+
/** When true, LOWERING a Space classification opens a Decision addressed to the data-governance group instead of performing the write. Raising a classification is never affected. */
|
|
10
|
+
downgradeSeparationOfDuties: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Identity group the downgrade approval is addressed to. Required to arm.
|
|
13
|
+
* @nullable
|
|
14
|
+
*/
|
|
15
|
+
dataGovernanceGroupId: string | null;
|
|
16
|
+
/** How many distinct members of that group must approve a downgrade. One refusal is always enough regardless of this value. */
|
|
17
|
+
downgradeApprovalQuorum: number;
|
|
18
|
+
/** @nullable */
|
|
19
|
+
updatedByActorId: string | null;
|
|
20
|
+
/** @nullable */
|
|
21
|
+
updatedAt: string | null;
|
|
22
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by @xemahq/api-client-generator — do not edit manually.
|
|
3
|
+
* Space Registry API
|
|
4
|
+
* OpenAPI spec version: 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
import type { OrgGovernanceSettingsDto } from './orgGovernanceSettingsDto.js';
|
|
7
|
+
export interface OrgGovernanceSettingsDtoDataEnvelope {
|
|
8
|
+
data: OrgGovernanceSettingsDto;
|
|
9
|
+
}
|
|
@@ -4,15 +4,14 @@
|
|
|
4
4
|
* OpenAPI spec version: 0.1.0
|
|
5
5
|
*/
|
|
6
6
|
import type { DataClassification } from './dataClassification.js';
|
|
7
|
-
import type { SpaceClassificationDtoResolvedFromRefUri } from './spaceClassificationDtoResolvedFromRefUri.js';
|
|
8
7
|
export interface SpaceClassificationDto {
|
|
9
8
|
/** The Space URI that was resolved. */
|
|
10
9
|
refUri: string;
|
|
11
|
-
/** Effective classification (
|
|
10
|
+
/** Effective classification (the join over the ancestor chain). Null when nothing in the chain declares one. */
|
|
12
11
|
classification?: DataClassification | null;
|
|
13
12
|
/**
|
|
14
|
-
* refUri of the
|
|
13
|
+
* refUri of the Space that contributed the WINNING (most restrictive) value; the closest one where several declare it.
|
|
15
14
|
* @nullable
|
|
16
15
|
*/
|
|
17
|
-
resolvedFromRefUri?:
|
|
16
|
+
resolvedFromRefUri?: string | null;
|
|
18
17
|
}
|
|
@@ -4,14 +4,7 @@
|
|
|
4
4
|
* OpenAPI spec version: 0.1.0
|
|
5
5
|
*/
|
|
6
6
|
import type { DataClassification } from './dataClassification.js';
|
|
7
|
-
import type { SpaceDtoAppId } from './spaceDtoAppId.js';
|
|
8
|
-
import type { SpaceDtoBiomeId } from './spaceDtoBiomeId.js';
|
|
9
7
|
import type { SpaceDtoLabels } from './spaceDtoLabels.js';
|
|
10
|
-
import type { SpaceDtoOrgId } from './spaceDtoOrgId.js';
|
|
11
|
-
import type { SpaceDtoParentId } from './spaceDtoParentId.js';
|
|
12
|
-
import type { SpaceDtoProjectId } from './spaceDtoProjectId.js';
|
|
13
|
-
import type { SpaceDtoSessionId } from './spaceDtoSessionId.js';
|
|
14
|
-
import type { SpaceDtoUserId } from './spaceDtoUserId.js';
|
|
15
8
|
import type { SpaceKind } from './spaceKind.js';
|
|
16
9
|
export interface SpaceDto {
|
|
17
10
|
/** Opaque Space id (cuid). */
|
|
@@ -20,22 +13,17 @@ export interface SpaceDto {
|
|
|
20
13
|
refUri: string;
|
|
21
14
|
tier: SpaceKind;
|
|
22
15
|
/** @nullable */
|
|
23
|
-
orgId?:
|
|
16
|
+
orgId?: string | null;
|
|
24
17
|
/** @nullable */
|
|
25
|
-
projectId?:
|
|
18
|
+
projectId?: string | null;
|
|
26
19
|
/** @nullable */
|
|
27
|
-
appId?:
|
|
20
|
+
appId?: string | null;
|
|
28
21
|
/** @nullable */
|
|
29
|
-
sessionId?:
|
|
22
|
+
sessionId?: string | null;
|
|
30
23
|
/** @nullable */
|
|
31
|
-
biomeId?:
|
|
24
|
+
biomeId?: string | null;
|
|
32
25
|
/** @nullable */
|
|
33
|
-
userId?:
|
|
34
|
-
/**
|
|
35
|
-
* Pinned parent Space id (self-FK). Null only for System.
|
|
36
|
-
* @nullable
|
|
37
|
-
*/
|
|
38
|
-
parentId?: SpaceDtoParentId;
|
|
26
|
+
userId?: string | null;
|
|
39
27
|
displayName: string;
|
|
40
28
|
/** Own classification, if explicitly set on this Space. */
|
|
41
29
|
classification?: DataClassification | null;
|
|
@@ -8,6 +8,6 @@ export interface UpdateClassificationDto {
|
|
|
8
8
|
classification: DataClassification;
|
|
9
9
|
/** Privileged flag required to LOWER the classification (downgrade). Audited. */
|
|
10
10
|
allowDowngrade?: boolean;
|
|
11
|
-
/** Privileged flag permitting a value strictly below the
|
|
11
|
+
/** Privileged flag permitting a value strictly below the inherited floor. Audited. */
|
|
12
12
|
allowBelowParent?: boolean;
|
|
13
13
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by @xemahq/api-client-generator — do not edit manually.
|
|
3
|
+
* Space Registry API
|
|
4
|
+
* OpenAPI spec version: 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
export interface UpdateOrgGovernanceSettingsDto {
|
|
7
|
+
/** Arm (true) or disarm (false) separation of duties on classification downgrades. Arming REQUIRES dataGovernanceGroupId. */
|
|
8
|
+
downgradeSeparationOfDuties: boolean;
|
|
9
|
+
/** Identity group the approval is addressed to. decision-api expands it against the identity directory at open time; an empty or unknown group fails the downgrade fast rather than producing an ask nobody can answer. */
|
|
10
|
+
dataGovernanceGroupId?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Approvals required. Defaults to 2.
|
|
13
|
+
* @minimum 1
|
|
14
|
+
* @maximum 32
|
|
15
|
+
*/
|
|
16
|
+
downgradeApprovalQuorum?: number;
|
|
17
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/space-registry-api-client",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"service": "space-registry-api",
|
|
20
20
|
"biome": "space-registry",
|
|
21
21
|
"target": "server",
|
|
22
|
-
"generator": "@xemahq/api-client-generator@0.
|
|
22
|
+
"generator": "@xemahq/api-client-generator@0.14.1",
|
|
23
23
|
"source": "openapi.public.json"
|
|
24
24
|
},
|
|
25
25
|
"license": "LicenseRef-Xema-BSL-1.1",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated by @xemahq/api-client-generator — do not edit manually.
|
|
3
|
-
* Space Registry API
|
|
4
|
-
* OpenAPI spec version: 0.1.0
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* refUri of the ancestor Space that supplied the effective classification.
|
|
8
|
-
* @nullable
|
|
9
|
-
*/
|
|
10
|
-
export type SpaceClassificationDtoResolvedFromRefUri = {
|
|
11
|
-
[key: string]: unknown;
|
|
12
|
-
} | null;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated by @xemahq/api-client-generator — do not edit manually.
|
|
3
|
-
* Space Registry API
|
|
4
|
-
* OpenAPI spec version: 0.1.0
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Pinned parent Space id (self-FK). Null only for System.
|
|
8
|
-
* @nullable
|
|
9
|
-
*/
|
|
10
|
-
export type SpaceDtoParentId = {
|
|
11
|
-
[key: string]: unknown;
|
|
12
|
-
} | null;
|
/package/dist/models/{spaceClassificationDtoResolvedFromRefUri.js → orgGovernanceSettingsDto.js}
RENAMED
|
File without changes
|
|
File without changes
|