aicodeman 1.11.2 → 1.12.1

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 (87) hide show
  1. package/README.md +2 -0
  2. package/README.zh-CN.md +2 -0
  3. package/dist/proc-tree.d.ts +50 -0
  4. package/dist/proc-tree.d.ts.map +1 -0
  5. package/dist/proc-tree.js +68 -0
  6. package/dist/proc-tree.js.map +1 -0
  7. package/dist/remote-hosts.d.ts +23 -0
  8. package/dist/remote-hosts.d.ts.map +1 -1
  9. package/dist/remote-hosts.js +58 -0
  10. package/dist/remote-hosts.js.map +1 -1
  11. package/dist/session.d.ts +52 -3
  12. package/dist/session.d.ts.map +1 -1
  13. package/dist/session.js +114 -17
  14. package/dist/session.js.map +1 -1
  15. package/dist/tmux-manager.d.ts +37 -1
  16. package/dist/tmux-manager.d.ts.map +1 -1
  17. package/dist/tmux-manager.js +113 -32
  18. package/dist/tmux-manager.js.map +1 -1
  19. package/dist/utils/claude-cli-resolver.d.ts +40 -1
  20. package/dist/utils/claude-cli-resolver.d.ts.map +1 -1
  21. package/dist/utils/claude-cli-resolver.js +74 -27
  22. package/dist/utils/claude-cli-resolver.js.map +1 -1
  23. package/dist/web/public/admin-ui.js.gz +0 -0
  24. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  25. package/dist/web/public/{app.ce412e69.js → app.2e9ffd31.js} +5 -5
  26. package/dist/web/public/app.2e9ffd31.js.br +0 -0
  27. package/dist/web/public/app.2e9ffd31.js.gz +0 -0
  28. package/dist/web/public/constants.e7175b95.js.gz +0 -0
  29. package/dist/web/public/cron-ui.js.gz +0 -0
  30. package/dist/web/public/entrance-animations.js.gz +0 -0
  31. package/dist/web/public/i18n.0fbea500.js.gz +0 -0
  32. package/dist/web/public/image-input.ee16ad88.js.gz +0 -0
  33. package/dist/web/public/index.html +4 -4
  34. package/dist/web/public/index.html.br +0 -0
  35. package/dist/web/public/index.html.gz +0 -0
  36. package/dist/web/public/input-cjk.63794d0b.js.gz +0 -0
  37. package/dist/web/public/keyboard-accessory.9936227d.js.gz +0 -0
  38. package/dist/web/public/mobile-handlers.bc2b8c1d.js.gz +0 -0
  39. package/dist/web/public/mobile-overview.js.gz +0 -0
  40. package/dist/web/public/mobile.32cacde5.css.gz +0 -0
  41. package/dist/web/public/notification-manager.5d229063.js.gz +0 -0
  42. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  43. package/dist/web/public/panels-ui.1d4203e0.js.gz +0 -0
  44. package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
  45. package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
  46. package/dist/web/public/respawn-ui.ff0dae4c.js.gz +0 -0
  47. package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
  48. package/dist/web/public/session-ui.1356a4f4.js.gz +0 -0
  49. package/dist/web/public/settings-ui.01a1ae7d.js.gz +0 -0
  50. package/dist/web/public/styles.50cd52bd.css.gz +0 -0
  51. package/dist/web/public/subagent-windows.4cc8b005.js.gz +0 -0
  52. package/dist/web/public/sw.js.gz +0 -0
  53. package/dist/web/public/terminal-ui.5b5ecbf8.js +4 -0
  54. package/dist/web/public/terminal-ui.5b5ecbf8.js.br +0 -0
  55. package/dist/web/public/terminal-ui.5b5ecbf8.js.gz +0 -0
  56. package/dist/web/public/ultracode-panel.js.gz +0 -0
  57. package/dist/web/public/ultracode-windows.js.gz +0 -0
  58. package/dist/web/public/upload.html.gz +0 -0
  59. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  60. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  61. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  62. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  63. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  64. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  65. package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
  66. package/dist/web/public/vendor/xterm.css.gz +0 -0
  67. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  68. package/dist/web/public/voice-input.085e9e73.js.gz +0 -0
  69. package/dist/web/public/webview-tabs.js.gz +0 -0
  70. package/dist/web/routes/file-routes.d.ts.map +1 -1
  71. package/dist/web/routes/file-routes.js +20 -0
  72. package/dist/web/routes/file-routes.js.map +1 -1
  73. package/dist/web/routes/session-routes.d.ts.map +1 -1
  74. package/dist/web/routes/session-routes.js +33 -10
  75. package/dist/web/routes/session-routes.js.map +1 -1
  76. package/dist/web/routes/ws-routes.d.ts.map +1 -1
  77. package/dist/web/routes/ws-routes.js +9 -2
  78. package/dist/web/routes/ws-routes.js.map +1 -1
  79. package/dist/web/server.d.ts.map +1 -1
  80. package/dist/web/server.js +18 -0
  81. package/dist/web/server.js.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/web/public/app.ce412e69.js.br +0 -0
  84. package/dist/web/public/app.ce412e69.js.gz +0 -0
  85. package/dist/web/public/terminal-ui.3ac6f8c2.js +0 -3
  86. package/dist/web/public/terminal-ui.3ac6f8c2.js.br +0 -0
  87. package/dist/web/public/terminal-ui.3ac6f8c2.js.gz +0 -0
@@ -40,9 +40,48 @@ export declare function getClaudeBinaryPath(): string;
40
40
  * Result is cached for subsequent calls.
41
41
  */
42
42
  export declare function getAugmentedPath(): string;
43
+ /**
44
+ * Cache state for the `claude --version` probe.
45
+ *
46
+ * `version` is only ever set from a SUCCESSFUL probe and then kept for the
47
+ * process lifetime (the binary can't change under a running server without a
48
+ * restart). Failures are tracked separately so they expire.
49
+ */
50
+ export interface ClaudeVersionProbeState {
51
+ /** Successful probe result; `undefined` until one succeeds. */
52
+ version?: string;
53
+ /** Consecutive failed probes (drives the retry backoff). */
54
+ failures: number;
55
+ /** Timestamp of the most recent failed probe. */
56
+ lastFailureAt: number;
57
+ }
58
+ /**
59
+ * How long to wait before re-probing after `failures` consecutive failures:
60
+ * 1min, 2min, 4min… capped at 15min. Exported for tests.
61
+ */
62
+ export declare function claudeVersionRetryDelayMs(failures: number): number;
63
+ /**
64
+ * Cache policy for the version probe, pure apart from the `state` it mutates
65
+ * and the injected `probe` (exported so tests can drive it with a fake clock).
66
+ *
67
+ * Success is cached forever; FAILURE is not. That asymmetry is the fix for a
68
+ * real shipped bug: the old cache stored `null` on any exception and guarded on
69
+ * `!== undefined`, so a single failed probe — a 5s `EXEC_TIMEOUT_MS` timeout, a
70
+ * PATH-starved systemd/launchd environment, a transient fs hiccup — at the FIRST
71
+ * Claude session start left `cliVersion` undefined for EVERY Claude session
72
+ * until the server restarted. An undefined `cliVersion` silently disables
73
+ * wheel-forwarding to Claude's own transcript (`_shouldForwardWheelToApp`),
74
+ * which is the only route to history in repaint mode: a dead wheel on every
75
+ * device at once, matching the issue #205 retest reports.
76
+ *
77
+ * Retries back off so a genuinely absent binary still can't spawn a probe per
78
+ * session start.
79
+ */
80
+ export declare function resolveClaudeCliVersion(state: ClaudeVersionProbeState, now: number, probe: () => string | null): string | null;
43
81
  /**
44
82
  * Returns the installed Claude CLI version (e.g. `"2.1.210"`), or null if it
45
- * can't be determined. Runs `claude --version` once and caches the result.
83
+ * can't be determined. Runs `claude --version` at most once per successful
84
+ * resolution; failed probes retry with backoff (see `resolveClaudeCliVersion`).
46
85
  *
47
86
  * This is a deterministic alternative to scraping the interactive startup
48
87
  * banner (`parseClaudeCodeInfo` in session.ts): newer Claude Code builds don't
@@ -1 +1 @@
1
- {"version":3,"file":"claude-cli-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAwB7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAazC;AAKD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAyBnD"}
1
+ {"version":3,"file":"claude-cli-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAwB7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAazC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;CACvB;AAOD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,uBAAuB,EAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,MAAM,GAAG,IAAI,GACzB,MAAM,GAAG,IAAI,CAoBf;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAOnD"}
@@ -96,11 +96,77 @@ export function getAugmentedPath() {
96
96
  _augmentedPath = currentPath;
97
97
  return _augmentedPath;
98
98
  }
99
- /** Cached `claude --version` result: string = version, null = probed but unavailable, undefined = not probed */
100
- let _claudeVersion = undefined;
99
+ /** First retry window after a failed probe. */
100
+ const VERSION_PROBE_BASE_RETRY_MS = 60_000;
101
+ /** Ceiling for the doubling backoff, so a permanently missing binary settles down. */
102
+ const VERSION_PROBE_MAX_RETRY_MS = 15 * 60_000;
103
+ /**
104
+ * How long to wait before re-probing after `failures` consecutive failures:
105
+ * 1min, 2min, 4min… capped at 15min. Exported for tests.
106
+ */
107
+ export function claudeVersionRetryDelayMs(failures) {
108
+ if (failures <= 0)
109
+ return 0;
110
+ return Math.min(VERSION_PROBE_BASE_RETRY_MS * 2 ** (failures - 1), VERSION_PROBE_MAX_RETRY_MS);
111
+ }
112
+ /**
113
+ * Cache policy for the version probe, pure apart from the `state` it mutates
114
+ * and the injected `probe` (exported so tests can drive it with a fake clock).
115
+ *
116
+ * Success is cached forever; FAILURE is not. That asymmetry is the fix for a
117
+ * real shipped bug: the old cache stored `null` on any exception and guarded on
118
+ * `!== undefined`, so a single failed probe — a 5s `EXEC_TIMEOUT_MS` timeout, a
119
+ * PATH-starved systemd/launchd environment, a transient fs hiccup — at the FIRST
120
+ * Claude session start left `cliVersion` undefined for EVERY Claude session
121
+ * until the server restarted. An undefined `cliVersion` silently disables
122
+ * wheel-forwarding to Claude's own transcript (`_shouldForwardWheelToApp`),
123
+ * which is the only route to history in repaint mode: a dead wheel on every
124
+ * device at once, matching the issue #205 retest reports.
125
+ *
126
+ * Retries back off so a genuinely absent binary still can't spawn a probe per
127
+ * session start.
128
+ */
129
+ export function resolveClaudeCliVersion(state, now, probe) {
130
+ if (state.version !== undefined)
131
+ return state.version;
132
+ if (state.failures > 0 && now - state.lastFailureAt < claudeVersionRetryDelayMs(state.failures))
133
+ return null;
134
+ let version = null;
135
+ try {
136
+ version = probe();
137
+ }
138
+ catch {
139
+ version = null;
140
+ }
141
+ if (version) {
142
+ state.version = version;
143
+ state.failures = 0;
144
+ state.lastFailureAt = 0;
145
+ return version;
146
+ }
147
+ state.failures += 1;
148
+ state.lastFailureAt = now;
149
+ return null;
150
+ }
151
+ const _claudeVersionState = { failures: 0, lastFailureAt: 0 };
152
+ /** One `claude --version` run. Throws on spawn/timeout failure. */
153
+ function probeClaudeCliVersion() {
154
+ const dir = findClaudeDir();
155
+ const bin = dir ? join(dir, 'claude') : 'claude';
156
+ // execFileSync (no shell) — the resolved path may contain spaces, and there
157
+ // is no untrusted input, but avoid a shell either way.
158
+ const out = execFileSync(bin, ['--version'], {
159
+ encoding: 'utf-8',
160
+ timeout: EXEC_TIMEOUT_MS,
161
+ env: { ...process.env, PATH: getAugmentedPath() },
162
+ });
163
+ const match = out.match(/(\d+\.\d+\.\d+)/);
164
+ return match ? match[1] : null;
165
+ }
101
166
  /**
102
167
  * Returns the installed Claude CLI version (e.g. `"2.1.210"`), or null if it
103
- * can't be determined. Runs `claude --version` once and caches the result.
168
+ * can't be determined. Runs `claude --version` at most once per successful
169
+ * resolution; failed probes retry with backoff (see `resolveClaudeCliVersion`).
104
170
  *
105
171
  * This is a deterministic alternative to scraping the interactive startup
106
172
  * banner (`parseClaudeCodeInfo` in session.ts): newer Claude Code builds don't
@@ -109,31 +175,12 @@ let _claudeVersion = undefined;
109
175
  * gated on it (e.g. wheel-forwarding to Claude's transcript — issue #154).
110
176
  */
111
177
  export function getClaudeCliVersion() {
112
- if (_claudeVersion !== undefined)
113
- return _claudeVersion;
114
178
  // Keep the test suite hermetic — never spawn a real `claude` subprocess under
115
179
  // vitest (matches IS_TEST_MODE in tmux-manager). Tests that need a version set
116
- // it on the session directly.
117
- if (process.env.VITEST) {
118
- _claudeVersion = null;
119
- return _claudeVersion;
120
- }
121
- try {
122
- const dir = findClaudeDir();
123
- const bin = dir ? join(dir, 'claude') : 'claude';
124
- // execFileSync (no shell) — the resolved path may contain spaces, and there
125
- // is no untrusted input, but avoid a shell either way.
126
- const out = execFileSync(bin, ['--version'], {
127
- encoding: 'utf-8',
128
- timeout: EXEC_TIMEOUT_MS,
129
- env: { ...process.env, PATH: getAugmentedPath() },
130
- });
131
- const match = out.match(/(\d+\.\d+\.\d+)/);
132
- _claudeVersion = match ? match[1] : null;
133
- }
134
- catch {
135
- _claudeVersion = null;
136
- }
137
- return _claudeVersion;
180
+ // it on the session directly. Deliberately does NOT touch the cache state:
181
+ // recording a phantom failure here would be the very poisoning this fixes.
182
+ if (process.env.VITEST)
183
+ return null;
184
+ return resolveClaudeCliVersion(_claudeVersionState, Date.now(), probeClaudeCliVersion);
138
185
  }
139
186
  //# sourceMappingURL=claude-cli-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-cli-resolver.js","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-cli-resolver.js","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"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"}
Binary file