@substrat-run/contracts 0.134.0 → 0.136.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/capability.d.ts +111 -1
- package/dist/capability.d.ts.map +1 -1
- package/dist/capability.js +90 -1
- package/dist/capability.js.map +1 -1
- package/dist/control-plane.d.ts +46 -0
- package/dist/control-plane.d.ts.map +1 -1
- package/dist/control-plane.js +41 -0
- package/dist/control-plane.js.map +1 -1
- package/dist/deploy.d.ts +34 -0
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +79 -2
- package/dist/deploy.js.map +1 -1
- package/dist/errors.d.ts +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -1
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +76 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +17 -0
- package/dist/events.js.map +1 -1
- package/dist/ids.d.ts +2 -0
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +2 -0
- package/dist/ids.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +47 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +38 -0
- package/dist/manifest.js.map +1 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +15 -2
- package/dist/operations.js.map +1 -1
- package/dist/pagination.d.ts +0 -0
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js +0 -0
- package/dist/pagination.js.map +1 -1
- package/dist/refusal.d.ts +87 -0
- package/dist/refusal.d.ts.map +1 -0
- package/dist/refusal.js +93 -0
- package/dist/refusal.js.map +1 -0
- package/dist/routing.d.ts +8 -0
- package/dist/routing.d.ts.map +1 -1
- package/dist/routing.js +22 -0
- package/dist/routing.js.map +1 -1
- package/dist/tenancy.d.ts +108 -0
- package/dist/tenancy.d.ts.map +1 -1
- package/dist/tenancy.js +46 -0
- package/dist/tenancy.js.map +1 -1
- package/dist/wire-headers.d.ts +75 -0
- package/dist/wire-headers.d.ts.map +1 -0
- package/dist/wire-headers.js +69 -0
- package/dist/wire-headers.js.map +1 -0
- package/package.json +5 -1
package/dist/capability.d.ts
CHANGED
|
@@ -186,7 +186,15 @@ export declare const capabilityExchange: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
186
186
|
principal: z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">;
|
|
187
187
|
}, z.core.$strip>], "kind">;
|
|
188
188
|
export type CapabilityExchange = z.infer<typeof capabilityExchange>;
|
|
189
|
-
/**
|
|
189
|
+
/**
|
|
190
|
+
* What narrows `ctx.capabilities.list` and `HostAdmin.listCapabilities`. Live capabilities
|
|
191
|
+
* only unless `includeRevoked`.
|
|
192
|
+
*
|
|
193
|
+
* `cursor` is the platform's keyset cursor (`pagination.ts`): the `id` of the last record of
|
|
194
|
+
* the previous page, EXCLUSIVE, walking newest to oldest. A capability id is a ULID, so a
|
|
195
|
+
* cursor that is not one is refused rather than read as "from the start" — a walk that
|
|
196
|
+
* silently restarted would loop forever.
|
|
197
|
+
*/
|
|
190
198
|
export declare const capabilityFilter: z.ZodObject<{
|
|
191
199
|
entity: z.ZodOptional<z.ZodObject<{
|
|
192
200
|
entityType: z.ZodString;
|
|
@@ -194,8 +202,110 @@ export declare const capabilityFilter: z.ZodObject<{
|
|
|
194
202
|
}, z.core.$strip>>;
|
|
195
203
|
includeRevoked: z.ZodOptional<z.ZodBoolean>;
|
|
196
204
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
205
|
+
cursor: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "CapabilityId", "out">>;
|
|
197
206
|
}, z.core.$strip>;
|
|
198
207
|
export type CapabilityFilter = z.infer<typeof capabilityFilter>;
|
|
208
|
+
/**
|
|
209
|
+
* One page of the operator's capability read: records newest first, and `nextCursor` — the
|
|
210
|
+
* last entry's id — ONLY when at least one more record follows. The adapters read one row
|
|
211
|
+
* past the page to know, so a full last page ends the walk instead of costing an empty fetch.
|
|
212
|
+
* Parsing a vertical's answer through this drops any field a record does not declare.
|
|
213
|
+
*/
|
|
214
|
+
export declare const capabilityPage: z.ZodObject<{
|
|
215
|
+
entries: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
216
|
+
id: z.core.$ZodBranded<z.ZodString, "CapabilityId", "out">;
|
|
217
|
+
label: z.ZodNullable<z.ZodString>;
|
|
218
|
+
mintedBy: z.ZodUnion<readonly [z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">, z.ZodObject<{
|
|
219
|
+
platform: z.core.$ZodBranded<z.ZodString, "PlatformActorId", "out">;
|
|
220
|
+
}, z.core.$strip>]>;
|
|
221
|
+
mintedAt: z.core.$ZodBranded<z.ZodString, "Instant", "out">;
|
|
222
|
+
expiresAt: z.ZodNullable<z.core.$ZodBranded<z.ZodString, "Instant", "out">>;
|
|
223
|
+
maxUses: z.ZodNullable<z.ZodNumber>;
|
|
224
|
+
uses: z.ZodNumber;
|
|
225
|
+
lastUsedAt: z.ZodNullable<z.core.$ZodBranded<z.ZodString, "Instant", "out">>;
|
|
226
|
+
revokedAt: z.ZodNullable<z.core.$ZodBranded<z.ZodString, "Instant", "out">>;
|
|
227
|
+
revokedBy: z.ZodNullable<z.ZodUnion<readonly [z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">, z.ZodObject<{
|
|
228
|
+
platform: z.core.$ZodBranded<z.ZodString, "PlatformActorId", "out">;
|
|
229
|
+
}, z.core.$strip>]>>;
|
|
230
|
+
mode: z.ZodLiteral<"act">;
|
|
231
|
+
entity: z.ZodObject<{
|
|
232
|
+
entityType: z.ZodString;
|
|
233
|
+
entityId: z.ZodString;
|
|
234
|
+
}, z.core.$strip>;
|
|
235
|
+
permissions: z.ZodArray<z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">>;
|
|
236
|
+
operations: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
237
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
238
|
+
id: z.core.$ZodBranded<z.ZodString, "CapabilityId", "out">;
|
|
239
|
+
label: z.ZodNullable<z.ZodString>;
|
|
240
|
+
mintedBy: z.ZodUnion<readonly [z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">, z.ZodObject<{
|
|
241
|
+
platform: z.core.$ZodBranded<z.ZodString, "PlatformActorId", "out">;
|
|
242
|
+
}, z.core.$strip>]>;
|
|
243
|
+
mintedAt: z.core.$ZodBranded<z.ZodString, "Instant", "out">;
|
|
244
|
+
expiresAt: z.ZodNullable<z.core.$ZodBranded<z.ZodString, "Instant", "out">>;
|
|
245
|
+
maxUses: z.ZodNullable<z.ZodNumber>;
|
|
246
|
+
uses: z.ZodNumber;
|
|
247
|
+
lastUsedAt: z.ZodNullable<z.core.$ZodBranded<z.ZodString, "Instant", "out">>;
|
|
248
|
+
revokedAt: z.ZodNullable<z.core.$ZodBranded<z.ZodString, "Instant", "out">>;
|
|
249
|
+
revokedBy: z.ZodNullable<z.ZodUnion<readonly [z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">, z.ZodObject<{
|
|
250
|
+
platform: z.core.$ZodBranded<z.ZodString, "PlatformActorId", "out">;
|
|
251
|
+
}, z.core.$strip>]>>;
|
|
252
|
+
mode: z.ZodLiteral<"become">;
|
|
253
|
+
principal: z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">;
|
|
254
|
+
}, z.core.$strip>], "mode">>;
|
|
255
|
+
nextCursor: z.ZodNullable<z.core.$ZodBranded<z.ZodString, "CapabilityId", "out">>;
|
|
256
|
+
}, z.core.$strip>;
|
|
257
|
+
export type CapabilityPage = z.infer<typeof capabilityPage>;
|
|
258
|
+
/**
|
|
259
|
+
* Where a capability stands NOW, read off its record — for a surface that shows many at once
|
|
260
|
+
* (the operator's console, #1686). `revoked` and `expired` mean no session it handed out acts
|
|
261
|
+
* any more; `used-up` means its secret cannot be exchanged again but sessions it already
|
|
262
|
+
* handed out keep acting until the expiry or a revoke. The record-side twin of the kernel's
|
|
263
|
+
* `capabilityLive` / `capabilityExchangeable` (which read the stored row): the kernel's tests
|
|
264
|
+
* pin that the two agree on every case, so a console cannot call live what the checker refuses.
|
|
265
|
+
*/
|
|
266
|
+
export type CapabilityStatus = 'live' | 'used-up' | 'expired' | 'revoked';
|
|
267
|
+
export declare function capabilityStatus(record: Pick<CapabilityRecord, 'revokedAt' | 'expiresAt' | 'maxUses' | 'uses'>, now: string): CapabilityStatus;
|
|
268
|
+
/**
|
|
269
|
+
* `capabilityFilter` as a query string — the ENCODER half of the operator's capability read
|
|
270
|
+
* (#1686), for the platform's client of a vertical and the staff client. One definition, so
|
|
271
|
+
* the two never disagree on a name; `capabilityFilterQuery` below is the decoder.
|
|
272
|
+
*
|
|
273
|
+
* The entity travels as two params, `entityType` and `entityId`, and only together.
|
|
274
|
+
*/
|
|
275
|
+
export declare function capabilityFilterParams(filter?: CapabilityFilter): URLSearchParams;
|
|
276
|
+
/** `capabilityFilterParams` as a URL suffix: `?`-prefixed, or `''` when nothing is narrowed. */
|
|
277
|
+
export declare function capabilityQuery(filter?: CapabilityFilter): string;
|
|
278
|
+
/**
|
|
279
|
+
* The DECODER half: a query string's params back into a `CapabilityFilter`, for both HTTP
|
|
280
|
+
* surfaces that read capabilities (the control plane's staff route and a vertical's
|
|
281
|
+
* `/internal/capabilities`). Strings are coerced here; the rules (a limit of 1..200, an
|
|
282
|
+
* entity) stay `capabilityFilter`'s, which the result is parsed by. A half-named entity is
|
|
283
|
+
* refused, not ignored: a narrowing that silently widened would list every capability.
|
|
284
|
+
*/
|
|
285
|
+
export declare const capabilityFilterQuery: z.ZodPipe<z.ZodObject<{
|
|
286
|
+
entityType: z.ZodOptional<z.ZodString>;
|
|
287
|
+
entityId: z.ZodOptional<z.ZodString>;
|
|
288
|
+
includeRevoked: z.ZodOptional<z.ZodEnum<{
|
|
289
|
+
false: "false";
|
|
290
|
+
true: "true";
|
|
291
|
+
}>>;
|
|
292
|
+
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
293
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
294
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
295
|
+
entity?: {
|
|
296
|
+
entityType: string;
|
|
297
|
+
entityId: string;
|
|
298
|
+
} | undefined;
|
|
299
|
+
includeRevoked?: boolean | undefined;
|
|
300
|
+
limit?: number | undefined;
|
|
301
|
+
cursor?: (string & z.$brand<"CapabilityId">) | undefined;
|
|
302
|
+
}, {
|
|
303
|
+
entityType?: string | undefined;
|
|
304
|
+
entityId?: string | undefined;
|
|
305
|
+
includeRevoked?: "false" | "true" | undefined;
|
|
306
|
+
limit?: number | undefined;
|
|
307
|
+
cursor?: string | undefined;
|
|
308
|
+
}>>;
|
|
199
309
|
/** A module minted an `act` capability. Entity: the shared entity; actor: the minter. */
|
|
200
310
|
export declare const CAPABILITY_MINTED = "capability.minted";
|
|
201
311
|
/** A module revoked one. Entity: the shared entity; actor: the revoker. */
|
package/dist/capability.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,6FAA6F;AAC7F,eAAO,MAAM,wBAAwB,WAAW,CAAC;AACjD,kEAAkE;AAClE,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAClD,4FAA4F;AAC5F,eAAO,MAAM,yBAAyB,QAAmB,CAAC;AAC1D,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,gGAAgG;AAChG,eAAO,MAAM,eAAe,aAAoC,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB;;;;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;mBAAkE,CAAC;AAChG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAkBhE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAc3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;2BAa7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"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"}
|
package/dist/capability.js
CHANGED
|
@@ -160,11 +160,100 @@ export const capabilityExchange = z.discriminatedUnion('kind', [
|
|
|
160
160
|
principal: principalId,
|
|
161
161
|
}),
|
|
162
162
|
]);
|
|
163
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* What narrows `ctx.capabilities.list` and `HostAdmin.listCapabilities`. Live capabilities
|
|
165
|
+
* only unless `includeRevoked`.
|
|
166
|
+
*
|
|
167
|
+
* `cursor` is the platform's keyset cursor (`pagination.ts`): the `id` of the last record of
|
|
168
|
+
* the previous page, EXCLUSIVE, walking newest to oldest. A capability id is a ULID, so a
|
|
169
|
+
* cursor that is not one is refused rather than read as "from the start" — a walk that
|
|
170
|
+
* silently restarted would loop forever.
|
|
171
|
+
*/
|
|
164
172
|
export const capabilityFilter = z.object({
|
|
165
173
|
entity: entityRef.optional(),
|
|
166
174
|
includeRevoked: z.boolean().optional(),
|
|
167
175
|
limit: z.number().int().min(1).max(200).optional(),
|
|
176
|
+
cursor: capabilityId.optional(),
|
|
177
|
+
});
|
|
178
|
+
/**
|
|
179
|
+
* One page of the operator's capability read: records newest first, and `nextCursor` — the
|
|
180
|
+
* last entry's id — ONLY when at least one more record follows. The adapters read one row
|
|
181
|
+
* past the page to know, so a full last page ends the walk instead of costing an empty fetch.
|
|
182
|
+
* Parsing a vertical's answer through this drops any field a record does not declare.
|
|
183
|
+
*/
|
|
184
|
+
export const capabilityPage = z.object({
|
|
185
|
+
entries: z.array(capabilityRecord),
|
|
186
|
+
nextCursor: capabilityId.nullable(),
|
|
187
|
+
});
|
|
188
|
+
export function capabilityStatus(record, now) {
|
|
189
|
+
if (record.revokedAt !== null)
|
|
190
|
+
return 'revoked';
|
|
191
|
+
if (record.expiresAt !== null && record.expiresAt <= now)
|
|
192
|
+
return 'expired';
|
|
193
|
+
if (record.maxUses !== null && record.uses >= record.maxUses)
|
|
194
|
+
return 'used-up';
|
|
195
|
+
return 'live';
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* `capabilityFilter` as a query string — the ENCODER half of the operator's capability read
|
|
199
|
+
* (#1686), for the platform's client of a vertical and the staff client. One definition, so
|
|
200
|
+
* the two never disagree on a name; `capabilityFilterQuery` below is the decoder.
|
|
201
|
+
*
|
|
202
|
+
* The entity travels as two params, `entityType` and `entityId`, and only together.
|
|
203
|
+
*/
|
|
204
|
+
export function capabilityFilterParams(filter) {
|
|
205
|
+
const q = new URLSearchParams();
|
|
206
|
+
if (filter?.entity) {
|
|
207
|
+
q.set('entityType', filter.entity.entityType);
|
|
208
|
+
q.set('entityId', filter.entity.entityId);
|
|
209
|
+
}
|
|
210
|
+
if (filter?.includeRevoked)
|
|
211
|
+
q.set('includeRevoked', 'true');
|
|
212
|
+
if (filter?.limit)
|
|
213
|
+
q.set('limit', String(filter.limit));
|
|
214
|
+
if (filter?.cursor)
|
|
215
|
+
q.set('cursor', filter.cursor);
|
|
216
|
+
return q;
|
|
217
|
+
}
|
|
218
|
+
/** `capabilityFilterParams` as a URL suffix: `?`-prefixed, or `''` when nothing is narrowed. */
|
|
219
|
+
export function capabilityQuery(filter) {
|
|
220
|
+
const qs = capabilityFilterParams(filter).toString();
|
|
221
|
+
return qs ? `?${qs}` : '';
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* The DECODER half: a query string's params back into a `CapabilityFilter`, for both HTTP
|
|
225
|
+
* surfaces that read capabilities (the control plane's staff route and a vertical's
|
|
226
|
+
* `/internal/capabilities`). Strings are coerced here; the rules (a limit of 1..200, an
|
|
227
|
+
* entity) stay `capabilityFilter`'s, which the result is parsed by. A half-named entity is
|
|
228
|
+
* refused, not ignored: a narrowing that silently widened would list every capability.
|
|
229
|
+
*/
|
|
230
|
+
export const capabilityFilterQuery = z
|
|
231
|
+
.object({
|
|
232
|
+
entityType: z.string().min(1).optional(),
|
|
233
|
+
entityId: z.string().min(1).optional(),
|
|
234
|
+
includeRevoked: z.enum(['true', 'false']).optional(),
|
|
235
|
+
limit: z.coerce.number().int().optional(),
|
|
236
|
+
cursor: z.string().min(1).optional(),
|
|
237
|
+
})
|
|
238
|
+
.superRefine((q, ctx) => {
|
|
239
|
+
if ((q.entityType === undefined) !== (q.entityId === undefined)) {
|
|
240
|
+
ctx.addIssue({ code: 'custom', message: 'entityType and entityId are given together or not at all' });
|
|
241
|
+
}
|
|
242
|
+
})
|
|
243
|
+
.transform((q, ctx) => {
|
|
244
|
+
const parsed = capabilityFilter.safeParse({
|
|
245
|
+
...(q.entityType !== undefined && q.entityId !== undefined
|
|
246
|
+
? { entity: { entityType: q.entityType, entityId: q.entityId } }
|
|
247
|
+
: {}),
|
|
248
|
+
...(q.includeRevoked !== undefined ? { includeRevoked: q.includeRevoked === 'true' } : {}),
|
|
249
|
+
...(q.limit !== undefined ? { limit: q.limit } : {}),
|
|
250
|
+
...(q.cursor !== undefined ? { cursor: q.cursor } : {}),
|
|
251
|
+
});
|
|
252
|
+
if (parsed.success)
|
|
253
|
+
return parsed.data;
|
|
254
|
+
for (const issue of parsed.error.issues)
|
|
255
|
+
ctx.addIssue({ code: 'custom', message: issue.message, path: issue.path });
|
|
256
|
+
return z.NEVER;
|
|
168
257
|
});
|
|
169
258
|
// ---------------------------------------------------------------------------
|
|
170
259
|
// The spine events the kernel emits about capabilities — kernel-authored, like
|
package/dist/capability.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"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"}
|
package/dist/control-plane.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { type EntityHistoryInput, type EventCauseInput, type EventEffectsInput, type InvocationEventsInput, type DeadLettersInput, type EventFacetInput, type EventFacetResult, type QueryScopeInput, type ReadScopeTableInput } from './introspection.js';
|
|
3
3
|
import type { DenialFilter } from './denial.js';
|
|
4
|
+
import type { CapabilityFilter } from './capability.js';
|
|
4
5
|
import type { LifecycleFlowInput } from './lifecycle-flow.js';
|
|
5
6
|
export declare const adminAction: z.ZodEnum<{
|
|
6
7
|
activateScope: "activateScope";
|
|
@@ -11,6 +12,7 @@ export declare const adminAction: z.ZodEnum<{
|
|
|
11
12
|
beginImpersonation: "beginImpersonation";
|
|
12
13
|
bindHostname: "bindHostname";
|
|
13
14
|
bindScopeVersion: "bindScopeVersion";
|
|
15
|
+
clearScopeCopyMark: "clearScopeCopyMark";
|
|
14
16
|
createConnection: "createConnection";
|
|
15
17
|
createOrg: "createOrg";
|
|
16
18
|
createTenant: "createTenant";
|
|
@@ -27,6 +29,7 @@ export declare const adminAction: z.ZodEnum<{
|
|
|
27
29
|
grantToSystem: "grantToSystem";
|
|
28
30
|
importScope: "importScope";
|
|
29
31
|
linkIdentity: "linkIdentity";
|
|
32
|
+
markScopeCopy: "markScopeCopy";
|
|
30
33
|
markScopeProvisioned: "markScopeProvisioned";
|
|
31
34
|
mintCapability: "mintCapability";
|
|
32
35
|
moveImportCursor: "moveImportCursor";
|
|
@@ -45,6 +48,7 @@ export declare const adminAction: z.ZodEnum<{
|
|
|
45
48
|
rejectVersion: "rejectVersion";
|
|
46
49
|
removeMember: "removeMember";
|
|
47
50
|
requestPublish: "requestPublish";
|
|
51
|
+
resolveKeptCopy: "resolveKeptCopy";
|
|
48
52
|
restoreDirectory: "restoreDirectory";
|
|
49
53
|
restoreScope: "restoreScope";
|
|
50
54
|
restoreToPeer: "restoreToPeer";
|
|
@@ -78,6 +82,39 @@ export declare const adminAction: z.ZodEnum<{
|
|
|
78
82
|
updateConnectionSecret: "updateConnectionSecret";
|
|
79
83
|
}>;
|
|
80
84
|
export type AdminAction = z.infer<typeof adminAction>;
|
|
85
|
+
/**
|
|
86
|
+
* One change to a scope's copy marker (#2005), as its admin-log row: a `mark` (`markScopeCopy`)
|
|
87
|
+
* by the repair or a reactivation, or a staff `clear` (`clearScopeCopyMark`) of a mistaken one.
|
|
88
|
+
*/
|
|
89
|
+
export declare const copyMarkAudit: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
90
|
+
action: z.ZodLiteral<"mark">;
|
|
91
|
+
tenantId: z.core.$ZodBranded<z.ZodString, "TenantId", "out">;
|
|
92
|
+
scopeId: z.core.$ZodBranded<z.ZodString, "ScopeId", "out">;
|
|
93
|
+
outcome: z.ZodEnum<{
|
|
94
|
+
already: "already";
|
|
95
|
+
marked: "marked";
|
|
96
|
+
}>;
|
|
97
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
98
|
+
action: z.ZodLiteral<"clear">;
|
|
99
|
+
tenantId: z.core.$ZodBranded<z.ZodString, "TenantId", "out">;
|
|
100
|
+
scopeId: z.core.$ZodBranded<z.ZodString, "ScopeId", "out">;
|
|
101
|
+
outcome: z.ZodEnum<{
|
|
102
|
+
absent: "absent";
|
|
103
|
+
cleared: "cleared";
|
|
104
|
+
}>;
|
|
105
|
+
}, z.core.$strict>], "action">;
|
|
106
|
+
export type CopyMarkAudit = z.infer<typeof copyMarkAudit>;
|
|
107
|
+
/**
|
|
108
|
+
* A scope's kind and lineage as the platform's directory records them (#2005) — what every
|
|
109
|
+
* request to change a scope's copy marker carries, so the vertical that holds the scope applies
|
|
110
|
+
* the same `isPrimaryScope` rule before it touches the marker: it marks only a scope classified
|
|
111
|
+
* non-primary, and clears only one classified primary.
|
|
112
|
+
*/
|
|
113
|
+
export declare const scopeLineage: z.ZodObject<{
|
|
114
|
+
kind: z.ZodString;
|
|
115
|
+
forkedFrom: z.ZodNullable<z.core.$ZodBranded<z.ZodString, "ScopeId", "out">>;
|
|
116
|
+
}, z.core.$strict>;
|
|
117
|
+
export type ScopeLineage = z.infer<typeof scopeLineage>;
|
|
81
118
|
/**
|
|
82
119
|
* What a `shredSubject` did (#37) — the receipt a DSAR response is written from.
|
|
83
120
|
*
|
|
@@ -500,6 +537,7 @@ export declare const delegatedReadMethod: z.ZodEnum<{
|
|
|
500
537
|
facetEvents: "facetEvents";
|
|
501
538
|
invocationEvents: "invocationEvents";
|
|
502
539
|
lifecycleFlow: "lifecycleFlow";
|
|
540
|
+
listCapabilities: "listCapabilities";
|
|
503
541
|
listDenials: "listDenials";
|
|
504
542
|
listScopeTables: "listScopeTables";
|
|
505
543
|
queryScope: "queryScope";
|
|
@@ -514,6 +552,7 @@ export interface DelegatedReadInput {
|
|
|
514
552
|
queryScope: QueryScopeInput;
|
|
515
553
|
listDenials: DenialFilter | undefined;
|
|
516
554
|
summarizeDenials: DenialFilter | undefined;
|
|
555
|
+
listCapabilities: CapabilityFilter | undefined;
|
|
517
556
|
entityHistory: EntityHistoryInput;
|
|
518
557
|
facetEvents: EventFacetInput;
|
|
519
558
|
eventCause: EventCauseInput;
|
|
@@ -561,6 +600,7 @@ export declare const delegatedReadRecord: z.ZodObject<{
|
|
|
561
600
|
facetEvents: "facetEvents";
|
|
562
601
|
invocationEvents: "invocationEvents";
|
|
563
602
|
lifecycleFlow: "lifecycleFlow";
|
|
603
|
+
listCapabilities: "listCapabilities";
|
|
564
604
|
listDenials: "listDenials";
|
|
565
605
|
listScopeTables: "listScopeTables";
|
|
566
606
|
queryScope: "queryScope";
|
|
@@ -920,6 +960,7 @@ export declare const adminLogEntry: z.ZodObject<{
|
|
|
920
960
|
beginImpersonation: "beginImpersonation";
|
|
921
961
|
bindHostname: "bindHostname";
|
|
922
962
|
bindScopeVersion: "bindScopeVersion";
|
|
963
|
+
clearScopeCopyMark: "clearScopeCopyMark";
|
|
923
964
|
createConnection: "createConnection";
|
|
924
965
|
createOrg: "createOrg";
|
|
925
966
|
createTenant: "createTenant";
|
|
@@ -936,6 +977,7 @@ export declare const adminLogEntry: z.ZodObject<{
|
|
|
936
977
|
grantToSystem: "grantToSystem";
|
|
937
978
|
importScope: "importScope";
|
|
938
979
|
linkIdentity: "linkIdentity";
|
|
980
|
+
markScopeCopy: "markScopeCopy";
|
|
939
981
|
markScopeProvisioned: "markScopeProvisioned";
|
|
940
982
|
mintCapability: "mintCapability";
|
|
941
983
|
moveImportCursor: "moveImportCursor";
|
|
@@ -954,6 +996,7 @@ export declare const adminLogEntry: z.ZodObject<{
|
|
|
954
996
|
rejectVersion: "rejectVersion";
|
|
955
997
|
removeMember: "removeMember";
|
|
956
998
|
requestPublish: "requestPublish";
|
|
999
|
+
resolveKeptCopy: "resolveKeptCopy";
|
|
957
1000
|
restoreDirectory: "restoreDirectory";
|
|
958
1001
|
restoreScope: "restoreScope";
|
|
959
1002
|
restoreToPeer: "restoreToPeer";
|
|
@@ -1300,6 +1343,7 @@ export declare const tenantExport: z.ZodObject<{
|
|
|
1300
1343
|
beginImpersonation: "beginImpersonation";
|
|
1301
1344
|
bindHostname: "bindHostname";
|
|
1302
1345
|
bindScopeVersion: "bindScopeVersion";
|
|
1346
|
+
clearScopeCopyMark: "clearScopeCopyMark";
|
|
1303
1347
|
createConnection: "createConnection";
|
|
1304
1348
|
createOrg: "createOrg";
|
|
1305
1349
|
createTenant: "createTenant";
|
|
@@ -1316,6 +1360,7 @@ export declare const tenantExport: z.ZodObject<{
|
|
|
1316
1360
|
grantToSystem: "grantToSystem";
|
|
1317
1361
|
importScope: "importScope";
|
|
1318
1362
|
linkIdentity: "linkIdentity";
|
|
1363
|
+
markScopeCopy: "markScopeCopy";
|
|
1319
1364
|
markScopeProvisioned: "markScopeProvisioned";
|
|
1320
1365
|
mintCapability: "mintCapability";
|
|
1321
1366
|
moveImportCursor: "moveImportCursor";
|
|
@@ -1334,6 +1379,7 @@ export declare const tenantExport: z.ZodObject<{
|
|
|
1334
1379
|
rejectVersion: "rejectVersion";
|
|
1335
1380
|
removeMember: "removeMember";
|
|
1336
1381
|
requestPublish: "requestPublish";
|
|
1382
|
+
resolveKeptCopy: "resolveKeptCopy";
|
|
1337
1383
|
restoreDirectory: "restoreDirectory";
|
|
1338
1384
|
restoreScope: "restoreScope";
|
|
1339
1385
|
restoreToPeer: "restoreToPeer";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAY9D,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAY9D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0JtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;8BAmBxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;kBAA0E,CAAC;AACpG,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;iBA6B9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB;;;;;;;iBAa3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe;;;;;iBAS1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AAGH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;iBAMvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB;;;;;iBAAwC,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;iBAKpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;iBAAwF,CAAC;AACvH,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAGrH,CAAC;AACF,eAAO,MAAM,kBAAkB;;;;kBAA8D,CAAC;AAE9F;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;;EAA0D,CAAC;AAC5F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;8BAS9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;EAA+C,CAAC;AAEjF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;iBAM9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;GAIG;AACH;yFACyF;AACzF,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAclD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAI7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY;;;EAAsC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;;iBAQrB,CAAC;AACL,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBAM7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;iBAUzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;EAc9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,8FAA8F;AAC9F,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,mBAAmB,CAAC;IACpC,eAAe,EAAE,IAAI,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,YAAY,GAAG,SAAS,CAAC;IACtC,gBAAgB,EAAE,YAAY,GAAG,SAAS,CAAC;IAC3C,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,aAAa,EAAE,kBAAkB,CAAC;IAClC,WAAW,EAAE,eAAe,CAAC;IAC7B,UAAU,EAAE,eAAe,CAAC;IAC5B,YAAY,EAAE,iBAAiB,CAAC;IAChC,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,CAAC;CAC5E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE;KAC/B,CAAC,IAAI,mBAAmB,GAAG,CAC1B,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,MAAM,CAAC,EAAE,CAAC,SAAS,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,KAC5E,OAAO;CAyBb,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;iBAM9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa;;;;iBAIxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmC1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,GAAG,MAAM,CAET;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;EAAsD,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,oEAAoE;AACpE,eAAO,MAAM,gBAAgB;;;;EAAyC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwBrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY;;;;;;EAAwF,CAAC;AAClH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACxD;;kDAEkD;AAClD,eAAO,MAAM,eAAe;;;;EAAsC,CAAC;AACnE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;iBAerC,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEzF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoCxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;iBA0D3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU;;;;;;;iBAKrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;iBAS5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAsBjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAgBhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;iBA2BjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,4FAA4F;AAC5F,eAAO,MAAM,qBAAqB;;;;iBAOhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6CvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,gBAAgB;;;;;;;iBAY3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,4EAA4E;AAC5E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;iBAYzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;iBAQ9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB;;;;EAAmD,CAAC;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAA6C,CAAC;AAExG,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;mBAG9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
package/dist/control-plane.js
CHANGED
|
@@ -49,6 +49,7 @@ export const adminAction = z.enum([
|
|
|
49
49
|
'setVerticalServing',
|
|
50
50
|
'setScopeServingRef',
|
|
51
51
|
'setScopeExpiresAt', // preview-and-snapshots.md §9 — push a fork's GC deadline forward on reuse, or pin it (null)
|
|
52
|
+
'resolveKeptCopy', // #1722 — a staff resolution of a copy a carry kept for a write it never copied: discarded or restored forward
|
|
52
53
|
'bindHostname', // K-26 — the hostname map
|
|
53
54
|
'setHostnameStatus', // #31 step 2 — where the two human checkpoints fire
|
|
54
55
|
'setHostnameIssuance', // #305 §4.7 — a Cloudflare-for-SaaS issuance step (create/poll) result
|
|
@@ -163,7 +164,45 @@ export const adminAction = z.enum([
|
|
|
163
164
|
// both principals and, like every row, the actor from the request. Written intent-first then
|
|
164
165
|
// outcome, like the schedule switch, since the move happens in the vertical's own deployment.
|
|
165
166
|
'transferOwner',
|
|
167
|
+
// #2005 — a scope the directory says is not primary, marked a copy in its own storage, where a
|
|
168
|
+
// host with no directory reads it. A one-time repair of copies that predate the marker; the
|
|
169
|
+
// row names the scope and whether this pass stamped it or found it already stamped.
|
|
170
|
+
'markScopeCopy',
|
|
171
|
+
// #2005 — the correction for a mistaken mark: a scope the directory says IS primary, its copy
|
|
172
|
+
// marker removed by staff, one scope at a time. Refused for a scope the directory calls a copy.
|
|
173
|
+
'clearScopeCopyMark',
|
|
166
174
|
]);
|
|
175
|
+
/**
|
|
176
|
+
* One change to a scope's copy marker (#2005), as its admin-log row: a `mark` (`markScopeCopy`)
|
|
177
|
+
* by the repair or a reactivation, or a staff `clear` (`clearScopeCopyMark`) of a mistaken one.
|
|
178
|
+
*/
|
|
179
|
+
export const copyMarkAudit = z.discriminatedUnion('action', [
|
|
180
|
+
z
|
|
181
|
+
.object({
|
|
182
|
+
action: z.literal('mark'),
|
|
183
|
+
tenantId,
|
|
184
|
+
scopeId,
|
|
185
|
+
/** `marked`: this call stamped it. `already`: it carried the marker before. */
|
|
186
|
+
outcome: z.enum(['marked', 'already']),
|
|
187
|
+
})
|
|
188
|
+
.strict(),
|
|
189
|
+
z
|
|
190
|
+
.object({
|
|
191
|
+
action: z.literal('clear'),
|
|
192
|
+
tenantId,
|
|
193
|
+
scopeId,
|
|
194
|
+
/** `cleared`: this call removed it. `absent`: there was none to remove. */
|
|
195
|
+
outcome: z.enum(['cleared', 'absent']),
|
|
196
|
+
})
|
|
197
|
+
.strict(),
|
|
198
|
+
]);
|
|
199
|
+
/**
|
|
200
|
+
* A scope's kind and lineage as the platform's directory records them (#2005) — what every
|
|
201
|
+
* request to change a scope's copy marker carries, so the vertical that holds the scope applies
|
|
202
|
+
* the same `isPrimaryScope` rule before it touches the marker: it marks only a scope classified
|
|
203
|
+
* non-primary, and clears only one classified primary.
|
|
204
|
+
*/
|
|
205
|
+
export const scopeLineage = z.object({ kind: z.string(), forkedFrom: scopeId.nullable() }).strict();
|
|
167
206
|
/**
|
|
168
207
|
* What a `shredSubject` did (#37) — the receipt a DSAR response is written from.
|
|
169
208
|
*
|
|
@@ -510,6 +549,7 @@ export const delegatedReadMethod = z.enum([
|
|
|
510
549
|
'queryScope',
|
|
511
550
|
'listDenials',
|
|
512
551
|
'summarizeDenials',
|
|
552
|
+
'listCapabilities',
|
|
513
553
|
'entityHistory',
|
|
514
554
|
'facetEvents',
|
|
515
555
|
'eventCause',
|
|
@@ -536,6 +576,7 @@ export const delegatedReadParams = {
|
|
|
536
576
|
queryScope: (i) => ({ sql: i.sql }),
|
|
537
577
|
listDenials: (f) => f ?? null,
|
|
538
578
|
summarizeDenials: (f) => f ?? null,
|
|
579
|
+
listCapabilities: (f) => f ?? null,
|
|
539
580
|
entityHistory: (i) => ({ entityType: i.entityType, entityId: i.entityId }),
|
|
540
581
|
// What the answer withheld, then the request — on both branches, so the row stays one
|
|
541
582
|
// row. The withheld fields go FIRST: both adapters cut the stored params at 500 chars,
|