@sentropic/h2a-runtime 0.98.1 → 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 (130) 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 +38 -18
  36. package/dist/index.js.map +1 -1
  37. package/dist/llm-mesh-accounts.d.ts +55 -0
  38. package/dist/llm-mesh-accounts.d.ts.map +1 -0
  39. package/dist/llm-mesh-accounts.js +188 -0
  40. package/dist/llm-mesh-accounts.js.map +1 -0
  41. package/dist/native-host.d.ts +1 -1
  42. package/dist/native-host.d.ts.map +1 -1
  43. package/dist/native-host.js +84 -21
  44. package/dist/native-host.js.map +1 -1
  45. package/dist/native-terminal/attach-recovery.d.ts +9 -0
  46. package/dist/native-terminal/attach-recovery.d.ts.map +1 -0
  47. package/dist/native-terminal/attach-recovery.js +54 -0
  48. package/dist/native-terminal/attach-recovery.js.map +1 -0
  49. package/dist/native-terminal/fleet.d.ts +2 -1
  50. package/dist/native-terminal/fleet.d.ts.map +1 -1
  51. package/dist/native-terminal/fleet.js +10 -1
  52. package/dist/native-terminal/fleet.js.map +1 -1
  53. package/dist/native-terminal/host.d.ts +1 -0
  54. package/dist/native-terminal/host.d.ts.map +1 -1
  55. package/dist/native-terminal/host.js +5 -2
  56. package/dist/native-terminal/host.js.map +1 -1
  57. package/dist/native-terminal/journal.d.ts +48 -0
  58. package/dist/native-terminal/journal.d.ts.map +1 -0
  59. package/dist/native-terminal/journal.js +305 -0
  60. package/dist/native-terminal/journal.js.map +1 -0
  61. package/dist/native-terminal/op.d.ts +3 -0
  62. package/dist/native-terminal/op.d.ts.map +1 -1
  63. package/dist/native-terminal/op.js +148 -33
  64. package/dist/native-terminal/op.js.map +1 -1
  65. package/dist/native-terminal/process.d.ts.map +1 -1
  66. package/dist/native-terminal/process.js +134 -46
  67. package/dist/native-terminal/process.js.map +1 -1
  68. package/dist/native-terminal/replay-buffer.d.ts +3 -0
  69. package/dist/native-terminal/replay-buffer.d.ts.map +1 -1
  70. package/dist/native-terminal/replay-buffer.js +11 -0
  71. package/dist/native-terminal/replay-buffer.js.map +1 -1
  72. package/dist/native-terminal/reset-relay.d.ts +11 -0
  73. package/dist/native-terminal/reset-relay.d.ts.map +1 -0
  74. package/dist/native-terminal/reset-relay.js +38 -0
  75. package/dist/native-terminal/reset-relay.js.map +1 -0
  76. package/dist/native-terminal/server.d.ts +8 -0
  77. package/dist/native-terminal/server.d.ts.map +1 -1
  78. package/dist/native-terminal/server.js +535 -58
  79. package/dist/native-terminal/server.js.map +1 -1
  80. package/dist/native-terminal/terminal-modes.d.ts +15 -0
  81. package/dist/native-terminal/terminal-modes.d.ts.map +1 -0
  82. package/dist/native-terminal/terminal-modes.js +180 -0
  83. package/dist/native-terminal/terminal-modes.js.map +1 -0
  84. package/dist/profile-menu.d.ts.map +1 -1
  85. package/dist/profile-menu.js +2 -0
  86. package/dist/profile-menu.js.map +1 -1
  87. package/dist/profiles.d.ts +2 -0
  88. package/dist/profiles.d.ts.map +1 -1
  89. package/dist/profiles.js +6 -0
  90. package/dist/profiles.js.map +1 -1
  91. package/dist/protocol-local.d.ts +1 -1
  92. package/dist/protocol-local.d.ts.map +1 -1
  93. package/dist/protocol-local.js +1 -0
  94. package/dist/protocol-local.js.map +1 -1
  95. package/dist/registry.d.ts +1 -1
  96. package/dist/registry.d.ts.map +1 -1
  97. package/dist/registry.js +4 -1
  98. package/dist/registry.js.map +1 -1
  99. package/dist/restore.d.ts +1 -1
  100. package/dist/restore.d.ts.map +1 -1
  101. package/dist/{llm-routing-config.d.ts → routing-preferences.d.ts} +2 -2
  102. package/dist/routing-preferences.d.ts.map +1 -0
  103. package/dist/{llm-routing-config.js → routing-preferences.js} +16 -13
  104. package/dist/routing-preferences.js.map +1 -0
  105. package/dist/sentropic/auth-token.d.ts +1 -1
  106. package/dist/sentropic/auth-token.js +1 -1
  107. package/dist/status-projection.d.ts +1 -1
  108. package/dist/status-projection.d.ts.map +1 -1
  109. package/dist/throttle-signatures.d.ts.map +1 -1
  110. package/dist/throttle-signatures.js +3 -0
  111. package/dist/throttle-signatures.js.map +1 -1
  112. package/dist/tmux.d.ts +17 -1
  113. package/dist/tmux.d.ts.map +1 -1
  114. package/dist/tmux.js +10 -4
  115. package/dist/tmux.js.map +1 -1
  116. package/package.json +8 -4
  117. package/dist/llm-gateway-runtime/index.d.ts +0 -10
  118. package/dist/llm-gateway-runtime/index.d.ts.map +0 -1
  119. package/dist/llm-gateway-runtime/index.js +0 -147
  120. package/dist/llm-gateway-runtime/index.js.map +0 -1
  121. package/dist/llm-gateway-runtime/session-ledger.d.ts.map +0 -1
  122. package/dist/llm-gateway-runtime/session-ledger.js.map +0 -1
  123. package/dist/llm-gateway-runtime/sticky.d.ts.map +0 -1
  124. package/dist/llm-gateway-runtime/sticky.js.map +0 -1
  125. package/dist/llm-mesh.d.ts +0 -154
  126. package/dist/llm-mesh.d.ts.map +0 -1
  127. package/dist/llm-mesh.js +0 -490
  128. package/dist/llm-mesh.js.map +0 -1
  129. package/dist/llm-routing-config.d.ts.map +0 -1
  130. package/dist/llm-routing-config.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ import { type LlmMeshAdministrativeFacade, type LlmMeshFacade } from "@sentropic/cluster-mesh/llm-mesh/facade";
2
+ import type { AccountPublic } from "@sentropic/cluster-mesh/llm-mesh/enrollment";
3
+ export interface LlmMeshEnrollmentAccount {
4
+ accountId: string;
5
+ provider: "cloud-code" | "codex" | "muse" | "muse-code" | "mistral-vibe";
6
+ label: string;
7
+ }
8
+ /**
9
+ * Structural extension for facades that implement Muse CLI-store import
10
+ * (MuseEnrollmentProvider mesh-side, BR75). Declared structurally — not taken
11
+ * from @sentropic/cluster-mesh/llm-mesh types — so h2a keeps working against older
12
+ * facades; the runtime guard below fails closed when the method is absent
13
+ * instead of throwing a bare TypeError.
14
+ */
15
+ export interface LlmMeshFacadeWithMuseImport extends LlmMeshFacade {
16
+ completeMuseImport(enrollmentId: string, code: string, ownerScopeRef: string): Promise<{
17
+ accountId: string;
18
+ label: string;
19
+ }>;
20
+ completeMuseDeviceImport(enrollmentId: string, ownerScopeRef: string, maxAttempts?: number): Promise<{
21
+ accountId: string;
22
+ label: string;
23
+ }>;
24
+ }
25
+ export interface FacadeEnrollmentOptions {
26
+ configRef?: string;
27
+ ownerScope?: string;
28
+ redirectUri?: string;
29
+ /** Injection seam for CLI tests; production uses the opaque facade. */
30
+ facade?: LlmMeshFacade;
31
+ /** Injection seam that keeps enrollment tests from opening a real browser. */
32
+ openBrowser?: (url: string) => void;
33
+ }
34
+ export interface FacadeAccountOptions {
35
+ ownerScope?: string;
36
+ /** Injection seam for account-administration tests. */
37
+ facade?: Pick<LlmMeshAdministrativeFacade, "listAccounts" | "removeAccount">;
38
+ }
39
+ export declare function createCliLlmMeshFacade(): LlmMeshAdministrativeFacade;
40
+ /** Stable local owner used both at enrollment and by gateway-authenticated routing. */
41
+ export declare function llmMeshOwnerScopeRef(): string;
42
+ /**
43
+ * Enroll through the sentropic-owned OAuth state machine. H2A never receives
44
+ * an authorization code or a provider token. Account records remain owned by
45
+ * the facade/keyring and are not copied into h2a config.
46
+ */
47
+ export declare function enrollViaFacade(provider: "cloud-code" | "codex" | "muse" | "muse-code" | "mistral-vibe", options?: FacadeEnrollmentOptions): Promise<LlmMeshEnrollmentAccount>;
48
+ export declare function listAccountsViaFacade(options?: FacadeAccountOptions): Promise<readonly AccountPublic[]>;
49
+ export declare function removeAccountViaFacade(accountId: string, options?: FacadeAccountOptions): Promise<{
50
+ accountId: string;
51
+ removed: true;
52
+ }>;
53
+ export declare function formatLlmMeshAccountList(accounts: readonly AccountPublic[], json: boolean): string;
54
+ export declare function formatLlmMeshAccountError(error: unknown, fallback: "account inventory unavailable" | "account removal failed"): string;
55
+ //# sourceMappingURL=llm-mesh-accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-mesh-accounts.d.ts","sourceRoot":"","sources":["../src/llm-mesh-accounts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,2BAA2B,EAAE,KAAK,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACpI,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAEjF,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA4B,SAAQ,aAAa;IAChE,kBAAkB,CAChB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,wBAAwB,CACtB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,cAAc,GAAG,eAAe,CAAC,CAAC;CAC9E;AAoBD,wBAAgB,sBAAsB,IAAI,2BAA2B,CAMpE;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAiBD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,EACxE,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,wBAAwB,CAAC,CA8HnC;AAED,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAKnC;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC,CAK/C;AAaD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,IAAI,EAAE,OAAO,GACZ,MAAM,CAsBR;AAID,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,+BAA+B,GAAG,wBAAwB,GACnE,MAAM,CAGR"}
@@ -0,0 +1,188 @@
1
+ /** Account enrollment and public CLI presentation through cluster-mesh. */
2
+ import { hostname } from "node:os";
3
+ import { spawn } from "node:child_process";
4
+ import { createLlmMeshFacade } from "@sentropic/cluster-mesh/llm-mesh/facade";
5
+ function facadeConfigResolver() {
6
+ return {
7
+ async resolveConfig(configRef) {
8
+ const raw = process.env.H2A_LLM_MESH_CONFIG_JSON;
9
+ if (!raw)
10
+ return {};
11
+ try {
12
+ const parsed = JSON.parse(raw);
13
+ const scoped = parsed[configRef];
14
+ return scoped && typeof scoped === "object" && !Array.isArray(scoped)
15
+ ? scoped
16
+ : parsed;
17
+ }
18
+ catch {
19
+ return {};
20
+ }
21
+ },
22
+ };
23
+ }
24
+ export function createCliLlmMeshFacade() {
25
+ return createLlmMeshFacade({
26
+ configResolver: facadeConfigResolver(),
27
+ mode: "cli",
28
+ legacyAccountOwnerScopeRef: llmMeshOwnerScopeRef(),
29
+ });
30
+ }
31
+ /** Stable local owner used both at enrollment and by gateway-authenticated routing. */
32
+ export function llmMeshOwnerScopeRef() {
33
+ return process.env.H2A_LLM_MESH_OWNER_SCOPE?.trim() || `cli:${hostname()}`;
34
+ }
35
+ function openEnrollmentBrowser(url) {
36
+ const command = process.platform === "darwin"
37
+ ? "open"
38
+ : process.platform === "win32"
39
+ ? "cmd"
40
+ : "xdg-open";
41
+ const args = process.platform === "win32" ? ["/c", "start", "", url] : [url];
42
+ try {
43
+ const child = spawn(command, args, { detached: true, stdio: "ignore" });
44
+ child.unref();
45
+ }
46
+ catch {
47
+ // The URL is always printed, so a headless CLI can continue manually.
48
+ }
49
+ }
50
+ /**
51
+ * Enroll through the sentropic-owned OAuth state machine. H2A never receives
52
+ * an authorization code or a provider token. Account records remain owned by
53
+ * the facade/keyring and are not copied into h2a config.
54
+ */
55
+ export async function enrollViaFacade(provider, options = {}) {
56
+ const facade = options.facade ?? createCliLlmMeshFacade();
57
+ const ownerScope = options.ownerScope ?? llmMeshOwnerScopeRef();
58
+ // The installed @sentropic/cluster-mesh/llm-mesh types predate the muse provider, but
59
+ // enroll passes the id through opaquely — a muse-capable facade resolves
60
+ // it, an older one fails with its own unknown-provider error. Cast is
61
+ // load-bearing until the dep bump, not a lie about the contract.
62
+ const session = await facade.enroll(provider, {
63
+ configRef: options.configRef ?? process.env.H2A_LLM_MESH_CONFIG_REF ?? "default",
64
+ mode: "cli",
65
+ redirectUri: options.redirectUri ?? "http://127.0.0.1",
66
+ ownerScope,
67
+ });
68
+ if (provider === "muse") {
69
+ // Muse CLI-store import (BR75): no browser or device round-trip — the
70
+ // owner act was the muse login itself. The ownerScope binds the enrolling
71
+ // owner explicitly (never inferred); it doubles as the completion code
72
+ // the mesh provider carries but does not validate.
73
+ // Installed mesh types predate the local-import kind (same load-bearing
74
+ // cast pattern as the enroll call above); runtime shape verified live.
75
+ const museSession = session;
76
+ if (museSession.kind !== "local-import") {
77
+ throw new Error("Muse enrollment did not return a local-import session");
78
+ }
79
+ const completeMuseImport = facade.completeMuseImport;
80
+ if (typeof completeMuseImport !== "function") {
81
+ throw new Error("Muse enrollment needs facade.completeMuseImport — upgrade @sentropic/cluster-mesh/llm-mesh " +
82
+ "to a version with the Muse enrollment provider");
83
+ }
84
+ process.stdout.write(`[h2a] llm-mesh: importing Muse CLI credentials from ${museSession.source} for ${ownerScope}\n`);
85
+ const completed = await completeMuseImport.call(facade, museSession.enrollmentId, ownerScope, ownerScope);
86
+ return { accountId: completed.accountId, provider, label: completed.label };
87
+ }
88
+ if (provider === "muse-code") {
89
+ // Native Meta device flow (RFC 8628, MuseCodeEnrollmentProvider
90
+ // mesh-side): print the user code + verification URL, then complete via
91
+ // the muse-specific device import — the muse-code key mint is its own
92
+ // completion contract, not the generic pollForCompletion.
93
+ const deviceSession = session;
94
+ if (deviceSession.kind !== "device-code") {
95
+ throw new Error("Muse device-flow enrollment did not return a device code");
96
+ }
97
+ const completeMuseDeviceImport = facade.completeMuseDeviceImport;
98
+ if (typeof completeMuseDeviceImport !== "function") {
99
+ throw new Error("Muse device-flow enrollment needs facade.completeMuseDeviceImport — upgrade @sentropic/cluster-mesh/llm-mesh " +
100
+ "to a version with the muse-code enrollment provider");
101
+ }
102
+ process.stdout.write(`[h2a] llm-mesh: enter code ${deviceSession.userCode} at ${deviceSession.verificationUrl}\n`);
103
+ const completed = await completeMuseDeviceImport.call(facade, deviceSession.enrollmentId, ownerScope);
104
+ return { accountId: completed.accountId, provider, label: completed.label };
105
+ }
106
+ if (provider === "mistral-vibe") {
107
+ // Mistral Vibe native browser sign-in (MistralVibeEnrollmentProvider
108
+ // mesh-side): start() returns the console.mistral.ai sign-in URL
109
+ // (authorization-url); completion is POLL-based — the provider polls the
110
+ // sign-in process internally, so there is no OAuth callback leg for
111
+ // waitForCallback to catch. Verified in-vivo end-to-end: PKCE start →
112
+ // browser approval → poll → exchange mints a long-lived API key billed
113
+ // against the signed-in plan's Vibe Code quota (refresh fails closed).
114
+ const vibeSession = session;
115
+ if (vibeSession.kind !== "authorization-url") {
116
+ throw new Error("Mistral Vibe enrollment did not return a sign-in URL");
117
+ }
118
+ process.stdout.write(`[h2a] llm-mesh: open ${vibeSession.url}\n`);
119
+ (options.openBrowser ?? openEnrollmentBrowser)(vibeSession.url);
120
+ const completed = await facade.pollForCompletion(vibeSession.enrollmentId);
121
+ return { accountId: completed.accountId, provider, label: completed.label };
122
+ }
123
+ const completed = provider === "cloud-code"
124
+ ? await (async () => {
125
+ if (session.kind !== "authorization-url") {
126
+ throw new Error("Cloud Code enrollment did not return an authorization URL");
127
+ }
128
+ process.stdout.write(`[h2a] llm-mesh: open ${session.url}\n`);
129
+ (options.openBrowser ?? openEnrollmentBrowser)(session.url);
130
+ return facade.waitForCallback(session.enrollmentId);
131
+ })()
132
+ : await (async () => {
133
+ if (session.kind !== "device-code") {
134
+ throw new Error("Codex enrollment did not return a device code");
135
+ }
136
+ process.stdout.write(`[h2a] llm-mesh: enter code ${session.userCode} at ${session.verificationUrl}\n`);
137
+ return facade.pollForCompletion(session.enrollmentId);
138
+ })();
139
+ return { accountId: completed.accountId, provider, label: completed.label };
140
+ }
141
+ export async function listAccountsViaFacade(options = {}) {
142
+ const facade = options.facade ?? createCliLlmMeshFacade();
143
+ return facade.listAccounts({
144
+ ownerScope: options.ownerScope ?? llmMeshOwnerScopeRef(),
145
+ });
146
+ }
147
+ export async function removeAccountViaFacade(accountId, options = {}) {
148
+ const facade = options.facade ?? createCliLlmMeshFacade();
149
+ return facade.removeAccount(accountId, {
150
+ ownerScope: options.ownerScope ?? llmMeshOwnerScopeRef(),
151
+ });
152
+ }
153
+ function publicAccountProjection(account) {
154
+ return {
155
+ accountId: account.accountId,
156
+ ...(account.accountLabel ? { accountLabel: account.accountLabel } : {}),
157
+ providerId: account.providerId,
158
+ status: account.status,
159
+ createdAt: account.createdAt,
160
+ updatedAt: account.updatedAt,
161
+ };
162
+ }
163
+ export function formatLlmMeshAccountList(accounts, json) {
164
+ const publicAccounts = accounts.map(publicAccountProjection);
165
+ if (json)
166
+ return JSON.stringify(publicAccounts, null, 2);
167
+ if (publicAccounts.length === 0) {
168
+ return "[h2a] llm-mesh account: no accounts enrolled";
169
+ }
170
+ const rows = publicAccounts.map((account) => [
171
+ account.accountId,
172
+ account.providerId,
173
+ account.accountLabel ?? "-",
174
+ account.status,
175
+ account.createdAt,
176
+ ]);
177
+ const headers = ["ID", "PROVIDER", "LABEL", "STATUS", "ENROLLED"];
178
+ const widths = headers.map((header, index) => Math.max(header.length, ...rows.map((row) => row[index]?.length ?? 0)));
179
+ return [headers, ...rows]
180
+ .map((row) => row.map((value, index) => value.padEnd(widths[index] ?? value.length)).join(" ").trimEnd())
181
+ .join("\n");
182
+ }
183
+ const SAFE_ACCOUNT_NOT_FOUND = /^Account '[A-Za-z0-9][A-Za-z0-9._:-]{0,127}' not found$/;
184
+ export function formatLlmMeshAccountError(error, fallback) {
185
+ const message = error instanceof Error ? error.message : String(error);
186
+ return SAFE_ACCOUNT_NOT_FOUND.test(message) ? message : fallback;
187
+ }
188
+ //# sourceMappingURL=llm-mesh-accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-mesh-accounts.js","sourceRoot":"","sources":["../src/llm-mesh-accounts.ts"],"names":[],"mappings":"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"}
@@ -125,7 +125,7 @@ export declare function listNativeSessions(): ReadonlyArray<NativeSessionState>
125
125
  * - "absent": POSITIVE proof of absence — a reachable host does not know
126
126
  * the session across every known reachable endpoint;
127
127
  * - "unknown": the op failed (spawn error, timeout, protocol failure) —
128
- * NEVER proof of death, including ENOENT/ECONNREFUSED on a known endpoint;
128
+ * NEVER proof of death without the endpoint's independent identity proof;
129
129
  * destructive callers must fail closed on it.
130
130
  * The classification happens IN-BAND in the `probe` op (op.ts), where the
131
131
  * error codes live — never by parsing a generic failure on this side.
@@ -1 +1 @@
1
- {"version":3,"file":"native-host.d.ts","sourceRoot":"","sources":["../src/native-host.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAK1E,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EACjC,GAAG,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GAC9D,eAAe,CAMjB;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAmBF,wEAAwE;AACxE,wBAAgB,mBAAmB,IAC/B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAElD;AAqCD,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAOtJ;AAED,MAAM,MAAM,qBAAqB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAElH,iFAAiF;AACjF,qBAAa,0BAA2B,SAAQ,KAAK;IACvC,QAAQ,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,uBAAuB,GAAG,0BAA0B,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;gBAA7H,UAAU,EAAE;QAAE,IAAI,EAAE,uBAAuB,GAAG,0BAA0B,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAGlJ,YAAY,CAAC,QAAQ,EAAE,MAAM;cAHY,uBAAuB,GAAG,0BAA0B;aAAO,MAAM;qBAAe,MAAM;gBAAU,OAAO;;;;;;;;;CAOjJ;AAWD,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,iCAAiC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,gBAAgB,CAAC;IACxB,iBAAiB,EAAE,KAAK,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,mBAAmB,EAAE,CAAC,aAAa,CAAC,CAAC;IACrC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,QAAQ,EAAE;QAAE,MAAM,EAAE,8BAA8B,CAAC;QAAC,cAAc,EAAE,KAAK,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF,+EAA+E;AAC/E,qBAAa,iCAAkC,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC,MAAM,CAAC;gBAAzC,IAAI,EAAE,2BAA2B,CAAC,MAAM,CAAC;IAQ9D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,2BAA2B;CAQ5D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAA0B,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAOhJ;AAgBD,wBAAgB,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAC,GAAG;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAIxG;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpI,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,CA2BtF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAK5E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOjE;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACtD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,aAAa,CAAC,MAAM,CAAM,EAChC,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,GAAE,oBAAyB,GAClC,iBAAiB,CAyEnB;AAED,+DAA+D;AAC/D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAM9F;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAMzF;AAED,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAG1E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQnG;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAG5E;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAcT;AAED,MAAM,MAAM,6BAA6B,GACrC,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,QAAQ,CAAC;AAEb;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,6BAA6B,CAmB/B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAW3D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,UAAQ,EACtB,YAAY,CAAC,EAAE,YAAY,EAC3B,eAAe,CAAC,EAAE,MAAM,IAAI,EAC5B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GACpD,iBAAiB,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAuE7C;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAAO,GACxH,OAAO,CAyET;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAK7E;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIhE;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIhE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,kBAAkB,CAsBxF"}
1
+ {"version":3,"file":"native-host.d.ts","sourceRoot":"","sources":["../src/native-host.ts"],"names":[],"mappings":"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"}
@@ -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
  /**
@@ -109,7 +110,7 @@ export function ensureNativeHost(options = {}) {
109
110
  export class NativeLaunchAdmissionError extends Error {
110
111
  diagnostic;
111
112
  constructor(diagnostic) {
112
- super(`Launch refused before creation: ${diagnostic.code}${diagnostic.id ? ` (${diagnostic.id})` : ""}. No session was created by this attempt.`);
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.` : ""}`);
113
114
  this.diagnostic = diagnostic;
114
115
  }
115
116
  toRunFailure(launchId) {
@@ -263,6 +264,8 @@ export function startNativeSession(profile, command, cwd, args = [], label, meta
263
264
  env[key] = value;
264
265
  }
265
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";
266
269
  if (metadata.sessionClass !== undefined) {
267
270
  env[SESSION_CLASS_ENV] = metadata.sessionClass;
268
271
  }
@@ -504,6 +507,11 @@ export function startNativeH2aSidecar(name, cwd, h2aCommand, options = {}) {
504
507
  env["H2A_NATIVE_PTY_SESSION"] = name;
505
508
  const envDir = mkdtempSync(join(tmpdir(), "h2a-native-env-"));
506
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
+ }
507
515
  try {
508
516
  writeFileSync(envFile, JSON.stringify(env), { mode: 0o600 });
509
517
  runOp([
@@ -523,40 +531,95 @@ export function startNativeH2aSidecar(name, cwd, h2aCommand, options = {}) {
523
531
  "--",
524
532
  "/bin/bash",
525
533
  "-lc",
526
- h2aCommand,
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,
527
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";
528
583
  }
529
584
  catch {
530
585
  return false;
531
586
  }
532
587
  finally {
533
588
  rmSync(envDir, { recursive: true, force: true });
589
+ if (challenge)
590
+ cleanupStructuredReadinessChallenge(challenge);
534
591
  }
535
- if (options.verified) {
536
- // The sidecar must still be alive once it had time to crash on startup.
537
- // An "unknown" probe mid-loop is transient: keep waiting; the FINAL
538
- // check below only reports success on a POSITIVE running verdict.
539
- const deadline = Date.now() + 2_000;
540
- while (Date.now() < deadline) {
541
- const state = nativeSessionState(sidecar);
542
- if (state.state === "absent" ||
543
- (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)
544
606
  return false;
545
- }
546
- sleepSync(200);
607
+ if (parsed.ppid === ownerPid)
608
+ return true;
609
+ pid = parsed.ppid;
547
610
  }
548
611
  }
549
- const state = nativeSessionState(sidecar);
550
- return state.state === "found" && state.session.status === "running";
612
+ catch { /* absent/unreadable process is not a readiness proof */ }
613
+ return false;
551
614
  }
552
615
  /**
553
616
  * Foreground interactive attach on the CURRENT terminal (tmux attach twin).
554
617
  * Blocks until the session exits or the user detaches with Ctrl-\.
555
618
  */
556
619
  export function attachNativeSession(name, socketPath) {
557
- const r = spawnSync(process.execPath, [opEntryPath(), "attach", "--id", name, ...(socketPath ? ["--socket", socketPath] : [])], {
558
- stdio: "inherit",
559
- });
620
+ const r = withAttachTerminalRecovery((env) => spawnSync(process.execPath, [opEntryPath(), "attach", "--id", name, ...(socketPath ? ["--socket", socketPath] : [])], {
621
+ stdio: "inherit", env,
622
+ }));
560
623
  return r.status ?? 1;
561
624
  }
562
625
  /** clearPaneComposer twin: C-u wipes the composer line (best-effort). */
@@ -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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"}
@@ -0,0 +1,9 @@
1
+ /** Publish before relaying changed modes to retain cleanup across attach death.
2
+ * The launch parent creates the private directory; only this attach writes it.
3
+ */
4
+ export declare function publishAttachReset(sequence: string): void;
5
+ /** A surviving h2a launch parent can recover even an uncatchable attach death.
6
+ * No host query is needed: the receipt describes output this attach relayed.
7
+ */
8
+ export declare function withAttachTerminalRecovery<T>(launch: (env: NodeJS.ProcessEnv) => T): T;
9
+ //# sourceMappingURL=attach-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach-recovery.d.ts","sourceRoot":"","sources":["../../src/native-terminal/attach-recovery.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAKzD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,CA6BtF"}