@cotal-ai/core 0.79.0 → 0.82.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/channels.d.ts +9 -3
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +33 -15
- package/dist/channels.js.map +1 -1
- package/dist/connector.d.ts +7 -4
- package/dist/connector.d.ts.map +1 -1
- package/dist/connector.js.map +1 -1
- package/dist/delegated-recovery.d.ts +220 -0
- package/dist/delegated-recovery.d.ts.map +1 -0
- package/dist/delegated-recovery.js +277 -0
- package/dist/delegated-recovery.js.map +1 -0
- package/dist/endpoint-binding.d.ts +6 -0
- package/dist/endpoint-binding.d.ts.map +1 -1
- package/dist/endpoint-binding.js +14 -9
- package/dist/endpoint-binding.js.map +1 -1
- package/dist/endpoint-serve-kv.d.ts +2 -1
- package/dist/endpoint-serve-kv.d.ts.map +1 -1
- package/dist/endpoint-serve-kv.js +2 -1
- package/dist/endpoint-serve-kv.js.map +1 -1
- package/dist/endpoint-service.d.ts +2 -0
- package/dist/endpoint-service.d.ts.map +1 -1
- package/dist/endpoint-service.js.map +1 -1
- package/dist/endpoint.d.ts +4 -2
- package/dist/endpoint.d.ts.map +1 -1
- package/dist/endpoint.js +23 -8
- package/dist/endpoint.js.map +1 -1
- package/dist/environment-manager-grants.d.ts +19 -0
- package/dist/environment-manager-grants.d.ts.map +1 -0
- package/dist/environment-manager-grants.js +68 -0
- package/dist/environment-manager-grants.js.map +1 -0
- 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/issued-authority.d.ts +2 -0
- package/dist/issued-authority.d.ts.map +1 -1
- package/dist/issued-authority.js +1 -1
- package/dist/issued-authority.js.map +1 -1
- package/dist/lifecycle-state.d.ts +3 -0
- package/dist/lifecycle-state.d.ts.map +1 -1
- package/dist/lifecycle-state.js +3 -1
- package/dist/lifecycle-state.js.map +1 -1
- package/dist/provision.d.ts +5 -1
- package/dist/provision.d.ts.map +1 -1
- package/dist/provision.js +32 -3
- package/dist/provision.js.map +1 -1
- package/dist/run-admission.d.ts.map +1 -1
- package/dist/run-admission.js +2 -2
- package/dist/run-admission.js.map +1 -1
- package/dist/runtime.d.ts +22 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js.map +1 -1
- package/dist/schema-profile.d.ts.map +1 -1
- package/dist/schema-profile.js +2 -0
- package/dist/schema-profile.js.map +1 -1
- package/dist/startup-confirm.d.ts +25 -13
- package/dist/startup-confirm.d.ts.map +1 -1
- package/dist/startup-confirm.js +69 -17
- package/dist/startup-confirm.js.map +1 -1
- package/package.json +6 -3
package/dist/channels.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* endpoint). Because description/instructions reach the model, both text fields are bounded
|
|
8
8
|
* here and oversize is **rejected at the write path** — never silently truncated.
|
|
9
9
|
*/
|
|
10
|
-
import { type KV } from "@nats-io/kv";
|
|
10
|
+
import { type KV, type KvEntry } from "@nats-io/kv";
|
|
11
11
|
import { type NatsConnection } from "@nats-io/transport-node";
|
|
12
12
|
import type { ChannelConfig, ChannelDefaults, DeliveryClass } from "./types.js";
|
|
13
13
|
/** The declarative channel-config file read at `cotal up` to seed the registry. */
|
|
@@ -20,13 +20,19 @@ export interface ChannelRegistryFile {
|
|
|
20
20
|
* context and bloat the KV, so a write past these throws rather than clamps. */
|
|
21
21
|
export declare const MAX_CHANNEL_DESCRIPTION = 200;
|
|
22
22
|
export declare const MAX_CHANNEL_INSTRUCTIONS = 2000;
|
|
23
|
-
/** Throw if a config is invalid:
|
|
24
|
-
* is a
|
|
23
|
+
/** Throw if a config is invalid: an invalid policy field (see {@link validateChannelDefaults}),
|
|
24
|
+
* text that is not a string, or oversize text (rejected, never clamped — a write past the cap is
|
|
25
|
+
* a caller bug). */
|
|
25
26
|
export declare function validateChannelConfig(cfg: ChannelConfig): void;
|
|
26
27
|
/** Validate a defaults patch the same way per-channel config is — the space default feeds
|
|
27
28
|
* {@link effectiveDeliveryClass} as a co-equal input, so a bad value must fail loud here, not
|
|
28
29
|
* silently become the space-wide effective class. */
|
|
29
30
|
export declare function validateChannelDefaults(d: ChannelDefaults): void;
|
|
31
|
+
/** Decode one registry entry and hold it to the checks its writer ran: a raw or foreign put can
|
|
32
|
+
* bypass {@link writeChannelConfig}, so a value that does not parse, is not a JSON object, or
|
|
33
|
+
* fails {@link validateChannelDefaults} (the defaults key) or {@link validateChannelConfig}
|
|
34
|
+
* throws, and every reader drops it as it drops a value that does not parse. */
|
|
35
|
+
export declare function decodeChannelEntry(e: KvEntry): ChannelConfig | ChannelDefaults;
|
|
30
36
|
/** Parse a duration like `"24h"`, `"30m"`, `"7d"`, `"90s"` into milliseconds. Throws on a bad
|
|
31
37
|
* format — a typo'd window must fail loud, not silently mean "no window". */
|
|
32
38
|
export declare function parseDuration(s: string): number;
|
package/dist/channels.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAO,KAAK,EAAE,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"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"}
|
package/dist/channels.js
CHANGED
|
@@ -17,29 +17,47 @@ import { liveKvEntries } from "./kv-scan.js";
|
|
|
17
17
|
* context and bloat the KV, so a write past these throws rather than clamps. */
|
|
18
18
|
export const MAX_CHANNEL_DESCRIPTION = 200;
|
|
19
19
|
export const MAX_CHANNEL_INSTRUCTIONS = 2000;
|
|
20
|
-
/** Throw if a config is invalid:
|
|
21
|
-
* is a
|
|
20
|
+
/** Throw if a config is invalid: an invalid policy field (see {@link validateChannelDefaults}),
|
|
21
|
+
* text that is not a string, or oversize text (rejected, never clamped — a write past the cap is
|
|
22
|
+
* a caller bug). */
|
|
22
23
|
export function validateChannelConfig(cfg) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
validateChannelDefaults(cfg);
|
|
25
|
+
validateText("description", cfg.description, MAX_CHANNEL_DESCRIPTION);
|
|
26
|
+
validateText("instructions", cfg.instructions, MAX_CHANNEL_INSTRUCTIONS);
|
|
27
|
+
}
|
|
28
|
+
function validateText(field, text, max) {
|
|
29
|
+
if (text === undefined)
|
|
30
|
+
return;
|
|
31
|
+
if (typeof text !== "string")
|
|
32
|
+
throw new Error(`channel ${field} must be a string`);
|
|
33
|
+
if (text.length > max)
|
|
34
|
+
throw new Error(`channel ${field} too long (${text.length} > ${max} chars)`);
|
|
33
35
|
}
|
|
34
36
|
/** Validate a defaults patch the same way per-channel config is — the space default feeds
|
|
35
37
|
* {@link effectiveDeliveryClass} as a co-equal input, so a bad value must fail loud here, not
|
|
36
38
|
* silently become the space-wide effective class. */
|
|
37
39
|
export function validateChannelDefaults(d) {
|
|
40
|
+
if (d.replay !== undefined && typeof d.replay !== "boolean")
|
|
41
|
+
throw new Error(`invalid replay "${d.replay}" - expected true or false`);
|
|
38
42
|
if (d.replayWindow !== undefined)
|
|
39
43
|
parseDuration(d.replayWindow); // throws if unparseable
|
|
40
44
|
if (d.deliveryClass !== undefined && d.deliveryClass !== "live" && d.deliveryClass !== "durable")
|
|
41
45
|
throw new Error(`invalid deliveryClass "${d.deliveryClass}" - expected "live" or "durable"`);
|
|
42
46
|
}
|
|
47
|
+
/** Decode one registry entry and hold it to the checks its writer ran: a raw or foreign put can
|
|
48
|
+
* bypass {@link writeChannelConfig}, so a value that does not parse, is not a JSON object, or
|
|
49
|
+
* fails {@link validateChannelDefaults} (the defaults key) or {@link validateChannelConfig}
|
|
50
|
+
* throws, and every reader drops it as it drops a value that does not parse. */
|
|
51
|
+
export function decodeChannelEntry(e) {
|
|
52
|
+
const value = e.json();
|
|
53
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
54
|
+
throw new Error("not a JSON object");
|
|
55
|
+
if (e.key === CHANNEL_DEFAULTS_KEY)
|
|
56
|
+
validateChannelDefaults(value);
|
|
57
|
+
else
|
|
58
|
+
validateChannelConfig(value);
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
43
61
|
/** Parse a duration like `"24h"`, `"30m"`, `"7d"`, `"90s"` into milliseconds. Throws on a bad
|
|
44
62
|
* format — a typo'd window must fail loud, not silently mean "no window". */
|
|
45
63
|
export function parseDuration(s) {
|
|
@@ -103,7 +121,7 @@ async function decode(kv, key) {
|
|
|
103
121
|
if (!e || e.operation === "DEL" || e.operation === "PURGE")
|
|
104
122
|
return undefined;
|
|
105
123
|
try {
|
|
106
|
-
return e
|
|
124
|
+
return decodeChannelEntry(e);
|
|
107
125
|
}
|
|
108
126
|
catch {
|
|
109
127
|
return undefined;
|
|
@@ -181,14 +199,14 @@ export async function readChannelRegistry(opts) {
|
|
|
181
199
|
for (const e of await liveKvEntries(kv)) {
|
|
182
200
|
if (e.key === CHANNEL_DEFAULTS_KEY) {
|
|
183
201
|
try {
|
|
184
|
-
defaults = e
|
|
202
|
+
defaults = decodeChannelEntry(e);
|
|
185
203
|
}
|
|
186
204
|
catch { /* garbled defaults — treat as unset */ }
|
|
187
205
|
continue;
|
|
188
206
|
}
|
|
189
207
|
let cfg;
|
|
190
208
|
try {
|
|
191
|
-
cfg = e
|
|
209
|
+
cfg = decodeChannelEntry(e);
|
|
192
210
|
}
|
|
193
211
|
catch { /* skip undecodable */ }
|
|
194
212
|
// Channel tokens such as `__proto__` are valid. Define an own data property instead of
|
package/dist/channels.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"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"}
|
package/dist/connector.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Extension, ExtensionRef } from "./registry.js";
|
|
2
2
|
import type { McpServerSpec } from "./connector-config.js";
|
|
3
|
+
import type { StartupReply } from "./startup-confirm.js";
|
|
3
4
|
/** Identity + mesh coordinates the manager hands a connector to launch an agent. */
|
|
4
5
|
export interface LaunchOpts {
|
|
5
6
|
space: string;
|
|
@@ -143,10 +144,9 @@ export interface LaunchOpts {
|
|
|
143
144
|
* connector's SQLite DB + serve pidfile) pin it here so a per-agent working directory ({@link cwd})
|
|
144
145
|
* — which can point at any repo — doesn't scatter that state into the target tree. */
|
|
145
146
|
workspaceRoot?: string;
|
|
146
|
-
/** The directory a supervised seat runs in, set by the manager beside
|
|
147
|
-
* connector
|
|
148
|
-
*
|
|
149
|
-
* terminal and omits it. */
|
|
147
|
+
/** The authorized directory a supervised seat runs in, set by the manager beside runtime spawn.
|
|
148
|
+
* A connector can declare native startup choices for that directory. A foreground launch runs
|
|
149
|
+
* in the operator's terminal and omits it. */
|
|
150
150
|
cwd?: string;
|
|
151
151
|
}
|
|
152
152
|
/** A recipe for starting an agent as a mesh node — command, args, and extra env. */
|
|
@@ -160,6 +160,9 @@ export interface LaunchSpec {
|
|
|
160
160
|
* text with cursor moves, not spaces); a text with nothing left after stripping, `""` included,
|
|
161
161
|
* is refused before the seat starts. */
|
|
162
162
|
confirm?: string;
|
|
163
|
+
/** Optional native startup choices, answered in order before confirm. Only the startup watch
|
|
164
|
+
* may answer them; ordinary tool permissions remain the harness's responsibility. */
|
|
165
|
+
confirmBefore?: readonly StartupReply[];
|
|
163
166
|
/** This agent's local control endpoint — the OS path its lifecycle hooks connect to (passed in
|
|
164
167
|
* the child env as `COTAL_CONTROL_SOCKET`/`COTAL_CONTROL_TOKEN`), plus the first-frame `token`
|
|
165
168
|
* that authenticates it. The connector mints it in `buildLaunch`; the manager keeps it IN MEMORY
|
package/dist/connector.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"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"}
|
package/dist/connector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAwUA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAmG;IAEnG,IAAI,SAAS,CAAC,2BAA2B;QAAE,OAAO,OAAO,CAAC;IAC1D,IAAI,SAAS,CAAC,cAAc;QAAE,OAAO,MAAM,CAAC;IAC5C,OAAO,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,SAAsD;IACpG,IAAI,SAAS,CAAC,wBAAwB,KAAK,IAAI;QAAE,OAAO;IACxD,MAAM,IAAI,KAAK,CACb,qIAAqI,CACtI,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import type { RetainedAgentAuthority } from "./auth-provider.js";
|
|
2
|
+
import { type RemoteDelegatedUserIntentExecutionRequest, type RemoteManagerEnvelope } from "./remote-manager-authority.js";
|
|
3
|
+
export interface DelegatedRecoveryTarget {
|
|
4
|
+
owner: string;
|
|
5
|
+
actor: string;
|
|
6
|
+
lifecycleUid: string;
|
|
7
|
+
}
|
|
8
|
+
export interface DelegatedRecoveryOrigin {
|
|
9
|
+
space: string;
|
|
10
|
+
accountPublicKey: string;
|
|
11
|
+
managerInstanceId: string;
|
|
12
|
+
managerLifecycleUid: string;
|
|
13
|
+
assignmentRevision: number;
|
|
14
|
+
enrollmentRegistrationRevision: number;
|
|
15
|
+
enrollmentRegistrationDigest: string;
|
|
16
|
+
enrollmentServeEpoch: number;
|
|
17
|
+
intentId: string;
|
|
18
|
+
target: DelegatedRecoveryTarget;
|
|
19
|
+
}
|
|
20
|
+
export interface DelegatedRecoveryLaunchPlan {
|
|
21
|
+
agent: string;
|
|
22
|
+
model?: string;
|
|
23
|
+
variant?: string;
|
|
24
|
+
events: boolean;
|
|
25
|
+
sourceDigest: string;
|
|
26
|
+
}
|
|
27
|
+
export interface DelegatedRecoveryDescriptor {
|
|
28
|
+
v: 1;
|
|
29
|
+
intentId: string;
|
|
30
|
+
origin: DelegatedRecoveryOrigin;
|
|
31
|
+
target: DelegatedRecoveryTarget;
|
|
32
|
+
runtimeKind: string;
|
|
33
|
+
runtimeKey: string;
|
|
34
|
+
launchIdentity: DelegatedRecoveryLaunchPlan & {
|
|
35
|
+
role?: string;
|
|
36
|
+
spawner: string;
|
|
37
|
+
authorityParent: string;
|
|
38
|
+
};
|
|
39
|
+
authorityDigest: string;
|
|
40
|
+
localStoreBindingDigest: string;
|
|
41
|
+
localStoreIdentityDigest: string;
|
|
42
|
+
}
|
|
43
|
+
export interface DelegatedRecoveryLocalProof {
|
|
44
|
+
storeBindingDigest: string;
|
|
45
|
+
storeIdentityDigest: string;
|
|
46
|
+
actorTokenDigest: string;
|
|
47
|
+
sentinelDigest: string;
|
|
48
|
+
}
|
|
49
|
+
export interface DelegatedRecoveryScanBinding {
|
|
50
|
+
scanId: string;
|
|
51
|
+
accountPublicKey: string;
|
|
52
|
+
managerInstanceId: string;
|
|
53
|
+
managerLifecycleUid: string;
|
|
54
|
+
assignmentRevision: number;
|
|
55
|
+
currentRegistrationRevision: number;
|
|
56
|
+
currentServeEpoch: number;
|
|
57
|
+
sourceRevision: number;
|
|
58
|
+
memberCount: number;
|
|
59
|
+
membersDigest: string;
|
|
60
|
+
}
|
|
61
|
+
export declare const DELEGATED_RECOVERY_REASONS: readonly ["provider-unknown", "store-unavailable", "authority-unavailable", "identity-unverified", "descriptor-incomplete", "retiring", "authority-drift", "identity-changed", "scope-changed"];
|
|
62
|
+
export type DelegatedRecoveryReason = (typeof DELEGATED_RECOVERY_REASONS)[number];
|
|
63
|
+
export interface DelegatedRecoveryRecord {
|
|
64
|
+
intentId: string;
|
|
65
|
+
intentRevision: number;
|
|
66
|
+
recoveryRevision: number;
|
|
67
|
+
target: DelegatedRecoveryTarget;
|
|
68
|
+
phase: "incomplete" | "prepared" | "create-unknown" | "eligible" | "bound" | "retiring" | "terminal";
|
|
69
|
+
descriptor: DelegatedRecoveryDescriptor | null;
|
|
70
|
+
descriptorDigest: string | null;
|
|
71
|
+
authority: RetainedAgentAuthority | null;
|
|
72
|
+
localProof: DelegatedRecoveryLocalProof | null;
|
|
73
|
+
startedAt: string | null;
|
|
74
|
+
executionIdentityDigest: string | null;
|
|
75
|
+
reasonCode: DelegatedRecoveryReason | null;
|
|
76
|
+
}
|
|
77
|
+
interface RecoveryEnvelope extends RemoteManagerEnvelope {
|
|
78
|
+
v: 1;
|
|
79
|
+
kind: "manager-delegated-recovery";
|
|
80
|
+
actor: "cli";
|
|
81
|
+
accountPublicKey: string;
|
|
82
|
+
assignmentRevision: number;
|
|
83
|
+
currentRegistrationRevision: number;
|
|
84
|
+
serveEpoch: number;
|
|
85
|
+
}
|
|
86
|
+
type RecoveryOperation = {
|
|
87
|
+
operation: "confirm";
|
|
88
|
+
body: {
|
|
89
|
+
intentId: string;
|
|
90
|
+
target: DelegatedRecoveryTarget;
|
|
91
|
+
expectedIntentRevision: number;
|
|
92
|
+
localProof: DelegatedRecoveryLocalProof;
|
|
93
|
+
};
|
|
94
|
+
} | {
|
|
95
|
+
operation: "scan";
|
|
96
|
+
body: {
|
|
97
|
+
scanBinding?: DelegatedRecoveryScanBinding;
|
|
98
|
+
cursor?: string;
|
|
99
|
+
};
|
|
100
|
+
} | {
|
|
101
|
+
operation: "claim";
|
|
102
|
+
body: {
|
|
103
|
+
intentId: string;
|
|
104
|
+
target: DelegatedRecoveryTarget;
|
|
105
|
+
expectedRecoveryRevision: number;
|
|
106
|
+
expectedOrigin: DelegatedRecoveryOrigin;
|
|
107
|
+
attemptId: string;
|
|
108
|
+
scanBinding: DelegatedRecoveryScanBinding;
|
|
109
|
+
};
|
|
110
|
+
} | {
|
|
111
|
+
operation: "settle";
|
|
112
|
+
body: {
|
|
113
|
+
claimId: string;
|
|
114
|
+
expectedRecoveryRevision: number;
|
|
115
|
+
settleId: string;
|
|
116
|
+
} & ({
|
|
117
|
+
observation: "bound";
|
|
118
|
+
executionIdentityDigest: string;
|
|
119
|
+
} | {
|
|
120
|
+
observation: "held";
|
|
121
|
+
reasonCode: DelegatedRecoveryReason;
|
|
122
|
+
});
|
|
123
|
+
} | {
|
|
124
|
+
operation: "finish";
|
|
125
|
+
body: {
|
|
126
|
+
scanBinding: DelegatedRecoveryScanBinding;
|
|
127
|
+
finishId: string;
|
|
128
|
+
expectedScopeRevision: number;
|
|
129
|
+
};
|
|
130
|
+
} | {
|
|
131
|
+
operation: "watch";
|
|
132
|
+
body: {
|
|
133
|
+
afterRevision: number;
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
/** Contract only. A host must opt in; the existing authority dispatch does not admit this family. */
|
|
137
|
+
export type RemoteDelegatedRecoveryRequest = RecoveryEnvelope & RecoveryOperation;
|
|
138
|
+
type RecoveryResultEnvelope = Pick<RecoveryEnvelope, "v" | "kind" | "space" | "accountPublicKey" | "assignmentRevision" | "instanceId" | "managerLifecycleUid" | "currentRegistrationRevision" | "serveEpoch" | "requestId">;
|
|
139
|
+
type RecoveryResult = {
|
|
140
|
+
operation: "confirm";
|
|
141
|
+
result: {
|
|
142
|
+
intentId: string;
|
|
143
|
+
target: DelegatedRecoveryTarget;
|
|
144
|
+
intentRevision: number;
|
|
145
|
+
recoveryRevision: number;
|
|
146
|
+
prepared: true;
|
|
147
|
+
};
|
|
148
|
+
} | {
|
|
149
|
+
operation: "scan";
|
|
150
|
+
result: {
|
|
151
|
+
scanBinding: DelegatedRecoveryScanBinding;
|
|
152
|
+
records: DelegatedRecoveryRecord[];
|
|
153
|
+
nextCursor: string | null;
|
|
154
|
+
complete: boolean;
|
|
155
|
+
};
|
|
156
|
+
} | {
|
|
157
|
+
operation: "claim";
|
|
158
|
+
result: {
|
|
159
|
+
claimId: string;
|
|
160
|
+
attemptId: string;
|
|
161
|
+
record: DelegatedRecoveryRecord;
|
|
162
|
+
claimEpoch: number;
|
|
163
|
+
};
|
|
164
|
+
} | {
|
|
165
|
+
operation: "settle";
|
|
166
|
+
result: {
|
|
167
|
+
claimId: string;
|
|
168
|
+
settleId: string;
|
|
169
|
+
recoveryRevision: number;
|
|
170
|
+
observation: "bound" | "held";
|
|
171
|
+
};
|
|
172
|
+
} | {
|
|
173
|
+
operation: "finish";
|
|
174
|
+
result: {
|
|
175
|
+
finishId: string;
|
|
176
|
+
scanId: string;
|
|
177
|
+
scopeRevision: number;
|
|
178
|
+
admission: "open";
|
|
179
|
+
};
|
|
180
|
+
} | {
|
|
181
|
+
operation: "watch";
|
|
182
|
+
result: {
|
|
183
|
+
revision: number;
|
|
184
|
+
scanInvalidated: boolean;
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
export type RemoteDelegatedRecoveryResult = RecoveryResultEnvelope & (({
|
|
188
|
+
ok: true;
|
|
189
|
+
} & RecoveryResult) | {
|
|
190
|
+
ok: false;
|
|
191
|
+
operation: RecoveryOperation["operation"];
|
|
192
|
+
error: {
|
|
193
|
+
code: "bad-request" | "permission-denied" | "conflict" | "unavailable" | "failed-precondition" | "unimplemented";
|
|
194
|
+
reasonCode?: DelegatedRecoveryReason;
|
|
195
|
+
};
|
|
196
|
+
});
|
|
197
|
+
/** The separate parser keeps legacy hosts rejecting the extended launch instead of ignoring it. */
|
|
198
|
+
export type RemoteDelegatedRecoveryLaunchRequest = Omit<RemoteDelegatedUserIntentExecutionRequest, "execute"> & {
|
|
199
|
+
execute: {
|
|
200
|
+
operation: "launch";
|
|
201
|
+
target: {
|
|
202
|
+
actor: string;
|
|
203
|
+
tokenHash: string;
|
|
204
|
+
};
|
|
205
|
+
recoveryPlan: {
|
|
206
|
+
runtimeKind: string;
|
|
207
|
+
launch: DelegatedRecoveryLaunchPlan;
|
|
208
|
+
localStoreBindingDigest: string;
|
|
209
|
+
localStoreIdentityDigest: string;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
};
|
|
213
|
+
export declare function parseDelegatedRecoveryDescriptor(raw: unknown): DelegatedRecoveryDescriptor;
|
|
214
|
+
/** Parse structure and scope bindings; fresh host authority and durable CAS remain separate checks. */
|
|
215
|
+
export declare function parseRemoteDelegatedRecoveryRequest(raw: unknown): RemoteDelegatedRecoveryRequest;
|
|
216
|
+
export declare function parseRemoteDelegatedRecoveryLaunchRequest(raw: unknown): RemoteDelegatedRecoveryLaunchRequest;
|
|
217
|
+
/** Bind every response to its request before a caller may act on any returned record. */
|
|
218
|
+
export declare function parseRemoteDelegatedRecoveryResult(raw: unknown, request: RemoteDelegatedRecoveryRequest): RemoteDelegatedRecoveryResult;
|
|
219
|
+
export {};
|
|
220
|
+
//# sourceMappingURL=delegated-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegated-recovery.d.ts","sourceRoot":"","sources":["../src/delegated-recovery.ts"],"names":[],"mappings":"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"}
|