@tenuo/core 0.2.4-beta.0 → 0.2.5-beta.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/README.md +32 -0
- package/dist/api.d.ts +387 -13
- package/dist/api.d.ts.map +1 -1
- package/dist/client.d.ts +52 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +683 -57
- package/dist/client.js.map +1 -1
- package/dist/constraints.d.ts +51 -2
- package/dist/constraints.d.ts.map +1 -1
- package/dist/constraints.js +146 -2
- package/dist/constraints.js.map +1 -1
- package/dist/errors.d.ts +8 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +10 -1
- package/dist/errors.js.map +1 -1
- package/dist/generated/tenuo_wasm.d.ts +105 -3
- package/dist/generated/tenuo_wasm.js +333 -5
- package/dist/generated/tenuo_wasm_bg.wasm +0 -0
- package/dist/generated/tenuo_wasm_bg.wasm.d.ts +37 -22
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +18 -2
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +62 -45
- package/dist/mcp.js.map +1 -1
- package/dist/nonce.d.ts +6 -0
- package/dist/nonce.d.ts.map +1 -1
- package/dist/nonce.js +12 -1
- package/dist/nonce.js.map +1 -1
- package/dist/session.d.ts +2 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +42 -0
- package/dist/session.js.map +1 -1
- package/dist/wasm.d.ts +160 -2
- package/dist/wasm.d.ts.map +1 -1
- package/dist/wasm.js +11 -0
- package/dist/wasm.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -50,6 +50,36 @@ const session = tenuo.sessionFromWire({
|
|
|
50
50
|
});
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
Delegation to another agent rebinds a narrower child to that agent's key. The
|
|
54
|
+
current holder signs; core refuses any child that is not within its parent
|
|
55
|
+
before a token exists; a copied chain fails `TENUO_INVALID_POP` under any other
|
|
56
|
+
key:
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
const holderKey = createTenuo.generateHolderKey(); // in the worker, once
|
|
60
|
+
const workerPublicKey = createTenuo.publicKeyFromHolderKey(holderKey);
|
|
61
|
+
|
|
62
|
+
const handed = tenuo.narrow(session, { path: under("/data/reports") }, {
|
|
63
|
+
holder: workerPublicKey,
|
|
64
|
+
ttlSeconds: 300,
|
|
65
|
+
terminal: true, // the worker cannot hand it on
|
|
66
|
+
});
|
|
67
|
+
// worker: tenuo.sessionFromWire({ warrant: handed.toWire(), holderKey })
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`session({ holder, maxDepth })` issues straight to an agent's key and caps how
|
|
71
|
+
far the chain may go; `issuerPublicKey()` is what agents put in `trustedRoots`;
|
|
72
|
+
`session.inspect()` shows depth, ceiling, tools, and holder public key.
|
|
73
|
+
|
|
74
|
+
The rest of the protocol is here too: a stable issuer key
|
|
75
|
+
(`createTenuo({ root: createTenuo.issuerKeyFromEnv("TENUO_ISSUER_SECRET") })`),
|
|
76
|
+
issuer sessions and `tenuo.issue()`, clearance / session id / agent id, the
|
|
77
|
+
full constraint set (`range`, `regex`, `cidr`, `urlSafe`, `shlex`, `anyOf`,
|
|
78
|
+
`cel`, ...), approval gates with `ApprovalRequiredError.request`,
|
|
79
|
+
`createTenuo.signApproval()` and the control-plane v1 wire shape, revocation
|
|
80
|
+
lists (`tenuo.revocationList()`), public receipt verification, `tenuo.explain()`,
|
|
81
|
+
and `tenuo.present()` / `tenuo.verify()` for boundaries that are not MCP.
|
|
82
|
+
|
|
53
83
|
MCP wire helpers live on `tenuo.mcp` (`attach` / `verify` / `handler`). They do
|
|
54
84
|
not depend on an MCP framework. For the official v2 server, use `@tenuo/mcp`.
|
|
55
85
|
For `@modelcontextprotocol/sdk` v1, copy the recipe in `examples/mcp/host.ts`.
|
|
@@ -57,6 +87,8 @@ For `@modelcontextprotocol/sdk` v1, copy the recipe in `examples/mcp/host.ts`.
|
|
|
57
87
|
or an async Redis `checkAndRecord`) to reject an exact replayed PoP; that is
|
|
58
88
|
opt-in. PoP v1 is otherwise replayable in-window, including approval-gated
|
|
59
89
|
calls. Pass `nonceStore` on those tools if an approval must be one-use.
|
|
90
|
+
`memoryNonceStore({ ttlSeconds })` defaults to 180 seconds; an explicit TTL must
|
|
91
|
+
be positive, finite, and small enough to represent in milliseconds.
|
|
60
92
|
|
|
61
93
|
See the [workspace README](../../README.md) for the full API, refuse list, and
|
|
62
94
|
how to rebuild WASM from this monorepo.
|
package/dist/api.d.ts
CHANGED
|
@@ -4,11 +4,15 @@
|
|
|
4
4
|
* Names and shapes here are the review surface — do not grow this file with
|
|
5
5
|
* protocol vocabulary (`Warrant`, `mint`, `guard`) as the lead API.
|
|
6
6
|
*/
|
|
7
|
-
export type TenuoErrorCode = "TENUO_NOT_READY" | "TENUO_CONFIGURATION" | "TENUO_CONSTRAINT_VIOLATION" | "TENUO_TOOL_NOT_AUTHORIZED" | "TENUO_WARRANT_EXPIRED" | "TENUO_UNTRUSTED_ROOT" | "TENUO_INVALID_POP" | "TENUO_SIGNATURE_INVALID" | "TENUO_CHAIN_INVALID" | "TENUO_REVOKED" | "TENUO_APPROVAL_REQUIRED" | "TENUO_INSUFFICIENT_APPROVALS" | "TENUO_CANONICALIZATION" | "TENUO_NOT_IMPLEMENTED";
|
|
7
|
+
export type TenuoErrorCode = "TENUO_NOT_READY" | "TENUO_CONFIGURATION" | "TENUO_CONSTRAINT_VIOLATION" | "TENUO_TOOL_NOT_AUTHORIZED" | "TENUO_WARRANT_EXPIRED" | "TENUO_UNTRUSTED_ROOT" | "TENUO_INVALID_POP" | "TENUO_SIGNATURE_INVALID" | "TENUO_CHAIN_INVALID" | "TENUO_DEPTH_EXCEEDED" | "TENUO_REVOKED" | "TENUO_APPROVAL_REQUIRED" | "TENUO_INSUFFICIENT_APPROVALS" | "TENUO_CANONICALIZATION" | "TENUO_NOT_IMPLEMENTED";
|
|
8
8
|
/** Path-traversal-safe prefix. Core evaluates this; TypeScript does not. */
|
|
9
9
|
export type UnderConstraint = {
|
|
10
10
|
readonly kind: "under";
|
|
11
11
|
readonly root: string;
|
|
12
|
+
/** Default true. */
|
|
13
|
+
readonly caseSensitive?: boolean;
|
|
14
|
+
/** Whether the root itself is allowed. Default true. */
|
|
15
|
+
readonly allowEqual?: boolean;
|
|
12
16
|
};
|
|
13
17
|
export type EmailConstraint = {
|
|
14
18
|
readonly kind: "email";
|
|
@@ -18,19 +22,83 @@ export type MaxConstraint = {
|
|
|
18
22
|
readonly kind: "max";
|
|
19
23
|
readonly value: number;
|
|
20
24
|
};
|
|
25
|
+
export type MinConstraint = {
|
|
26
|
+
readonly kind: "min";
|
|
27
|
+
readonly value: number;
|
|
28
|
+
};
|
|
29
|
+
export type RangeConstraint = {
|
|
30
|
+
readonly kind: "range";
|
|
31
|
+
readonly min?: number;
|
|
32
|
+
readonly max?: number;
|
|
33
|
+
readonly minExclusive?: boolean;
|
|
34
|
+
readonly maxExclusive?: boolean;
|
|
35
|
+
};
|
|
21
36
|
export type OneOfConstraint = {
|
|
22
37
|
readonly kind: "oneOf";
|
|
23
38
|
readonly values: readonly string[];
|
|
24
39
|
};
|
|
40
|
+
export type NotOneOfConstraint = {
|
|
41
|
+
readonly kind: "notOneOf";
|
|
42
|
+
readonly values: readonly string[];
|
|
43
|
+
};
|
|
25
44
|
export type PatternConstraint = {
|
|
26
45
|
readonly kind: "pattern";
|
|
27
46
|
readonly pattern: string;
|
|
28
47
|
};
|
|
48
|
+
export type RegexConstraint = {
|
|
49
|
+
readonly kind: "regex";
|
|
50
|
+
readonly source: string;
|
|
51
|
+
};
|
|
29
52
|
export type ExactConstraint = {
|
|
30
53
|
readonly kind: "exact";
|
|
31
54
|
readonly value: string | number | boolean;
|
|
32
55
|
};
|
|
33
|
-
export type
|
|
56
|
+
export type WildcardConstraint = {
|
|
57
|
+
readonly kind: "wildcard";
|
|
58
|
+
};
|
|
59
|
+
export type CidrConstraint = {
|
|
60
|
+
readonly kind: "cidr";
|
|
61
|
+
readonly network: string;
|
|
62
|
+
};
|
|
63
|
+
export type UrlPatternConstraint = {
|
|
64
|
+
readonly kind: "urlPattern";
|
|
65
|
+
readonly pattern: string;
|
|
66
|
+
};
|
|
67
|
+
export type UrlSafeConstraint = {
|
|
68
|
+
readonly kind: "urlSafe";
|
|
69
|
+
readonly schemes?: readonly string[];
|
|
70
|
+
readonly allowDomains?: readonly string[];
|
|
71
|
+
readonly denyDomains?: readonly string[];
|
|
72
|
+
};
|
|
73
|
+
export type ShlexConstraint = {
|
|
74
|
+
readonly kind: "shlex";
|
|
75
|
+
readonly allow: readonly string[];
|
|
76
|
+
};
|
|
77
|
+
export type ContainsConstraint = {
|
|
78
|
+
readonly kind: "contains";
|
|
79
|
+
readonly values: readonly (string | number | boolean)[];
|
|
80
|
+
};
|
|
81
|
+
export type SubsetConstraint = {
|
|
82
|
+
readonly kind: "subset";
|
|
83
|
+
readonly values: readonly (string | number | boolean)[];
|
|
84
|
+
};
|
|
85
|
+
export type AnyOfConstraint = {
|
|
86
|
+
readonly kind: "anyOf";
|
|
87
|
+
readonly constraints: readonly ConstraintExpr[];
|
|
88
|
+
};
|
|
89
|
+
export type AllConstraint = {
|
|
90
|
+
readonly kind: "all";
|
|
91
|
+
readonly constraints: readonly ConstraintExpr[];
|
|
92
|
+
};
|
|
93
|
+
export type NotConstraint = {
|
|
94
|
+
readonly kind: "not";
|
|
95
|
+
readonly constraint: ConstraintExpr;
|
|
96
|
+
};
|
|
97
|
+
export type CelConstraint = {
|
|
98
|
+
readonly kind: "cel";
|
|
99
|
+
readonly expression: string;
|
|
100
|
+
};
|
|
101
|
+
export type ConstraintExpr = UnderConstraint | EmailConstraint | MaxConstraint | MinConstraint | RangeConstraint | OneOfConstraint | NotOneOfConstraint | PatternConstraint | RegexConstraint | ExactConstraint | WildcardConstraint | CidrConstraint | UrlPatternConstraint | UrlSafeConstraint | ShlexConstraint | ContainsConstraint | SubsetConstraint | AnyOfConstraint | AllConstraint | NotConstraint | CelConstraint;
|
|
34
102
|
/** Per-argument allow policy. Not a Zod schema. */
|
|
35
103
|
export type AllowPolicy = {
|
|
36
104
|
readonly [field: string]: ConstraintExpr;
|
|
@@ -83,22 +151,246 @@ export type ProtectedTool<T extends {
|
|
|
83
151
|
execute: (args: Parameters<T["execute"]>[0], options?: ExecuteOptions & ExtraExecuteOptions<T>) => Promise<Awaited<ReturnType<T["execute"]>>>;
|
|
84
152
|
readonly [protectedBrand]: true;
|
|
85
153
|
};
|
|
86
|
-
/**
|
|
154
|
+
/** Per-argument trigger for an approval gate. */
|
|
155
|
+
export type ArgApprovalGate =
|
|
156
|
+
/** Every value of this argument fires the gate. */
|
|
157
|
+
"all"
|
|
158
|
+
/** Only values satisfying the constraint fire the gate. */
|
|
159
|
+
| {
|
|
160
|
+
readonly when: ConstraintExpr;
|
|
161
|
+
}
|
|
162
|
+
/** Every value except those satisfying the constraint fires the gate. Narrowable across delegation. */
|
|
163
|
+
| {
|
|
164
|
+
readonly exempt: ConstraintExpr;
|
|
165
|
+
};
|
|
166
|
+
/** Gate on one tool: a message for the approver and optional per-argument triggers. */
|
|
167
|
+
export type ToolApprovalGate = {
|
|
168
|
+
readonly message?: string;
|
|
169
|
+
/** Absent: the whole tool is gated. */
|
|
170
|
+
readonly args?: {
|
|
171
|
+
readonly [field: string]: ArgApprovalGate;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
/** Approval requirement. Host collects SignedApproval envelopes; Rust decides. */
|
|
87
175
|
export type RequireApproval = {
|
|
88
176
|
readonly approvers: readonly PublicKeyHandle[];
|
|
89
177
|
readonly min: number;
|
|
178
|
+
/** Whole-tool gates. Defaults to every tool in the session when `gates` is absent too. */
|
|
90
179
|
readonly tools?: readonly string[];
|
|
180
|
+
/** Per-tool gates with messages and per-argument triggers. */
|
|
181
|
+
readonly gates?: {
|
|
182
|
+
readonly [tool: string]: ToolApprovalGate;
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
/** What an approval service needs to present a call to a human. Not a signed artifact. */
|
|
186
|
+
export type ApprovalRequest = {
|
|
187
|
+
readonly requestId: string;
|
|
188
|
+
readonly warrantId: string;
|
|
189
|
+
readonly tool: string;
|
|
190
|
+
readonly args: Readonly<Record<string, unknown>>;
|
|
191
|
+
/** Hex SHA-256 committing to warrant id, tool, canonical args, and holder. */
|
|
192
|
+
readonly requestHash: string;
|
|
193
|
+
readonly holderPublicKey: string;
|
|
194
|
+
readonly requiredApprovers: readonly string[];
|
|
195
|
+
readonly minApprovals: number;
|
|
196
|
+
/** Unix seconds. An approval cannot outlive the warrant. */
|
|
197
|
+
readonly warrantExpiresAt: number;
|
|
198
|
+
readonly createdAt: number;
|
|
199
|
+
readonly message: string;
|
|
200
|
+
};
|
|
201
|
+
/** Holder-signed statement that it is the one asking. Carried in a control-plane request. */
|
|
202
|
+
export type ApprovalContextAttestation = {
|
|
203
|
+
readonly version: number;
|
|
204
|
+
readonly canonicalization: string;
|
|
205
|
+
readonly warrantId: string;
|
|
206
|
+
readonly tool: string;
|
|
207
|
+
readonly requestHash: string;
|
|
208
|
+
readonly holderKeyHex: string;
|
|
209
|
+
readonly argsCanonicalCborB64: string;
|
|
210
|
+
readonly signerKeyHex: string;
|
|
211
|
+
readonly signatureB64: string;
|
|
212
|
+
};
|
|
213
|
+
/** Wire body for a control-plane approval API. Field names are the wire names. */
|
|
214
|
+
export type ControlPlaneApprovalRequestV1 = {
|
|
215
|
+
readonly schema_version: 1;
|
|
216
|
+
readonly request_id_hex: string;
|
|
217
|
+
readonly warrant_id: string;
|
|
218
|
+
readonly tool: string;
|
|
219
|
+
readonly arguments: Readonly<Record<string, unknown>>;
|
|
220
|
+
readonly request_hash_hex: string;
|
|
221
|
+
readonly holder_public_key_hex: string;
|
|
222
|
+
readonly required_approver_keys_hex: readonly string[];
|
|
223
|
+
readonly min_approvals: number;
|
|
224
|
+
readonly warrant_expires_at_unix: number;
|
|
225
|
+
readonly created_at_unix: number;
|
|
226
|
+
readonly attestation?: Readonly<Record<string, unknown>>;
|
|
227
|
+
readonly temporal?: Readonly<Record<string, string>>;
|
|
228
|
+
readonly message?: string;
|
|
229
|
+
};
|
|
230
|
+
export type ControlPlaneApprovalResponseV1 = {
|
|
231
|
+
readonly status: string;
|
|
232
|
+
readonly signed_approvals_b64?: readonly string[];
|
|
233
|
+
readonly error?: string;
|
|
234
|
+
readonly server_request_id?: string;
|
|
235
|
+
};
|
|
236
|
+
export type SignApprovalOptions = {
|
|
237
|
+
/** Who approved, in the approver system's own terms. Required. */
|
|
238
|
+
readonly externalId: string;
|
|
239
|
+
/** Approval lifetime. Default one hour, always clamped to the warrant's expiry when given. */
|
|
240
|
+
readonly ttlSeconds?: number;
|
|
241
|
+
readonly warrantExpiresAt?: number;
|
|
242
|
+
};
|
|
243
|
+
/** Decoded approval envelope. Not authorization. */
|
|
244
|
+
export type ApprovalInfo = {
|
|
245
|
+
readonly approverPublicKey: string;
|
|
246
|
+
readonly requestHash: string;
|
|
247
|
+
readonly externalId: string;
|
|
248
|
+
readonly approvedAt: number;
|
|
249
|
+
readonly expiresAt: number;
|
|
250
|
+
readonly expired: boolean;
|
|
251
|
+
readonly signatureValid: boolean;
|
|
252
|
+
readonly error?: string;
|
|
91
253
|
};
|
|
92
254
|
export type SessionAllow = {
|
|
93
255
|
readonly [capability: string]: AllowPolicy;
|
|
94
256
|
};
|
|
257
|
+
/** Named level or a number 0-255. Delegation can only lower it. */
|
|
258
|
+
export type Clearance = number | "untrusted" | "external" | "partner" | "internal" | "privileged" | "system";
|
|
95
259
|
export type SessionInput = {
|
|
96
|
-
/** Capability map. Optional when `tools` is set. */
|
|
260
|
+
/** Capability map. Optional when `tools` is set. Issuer sessions may omit it. */
|
|
97
261
|
readonly allow?: SessionAllow;
|
|
98
262
|
/** Wrapped tools from `tenuo.tool()`. Their `allow` is minted into the session. */
|
|
99
263
|
readonly tools?: readonly object[];
|
|
100
264
|
readonly ttlSeconds?: number;
|
|
101
265
|
readonly requireApproval?: RequireApproval;
|
|
266
|
+
/**
|
|
267
|
+
* Issue to another agent's key instead of a fresh local holder. The
|
|
268
|
+
* returned session cannot authorize here (it has no holder secret); send
|
|
269
|
+
* `toWire()` to that agent, which imports it with `sessionFromWire()`.
|
|
270
|
+
*/
|
|
271
|
+
readonly holder?: PublicKeyHandle;
|
|
272
|
+
/**
|
|
273
|
+
* How many times this authority may be delegated below the root.
|
|
274
|
+
* `0` makes the session terminal. Omit for the protocol maximum.
|
|
275
|
+
* Delegation can lower this ceiling and never raise it.
|
|
276
|
+
*/
|
|
277
|
+
readonly maxDepth?: number;
|
|
278
|
+
/**
|
|
279
|
+
* `"execution"` (default) can call tools. `"issuer"` cannot call tools; its
|
|
280
|
+
* holder can mint execution sessions with `tenuo.issue()` for the tools in
|
|
281
|
+
* `issuableTools`, within `constraintBounds`, without the root key.
|
|
282
|
+
*/
|
|
283
|
+
readonly kind?: "execution" | "issuer";
|
|
284
|
+
readonly clearance?: Clearance;
|
|
285
|
+
/** Free-form task correlation id. Inherited unchanged through delegation. */
|
|
286
|
+
readonly sessionId?: string;
|
|
287
|
+
/** Free-form agent label. Delegation may change it. */
|
|
288
|
+
readonly agentId?: string;
|
|
289
|
+
/** Issuer sessions only. */
|
|
290
|
+
readonly issuableTools?: readonly string[];
|
|
291
|
+
/** Issuer sessions only: ceiling on the constraints of anything issued, by field. */
|
|
292
|
+
readonly constraintBounds?: AllowPolicy;
|
|
293
|
+
/** Issuer sessions only: how deep issued sessions may themselves delegate. */
|
|
294
|
+
readonly maxIssueDepth?: number;
|
|
295
|
+
};
|
|
296
|
+
/** Options for `tenuo.narrow()`. All optional; the default keeps the holder. */
|
|
297
|
+
export type NarrowOptions = {
|
|
298
|
+
/**
|
|
299
|
+
* Bind the child to another agent's key. This is delegation: the current
|
|
300
|
+
* holder signs, the child belongs to `holder`, and the returned session
|
|
301
|
+
* cannot authorize here. Hand `toWire()` to that agent.
|
|
302
|
+
*/
|
|
303
|
+
readonly holder?: PublicKeyHandle;
|
|
304
|
+
/** Child lifetime. Clamped to what the parent has left. */
|
|
305
|
+
readonly ttlSeconds?: number;
|
|
306
|
+
/** The child's holder cannot delegate further. */
|
|
307
|
+
readonly terminal?: boolean;
|
|
308
|
+
/** Lower the delegation ceiling. Cannot exceed the parent's. */
|
|
309
|
+
readonly maxDepth?: number;
|
|
310
|
+
/** Lower the clearance. Cannot exceed the parent's. */
|
|
311
|
+
readonly clearance?: Clearance;
|
|
312
|
+
readonly agentId?: string;
|
|
313
|
+
/** Approvers can only be added. */
|
|
314
|
+
readonly addApprovers?: readonly PublicKeyHandle[];
|
|
315
|
+
/** The threshold can only go up. */
|
|
316
|
+
readonly minApprovals?: number;
|
|
317
|
+
};
|
|
318
|
+
/** Options for `tenuo.issue()`: an execution session minted from an issuer session. */
|
|
319
|
+
export type IssueInput = {
|
|
320
|
+
readonly allow: SessionAllow;
|
|
321
|
+
/** The distinct agent that will use it. Issuer/holder separation is enforced. */
|
|
322
|
+
readonly holder: PublicKeyHandle;
|
|
323
|
+
readonly ttlSeconds?: number;
|
|
324
|
+
readonly maxDepth?: number;
|
|
325
|
+
readonly clearance?: Clearance;
|
|
326
|
+
readonly sessionId?: string;
|
|
327
|
+
readonly agentId?: string;
|
|
328
|
+
/** Approval policy for the issued execution session. Defaults to gating every issued tool. */
|
|
329
|
+
readonly requireApproval?: RequireApproval;
|
|
330
|
+
};
|
|
331
|
+
/** Public view of a session's leaf. Never includes the holder secret. */
|
|
332
|
+
export type SessionInfo = {
|
|
333
|
+
readonly kind: "execution" | "issuer";
|
|
334
|
+
/** Hex public key the leaf is bound to. */
|
|
335
|
+
readonly holderPublicKey: string;
|
|
336
|
+
/** Hex public key that signed the root of the chain. */
|
|
337
|
+
readonly rootPublicKey: string;
|
|
338
|
+
/** 0 for a root session, +1 per delegation. */
|
|
339
|
+
readonly depth: number;
|
|
340
|
+
/** Delegation ceiling in force for this leaf. */
|
|
341
|
+
readonly maxDepth: number;
|
|
342
|
+
/** True when `depth >= maxDepth`: cannot be narrowed further. */
|
|
343
|
+
readonly terminal: boolean;
|
|
344
|
+
/** Unix seconds. */
|
|
345
|
+
readonly expiresAt: number;
|
|
346
|
+
readonly tools: readonly string[];
|
|
347
|
+
/** Warrant ids, root first. */
|
|
348
|
+
readonly warrantIds: readonly string[];
|
|
349
|
+
/**
|
|
350
|
+
* True when this process holds the leaf's holder secret. False for a
|
|
351
|
+
* session issued or delegated to another agent: `toWire()` works,
|
|
352
|
+
* `execute` and `narrow` do not.
|
|
353
|
+
*/
|
|
354
|
+
readonly canAuthorize: boolean;
|
|
355
|
+
readonly clearance?: number;
|
|
356
|
+
readonly sessionId?: string;
|
|
357
|
+
readonly agentId?: string;
|
|
358
|
+
readonly issuableTools?: readonly string[];
|
|
359
|
+
readonly maxIssueDepth?: number;
|
|
360
|
+
readonly requiredApprovers?: readonly string[];
|
|
361
|
+
readonly minApprovals?: number;
|
|
362
|
+
readonly approvalGatedTools: readonly string[];
|
|
363
|
+
};
|
|
364
|
+
/** One constrained argument in an `explain()` result. */
|
|
365
|
+
export type ExplainedField = {
|
|
366
|
+
readonly field: string;
|
|
367
|
+
/** Core constraint type name, e.g. `"Subpath"`, `"Range"`. */
|
|
368
|
+
readonly kind: string;
|
|
369
|
+
/** The constraint as core serializes it. */
|
|
370
|
+
readonly constraint: unknown;
|
|
371
|
+
/** Absent when the argument was not supplied. */
|
|
372
|
+
readonly value?: unknown;
|
|
373
|
+
readonly satisfied: boolean;
|
|
374
|
+
readonly reason?: string;
|
|
375
|
+
};
|
|
376
|
+
/** What a session would decide for `tool(args)`, field by field. No proof-of-possession involved. */
|
|
377
|
+
export type Explanation = {
|
|
378
|
+
readonly tool: string;
|
|
379
|
+
readonly kind: "execution" | "issuer";
|
|
380
|
+
readonly outcome: "allow" | "deny";
|
|
381
|
+
readonly code?: TenuoErrorCode;
|
|
382
|
+
readonly field?: string;
|
|
383
|
+
readonly message?: string;
|
|
384
|
+
readonly toolGranted: boolean;
|
|
385
|
+
readonly fields: readonly ExplainedField[];
|
|
386
|
+
/** Arguments the session does not name. Zero-trust policies reject these. */
|
|
387
|
+
readonly unknownFields: readonly string[];
|
|
388
|
+
/** Constrained arguments the call did not supply. */
|
|
389
|
+
readonly missingFields: readonly string[];
|
|
390
|
+
readonly expired: boolean;
|
|
391
|
+
readonly expiresAt: number;
|
|
392
|
+
readonly chainValid: boolean;
|
|
393
|
+
readonly chainError?: TenuoErrorCode;
|
|
102
394
|
};
|
|
103
395
|
export type DevRoot = {
|
|
104
396
|
readonly kind: "dev-root";
|
|
@@ -108,6 +400,11 @@ export type DevRoot = {
|
|
|
108
400
|
*/
|
|
109
401
|
readonly allowInProduction?: boolean;
|
|
110
402
|
};
|
|
403
|
+
/** A stable issuer secret: this process is a control plane. */
|
|
404
|
+
export type IssuerKey = {
|
|
405
|
+
readonly kind: "issuer-key";
|
|
406
|
+
readonly secret: Uint8Array;
|
|
407
|
+
};
|
|
111
408
|
export type PublicKeyHandle = {
|
|
112
409
|
readonly kind: "public-key";
|
|
113
410
|
readonly source: "env" | "hex" | "bytes";
|
|
@@ -125,11 +422,16 @@ export type SessionFromWireInput = {
|
|
|
125
422
|
export type NarrowInput = AllowPolicy | SessionAllow;
|
|
126
423
|
export type CreateTenuoOptions = {
|
|
127
424
|
readonly trustedRoots?: readonly PublicKeyHandle[];
|
|
128
|
-
|
|
425
|
+
/**
|
|
426
|
+
* `devRoot()` for development; an `issuerKey*` for a control plane that
|
|
427
|
+
* mints with a stable key; a public key for a verifier. An issuer key
|
|
428
|
+
* trusts itself plus `trustedRoots`.
|
|
429
|
+
*/
|
|
430
|
+
readonly root?: DevRoot | IssuerKey | PublicKeyHandle;
|
|
129
431
|
/** Published SignedRevocationList (hex or standard base64). Verified against a trusted root. */
|
|
130
432
|
readonly revocationList?: string | Uint8Array;
|
|
131
433
|
};
|
|
132
|
-
export type
|
|
434
|
+
export type ApprovalRequestSummary = {
|
|
133
435
|
readonly tool: string;
|
|
134
436
|
readonly required: number;
|
|
135
437
|
readonly received: number;
|
|
@@ -143,7 +445,53 @@ export type Decision = {
|
|
|
143
445
|
readonly field?: string;
|
|
144
446
|
} | {
|
|
145
447
|
readonly outcome: "approval_required";
|
|
146
|
-
readonly request:
|
|
448
|
+
readonly request: ApprovalRequestSummary;
|
|
449
|
+
};
|
|
450
|
+
export type RevocationListInput = {
|
|
451
|
+
readonly revoke: readonly string[];
|
|
452
|
+
/** Monotonic; verifiers refuse an older version. Default 1. */
|
|
453
|
+
readonly version?: number;
|
|
454
|
+
};
|
|
455
|
+
export type RevocationListInfo = {
|
|
456
|
+
readonly version: number;
|
|
457
|
+
readonly issuedAt: number;
|
|
458
|
+
readonly issuerPublicKey: string;
|
|
459
|
+
readonly revokedIds: readonly string[];
|
|
460
|
+
readonly signatureValid: boolean;
|
|
461
|
+
};
|
|
462
|
+
/** Signature authenticity of a receipt. Not authorization. */
|
|
463
|
+
export type ReceiptInfo = {
|
|
464
|
+
readonly authentic: true;
|
|
465
|
+
/** Hex key the receipt is signed under — resolve against your own authorizer set. */
|
|
466
|
+
readonly signerKey: string;
|
|
467
|
+
readonly outcome: "allow" | "deny";
|
|
468
|
+
readonly action: string;
|
|
469
|
+
readonly decisionCode?: string;
|
|
470
|
+
readonly requestId: string;
|
|
471
|
+
readonly srlVersion?: number;
|
|
472
|
+
readonly srlHash?: string;
|
|
473
|
+
readonly requestHash?: string;
|
|
474
|
+
readonly policyDefinitionHash?: string;
|
|
475
|
+
readonly prevReceiptHash?: string;
|
|
476
|
+
readonly trustedRootsHash?: string;
|
|
477
|
+
};
|
|
478
|
+
/** Root-anchored receipt check: the embedded chain against trusted roots at decision time. */
|
|
479
|
+
export type ReceiptChainInfo = {
|
|
480
|
+
readonly signerKey: string;
|
|
481
|
+
readonly outcome: "allow" | "deny";
|
|
482
|
+
readonly decisionCode?: string;
|
|
483
|
+
readonly timestamp: number;
|
|
484
|
+
readonly chainValid: boolean;
|
|
485
|
+
readonly chainError?: string;
|
|
486
|
+
readonly corroboratesDenial?: boolean;
|
|
487
|
+
readonly rootIssuer?: string;
|
|
488
|
+
readonly leafHolder?: string;
|
|
489
|
+
};
|
|
490
|
+
/** Warrant chain plus proof-of-possession for one call. Transport-agnostic. */
|
|
491
|
+
export type PresentedCall = {
|
|
492
|
+
readonly warrant: string;
|
|
493
|
+
readonly signature: string;
|
|
494
|
+
readonly approvals?: readonly string[];
|
|
147
495
|
};
|
|
148
496
|
export interface Session {
|
|
149
497
|
readonly [Symbol.toStringTag]: "TenuoSession";
|
|
@@ -151,6 +499,8 @@ export interface Session {
|
|
|
151
499
|
toWire(): readonly string[];
|
|
152
500
|
/** SHA-256 of `(warrant_id, tool, canonical args)`. App-level idempotency, not PoP. */
|
|
153
501
|
dedupKey(tool: string, args: Readonly<Record<string, unknown>>): string;
|
|
502
|
+
/** Holder public key, depth, ceiling, lifetime, tools. Never the secret. */
|
|
503
|
+
inspect(): SessionInfo;
|
|
154
504
|
}
|
|
155
505
|
export interface Tenuo {
|
|
156
506
|
/**
|
|
@@ -164,7 +514,35 @@ export interface Tenuo {
|
|
|
164
514
|
/** Import a warrant minted elsewhere (Rust / Python / another process). */
|
|
165
515
|
sessionFromWire(input: SessionFromWireInput): Session;
|
|
166
516
|
withSession<R>(session: Session, fn: () => R): R;
|
|
167
|
-
|
|
517
|
+
/**
|
|
518
|
+
* Child session with less authority. Without options the same holder keeps
|
|
519
|
+
* it; with `options.holder` it is delegated to another agent's key. Core
|
|
520
|
+
* rejects any child that is not within its parent before a token exists.
|
|
521
|
+
*/
|
|
522
|
+
narrow(session: Session, allow: NarrowInput, options?: NarrowOptions): Session;
|
|
523
|
+
/**
|
|
524
|
+
* Mint an execution session from an issuer session, signed by the issuer
|
|
525
|
+
* session's holder. Core checks tools against `issuableTools`, constraints
|
|
526
|
+
* against `constraintBounds`, clearance, and issue depth. No root key.
|
|
527
|
+
*/
|
|
528
|
+
issue(issuer: Session, input: IssueInput): Session;
|
|
529
|
+
/**
|
|
530
|
+
* Public key of the local issuer (dev root or issuer key). Other processes
|
|
531
|
+
* put it in `trustedRoots` to accept warrants this context mints.
|
|
532
|
+
*/
|
|
533
|
+
issuerPublicKey(): PublicKeyHandle;
|
|
534
|
+
/** What the session would decide for `tool(args)`, field by field. Never runs the tool. */
|
|
535
|
+
explain(session: Session, tool: string, args: Readonly<Record<string, unknown>>): Explanation;
|
|
536
|
+
/** Everything an approval service needs to present `tool(args)` to a human. */
|
|
537
|
+
approvalRequest(session: Session, tool: string, args: Readonly<Record<string, unknown>>): ApprovalRequest;
|
|
538
|
+
/** Holder-signed proof that this session is the one asking for `tool(args)`. */
|
|
539
|
+
attestApprovalRequest(session: Session, tool: string, args: Readonly<Record<string, unknown>>): ApprovalContextAttestation;
|
|
540
|
+
/** Authorize locally, then produce warrant + proof-of-possession for another boundary to verify. */
|
|
541
|
+
present(session: Session, tool: string, args: Readonly<Record<string, unknown>>, options?: McpAttachOptions): PresentedCall;
|
|
542
|
+
/** Verify a presented call at any boundary. Resolves with the authorized arguments; the tool must not run otherwise. */
|
|
543
|
+
verify(presented: PresentedCall, tool: string, args: Readonly<Record<string, unknown>>, options?: McpVerifyOptions): Promise<Readonly<Record<string, unknown>>>;
|
|
544
|
+
/** Sign a revocation list with this context's issuer key. Load it with `revoke()` where this issuer is trusted. */
|
|
545
|
+
revocationList(input: RevocationListInput): string;
|
|
168
546
|
/** Load a published SignedRevocationList. Rust verifies the issuer against trusted roots. */
|
|
169
547
|
revoke(list: string | Uint8Array): void;
|
|
170
548
|
/** MCP `_meta.tenuo` attach / verify. No MCP SDK dependency. */
|
|
@@ -173,11 +551,7 @@ export interface Tenuo {
|
|
|
173
551
|
}
|
|
174
552
|
/** Wire envelope Python and TypeScript both read from `params._meta`. */
|
|
175
553
|
export type TenuoMcpMeta = {
|
|
176
|
-
readonly tenuo:
|
|
177
|
-
readonly warrant: string;
|
|
178
|
-
readonly signature: string;
|
|
179
|
-
readonly approvals?: readonly string[];
|
|
180
|
-
};
|
|
554
|
+
readonly tenuo: PresentedCall;
|
|
181
555
|
};
|
|
182
556
|
export type McpAttachOptions = {
|
|
183
557
|
readonly approvals?: readonly (string | Uint8Array)[];
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|