@sentropic/h2a-runtime 0.98.0 → 0.98.3

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.
Files changed (147) hide show
  1. package/dist/agent-launch-args.d.ts +1 -1
  2. package/dist/agent-launch-args.d.ts.map +1 -1
  3. package/dist/agent-launch-args.js +16 -1
  4. package/dist/agent-launch-args.js.map +1 -1
  5. package/dist/auth-bundle.d.ts.map +1 -1
  6. package/dist/auth-bundle.js +1 -0
  7. package/dist/auth-bundle.js.map +1 -1
  8. package/dist/cli-help-groups.d.ts.map +1 -1
  9. package/dist/cli-help-groups.js +1 -0
  10. package/dist/cli-help-groups.js.map +1 -1
  11. package/dist/delegate.d.ts.map +1 -1
  12. package/dist/delegate.js +14 -2
  13. package/dist/delegate.js.map +1 -1
  14. package/dist/gateway-host/config-file.d.ts +19 -0
  15. package/dist/gateway-host/config-file.d.ts.map +1 -0
  16. package/dist/gateway-host/config-file.js +54 -0
  17. package/dist/gateway-host/config-file.js.map +1 -0
  18. package/dist/gateway-host/daemon.d.ts +61 -0
  19. package/dist/gateway-host/daemon.d.ts.map +1 -0
  20. package/dist/gateway-host/daemon.js +274 -0
  21. package/dist/gateway-host/daemon.js.map +1 -0
  22. package/dist/gateway-host/host.d.ts +34 -0
  23. package/dist/gateway-host/host.d.ts.map +1 -0
  24. package/dist/gateway-host/host.js +228 -0
  25. package/dist/gateway-host/host.js.map +1 -0
  26. package/dist/{llm-gateway-runtime/session-ledger.d.ts → gateway-host/ledger.d.ts} +4 -4
  27. package/dist/gateway-host/ledger.d.ts.map +1 -0
  28. package/dist/{llm-gateway-runtime/session-ledger.js → gateway-host/ledger.js} +1 -1
  29. package/dist/gateway-host/ledger.js.map +1 -0
  30. package/dist/{llm-gateway-runtime/sticky.d.ts → gateway-host/sessions.d.ts} +3 -1
  31. package/dist/gateway-host/sessions.d.ts.map +1 -0
  32. package/dist/{llm-gateway-runtime/sticky.js → gateway-host/sessions.js} +6 -1
  33. package/dist/gateway-host/sessions.js.map +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +76 -28
  36. package/dist/index.js.map +1 -1
  37. package/dist/launch-guard.d.ts +3 -6
  38. package/dist/launch-guard.d.ts.map +1 -1
  39. package/dist/launch-guard.js +6 -4
  40. package/dist/launch-guard.js.map +1 -1
  41. package/dist/launch-layout.d.ts +2 -0
  42. package/dist/launch-layout.d.ts.map +1 -1
  43. package/dist/launch-layout.js +15 -2
  44. package/dist/launch-layout.js.map +1 -1
  45. package/dist/llm-mesh-accounts.d.ts +55 -0
  46. package/dist/llm-mesh-accounts.d.ts.map +1 -0
  47. package/dist/llm-mesh-accounts.js +188 -0
  48. package/dist/llm-mesh-accounts.js.map +1 -0
  49. package/dist/native-host.d.ts +79 -14
  50. package/dist/native-host.d.ts.map +1 -1
  51. package/dist/native-host.js +218 -64
  52. package/dist/native-host.js.map +1 -1
  53. package/dist/native-restart.d.ts +1 -0
  54. package/dist/native-restart.d.ts.map +1 -1
  55. package/dist/native-restart.js.map +1 -1
  56. package/dist/native-terminal/attach-recovery.d.ts +9 -0
  57. package/dist/native-terminal/attach-recovery.d.ts.map +1 -0
  58. package/dist/native-terminal/attach-recovery.js +54 -0
  59. package/dist/native-terminal/attach-recovery.js.map +1 -0
  60. package/dist/native-terminal/fleet.d.ts +32 -0
  61. package/dist/native-terminal/fleet.d.ts.map +1 -0
  62. package/dist/native-terminal/fleet.js +40 -0
  63. package/dist/native-terminal/fleet.js.map +1 -0
  64. package/dist/native-terminal/host.d.ts +1 -0
  65. package/dist/native-terminal/host.d.ts.map +1 -1
  66. package/dist/native-terminal/host.js +5 -2
  67. package/dist/native-terminal/host.js.map +1 -1
  68. package/dist/native-terminal/journal.d.ts +48 -0
  69. package/dist/native-terminal/journal.d.ts.map +1 -0
  70. package/dist/native-terminal/journal.js +305 -0
  71. package/dist/native-terminal/journal.js.map +1 -0
  72. package/dist/native-terminal/op.d.ts +3 -0
  73. package/dist/native-terminal/op.d.ts.map +1 -1
  74. package/dist/native-terminal/op.js +279 -93
  75. package/dist/native-terminal/op.js.map +1 -1
  76. package/dist/native-terminal/process.d.ts.map +1 -1
  77. package/dist/native-terminal/process.js +134 -46
  78. package/dist/native-terminal/process.js.map +1 -1
  79. package/dist/native-terminal/replay-buffer.d.ts +3 -0
  80. package/dist/native-terminal/replay-buffer.d.ts.map +1 -1
  81. package/dist/native-terminal/replay-buffer.js +11 -0
  82. package/dist/native-terminal/replay-buffer.js.map +1 -1
  83. package/dist/native-terminal/reset-relay.d.ts +11 -0
  84. package/dist/native-terminal/reset-relay.d.ts.map +1 -0
  85. package/dist/native-terminal/reset-relay.js +38 -0
  86. package/dist/native-terminal/reset-relay.js.map +1 -0
  87. package/dist/native-terminal/server.d.ts +8 -0
  88. package/dist/native-terminal/server.d.ts.map +1 -1
  89. package/dist/native-terminal/server.js +535 -58
  90. package/dist/native-terminal/server.js.map +1 -1
  91. package/dist/native-terminal/socket-path.d.ts +3 -0
  92. package/dist/native-terminal/socket-path.d.ts.map +1 -1
  93. package/dist/native-terminal/socket-path.js +21 -1
  94. package/dist/native-terminal/socket-path.js.map +1 -1
  95. package/dist/native-terminal/terminal-modes.d.ts +15 -0
  96. package/dist/native-terminal/terminal-modes.d.ts.map +1 -0
  97. package/dist/native-terminal/terminal-modes.js +180 -0
  98. package/dist/native-terminal/terminal-modes.js.map +1 -0
  99. package/dist/profile-menu.d.ts.map +1 -1
  100. package/dist/profile-menu.js +2 -0
  101. package/dist/profile-menu.js.map +1 -1
  102. package/dist/profiles.d.ts +2 -0
  103. package/dist/profiles.d.ts.map +1 -1
  104. package/dist/profiles.js +6 -0
  105. package/dist/profiles.js.map +1 -1
  106. package/dist/protocol-local.d.ts +1 -1
  107. package/dist/protocol-local.d.ts.map +1 -1
  108. package/dist/protocol-local.js +1 -0
  109. package/dist/protocol-local.js.map +1 -1
  110. package/dist/registry.d.ts +1 -1
  111. package/dist/registry.d.ts.map +1 -1
  112. package/dist/registry.js +4 -1
  113. package/dist/registry.js.map +1 -1
  114. package/dist/restore.d.ts +1 -1
  115. package/dist/restore.d.ts.map +1 -1
  116. package/dist/restore.js +8 -2
  117. package/dist/restore.js.map +1 -1
  118. package/dist/{llm-routing-config.d.ts → routing-preferences.d.ts} +2 -2
  119. package/dist/routing-preferences.d.ts.map +1 -0
  120. package/dist/{llm-routing-config.js → routing-preferences.js} +16 -13
  121. package/dist/routing-preferences.js.map +1 -0
  122. package/dist/sentropic/auth-token.d.ts +1 -1
  123. package/dist/sentropic/auth-token.js +1 -1
  124. package/dist/status-projection.d.ts +1 -1
  125. package/dist/status-projection.d.ts.map +1 -1
  126. package/dist/throttle-signatures.d.ts.map +1 -1
  127. package/dist/throttle-signatures.js +3 -0
  128. package/dist/throttle-signatures.js.map +1 -1
  129. package/dist/tmux.d.ts +20 -2
  130. package/dist/tmux.d.ts.map +1 -1
  131. package/dist/tmux.js +14 -6
  132. package/dist/tmux.js.map +1 -1
  133. package/package.json +8 -4
  134. package/dist/llm-gateway-runtime/index.d.ts +0 -10
  135. package/dist/llm-gateway-runtime/index.d.ts.map +0 -1
  136. package/dist/llm-gateway-runtime/index.js +0 -147
  137. package/dist/llm-gateway-runtime/index.js.map +0 -1
  138. package/dist/llm-gateway-runtime/session-ledger.d.ts.map +0 -1
  139. package/dist/llm-gateway-runtime/session-ledger.js.map +0 -1
  140. package/dist/llm-gateway-runtime/sticky.d.ts.map +0 -1
  141. package/dist/llm-gateway-runtime/sticky.js.map +0 -1
  142. package/dist/llm-mesh.d.ts +0 -154
  143. package/dist/llm-mesh.d.ts.map +0 -1
  144. package/dist/llm-mesh.js +0 -490
  145. package/dist/llm-mesh.js.map +0 -1
  146. package/dist/llm-routing-config.d.ts.map +0 -1
  147. package/dist/llm-routing-config.js.map +0 -1
@@ -15,15 +15,16 @@
15
15
  */
16
16
  import { spawnSync } from "node:child_process";
17
17
  import { randomUUID } from "node:crypto";
18
- import { existsSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
18
+ import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
19
19
  import { tmpdir } from "node:os";
20
20
  import { basename, dirname, join } from "node:path";
21
21
  import { fileURLToPath } from "node:url";
22
22
  import { nativePtyRequirements } from "./pty.js";
23
- import { HEADLESS_TERMINAL_SIZE, HEADLESS_WRAPPER, LOCAL_WRAPPER, STRUCTURED_LOCAL_WRAPPER, localRelaunchCommand, localSessionName, procReaderDeps, slugify, } from "./tmux.js";
24
- import { readProcessTreeCpuMs, readWorkerPid } from "./proc-cpu.js";
23
+ import { HEADLESS_TERMINAL_SIZE, HEADLESS_WRAPPER, LOCAL_WRAPPER, STRUCTURED_LOCAL_WRAPPER, localRelaunchCommand, localSessionName, procReaderDeps, slugify, createStructuredReadinessChallenge, cleanupStructuredReadinessChallenge, probeStructuredReadiness, } from "./tmux.js";
24
+ import { readProcessTreeCpuMs, readWorkerPid, parseProcStat } from "./proc-cpu.js";
25
25
  import { sleepSync } from "./prompt-delivery.js";
26
26
  import { SESSION_CLASS_ENV } from "./session-class.js";
27
+ import { withAttachTerminalRecovery } from "./native-terminal/attach-recovery.js";
27
28
  const OP_TIMEOUT_MS = 15_000;
28
29
  const H2A_NATIVE_TARGET_SESSION_ENV = "H2A_NATIVE_TARGET_SESSION";
29
30
  /**
@@ -67,7 +68,8 @@ export function nativeHostAvailable() {
67
68
  return nativePtyRequirements();
68
69
  }
69
70
  function runOp(args, options = {}) {
70
- const r = spawnSync(process.execPath, [opEntryPath(), ...args], {
71
+ options.onCreateAttempt?.();
72
+ const r = spawnSync(process.execPath, [opEntryPath(), ...args, ...(options.socketPath ? ["--socket", options.socketPath] : [])], {
71
73
  encoding: "utf8",
72
74
  stdio: ["ignore", "pipe", "pipe"],
73
75
  timeout: OP_TIMEOUT_MS,
@@ -76,10 +78,6 @@ function runOp(args, options = {}) {
76
78
  throw new Error(`native host operation ${args.join(" ")} failed: ${r.error.message}`, { cause: r.error });
77
79
  }
78
80
  const status = r.status ?? 1;
79
- if (status !== 0 && options.allowFailure !== true) {
80
- const detail = (r.stderr ?? "").trim() || (r.stdout ?? "").trim();
81
- throw new Error(`native host operation ${args[0]} failed: ${detail}`);
82
- }
83
81
  let payload;
84
82
  const stdout = (r.stdout ?? "").trim();
85
83
  if (stdout.length > 0) {
@@ -90,36 +88,99 @@ function runOp(args, options = {}) {
90
88
  payload = undefined;
91
89
  }
92
90
  }
91
+ if (status !== 0 && options.allowFailure !== true) {
92
+ const diagnostic = payload;
93
+ if (args[0] === "ensure-host" && diagnostic?.code === "native-inventory-unknown")
94
+ throw new NativeLaunchAdmissionError(diagnostic);
95
+ const detail = (r.stderr ?? "").trim() || (r.stdout ?? "").trim();
96
+ throw new Error(`native host operation ${args[0]} failed: ${detail}`);
97
+ }
93
98
  return { status, payload };
94
99
  }
95
100
  /** Spawn-or-adopt the per-user host; returns its identity. */
96
- export function ensureNativeHost() {
97
- const { payload } = runOp(["ensure-host"]);
101
+ export function ensureNativeHost(options = {}) {
102
+ const { payload } = runOp(["ensure-host", ...(options.fenced ? ["--fenced", "true"] : [])]);
98
103
  const record = payload;
99
104
  if (!record || typeof record.hostPid !== "number" || typeof record.socketPath !== "string" || typeof record.generation !== "string") {
100
105
  throw new Error("native host did not report a valid identity");
101
106
  }
102
107
  return { hostPid: record.hostPid, socketPath: record.socketPath, generation: record.generation, launchFence: record.launchFence === true };
103
108
  }
104
- function prepareNativeOwnership(name, beforeCreate) {
109
+ /** Certified pre-create refusal. It cannot erase an earlier component create. */
110
+ export class NativeLaunchAdmissionError extends Error {
111
+ diagnostic;
112
+ constructor(diagnostic) {
113
+ super(`Launch refused before creation: ${diagnostic.code}${diagnostic.id ? ` (${diagnostic.id})` : ""}. No session was created by this attempt.${diagnostic.code === "native-inventory-unknown" ? ` Endpoints: ${JSON.stringify(diagnostic.hosts)}. Inspect endpoint permissions and the owning process identity, restore probe access, then retry; do not remove sockets or locks while ownership is unproven.` : ""}`);
114
+ this.diagnostic = diagnostic;
115
+ }
116
+ toRunFailure(launchId) {
117
+ return { kind: "h2a.run.failure", version: 1, state: "not-started", launchId,
118
+ phase: "admission", creationAttempted: false, retrySafe: true, ...this.diagnostic };
119
+ }
120
+ }
121
+ function admitNativeCreation(name, sidecar, launchSocket) {
122
+ const { payload } = runOp(["admit", "--id", name, ...(sidecar ? ["--sidecar", sidecar] : []),
123
+ ...(launchSocket ? ["--launch-socket", launchSocket] : [])]);
124
+ const diagnostic = payload;
125
+ if (diagnostic?.admitted === true)
126
+ return;
127
+ throw new NativeLaunchAdmissionError(diagnostic?.code ? diagnostic
128
+ : { code: "native-inventory-unknown" });
129
+ }
130
+ /** Evidence for this component only; callers must rule out earlier creates. */
131
+ export class NativeHostCapabilityMismatchError extends Error {
132
+ host;
133
+ constructor(host) {
134
+ super(`Launch refused before creation: host ${host.generation} on ${host.socketPath} does not provide launchFence. ` +
135
+ "No session was created by this attempt. Its existing sessions remain active. " +
136
+ "Use automatic generation selection with the corrected runtime; if this socket was explicitly imposed, " +
137
+ "remove that constraint only for the new launch. No restart of the existing host is necessary.");
138
+ this.host = host;
139
+ this.name = "NativeHostCapabilityMismatchError";
140
+ }
141
+ toRunFailure(launchId) {
142
+ return {
143
+ kind: "h2a.run.failure", version: 1, state: "not-started",
144
+ code: "native-host-capability-mismatch", launchId, phase: "host-selection",
145
+ creationAttempted: false, retrySafe: true, missingCapabilities: ["launchFence"],
146
+ host: this.host, recovery: { action: "select-compatible-generation", automaticRetry: false },
147
+ };
148
+ }
149
+ }
150
+ export function preflightNativeLaunch(name, sidecar = nativeSidecarName(name), ownerSocket) {
151
+ const selected = ownerSocket ? runOp(["ensure-host"], { socketPath: ownerSocket }).payload
152
+ : ensureNativeHost({ fenced: true });
153
+ const { launchFence, hostPid, socketPath, generation } = selected;
154
+ if (!launchFence)
155
+ throw new NativeHostCapabilityMismatchError({ generation, hostPid, socketPath });
156
+ admitNativeCreation(name, sidecar, socketPath);
157
+ return selected;
158
+ }
159
+ function prepareNativeOwnership(name, beforeCreate, sidecar, ownerSocket) {
105
160
  if (!beforeCreate)
106
161
  return [];
107
- const { generation, launchFence } = ensureNativeHost();
162
+ const selected = sidecar !== undefined ? preflightNativeLaunch(name, sidecar, ownerSocket)
163
+ : ownerSocket ? runOp(["ensure-host"], { socketPath: ownerSocket }).payload
164
+ : ensureNativeHost({ fenced: true });
165
+ const { generation, launchFence, hostPid, socketPath } = selected;
108
166
  if (!launchFence)
109
- throw new Error("native host cannot reserve launch ownership; restart the host before launching");
167
+ throw new NativeHostCapabilityMismatchError({ generation, hostPid, socketPath });
168
+ if (sidecar === undefined)
169
+ admitNativeCreation(name, undefined, socketPath);
110
170
  const incarnation = randomUUID();
111
- beforeCreate({ name, generation, incarnation });
112
- return ["--generation", generation, "--incarnation", incarnation];
171
+ beforeCreate({ name, generation, incarnation, socketPath });
172
+ return ["--socket", socketPath, "--generation", generation, "--incarnation", incarnation,
173
+ ...(sidecar ? ["--sidecar", sidecar] : [])];
113
174
  }
114
175
  export function listNativeSessions() {
115
176
  const { payload } = runOp(["list"]);
116
177
  const record = payload;
117
- return record?.sessions ?? [];
178
+ return Object.assign([...(record?.sessions ?? [])], { complete: record?.complete === true });
118
179
  }
119
- export function nativeSessionState(name) {
180
+ export function nativeSessionState(name, socketPath) {
120
181
  let result;
121
182
  try {
122
- result = runOp(["probe", "--id", name], { allowFailure: true });
183
+ result = runOp(["probe", "--id", name], { allowFailure: true, socketPath });
123
184
  }
124
185
  catch (error) {
125
186
  // Spawn-level failure (timeout, ENOMEM, …): nothing was proven.
@@ -140,6 +201,8 @@ export function nativeSessionState(name) {
140
201
  return {
141
202
  state: "unknown",
142
203
  reason: record.reason ?? "native probe op returned no verdict",
204
+ ...(record.code === "ambiguous-owner" ? { code: "ambiguous-owner",
205
+ ...(record.sockets ? { sockets: record.sockets } : {}) } : {}),
143
206
  };
144
207
  }
145
208
  /**
@@ -171,13 +234,16 @@ export function startNativeSession(profile, command, cwd, args = [], label, meta
171
234
  const slug = slugify(label ?? cwd);
172
235
  const name = localSessionName(slug);
173
236
  const existing = nativeSessionState(name);
174
- if (existing.state === "unknown") {
237
+ if (existing.state === "unknown" && !metadata.beforeCreate) {
175
238
  // An unprovable host state must never be read as absence: creating here
176
239
  // could fabricate a twin over a live session (fail closed).
177
240
  throw new Error(`native session ${slug}: host state is unknown (${existing.reason}); refusing to create over an unprovable session`);
178
241
  }
179
242
  if (existing.state === "found" && existing.session.status !== "exited") {
180
243
  if (metadata.refuseExisting) {
244
+ if (metadata.beforeCreate)
245
+ throw new NativeLaunchAdmissionError({ code: "native-name-collision", id: name,
246
+ ...(existing.session.socketPath ? { socketPath: existing.session.socketPath } : {}) });
181
247
  throw new Error(`native session ${slug} already exists; no agent was started`);
182
248
  }
183
249
  return { name, slug, pid: existing.session.pid };
@@ -198,6 +264,8 @@ export function startNativeSession(profile, command, cwd, args = [], label, meta
198
264
  env[key] = value;
199
265
  }
200
266
  env["TERM"] = "xterm-256color";
267
+ // The launch runtime may still be connected to an older protocol-v1 host.
268
+ env["H2A_NATIVE_TERMINAL"] = "1";
201
269
  if (metadata.sessionClass !== undefined) {
202
270
  env[SESSION_CLASS_ENV] = metadata.sessionClass;
203
271
  }
@@ -207,9 +275,10 @@ export function startNativeSession(profile, command, cwd, args = [], label, meta
207
275
  const envFile = join(envDir, "env.json");
208
276
  try {
209
277
  writeFileSync(envFile, JSON.stringify(env), { mode: 0o600 });
278
+ const ownershipArgs = prepareNativeOwnership(name, metadata.beforeCreate, nativeSidecarName(name));
210
279
  const { payload } = runOp([
211
280
  "create",
212
- ...prepareNativeOwnership(name, metadata.beforeCreate),
281
+ ...ownershipArgs,
213
282
  "--id",
214
283
  name,
215
284
  "--cwd",
@@ -222,7 +291,7 @@ export function startNativeSession(profile, command, cwd, args = [], label, meta
222
291
  envFile,
223
292
  "--",
224
293
  ...agentCommand,
225
- ]);
294
+ ], { onCreateAttempt: metadata.onCreateAttempt });
226
295
  const state = payload;
227
296
  if (!state || typeof state.pid !== "number") {
228
297
  throw new Error(`native host did not return a session state for ${slug}`);
@@ -234,34 +303,34 @@ export function startNativeSession(profile, command, cwd, args = [], label, meta
234
303
  }
235
304
  }
236
305
  /** sendKeysLiteral twin: raw keystrokes, no interpretation. */
237
- export function nativeSendKeysLiteral(name, text) {
238
- const { status } = runOp(["write", "--id", name, "--b64", Buffer.from(text, "utf8").toString("base64")], { allowFailure: true });
306
+ export function nativeSendKeysLiteral(name, text, socketPath) {
307
+ const { status } = runOp(["write", "--id", name, "--b64", Buffer.from(text, "utf8").toString("base64")], { allowFailure: true, socketPath });
239
308
  return status === 0;
240
309
  }
241
310
  /** paste-buffer -p twin: the text lands as ONE bracketed block. */
242
- export function nativePasteBlock(name, text) {
243
- const { status } = runOp(["paste", "--id", name, "--b64", Buffer.from(text, "utf8").toString("base64")], { allowFailure: true });
311
+ export function nativePasteBlock(name, text, socketPath) {
312
+ const { status } = runOp(["paste", "--id", name, "--b64", Buffer.from(text, "utf8").toString("base64")], { allowFailure: true, socketPath });
244
313
  return status === 0;
245
314
  }
246
315
  /** The Enter that submits a composed block. */
247
- export function nativeSendEnter(name) {
248
- const { status } = runOp(["enter", "--id", name], { allowFailure: true });
316
+ export function nativeSendEnter(name, socketPath) {
317
+ const { status } = runOp(["enter", "--id", name], { allowFailure: true, socketPath });
249
318
  return status === 0;
250
319
  }
251
320
  /**
252
321
  * capturePane twin: returns the rendered current screen, including cursor
253
322
  * positioning and erasures, just like tmux capture-pane.
254
323
  */
255
- export function nativeCapture(name, bytes = 16_384) {
256
- const { status, payload } = runOp(["capture", "--id", name, "--bytes", String(bytes)], { allowFailure: true });
324
+ export function nativeCapture(name, bytes = 16_384, socketPath) {
325
+ const { status, payload } = runOp(["capture", "--id", name, "--bytes", String(bytes)], { allowFailure: true, socketPath });
257
326
  if (status !== 0)
258
327
  return undefined;
259
328
  const record = payload;
260
329
  return typeof record?.text === "string" ? record.text : undefined;
261
330
  }
262
331
  /** kill-session twin: SIGTERM with SIGKILL escalation inside the op. */
263
- export function killNativeSession(name) {
264
- const { status } = runOp(["kill", "--id", name], { allowFailure: true });
332
+ export function killNativeSession(name, socketPath) {
333
+ const { status } = runOp(["kill", "--id", name], { allowFailure: true, socketPath });
265
334
  return status === 0;
266
335
  }
267
336
  /**
@@ -269,7 +338,7 @@ export function killNativeSession(name) {
269
338
  * preflight. The host performs both fence comparisons atomically before it
270
339
  * invalidates an attached controller or emits a signal.
271
340
  */
272
- export function killNativeSessionIfIncarnation(name, generation, incarnation) {
341
+ export function killNativeSessionIfIncarnation(name, generation, incarnation, socketPath) {
273
342
  const { status } = runOp([
274
343
  "kill-if-incarnation",
275
344
  "--id",
@@ -278,7 +347,7 @@ export function killNativeSessionIfIncarnation(name, generation, incarnation) {
278
347
  generation,
279
348
  "--incarnation",
280
349
  incarnation,
281
- ], { allowFailure: true });
350
+ ], { allowFailure: true, socketPath });
282
351
  return status === 0;
283
352
  }
284
353
  /**
@@ -310,11 +379,15 @@ export function driveNativeInstruction(target, instruction) {
310
379
  * free because the sidecar is a window inside the killed session).
311
380
  */
312
381
  export function killNativeSessionTree(name) {
313
- const killed = killNativeSession(name);
382
+ const main = nativeSessionState(name);
383
+ if (main.state === "unknown")
384
+ return false;
385
+ const killed = main.state === "found" && killNativeSession(name, main.session.socketPath);
314
386
  // Best-effort companion cleanup: only a POSITIVELY-found sidecar is
315
387
  // killed; absent needs nothing and unknown proves nothing to act on.
316
- if (nativeSessionState(nativeSidecarName(name)).state === "found") {
317
- killNativeSession(nativeSidecarName(name));
388
+ const sidecar = nativeSessionState(nativeSidecarName(name));
389
+ if (sidecar.state === "found") {
390
+ killNativeSession(nativeSidecarName(name), sidecar.session.socketPath);
318
391
  }
319
392
  return killed;
320
393
  }
@@ -324,17 +397,20 @@ export function killNativeSessionTree(name) {
324
397
  * prompt rides a 0600 file consumed and unlinked by the wrapper — identical
325
398
  * contract to the tmux path.
326
399
  */
327
- export function startNativeHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, promptInput, refuseExisting = false, sessionClass) {
400
+ export function startNativeHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, promptInput, refuseExisting = false, sessionClass, onCreateAttempt, beforeCreate) {
328
401
  const slug = slugify(label);
329
402
  const name = localSessionName(slug);
330
403
  const existing = nativeSessionState(name);
331
- if (existing.state === "unknown") {
404
+ if (existing.state === "unknown" && !beforeCreate) {
332
405
  // Same fail-closed rule as startNativeSession: an unprovable host state
333
406
  // is never permission to create a possible twin.
334
407
  throw new Error(`native session ${slug}: host state is unknown (${existing.reason}); refusing to create over an unprovable session`);
335
408
  }
336
409
  if (existing.state === "found" && existing.session.status !== "exited") {
337
410
  if (refuseExisting) {
411
+ if (beforeCreate)
412
+ throw new NativeLaunchAdmissionError({ code: "native-name-collision", id: name,
413
+ ...(existing.session.socketPath ? { socketPath: existing.session.socketPath } : {}) });
338
414
  throw new Error(`native session ${slug} already exists; no agent was started`);
339
415
  }
340
416
  return { name, slug, pid: existing.session.pid };
@@ -371,6 +447,7 @@ export function startNativeHeadlessSession(profile, command, cwd, args, resultJs
371
447
  writeFileSync(envFile, JSON.stringify(env), { mode: 0o600 });
372
448
  const { payload } = runOp([
373
449
  "create",
450
+ ...prepareNativeOwnership(name, beforeCreate, nativeSidecarName(name)),
374
451
  "--id",
375
452
  name,
376
453
  "--cwd",
@@ -383,7 +460,7 @@ export function startNativeHeadlessSession(profile, command, cwd, args, resultJs
383
460
  envFile,
384
461
  "--",
385
462
  ...agentCommand,
386
- ]);
463
+ ], { onCreateAttempt });
387
464
  const state = payload;
388
465
  if (!state || typeof state.pid !== "number") {
389
466
  throw new Error(`native host did not return a session state for ${slug}`);
@@ -401,6 +478,8 @@ export function startNativeHeadlessSession(profile, command, cwd, args, resultJs
401
478
  */
402
479
  export function startNativeH2aSidecar(name, cwd, h2aCommand, options = {}) {
403
480
  const sidecar = nativeSidecarName(name);
481
+ const parent = nativeSessionState(name);
482
+ const ownerSocket = parent.state === "found" ? parent.session.socketPath : undefined;
404
483
  const existing = nativeSessionState(sidecar);
405
484
  if (existing.state === "unknown") {
406
485
  // Unprovable sidecar state: report failure without creating a possible
@@ -428,11 +507,17 @@ export function startNativeH2aSidecar(name, cwd, h2aCommand, options = {}) {
428
507
  env["H2A_NATIVE_PTY_SESSION"] = name;
429
508
  const envDir = mkdtempSync(join(tmpdir(), "h2a-native-env-"));
430
509
  const envFile = join(envDir, "env.json");
510
+ const challenge = options.verified ? createStructuredReadinessChallenge() : undefined;
511
+ if (challenge) {
512
+ env["H2A_MCP_READY_FILE"] = challenge.file;
513
+ env["H2A_MCP_READY_NONCE"] = challenge.nonce;
514
+ }
431
515
  try {
432
516
  writeFileSync(envFile, JSON.stringify(env), { mode: 0o600 });
433
517
  runOp([
434
518
  "create",
435
- ...prepareNativeOwnership(sidecar, options.beforeCreate),
519
+ ...(options.beforeCreate ? prepareNativeOwnership(sidecar, options.beforeCreate, undefined, ownerSocket)
520
+ : ownerSocket ? ["--socket", ownerSocket] : []),
436
521
  "--id",
437
522
  sidecar,
438
523
  "--cwd",
@@ -446,40 +531,95 @@ export function startNativeH2aSidecar(name, cwd, h2aCommand, options = {}) {
446
531
  "--",
447
532
  "/bin/bash",
448
533
  "-lc",
449
- h2aCommand,
450
- ]);
534
+ // Match the structured tmux wrapper: the MCP process must replace the
535
+ // shell so its readiness ACK names the PID owned by this incarnation.
536
+ challenge ? `exec ${h2aCommand}` : h2aCommand,
537
+ ], { onCreateAttempt: options.onCreateAttempt });
538
+ if (challenge) {
539
+ // Readiness is the correlated post-identity ACK, not an arbitrary crash
540
+ // observation window. Pin the component owner throughout the wait.
541
+ const deadline = Date.now() + 20_000;
542
+ const initial = nativeSessionState(sidecar, ownerSocket);
543
+ if (initial.state !== "found" || initial.session.status !== "running")
544
+ return false;
545
+ const owned = initial.session;
546
+ let nextOwnerCheck = Date.now() + 1_000;
547
+ while (Date.now() < deadline) {
548
+ // Linux's crash-containment guardian is the PTY leader; the MCP
549
+ // process runs below it. Prove that the ACK's PID is a live descendant
550
+ // in that same process group, without walking the global /proc inventory.
551
+ const ready = probeStructuredReadiness(challenge, owned.pid, (pid) => nativeReadinessPidMatches(pid, owned.pid));
552
+ if (ready.state === "invalid")
553
+ return false;
554
+ if (ready.state === "ready") {
555
+ const currentParent = nativeSessionState(name, ownerSocket);
556
+ const currentSidecar = nativeSessionState(sidecar, ownerSocket);
557
+ return parent.state === "found" && currentParent.state === "found" &&
558
+ currentParent.session.status === "running" &&
559
+ currentParent.session.generation === parent.session.generation &&
560
+ currentParent.session.incarnation === parent.session.incarnation &&
561
+ currentSidecar.state === "found" && currentSidecar.session.status === "running" &&
562
+ currentSidecar.session.generation === owned.generation &&
563
+ currentSidecar.session.incarnation === owned.incarnation &&
564
+ currentSidecar.session.pid === owned.pid;
565
+ }
566
+ // Poll the correlated file cheaply; spawning a fresh op.js process on
567
+ // every 50 ms tick amplified CPU/I/O contention during a launch burst.
568
+ // The pinned owner is checked periodically and again on the ACK path.
569
+ if (Date.now() >= nextOwnerCheck) {
570
+ const state = nativeSessionState(sidecar, ownerSocket);
571
+ if (state.state !== "found" || state.session.status !== "running" ||
572
+ state.session.generation !== owned.generation || state.session.incarnation !== owned.incarnation ||
573
+ state.session.pid !== owned.pid)
574
+ return false;
575
+ nextOwnerCheck = Date.now() + 1_000;
576
+ }
577
+ sleepSync(50);
578
+ }
579
+ return false;
580
+ }
581
+ const state = nativeSessionState(sidecar, ownerSocket);
582
+ return state.state === "found" && state.session.status === "running";
451
583
  }
452
584
  catch {
453
585
  return false;
454
586
  }
455
587
  finally {
456
588
  rmSync(envDir, { recursive: true, force: true });
589
+ if (challenge)
590
+ cleanupStructuredReadinessChallenge(challenge);
457
591
  }
458
- if (options.verified) {
459
- // The sidecar must still be alive once it had time to crash on startup.
460
- // An "unknown" probe mid-loop is transient: keep waiting; the FINAL
461
- // check below only reports success on a POSITIVE running verdict.
462
- const deadline = Date.now() + 2_000;
463
- while (Date.now() < deadline) {
464
- const state = nativeSessionState(sidecar);
465
- if (state.state === "absent" ||
466
- (state.state === "found" && state.session.status === "exited")) {
592
+ }
593
+ function nativeReadinessPidMatches(pid, ownerPid) {
594
+ if (pid === ownerPid)
595
+ return true;
596
+ if (process.platform !== "linux")
597
+ return false;
598
+ const seen = new Set();
599
+ try {
600
+ while (pid > 1 && seen.size < 64 && !seen.has(pid)) {
601
+ seen.add(pid);
602
+ const raw = readFileSync(`/proc/${pid}/stat`, "utf8");
603
+ const fields = raw.slice(raw.lastIndexOf(")") + 1).trim().split(/\s+/);
604
+ const parsed = parseProcStat(raw);
605
+ if (!parsed || fields[0] === "Z" || fields[0] === "X" || Number(fields[2]) !== ownerPid)
467
606
  return false;
468
- }
469
- sleepSync(200);
607
+ if (parsed.ppid === ownerPid)
608
+ return true;
609
+ pid = parsed.ppid;
470
610
  }
471
611
  }
472
- const state = nativeSessionState(sidecar);
473
- return state.state === "found" && state.session.status === "running";
612
+ catch { /* absent/unreadable process is not a readiness proof */ }
613
+ return false;
474
614
  }
475
615
  /**
476
616
  * Foreground interactive attach on the CURRENT terminal (tmux attach twin).
477
617
  * Blocks until the session exits or the user detaches with Ctrl-\.
478
618
  */
479
- export function attachNativeSession(name) {
480
- const r = spawnSync(process.execPath, [opEntryPath(), "attach", "--id", name], {
481
- stdio: "inherit",
482
- });
619
+ export function attachNativeSession(name, socketPath) {
620
+ const r = withAttachTerminalRecovery((env) => spawnSync(process.execPath, [opEntryPath(), "attach", "--id", name, ...(socketPath ? ["--socket", socketPath] : [])], {
621
+ stdio: "inherit", env,
622
+ }));
483
623
  return r.status ?? 1;
484
624
  }
485
625
  /** clearPaneComposer twin: C-u wipes the composer line (best-effort). */
@@ -506,12 +646,26 @@ export function nativeWorkerPid(name) {
506
646
  * key given to deliverInitialPrompt must be the session NAME.
507
647
  */
508
648
  export function nativePromptDeliveryDeps(sleep) {
649
+ const owners = new Map();
650
+ const owner = (name) => {
651
+ const pinned = owners.get(name);
652
+ if (pinned)
653
+ return pinned;
654
+ const probe = nativeSessionState(name);
655
+ if (probe.state !== "found" || !probe.session.socketPath)
656
+ throw new Error(`native prompt owner is unproven for ${name}`);
657
+ owners.set(name, probe.session.socketPath);
658
+ return probe.session.socketPath;
659
+ };
509
660
  return {
510
- capturePane: (name) => nativeCapture(name),
511
- clearComposer: (name) => nativeClearComposer(name),
512
- pasteBlock: (name, text) => nativePasteBlock(name, text),
513
- submit: (name) => nativeSendEnter(name),
514
- cpuMs: (name) => nativeTreeCpuMs(name),
661
+ capturePane: (name) => nativeCapture(name, 16_384, owner(name)),
662
+ clearComposer: (name) => nativeSendKeysLiteral(name, "\u0015", owner(name)),
663
+ pasteBlock: (name, text) => nativePasteBlock(name, text, owner(name)),
664
+ submit: (name) => nativeSendEnter(name, owner(name)),
665
+ cpuMs: (name) => {
666
+ const probe = nativeSessionState(name, owner(name));
667
+ return probe.state === "found" ? readProcessTreeCpuMs(probe.session.pid, procReaderDeps()) : undefined;
668
+ },
515
669
  sleep,
516
670
  now: () => Date.now(),
517
671
  };
@@ -1 +1 @@
1
- {"version":3,"file":"native-host.js","sourceRoot":"","sources":["../src/native-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-host.js","sourceRoot":"","sources":["../src/native-host.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ export type NativeRestartSnapshot = Readonly<{
26
26
  generation: string;
27
27
  incarnation: string;
28
28
  controlled: boolean;
29
+ socketPath?: string;
29
30
  }> | Readonly<{
30
31
  state: "dead";
31
32
  }> | Readonly<{
@@ -1 +1 @@
1
- {"version":3,"file":"native-restart.d.ts","sourceRoot":"","sources":["../src/native-restart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-restart.d.ts","sourceRoot":"","sources":["../src/native-restart.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,0BAA0B,GAAG,IAAI,GAAG,KAAK,CAAC;AACtD,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IACtC,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACnC,+FAA+F;IAC/F,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,GACF,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC3B,QAAQ,CAAC;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEnC,MAAM,MAAM,+BAA+B,GACvC,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,QAAQ,CAAC;AAEb,MAAM,WAAW,yBAAyB,CAAC,QAAQ,GAAG,OAAO;IAC3D,YAAY,IAAI,SAAS,sBAAsB,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAAC;IACjE,OAAO,CACL,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,OAAO,CAAC,qBAAqB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAC3D,WAAW,EAAE,wBAAwB,GACpC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,CACL,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,OAAO,CAAC,qBAAqB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAC3D,WAAW,EAAE,wBAAwB,EACrC,QAAQ,EAAE,QAAQ,GACjB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,KAAK,CACH,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,MAAM,GAClB,+BAA+B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;CAC/E;AAED,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,GAChB,sBAAsB,GACtB,wBAAwB,GACxB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,oBAAoB,CAAC;IACvD,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;IAChD,WAAW,EAAE,wBAAwB,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC;IACzB,QAAQ,EAAE,SAAS,0BAA0B,EAAE,CAAC;CACjD,CAAC,CAAC;AAEH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EACT,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,4BAA4B,CAAC;gBAErB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAK9D;AAID,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQjE;AA0FD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EACjD,OAAO,EAAE,oBAAoB,EAC7B,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,GAChD,OAAO,CAAC,mBAAmB,CAAC,CAoI9B"}