@substrat-run/contracts 0.143.0 → 0.144.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 +107 -0
- package/dist/capability.d.ts.map +1 -1
- package/dist/capability.js +72 -1
- package/dist/capability.js.map +1 -1
- package/dist/deploy.d.ts +30 -16
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +74 -2
- package/dist/deploy.js.map +1 -1
- package/dist/entity-state.d.ts +14 -0
- package/dist/entity-state.d.ts.map +1 -1
- package/dist/entity-state.js +7 -0
- package/dist/entity-state.js.map +1 -1
- package/dist/kernel-events.d.ts.map +1 -1
- package/dist/kernel-events.js +3 -1
- package/dist/kernel-events.js.map +1 -1
- package/dist/model.d.ts +93 -28
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +59 -5
- package/dist/model.js.map +1 -1
- package/dist/operations.d.ts +129 -7
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +355 -66
- package/dist/operations.js.map +1 -1
- package/dist/permission.d.ts +34 -0
- package/dist/permission.d.ts.map +1 -1
- package/dist/permission.js +30 -0
- package/dist/permission.js.map +1 -1
- package/dist/registry-diff.d.ts +12 -1
- package/dist/registry-diff.d.ts.map +1 -1
- package/dist/registry-diff.js +10 -4
- package/dist/registry-diff.js.map +1 -1
- package/dist/zod-read.d.ts +20 -0
- package/dist/zod-read.d.ts.map +1 -0
- package/dist/zod-read.js +27 -0
- package/dist/zod-read.js.map +1 -0
- package/package.json +1 -1
package/dist/capability.d.ts
CHANGED
|
@@ -121,8 +121,37 @@ export declare const principalBecomeCapabilityInput: z.ZodObject<{
|
|
|
121
121
|
expiresAt: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "Instant", "out">>;
|
|
122
122
|
maxUses: z.ZodNumber;
|
|
123
123
|
label: z.ZodOptional<z.ZodString>;
|
|
124
|
+
bind: z.ZodOptional<z.ZodObject<{
|
|
125
|
+
entity: z.ZodObject<{
|
|
126
|
+
entityType: z.ZodString;
|
|
127
|
+
entityId: z.ZodString;
|
|
128
|
+
}, z.core.$strip>;
|
|
129
|
+
}, z.core.$strip>>;
|
|
124
130
|
}, z.core.$strip>;
|
|
125
131
|
export type PrincipalBecomeCapabilityInput = z.infer<typeof principalBecomeCapabilityInput>;
|
|
132
|
+
/**
|
|
133
|
+
* The one pre-authorised action a `become` capability may carry (#1686), done in the exchange's
|
|
134
|
+
* own transaction — so the link is spent, and the action done, together or not at all.
|
|
135
|
+
*
|
|
136
|
+
* `bind` — a binding invite. The record's declared shape (`ENTITY_GRANTS`, a bootstrap shape
|
|
137
|
+
* with a table holder and a `bind` permission) says which column names the record's person and
|
|
138
|
+
* which keys that person holds on it. The exchange sets that column to the claimant and gives
|
|
139
|
+
* them the shape. The rights come from the reviewed registry, never from the link: the link
|
|
140
|
+
* names only WHICH record. The minter must hold the shape's bind permission on that record,
|
|
141
|
+
* checked at mint and again at the exchange, so a link whose minter has since lost it — or
|
|
142
|
+
* left — is refused, with the one refusal every failed exchange gets. A record already bound
|
|
143
|
+
* refuses both: a link never moves someone else's portal.
|
|
144
|
+
*
|
|
145
|
+
* A discriminated union of one, on purpose: a later kind is a later member, not a new column.
|
|
146
|
+
*/
|
|
147
|
+
export declare const capabilityAction: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
148
|
+
kind: z.ZodLiteral<"bind">;
|
|
149
|
+
entity: z.ZodObject<{
|
|
150
|
+
entityType: z.ZodString;
|
|
151
|
+
entityId: z.ZodString;
|
|
152
|
+
}, z.core.$strip>;
|
|
153
|
+
}, z.core.$strip>], "kind">;
|
|
154
|
+
export type CapabilityAction = z.infer<typeof capabilityAction>;
|
|
126
155
|
/**
|
|
127
156
|
* Who minted or revoked a capability: the principal whose operation did it, or a platform
|
|
128
157
|
* actor through `HostAdmin`. Two members rather than a principal with a flag, because an
|
|
@@ -184,6 +213,13 @@ export declare const capabilityRecord: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
184
213
|
}>>>;
|
|
185
214
|
mode: z.ZodLiteral<"become">;
|
|
186
215
|
principal: z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">;
|
|
216
|
+
action: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
217
|
+
kind: z.ZodLiteral<"bind">;
|
|
218
|
+
entity: z.ZodObject<{
|
|
219
|
+
entityType: z.ZodString;
|
|
220
|
+
entityId: z.ZodString;
|
|
221
|
+
}, z.core.$strip>;
|
|
222
|
+
}, z.core.$strip>], "kind">>>;
|
|
187
223
|
}, z.core.$strip>], "mode">;
|
|
188
224
|
export type CapabilityRecord = z.infer<typeof capabilityRecord>;
|
|
189
225
|
/**
|
|
@@ -205,6 +241,18 @@ export type MintedCapability = z.infer<typeof mintedCapability>;
|
|
|
205
241
|
* - `target-already-claimed` — some `become` capability for the target has already been
|
|
206
242
|
* exchanged in this scope: somebody already is that principal, and a second link would let a
|
|
207
243
|
* second person become them too. A principal-minted `become` is for a seat nobody has taken.
|
|
244
|
+
*
|
|
245
|
+
* And for a link carrying a `bind` (#1686) — the minter lacking the bind permission on the record
|
|
246
|
+
* is a `coverage` naming that key:
|
|
247
|
+
* - `bind-not-declared` — no shape of the scope's reconciled registry binds this entity type;
|
|
248
|
+
* - `bind-record-missing` — the scope holds no such record;
|
|
249
|
+
* - `bind-record-ambiguous` — more than one row of the holder table carries the record's id (the
|
|
250
|
+
* id column should be unique), so there is no one record a claim could bind;
|
|
251
|
+
* - `bind-record-bound` — the record already names a person. Refused, never re-bound: moving
|
|
252
|
+
* someone's portal is an unbind and a new invite, never a side effect of a link;
|
|
253
|
+
* - `bind-record-held` — the column names nobody, but someone already holds the record's shape
|
|
254
|
+
* there (given it before the column was written, or left behind by a holder a later version
|
|
255
|
+
* moved). A link would bind a second person beside them: unbind the record first.
|
|
208
256
|
*/
|
|
209
257
|
export declare const becomeMintRefusal: z.ZodUnion<readonly [z.ZodObject<{
|
|
210
258
|
ok: z.ZodLiteral<false>;
|
|
@@ -218,6 +266,11 @@ export declare const becomeMintRefusal: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
218
266
|
}, z.core.$strip>, z.ZodObject<{
|
|
219
267
|
ok: z.ZodLiteral<false>;
|
|
220
268
|
refused: z.ZodEnum<{
|
|
269
|
+
"bind-not-declared": "bind-not-declared";
|
|
270
|
+
"bind-record-ambiguous": "bind-record-ambiguous";
|
|
271
|
+
"bind-record-bound": "bind-record-bound";
|
|
272
|
+
"bind-record-held": "bind-record-held";
|
|
273
|
+
"bind-record-missing": "bind-record-missing";
|
|
221
274
|
"target-already-claimed": "target-already-claimed";
|
|
222
275
|
"target-holds-nothing": "target-holds-nothing";
|
|
223
276
|
}>;
|
|
@@ -243,6 +296,11 @@ export declare const boundedBecomeMint: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
243
296
|
}, z.core.$strip>, z.ZodObject<{
|
|
244
297
|
ok: z.ZodLiteral<false>;
|
|
245
298
|
refused: z.ZodEnum<{
|
|
299
|
+
"bind-not-declared": "bind-not-declared";
|
|
300
|
+
"bind-record-ambiguous": "bind-record-ambiguous";
|
|
301
|
+
"bind-record-bound": "bind-record-bound";
|
|
302
|
+
"bind-record-held": "bind-record-held";
|
|
303
|
+
"bind-record-missing": "bind-record-missing";
|
|
246
304
|
"target-already-claimed": "target-already-claimed";
|
|
247
305
|
"target-holds-nothing": "target-holds-nothing";
|
|
248
306
|
}>;
|
|
@@ -267,6 +325,30 @@ export declare const boundedBecomeRevoke: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
267
325
|
}, z.core.$strip>], "covered">;
|
|
268
326
|
}, z.core.$strip>]>;
|
|
269
327
|
export type BoundedBecomeRevoke = z.infer<typeof boundedBecomeRevoke>;
|
|
328
|
+
/**
|
|
329
|
+
* What a host's bounded unbind answers (#1686) — `unbindEntityHolderBounded`, the lever beside a
|
|
330
|
+
* binding invite: everyone this call released from the record (empty when nobody held its shape,
|
|
331
|
+
* so nothing was written beyond clearing the column); or `coverage` naming the binding's key the caller
|
|
332
|
+
* lacks on the record; or `bind-not-declared` when the scope's reconciled registry binds no such
|
|
333
|
+
* entity type. A refusal writes nothing.
|
|
334
|
+
*/
|
|
335
|
+
export declare const boundedUnbind: z.ZodUnion<readonly [z.ZodObject<{
|
|
336
|
+
ok: z.ZodLiteral<true>;
|
|
337
|
+
unbound: z.ZodArray<z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">>;
|
|
338
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
339
|
+
ok: z.ZodLiteral<false>;
|
|
340
|
+
coverage: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
341
|
+
covered: z.ZodLiteral<true>;
|
|
342
|
+
missing: z.ZodTuple<[], null>;
|
|
343
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
344
|
+
covered: z.ZodLiteral<false>;
|
|
345
|
+
missing: z.ZodArray<z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">>;
|
|
346
|
+
}, z.core.$strip>], "covered">;
|
|
347
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
348
|
+
ok: z.ZodLiteral<false>;
|
|
349
|
+
refused: z.ZodLiteral<"bind-not-declared">;
|
|
350
|
+
}, z.core.$strip>]>;
|
|
351
|
+
export type BoundedUnbind = z.infer<typeof boundedUnbind>;
|
|
270
352
|
/**
|
|
271
353
|
* Where a `become` link stands (#1686) — what a pending-invite list shows beside each invite, so
|
|
272
354
|
* a link the kernel revoked is never shown as open. `used`: exchanged up to its limit. A
|
|
@@ -308,6 +390,10 @@ export declare const capabilityExchange: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
308
390
|
kind: z.ZodLiteral<"principal">;
|
|
309
391
|
capabilityId: z.core.$ZodBranded<z.ZodString, "CapabilityId", "out">;
|
|
310
392
|
principal: z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">;
|
|
393
|
+
bound: z.ZodOptional<z.ZodObject<{
|
|
394
|
+
entityType: z.ZodString;
|
|
395
|
+
entityId: z.ZodString;
|
|
396
|
+
}, z.core.$strip>>;
|
|
311
397
|
}, z.core.$strip>], "kind">;
|
|
312
398
|
export type CapabilityExchange = z.infer<typeof capabilityExchange>;
|
|
313
399
|
/**
|
|
@@ -382,6 +468,13 @@ export declare const capabilityPage: z.ZodObject<{
|
|
|
382
468
|
}>>>;
|
|
383
469
|
mode: z.ZodLiteral<"become">;
|
|
384
470
|
principal: z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">;
|
|
471
|
+
action: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
472
|
+
kind: z.ZodLiteral<"bind">;
|
|
473
|
+
entity: z.ZodObject<{
|
|
474
|
+
entityType: z.ZodString;
|
|
475
|
+
entityId: z.ZodString;
|
|
476
|
+
}, z.core.$strip>;
|
|
477
|
+
}, z.core.$strip>], "kind">>>;
|
|
385
478
|
}, z.core.$strip>], "mode">>;
|
|
386
479
|
nextCursor: z.ZodNullable<z.core.$ZodBranded<z.ZodString, "CapabilityId", "out">>;
|
|
387
480
|
}, z.core.$strip>;
|
|
@@ -450,6 +543,13 @@ export declare const capabilityRevokeAnswer: z.ZodObject<{
|
|
|
450
543
|
}>>>;
|
|
451
544
|
mode: z.ZodLiteral<"become">;
|
|
452
545
|
principal: z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">;
|
|
546
|
+
action: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
547
|
+
kind: z.ZodLiteral<"bind">;
|
|
548
|
+
entity: z.ZodObject<{
|
|
549
|
+
entityType: z.ZodString;
|
|
550
|
+
entityId: z.ZodString;
|
|
551
|
+
}, z.core.$strip>;
|
|
552
|
+
}, z.core.$strip>], "kind">>>;
|
|
453
553
|
}, z.core.$strip>], "mode">>;
|
|
454
554
|
}, z.core.$strict>;
|
|
455
555
|
export type CapabilityRevokeAnswer = z.infer<typeof capabilityRevokeAnswer>;
|
|
@@ -541,6 +641,13 @@ export declare const capabilityBecomeMintedPayload: z.ZodObject<{
|
|
|
541
641
|
maxUses: z.ZodNumber;
|
|
542
642
|
label: z.ZodNullable<z.ZodString>;
|
|
543
643
|
mintedBy: z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">;
|
|
644
|
+
action: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
645
|
+
kind: z.ZodLiteral<"bind">;
|
|
646
|
+
entity: z.ZodObject<{
|
|
647
|
+
entityType: z.ZodString;
|
|
648
|
+
entityId: z.ZodString;
|
|
649
|
+
}, z.core.$strip>;
|
|
650
|
+
}, z.core.$strip>], "kind">>;
|
|
544
651
|
}, z.core.$strip>;
|
|
545
652
|
export type CapabilityBecomeMintedPayload = z.infer<typeof capabilityBecomeMintedPayload>;
|
|
546
653
|
export declare const capabilityRevokedPayload: z.ZodObject<{
|
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;AAKxB;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;iBAM9B,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;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"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"}
|
package/dist/capability.js
CHANGED
|
@@ -112,7 +112,30 @@ export const principalBecomeCapabilityInput = z.object({
|
|
|
112
112
|
expiresAt: instant.optional(),
|
|
113
113
|
maxUses: z.number().int().positive(),
|
|
114
114
|
label: capabilityLabel.optional(),
|
|
115
|
+
/**
|
|
116
|
+
* #1686: the ONE action the link carries beside the `become` — bind the claimant to their own
|
|
117
|
+
* record. See {@link capabilityAction}. Absent: a plain `become`, as a member invite is.
|
|
118
|
+
*/
|
|
119
|
+
bind: z.object({ entity: entityRef }).optional(),
|
|
115
120
|
});
|
|
121
|
+
/**
|
|
122
|
+
* The one pre-authorised action a `become` capability may carry (#1686), done in the exchange's
|
|
123
|
+
* own transaction — so the link is spent, and the action done, together or not at all.
|
|
124
|
+
*
|
|
125
|
+
* `bind` — a binding invite. The record's declared shape (`ENTITY_GRANTS`, a bootstrap shape
|
|
126
|
+
* with a table holder and a `bind` permission) says which column names the record's person and
|
|
127
|
+
* which keys that person holds on it. The exchange sets that column to the claimant and gives
|
|
128
|
+
* them the shape. The rights come from the reviewed registry, never from the link: the link
|
|
129
|
+
* names only WHICH record. The minter must hold the shape's bind permission on that record,
|
|
130
|
+
* checked at mint and again at the exchange, so a link whose minter has since lost it — or
|
|
131
|
+
* left — is refused, with the one refusal every failed exchange gets. A record already bound
|
|
132
|
+
* refuses both: a link never moves someone else's portal.
|
|
133
|
+
*
|
|
134
|
+
* A discriminated union of one, on purpose: a later kind is a later member, not a new column.
|
|
135
|
+
*/
|
|
136
|
+
export const capabilityAction = z.discriminatedUnion('kind', [
|
|
137
|
+
z.object({ kind: z.literal('bind'), entity: entityRef }),
|
|
138
|
+
]);
|
|
116
139
|
/**
|
|
117
140
|
* Who minted or revoked a capability: the principal whose operation did it, or a platform
|
|
118
141
|
* actor through `HostAdmin`. Two members rather than a principal with a flag, because an
|
|
@@ -161,6 +184,11 @@ export const capabilityRecord = z.discriminatedUnion('mode', [
|
|
|
161
184
|
mode: z.literal('become'),
|
|
162
185
|
...capabilityRecordCommon,
|
|
163
186
|
principal: principalId,
|
|
187
|
+
/**
|
|
188
|
+
* #1686: what the exchange also does — a binding invite's `bind`. Null for a plain `become`.
|
|
189
|
+
* Absent from a host that predates it.
|
|
190
|
+
*/
|
|
191
|
+
action: capabilityAction.nullable().optional(),
|
|
164
192
|
}),
|
|
165
193
|
]);
|
|
166
194
|
/**
|
|
@@ -181,10 +209,33 @@ export const mintedCapability = z.object({
|
|
|
181
209
|
* - `target-already-claimed` — some `become` capability for the target has already been
|
|
182
210
|
* exchanged in this scope: somebody already is that principal, and a second link would let a
|
|
183
211
|
* second person become them too. A principal-minted `become` is for a seat nobody has taken.
|
|
212
|
+
*
|
|
213
|
+
* And for a link carrying a `bind` (#1686) — the minter lacking the bind permission on the record
|
|
214
|
+
* is a `coverage` naming that key:
|
|
215
|
+
* - `bind-not-declared` — no shape of the scope's reconciled registry binds this entity type;
|
|
216
|
+
* - `bind-record-missing` — the scope holds no such record;
|
|
217
|
+
* - `bind-record-ambiguous` — more than one row of the holder table carries the record's id (the
|
|
218
|
+
* id column should be unique), so there is no one record a claim could bind;
|
|
219
|
+
* - `bind-record-bound` — the record already names a person. Refused, never re-bound: moving
|
|
220
|
+
* someone's portal is an unbind and a new invite, never a side effect of a link;
|
|
221
|
+
* - `bind-record-held` — the column names nobody, but someone already holds the record's shape
|
|
222
|
+
* there (given it before the column was written, or left behind by a holder a later version
|
|
223
|
+
* moved). A link would bind a second person beside them: unbind the record first.
|
|
184
224
|
*/
|
|
185
225
|
export const becomeMintRefusal = z.union([
|
|
186
226
|
z.object({ ok: z.literal(false), coverage }),
|
|
187
|
-
z.object({
|
|
227
|
+
z.object({
|
|
228
|
+
ok: z.literal(false),
|
|
229
|
+
refused: z.enum([
|
|
230
|
+
'target-holds-nothing',
|
|
231
|
+
'target-already-claimed',
|
|
232
|
+
'bind-not-declared',
|
|
233
|
+
'bind-record-missing',
|
|
234
|
+
'bind-record-ambiguous',
|
|
235
|
+
'bind-record-bound',
|
|
236
|
+
'bind-record-held',
|
|
237
|
+
]),
|
|
238
|
+
}),
|
|
188
239
|
]);
|
|
189
240
|
/** What a host's bounded `become` mint answers (#1686): the minted capability, or the refusal. */
|
|
190
241
|
export const boundedBecomeMint = z.union([z.object({ ok: z.literal(true), minted: mintedCapability }), becomeMintRefusal]);
|
|
@@ -197,6 +248,18 @@ export const boundedBecomeRevoke = z.union([
|
|
|
197
248
|
z.object({ ok: z.literal(true), revoked: z.boolean() }),
|
|
198
249
|
z.object({ ok: z.literal(false), coverage }),
|
|
199
250
|
]);
|
|
251
|
+
/**
|
|
252
|
+
* What a host's bounded unbind answers (#1686) — `unbindEntityHolderBounded`, the lever beside a
|
|
253
|
+
* binding invite: everyone this call released from the record (empty when nobody held its shape,
|
|
254
|
+
* so nothing was written beyond clearing the column); or `coverage` naming the binding's key the caller
|
|
255
|
+
* lacks on the record; or `bind-not-declared` when the scope's reconciled registry binds no such
|
|
256
|
+
* entity type. A refusal writes nothing.
|
|
257
|
+
*/
|
|
258
|
+
export const boundedUnbind = z.union([
|
|
259
|
+
z.object({ ok: z.literal(true), unbound: z.array(principalId) }),
|
|
260
|
+
z.object({ ok: z.literal(false), coverage }),
|
|
261
|
+
z.object({ ok: z.literal(false), refused: z.literal('bind-not-declared') }),
|
|
262
|
+
]);
|
|
200
263
|
/**
|
|
201
264
|
* Where a `become` link stands (#1686) — what a pending-invite list shows beside each invite, so
|
|
202
265
|
* a link the kernel revoked is never shown as open. `used`: exchanged up to its limit. A
|
|
@@ -230,6 +293,8 @@ export const capabilityExchange = z.discriminatedUnion('kind', [
|
|
|
230
293
|
kind: z.literal('principal'),
|
|
231
294
|
capabilityId,
|
|
232
295
|
principal: principalId,
|
|
296
|
+
/** #1686: the record the exchange bound the principal to, for a binding invite. */
|
|
297
|
+
bound: entityRef.optional(),
|
|
233
298
|
}),
|
|
234
299
|
]);
|
|
235
300
|
/**
|
|
@@ -382,6 +447,12 @@ export const capabilityBecomeMintedPayload = z.object({
|
|
|
382
447
|
maxUses: z.number().int().positive(),
|
|
383
448
|
label: capabilityLabel.nullable(),
|
|
384
449
|
mintedBy: principalId,
|
|
450
|
+
/**
|
|
451
|
+
* #1686: the action the link carries, when it carries one. Added optional, so a consumer
|
|
452
|
+
* parsing v1 without it still parses; omitted (never null) on a plain `become`, so the
|
|
453
|
+
* payload of every link minted before it is unchanged.
|
|
454
|
+
*/
|
|
455
|
+
action: capabilityAction.optional(),
|
|
385
456
|
});
|
|
386
457
|
export const capabilityRevokedPayload = z.object({
|
|
387
458
|
capabilityId,
|
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/deploy.d.ts
CHANGED
|
@@ -421,8 +421,18 @@ export declare const entityGrantShape: z.ZodObject<{
|
|
|
421
421
|
principalColumn: z.ZodString;
|
|
422
422
|
}, z.core.$strip>]>>;
|
|
423
423
|
retired: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">>>;
|
|
424
|
+
bind: z.ZodOptional<z.ZodObject<{
|
|
425
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
426
|
+
}, z.core.$strip>>;
|
|
424
427
|
}, z.core.$strip>;
|
|
425
428
|
export type EntityGrantShape = z.infer<typeof entityGrantShape>;
|
|
429
|
+
/**
|
|
430
|
+
* #1686: what is wrong with a shape's `bind`, as messages — empty when nothing is. Checked where
|
|
431
|
+
* {@link retiredShapeProblems} is.
|
|
432
|
+
*/
|
|
433
|
+
export declare function bindShapeProblems(shape: Pick<EntityGrantShape, 'entityType' | 'permissions' | 'bootstrap' | 'holder' | 'retired' | 'bind'>,
|
|
434
|
+
/** The keys the modules declare, where the registry is built; a push carries none to check against. */
|
|
435
|
+
declared?: ReadonlySet<string>): string[];
|
|
426
436
|
/**
|
|
427
437
|
* #2082: what is wrong with a shape's `retired`, as messages — empty when nothing is. Checked
|
|
428
438
|
* where a registry is BUILT ({@link buildPermissionRegistry}) and where a push carries one
|
|
@@ -485,6 +495,9 @@ export declare const permissionRegistry: z.ZodObject<{
|
|
|
485
495
|
principalColumn: z.ZodString;
|
|
486
496
|
}, z.core.$strip>]>>;
|
|
487
497
|
retired: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">>>;
|
|
498
|
+
bind: z.ZodOptional<z.ZodObject<{
|
|
499
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
500
|
+
}, z.core.$strip>>;
|
|
488
501
|
}, z.core.$strip>>>;
|
|
489
502
|
exports: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
490
503
|
type: z.ZodString;
|
|
@@ -538,6 +551,9 @@ export declare const pushedPermissionRegistry: z.ZodObject<{
|
|
|
538
551
|
principalColumn: z.ZodString;
|
|
539
552
|
}, z.core.$strip>]>>;
|
|
540
553
|
retired: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">>>;
|
|
554
|
+
bind: z.ZodOptional<z.ZodObject<{
|
|
555
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
556
|
+
}, z.core.$strip>>;
|
|
541
557
|
entityType: z.ZodString;
|
|
542
558
|
}, z.core.$strip>>>;
|
|
543
559
|
}, z.core.$strip>;
|
|
@@ -866,6 +882,7 @@ export declare const deployManifest: z.ZodObject<{
|
|
|
866
882
|
}>;
|
|
867
883
|
subjects: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
868
884
|
}, z.core.$strip>>;
|
|
885
|
+
stamps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
869
886
|
}, z.core.$strip>>;
|
|
870
887
|
lifecycles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
871
888
|
field: z.ZodString;
|
|
@@ -883,15 +900,10 @@ export declare const deployManifest: z.ZodObject<{
|
|
|
883
900
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
884
901
|
}, z.core.$strip>>>;
|
|
885
902
|
handlers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
886
|
-
derive: z.
|
|
887
|
-
|
|
888
|
-
get: "get";
|
|
889
|
-
list: "list";
|
|
890
|
-
update: "update";
|
|
891
|
-
}>;
|
|
892
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
903
|
+
derive: z.ZodString;
|
|
904
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
893
905
|
authored: z.ZodString;
|
|
894
|
-
}, z.core.$
|
|
906
|
+
}, z.core.$loose>]>>>;
|
|
895
907
|
}, z.core.$strip>>;
|
|
896
908
|
outputSurface: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
897
909
|
operationId: z.ZodString;
|
|
@@ -963,6 +975,9 @@ export declare const deployManifest: z.ZodObject<{
|
|
|
963
975
|
principalColumn: z.ZodString;
|
|
964
976
|
}, z.core.$strip>]>>;
|
|
965
977
|
retired: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">>>;
|
|
978
|
+
bind: z.ZodOptional<z.ZodObject<{
|
|
979
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
980
|
+
}, z.core.$strip>>;
|
|
966
981
|
entityType: z.ZodString;
|
|
967
982
|
}, z.core.$strip>>>;
|
|
968
983
|
}, z.core.$strip>;
|
|
@@ -1073,6 +1088,7 @@ export declare const storedDeployManifest: z.ZodObject<{
|
|
|
1073
1088
|
}>;
|
|
1074
1089
|
subjects: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1075
1090
|
}, z.core.$strip>>;
|
|
1091
|
+
stamps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1076
1092
|
}, z.core.$strip>>;
|
|
1077
1093
|
lifecycles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1078
1094
|
field: z.ZodString;
|
|
@@ -1090,15 +1106,10 @@ export declare const storedDeployManifest: z.ZodObject<{
|
|
|
1090
1106
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1091
1107
|
}, z.core.$strip>>>;
|
|
1092
1108
|
handlers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
1093
|
-
derive: z.
|
|
1094
|
-
|
|
1095
|
-
get: "get";
|
|
1096
|
-
list: "list";
|
|
1097
|
-
update: "update";
|
|
1098
|
-
}>;
|
|
1099
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1109
|
+
derive: z.ZodString;
|
|
1110
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
1100
1111
|
authored: z.ZodString;
|
|
1101
|
-
}, z.core.$
|
|
1112
|
+
}, z.core.$loose>]>>>;
|
|
1102
1113
|
}, z.core.$strip>>;
|
|
1103
1114
|
outputSurface: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1104
1115
|
operationId: z.ZodString;
|
|
@@ -1159,6 +1170,9 @@ export declare const storedDeployManifest: z.ZodObject<{
|
|
|
1159
1170
|
principalColumn: z.ZodString;
|
|
1160
1171
|
}, z.core.$strip>]>>;
|
|
1161
1172
|
retired: z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">>>;
|
|
1173
|
+
bind: z.ZodOptional<z.ZodObject<{
|
|
1174
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
1175
|
+
}, z.core.$strip>>;
|
|
1162
1176
|
}, z.core.$strip>>>;
|
|
1163
1177
|
exports: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1164
1178
|
type: z.ZodString;
|
package/dist/deploy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/deploy.js
CHANGED
|
@@ -484,7 +484,12 @@ export const entityGrantShape = z.object({
|
|
|
484
484
|
* its principal. Meridian's `hr_employees.principal_ref`.
|
|
485
485
|
*
|
|
486
486
|
* For those two, a person counts only when they also hold a row, live or tombstoned, for some
|
|
487
|
-
* key of the shape on that entity: evidence they were given it.
|
|
487
|
+
* key of the shape on that entity: evidence they were given it. Evidence that lands while the
|
|
488
|
+
* backfill is running, behind the point it has read to, is not counted, as none after it ends
|
|
489
|
+
* is (#2154). The backfill reads the table in `idColumn` order a window per pass (then by each
|
|
490
|
+
* row's own identity, so neither a repeated id nor a NULL principal makes it skip a row), which is
|
|
491
|
+
* bounded only when `idColumn` leads an index (the primary key does); otherwise each pass sorts
|
|
492
|
+
* the whole table, and the scope writes a `shape-backfill-unbounded` warn line saying so.
|
|
488
493
|
*
|
|
489
494
|
* - `'grantee'` (#2083): whoever holds a LIVE current or retired key of the shape on an entity of this type was
|
|
490
495
|
* given the shape there. For a portal-style record that names no principal and may have
|
|
@@ -529,7 +534,68 @@ export const entityGrantShape = z.object({
|
|
|
529
534
|
* empty, so a registry that retires nothing keeps the permission digest it had.
|
|
530
535
|
*/
|
|
531
536
|
retired: z.array(permissionKey).optional(),
|
|
537
|
+
/**
|
|
538
|
+
* #1686: a BINDING shape — the record's own principal column decides who holds it, and a
|
|
539
|
+
* `become` link may carry "on claim, set that column to the claimant" (a binding invite).
|
|
540
|
+
* `permission` is an ordinary key: who holds it on a record may mint such a link for it and
|
|
541
|
+
* may unbind its person. Checked at mint, again at the claim, and at an unbind.
|
|
542
|
+
*
|
|
543
|
+
* Only on a `bootstrap` shape whose `holder` is the table form, and never one of the shape's
|
|
544
|
+
* own current or retired keys (a key that let you hand out itself would be no bound). The holder's
|
|
545
|
+
* `idColumn` should be unique: a claim binds exactly one row, so an id two rows carry is refused,
|
|
546
|
+
* and an unbind clears every row with it. The
|
|
547
|
+
* column the holder names must be one of the entity's erasure SUBJECTS rather than an
|
|
548
|
+
* `erasable` field: an erasure of the record or of its person unbinds it (the kernel clears the
|
|
549
|
+
* column and takes the shape back, after the module's erasure hook has read the rows).
|
|
550
|
+
*
|
|
551
|
+
* Its keys are refused to every direct grant on a record of this type, as a `'grantee'` shape's
|
|
552
|
+
* are (a grant on a parent of another type is not refused yet: #2177). A claim refuses a record
|
|
553
|
+
* whose column names someone, and one someone already holds the shape on (`bind-record-held` — a
|
|
554
|
+
* person given it before the column was written: unbind them first). An unbind releases every
|
|
555
|
+
* holder of the shape on the record from the spine, whatever the column names now.
|
|
556
|
+
*
|
|
557
|
+
* Once a scope has recorded a binding shape for a type (its first reconcile with the declaration),
|
|
558
|
+
* the type's protected keys stay refused to direct grants there whatever later versions declare.
|
|
559
|
+
* That is permanent and per scope: a vertical that removes the binding shape and wants those keys
|
|
560
|
+
* plain-granted again must use new key names — a retirement takes the keys back from their
|
|
561
|
+
* holders but does not lift the refusal, and nothing clears the scope's `shape-bound` record —
|
|
562
|
+
* and a scope the binding was never declared in is unaffected. This is intended, and fails closed.
|
|
563
|
+
* An erasure matches the erased id against every type that ever bound
|
|
564
|
+
* (as module erasure matches subject columns whatever the type): an id that is not a ULID can
|
|
565
|
+
* collide across types.
|
|
566
|
+
*
|
|
567
|
+
* People already bound KEEP the shape until they are released — an unbind while the shape binds,
|
|
568
|
+
* an erasure (which reaches every type that ever bound in the scope), or `retired` — whatever a
|
|
569
|
+
* later version does to the declaration: dropping `bind` keeps the holder recorded but leaves no
|
|
570
|
+
* unbind; removing the shape or moving its holder leaves erasure and retirement (#2178 would
|
|
571
|
+
* refuse that change). Omitted when unset, so a registry that binds nothing keeps its digest.
|
|
572
|
+
*/
|
|
573
|
+
bind: z.object({ permission: permissionKey }).optional(),
|
|
532
574
|
});
|
|
575
|
+
/**
|
|
576
|
+
* #1686: what is wrong with a shape's `bind`, as messages — empty when nothing is. Checked where
|
|
577
|
+
* {@link retiredShapeProblems} is.
|
|
578
|
+
*/
|
|
579
|
+
export function bindShapeProblems(shape,
|
|
580
|
+
/** The keys the modules declare, where the registry is built; a push carries none to check against. */
|
|
581
|
+
declared) {
|
|
582
|
+
if (!shape.bind)
|
|
583
|
+
return [];
|
|
584
|
+
const problems = [];
|
|
585
|
+
const where = `entityGrants '${shape.entityType}'`;
|
|
586
|
+
if (!shape.bootstrap)
|
|
587
|
+
problems.push(`${where}: \`bind\` is only for a bootstrap shape; a sharing shape is reached through ctx.grant`);
|
|
588
|
+
if (typeof shape.holder !== 'object') {
|
|
589
|
+
problems.push(`${where}: \`bind\` needs a table holder ({ table, idColumn, principalColumn }) — the column a claim writes`);
|
|
590
|
+
}
|
|
591
|
+
if ([...shape.permissions, ...(shape.retired ?? [])].includes(shape.bind.permission)) {
|
|
592
|
+
problems.push(`${where}: binds with ${shape.bind.permission}, which is one of the shape's own keys`);
|
|
593
|
+
}
|
|
594
|
+
// A bind permission nothing declares could never be held, so no link could ever be minted.
|
|
595
|
+
if (declared && !declared.has(shape.bind.permission))
|
|
596
|
+
problems.push(`${where}: binds with ${shape.bind.permission}, which no module declares`);
|
|
597
|
+
return problems;
|
|
598
|
+
}
|
|
533
599
|
/**
|
|
534
600
|
* #2082: what is wrong with a shape's `retired`, as messages — empty when nothing is. Checked
|
|
535
601
|
* where a registry is BUILT ({@link buildPermissionRegistry}) and where a push carries one
|
|
@@ -608,6 +674,8 @@ export const pushedPermissionRegistry = permissionRegistry.extend({
|
|
|
608
674
|
.array(entityGrantShape.extend({ entityType: declaredEntityType }).superRefine((shape, ctx) => {
|
|
609
675
|
for (const message of retiredShapeProblems(shape))
|
|
610
676
|
ctx.addIssue({ code: 'custom', path: ['retired'], message });
|
|
677
|
+
for (const message of bindShapeProblems(shape))
|
|
678
|
+
ctx.addIssue({ code: 'custom', path: ['bind'], message });
|
|
611
679
|
}))
|
|
612
680
|
.default([]),
|
|
613
681
|
});
|
|
@@ -701,8 +769,12 @@ export function buildPermissionRegistry(input) {
|
|
|
701
769
|
...(g.bootstrap ? { bootstrap: true } : {}),
|
|
702
770
|
...(g.holder ? { holder: g.holder } : {}),
|
|
703
771
|
...(g.retired?.length ? { retired: sortKeys(g.retired) } : {}),
|
|
772
|
+
...(g.bind ? { bind: { permission: g.bind.permission } } : {}),
|
|
704
773
|
}));
|
|
705
|
-
const problems =
|
|
774
|
+
const problems = [
|
|
775
|
+
...entityGrants.flatMap(retiredShapeProblems),
|
|
776
|
+
...entityGrants.flatMap((g) => bindShapeProblems(g, new Set(declaredBy.keys()))),
|
|
777
|
+
];
|
|
706
778
|
if (problems.length > 0)
|
|
707
779
|
throw new Error(`buildPermissionRegistry: ${problems.join('; ')}`);
|
|
708
780
|
// #1705: the edges. Keyed so two modules declaring the same flow collapse into one row
|