@sentropic/h2a-runtime 0.98.7-rc.3 → 0.98.7-rc.4
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/cli-seat-codecs.d.ts +86 -0
- package/dist/cli-seat-codecs.d.ts.map +1 -0
- package/dist/cli-seat-codecs.js +255 -0
- package/dist/cli-seat-codecs.js.map +1 -0
- package/dist/cli-seat-fixtures.d.ts +86 -0
- package/dist/cli-seat-fixtures.d.ts.map +1 -0
- package/dist/cli-seat-fixtures.js +114 -0
- package/dist/cli-seat-fixtures.js.map +1 -0
- package/dist/cli-seat-materialization.d.ts +245 -0
- package/dist/cli-seat-materialization.d.ts.map +1 -0
- package/dist/cli-seat-materialization.js +646 -0
- package/dist/cli-seat-materialization.js.map +1 -0
- package/dist/gateway-model-catalog/model-catalog.d.ts +38 -0
- package/dist/gateway-model-catalog/model-catalog.d.ts.map +1 -0
- package/dist/gateway-model-catalog/model-catalog.js +167 -0
- package/dist/gateway-model-catalog/model-catalog.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -28
- package/dist/index.js.map +1 -1
- package/dist/llm-mesh-accounts.d.ts +57 -1
- package/dist/llm-mesh-accounts.d.ts.map +1 -1
- package/dist/llm-mesh-accounts.js +74 -3
- package/dist/llm-mesh-accounts.js.map +1 -1
- package/dist/native-host.d.ts +4 -1
- package/dist/native-host.d.ts.map +1 -1
- package/dist/native-host.js +11 -7
- package/dist/native-host.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import type { SeatCli5, SeatScenario, SyntheticSeatBundleV1 } from "./cli-seat-fixtures.js";
|
|
2
|
+
import { type SyntheticCredentialMaterial } from "./cli-seat-codecs.js";
|
|
3
|
+
export declare class SeatMaterializationError extends Error {
|
|
4
|
+
readonly code: string;
|
|
5
|
+
constructor(message: string, code: string);
|
|
6
|
+
}
|
|
7
|
+
export type SeatSourceMode = "oauth" | "cli" | "token";
|
|
8
|
+
export interface SourceModeManifest {
|
|
9
|
+
cli: SeatCli5;
|
|
10
|
+
mode: SeatSourceMode;
|
|
11
|
+
circuit: "seat" | "product-oauth";
|
|
12
|
+
labProfile: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Common source-mode contract (§4.2) for all five CLIs. oauth stays available
|
|
16
|
+
* as the product enrollment but is never the seat-circuit origin.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveSourceMode(cli: string, mode: string, labProfile: string): SourceModeManifest;
|
|
19
|
+
/** Static refusal of credential values in argv: the message never echoes the value. */
|
|
20
|
+
export declare function assertArgvClean(argv: readonly string[], secrets: readonly string[]): void;
|
|
21
|
+
export type BundleValidationCode = "schema-mismatch" | "size-exceeded" | "owner-mismatch" | "client-mismatch" | "unknown-field" | "stale-generation" | "generation-conflict" | "epoch-replacement-required" | "authority-escalation" | "refresh-material-present" | "nested-refresh-field" | "invalid-lifecycle";
|
|
22
|
+
export type BundleValidationResult = {
|
|
23
|
+
ok: true;
|
|
24
|
+
} | {
|
|
25
|
+
ok: false;
|
|
26
|
+
code: BundleValidationCode;
|
|
27
|
+
detail: string;
|
|
28
|
+
};
|
|
29
|
+
export interface SeatValidationContext {
|
|
30
|
+
ownerScope?: string;
|
|
31
|
+
trustedAuthority?: "custodian" | "consumer" | "native-store";
|
|
32
|
+
issuingClientRef?: string;
|
|
33
|
+
endpointFamily?: string;
|
|
34
|
+
predecessor?: StreamPredecessor;
|
|
35
|
+
}
|
|
36
|
+
/** Consumer-channel validation: no refresh material, no authority upgrade from bundle data. */
|
|
37
|
+
export declare function validateSeatBundleForMaterialization(bundle: unknown, context?: SeatValidationContext): BundleValidationResult;
|
|
38
|
+
export interface MaterializeSeatOptions {
|
|
39
|
+
parentDir: string;
|
|
40
|
+
mode: SeatSourceMode;
|
|
41
|
+
labProfile: string;
|
|
42
|
+
/** Only gateway-off is accepted: the native matrix runs direct. */
|
|
43
|
+
gateway: "off";
|
|
44
|
+
/** Serialized-stream delegation under §3.4 (sole temporal holder). */
|
|
45
|
+
delegate?: boolean;
|
|
46
|
+
canary?: string;
|
|
47
|
+
/** Set by a verified channel, never inferred from mode, delegate or bundle. */
|
|
48
|
+
trustedContext?: SeatValidationContext;
|
|
49
|
+
/** OS-specific adapter owned by L2a; no Gemini OAuth-file substitution. */
|
|
50
|
+
keyring?: SyntheticSeatKeyring;
|
|
51
|
+
streamTicket?: StreamTicket;
|
|
52
|
+
}
|
|
53
|
+
export interface SyntheticSeatKeyring {
|
|
54
|
+
materialize(input: {
|
|
55
|
+
canary: string;
|
|
56
|
+
runDir: string;
|
|
57
|
+
material: SyntheticCredentialMaterial;
|
|
58
|
+
}): {
|
|
59
|
+
profileRef: string;
|
|
60
|
+
childEnv: Record<string, string>;
|
|
61
|
+
dispose(): void;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export interface SeatReceipt {
|
|
65
|
+
seatRef: string;
|
|
66
|
+
familyRef: string;
|
|
67
|
+
cli: SeatCli5;
|
|
68
|
+
epoch: number;
|
|
69
|
+
generation: number;
|
|
70
|
+
operationId: string;
|
|
71
|
+
mode: SeatSourceMode;
|
|
72
|
+
capability: "access-only" | "static-key" | "serialized";
|
|
73
|
+
os: "linux";
|
|
74
|
+
outcome: string;
|
|
75
|
+
}
|
|
76
|
+
export interface MaterializedSeat {
|
|
77
|
+
runId: string;
|
|
78
|
+
runDir: string;
|
|
79
|
+
homeDir: string;
|
|
80
|
+
configDir: string;
|
|
81
|
+
scenarioRoot: string;
|
|
82
|
+
credentialPaths: string[];
|
|
83
|
+
mcpConfigPath: string;
|
|
84
|
+
childEnv: Record<string, string>;
|
|
85
|
+
mcpEnv: Record<string, string>;
|
|
86
|
+
launch: {
|
|
87
|
+
cli: SeatCli5;
|
|
88
|
+
binary: string;
|
|
89
|
+
gateway: "off";
|
|
90
|
+
hostArgs: string[];
|
|
91
|
+
mcpArgs: string[];
|
|
92
|
+
};
|
|
93
|
+
receipt: SeatReceipt;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Materialize the native representation per actor after environment capture.
|
|
97
|
+
* Replaces lab copyLogin: only synthetic stand-ins are written, into a
|
|
98
|
+
* disposable 0700 run dir. Renewable material requires explicit trusted
|
|
99
|
+
* channel custody AND serialized delegation, independently of source mode;
|
|
100
|
+
* consumer access never carries refresh authority.
|
|
101
|
+
*/
|
|
102
|
+
export declare function materializeSeatBundle(bundle: SyntheticSeatBundleV1, options: MaterializeSeatOptions): MaterializedSeat;
|
|
103
|
+
/** Cleanup after capture: stop children first (live), then delete the profile. */
|
|
104
|
+
export declare function destroyMaterializedSeat(seat: MaterializedSeat): void;
|
|
105
|
+
/** Writer/delivery/dispatcher credentials must never reach an h2a/native parent. */
|
|
106
|
+
export declare function assertNoWriterCredentials(env: Readonly<Record<string, string | undefined>>): void;
|
|
107
|
+
/** Redact raw and base64 secret forms; output keeps only static text. */
|
|
108
|
+
export declare function redactSecretsFromText(text: string, secrets: readonly string[]): string;
|
|
109
|
+
/** Strip credential values from env.json material; returns removed names only. */
|
|
110
|
+
export declare function sanitizeEnvJson(env: Readonly<Record<string, string | undefined>>, secrets: readonly string[]): {
|
|
111
|
+
env: Record<string, string>;
|
|
112
|
+
removed: string[];
|
|
113
|
+
};
|
|
114
|
+
/** MCP children get an explicit allowlist and closed secret descriptors. */
|
|
115
|
+
export declare function mcpChildEnv(env: Readonly<Record<string, string | undefined>>, secrets?: readonly string[]): Record<string, string>;
|
|
116
|
+
/** Receipts carry metadata only; any credential value fails closed. */
|
|
117
|
+
export declare function assertReceiptClean(receipt: unknown, secrets: readonly string[]): void;
|
|
118
|
+
export declare const SEAT_ALLOWED_MCP_OPS: readonly string[];
|
|
119
|
+
/** Fail-closed tool gate: only h2a MCP scenario operations are allowed. */
|
|
120
|
+
export declare function evaluateToolRequest(cli: SeatCli5, tool: string, scenario?: SeatScenario): "allow" | "deny";
|
|
121
|
+
/** The §6.1 adversarial cell: a peer asking for the credential is refused. */
|
|
122
|
+
export declare function isCredentialRequestText(text: string): boolean;
|
|
123
|
+
export declare function evaluateCredentialRequest(cli: SeatCli5, text: string): {
|
|
124
|
+
verdict: "refuse" | "unrelated";
|
|
125
|
+
};
|
|
126
|
+
export interface CanaryScan {
|
|
127
|
+
verdict: "pass" | "fail";
|
|
128
|
+
checked: string[];
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Synthetic credential-request canary: checks model inputs, transcripts, MCP
|
|
132
|
+
* traffic and logs for raw/encoded canary forms. Emits pass/fail categories
|
|
133
|
+
* and surface names only, never intercepted bodies.
|
|
134
|
+
*/
|
|
135
|
+
export declare function scanSurfacesForCanary(surfaces: Readonly<Record<string, string>>, canary: string): CanaryScan;
|
|
136
|
+
export interface StreamPredecessor {
|
|
137
|
+
epoch: number;
|
|
138
|
+
generation: number;
|
|
139
|
+
operationId: string;
|
|
140
|
+
}
|
|
141
|
+
export interface StreamTicket {
|
|
142
|
+
streamOperationId: string;
|
|
143
|
+
familyRef: string;
|
|
144
|
+
predecessor: StreamPredecessor;
|
|
145
|
+
/** Private ephemeral admission metadata; never included in receipts. */
|
|
146
|
+
lockDir: string;
|
|
147
|
+
}
|
|
148
|
+
export interface StreamCapture {
|
|
149
|
+
disposition: "successor-sealed" | "unchanged-validated" | "fenced";
|
|
150
|
+
scenarioFailed: boolean;
|
|
151
|
+
requiresWriterJob: boolean;
|
|
152
|
+
successor?: StreamPredecessor;
|
|
153
|
+
}
|
|
154
|
+
/** §3.4: admit one bounded native process per refresh family. */
|
|
155
|
+
export declare function beginSerializedStream(familyRef: string, predecessor: StreamPredecessor, runtimeDir?: string | undefined): StreamTicket;
|
|
156
|
+
/**
|
|
157
|
+
* Trusted parent capture after the process and its children stop — including
|
|
158
|
+
* failed scenarios. Ambiguous provider side effects fence the family.
|
|
159
|
+
*/
|
|
160
|
+
export declare function captureSerializedResult(ticket: StreamTicket, outcome: {
|
|
161
|
+
failed: boolean;
|
|
162
|
+
changed: boolean;
|
|
163
|
+
ambiguous: boolean;
|
|
164
|
+
}): StreamCapture;
|
|
165
|
+
/** The newly queued continuation clears only the exact stream ticket. */
|
|
166
|
+
export declare function validateStreamClearance(ticket: StreamTicket, liveState: {
|
|
167
|
+
familyRef: string;
|
|
168
|
+
streamOperationId: string;
|
|
169
|
+
predecessor: StreamPredecessor;
|
|
170
|
+
cleanupComplete?: boolean;
|
|
171
|
+
successorStored?: boolean;
|
|
172
|
+
successor?: StreamPredecessor;
|
|
173
|
+
}): {
|
|
174
|
+
cleared: boolean;
|
|
175
|
+
};
|
|
176
|
+
/** Expiry/401 becomes access-unavailable: zero refresh, zero fallback. */
|
|
177
|
+
export declare function classifyAccessFault(fault: {
|
|
178
|
+
expired?: boolean;
|
|
179
|
+
status401?: boolean;
|
|
180
|
+
}): "access-unavailable" | "access-ok";
|
|
181
|
+
/** Metadata-only receipt factory (no email, no credential-derived fingerprint). */
|
|
182
|
+
export declare function createSeatReceipt(fields: {
|
|
183
|
+
seatRef: string;
|
|
184
|
+
familyRef: string;
|
|
185
|
+
cli: SeatCli5;
|
|
186
|
+
epoch: number;
|
|
187
|
+
generation: number;
|
|
188
|
+
operationId: string;
|
|
189
|
+
mode: SeatSourceMode;
|
|
190
|
+
capability: SeatReceipt["capability"];
|
|
191
|
+
outcome: string;
|
|
192
|
+
}): SeatReceipt;
|
|
193
|
+
export interface SyntheticCellAdmission {
|
|
194
|
+
entitlementClass: string;
|
|
195
|
+
ownerApproved: boolean;
|
|
196
|
+
q3Approved: boolean;
|
|
197
|
+
consumedUnits: number;
|
|
198
|
+
requestedUnits: number;
|
|
199
|
+
}
|
|
200
|
+
/** Offline contract exercise. This function cannot enroll or launch a CLI. */
|
|
201
|
+
export declare function runSyntheticSeatCell(sender: SeatCli5, receiver: SeatCli5, scenario: SeatScenario, options: {
|
|
202
|
+
parentDir: string;
|
|
203
|
+
admission: SyntheticCellAdmission;
|
|
204
|
+
bundles?: readonly (SyntheticSeatBundleV1 | undefined)[];
|
|
205
|
+
}): {
|
|
206
|
+
sender: SeatCli5;
|
|
207
|
+
receiver: SeatCli5;
|
|
208
|
+
scenario: SeatScenario;
|
|
209
|
+
outcome: string;
|
|
210
|
+
reason: string;
|
|
211
|
+
gateway: string;
|
|
212
|
+
q1ConsumedUnits: number;
|
|
213
|
+
actors: (SeatReceipt & {
|
|
214
|
+
runId: string;
|
|
215
|
+
})[];
|
|
216
|
+
seatRef: string;
|
|
217
|
+
peerRef: string;
|
|
218
|
+
familyRef: string;
|
|
219
|
+
peerFamilyRef: string;
|
|
220
|
+
} | {
|
|
221
|
+
sender: SeatCli5;
|
|
222
|
+
receiver: SeatCli5;
|
|
223
|
+
scenario: SeatScenario;
|
|
224
|
+
outcome: string;
|
|
225
|
+
gateway: string;
|
|
226
|
+
q1ConsumedUnits: number;
|
|
227
|
+
actors: {
|
|
228
|
+
runId: string;
|
|
229
|
+
seatRef: string;
|
|
230
|
+
familyRef: string;
|
|
231
|
+
cli: SeatCli5;
|
|
232
|
+
epoch: number;
|
|
233
|
+
generation: number;
|
|
234
|
+
operationId: string;
|
|
235
|
+
mode: SeatSourceMode;
|
|
236
|
+
capability: "access-only" | "static-key" | "serialized";
|
|
237
|
+
os: "linux";
|
|
238
|
+
outcome: string;
|
|
239
|
+
}[];
|
|
240
|
+
seatRef: string;
|
|
241
|
+
peerRef: string;
|
|
242
|
+
familyRef: string;
|
|
243
|
+
peerFamilyRef: string;
|
|
244
|
+
};
|
|
245
|
+
//# sourceMappingURL=cli-seat-materialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-seat-materialization.d.ts","sourceRoot":"","sources":["../src/cli-seat-materialization.ts"],"names":[],"mappings":"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"}
|