@monotykamary/localterm-server 2.76.1 → 2.76.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.
@@ -1,16 +1,7 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { ACTIVITY_WATCHED_PROGRAMS } from "./constants.js";
4
- // Build the index the shim generator consumes: process name -> the secrets that
5
- // process should receive (in policy order, so the shim's env assignments are
6
- // stable across regenerations). A process's requestedSecrets are resolved to
7
- // {envVar, name} via `envVarByName`; a name that no longer exists in the store
8
- // (a deleted secret the cascading delete missed, or a stale process file) is
9
- // skipped so a shim never references a missing secret. A process whose
10
- // requestedSecrets resolve to nothing (empty selection, or only deleted
11
- // secrets) is omitted entirely so it gets no shim — matching the pre-flip
12
- // behavior where a program no secret referenced had no shim, and the
13
- // stale-shim sweep then removes any shim it previously had.
4
+ const shellQuote = (value) => `'${value.replace(/'/g, "'\\''")}'`;
14
5
  const buildProcessSecretIndex = (processes, envVarByName) => {
15
6
  const index = new Map();
16
7
  for (const process of processes) {
@@ -25,107 +16,91 @@ const buildProcessSecretIndex = (processes, envVarByName) => {
25
16
  }
26
17
  return index;
27
18
  };
28
- // The self-contained POSIX shim for one program. Strips its own directory from
29
- // PATH so `command -v` resolves the REAL binary (not this shim — recursion),
30
- // then resolves each secret via the backend's snippet and runs the real binary
31
- // with the non-empty ones exported. Activity-watched programs (e.g. `gh`) pass
32
- // `activityFile`: the shim runs the real binary as a child, then overwrites
33
- // that file with the shell's $PWD so the daemon can react to the command having
34
- // run (the signal fires after the binary exits, and never affects its exit
35
- // code). All other programs `exec` the real binary directly. The shim runs in
36
- // the PTY where the user's rc files have already built the full PATH (homebrew,
37
- // mise, …), so `command -v <program>` finds the real binary the user installed;
38
- // only the shims dir (prepended by localterm's shell hook AFTER the rc files
39
- // run) is excluded. `_shim_dir` is baked as a literal so the strip-by-equality
40
- // match is exact even if $HOME differs from the daemon's view.
41
- export const buildShimContent = (program, shimsDir, resolveSnippet, activityFile) => {
42
- const escapedProgram = program.replace(/'/g, "'\\''");
43
- const escapedShimsDir = shimsDir.replace(/'/g, "'\\''");
19
+ export const buildShimContent = (program, shimsDir, backend, helperPath, secrets, activityFile) => {
20
+ if (helperPath !== undefined && !path.isAbsolute(helperPath)) {
21
+ throw new Error("secretHelperPath must be an absolute path when supplied");
22
+ }
44
23
  const lines = [
45
24
  "#!/bin/sh",
46
25
  "# localterm shim for " + program + ". Generated by localterm-server; do not edit.",
47
- "# Strips this shim's own directory from PATH so `command -v` resolves the",
48
- "# real binary instead of recursing into this shim. localterm's shell hook",
49
- "# prepends the shims dir after the user's rc files run, so it is first on PATH.",
26
+ `_shim_dir=${shellQuote(shimsDir)}`,
50
27
  ];
51
- if (activityFile) {
52
- lines.push("# Activity-watched: runs the real binary as a child, then overwrites the", "# daemon's activity file with the shell's $PWD so consumers react to the", "# command having run (event-driven, no polling). The signal is best-effort", "# and never affects the program's exit code.");
28
+ if (activityFile)
29
+ lines.push(`_activity_file=${shellQuote(activityFile)}`);
30
+ lines.push("_rest=", "_oldifs=$IFS", "IFS=:", "for _d in $PATH; do", ' [ "$_d" = "$_shim_dir" ] && continue', " _rest=${_rest:+$_rest:}$_d", "done", "IFS=$_oldifs", `_real=$(PATH=$_rest command -v ${shellQuote(program)}) || { printf 'localterm: ${program.replace(/'/g, "'\\''")} not found on PATH\\n' >&2; exit 127; }`);
31
+ const useNativeHelper = secrets.length > 0 &&
32
+ backend.nativeHelperProtocol === "localterm-keychain-v1" &&
33
+ helperPath !== undefined;
34
+ if (!useNativeHelper) {
35
+ lines.push(...secrets.map((secret) => backend.shimResolveSnippet(secret.name, secret.envVar)));
53
36
  }
54
- lines.push("_shim_dir='" + escapedShimsDir + "'");
37
+ const command = useNativeHelper
38
+ ? [
39
+ shellQuote(helperPath),
40
+ ...secrets.flatMap((secret) => [shellQuote(secret.envVar), shellQuote(secret.name)]),
41
+ "--",
42
+ '"$_real"',
43
+ '"$@"',
44
+ ].join(" ")
45
+ : '"$_real" "$@"';
55
46
  if (activityFile) {
56
- lines.push("_activity_file='" + activityFile.replace(/'/g, "'\\''") + "'");
57
- }
58
- lines.push("_rest=", "_oldifs=$IFS", "IFS=:", "for _d in $PATH; do", ' [ "$_d" = "$_shim_dir" ] && continue', " _rest=${_rest:+$_rest:}$_d", "done", "IFS=$_oldifs", "_real=$(PATH=$_rest command -v '" +
59
- escapedProgram +
60
- "') || { printf 'localterm: " +
61
- escapedProgram +
62
- " not found on PATH\\n' >&2; exit 127; }", resolveSnippet);
63
- if (activityFile) {
64
- lines.push('"$_real" "$@"', "_rc=$?", 'printf \'%s\\n\' "$PWD" > "$_activity_file" 2>/dev/null || :', "exit $_rc");
47
+ lines.push(command, "_rc=$?", 'printf \'%s\\n\' "$PWD" > "$_activity_file" 2>/dev/null || :', "exit $_rc");
65
48
  }
66
49
  else {
67
- lines.push('exec "$_real" "$@"');
50
+ lines.push(`exec ${command}`);
68
51
  }
69
52
  lines.push("");
70
53
  return lines.join("\n");
71
54
  };
72
- // Regenerate all shims for the current policy: one shim per secret process
73
- // plus one per built-in activity-watched program, and stale shims (names no
74
- // longer in either set) removed. Called on daemon start and after every
75
- // policy change. The shims dir is localterm-owned (~/.localterm/shims) and
76
- // contains only generated shims, so removing any file not in the wanted set
77
- // is safe.
78
- export const regenerateShims = (processes, envVarByName, shimsDir, backend, activityDir, activityWatched = ACTIVITY_WATCHED_PROGRAMS) => {
55
+ const writeShimAtomically = (shimPath, content) => {
56
+ const temporaryPath = `${shimPath}.tmp-${process.pid}-${Math.random().toString(16).slice(2)}`;
57
+ try {
58
+ fs.writeFileSync(temporaryPath, content, { flag: "wx", mode: 0o700 });
59
+ fs.chmodSync(temporaryPath, 0o700);
60
+ fs.renameSync(temporaryPath, shimPath);
61
+ }
62
+ finally {
63
+ fs.rmSync(temporaryPath, { force: true });
64
+ }
65
+ };
66
+ export const regenerateShims = (processes, envVarByName, shimsDir, backend, activityDir, helperPath, activityWatched = ACTIVITY_WATCHED_PROGRAMS) => {
67
+ if (helperPath !== undefined && !path.isAbsolute(helperPath)) {
68
+ throw new Error("secretHelperPath must be an absolute path when supplied");
69
+ }
79
70
  if (!backend.supported) {
80
- // No backend: clear any stale shims and leave nothing behind, so the
81
- // feature is inert rather than emitting shims that resolve to nothing.
82
71
  try {
83
72
  for (const name of fs.readdirSync(shimsDir)) {
84
73
  fs.rmSync(path.join(shimsDir, name), { force: true });
85
74
  }
86
75
  }
87
76
  catch {
88
- // dir absent nothing to clean
77
+ // The directory has not been created yet.
89
78
  }
90
79
  return;
91
80
  }
92
81
  const processIndex = buildProcessSecretIndex(processes, envVarByName);
93
- fs.mkdirSync(shimsDir, { recursive: true, mode: 0o700 });
94
- fs.mkdirSync(activityDir, { recursive: true, mode: 0o700 });
95
- // The wanted set is user-configured secret processes plus the built-in
96
- // activity-watched programs (which get a shim even with no secrets, purely
97
- // to signal — so detection of short-lived CLIs like `gh` doesn't depend on the
98
- // user also configuring a secret for them).
99
82
  const wantedPrograms = new Set(processIndex.keys());
100
83
  for (const program of activityWatched)
101
84
  wantedPrograms.add(program);
102
- for (const name of fs.readdirSync(shimsDir)) {
103
- if (!wantedPrograms.has(name)) {
104
- fs.rmSync(path.join(shimsDir, name), { force: true });
105
- }
106
- }
107
- for (const program of wantedPrograms) {
108
- const programSecrets = processIndex.get(program) ?? [];
109
- const resolveSnippet = programSecrets
110
- .map((secret) => backend.shimResolveSnippet(secret.name, secret.envVar))
111
- .join("\n");
85
+ const wantedShims = [...wantedPrograms].map((program) => {
112
86
  const activityFile = activityWatched.includes(program)
113
87
  ? path.join(activityDir, program)
114
88
  : undefined;
115
- const content = buildShimContent(program, shimsDir, resolveSnippet, activityFile);
116
- const shimPath = path.join(shimsDir, program);
117
- fs.writeFileSync(shimPath, content, { mode: 0o700 });
118
- // writeFileSync's mode only applies on create; re-chmod so a rewrite of an
119
- // existing shim with wrong perms is corrected.
120
- fs.chmodSync(shimPath, 0o700);
89
+ return {
90
+ content: buildShimContent(program, shimsDir, backend, helperPath, processIndex.get(program) ?? [], activityFile),
91
+ program,
92
+ };
93
+ });
94
+ fs.mkdirSync(shimsDir, { recursive: true, mode: 0o700 });
95
+ fs.mkdirSync(activityDir, { recursive: true, mode: 0o700 });
96
+ for (const shim of wantedShims) {
97
+ writeShimAtomically(path.join(shimsDir, shim.program), shim.content);
98
+ }
99
+ for (const name of fs.readdirSync(shimsDir)) {
100
+ if (!wantedPrograms.has(name))
101
+ fs.rmSync(path.join(shimsDir, name), { force: true });
121
102
  }
122
103
  };
123
- // The line localterm's shell hook runs AFTER the user's rc files to prepend
124
- // the shims dir to PATH. Running after the rc files is the point: the user's
125
- // rc commonly re-prepends homebrew/mise, which would push a daemon-time PATH
126
- // entry down and let the real binary shadow the shim. The hook runs last, so
127
- // the shims dir wins. The dir's existence gates the prepend (empty feature =
128
- // no PATH pollution).
129
104
  export const shimPathPrependLine = (shimsDir) => {
130
105
  const escaped = shimsDir.replace(/'/g, "'\\''");
131
106
  return `[ -d '${escaped}' ] && PATH='${escaped}:'"$PATH" && export PATH`;
@@ -1 +1 @@
1
- {"version":3,"file":"secret-shims.js","sourceRoot":"","sources":["../src/secret-shims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAO3D,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,uEAAuE;AACvE,wEAAwE;AACxE,0EAA0E;AAC1E,qEAAqE;AACrE,4DAA4D;AAC5D,MAAM,uBAAuB,GAAG,CAC9B,SAA6B,EAC7B,YAAiC,EACH,EAAE;IAChC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;IACjD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,gFAAgF;AAChF,2EAA2E;AAC3E,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAe,EACf,QAAgB,EAChB,cAAsB,EACtB,YAAqB,EACb,EAAE;IACV,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,KAAK,GAAa;QACtB,WAAW;QACX,uBAAuB,GAAG,OAAO,GAAG,+CAA+C;QACnF,2EAA2E;QAC3E,2EAA2E;QAC3E,iFAAiF;KAClF,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACR,0EAA0E,EAC1E,0EAA0E,EAC1E,4EAA4E,EAC5E,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,KAAK,CAAC,IAAI,CACR,QAAQ,EACR,cAAc,EACd,OAAO,EACP,qBAAqB,EACrB,wCAAwC,EACxC,8BAA8B,EAC9B,MAAM,EACN,cAAc,EACd,kCAAkC;QAChC,cAAc;QACd,6BAA6B;QAC7B,cAAc;QACd,yCAAyC,EAC3C,cAAc,CACf,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACR,eAAe,EACf,QAAQ,EACR,8DAA8D,EAC9D,WAAW,CACZ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,2EAA2E;AAC3E,4EAA4E;AAC5E,wEAAwE;AACxE,2EAA2E;AAC3E,4EAA4E;AAC5E,WAAW;AACX,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,SAA6B,EAC7B,YAAiC,EACjC,QAAgB,EAChB,OAAsB,EACtB,WAAmB,EACnB,eAAe,GAAsB,yBAAyB,EACxD,EAAE;IACR,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,qEAAqE;QACrE,uEAAuE;QACvE,IAAI,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,uBAAuB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACtE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,uEAAuE;IACvE,2EAA2E;IAC3E,+EAA+E;IAC/E,4CAA4C;IAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,MAAM,OAAO,IAAI,eAAe;QAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEnE,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,cAAc;aAClC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,2EAA2E;QAC3E,+CAA+C;QAC/C,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AAEF,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,sBAAsB;AACtB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,SAAS,OAAO,gBAAgB,OAAO,0BAA0B,CAAC;AAC3E,CAAC,CAAC"}
1
+ {"version":3,"file":"secret-shims.js","sourceRoot":"","sources":["../src/secret-shims.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export declare class SessionOutputCoordinator {
33
33
  flushOutput(managed: ManagedSession): void;
34
34
  private maybePauseAfterFlush;
35
35
  private ensureDrainPoll;
36
+ private rendererBacklogBytes;
36
37
  private clientBacklogBytes;
37
38
  stopDrainPoll(managed: ManagedSession): void;
38
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-output-coordinator.d.ts","sourceRoot":"","sources":["../src/session-output-coordinator.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAIvE,UAAU,+BAA+B;IACvC,eAAe,EAAE,sBAAsB,CAAC;IACxC,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAG7B,UAAU,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkD;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAKjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkD;IAG3E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAE/D,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,GACX,EAAE,+BAA+B,EAOjC;IAMD,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,gBAAgB;YAKV,cAAc;IAiBtB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiF1E;IAED,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAY3B,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAQ/C;IAED,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAgBzC;IAED,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,kBAAkB;IAI1B,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAI3C;CACF"}
1
+ {"version":3,"file":"session-output-coordinator.d.ts","sourceRoot":"","sources":["../src/session-output-coordinator.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAIvE,UAAU,+BAA+B;IACvC,eAAe,EAAE,sBAAsB,CAAC;IACxC,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAG7B,UAAU,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkD;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAKjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkD;IAG3E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAE/D,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,GACX,EAAE,+BAA+B,EAOjC;IAMD,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,gBAAgB;YAKV,cAAc;IAiBtB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiF1E;IAED,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAY3B,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAQ/C;IAED,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAgBzC;IAED,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,kBAAkB;IAI1B,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAI3C;CACF"}
@@ -2,7 +2,7 @@ import fs from "node:fs";
2
2
  import nodeFs from "node:fs/promises";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
- import { MAX_AUTOMATION_LOG_LENGTH, MAX_OUTPUT_BYTES, OUTPUT_BATCH_FLUSH_BYTES, OUTPUT_BATCH_WINDOW_MS, OUTPUT_STREAM_THRESHOLD_MS, OUTPUT_SYNCHRONIZED_FRAME_TIMEOUT_MS, WS_OUTBOUND_DRAIN_POLL_MS, WS_OUTBOUND_PAUSE_HIGH_WATER_BYTES, WS_OUTBOUND_RESUME_LOW_WATER_BYTES, } from "./constants.js";
5
+ import { MAX_AUTOMATION_LOG_LENGTH, MAX_OUTPUT_BYTES, OUTPUT_BATCH_FLUSH_BYTES, OUTPUT_BATCH_WINDOW_MS, OUTPUT_STREAM_THRESHOLD_MS, OUTPUT_SYNCHRONIZED_FRAME_TIMEOUT_MS, RENDERER_PENDING_PAUSE_HIGH_WATER_BYTES, RENDERER_PENDING_RESUME_LOW_WATER_BYTES, WS_OUTBOUND_DRAIN_POLL_MS, WS_OUTBOUND_PAUSE_HIGH_WATER_BYTES, WS_OUTBOUND_RESUME_LOW_WATER_BYTES, } from "./constants.js";
6
6
  import { KittyApcScanner } from "./kitty-apc-scanner.js";
7
7
  import { KittyFrameFileRelay } from "./kitty-frame-file-relay.js";
8
8
  import { SessionOutputTransport } from "./session-output-transport.js";
@@ -257,6 +257,11 @@ export class SessionOutputCoordinator {
257
257
  maybePauseAfterFlush(managed) {
258
258
  if (managed.session.isPaused)
259
259
  return;
260
+ if (this.rendererBacklogBytes(managed) >= RENDERER_PENDING_PAUSE_HIGH_WATER_BYTES) {
261
+ managed.session.pause();
262
+ this.ensureDrainPoll(managed);
263
+ return;
264
+ }
260
265
  for (const client of managed.clients) {
261
266
  if (client.pending)
262
267
  continue;
@@ -275,13 +280,15 @@ export class SessionOutputCoordinator {
275
280
  this.stopDrainPoll(managed);
276
281
  return;
277
282
  }
278
- let allLow = true;
279
- for (const client of managed.clients) {
280
- if (client.pending)
281
- continue;
282
- if (this.clientBacklogBytes(client) > WS_OUTBOUND_RESUME_LOW_WATER_BYTES) {
283
- allLow = false;
284
- break;
283
+ let allLow = this.rendererBacklogBytes(managed) <= RENDERER_PENDING_RESUME_LOW_WATER_BYTES;
284
+ if (allLow) {
285
+ for (const client of managed.clients) {
286
+ if (client.pending)
287
+ continue;
288
+ if (this.clientBacklogBytes(client) > WS_OUTBOUND_RESUME_LOW_WATER_BYTES) {
289
+ allLow = false;
290
+ break;
291
+ }
285
292
  }
286
293
  }
287
294
  if (allLow) {
@@ -291,6 +298,9 @@ export class SessionOutputCoordinator {
291
298
  }, WS_OUTBOUND_DRAIN_POLL_MS);
292
299
  managed.drainPollTimer.unref?.();
293
300
  }
301
+ rendererBacklogBytes(managed) {
302
+ return Math.max(managed.captureRenderer?.queuedBytes ?? 0, managed.hibernateRenderer?.queuedBytes ?? 0);
303
+ }
294
304
  clientBacklogBytes(client) {
295
305
  return getBufferedAmount(client.ws) + (client.brotliEncoder?.queuedBytes() ?? 0);
296
306
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-output-coordinator.js","sourceRoot":"","sources":["../src/session-output-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-output-coordinator.js","sourceRoot":"","sources":["../src/session-output-coordinator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monotykamary/localterm-server",
3
- "version": "2.76.1",
3
+ "version": "2.76.3",
4
4
  "description": "PTY-backed HTTP/WebSocket server that powers localterm, built on Hono + node-pty.",
5
5
  "keywords": [
6
6
  "hono",
@@ -41,6 +41,10 @@
41
41
  "types": "./dist/protocol.d.ts",
42
42
  "import": "./dist/protocol.js"
43
43
  },
44
+ "./secret-backend": {
45
+ "types": "./dist/secret-backend.d.ts",
46
+ "import": "./dist/secret-backend.js"
47
+ },
44
48
  "./constants": {
45
49
  "types": "./dist/constants.d.ts",
46
50
  "import": "./dist/constants.js"