@sentropic/h2a-runtime 0.97.11 → 0.98.0

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 (57) hide show
  1. package/dist/cli-help-groups.js +1 -1
  2. package/dist/cli-help-groups.js.map +1 -1
  3. package/dist/file-lock.d.ts +12 -0
  4. package/dist/file-lock.d.ts.map +1 -1
  5. package/dist/file-lock.js +37 -17
  6. package/dist/file-lock.js.map +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +79 -7
  9. package/dist/index.js.map +1 -1
  10. package/dist/launch-guard.d.ts +31 -0
  11. package/dist/launch-guard.d.ts.map +1 -0
  12. package/dist/launch-guard.js +135 -0
  13. package/dist/launch-guard.js.map +1 -0
  14. package/dist/native-host.d.ts +11 -4
  15. package/dist/native-host.d.ts.map +1 -1
  16. package/dist/native-host.js +19 -6
  17. package/dist/native-host.js.map +1 -1
  18. package/dist/native-terminal/client.d.ts.map +1 -1
  19. package/dist/native-terminal/client.js +7 -0
  20. package/dist/native-terminal/client.js.map +1 -1
  21. package/dist/native-terminal/host.d.ts +258 -17
  22. package/dist/native-terminal/host.d.ts.map +1 -1
  23. package/dist/native-terminal/host.js +814 -68
  24. package/dist/native-terminal/host.js.map +1 -1
  25. package/dist/native-terminal/op.d.ts.map +1 -1
  26. package/dist/native-terminal/op.js +8 -2
  27. package/dist/native-terminal/op.js.map +1 -1
  28. package/dist/native-terminal/process.d.ts.map +1 -1
  29. package/dist/native-terminal/process.js +1 -0
  30. package/dist/native-terminal/process.js.map +1 -1
  31. package/dist/native-terminal/protocol.d.ts +1 -0
  32. package/dist/native-terminal/protocol.d.ts.map +1 -1
  33. package/dist/native-terminal/protocol.js.map +1 -1
  34. package/dist/native-terminal/screen.d.ts +3 -0
  35. package/dist/native-terminal/screen.d.ts.map +1 -0
  36. package/dist/native-terminal/screen.js +18 -0
  37. package/dist/native-terminal/screen.js.map +1 -0
  38. package/dist/native-terminal/server.d.ts.map +1 -1
  39. package/dist/native-terminal/server.js +5 -0
  40. package/dist/native-terminal/server.js.map +1 -1
  41. package/dist/native-terminal/supervisor.d.ts +34 -2
  42. package/dist/native-terminal/supervisor.d.ts.map +1 -1
  43. package/dist/native-terminal/supervisor.js +420 -42
  44. package/dist/native-terminal/supervisor.js.map +1 -1
  45. package/dist/proc-identity.d.ts +67 -0
  46. package/dist/proc-identity.d.ts.map +1 -0
  47. package/dist/proc-identity.js +106 -0
  48. package/dist/proc-identity.js.map +1 -0
  49. package/dist/prompt-delivery.d.ts +11 -1
  50. package/dist/prompt-delivery.d.ts.map +1 -1
  51. package/dist/prompt-delivery.js +62 -6
  52. package/dist/prompt-delivery.js.map +1 -1
  53. package/dist/registry.d.ts +111 -4
  54. package/dist/registry.d.ts.map +1 -1
  55. package/dist/registry.js +86 -11
  56. package/dist/registry.js.map +1 -1
  57. package/package.json +4 -3
@@ -0,0 +1,31 @@
1
+ /** Independent launch owner: launcher death closes stdin, even during sync waits. */
2
+ import { spawn } from "node:child_process";
3
+ export type LaunchOwnership = {
4
+ host: "native";
5
+ sessions: Array<{
6
+ name: string;
7
+ generation: string;
8
+ incarnation: string;
9
+ }>;
10
+ } | {
11
+ host: "tmux";
12
+ sessions: Array<{
13
+ name: string;
14
+ pane: string;
15
+ pid: number;
16
+ }>;
17
+ };
18
+ type CleanupDeps = {
19
+ stopNative: (name: string, generation: string, incarnation: string) => boolean;
20
+ stopTmux: (name: string, pane: string, pid: number) => boolean;
21
+ };
22
+ export declare function cleanupLaunch(ownership: LaunchOwnership, deps: CleanupDeps): boolean;
23
+ export type LaunchGuard = {
24
+ own: (ownership: LaunchOwnership) => void;
25
+ complete: () => void;
26
+ stop: () => boolean;
27
+ };
28
+ /** Only call for a freshly created session, never an existing-name attach. */
29
+ export declare function startLaunchGuard(runDir: string, ownership: LaunchOwnership, spawnGuard?: typeof spawn): LaunchGuard;
30
+ export {};
31
+ //# sourceMappingURL=launch-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-guard.d.ts","sourceRoot":"","sources":["../src/launch-guard.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAU9D,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAC9F;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAEnF,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAChE,CAAC;AAQF,wBAAgB,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAepF;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,OAAO,CAAC;CACrB,CAAC;AAuBF,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,GAAE,OAAO,KAAa,GAAG,WAAW,CAuC1H"}
@@ -0,0 +1,135 @@
1
+ /** Independent launch owner: launcher death closes stdin, even during sync waits. */
2
+ import { spawn } from "node:child_process";
3
+ import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
4
+ import { join } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import { createInterface } from "node:readline";
7
+ import { killNativeSessionIfIncarnation, nativeSessionState } from "./native-host.js";
8
+ import { sleepSync } from "./prompt-delivery.js";
9
+ import { killLocalSession, localSessionPanePid } from "./tmux.js";
10
+ function writeStatus(path, value) {
11
+ const temporary = `${path}.${process.pid}.tmp`;
12
+ writeFileSync(temporary, JSON.stringify(value), { mode: 0o600 });
13
+ renameSync(temporary, path); // The MCP reader must never observe partial JSON.
14
+ }
15
+ export function cleanupLaunch(ownership, deps) {
16
+ let stopped = true;
17
+ for (const session of [...ownership.sessions].reverse()) {
18
+ try {
19
+ const ok = ownership.host === "native"
20
+ ? deps.stopNative(session.name, session.generation, session.incarnation)
21
+ : deps.stopTmux(session.name, session.pane, session.pid);
22
+ if (!ok)
23
+ stopped = false;
24
+ }
25
+ catch {
26
+ stopped = false; // Still stop the other owned sessions.
27
+ }
28
+ }
29
+ return stopped;
30
+ }
31
+ function stopOwnedNative(name, generation, incarnation) {
32
+ // A create op already in flight may outlive its launcher. Its deadline is
33
+ // 15s; allow it to settle before certifying that a reserved session is absent.
34
+ const deadline = Date.now() + 16_000;
35
+ for (;;) {
36
+ const probe = nativeSessionState(name);
37
+ if (probe.state === "found") {
38
+ if (probe.session.generation !== generation || probe.session.incarnation !== incarnation)
39
+ return false;
40
+ return probe.session.status === "exited" || killNativeSessionIfIncarnation(name, generation, incarnation);
41
+ }
42
+ if (probe.state === "unknown")
43
+ return false;
44
+ if (Date.now() >= deadline)
45
+ return true;
46
+ sleepSync(100);
47
+ }
48
+ }
49
+ const cleanupDeps = {
50
+ stopNative: stopOwnedNative,
51
+ stopTmux: (name, pane, pid) => localSessionPanePid(pane) === pid && killLocalSession(name),
52
+ };
53
+ /** Only call for a freshly created session, never an existing-name attach. */
54
+ export function startLaunchGuard(runDir, ownership, spawnGuard = spawn) {
55
+ mkdirSync(runDir, { recursive: true, mode: 0o700 });
56
+ const statusPath = join(runDir, "launch.json");
57
+ let completed = false;
58
+ const child = spawnGuard(process.execPath, [fileURLToPath(new URL("./launch-guard.js", import.meta.url)), statusPath], { stdio: ["pipe", "ignore", "ignore"] });
59
+ child.unref();
60
+ child.stdin.unref?.();
61
+ child.on("error", () => {
62
+ if (completed)
63
+ return;
64
+ const stopped = cleanupLaunch(ownership, cleanupDeps);
65
+ writeStatus(statusPath, { state: stopped ? "stopped" : "cleanup-failed",
66
+ token: process.env.H2A_RUN_LAUNCH_TOKEN, ownership });
67
+ });
68
+ // The guard may exit immediately after completing. An EPIPE must never
69
+ // crash a successfully launched worker; its file remains the cleanup proof.
70
+ child.stdin.on("error", () => { });
71
+ const own = (value) => {
72
+ ownership = value;
73
+ writeStatus(statusPath, { state: "launching",
74
+ token: process.env.H2A_RUN_LAUNCH_TOKEN, ownership: value });
75
+ child.stdin.write(`${JSON.stringify({ ownership: value })}\n`);
76
+ };
77
+ own(ownership);
78
+ const finish = (state) => {
79
+ completed = true;
80
+ writeStatus(statusPath, { state, token: process.env.H2A_RUN_LAUNCH_TOKEN, ownership });
81
+ child.stdin.end(`${JSON.stringify({ completed: true, state })}\n`);
82
+ };
83
+ return {
84
+ own,
85
+ complete: () => finish("started"),
86
+ stop: () => {
87
+ const stopped = cleanupLaunch(ownership, cleanupDeps);
88
+ finish(stopped ? "stopped" : "cleanup-failed");
89
+ return stopped;
90
+ },
91
+ };
92
+ }
93
+ async function guard(statusPath) {
94
+ let ownership;
95
+ let completed = false;
96
+ let finalState = "started";
97
+ for await (const line of createInterface({ input: process.stdin })) {
98
+ const message = JSON.parse(line);
99
+ if (message.ownership)
100
+ ownership = message.ownership;
101
+ if (message.completed) {
102
+ completed = true;
103
+ finalState = message.state ?? "started";
104
+ }
105
+ }
106
+ // The atomic receipt also covers death before the pipe write was flushed.
107
+ if (!completed) {
108
+ try {
109
+ const receipt = JSON.parse(readFileSync(statusPath, "utf8"));
110
+ if (receipt.token === process.env.H2A_RUN_LAUNCH_TOKEN) {
111
+ ownership = receipt.ownership;
112
+ if (["started", "stopped", "cleanup-failed"].includes(receipt.state)) {
113
+ completed = true;
114
+ finalState = receipt.state;
115
+ }
116
+ }
117
+ }
118
+ catch { /* Pipe ownership remains usable. */ }
119
+ }
120
+ if (!ownership)
121
+ return;
122
+ const stopped = completed ? false : cleanupLaunch(ownership, cleanupDeps);
123
+ writeStatus(statusPath, {
124
+ state: completed ? finalState : stopped ? "stopped" : "cleanup-failed",
125
+ token: process.env.H2A_RUN_LAUNCH_TOKEN,
126
+ ownership,
127
+ });
128
+ }
129
+ if (process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1]) {
130
+ const statusPath = process.argv[2];
131
+ if (!statusPath)
132
+ throw new Error("launch guard requires a status path");
133
+ await guard(statusPath);
134
+ }
135
+ //# sourceMappingURL=launch-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-guard.js","sourceRoot":"","sources":["../src/launch-guard.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,13 @@ export declare function nativeHostAvailable(): {
46
46
  export declare function ensureNativeHost(): {
47
47
  hostPid: number;
48
48
  socketPath: string;
49
+ generation: string;
50
+ launchFence: boolean;
51
+ };
52
+ export type NativeLaunchOwnership = {
53
+ name: string;
54
+ generation: string;
55
+ incarnation: string;
49
56
  };
50
57
  export declare function listNativeSessions(): ReadonlyArray<NativeSessionState>;
51
58
  /**
@@ -79,6 +86,7 @@ export declare function nativeSessionState(name: string): NativeStateProbe;
79
86
  export declare function nativeSessionLiveness(name: string): true | false | "unknown";
80
87
  export declare function nativeSessionPid(name: string): number | undefined;
81
88
  export type NativeLaunchMetadata = {
89
+ beforeCreate?: (value: NativeLaunchOwnership) => void;
82
90
  readonly label?: string;
83
91
  readonly resumeId?: string;
84
92
  readonly sessionClass?: SessionClass;
@@ -98,10 +106,8 @@ export declare function nativePasteBlock(name: string, text: string): boolean;
98
106
  /** The Enter that submits a composed block. */
99
107
  export declare function nativeSendEnter(name: string): boolean;
100
108
  /**
101
- * capturePane twin. IMPORTANT semantic difference: tmux returns the RENDERED
102
- * screen; this returns the ANSI-stripped tail of the output stream. For probe
103
- * matching (prompt echo, modal text) the stream tail carries the same visible
104
- * text — full-screen-repaint TUIs re-emit their frame into the tail.
109
+ * capturePane twin: returns the rendered current screen, including cursor
110
+ * positioning and erasures, just like tmux capture-pane.
105
111
  */
106
112
  export declare function nativeCapture(name: string, bytes?: number): string | undefined;
107
113
  /** kill-session twin: SIGTERM with SIGKILL escalation inside the op. */
@@ -141,6 +147,7 @@ export declare function startNativeHeadlessSession(profile: string, command: str
141
147
  */
142
148
  export declare function startNativeH2aSidecar(name: string, cwd: string, h2aCommand: string, options?: {
143
149
  verified?: boolean;
150
+ beforeCreate?: (value: NativeLaunchOwnership) => void;
144
151
  }): boolean;
145
152
  /**
146
153
  * Foreground interactive attach on the CURRENT terminal (tmux attach twin).
@@ -1 +1 @@
1
- {"version":3,"file":"native-host.d.ts","sourceRoot":"","sources":["../src/native-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-host.d.ts","sourceRoot":"","sources":["../src/native-host.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * addressing and registry entries stay uniform across hosts.
15
15
  */
16
16
  import { spawnSync } from "node:child_process";
17
+ import { randomUUID } from "node:crypto";
17
18
  import { existsSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
18
19
  import { tmpdir } from "node:os";
19
20
  import { basename, dirname, join } from "node:path";
@@ -95,10 +96,20 @@ function runOp(args, options = {}) {
95
96
  export function ensureNativeHost() {
96
97
  const { payload } = runOp(["ensure-host"]);
97
98
  const record = payload;
98
- if (!record || typeof record.hostPid !== "number" || typeof record.socketPath !== "string") {
99
+ if (!record || typeof record.hostPid !== "number" || typeof record.socketPath !== "string" || typeof record.generation !== "string") {
99
100
  throw new Error("native host did not report a valid identity");
100
101
  }
101
- return { hostPid: record.hostPid, socketPath: record.socketPath };
102
+ return { hostPid: record.hostPid, socketPath: record.socketPath, generation: record.generation, launchFence: record.launchFence === true };
103
+ }
104
+ function prepareNativeOwnership(name, beforeCreate) {
105
+ if (!beforeCreate)
106
+ return [];
107
+ const { generation, launchFence } = ensureNativeHost();
108
+ if (!launchFence)
109
+ throw new Error("native host cannot reserve launch ownership; restart the host before launching");
110
+ const incarnation = randomUUID();
111
+ beforeCreate({ name, generation, incarnation });
112
+ return ["--generation", generation, "--incarnation", incarnation];
102
113
  }
103
114
  export function listNativeSessions() {
104
115
  const { payload } = runOp(["list"]);
@@ -198,6 +209,7 @@ export function startNativeSession(profile, command, cwd, args = [], label, meta
198
209
  writeFileSync(envFile, JSON.stringify(env), { mode: 0o600 });
199
210
  const { payload } = runOp([
200
211
  "create",
212
+ ...prepareNativeOwnership(name, metadata.beforeCreate),
201
213
  "--id",
202
214
  name,
203
215
  "--cwd",
@@ -237,10 +249,8 @@ export function nativeSendEnter(name) {
237
249
  return status === 0;
238
250
  }
239
251
  /**
240
- * capturePane twin. IMPORTANT semantic difference: tmux returns the RENDERED
241
- * screen; this returns the ANSI-stripped tail of the output stream. For probe
242
- * matching (prompt echo, modal text) the stream tail carries the same visible
243
- * text — full-screen-repaint TUIs re-emit their frame into the tail.
252
+ * capturePane twin: returns the rendered current screen, including cursor
253
+ * positioning and erasures, just like tmux capture-pane.
244
254
  */
245
255
  export function nativeCapture(name, bytes = 16_384) {
246
256
  const { status, payload } = runOp(["capture", "--id", name, "--bytes", String(bytes)], { allowFailure: true });
@@ -398,6 +408,8 @@ export function startNativeH2aSidecar(name, cwd, h2aCommand, options = {}) {
398
408
  return false;
399
409
  }
400
410
  if (existing.state === "found" && existing.session.status === "running") {
411
+ if (options.beforeCreate)
412
+ return false; // Never claim an existing sidecar.
401
413
  return true;
402
414
  }
403
415
  const env = {};
@@ -420,6 +432,7 @@ export function startNativeH2aSidecar(name, cwd, h2aCommand, options = {}) {
420
432
  writeFileSync(envFile, JSON.stringify(env), { mode: 0o600 });
421
433
  runOp([
422
434
  "create",
435
+ ...prepareNativeOwnership(sidecar, options.beforeCreate),
423
436
  "--id",
424
437
  sidecar,
425
438
  "--cwd",
@@ -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":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,OAAO,GACR,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,SAAS,EAA2B,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAqB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;AAIlE;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAiC,EACjC,MAAoD,OAAO,CAAC,GAAG;IAE/D,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC7D,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,GAAG,IAAI,MAAM,CAAC;AACvB,CAAC;AAwBD,SAAS,WAAW;IAClB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,mBAAmB;IAGjC,OAAO,qBAAqB,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,KAAK,CACZ,IAA2B,EAC3B,UAAsC,EAAE;IAExC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE;QAC9D,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;QACjC,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EACpE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CACnB,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAgB,CAAC;IACrB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,OAA4G,CAAC;IAC5H,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACpI,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;AAC7I,CAAC;AAID,SAAS,sBAAsB,CAAC,IAAY,EAAE,YAAqD;IACjG,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAC7B,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpH,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,OAAuE,CAAC;IACvF,OAAO,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;AAChC,CAAC;AAqBD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,MAA4C,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gEAAgE;QAChE,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAET,CAAC;IACd,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC1D,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,qCAAqC;KAC/D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;IACvE,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ;QACjE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;QACnB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,OAAe,EACf,GAAW,EACX,OAA8B,EAAE,EAChC,KAAc,EACd,WAAiC,EAAE;IAEnC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,wEAAwE;QACxE,4DAA4D;QAC5D,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,4BAA4B,QAAQ,CAAC,MAAM,kDAAkD,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvE,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,uCAAuC,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACnD,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,oBAAoB;QAChD,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAClE,CAAC,CAAC;YACE,WAAW;YACX,KAAK;YACL,aAAa;YACb,oBAAoB,CAClB,OAAO,EACP,GAAG,EACH,KAAK,EACL,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACzD;YACD,OAAO;YACP,GAAG,IAAI;SACR,CAAC;IACN,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC;IAC/B,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,GAAG,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;IACjD,CAAC;IACD,4EAA4E;IAC5E,oBAAoB;IACpB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;YACxB,QAAQ;YACR,GAAG,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC;YACtD,MAAM;YACN,IAAI;YACJ,OAAO;YACP,GAAG;YACH,QAAQ;YACR,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACnC,QAAQ;YACR,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACnC,YAAY;YACZ,OAAO;YACP,IAAI;YACJ,GAAG,YAAY;SAChB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,OAAyC,CAAC;QACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAY;IAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CACtB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC9E,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;IACF,OAAO,MAAM,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAY;IACzD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CACtB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC9E,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;IACF,OAAO,MAAM,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,OAAO,MAAM,KAAK,CAAC,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAK,GAAG,MAAM;IACxD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAC/B,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EACnD,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;IACF,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,MAAM,GAAG,OAAwC,CAAC;IACxD,OAAO,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,KAAK,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAAY,EACZ,UAAkB,EAClB,WAAmB;IAEnB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CACtB;QACE,qBAAqB;QACrB,MAAM;QACN,IAAI;QACJ,cAAc;QACd,UAAU;QACV,eAAe;QACf,WAAW;KACZ,EACD,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;IACF,OAAO,MAAM,KAAK,CAAC,CAAC;AACtB,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,WAAmB;IAEnB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAC/B;QACE,OAAO;QACP,UAAU;QACV,MAAM;QACN,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACpD,EACD,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;IACF,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,OAAO,GAAI,OAA6C,EAAE,OAAO,CAAC;IACxE,OAAO,OAAO,KAAK,QAAQ;QACzB,OAAO,KAAK,UAAU;QACtB,OAAO,KAAK,YAAY;QACxB,OAAO,KAAK,QAAQ;QACpB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,oEAAoE;IACpE,qEAAqE;IACrE,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAClE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,OAAe,EACf,GAAW,EACX,IAA2B,EAC3B,UAAkB,EAClB,SAAiB,EACjB,KAAa,EACb,WAAoB,EACpB,cAAc,GAAG,KAAK,EACtB,YAA2B;IAE3B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,wEAAwE;QACxE,iDAAiD;QACjD,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,4BAA4B,QAAQ,CAAC,MAAM,kDAAkD,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvE,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,uCAAuC,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACnD,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,SAAS,CAAC;IAC3E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE;YACrC,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG;QACnB,WAAW;QACX,KAAK;QACL,gBAAgB;QAChB,UAAU;QACV,SAAS;QACT,UAAU;QACV,OAAO;QACP,GAAG,IAAI;KACR,CAAC;IACF,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC;IAC/B,IAAI,YAAY,KAAK,SAAS;QAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC;IACtE,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;YACxB,QAAQ;YACR,MAAM;YACN,IAAI;YACJ,OAAO;YACP,GAAG;YACH,QAAQ;YACR,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACnC,QAAQ;YACR,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACnC,YAAY;YACZ,OAAO;YACP,IAAI;YACJ,GAAG,YAAY;SAChB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,OAAyC,CAAC;QACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,GAAW,EACX,UAAkB,EAClB,UAAyF,EAAE;IAE3F,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,uEAAuE;QACvE,2DAA2D;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxE,IAAI,OAAO,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC,CAAC,mCAAmC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC;IAC/B,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,sDAAsD;IACtD,GAAG,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC;IAC1C,yEAAyE;IACzE,6EAA6E;IAC7E,GAAG,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,KAAK,CAAC;YACJ,QAAQ;YACR,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC;YACxD,MAAM;YACN,OAAO;YACP,OAAO;YACP,GAAG;YACH,QAAQ;YACR,KAAK;YACL,QAAQ;YACR,IAAI;YACJ,YAAY;YACZ,OAAO;YACP,IAAI;YACJ,WAAW;YACX,KAAK;YACL,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,wEAAwE;QACxE,oEAAoE;QACpE,kEAAkE;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC1C,IACE,KAAK,CAAC,KAAK,KAAK,QAAQ;gBACxB,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,EAC9D,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7E,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,oBAAoB,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAA2B;IAClE,OAAO;QACL,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;QAC1C,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAClD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;QACxD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QACvC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QACtC,KAAK;QACL,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/native-terminal/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,eAAe,CAAC;AAYvB,qBAAa,iCAAkC,SAAQ,KAAK;IAC1D,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGzB,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,SAAS,EAAE,MAAM;CAOpB;AAED,qBAAa,oBAAoB;;IAO/B,OAAO;WAUM,OAAO,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QACP,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KACtB,GACL,OAAO,CAAC,oBAAoB,CAAC;IAyDhC,IAAI,CAAC,SAAS,SAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIrE,MAAM,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIjF,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IAI1D,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAItD,UAAU,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC;IAQhC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAIrE,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,QAAQ,GAAE,gCAA0C,GACnD,OAAO,CAAC,6BAA6B,CAAC;IAIzC,0CAA0C,CACxC,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,6BAA6B,CAAC;IAOzC,iBAAiB,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAIzF,KAAK,CAAC,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,MAAM,CAAC,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,IAAI,CACF,KAAK,EAAE,6BAA6B,EACpC,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,0BAA0B,CAAC;IAOtC,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,0BAA0B,CAAC;IAStC,KAAK,IAAI,IAAI;CA8Fd"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/native-terminal/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,eAAe,CAAC;AAYvB,qBAAa,iCAAkC,SAAQ,KAAK;IAC1D,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGzB,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,SAAS,EAAE,MAAM;CAOpB;AAED,qBAAa,oBAAoB;;IAO/B,OAAO;WAiBM,OAAO,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QACP,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KACtB,GACL,OAAO,CAAC,oBAAoB,CAAC;IAyDhC,IAAI,CAAC,SAAS,SAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIrE,MAAM,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIjF,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IAI1D,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAItD,UAAU,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC;IAQhC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAIrE,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,QAAQ,GAAE,gCAA0C,GACnD,OAAO,CAAC,6BAA6B,CAAC;IAIzC,0CAA0C,CACxC,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,6BAA6B,CAAC;IAOzC,iBAAiB,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAIzF,KAAK,CAAC,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,MAAM,CAAC,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,IAAI,CACF,KAAK,EAAE,6BAA6B,EACpC,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,0BAA0B,CAAC;IAOtC,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,0BAA0B,CAAC;IAStC,KAAK,IAAI,IAAI;CA8Fd"}
@@ -25,6 +25,13 @@ export class NativeTerminalClient {
25
25
  socket.setEncoding("utf8");
26
26
  socket.on("data", (chunk) => this.#onData(chunk));
27
27
  socket.on("error", (error) => this.#fail(error));
28
+ // The host's end-of-stream ends this connection: no response can follow
29
+ // it, and from the next tick on Node turns every write into an EPIPE until
30
+ // 'close' arrives, a loop iteration or more later. Failing closed only on
31
+ // 'close' let a request issued in between reject with Node's raw "This
32
+ // socket has been ended by the other party" instead of this client's own
33
+ // closed-connection error, and kept requests in flight waiting for nothing.
34
+ socket.on("end", () => this.#fail(new Error("terminal host connection closed")));
28
35
  socket.on("close", () => this.#fail(new Error("terminal host connection closed")));
29
36
  }
30
37
  static async connect(socketPath, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/native-terminal/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/native-terminal/client.ts"],"names":[],"mappings":"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"}