@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
@@ -1,3 +1,4 @@
1
+ // Retained h2a adapter — owner decision 2026-10-03 (sessions h2a kept until convergence with sentropic workspace/session notions)
1
2
  import { randomBytes } from "node:crypto";
2
3
  const sessionsByToken = new Map();
3
4
  const tokensBySession = new Map();
@@ -44,8 +45,12 @@ export function lookupSessionById(sessionId) {
44
45
  export function sessionCount() {
45
46
  return sessionsByToken.size;
46
47
  }
48
+ /** Public registry view for sessions that have not acquired a route yet. */
49
+ export function listPublicSessions() {
50
+ return [...sessionsByToken.values()].map(({ gatewayToken: _bearer, ...session }) => session);
51
+ }
47
52
  export function resetSessions() {
48
53
  sessionsByToken.clear();
49
54
  tokensBySession.clear();
50
55
  }
51
- //# sourceMappingURL=sticky.js.map
56
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/gateway-host/sessions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ import { attachLocalSession, attachPodTmux, capturePane, capturePaneVisible, cle
20
20
  import { deliverInitialPrompt, sleepSync, } from "./prompt-delivery.js";
21
21
  import { startLaunchGuard } from "./launch-guard.js";
22
22
  import { buildLaunchContext } from "./launch-context.js";
23
- import { attachNativeSession, driveNativeInstruction, killNativeSessionIfIncarnation, killNativeSessionTree, nativeHostAvailable, nativePromptDeliveryDeps, nativeSessionLiveness, nativeSessionPid, nativeSessionState, nativeTreeCpuMs, nativeWorkerPid, resolveSessionHostKind, startNativeH2aSidecar, startNativeHeadlessSession, startNativeSession, } from "./native-host.js";
23
+ import { attachNativeSession, driveNativeInstruction, killNativeSessionIfIncarnation, killNativeSessionTree, nativeHostAvailable, nativePromptDeliveryDeps, nativeSessionLiveness, nativeSessionPid, nativeSessionState, nativeTreeCpuMs, nativeWorkerPid, preflightNativeLaunch, resolveSessionHostKind, startNativeH2aSidecar, startNativeHeadlessSession, startNativeSession, NativeHostCapabilityMismatchError, NativeLaunchAdmissionError, } from "./native-host.js";
24
24
  import { executeNativeRestart, NativeRestartError, } from "./native-restart.js";
25
25
  import { migrateTmuxNames } from "./tmux-name-migration.js";
26
26
  import { projectStatusForH2a } from "./status-projection.js";
@@ -72,9 +72,11 @@ const H2A_RUN_API_VERSION = "h2a.run/v1";
72
72
  const STRUCTURED_LAUNCH_PHASE_PREFIX = "[h2a] h2a.run.phase/v1 ";
73
73
  const H2A_RUNTIME_VERSION = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
74
74
  import { CLI_PROFILES, gatewayModeForProfile, profileUsesLlmMeshGateway, } from "./protocol-local.js";
75
- import { enrollViaFacade, formatLlmMeshAccountError, formatLlmMeshAccountList, listAccountsViaFacade, readLlmMeshConfig, startGateway, stopGateway, readGatewayPid, llmMeshLogPath, replaceAnthropicGatewayEnvironment, removeAccountViaFacade, acquireLlmMeshSessionEnv, updateLlmMeshRoutingConfig, } from "./llm-mesh.js";
76
- import { describeLlmMeshRoutingConfig, parseLlmMeshRoutingConfig, preferredRoutingConfig, strategyRoutingConfig, } from "./llm-routing-config.js";
77
- const KNOWN_PROFILE_HELP = `${CLI_PROFILES.join(", ")} (aliases: claude-code, antigravity, gemini-cli, mistralcli, muse-code)`;
75
+ import { enrollViaFacade, formatLlmMeshAccountError, formatLlmMeshAccountList, listAccountsViaFacade, removeAccountViaFacade, } from "./llm-mesh-accounts.js";
76
+ import { readLlmMeshConfig, updateLlmMeshRoutingConfig, } from "./gateway-host/config-file.js";
77
+ import { startGateway, stopGateway, readGatewayPid, llmMeshLogPath, replaceAnthropicGatewayEnvironment, acquireLlmMeshSessionEnv, } from "./gateway-host/daemon.js";
78
+ import { describeLlmMeshRoutingConfig, parseLlmMeshRoutingConfig, preferredRoutingConfig, strategyRoutingConfig, } from "./routing-preferences.js";
79
+ const KNOWN_PROFILE_HELP = `${CLI_PROFILES.join(", ")} (aliases: claude-code, antigravity, gemini-cli, mistralcli, muse-code, mistral-vibe)`;
78
80
  export const packageName = "@sentropic/h2a-runtime";
79
81
  export const H2A_RUNTIME_CLI_API_VERSION = 1;
80
82
  export { run } from "./run.js";
@@ -1320,6 +1322,11 @@ function localResumeArgs(profile, convId, opts = {}) {
1320
1322
  case "agy":
1321
1323
  case "antigravity":
1322
1324
  return ["--resume", ...(convId ? [convId] : [])];
1325
+ case "vibe":
1326
+ case "mistral-vibe":
1327
+ // vibe: explicit id → --resume <id>; bare/most-recent → -c (never a
1328
+ // bare --resume: that would open the interactive picker).
1329
+ return convId ? ["--resume", convId] : ["-c"];
1323
1330
  default:
1324
1331
  return [];
1325
1332
  }
@@ -1918,6 +1925,7 @@ export async function main(argv) {
1918
1925
  ["gemini", "gemini-cli"],
1919
1926
  ["mistral", "mistralcli"],
1920
1927
  ["muse", "muse-code"],
1928
+ ["vibe", "mistral-vibe"],
1921
1929
  ["opencode", undefined],
1922
1930
  ["shell", undefined],
1923
1931
  ]) {
@@ -4143,7 +4151,22 @@ export async function main(argv) {
4143
4151
  process.stderr.write(`[h2a] conversation ${opts.resume} is already being resumed; duplicate launch request skipped.\n`);
4144
4152
  return;
4145
4153
  }
4154
+ // Covers the entire attempt, including an already-created agent when
4155
+ // sidecar selection fails. Component-level refusals cannot clear it.
4156
+ let creationAttempted = false;
4157
+ const onCreateAttempt = () => {
4158
+ creationAttempted = true;
4159
+ if (opts.json && opts.name) {
4160
+ process.stderr.write(`${STRUCTURED_LAUNCH_PHASE_PREFIX}${JSON.stringify({
4161
+ launchId: opts.name, phase: "creation-attempted",
4162
+ })}\n`);
4163
+ }
4164
+ };
4146
4165
  try {
4166
+ if (structuredLaunch && sessionHost === "native") {
4167
+ for (const label of labels)
4168
+ preflightNativeLaunch(localSessionName(slugify(label ?? cwd)));
4169
+ }
4147
4170
  const reservedTmuxSlugs = tmuxAvailable()
4148
4171
  ? existingLocalSessionSlugs(labels, cwd)
4149
4172
  : [];
@@ -4183,16 +4206,22 @@ export async function main(argv) {
4183
4206
  // to launch on an unprovable host state.
4184
4207
  const nativeExistence = labels
4185
4208
  .map((label) => slugify(label ?? cwd))
4186
- .map((slug) => ({
4187
- slug,
4188
- probe: probeNativeSession(localSessionName(slug)),
4189
- }));
4209
+ .map((slug) => {
4210
+ const detail = nativeSessionState(localSessionName(slug));
4211
+ const probe = detail.state === "unknown" ? "unknown"
4212
+ : detail.state === "found" && detail.session.status === "running" ? "live" : "dead";
4213
+ return { slug, probe, reason: detail.state === "unknown" ? detail.reason : undefined };
4214
+ });
4190
4215
  const unknownNativeSlugs = nativeExistence
4191
- .filter((probed) => probed.probe === "unknown")
4192
- .map((probed) => probed.slug);
4216
+ .filter((probed) => probed.probe === "unknown");
4193
4217
  if (unknownNativeSlugs.length > 0) {
4194
- for (const slug of unknownNativeSlugs) {
4195
- process.stderr.write(`[h2a] cannot start ${slug}: native host state is unknown (the probe failed) — a probe failure is never proof of absence; refusing to risk a second writer (fail closed).\n`);
4218
+ for (const { slug, reason } of unknownNativeSlugs) {
4219
+ process.stderr.write(`[h2a] cannot start ${slug}: native host state is unknown: ${reason}. Refusing to risk a second writer (fail closed). Inspect the named endpoint permissions and owning process identity, restore probe access, then retry; do not remove sockets or locks while ownership is unproven.\n`);
4220
+ }
4221
+ if (opts.json && opts.name) {
4222
+ const failure = new NativeLaunchAdmissionError({ code: "native-inventory-unknown",
4223
+ hosts: unknownNativeSlugs.map(({ slug, reason }) => ({ id: localSessionName(slug), reason })) });
4224
+ process.stdout.write(`${JSON.stringify(failure.toRunFailure(opts.name))}\n`);
4196
4225
  }
4197
4226
  process.exitCode = 1;
4198
4227
  return;
@@ -4337,12 +4366,6 @@ export async function main(argv) {
4337
4366
  let promptDelivery;
4338
4367
  let launchGuard;
4339
4368
  let launchOwnership;
4340
- if (opts.json && opts.name) {
4341
- process.stderr.write(`${STRUCTURED_LAUNCH_PHASE_PREFIX}${JSON.stringify({
4342
- launchId: opts.name,
4343
- phase: "creation-attempted",
4344
- })}\n`);
4345
- }
4346
4369
  if (opts.headless) {
4347
4370
  const runDir = join(cwd, ".h2a", "runs", label);
4348
4371
  mkdirSync(runDir, { recursive: true });
@@ -4358,14 +4381,18 @@ export async function main(argv) {
4358
4381
  })
4359
4382
  : initialPrompt;
4360
4383
  if (sessionHost === "native") {
4361
- ({ name, slug, promptFile } = startNativeHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, headlessPromptInput, structuredLaunch, sessionClass));
4384
+ ({ name, slug, promptFile } = startNativeHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, headlessPromptInput, structuredLaunch, sessionClass, onCreateAttempt, structuredLaunch ? (owned) => {
4385
+ launchOwnership = { host: "native", sessions: [owned] };
4386
+ launchGuard = startLaunchGuard(runDir, launchOwnership);
4387
+ } : undefined));
4362
4388
  }
4363
4389
  else {
4364
- ({ name, slug, agentPane, promptFile } = startHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, getTmuxProfileConfig().profile, headlessPromptInput, structuredLaunch, sessionClass));
4390
+ ({ name, slug, agentPane, promptFile } = startHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, getTmuxProfileConfig().profile, headlessPromptInput, structuredLaunch, sessionClass, onCreateAttempt));
4365
4391
  }
4366
4392
  }
4367
4393
  else if (sessionHost === "native") {
4368
4394
  ({ name, slug } = startNativeSession(profile, command, cwd, args, label, {
4395
+ onCreateAttempt,
4369
4396
  ...(opts.resume !== undefined ? { resumeId: opts.resume } : {}),
4370
4397
  ...(initialPrompt !== undefined
4371
4398
  ? { terminateOnAgentExit: true }
@@ -4380,6 +4407,7 @@ export async function main(argv) {
4380
4407
  }
4381
4408
  else {
4382
4409
  ({ name, slug, agentPane } = startLocalSession(profile, command, cwd, args, label, getTmuxProfileConfig().profile, {
4410
+ onCreateAttempt,
4383
4411
  ...(opts.resume !== undefined
4384
4412
  ? { resumeId: opts.resume }
4385
4413
  : {}),
@@ -4417,6 +4445,7 @@ export async function main(argv) {
4417
4445
  let h2aSidecarStarted = false;
4418
4446
  if (h2aSidecar && sessionHost === "native") {
4419
4447
  h2aSidecarStarted = startNativeH2aSidecar(name, cwd, h2a.command, {
4448
+ onCreateAttempt,
4420
4449
  ...(structuredLaunch ? { verified: true } : {}),
4421
4450
  ...(launchGuard && launchOwnership?.host === "native" ? { beforeCreate: (owned) => {
4422
4451
  if (launchOwnership?.host === "native") {
@@ -4571,9 +4600,12 @@ export async function main(argv) {
4571
4600
  gatewayMode: launchGatewayMode,
4572
4601
  bare: useBare,
4573
4602
  });
4603
+ const nativeOwnerSocket = launchOwnership?.host === "native"
4604
+ ? launchOwnership.sessions.find(owned => owned.name === name)?.socketPath : undefined;
4574
4605
  started.push({
4575
4606
  name,
4576
4607
  slug,
4608
+ ...(nativeOwnerSocket ? { socketPath: nativeOwnerSocket } : {}),
4577
4609
  ...(agentPane !== undefined ? { pane: agentPane } : {}),
4578
4610
  h2aSidecar: h2aSidecarStarted,
4579
4611
  ...(pid !== undefined ? { pid } : {}),
@@ -4601,6 +4633,7 @@ export async function main(argv) {
4601
4633
  ok: true,
4602
4634
  state: "started",
4603
4635
  session: {
4636
+ ...(only.socketPath ? { socketPath: only.socketPath } : {}),
4604
4637
  id: only.slug,
4605
4638
  tmuxSession: only.name,
4606
4639
  host: sessionHost === "native" ? "native" : "tmux",
@@ -4657,6 +4690,14 @@ export async function main(argv) {
4657
4690
  : attachLocalSession(only.name);
4658
4691
  return;
4659
4692
  }
4693
+ catch (error) {
4694
+ if (!(error instanceof NativeHostCapabilityMismatchError || error instanceof NativeLaunchAdmissionError) || creationAttempted)
4695
+ throw error;
4696
+ process.stderr.write(`[h2a] ${error.message}\n`);
4697
+ if (opts.json && opts.name)
4698
+ process.stdout.write(`${JSON.stringify(error.toRunFailure(opts.name))}\n`);
4699
+ process.exitCode = 1;
4700
+ }
4660
4701
  finally {
4661
4702
  resumeClaim?.release();
4662
4703
  }
@@ -6106,12 +6147,13 @@ export async function main(argv) {
6106
6147
  state: "live",
6107
6148
  generation: probe.session.generation,
6108
6149
  incarnation: probe.session.incarnation,
6150
+ ...(probe.session.socketPath ? { socketPath: probe.session.socketPath } : {}),
6109
6151
  controlled: probe.session.controlled ?? true,
6110
6152
  };
6111
6153
  },
6112
6154
  prepare: (candidate, _snapshot, mode) => prepareNativeRestart(candidate, mode),
6113
6155
  restart: (candidate, snapshot, mode, prepared) => {
6114
- if (!killNativeSessionIfIncarnation(candidate.name, snapshot.generation, snapshot.incarnation)) {
6156
+ if (!killNativeSessionIfIncarnation(candidate.name, snapshot.generation, snapshot.incarnation, snapshot.socketPath)) {
6115
6157
  throw new Error("fenced native stop failed");
6116
6158
  }
6117
6159
  const restore = replaceAnthropicGatewayEnvironment(process.env, prepared.gatewayEnvironment);
@@ -7470,17 +7512,23 @@ export async function main(argv) {
7470
7512
  llmMeshAccountCommand
7471
7513
  .command("enroll <provider>")
7472
7514
  .description("Enroll through the sentropic-owned OAuth state machine " +
7473
- "(cloud-code, codex, muse CLI-store import, or muse-code device flow)")
7515
+ "(cloud-code, codex, muse CLI-store import, muse-code device flow, or mistral-vibe browser sign-in — alias: vibe)")
7474
7516
  .option("--config-ref <ref>", "sentropic configuration reference for OAuth")
7475
7517
  .action(async (provider, opts) => {
7476
- if (provider !== "cloud-code" && provider !== "codex" && provider !== "muse" && provider !== "muse-code") {
7518
+ // "vibe" is the CLI-friendly alias of the mistral-vibe transport.
7519
+ const normalized = provider === "vibe" ? "mistral-vibe" : provider;
7520
+ if (normalized !== "cloud-code" &&
7521
+ normalized !== "codex" &&
7522
+ normalized !== "muse" &&
7523
+ normalized !== "muse-code" &&
7524
+ normalized !== "mistral-vibe") {
7477
7525
  process.stderr.write(`[h2a] llm-mesh account: unsupported provider "${provider}". ` +
7478
- "Supported: cloud-code, codex, muse, muse-code\n");
7526
+ "Supported: cloud-code, codex, muse, muse-code, mistral-vibe (alias: vibe)\n");
7479
7527
  process.exitCode = 1;
7480
7528
  return;
7481
7529
  }
7482
7530
  try {
7483
- const account = await enrollViaFacade(provider, {
7531
+ const account = await enrollViaFacade(normalized, {
7484
7532
  ...(opts.configRef ? { configRef: opts.configRef } : {}),
7485
7533
  });
7486
7534
  process.stdout.write(`[h2a] llm-mesh account: enrolled ${account.provider}; ` +
@@ -7606,8 +7654,8 @@ export async function main(argv) {
7606
7654
  llmMeshCommand
7607
7655
  .command("stop")
7608
7656
  .description("Stop the local LLM gateway")
7609
- .action(() => {
7610
- const res = stopGateway();
7657
+ .action(async () => {
7658
+ const res = await stopGateway();
7611
7659
  if (res.stopped) {
7612
7660
  process.stdout.write(`[h2a] llm-mesh: stopped (pid ${res.pid})\n`);
7613
7661
  }
@@ -7621,7 +7669,7 @@ export async function main(argv) {
7621
7669
  .option("-v, --verbose", "verbose output")
7622
7670
  .action(async (opts) => {
7623
7671
  const config = readLlmMeshConfig() ?? {};
7624
- const stopped = stopGateway();
7672
+ const stopped = await stopGateway();
7625
7673
  if (stopped.stopped) {
7626
7674
  process.stdout.write(`[h2a] llm-mesh: stopped gateway (pid ${stopped.pid})\n`);
7627
7675
  }