@sentropic/h2a-runtime 0.98.6 → 0.98.7-rc.2
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/agent-launch-args.d.ts.map +1 -1
- package/dist/agent-launch-args.js +5 -5
- package/dist/agent-launch-args.js.map +1 -1
- package/dist/agy-claude.d.ts +2 -0
- package/dist/agy-claude.d.ts.map +1 -0
- package/dist/agy-claude.js +3 -0
- package/dist/agy-claude.js.map +1 -0
- package/dist/agy-headless.d.ts +11 -0
- package/dist/agy-headless.d.ts.map +1 -0
- package/dist/agy-headless.js +104 -0
- package/dist/agy-headless.js.map +1 -0
- package/dist/attach.d.ts +2 -0
- package/dist/attach.d.ts.map +1 -1
- package/dist/attach.js +73 -6
- package/dist/attach.js.map +1 -1
- package/dist/auth-login.d.ts +24 -1
- package/dist/auth-login.d.ts.map +1 -1
- package/dist/auth-login.js +132 -4
- package/dist/auth-login.js.map +1 -1
- package/dist/central-mcp.d.ts +2 -0
- package/dist/central-mcp.d.ts.map +1 -1
- package/dist/central-mcp.js +90 -3
- package/dist/central-mcp.js.map +1 -1
- package/dist/claude-code-cli-isolation.d.ts +53 -0
- package/dist/claude-code-cli-isolation.d.ts.map +1 -0
- package/dist/claude-code-cli-isolation.js +277 -0
- package/dist/claude-code-cli-isolation.js.map +1 -0
- package/dist/claude-code-cli-lifecycle.d.ts +80 -0
- package/dist/claude-code-cli-lifecycle.d.ts.map +1 -0
- package/dist/claude-code-cli-lifecycle.js +402 -0
- package/dist/claude-code-cli-lifecycle.js.map +1 -0
- package/dist/claude-code-cli-runner.d.ts +89 -0
- package/dist/claude-code-cli-runner.d.ts.map +1 -0
- package/dist/claude-code-cli-runner.js +659 -0
- package/dist/claude-code-cli-runner.js.map +1 -0
- package/dist/claude-seat-input.d.ts +47 -0
- package/dist/claude-seat-input.d.ts.map +1 -0
- package/dist/claude-seat-input.js +272 -0
- package/dist/claude-seat-input.js.map +1 -0
- package/dist/claude-seat-mesh-contract.d.ts +88 -0
- package/dist/claude-seat-mesh-contract.d.ts.map +1 -0
- package/dist/claude-seat-mesh-contract.js +13 -0
- package/dist/claude-seat-mesh-contract.js.map +1 -0
- package/dist/cli-help-groups.js +1 -1
- package/dist/cli-help-groups.js.map +1 -1
- package/dist/crash-log.d.ts +112 -0
- package/dist/crash-log.d.ts.map +1 -0
- package/dist/crash-log.js +560 -0
- package/dist/crash-log.js.map +1 -0
- package/dist/delegate.d.ts +10 -0
- package/dist/delegate.d.ts.map +1 -1
- package/dist/delegate.js +29 -0
- package/dist/delegate.js.map +1 -1
- package/dist/gateway-host/claude-seat-client.d.ts +32 -0
- package/dist/gateway-host/claude-seat-client.d.ts.map +1 -0
- package/dist/gateway-host/claude-seat-client.js +38 -0
- package/dist/gateway-host/claude-seat-client.js.map +1 -0
- package/dist/gateway-host/host.d.ts +6 -0
- package/dist/gateway-host/host.d.ts.map +1 -1
- package/dist/gateway-host/host.js +24 -3
- package/dist/gateway-host/host.js.map +1 -1
- package/dist/gateway-host/live-declarations.d.ts +58 -0
- package/dist/gateway-host/live-declarations.d.ts.map +1 -0
- package/dist/gateway-host/live-declarations.js +429 -0
- package/dist/gateway-host/live-declarations.js.map +1 -0
- package/dist/gateway-host/live-github.d.ts +11 -0
- package/dist/gateway-host/live-github.d.ts.map +1 -0
- package/dist/gateway-host/live-github.js +374 -0
- package/dist/gateway-host/live-github.js.map +1 -0
- package/dist/gateway-host/live-object-store.d.ts +35 -0
- package/dist/gateway-host/live-object-store.d.ts.map +1 -0
- package/dist/gateway-host/live-object-store.js +447 -0
- package/dist/gateway-host/live-object-store.js.map +1 -0
- package/dist/gateway-host/live-registration.d.ts +162 -0
- package/dist/gateway-host/live-registration.d.ts.map +1 -0
- package/dist/gateway-host/live-registration.js +455 -0
- package/dist/gateway-host/live-registration.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +290 -23
- package/dist/index.js.map +1 -1
- package/dist/llm-mesh-accounts.d.ts +70 -4
- package/dist/llm-mesh-accounts.d.ts.map +1 -1
- package/dist/llm-mesh-accounts.js +296 -9
- package/dist/llm-mesh-accounts.js.map +1 -1
- package/dist/native-host.d.ts +1 -1
- package/dist/native-host.d.ts.map +1 -1
- package/dist/native-host.js +30 -17
- package/dist/native-host.js.map +1 -1
- package/dist/native-terminal/host.d.ts +6 -1
- package/dist/native-terminal/host.d.ts.map +1 -1
- package/dist/native-terminal/host.js +6 -25
- package/dist/native-terminal/host.js.map +1 -1
- package/dist/native-terminal/journal.d.ts +5 -0
- package/dist/native-terminal/journal.d.ts.map +1 -1
- package/dist/native-terminal/journal.js +28 -16
- package/dist/native-terminal/journal.js.map +1 -1
- package/dist/native-terminal/op.d.ts +13 -0
- package/dist/native-terminal/op.d.ts.map +1 -1
- package/dist/native-terminal/op.js +64 -5
- package/dist/native-terminal/op.js.map +1 -1
- package/dist/proc-identity.d.ts +31 -0
- package/dist/proc-identity.d.ts.map +1 -1
- package/dist/proc-identity.js +54 -0
- package/dist/proc-identity.js.map +1 -1
- package/dist/prompt-delivery.d.ts +3 -0
- package/dist/prompt-delivery.d.ts.map +1 -1
- package/dist/prompt-delivery.js +8 -3
- package/dist/prompt-delivery.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +79 -16
- package/dist/run.js.map +1 -1
- package/dist/terminal-reset.d.ts +104 -0
- package/dist/terminal-reset.d.ts.map +1 -0
- package/dist/terminal-reset.js +229 -0
- package/dist/terminal-reset.js.map +1 -0
- package/dist/tmux.d.ts +26 -4
- package/dist/tmux.d.ts.map +1 -1
- package/dist/tmux.js +60 -25
- package/dist/tmux.js.map +1 -1
- package/dist/vendor/engram-live/contracts.d.ts +825 -0
- package/dist/vendor/engram-live/contracts.js +1734 -0
- package/dist/vendor/engram-live/integration.d.ts +113 -0
- package/dist/vendor/engram-live/integration.js +254 -0
- package/dist/vendor/engram-live/pr-sync.d.ts +144 -0
- package/dist/vendor/engram-live/pr-sync.js +411 -0
- package/dist/vendor/engram-live/registration.d.ts +138 -0
- package/dist/vendor/engram-live/registration.js +358 -0
- package/dist/vendor/engram-live/retention.d.ts +56 -0
- package/dist/vendor/engram-live/retention.js +179 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code-cli-runner.js","sourceRoot":"","sources":["../src/claude-code-cli-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trusted local input boundary for Claude seat credentials: masked TTY
|
|
3
|
+
* entry (echo, history and external capture disabled; terminal state
|
|
4
|
+
* restored on exit), or a non-TTY pipe carrying secret-manager output.
|
|
5
|
+
* No secret-bearing argv/env/MCP interfaces or filesystem discovery.
|
|
6
|
+
* Nothing here ever logs or prints the entered secret value.
|
|
7
|
+
*/
|
|
8
|
+
import type { Readable, Writable } from "node:stream";
|
|
9
|
+
export declare const MAX_CLAUDE_INPUT_BYTES = 65536;
|
|
10
|
+
export declare const DEFAULT_CLAUDE_INPUT_TIMEOUT_MS: number;
|
|
11
|
+
export interface ClaudeSeatInputOptions {
|
|
12
|
+
readonly stdin?: Readable & {
|
|
13
|
+
isTTY?: boolean;
|
|
14
|
+
setRawMode?: (mode: boolean) => void;
|
|
15
|
+
};
|
|
16
|
+
readonly stdout?: Writable & {
|
|
17
|
+
isTTY?: boolean;
|
|
18
|
+
};
|
|
19
|
+
readonly timeoutMs?: number;
|
|
20
|
+
readonly maxBytes?: number;
|
|
21
|
+
readonly multiline?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare class ClaudeSeatInputError extends Error {
|
|
24
|
+
readonly code: string;
|
|
25
|
+
constructor(message: string, code?: string);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Read masked input from a trusted local TTY without terminal echo or command history.
|
|
29
|
+
* Never logs or prints the entered secret value.
|
|
30
|
+
*/
|
|
31
|
+
export declare function readMaskedInput(prompt: string, options?: ClaudeSeatInputOptions): Promise<string>;
|
|
32
|
+
export interface ClaudeSeatPipedInputOptions {
|
|
33
|
+
readonly stdin?: Readable & {
|
|
34
|
+
isTTY?: boolean;
|
|
35
|
+
};
|
|
36
|
+
readonly timeoutMs?: number;
|
|
37
|
+
readonly maxBytes?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Read a serialized credential piped on stdin (secret-manager output
|
|
41
|
+
* redirected into the enroll command). The pipe must already be non-TTY:
|
|
42
|
+
* a TTY stdin means an interactive owner is present and the masked prompt
|
|
43
|
+
* applies instead. Content is bounded, never echoed, never logged; only
|
|
44
|
+
* static errors leave this function.
|
|
45
|
+
*/
|
|
46
|
+
export declare function readPipedCredentialInput(options?: ClaudeSeatPipedInputOptions): Promise<string>;
|
|
47
|
+
//# sourceMappingURL=claude-seat-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-seat-input.d.ts","sourceRoot":"","sources":["../src/claude-seat-input.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,eAAO,MAAM,+BAA+B,QAAiB,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG;QAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,OAAO,EAAE,MAAM,EAAE,IAAI,SAAgB;CAKlD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,MAAM,CAAC,CAiPjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,MAAM,CAAC,CAuFjB"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
export const MAX_CLAUDE_INPUT_BYTES = 65536; // 64 KiB UTF-8
|
|
2
|
+
export const DEFAULT_CLAUDE_INPUT_TIMEOUT_MS = 15 * 60 * 1000; // 15 minutes
|
|
3
|
+
export class ClaudeSeatInputError extends Error {
|
|
4
|
+
code;
|
|
5
|
+
constructor(message, code = "input_error") {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = "ClaudeSeatInputError";
|
|
8
|
+
this.code = code;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Read masked input from a trusted local TTY without terminal echo or command history.
|
|
13
|
+
* Never logs or prints the entered secret value.
|
|
14
|
+
*/
|
|
15
|
+
export async function readMaskedInput(prompt, options = {}) {
|
|
16
|
+
const stdin = (options.stdin ?? process.stdin);
|
|
17
|
+
const stdout = (options.stdout ?? process.stdout);
|
|
18
|
+
// Safe noninteractive refusal: non-TTY environments cannot guarantee capture-free input
|
|
19
|
+
if (!stdin.isTTY) {
|
|
20
|
+
throw new ClaudeSeatInputError("trusted local terminal required for Claude credential entry", "non_tty");
|
|
21
|
+
}
|
|
22
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_CLAUDE_INPUT_TIMEOUT_MS;
|
|
23
|
+
const maxBytes = options.maxBytes ?? MAX_CLAUDE_INPUT_BYTES;
|
|
24
|
+
const multiline = options.multiline ?? false;
|
|
25
|
+
// Print prompt to terminal
|
|
26
|
+
if (prompt) {
|
|
27
|
+
stdout.write(prompt);
|
|
28
|
+
}
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
let resolved = false;
|
|
31
|
+
let timer = null;
|
|
32
|
+
let totalBytes = 0;
|
|
33
|
+
const chunks = [];
|
|
34
|
+
const wasRawMode = stdin.isRaw === true;
|
|
35
|
+
// Drop the last UTF-8 sequence from the accumulated content (Backspace
|
|
36
|
+
// 0x08 / DEL 0x7f): walk back over continuation bytes so a multibyte
|
|
37
|
+
// character is removed whole, never truncated mid-sequence.
|
|
38
|
+
const popLastCharBytes = () => {
|
|
39
|
+
const all = Buffer.concat(chunks);
|
|
40
|
+
if (all.length === 0)
|
|
41
|
+
return;
|
|
42
|
+
let end = all.length - 1;
|
|
43
|
+
while (end > 0) {
|
|
44
|
+
const byte = all[end] ?? 0;
|
|
45
|
+
if ((byte & 0xc0) !== 0x80)
|
|
46
|
+
break;
|
|
47
|
+
end--;
|
|
48
|
+
}
|
|
49
|
+
const next = Buffer.from(all.subarray(0, end));
|
|
50
|
+
chunks.length = 0;
|
|
51
|
+
if (next.length > 0)
|
|
52
|
+
chunks.push(next);
|
|
53
|
+
totalBytes = next.length;
|
|
54
|
+
};
|
|
55
|
+
const cleanup = () => {
|
|
56
|
+
if (timer) {
|
|
57
|
+
clearTimeout(timer);
|
|
58
|
+
timer = null;
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
stdin.setRawMode?.(wasRawMode);
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// Best-effort terminal mode restoration
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
stdin.pause?.();
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Non-pausable stdin
|
|
71
|
+
}
|
|
72
|
+
stdin.removeListener("data", onData);
|
|
73
|
+
stdin.removeListener("end", onEnd);
|
|
74
|
+
stdin.removeListener("error", onError);
|
|
75
|
+
try {
|
|
76
|
+
stdout.write("\n");
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Output might be closed
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const finish = (value) => {
|
|
83
|
+
if (resolved)
|
|
84
|
+
return;
|
|
85
|
+
resolved = true;
|
|
86
|
+
cleanup();
|
|
87
|
+
resolve(value);
|
|
88
|
+
};
|
|
89
|
+
const fail = (error) => {
|
|
90
|
+
if (resolved)
|
|
91
|
+
return;
|
|
92
|
+
resolved = true;
|
|
93
|
+
cleanup();
|
|
94
|
+
reject(error);
|
|
95
|
+
};
|
|
96
|
+
// Set raw mode to disable echo and line buffering
|
|
97
|
+
try {
|
|
98
|
+
stdin.setRawMode?.(true);
|
|
99
|
+
stdin.resume();
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
fail(new ClaudeSeatInputError("trusted local terminal required for Claude credential entry", "raw_mode_failed"));
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (timeoutMs > 0 && Number.isFinite(timeoutMs)) {
|
|
106
|
+
timer = setTimeout(() => {
|
|
107
|
+
fail(new ClaudeSeatInputError("Claude credential entry timed out", "timeout"));
|
|
108
|
+
}, timeoutMs);
|
|
109
|
+
}
|
|
110
|
+
const onData = (chunk) => {
|
|
111
|
+
const buf = typeof chunk === "string" ? Buffer.from(chunk, "utf8") : chunk;
|
|
112
|
+
// Check for control characters: Ctrl-C (0x03)
|
|
113
|
+
for (let i = 0; i < buf.length; i++) {
|
|
114
|
+
if (buf[i] === 0x03) {
|
|
115
|
+
fail(new ClaudeSeatInputError("Claude enrollment cancelled", "cancelled"));
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Apply content bytes and Backspace/DEL edits in arrival order so a
|
|
120
|
+
// correction deletes what precedes it, including multibyte characters.
|
|
121
|
+
for (const byte of buf) {
|
|
122
|
+
if (byte === 0x08 || byte === 0x7f) {
|
|
123
|
+
popLastCharBytes();
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
chunks.push(Buffer.from([byte]));
|
|
127
|
+
totalBytes += 1;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (totalBytes > maxBytes) {
|
|
131
|
+
fail(new ClaudeSeatInputError(`Claude credential input exceeded maximum allowed size (${Math.round(maxBytes / 1024)} KiB)`, "oversized"));
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const fullContent = Buffer.concat(chunks).toString("utf8");
|
|
135
|
+
// Check for Ctrl-D (0x04) in buffer
|
|
136
|
+
if (fullContent.includes("\u0004")) {
|
|
137
|
+
const withoutEof = fullContent.replace(/\u0004/g, "").trim();
|
|
138
|
+
if (!withoutEof) {
|
|
139
|
+
fail(new ClaudeSeatInputError("Claude credential entry received EOF", "eof"));
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
finish(withoutEof);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
if (!multiline) {
|
|
146
|
+
// Single-line entry (e.g. code#state): Enter (\r or \n) completes
|
|
147
|
+
if (fullContent.includes("\r") || fullContent.includes("\n")) {
|
|
148
|
+
const line = (fullContent.split(/[\r\n]/)[0] ?? "").trim();
|
|
149
|
+
if (!line) {
|
|
150
|
+
fail(new ClaudeSeatInputError("Claude credential entry received empty input", "empty"));
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
finish(line);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// Multiline JSON entry:
|
|
159
|
+
// If Enter is pressed, check if the buffer already forms a valid JSON object,
|
|
160
|
+
// or if a double newline / empty line was submitted.
|
|
161
|
+
if (fullContent.endsWith("\n") || fullContent.endsWith("\r")) {
|
|
162
|
+
const trimmed = fullContent.trim();
|
|
163
|
+
if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
|
|
164
|
+
try {
|
|
165
|
+
const parsed = JSON.parse(trimmed);
|
|
166
|
+
if (parsed && typeof parsed === "object") {
|
|
167
|
+
finish(trimmed);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
// Keep accumulating
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (fullContent.endsWith("\n\n") || fullContent.endsWith("\r\n\r\n")) {
|
|
176
|
+
if (trimmed) {
|
|
177
|
+
finish(trimmed);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
const onEnd = () => {
|
|
185
|
+
const fullContent = Buffer.concat(chunks).toString("utf8").trim();
|
|
186
|
+
if (!fullContent) {
|
|
187
|
+
fail(new ClaudeSeatInputError("Claude credential entry received EOF", "eof"));
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
finish(fullContent);
|
|
191
|
+
};
|
|
192
|
+
const onError = () => {
|
|
193
|
+
fail(new ClaudeSeatInputError("Claude credential entry input stream error", "stream_error"));
|
|
194
|
+
};
|
|
195
|
+
stdin.on("data", onData);
|
|
196
|
+
stdin.on("end", onEnd);
|
|
197
|
+
stdin.on("error", onError);
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Read a serialized credential piped on stdin (secret-manager output
|
|
202
|
+
* redirected into the enroll command). The pipe must already be non-TTY:
|
|
203
|
+
* a TTY stdin means an interactive owner is present and the masked prompt
|
|
204
|
+
* applies instead. Content is bounded, never echoed, never logged; only
|
|
205
|
+
* static errors leave this function.
|
|
206
|
+
*/
|
|
207
|
+
export async function readPipedCredentialInput(options = {}) {
|
|
208
|
+
const stdin = (options.stdin ?? process.stdin);
|
|
209
|
+
if (stdin.isTTY) {
|
|
210
|
+
throw new ClaudeSeatInputError("piped input required for Claude token entry (redirect secret-manager output; interactive entry uses the masked prompt)", "tty_pipe");
|
|
211
|
+
}
|
|
212
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_CLAUDE_INPUT_TIMEOUT_MS;
|
|
213
|
+
const maxBytes = options.maxBytes ?? MAX_CLAUDE_INPUT_BYTES;
|
|
214
|
+
return new Promise((resolve, reject) => {
|
|
215
|
+
let resolved = false;
|
|
216
|
+
let timer = null;
|
|
217
|
+
let totalBytes = 0;
|
|
218
|
+
const chunks = [];
|
|
219
|
+
const cleanup = () => {
|
|
220
|
+
if (timer) {
|
|
221
|
+
clearTimeout(timer);
|
|
222
|
+
timer = null;
|
|
223
|
+
}
|
|
224
|
+
stdin.removeListener("data", onData);
|
|
225
|
+
stdin.removeListener("end", onEnd);
|
|
226
|
+
stdin.removeListener("error", onError);
|
|
227
|
+
};
|
|
228
|
+
const finish = (value) => {
|
|
229
|
+
if (resolved)
|
|
230
|
+
return;
|
|
231
|
+
resolved = true;
|
|
232
|
+
cleanup();
|
|
233
|
+
resolve(value);
|
|
234
|
+
};
|
|
235
|
+
const fail = (error) => {
|
|
236
|
+
if (resolved)
|
|
237
|
+
return;
|
|
238
|
+
resolved = true;
|
|
239
|
+
cleanup();
|
|
240
|
+
reject(error);
|
|
241
|
+
};
|
|
242
|
+
if (timeoutMs > 0 && Number.isFinite(timeoutMs)) {
|
|
243
|
+
timer = setTimeout(() => {
|
|
244
|
+
fail(new ClaudeSeatInputError("Claude token entry timed out", "timeout"));
|
|
245
|
+
}, timeoutMs);
|
|
246
|
+
}
|
|
247
|
+
const onData = (chunk) => {
|
|
248
|
+
const buf = typeof chunk === "string" ? Buffer.from(chunk, "utf8") : chunk;
|
|
249
|
+
totalBytes += buf.length;
|
|
250
|
+
if (totalBytes > maxBytes) {
|
|
251
|
+
fail(new ClaudeSeatInputError(`Claude token input exceeded maximum allowed size (${Math.round(maxBytes / 1024)} KiB)`, "oversized"));
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
chunks.push(buf);
|
|
255
|
+
};
|
|
256
|
+
const onEnd = () => {
|
|
257
|
+
const content = Buffer.concat(chunks).toString("utf8").trim();
|
|
258
|
+
if (!content) {
|
|
259
|
+
fail(new ClaudeSeatInputError("Claude token entry received empty input", "empty"));
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
finish(content);
|
|
263
|
+
};
|
|
264
|
+
const onError = () => {
|
|
265
|
+
fail(new ClaudeSeatInputError("Claude token entry input stream error", "stream_error"));
|
|
266
|
+
};
|
|
267
|
+
stdin.on("data", onData);
|
|
268
|
+
stdin.on("end", onEnd);
|
|
269
|
+
stdin.on("error", onError);
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=claude-seat-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-seat-input.js","sourceRoot":"","sources":["../src/claude-seat-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local structural mirror of the Claude seat contract from the mesh
|
|
3
|
+
* package baseline (0.25.0): access projection, CLI request/event shapes,
|
|
4
|
+
* runner interface, and host attestations.
|
|
5
|
+
*
|
|
6
|
+
* The gateway-eradication contract forbids source references to the mesh
|
|
7
|
+
* package, so this module duplicates the shapes instead of importing them.
|
|
8
|
+
* Type-only duplication: identical structure, zero runtime coupling. If the
|
|
9
|
+
* mesh baseline moves, update this mirror together with the version noted
|
|
10
|
+
* here; the seat tests pin every shape this mirror carries.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* In-process secret boundary. Never serialize this input into logs, argv or env.
|
|
14
|
+
*
|
|
15
|
+
* Identical to mesh 0.25.0 `transport/claude-code-runtime-client.ts`: only
|
|
16
|
+
* accessToken/expiresAt/scopes exist upstream. No account-type or
|
|
17
|
+
* organization field exists upstream, and no access-based refusal is claimed
|
|
18
|
+
* here (common seat model: the mesh directory owns account selection);
|
|
19
|
+
* invented optional fields must not be added back here.
|
|
20
|
+
*/
|
|
21
|
+
export interface ClaudeCodeAccessProjection {
|
|
22
|
+
readonly accessToken: string;
|
|
23
|
+
readonly expiresAt: number;
|
|
24
|
+
readonly scopes: readonly string[];
|
|
25
|
+
}
|
|
26
|
+
export type ClaudeCodeCliContent = {
|
|
27
|
+
type: "text";
|
|
28
|
+
text: string;
|
|
29
|
+
} | {
|
|
30
|
+
type: "tool_use";
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
input: unknown;
|
|
34
|
+
} | {
|
|
35
|
+
type: "tool_result";
|
|
36
|
+
tool_use_id: string;
|
|
37
|
+
content: string;
|
|
38
|
+
is_error?: boolean;
|
|
39
|
+
};
|
|
40
|
+
export interface ClaudeCodeCliRequest {
|
|
41
|
+
readonly modelId: string;
|
|
42
|
+
readonly messages: readonly {
|
|
43
|
+
role: "user" | "assistant";
|
|
44
|
+
content: readonly ClaudeCodeCliContent[];
|
|
45
|
+
}[];
|
|
46
|
+
readonly tools?: readonly {
|
|
47
|
+
name: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
inputSchema: Record<string, unknown>;
|
|
50
|
+
}[];
|
|
51
|
+
}
|
|
52
|
+
/** Normalized by the trusted host; raw CLI output must never cross this seam. */
|
|
53
|
+
export type ClaudeCodeCliEvent = {
|
|
54
|
+
type: "text_delta";
|
|
55
|
+
text: string;
|
|
56
|
+
} | {
|
|
57
|
+
type: "tool_use";
|
|
58
|
+
id: string;
|
|
59
|
+
name: string;
|
|
60
|
+
input: unknown;
|
|
61
|
+
} | {
|
|
62
|
+
type: "result";
|
|
63
|
+
finishReason: "stop" | "length" | "tool_calls";
|
|
64
|
+
usage?: {
|
|
65
|
+
inputTokens?: number;
|
|
66
|
+
outputTokens?: number;
|
|
67
|
+
};
|
|
68
|
+
} | {
|
|
69
|
+
type: "error";
|
|
70
|
+
};
|
|
71
|
+
export interface ClaudeCodeCliRunner {
|
|
72
|
+
/** Abort/iterator return kills and reaps children; result certifies cleanup. */
|
|
73
|
+
run(input: {
|
|
74
|
+
access: ClaudeCodeAccessProjection;
|
|
75
|
+
request: ClaudeCodeCliRequest;
|
|
76
|
+
signal: AbortSignal;
|
|
77
|
+
}): AsyncIterable<ClaudeCodeCliEvent>;
|
|
78
|
+
}
|
|
79
|
+
/** Trusted host attestations, never inferred from the installed CLI version. */
|
|
80
|
+
export interface ClaudeCodeCliCapabilities {
|
|
81
|
+
readonly protocol: "claude-code-stream-json-v1";
|
|
82
|
+
readonly cliVersion: string;
|
|
83
|
+
readonly source: string;
|
|
84
|
+
readonly qualificationRef: string;
|
|
85
|
+
readonly history?: string;
|
|
86
|
+
readonly tools?: string;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=claude-seat-mesh-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-seat-mesh-contract.d.ts","sourceRoot":"","sources":["../src/claude-seat-mesh-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,GAAG;IACF,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG;IACF,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAC3B,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;KAC1C,EAAE,CAAC;IACJ,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,EAAE,CAAC;CACL;AAED,iFAAiF;AACjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG;IACF,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG;IACF,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC/C,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,GAAG;IACF,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,GAAG,CAAC,KAAK,EAAE;QACT,MAAM,EAAE,0BAA0B,CAAC;QACnC,OAAO,EAAE,oBAAoB,CAAC;QAC9B,MAAM,EAAE,WAAW,CAAC;KACrB,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACvC;AAED,gFAAgF;AAChF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local structural mirror of the Claude seat contract from the mesh
|
|
3
|
+
* package baseline (0.25.0): access projection, CLI request/event shapes,
|
|
4
|
+
* runner interface, and host attestations.
|
|
5
|
+
*
|
|
6
|
+
* The gateway-eradication contract forbids source references to the mesh
|
|
7
|
+
* package, so this module duplicates the shapes instead of importing them.
|
|
8
|
+
* Type-only duplication: identical structure, zero runtime coupling. If the
|
|
9
|
+
* mesh baseline moves, update this mirror together with the version noted
|
|
10
|
+
* here; the seat tests pin every shape this mirror carries.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=claude-seat-mesh-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-seat-mesh-contract.js","sourceRoot":"","sources":["../src/claude-seat-mesh-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
package/dist/cli-help-groups.js
CHANGED
|
@@ -116,7 +116,7 @@ export const H2A_RUNTIME_HELP_GROUPS = [
|
|
|
116
116
|
// > | See the big picture | `h2a status --human` |
|
|
117
117
|
id: "OBSERVE",
|
|
118
118
|
heading: "Observe — see what is running and what needs attention:",
|
|
119
|
-
commands: ["ls", "status", "agents", "diff", "sync-status"],
|
|
119
|
+
commands: ["ls", "status", "agents", "diff", "sync-status", "logs"],
|
|
120
120
|
},
|
|
121
121
|
{
|
|
122
122
|
// Vendored excerpt 3, § "Daily operator surface — top level", these rows:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-help-groups.js","sourceRoot":"","sources":["../src/cli-help-groups.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAsBH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAmC;IACrE;QACE,0EAA0E;QAC1E,mDAAmD;QACnD,+CAA+C;QAC/C,4EAA4E;QAC5E,EAAE;QACF,iEAAiE;QACjE,oDAAoD;QACpD,4CAA4C;QAC5C,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,kDAAkD;QAC3D,QAAQ,EAAE;YACR,KAAK;YACL,OAAO;YACP,QAAQ;YACR,KAAK;YACL,QAAQ;YACR,SAAS;YACT,MAAM;YACN,MAAM;YACN,UAAU;YACV,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,MAAM;SACP;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;KAC/B;IACD;QACE,0EAA0E;QAC1E,qCAAqC;QACrC,wDAAwD;QACxD,mDAAmD;QACnD,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,yDAAyD;QAClE,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-help-groups.js","sourceRoot":"","sources":["../src/cli-help-groups.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export declare const CRASH_LOG_COMPONENTS: readonly ["cli", "attach", "mcp-server"];
|
|
2
|
+
export type CrashLogComponent = (typeof CRASH_LOG_COMPONENTS)[number];
|
|
3
|
+
export declare const NATIVE_HOST_LOG_COMPONENT: "native-host";
|
|
4
|
+
export type CrashLogAnyComponent = CrashLogComponent | typeof NATIVE_HOST_LOG_COMPONENT;
|
|
5
|
+
export declare const MAX_CRASH_LOG_BYTES: number;
|
|
6
|
+
export type CrashLogEvent = "start" | "uncaughtException" | "unhandledRejection" | "startupError" | "refusal" | "childExit" | "sessionExit" | "signal" | "stop" | "exit" | "dropped";
|
|
7
|
+
export interface CrashLogEntry {
|
|
8
|
+
readonly event: CrashLogEvent;
|
|
9
|
+
/** Session slug/id when the record belongs to one session; omitted otherwise. */
|
|
10
|
+
readonly sessionId?: string | undefined;
|
|
11
|
+
/** Host generation / MCP generation / launch id when known. */
|
|
12
|
+
readonly instanceId?: string | undefined;
|
|
13
|
+
/** Machine-readable reason code (refusal code, errno, op name). */
|
|
14
|
+
readonly reason?: string | undefined;
|
|
15
|
+
/** Human detail; redacted before write. */
|
|
16
|
+
readonly detail?: string | undefined;
|
|
17
|
+
/** Child/session exit code when known. */
|
|
18
|
+
readonly exitCode?: number | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Signal name (or signo) when the fatal path is a signal. Omit the field —
|
|
21
|
+
* never invent a code — when the signal is unknown.
|
|
22
|
+
*/
|
|
23
|
+
readonly signal?: string | number | undefined;
|
|
24
|
+
}
|
|
25
|
+
export interface CrashLogRow {
|
|
26
|
+
readonly timestamp: string;
|
|
27
|
+
readonly component: string;
|
|
28
|
+
readonly version: string;
|
|
29
|
+
readonly pid: number;
|
|
30
|
+
readonly event: CrashLogEvent;
|
|
31
|
+
readonly sessionId?: string | undefined;
|
|
32
|
+
readonly instanceId?: string | undefined;
|
|
33
|
+
readonly reason?: string | undefined;
|
|
34
|
+
readonly detail?: string | undefined;
|
|
35
|
+
readonly exitCode?: number | undefined;
|
|
36
|
+
readonly signal?: string | undefined;
|
|
37
|
+
}
|
|
38
|
+
export declare function resolveCrashLogPath(component: CrashLogComponent, env?: Readonly<Record<string, string | undefined>>): string;
|
|
39
|
+
/** State dir shared by all crash logs (and the native host journal). */
|
|
40
|
+
export declare function resolveCrashLogDir(env?: Readonly<Record<string, string | undefined>>): string;
|
|
41
|
+
export declare function getCrashLogVersion(): string;
|
|
42
|
+
/** Test-only: reset the cached version. */
|
|
43
|
+
export declare function resetCrashLogVersionForTests(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Redact secret values and credential patterns; never throws. Pattern
|
|
46
|
+
* redaction stands on its own: it must hold even when the secret value is
|
|
47
|
+
* absent from the writer's environment (tokens in child stderr, config JSON,
|
|
48
|
+
* CLI flags). Fail closed — an unrecognized `name=value` shape that names a
|
|
49
|
+
* credential is redacted, never passed through.
|
|
50
|
+
*/
|
|
51
|
+
export declare function redactCrashText(value: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Normalize a signal (name, signo, or numeric string) to a log-safe name.
|
|
54
|
+
* Unknown names become `"unknown"`; unknown numbers become `"SIG<n>"` so the
|
|
55
|
+
* signo survives. `undefined` stays `undefined` — callers omit the field
|
|
56
|
+
* instead of inventing a signal.
|
|
57
|
+
*/
|
|
58
|
+
export declare function crashSignalName(value: number | string | undefined): string | undefined;
|
|
59
|
+
export declare function toCrashLogRow(component: CrashLogComponent, entry: CrashLogEntry): CrashLogRow;
|
|
60
|
+
/**
|
|
61
|
+
* A lock older than this was left by a dead writer: its owner can never come
|
|
62
|
+
* back to release it, so the next writer reclaims it instead of letting the
|
|
63
|
+
* component's log go silent forever. A live lock still drops (returns false).
|
|
64
|
+
*/
|
|
65
|
+
export declare const CRASH_LOG_LOCK_STALE_MS = 10000;
|
|
66
|
+
/** Process-lifetime count of crash-log rows dropped instead of appended. */
|
|
67
|
+
export declare function getCrashLogDrops(): number;
|
|
68
|
+
/**
|
|
69
|
+
* Best-effort bounded append. One lock attempt plus one stale-orphan reclaim,
|
|
70
|
+
* no wait: contention drops the row (returns false, counted and surfaced as a
|
|
71
|
+
* `dropped` row on the next successful append) instead of blocking the fatal
|
|
72
|
+
* path it documents. Never throws.
|
|
73
|
+
*/
|
|
74
|
+
export declare function appendCrashLog(component: CrashLogComponent, entry: CrashLogEntry, logPath?: string): boolean;
|
|
75
|
+
/** Read and parse one crash log; corrupt lines are skipped, never thrown. */
|
|
76
|
+
export declare function readCrashLog(component: CrashLogComponent, logPath?: string): CrashLogRow[];
|
|
77
|
+
/** Last `lines` rows across components, oldest first, rotations included. */
|
|
78
|
+
export declare function readRecentCrashLogs(components?: readonly CrashLogComponent[], lines?: number, env?: Readonly<Record<string, string | undefined>>): CrashLogRow[];
|
|
79
|
+
/** Max chars of `detail`/`error` shown on one human `h2a logs` line. */
|
|
80
|
+
export declare const CRASH_LOG_HUMAN_DETAIL_MAX = 300;
|
|
81
|
+
/**
|
|
82
|
+
* One human `h2a logs` line: what (event/reason/code/kind/errno), when
|
|
83
|
+
* (timestamp), where (component/session/pid/generation), why
|
|
84
|
+
* (detail/error, single-line and bounded). Detail is safe to show: rows are
|
|
85
|
+
* redacted before serialization.
|
|
86
|
+
*/
|
|
87
|
+
export declare function formatCrashLogHumanRow(record: Record<string, unknown>): string;
|
|
88
|
+
/** Max bytes scanned from the end of a raw log for the viewer. */
|
|
89
|
+
export declare const CRASH_LOG_TAIL_MAX_BYTES: number;
|
|
90
|
+
/**
|
|
91
|
+
* Last `maxLines` of a text file for the viewer; missing/unreadable → [].
|
|
92
|
+
* Scans a bounded window from the end with positional reads — a multi-MB
|
|
93
|
+
* server dump is never loaded whole. Lines past the window are dropped whole
|
|
94
|
+
* (the leading, possibly partial, line is never shown truncated).
|
|
95
|
+
*/
|
|
96
|
+
export declare function readFileTailLines(path: string, maxLines: number): string[];
|
|
97
|
+
/**
|
|
98
|
+
* Passive fatal-path witness for short-lived launcher-side processes (the CLI
|
|
99
|
+
* launcher, the op child). `uncaughtExceptionMonitor` observes without
|
|
100
|
+
* altering Node's default crash/exit behavior: it only leaves a row behind in
|
|
101
|
+
* `component`.log so `h2a logs` can explain the crash. Never throws.
|
|
102
|
+
*/
|
|
103
|
+
export declare function installCrashHandlers(component: CrashLogComponent): void;
|
|
104
|
+
/**
|
|
105
|
+
* Idempotent CLI fatal-path witness. The owner binary (core `bin.ts`) reaches
|
|
106
|
+
* the runtime through lazy `dispatchRuntime()` → `main()`, never with the
|
|
107
|
+
* runtime file as `argv[1]` — so an `isEntryPoint()` gate alone never fires
|
|
108
|
+
* on the real path. Installing here covers every dispatch; the once-guard
|
|
109
|
+
* keeps repeated `main()` calls (and tests) to a single listener.
|
|
110
|
+
*/
|
|
111
|
+
export declare function installCliWitnessOnce(): void;
|
|
112
|
+
//# sourceMappingURL=crash-log.d.ts.map
|