cc-viewer 1.7.2 → 1.7.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.
- package/cli.js +21 -3
- package/dist/assets/{App-B224r-8M.js → App-DRsuJXEw.js} +1 -1
- package/dist/assets/{MdxEditorPanel-BUubiE6Y.js → MdxEditorPanel-D_dewIIc.js} +1 -1
- package/dist/assets/{Mobile-CKmfRRvo.js → Mobile-BIzb7vpA.js} +1 -1
- package/dist/assets/{index-CjsQEQc2.js → index-DidP9FCD.js} +2 -2
- package/dist/assets/{seqResourceLoaders-C-T_EMiO.js → seqResourceLoaders-BtGpfGRW.js} +2 -2
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/server/i18n.js +20 -0
- package/server/interceptor.js +45 -1
- package/server/lib/ensure-hooks.js +28 -2
- package/server/lib/log-watcher.js +8 -0
- package/server/lib/pid-alive.js +15 -0
- package/server/lib/session-start-bridge.js +121 -0
- package/server/lib/settings-merge.js +170 -0
- package/server/lib/v2/live-feed.js +189 -48
- package/server/lib/v2/session-owner.js +135 -0
- package/server/lib/v2/session-select.js +15 -2
- package/server/lib/v2/v2-writer.js +181 -6
- package/server/pty-manager.js +28 -4
- package/server/routes/events.js +44 -0
- package/server/server.js +4 -1
package/cli.js
CHANGED
|
@@ -15,6 +15,7 @@ import { INJECT_IMPORT, LEGACY_INJECT_IMPORTS, resolveCliPath, resolveNativePath
|
|
|
15
15
|
import { ensureHooks, removeAllManagedHooks } from './server/lib/ensure-hooks.js';
|
|
16
16
|
import { injectCliJsAt, removeCliJsInjectionAt, INJECT_START as _INJECT_START, INJECT_END as _INJECT_END, buildInjectBlock as _buildInjectBlock } from './server/lib/cli-inject.js';
|
|
17
17
|
import { normalizeBasePath } from './server/lib/base-path.js';
|
|
18
|
+
import { mergeSettingsIntoArgs } from './server/lib/settings-merge.js';
|
|
18
19
|
import { createHardenedCleanup, installWinKeypressFallback } from './server/lib/term-signals.js';
|
|
19
20
|
|
|
20
21
|
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
@@ -272,17 +273,34 @@ async function runProxyCommand(args) {
|
|
|
272
273
|
// 剥离 cc-viewer 的内部短路开关,避免泄漏给 claude 子进程
|
|
273
274
|
delete env.CCV_SKIP_THINKING_DISPLAY;
|
|
274
275
|
|
|
275
|
-
const
|
|
276
|
+
const settingsObj = {
|
|
276
277
|
env: {
|
|
277
278
|
ANTHROPIC_BASE_URL: env.ANTHROPIC_BASE_URL
|
|
278
279
|
}
|
|
279
|
-
}
|
|
280
|
+
};
|
|
281
|
+
let settingsJson = JSON.stringify(settingsObj);
|
|
282
|
+
|
|
283
|
+
const isClaudeCmd = cmd === 'claude' || /[\\/]claude(\.exe)?$/.test(cmd);
|
|
284
|
+
|
|
285
|
+
// Fold a user-supplied --settings into the injected settings and emit a single flag
|
|
286
|
+
// (claude is last-wins for duplicate --settings; two parallel flags let the user's
|
|
287
|
+
// silently clobber the injected ANTHROPIC_BASE_URL and break capture). claude only:
|
|
288
|
+
// another tool's --settings belongs to that tool and must not be touched.
|
|
289
|
+
// Runs on the RAW cmdArgs BEFORE the --thinking-display append below: otherwise a
|
|
290
|
+
// trailing valueless user --settings would consume our appended token as its value.
|
|
291
|
+
if (isClaudeCmd) {
|
|
292
|
+
const settingsMerge = mergeSettingsIntoArgs(cmdArgs, settingsObj, { cwd: process.cwd() });
|
|
293
|
+
if (settingsMerge.warningDetail) {
|
|
294
|
+
console.warn(t('cli.settingsMergeFailed', settingsMerge.warningDetail));
|
|
295
|
+
}
|
|
296
|
+
settingsJson = settingsMerge.settingsJson;
|
|
297
|
+
cmdArgs = settingsMerge.args;
|
|
298
|
+
}
|
|
280
299
|
|
|
281
300
|
// 注入默认 --thinking-display summarized,仅对 claude 二进制(其他命令如 `ccv run -- sometool` 跳过)。
|
|
282
301
|
// 若 claude 不识别该 flag(老版本/fork)会 unknown option 崩溃——由 pty-manager.js::spawnClaude 的
|
|
283
302
|
// onExit reactive retry 兜底;cli.js 这条路径是一次性子进程,没有 respawn 机会,用户需手动重试。
|
|
284
303
|
// 可通过环境变量 CCV_SKIP_THINKING_DISPLAY=1 强制跳过。
|
|
285
|
-
const isClaudeCmd = cmd === 'claude' || /[\\/]claude(\.exe)?$/.test(cmd);
|
|
286
304
|
if (isClaudeCmd && process.env.CCV_SKIP_THINKING_DISPLAY !== '1') {
|
|
287
305
|
const { withDefaultThinkingDisplay } = await import('./server/pty-manager.js');
|
|
288
306
|
cmdArgs = withDefaultThinkingDisplay(cmdArgs);
|