@substrat-run/vertical-host 0.141.0 → 0.143.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/errors.d.ts +6 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +73 -26
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +25 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +62 -10
- package/dist/index.js.map +1 -1
- package/dist/invocation-log.d.ts +195 -7
- package/dist/invocation-log.d.ts.map +1 -1
- package/dist/invocation-log.js +374 -6
- package/dist/invocation-log.js.map +1 -1
- package/dist/kick-flags.d.ts +9 -0
- package/dist/kick-flags.d.ts.map +1 -0
- package/dist/kick-flags.js +20 -0
- package/dist/kick-flags.js.map +1 -0
- package/dist/live.d.ts +3 -3
- package/dist/live.js +3 -3
- package/dist/routed-node.d.ts +83 -7
- package/dist/routed-node.d.ts.map +1 -1
- package/dist/routed-node.js +64 -6
- package/dist/routed-node.js.map +1 -1
- package/dist/scope-sweep-host.d.ts +7 -1
- package/dist/scope-sweep-host.d.ts.map +1 -1
- package/dist/scope-sweep-host.js +21 -4
- package/dist/scope-sweep-host.js.map +1 -1
- package/package.json +7 -7
- package/dist/platform-call.d.ts +0 -10
- package/dist/platform-call.d.ts.map +0 -1
- package/dist/platform-call.js +0 -10
- package/dist/platform-call.js.map +0 -1
package/dist/errors.d.ts
CHANGED
|
@@ -12,8 +12,9 @@
|
|
|
12
12
|
* Errors are recognised BY SHAPE, not by `instanceof`. A `ScopeStub` call may
|
|
13
13
|
* cross a Durable Object boundary, where the error is re-created from its wire
|
|
14
14
|
* form and no class survives — and even in-process, two copies of `@substrat-run/kernel`
|
|
15
|
-
* make `instanceof` a coin toss. So: the
|
|
16
|
-
*
|
|
15
|
+
* make `instanceof` a coin toss. So: the code a throw declared (`errorCodeOf` reads the
|
|
16
|
+
* live property, the `Substrat.<code>` name, and the legacy class names), and the message
|
|
17
|
+
* last, deprecated (`guessFromSentence`).
|
|
17
18
|
*/
|
|
18
19
|
import type { Context } from 'hono';
|
|
19
20
|
import { type Problem } from '@substrat-run/contracts';
|
|
@@ -28,6 +29,8 @@ export interface ErrorClassification {
|
|
|
28
29
|
/** The message a thrown value carries, whatever kind of value it is. */
|
|
29
30
|
export declare function messageOf(err: unknown): string;
|
|
30
31
|
export declare function isPlatformFault(err: unknown, message: string): boolean;
|
|
32
|
+
/** The keys `announced` holds — for a test that the set stays bounded, not part of the package. */
|
|
33
|
+
export declare function announcedKeys(): readonly string[];
|
|
31
34
|
/**
|
|
32
35
|
* The status a throw deserves, or `undefined` when this vocabulary has no
|
|
33
36
|
* opinion about it.
|
|
@@ -40,7 +43,7 @@ export declare function isPlatformFault(err: unknown, message: string): boolean;
|
|
|
40
43
|
*
|
|
41
44
|
* An explicit `HTTPException` status is authoritative EXCEPT for 400: that is
|
|
42
45
|
* the status a generic throw acquires on the way here, so it stays open to the
|
|
43
|
-
*
|
|
46
|
+
* code and the sentence guess. A route that means "400, final" gets 400 either way.
|
|
44
47
|
*/
|
|
45
48
|
export declare function classifyError(thrown: unknown): ErrorClassification | undefined;
|
|
46
49
|
/** A classified failure, rendered — the status to answer with and the body to send. */
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAUL,KAAK,OAAO,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,6EAA6E;AAC7E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE9C;AAkBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAItE;AA0DD,mGAAmG;AACnG,wBAAgB,aAAa,IAAI,SAAS,MAAM,EAAE,CAEjD;AAoBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAmB9E;AAkBD,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAkBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAM7E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,mBAAmB,EAC5B,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,iBAAiB,CAUnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,QAAQ,CAMlE"}
|
package/dist/errors.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { HTTPException } from 'hono/http-exception';
|
|
2
2
|
import { errorCodeOf, isScopeGateRefusal, NO_APPLICATION_DETAIL, PROBLEM_CATALOG, PROBLEM_CONTENT_TYPE, problemForStatus, substratError, toProblem, } from '@substrat-run/contracts';
|
|
3
|
-
import { PermissionDenied } from '@substrat-run/kernel';
|
|
4
3
|
/** The message a thrown value carries, whatever kind of value it is. */
|
|
5
4
|
export function messageOf(err) {
|
|
6
5
|
return err instanceof Error ? err.message : String(err);
|
|
@@ -26,21 +25,75 @@ export function isPlatformFault(err, message) {
|
|
|
26
25
|
return true;
|
|
27
26
|
return PLATFORM_FAULT_PATTERNS.some((p) => p.test(message));
|
|
28
27
|
}
|
|
29
|
-
/** A refused permission, however it reached us. */
|
|
30
|
-
function isPermissionDenied(err, message) {
|
|
31
|
-
return (err instanceof PermissionDenied ||
|
|
32
|
-
err?.name === 'PermissionDenied' ||
|
|
33
|
-
/permission denied/i.test(message));
|
|
34
|
-
}
|
|
35
28
|
/**
|
|
36
|
-
* An input that failed to parse
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* is Zod's own array and nothing else in this path carries one.
|
|
29
|
+
* An input that failed to parse, read by its `issues` — Zod's own array, which nothing
|
|
30
|
+
* else in this path carries. A `ZodError` by NAME never gets here: `errorCodeOf` already
|
|
31
|
+
* read it as `validation_failed`. This is for the copy whose name did not survive.
|
|
40
32
|
*/
|
|
41
33
|
function isParseFailure(err) {
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
return Array.isArray(err?.issues);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The statuses a throw that declared NOTHING still gets from its wording — deprecated
|
|
38
|
+
* (#113), and removed in a later release.
|
|
39
|
+
*
|
|
40
|
+
* Every refusal the platform raises carries its code: the kernel's `PermissionDenied`,
|
|
41
|
+
* `assertTransition`'s `conflict`, every engine's and adapter's `not_found`. What still
|
|
42
|
+
* reaches these patterns is a vertical's own untyped `throw new Error('… not found')`.
|
|
43
|
+
* When they go, such a throw becomes the caller's 400 like any other unrecognised throw,
|
|
44
|
+
* so until then each one is announced in the vertical's own logs, naming the typed
|
|
45
|
+
* spelling that keeps its status — once per code and sentence prefix, at most
|
|
46
|
+
* `ANNOUNCED_MAX` times per isolate (see `announced`).
|
|
47
|
+
*/
|
|
48
|
+
const DENIAL_SENTENCES = [
|
|
49
|
+
{ pattern: /permission denied/i, code: 'permission_denied' },
|
|
50
|
+
];
|
|
51
|
+
/** Read AFTER a parse failure, where the denial is read before it: the order these always had. */
|
|
52
|
+
const STATE_SENTENCES = [
|
|
53
|
+
{ pattern: /not found|unknown scope/i, code: 'not_found' },
|
|
54
|
+
{ pattern: /invalid transition|immutable/i, code: 'conflict' },
|
|
55
|
+
];
|
|
56
|
+
/**
|
|
57
|
+
* What this isolate has already announced, keyed by the code and the sentence's first
|
|
58
|
+
* `ANNOUNCED_PREFIX` characters. Both dimensions are bounded, and both have to be: the
|
|
59
|
+
* isolate serves every tenant of the vertical, and a sentence carries whatever the
|
|
60
|
+
* vertical put in it, so a count cap alone would let a hundred megabyte-long sentences
|
|
61
|
+
* pin a hundred megabytes. A longer sentence is logged cut to the same bound.
|
|
62
|
+
*/
|
|
63
|
+
const announced = new Set();
|
|
64
|
+
const ANNOUNCED_MAX = 100;
|
|
65
|
+
const ANNOUNCED_PREFIX = 120;
|
|
66
|
+
/**
|
|
67
|
+
* A sentence's first `ANNOUNCED_PREFIX` characters as a string of its own. Rebuilt, not
|
|
68
|
+
* sliced: V8 can answer `slice` of a long string with a view that keeps the WHOLE sentence
|
|
69
|
+
* alive, so a sliced copy bounds the length and none of the memory — in the dedupe set, or
|
|
70
|
+
* in whatever buffers the log line.
|
|
71
|
+
*/
|
|
72
|
+
function prefixOf(message) {
|
|
73
|
+
return [...message.slice(0, ANNOUNCED_PREFIX)].join('');
|
|
74
|
+
}
|
|
75
|
+
/** A sentence cut to the logged bound, marked when it was cut. */
|
|
76
|
+
function bounded(message) {
|
|
77
|
+
return message.length > ANNOUNCED_PREFIX ? `${prefixOf(message)}… (truncated)` : message;
|
|
78
|
+
}
|
|
79
|
+
/** The keys `announced` holds — for a test that the set stays bounded, not part of the package. */
|
|
80
|
+
export function announcedKeys() {
|
|
81
|
+
return [...announced];
|
|
82
|
+
}
|
|
83
|
+
function guessFromSentence(message, guesses) {
|
|
84
|
+
const guess = guesses.find((g) => g.pattern.test(message));
|
|
85
|
+
if (!guess)
|
|
86
|
+
return undefined;
|
|
87
|
+
const key = `${guess.code}:${prefixOf(message)}`;
|
|
88
|
+
if (!announced.has(key) && announced.size < ANNOUNCED_MAX) {
|
|
89
|
+
announced.add(key);
|
|
90
|
+
console.warn('vertical-host.untyped-refusal', {
|
|
91
|
+
status: PROBLEM_CATALOG[guess.code].status,
|
|
92
|
+
message: bounded(message),
|
|
93
|
+
deprecated: `this status was read from the sentence, which a later release stops doing; throw substratError('${guess.code}', …) to keep it`,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
return guess.code;
|
|
44
97
|
}
|
|
45
98
|
/**
|
|
46
99
|
* The status a throw deserves, or `undefined` when this vocabulary has no
|
|
@@ -54,7 +107,7 @@ function isParseFailure(err) {
|
|
|
54
107
|
*
|
|
55
108
|
* An explicit `HTTPException` status is authoritative EXCEPT for 400: that is
|
|
56
109
|
* the status a generic throw acquires on the way here, so it stays open to the
|
|
57
|
-
*
|
|
110
|
+
* code and the sentence guess. A route that means "400, final" gets 400 either way.
|
|
58
111
|
*/
|
|
59
112
|
export function classifyError(thrown) {
|
|
60
113
|
const err = atTheEdge(thrown);
|
|
@@ -64,22 +117,16 @@ export function classifyError(thrown) {
|
|
|
64
117
|
return { status: explicit, message };
|
|
65
118
|
if (isPlatformFault(err, message))
|
|
66
119
|
return { status: 502, message, platformFault: true };
|
|
67
|
-
// The taxonomy first (#113): a throw that declared what it is outranks
|
|
68
|
-
//
|
|
120
|
+
// The taxonomy first (#113): a throw that declared what it is outranks the guesses
|
|
121
|
+
// after it. This reads the code by SHAPE — the live property in-process, the `name`
|
|
69
122
|
// once it has crossed the ScopeDO hop — so it is the same answer on both paths,
|
|
70
|
-
// which is exactly what
|
|
71
|
-
const code = errorCodeOf(err)
|
|
123
|
+
// which is exactly what a sentence pattern could never manage.
|
|
124
|
+
const code = errorCodeOf(err) ??
|
|
125
|
+
guessFromSentence(message, DENIAL_SENTENCES) ??
|
|
126
|
+
(isParseFailure(err) ? 'validation_failed' : guessFromSentence(message, STATE_SENTENCES));
|
|
72
127
|
if (code !== undefined) {
|
|
73
128
|
return { status: PROBLEM_CATALOG[code].status, message };
|
|
74
129
|
}
|
|
75
|
-
if (isPermissionDenied(err, message))
|
|
76
|
-
return { status: 403, message };
|
|
77
|
-
if (isParseFailure(err))
|
|
78
|
-
return { status: 400, message };
|
|
79
|
-
if (/not found|unknown scope/i.test(message))
|
|
80
|
-
return { status: 404, message };
|
|
81
|
-
if (/invalid transition|immutable/i.test(message))
|
|
82
|
-
return { status: 409, message };
|
|
83
130
|
return explicit === undefined ? undefined : { status: explicit, message };
|
|
84
131
|
}
|
|
85
132
|
/**
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,SAAS,GAGV,MAAM,yBAAyB,CAAC;AAWjC,wEAAwE;AACxE,MAAM,UAAU,SAAS,CAAC,GAAY;IACpC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAG;IAC9B,yBAAyB;IACzB,wBAAwB;IACxB,oCAAoC;IACpC,4BAA4B;IAC5B,2BAA2B;CAC5B,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,GAAY,EAAE,OAAe;IAC3D,MAAM,KAAK,GAAG,GAA2D,CAAC;IAC1E,IAAI,KAAK,EAAE,SAAS,KAAK,IAAI,IAAI,KAAK,EAAE,UAAU,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzE,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,KAAK,CAAC,OAAO,CAAE,GAAmC,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,gBAAgB,GAAoD;IACxE,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,mBAAmB,EAAE;CAC7D,CAAC;AACF,kGAAkG;AAClG,MAAM,eAAe,GAAoD;IACvE,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,WAAW,EAAE;IAC1D,EAAE,OAAO,EAAE,+BAA+B,EAAE,IAAI,EAAE,UAAU,EAAE;CAC/D,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;AACpC,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,OAAe;IAC/B,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,kEAAkE;AAClE,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3F,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,OAAwD;IAExD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG,aAAa,EAAE,CAAC;QAC1D,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAC5C,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;YAC1C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;YACzB,UAAU,EAAE,mGAAmG,KAAK,CAAC,IAAI,kBAAkB;SAC5I,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe;IAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,GAAG;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACrF,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAExF,mFAAmF;IACnF,oFAAoF;IACpF,gFAAgF;IAChF,+DAA+D;IAC/D,MAAM,IAAI,GACR,WAAW,CAAC,GAAG,CAAC;QAChB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC;QAC5C,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,MAA8B,EAAE,OAAO,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,GAAY;IAC7B,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3F,CAAC;AAED,uEAAuE;AACvE,MAAM,YAAY,GAAwB,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAU1F;;;;;;;;;GASG;AACH,SAAS,UAAU,CAAC,GAAY;IAC9B,IAAI,CAAC,CAAC,GAAG,YAAY,aAAa,CAAC;QAAE,OAAO,GAAG,CAAC;IAChD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,OAAO,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,QAAiB;IACxD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI;QACjC,MAAM,EAAE,GAA2B;QACnC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;KACxB,CAAC;IACF,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CACvB,OAA4B,EAC5B,GAAY,EACZ,QAAiB;IAEjB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,IAAI,GACR,IAAI,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAChE,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC5B,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5D,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe,CAAC,CAAU,EAAE,GAAY;IACtD,MAAM,QAAQ,GAAI,GAAgC,EAAE,GAAG,CAAC;IACxD,IAAI,QAAQ,YAAY,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAClD,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IACtE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAC,CAAC;AACxF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import type { Hono } from 'hono';
|
|
26
26
|
import { type CarriedAway, type KeptCopy, type LoadMarker, type CopyRestoreFence, type InvokeOptions, type AppliedMigration, type SwitchedOff, type UndrainedEvents, type ScopeRoleHolder, type SubjectRedactionCounts } from '@substrat-run/kernel';
|
|
27
|
-
import { z, type ScopeLineage, ownerSeat, type Coverage, type MemberInviteLink, type PlatformActorId, ownerTransferRecord, ownerTransferAbandon, type CapabilityFilter, type CapabilityPage, type DenialFilter, type DenialSummary, type PermissionDenial, readScopeTableInput, type EntityHistoryInput, type EventFacetInput, type EventCauseInput, type EventEffectsInput, type EffectsTree, type InvocationEventsInput, type InvocationEvents, type DeadLettersInput, type DeadLetter, type LifecycleFlowInput, type LifecycleFlowResult, type OperationSeriesInput, type OperationSeriesResult, type CauseChain, type EventFacetResult, type HistoryEntry, type Page, type ScopeId, type TenantId, type PrincipalId, type ConnectionId, type PermissionKey, type EntityRef, type Visibility, type RoleDefinition, type ScopeDumpTable, type ScopeTable, type ScopeQueryResult, type EntitlementGrant, type ProjectedConnectionGrant, type ProjectedConnectionKey, type ProjectedIdentityLink, type OwnerClaimLink, type
|
|
27
|
+
import { z, type ScopeLineage, ownerSeat, type Coverage, type MemberInviteLink, type PlatformActorId, ownerTransferRecord, ownerTransferAbandon, type BoundedBecomeMint, type BoundedBecomeRevoke, type BecomeLinkState, type CapabilityId, type PrincipalBecomeCapabilityInput, type CapabilityFilter, type CapabilityPage, type CapabilityRecord, type DenialFilter, type DenialSummary, type PermissionDenial, readScopeTableInput, type EntityHistoryInput, type EventFacetInput, type EventCauseInput, type EventEffectsInput, type EffectsTree, type InvocationEventsInput, type InvocationEvents, type DeadLettersInput, type DeadLetter, type LifecycleFlowInput, type LifecycleFlowResult, type OperationSeriesInput, type OperationSeriesResult, type CauseChain, type EventFacetResult, type HistoryEntry, type Page, type ScopeId, type TenantId, type PrincipalId, type ConnectionId, type PermissionKey, type EntityRef, type Visibility, type RoleDefinition, type ScopeDumpTable, type ScopeTable, type ScopeQueryResult, type EntitlementGrant, type ProjectedConnectionGrant, type ProjectedConnectionKey, type ProjectedIdentityLink, type OwnerClaimLink, type PlatformRequestEntry, type PlatformRequestFilter, type PlatformRequestId, type PlatformRequestStatus, type PlatformRequestFailure, type PlatformOutcomeEvent, type ModuleId, type SystemSwitchOutcome, type LifecycleDelivery, type ScopeLifecycle, type PeerGrantsEntry, type SystemScheduleEntry, type PeerSwitchOutcome, type VerticalCaller, type ImportCursorMoveAt, type ImportCursorMoved, type ExportReadInput, type ExportedBatch, type ImportBatch, type ImportResult, type ImportState, type EntityGrantShape } from '@substrat-run/contracts';
|
|
28
28
|
/**
|
|
29
29
|
* The slice of the scope host the platform surface delegates to. Structural on purpose:
|
|
30
30
|
* this package names behaviour, never the concrete `CloudflareScopeHost`. Every method
|
|
@@ -211,8 +211,10 @@ export interface VerticalScopeHost {
|
|
|
211
211
|
summarizeDenialsLocal(scopeId: ScopeId, filter?: DenialFilter): Promise<DenialSummary>;
|
|
212
212
|
/** The operator's capability read (#1686): records, never a secret or a hash. */
|
|
213
213
|
listCapabilitiesLocal(scopeId: ScopeId, filter?: CapabilityFilter): Promise<CapabilityPage>;
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
/** The far end of the operator's revoke (#1686): the record as it stood before, or null. */
|
|
215
|
+
revokeCapabilityLocal(scopeId: ScopeId, capabilityId: CapabilityId, actor: PlatformActorId): Promise<CapabilityRecord | null>;
|
|
216
|
+
listPlatformRequests(tenantId: TenantId, scopeId: ScopeId): Promise<PlatformRequestEntry[]>;
|
|
217
|
+
listPlatformRequestHistory(tenantId: TenantId, scopeId: ScopeId, filter?: PlatformRequestFilter): Promise<PlatformRequestEntry[]>;
|
|
216
218
|
settlePlatformRequest(tenantId: TenantId, scopeId: ScopeId, id: PlatformRequestId, outcome: {
|
|
217
219
|
status: PlatformRequestStatus;
|
|
218
220
|
result?: unknown;
|
|
@@ -333,6 +335,14 @@ export interface VerticalScopeHost {
|
|
|
333
335
|
coverage: Coverage;
|
|
334
336
|
revoked: string[];
|
|
335
337
|
}>;
|
|
338
|
+
/**
|
|
339
|
+
* A member invite's link (#1686): a principal's bounded `become` mint, and its revoke. The
|
|
340
|
+
* member routes need both, so a host without them answers 501 there, as for the verbs above.
|
|
341
|
+
*/
|
|
342
|
+
mintBecomeCapabilityBounded?(tenantId: TenantId, scopeId: ScopeId, caller: PrincipalId, input: PrincipalBecomeCapabilityInput): Promise<BoundedBecomeMint>;
|
|
343
|
+
revokeBecomeCapability?(tenantId: TenantId, scopeId: ScopeId, capabilityId: CapabilityId, by: PrincipalId): Promise<BoundedBecomeRevoke>;
|
|
344
|
+
/** Where each named link stands (#1686), so the member roster never lists a dead link as open. */
|
|
345
|
+
becomeLinkStates?(tenantId: TenantId, scopeId: ScopeId, ids: readonly CapabilityId[]): Promise<BecomeLinkState[]>;
|
|
336
346
|
}
|
|
337
347
|
/**
|
|
338
348
|
* The slice of a vertical's identity directory the member routes touch (#1150) — vertical-auth's
|
|
@@ -349,12 +359,16 @@ export interface MemberDirectory {
|
|
|
349
359
|
roleKey: string;
|
|
350
360
|
email: string | null;
|
|
351
361
|
createdAt: number;
|
|
362
|
+
capabilityId?: string | null;
|
|
352
363
|
}[]>;
|
|
353
364
|
getInvite(scopeId: string, principal: string): Promise<{
|
|
354
365
|
roleKey: string;
|
|
355
366
|
} | null>;
|
|
356
|
-
createInvite(scopeId: string, principal: string, roleKey: string, email: string | null, tokenHash: string): Promise<void>;
|
|
357
|
-
|
|
367
|
+
createInvite(scopeId: string, principal: string, roleKey: string, email: string | null, tokenHash: string, capabilityId: string | null): Promise<void>;
|
|
368
|
+
/** The `become` capability an open invite's link is (#1686), or null. */
|
|
369
|
+
inviteLink(scopeId: string, principal: string): Promise<string | null>;
|
|
370
|
+
/** Withdraw an open invite. */
|
|
371
|
+
revokeInvite(scopeId: string, principal: string): Promise<unknown>;
|
|
358
372
|
unbindPrincipal(scopeId: string, principal: string): Promise<string[]>;
|
|
359
373
|
}
|
|
360
374
|
/**
|
|
@@ -373,7 +387,9 @@ export interface MembersHook<Env> {
|
|
|
373
387
|
}) => MemberDirectory;
|
|
374
388
|
mint: (steps: {
|
|
375
389
|
grant: (assignee: PrincipalId) => Promise<Coverage>;
|
|
376
|
-
|
|
390
|
+
mint: (input: PrincipalBecomeCapabilityInput) => Promise<BoundedBecomeMint>;
|
|
391
|
+
record: (principal: PrincipalId, tokenHash: string, capabilityId: CapabilityId) => Promise<void>;
|
|
392
|
+
revokeCapability: (capabilityId: CapabilityId) => Promise<unknown>;
|
|
377
393
|
rollback: (principal: PrincipalId) => Promise<unknown>;
|
|
378
394
|
}, input: {
|
|
379
395
|
roleKey: string;
|
|
@@ -583,8 +599,9 @@ export * from './live.js';
|
|
|
583
599
|
export * from './invocation-log.js';
|
|
584
600
|
export * from './routed-node.js';
|
|
585
601
|
export * from './rate-limit.js';
|
|
586
|
-
export
|
|
587
|
-
export * from './
|
|
602
|
+
export { assertPlatformCall, PlatformCallError } from '@substrat-run/contracts/wire-auth';
|
|
603
|
+
export * from './kick-flags.js';
|
|
604
|
+
export { SCOPE_SWEEP_HOST_KEY, PLATFORM_SWEEPER_VAR, registerScopeSweepHost, platformSweeperOf, type ScopeSweepHostFactory, } from './scope-sweep-host.js';
|
|
588
605
|
export { classifyError, isPlatformFault, messageOf, problemFor, problemOf, problemResponse, } from './errors.js';
|
|
589
606
|
export type { ClassifiedProblem, ErrorClassification } from './errors.js';
|
|
590
607
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,9 @@ import { HTTPException } from 'hono/http-exception';
|
|
|
2
2
|
import { classifyError, messageOf, problemOf } from './errors.js';
|
|
3
3
|
import { externalInput, externalJson } from './wire.js';
|
|
4
4
|
import {} from '@substrat-run/kernel';
|
|
5
|
-
import { assertPlatformCall, PlatformCallError } from '
|
|
5
|
+
import { assertPlatformCall, PlatformCallError } from '@substrat-run/contracts/wire-auth';
|
|
6
6
|
import { platformSweeperOf, registerScopeSweepHost } from './scope-sweep-host.js';
|
|
7
|
-
import { z, PROBLEM_CONTENT_TYPE, scopeLineage, scopeId as scopeIdOf, tenantId as tenantIdOf, principalId as principalIdOf, connectionId as connectionIdOf, permissionKey as permissionKeyOf, moduleId as moduleIdOf, switchedOffInUnit, entityRef, visibility, instant, entitlementGrant, projectedConnectionGrant, projectedConnectionKey, projectedIdentityLink, ownerSeat, ownerClaimLink, coverage, coverageRefusal, memberInviteLink, memberRemoval, scopeMembers, platformActorId, ownerTransferPair, distinctOwnerTransfer, ownerTransferRecord, ownerTransferAbandon, platformRequestFilter, denialFilter, capabilityFilterQuery, platformRequestId, platformRequestStatus, platformRequestFailure, platformOutcomeEvent, readScopeTableInput, entityHistoryInput, eventFacetInput, eventCauseInput, eventEffectsInput, invocationEventsInput, deadLettersInput, lifecycleFlowInput, operationSeriesShape, operationSeriesWindow, queryScopeInput, scopeLifecycle, verticalCaller, verticalSlug as verticalSlugOf, exportReadInput, importBatch, importCursorMoveAt, CONNECTOR_ATTACHMENT_RECORD_HEADER, LOAD_STAMP_HEADER, WRITE_REVISION_HEADER, entityGrantShape, } from '@substrat-run/contracts';
|
|
7
|
+
import { z, PROBLEM_CONTENT_TYPE, scopeLineage, scopeId as scopeIdOf, tenantId as tenantIdOf, principalId as principalIdOf, connectionId as connectionIdOf, permissionKey as permissionKeyOf, moduleId as moduleIdOf, switchedOffInUnit, entityRef, visibility, instant, entitlementGrant, projectedConnectionGrant, projectedConnectionKey, projectedIdentityLink, ownerSeat, ownerClaimLink, coverage, coverageRefusal, memberInviteLink, memberRemoval, scopeMembers, platformActorId, ownerTransferPair, distinctOwnerTransfer, ownerTransferRecord, ownerTransferAbandon, platformRequestFilter, denialFilter, capabilityFilterQuery, BECOME_LINK_STATES_MAX_IDS, capabilityId, becomeLinkState, capabilityRevokeAnswer, capabilityRevokeRequest, platformRequestId, platformRequestStatus, platformRequestFailure, platformOutcomeEvent, readScopeTableInput, entityHistoryInput, eventFacetInput, eventCauseInput, eventEffectsInput, invocationEventsInput, deadLettersInput, lifecycleFlowInput, operationSeriesShape, operationSeriesWindow, queryScopeInput, errorCodeOf, scopeLifecycle, verticalCaller, verticalSlug as verticalSlugOf, exportReadInput, importBatch, importCursorMoveAt, CONNECTOR_ATTACHMENT_RECORD_HEADER, LOAD_STAMP_HEADER, WRITE_REVISION_HEADER, entityGrantShape, } from '@substrat-run/contracts';
|
|
8
8
|
/**
|
|
9
9
|
* The denial-log filter, off the query string (#867). Both denial routes take the same
|
|
10
10
|
* one, and it is PARSED here rather than forwarded: what arrives is text, and what it
|
|
@@ -656,7 +656,9 @@ export function mountPlatformSurface(app, deps) {
|
|
|
656
656
|
return c.json(await deps.hostFor(c.env).introspectScopeQuery(body.scopeId, { sql: body.sql }));
|
|
657
657
|
}
|
|
658
658
|
catch (e) {
|
|
659
|
-
|
|
659
|
+
// The read-only gate's refusal is the caller's mistake (`validation_failed`, #113) —
|
|
660
|
+
// read by its code, so its sentence is free to change.
|
|
661
|
+
if (e instanceof Error && errorCodeOf(e) === 'validation_failed') {
|
|
660
662
|
throw new HTTPException(400, { message: e.message });
|
|
661
663
|
}
|
|
662
664
|
throw e;
|
|
@@ -687,6 +689,16 @@ export function mountPlatformSurface(app, deps) {
|
|
|
687
689
|
const { scopeId: _scope, ...rest } = c.req.query();
|
|
688
690
|
return c.json(await deps.hostFor(c.env).listCapabilitiesLocal(s, capabilityFilterQuery.parse(rest)));
|
|
689
691
|
});
|
|
692
|
+
// The operator's capability revoke (#1686), the write beside that read: the platform's lever
|
|
693
|
+
// for a leaked link, for a scope whose directory is in THIS deployment. The control plane made
|
|
694
|
+
// the tenant check before calling and writes the admin row after; the record names the
|
|
695
|
+
// platform actor as its revoker. A capability the scope does not hold is `{ before: null }`,
|
|
696
|
+
// never a 404, which is how a deployment built before this route answers.
|
|
697
|
+
app.post('/internal/capabilities/revoke', async (c) => {
|
|
698
|
+
const body = capabilityRevokeRequest.parse(await c.req.json());
|
|
699
|
+
const before = await deps.hostFor(c.env).revokeCapabilityLocal(body.scopeId, body.capabilityId, body.actor);
|
|
700
|
+
return c.json(capabilityRevokeAnswer.parse({ before }));
|
|
701
|
+
});
|
|
690
702
|
// Platform-intent drain surface (platform-intents.md): the control plane PULLS this
|
|
691
703
|
// scope's pending intents — its DO lives HERE, not the platform's — executes each with
|
|
692
704
|
// its own authority, and journals the outcome back. Platform-secret gated.
|
|
@@ -1183,6 +1195,7 @@ export function mountPlatformSurface(app, deps) {
|
|
|
1183
1195
|
const host = deps.hostFor(env);
|
|
1184
1196
|
const verbs = [
|
|
1185
1197
|
'assignScopeRoleBounded', 'listScopeRoleHolders', 'changeScopeRoleBounded', 'revokeScopeRolesBounded', 'revokeScopeRole',
|
|
1198
|
+
'mintBecomeCapabilityBounded', 'revokeBecomeCapability', 'becomeLinkStates',
|
|
1186
1199
|
];
|
|
1187
1200
|
if (verbs.some((v) => typeof host[v] !== 'function')) {
|
|
1188
1201
|
throw new HTTPException(501, { message: 'this deployment’s scope host predates member management — update @substrat-run/adapter-cloudflare' });
|
|
@@ -1254,7 +1267,29 @@ export function mountPlatformSurface(app, deps) {
|
|
|
1254
1267
|
}));
|
|
1255
1268
|
// An invite's `roleKey` is the role it was minted at; `roles` is what its principal holds now,
|
|
1256
1269
|
// read from the scope — the one every bound is asked about.
|
|
1257
|
-
|
|
1270
|
+
// #1686: where each invite's link stands, read from the scope in one call — never "open" for
|
|
1271
|
+
// a link the kernel revoked (its principal's holdings changed) or that expired.
|
|
1272
|
+
const ids = invites.flatMap((i) => (i.capabilityId ? [capabilityId.parse(i.capabilityId)] : []));
|
|
1273
|
+
// In pages of the read's cap, which refuses rather than truncates.
|
|
1274
|
+
const states = [];
|
|
1275
|
+
for (let at = 0; at < ids.length; at += BECOME_LINK_STATES_MAX_IDS) {
|
|
1276
|
+
const page = ids.slice(at, at + BECOME_LINK_STATES_MAX_IDS);
|
|
1277
|
+
const answer = (await surface.host.becomeLinkStates(ref.tenantId, ref.scopeId, page)).map((s) => becomeLinkState.parse(s));
|
|
1278
|
+
if (answer.length !== page.length)
|
|
1279
|
+
break;
|
|
1280
|
+
states.push(...answer);
|
|
1281
|
+
}
|
|
1282
|
+
// One answer per id asked, as vertical-auth's `withLinkStates` holds it: a short answer would
|
|
1283
|
+
// list some invite with no state, which is not the same as a legacy invite's `null`.
|
|
1284
|
+
if (states.length !== ids.length) {
|
|
1285
|
+
throw new HTTPException(500, { message: 'the scope answered a link state per id it was not asked for — refusing' });
|
|
1286
|
+
}
|
|
1287
|
+
const linkOf = new Map(ids.map((id, n) => [id, states[n]]));
|
|
1288
|
+
const open = invites.map(({ capabilityId: link, ...i }) => ({
|
|
1289
|
+
...i,
|
|
1290
|
+
roles: roles.get(i.principal) ?? [],
|
|
1291
|
+
link: link ? (linkOf.get(link) ?? null) : null,
|
|
1292
|
+
}));
|
|
1258
1293
|
return c.json(scopeMembers.parse({ roles: [...surface.members.roles], members, invites: open }));
|
|
1259
1294
|
});
|
|
1260
1295
|
app.post('/internal/members/invite', async (c) => {
|
|
@@ -1265,7 +1300,9 @@ export function mountPlatformSurface(app, deps) {
|
|
|
1265
1300
|
}
|
|
1266
1301
|
const minted = await surface.members.mint({
|
|
1267
1302
|
grant: (assignee) => surface.host.assignScopeRoleBounded(body.tenantId, body.scopeId, body.caller, assignee, body.roleKey),
|
|
1268
|
-
|
|
1303
|
+
mint: (link) => surface.host.mintBecomeCapabilityBounded(body.tenantId, body.scopeId, body.caller, link),
|
|
1304
|
+
record: (principal, tokenHash, link) => surface.directory.createInvite(body.scopeId, principal, body.roleKey, body.email, tokenHash, link),
|
|
1305
|
+
revokeCapability: (link) => surface.host.revokeBecomeCapability(body.tenantId, body.scopeId, link, body.caller),
|
|
1269
1306
|
rollback: (principal) => surface.host.revokeScopeRole(body.scopeId, principal, body.roleKey),
|
|
1270
1307
|
}, { roleKey: body.roleKey, email: body.email, origin: body.origin });
|
|
1271
1308
|
if (!minted.ok)
|
|
@@ -1321,8 +1358,17 @@ export function mountPlatformSurface(app, deps) {
|
|
|
1321
1358
|
}
|
|
1322
1359
|
const taken = await surface.host.revokeScopeRolesBounded(body.tenantId, body.scopeId, body.caller, body.principal);
|
|
1323
1360
|
assertCovered(taken.coverage, body.principal, 'remove the member');
|
|
1324
|
-
if (invite)
|
|
1361
|
+
if (invite) {
|
|
1362
|
+
// The link first, named by the row, then the row (#1686) — vertical-auth's
|
|
1363
|
+
// `withdrawMemberInvite` order: a failed revoke leaves the row for the retry to find.
|
|
1364
|
+
const link = await surface.directory.inviteLink(body.scopeId, body.principal);
|
|
1365
|
+
if (link) {
|
|
1366
|
+
const revoke = await surface.host.revokeBecomeCapability(body.tenantId, body.scopeId, capabilityId.parse(link), body.caller);
|
|
1367
|
+
if (!revoke.ok)
|
|
1368
|
+
assertCovered(revoke.coverage, body.principal, 'withdraw the link of');
|
|
1369
|
+
}
|
|
1325
1370
|
await surface.directory.revokeInvite(body.scopeId, body.principal);
|
|
1371
|
+
}
|
|
1326
1372
|
const unbound = await surface.directory.unbindPrincipal(body.scopeId, body.principal);
|
|
1327
1373
|
const [bindings, open] = await Promise.all([
|
|
1328
1374
|
surface.directory.listMemberBindings(body.scopeId),
|
|
@@ -1387,12 +1433,18 @@ export * from './capability-exchange.js';
|
|
|
1387
1433
|
export * from './peer-client.js';
|
|
1388
1434
|
// #1859: the live-read route — the Origin gate and the pure host's 501, once.
|
|
1389
1435
|
export * from './live.js';
|
|
1390
|
-
// #1978:
|
|
1391
|
-
// platform-call check
|
|
1436
|
+
// #1978: the request log and the router assertion every deployed vertical mounts, moved
|
|
1437
|
+
// here from the kernel. The platform-call check is contracts' (`./wire-auth`, #1998),
|
|
1438
|
+
// re-exported here for the verticals that check it, beside the kick flags they raise.
|
|
1392
1439
|
export * from './invocation-log.js';
|
|
1393
1440
|
export * from './routed-node.js';
|
|
1394
1441
|
export * from './rate-limit.js';
|
|
1395
|
-
export
|
|
1396
|
-
export * from './
|
|
1442
|
+
export { assertPlatformCall, PlatformCallError } from '@substrat-run/contracts/wire-auth';
|
|
1443
|
+
export * from './kick-flags.js';
|
|
1444
|
+
// Not `registeredScopeSweepHost`: the read half is the platform's, bundled straight from the file
|
|
1445
|
+
// into its own sweeper module (`tools/platform-entry-emit.mts`). Exported from here, a vertical
|
|
1446
|
+
// that only READ the slot would carry the registry key the control plane takes as proof of a
|
|
1447
|
+
// registration, and be supplied a sweeper with no host to run (#1646).
|
|
1448
|
+
export { SCOPE_SWEEP_HOST_KEY, PLATFORM_SWEEPER_VAR, registerScopeSweepHost, platformSweeperOf, } from './scope-sweep-host.js';
|
|
1397
1449
|
export { classifyError, isPlatformFault, messageOf, problemFor, problemOf, problemResponse, } from './errors.js';
|
|
1398
1450
|
//# sourceMappingURL=index.js.map
|