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.
- package/README.md +2 -0
- package/README.zh-CN.md +2 -0
- package/dist/proc-tree.d.ts +50 -0
- package/dist/proc-tree.d.ts.map +1 -0
- package/dist/proc-tree.js +68 -0
- package/dist/proc-tree.js.map +1 -0
- package/dist/remote-hosts.d.ts +23 -0
- package/dist/remote-hosts.d.ts.map +1 -1
- package/dist/remote-hosts.js +58 -0
- package/dist/remote-hosts.js.map +1 -1
- package/dist/session.d.ts +52 -3
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +114 -17
- package/dist/session.js.map +1 -1
- package/dist/tmux-manager.d.ts +37 -1
- package/dist/tmux-manager.d.ts.map +1 -1
- package/dist/tmux-manager.js +113 -32
- package/dist/tmux-manager.js.map +1 -1
- package/dist/utils/claude-cli-resolver.d.ts +40 -1
- package/dist/utils/claude-cli-resolver.d.ts.map +1 -1
- package/dist/utils/claude-cli-resolver.js +74 -27
- package/dist/utils/claude-cli-resolver.js.map +1 -1
- package/dist/web/public/admin-ui.js.gz +0 -0
- package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
- package/dist/web/public/{app.ce412e69.js → app.2e9ffd31.js} +5 -5
- package/dist/web/public/app.2e9ffd31.js.br +0 -0
- package/dist/web/public/app.2e9ffd31.js.gz +0 -0
- package/dist/web/public/constants.e7175b95.js.gz +0 -0
- package/dist/web/public/cron-ui.js.gz +0 -0
- package/dist/web/public/entrance-animations.js.gz +0 -0
- package/dist/web/public/i18n.0fbea500.js.gz +0 -0
- package/dist/web/public/image-input.ee16ad88.js.gz +0 -0
- package/dist/web/public/index.html +4 -4
- package/dist/web/public/index.html.br +0 -0
- package/dist/web/public/index.html.gz +0 -0
- package/dist/web/public/input-cjk.63794d0b.js.gz +0 -0
- package/dist/web/public/keyboard-accessory.9936227d.js.gz +0 -0
- package/dist/web/public/mobile-handlers.bc2b8c1d.js.gz +0 -0
- package/dist/web/public/mobile-overview.js.gz +0 -0
- package/dist/web/public/mobile.32cacde5.css.gz +0 -0
- package/dist/web/public/notification-manager.5d229063.js.gz +0 -0
- package/dist/web/public/orchestrator-panel.js.gz +0 -0
- package/dist/web/public/panels-ui.1d4203e0.js.gz +0 -0
- package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
- package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
- package/dist/web/public/respawn-ui.ff0dae4c.js.gz +0 -0
- package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
- package/dist/web/public/session-ui.1356a4f4.js.gz +0 -0
- package/dist/web/public/settings-ui.01a1ae7d.js.gz +0 -0
- package/dist/web/public/styles.50cd52bd.css.gz +0 -0
- package/dist/web/public/subagent-windows.4cc8b005.js.gz +0 -0
- package/dist/web/public/sw.js.gz +0 -0
- package/dist/web/public/terminal-ui.5b5ecbf8.js +4 -0
- package/dist/web/public/terminal-ui.5b5ecbf8.js.br +0 -0
- package/dist/web/public/terminal-ui.5b5ecbf8.js.gz +0 -0
- package/dist/web/public/ultracode-panel.js.gz +0 -0
- package/dist/web/public/ultracode-windows.js.gz +0 -0
- package/dist/web/public/upload.html.gz +0 -0
- package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
- package/dist/web/public/vendor/marked.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
- package/dist/web/public/vendor/xterm.css.gz +0 -0
- package/dist/web/public/vendor/xterm.min.js.gz +0 -0
- package/dist/web/public/voice-input.085e9e73.js.gz +0 -0
- package/dist/web/public/webview-tabs.js.gz +0 -0
- package/dist/web/routes/file-routes.d.ts.map +1 -1
- package/dist/web/routes/file-routes.js +20 -0
- package/dist/web/routes/file-routes.js.map +1 -1
- package/dist/web/routes/session-routes.d.ts.map +1 -1
- package/dist/web/routes/session-routes.js +33 -10
- package/dist/web/routes/session-routes.js.map +1 -1
- package/dist/web/routes/ws-routes.d.ts.map +1 -1
- package/dist/web/routes/ws-routes.js +9 -2
- package/dist/web/routes/ws-routes.js.map +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +18 -0
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
- package/dist/web/public/app.ce412e69.js.br +0 -0
- package/dist/web/public/app.ce412e69.js.gz +0 -0
- package/dist/web/public/terminal-ui.3ac6f8c2.js +0 -3
- package/dist/web/public/terminal-ui.3ac6f8c2.js.br +0 -0
- 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`
|
|
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;
|
|
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
|
-
/**
|
|
100
|
-
|
|
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`
|
|
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
|
-
|
|
118
|
-
|
|
119
|
-
return
|
|
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":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,sEAAsE;AACtE,MAAM,kBAAkB,GAAG;IACzB,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC;IACnC,gBAAgB;IAChB,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;CACvB,CAAC;AAEF,4FAA4F;AAC5F,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,aAAa,EAAE,KAAK,IAAI,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,UAAU,IAAI,IAAI,CAAC;IAEnD,4CAA4C;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChG,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,kDAAkD;IAClD,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACpC,UAAU,GAAG,GAAG,CAAC;YACjB,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,UAAU,GAAG,EAAE,CAAC,CAAC,8BAA8B;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9C,CAAC;AAED,mCAAmC;AACnC,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAElC,IAAI,SAAS,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,cAAc,GAAG,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;QAC1D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,cAAc,GAAG,WAAW,CAAC;IAC7B,OAAO,cAAc,CAAC;AACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-cli-resolver.js","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
Binary file
|