@chatcode/chatcode-cli 3.0.2-rc.5 → 3.0.2-rc.6
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/lib/{command-errors-B-jCwfLt.js → command-errors-BAbKP4yc.js} +12 -12
- package/lib/{command-trees-CdgUsoW4.js → command-trees-Kgumf22q.js} +2 -2
- package/lib/{component-identity-ax93NpoH.js → component-identity-sFGCBs3q.js} +3 -3
- package/lib/{extension-events-DJTP1cCG.js → extension-events-CpdxIYny.js} +20 -20
- package/lib/{host-access-D3lpiaUY.js → host-access-DzODySUv.js} +1 -1
- package/lib/{keymap-DAr6MX8m.js → keymap-CiIcZwAy.js} +2 -2
- package/lib/{plugin-BGw2QmPK.js → plugin-qsdFyVMj.js} +413 -376
- package/lib/{scenes-BeuL5ow2.js → scenes-DqDnZlu2.js} +3 -3
- package/lib/{settings-sections-dGk8gNU7.js → settings-sections-B7HURmLF.js} +3 -3
- package/lib/{themes-O-UQAfC7.js → themes-TJq3ehQ0.js} +12 -12
- package/lib/tui-compat-command-trees.js +1 -1
- package/lib/tui-compat-extensions.js +4 -4
- package/lib/tui-compat-plugin-host.js +5 -5
- package/lib/tui-compat-scenes.js +1 -1
- package/lib/tui-compat-settings-sections.js +1 -1
- package/lib/tui-compat-working-activity.js +1 -1
- package/lib/tui-compat-workspaces.js +1 -1
- package/lib/tui-compat.js +5 -5
- package/lib/{tuiDisplayPrefs-DdU4O_sF.js → tuiDisplayPrefs-CrC3Slh1.js} +2 -2
- package/lib/{workspaces-CE18wA21.js → workspaces-CLW5OKFC.js} +2 -2
- package/package.json +25 -25
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-account/lib/client.js +2 -2
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { i as __toESM, n as __exportAll, r as __require, t as __commonJSMin } from "./rolldown-runtime-2rV9d50f.js";
|
|
2
|
-
import { a as getPageMarginSetting, c as normalizeScrollGutter, d as parsePageMarginSpec, f as resolvePageMargin, g as settingsValue, i as formatContextUsage, l as normalizeStatusBar, m as displaySettingsScope, n as DEFAULT_STATUS_BAR, o as isPageMarginMode, p as subscribePageMargin, r as applyPageMargin, s as normalizePageMargin, u as normalizeToolBackground } from "./tuiDisplayPrefs-
|
|
3
|
-
import { a as draftComboConflicts, d as setKeymapOverrides, f as isMod, h as modLabel, l as parseComboDraft, m as isPlainReturnInput, n as actionMatches, o as effectiveComboString, p as isPlainReturn, t as SHORTCUT_ACTIONS } from "./keymap-
|
|
4
|
-
import { c as withHostRootCapability } from "./host-access-
|
|
5
|
-
import { i as getHostWorkspaceRuntime, r as createLocalWorkspaceRuntime } from "./workspaces-
|
|
6
|
-
import { n as getHostCommandTrees } from "./command-trees-
|
|
7
|
-
import { a as isReservedCredentialRef, n as getHostSettingsSections, r as getLocalSettingsSectionsHost } from "./settings-sections-
|
|
8
|
-
import { n as getHostSceneRuntime } from "./scenes-
|
|
9
|
-
import { A as tuiEnvName, C as LEGACY_DATA_DIR, D as homeDir, E as detectLegacyEnv, J as parseManifest, M as loadSpecData, O as readTuiEnv, S as DATA_DIR, T as RENAMED_ENV, Y as projectManifest, _ as stripAnsi$1, a as normalizeCancelDecision, b as isWide, c as installDecisionGuard, d as capCells, f as cleanRenderText, g as getGraphemeSegmenter, h as stringWidth$1, i as dispatchTuiNotification, k as resolveChatCodeCliHome, m as flattenInline, p as cleanScalarText, r as dispatchTuiDecision, v as eastAsianWidth, w as PRE_DSH_TUI_DATA_DIR, x as readGrantStore, y as isFullWidth } from "./extension-events-
|
|
10
|
-
import { A as validatePlugin, D as buildHostDescriptor, O as negotiate, _ as getHostMessageObserver, a as commandOwner, k as createContractIndex, n as hasCommandErrorCode, r as mapCommandError, w as EFFECT_LEDGER_FILE } from "./command-errors-
|
|
11
|
-
import { D as getHostStatusStore, E as TuiStatusStore, M as getHostDialogStore, S as getHostShortcuts, a as listCustomThemes, b as getHostRenderers, c as THEME_NAMES, d as getTheme, f as isLightThemeActive, g as setAutoThemeBase, h as setActiveThemeName, i as isSafeThemeName, j as TuiDialogStore, l as getActiveTheme, m as registerCustomThemeResolver, n as getHostThemes, o as resolveCustomTheme, p as isThemeAvailable, r as buildTheme, s as AUTO_THEME_NAME, u as getAutoThemeBase, v as getHostToastStore } from "./themes-
|
|
2
|
+
import { a as getPageMarginSetting, c as normalizeScrollGutter, d as parsePageMarginSpec, f as resolvePageMargin, g as settingsValue, i as formatContextUsage, l as normalizeStatusBar, m as displaySettingsScope, n as DEFAULT_STATUS_BAR, o as isPageMarginMode, p as subscribePageMargin, r as applyPageMargin, s as normalizePageMargin, u as normalizeToolBackground } from "./tuiDisplayPrefs-CrC3Slh1.js";
|
|
3
|
+
import { a as draftComboConflicts, d as setKeymapOverrides, f as isMod, h as modLabel, l as parseComboDraft, m as isPlainReturnInput, n as actionMatches, o as effectiveComboString, p as isPlainReturn, t as SHORTCUT_ACTIONS } from "./keymap-CiIcZwAy.js";
|
|
4
|
+
import { c as withHostRootCapability } from "./host-access-DzODySUv.js";
|
|
5
|
+
import { i as getHostWorkspaceRuntime, r as createLocalWorkspaceRuntime } from "./workspaces-CLW5OKFC.js";
|
|
6
|
+
import { n as getHostCommandTrees } from "./command-trees-Kgumf22q.js";
|
|
7
|
+
import { a as isReservedCredentialRef, n as getHostSettingsSections, r as getLocalSettingsSectionsHost } from "./settings-sections-B7HURmLF.js";
|
|
8
|
+
import { n as getHostSceneRuntime } from "./scenes-DqDnZlu2.js";
|
|
9
|
+
import { A as tuiEnvName, C as LEGACY_DATA_DIR, D as homeDir, E as detectLegacyEnv, J as parseManifest, M as loadSpecData, O as readTuiEnv, S as DATA_DIR, T as RENAMED_ENV, Y as projectManifest, _ as stripAnsi$1, a as normalizeCancelDecision, b as isWide, c as installDecisionGuard, d as capCells, f as cleanRenderText, g as getGraphemeSegmenter, h as stringWidth$1, i as dispatchTuiNotification, k as resolveChatCodeCliHome, m as flattenInline, p as cleanScalarText, r as dispatchTuiDecision, v as eastAsianWidth, w as PRE_DSH_TUI_DATA_DIR, x as readGrantStore, y as isFullWidth } from "./extension-events-CpdxIYny.js";
|
|
10
|
+
import { A as validatePlugin, D as buildHostDescriptor, O as negotiate, _ as getHostMessageObserver, a as commandOwner, k as createContractIndex, n as hasCommandErrorCode, r as mapCommandError, w as EFFECT_LEDGER_FILE } from "./command-errors-BAbKP4yc.js";
|
|
11
|
+
import { D as getHostStatusStore, E as TuiStatusStore, M as getHostDialogStore, S as getHostShortcuts, a as listCustomThemes, b as getHostRenderers, c as THEME_NAMES, d as getTheme, f as isLightThemeActive, g as setAutoThemeBase, h as setActiveThemeName, i as isSafeThemeName, j as TuiDialogStore, l as getActiveTheme, m as registerCustomThemeResolver, n as getHostThemes, o as resolveCustomTheme, p as isThemeAvailable, r as buildTheme, s as AUTO_THEME_NAME, u as getAutoThemeBase, v as getHostToastStore } from "./themes-TJq3ehQ0.js";
|
|
12
12
|
import { a as resolvePreset, i as isPresetName, n as FRAME_PRESETS, o as ActivityTracker, r as PRESET_NAMES, t as DEFAULT_PRESET } from "./frames-7PAg0Q9b.js";
|
|
13
13
|
import { n as require_has_flag, t as require_supports_color } from "./supports-color-CcW-FGjr.js";
|
|
14
14
|
import { createRequire } from "node:module";
|
|
@@ -1198,7 +1198,7 @@ var require_react = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1198
1198
|
else module.exports = require_react_development();
|
|
1199
1199
|
}));
|
|
1200
1200
|
//#endregion
|
|
1201
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1201
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sideQuestion.js
|
|
1202
1202
|
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
|
|
1203
1203
|
/**
|
|
1204
1204
|
* Side Question (`/btw`) — CC's btw.tsx/sideQuestion.ts semantics on the
|
|
@@ -1268,7 +1268,7 @@ async function runSideQuestion(params) {
|
|
|
1268
1268
|
return { answer };
|
|
1269
1269
|
}
|
|
1270
1270
|
//#endregion
|
|
1271
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1271
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/recap.js
|
|
1272
1272
|
/**
|
|
1273
1273
|
* Session recap (`/recap`, pi-recap semantics): a single TOOL-LESS LLM
|
|
1274
1274
|
* call that summarizes the session's RECENT activity into one line and
|
|
@@ -1381,7 +1381,7 @@ function parseRecapResponse(raw) {
|
|
|
1381
1381
|
return { summary: raw.trim() };
|
|
1382
1382
|
}
|
|
1383
1383
|
//#endregion
|
|
1384
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1384
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/log.js
|
|
1385
1385
|
/**
|
|
1386
1386
|
* Error logger for the ported Ink core. Always writes to stderr (an Ink
|
|
1387
1387
|
* renderer failure must never pass silently).
|
|
@@ -1392,7 +1392,7 @@ function logError(error) {
|
|
|
1392
1392
|
process.stderr.write(`[ChatCode CLI TUI] ${text}\n`);
|
|
1393
1393
|
}
|
|
1394
1394
|
//#endregion
|
|
1395
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1395
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/update-overflow-guard.js
|
|
1396
1396
|
/**
|
|
1397
1397
|
* Self-healing guard for React's nested-update overflow — Minified React
|
|
1398
1398
|
* error #185 ("Maximum update depth exceeded").
|
|
@@ -1535,7 +1535,7 @@ function installNestedUpdateOverflowProcessGuard() {
|
|
|
1535
1535
|
});
|
|
1536
1536
|
}
|
|
1537
1537
|
//#endregion
|
|
1538
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1538
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/sessionColors.js
|
|
1539
1539
|
/**
|
|
1540
1540
|
* Session accent colors for `/color` (CC's /color semantics): a small
|
|
1541
1541
|
* named palette that overrides the prompt-input border (and its session
|
|
@@ -1576,7 +1576,7 @@ function sessionColorHex(name) {
|
|
|
1576
1576
|
return isValidSessionColor(name) ? SESSION_COLORS[name] : void 0;
|
|
1577
1577
|
}
|
|
1578
1578
|
//#endregion
|
|
1579
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1579
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/deepseekPricing.js
|
|
1580
1580
|
/**
|
|
1581
1581
|
* DeepSeek 官方定价与"本会话花费"估算(人民币口径)。
|
|
1582
1582
|
*
|
|
@@ -1701,7 +1701,7 @@ function estimateSessionCostCny(tokens, model) {
|
|
|
1701
1701
|
return estimateSessionCostSplitCny(tokens, model)?.total;
|
|
1702
1702
|
}
|
|
1703
1703
|
//#endregion
|
|
1704
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1704
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/i18n.js
|
|
1705
1705
|
/**
|
|
1706
1706
|
* dsh-tui localization — UI strings for Chinese (`zh`, the default) and
|
|
1707
1707
|
* English (`en`).
|
|
@@ -1844,8 +1844,8 @@ const dict = {
|
|
|
1844
1844
|
en: "No MCP servers configured."
|
|
1845
1845
|
},
|
|
1846
1846
|
"mcp-insert-hint": {
|
|
1847
|
-
zh: "
|
|
1848
|
-
en: "Insert one line in the profile patch layer (~/.chatcode-cli/profiles/
|
|
1847
|
+
zh: "在当前 profile 补丁层(默认 ~/.chatcode-cli/profiles/cli/cordis.patch.yml)insert 一行即可,例:",
|
|
1848
|
+
en: "Insert one line in the active profile patch layer (default: ~/.chatcode-cli/profiles/cli/cordis.patch.yml), e.g.:"
|
|
1849
1849
|
},
|
|
1850
1850
|
"mcp-readme-hint": {
|
|
1851
1851
|
zh: "详见仓库 README 的 MCP 章节。",
|
|
@@ -3318,8 +3318,8 @@ const dict = {
|
|
|
3318
3318
|
en: "ChatCode CLI TUI update aborted: no ChatCode CLI Profile was resolved."
|
|
3319
3319
|
},
|
|
3320
3320
|
"update-launcher-align-unknown": {
|
|
3321
|
-
zh: "
|
|
3322
|
-
en: "The
|
|
3321
|
+
zh: "TUI 插件已更新到 v{{version}}。日常使用 chatcode-cli 或 cco 启动。仅当使用独立兼容启动器 cco-tui 时,才需对齐该启动器版本:\n npm install -g --legacy-peer-deps @chatcode/cco-tui@{{version}}",
|
|
3322
|
+
en: "The TUI plugin is now v{{version}}. Start with chatcode-cli or cco. Only if you use the separate cco-tui compatibility launcher, align its version with:\n npm install -g --legacy-peer-deps @chatcode/cco-tui@{{version}}"
|
|
3323
3323
|
},
|
|
3324
3324
|
"update-launcher-outdated": {
|
|
3325
3325
|
zh: "Profile 已更新到 v{{profile}},但全局启动器仍是 v{{launcher}}。请同步更新:\n npm install -g --legacy-peer-deps @chatcode/cco-tui@{{profile}}\n(--legacy-peer-deps 可绕过 npm 12 的 peer 解析崩溃,见 #459)",
|
|
@@ -3393,6 +3393,22 @@ const dict = {
|
|
|
3393
3393
|
zh: "当前 preset 未注册 /plan 命令,无法切换计划模式",
|
|
3394
3394
|
en: "The active preset does not register /plan; cannot toggle plan mode"
|
|
3395
3395
|
},
|
|
3396
|
+
"logo-ai-ratio-loading": {
|
|
3397
|
+
zh: "加载中…",
|
|
3398
|
+
en: "Loading…"
|
|
3399
|
+
},
|
|
3400
|
+
"logo-ai-ratio-empty": {
|
|
3401
|
+
zh: "暂无数据(当月)",
|
|
3402
|
+
en: "No data (month)"
|
|
3403
|
+
},
|
|
3404
|
+
"logo-ai-ratio-unavailable": {
|
|
3405
|
+
zh: "暂不可用(稍后重试)",
|
|
3406
|
+
en: "Unavailable (retrying)"
|
|
3407
|
+
},
|
|
3408
|
+
"logo-ai-ratio-stale": {
|
|
3409
|
+
zh: "(待刷新)",
|
|
3410
|
+
en: " (stale)"
|
|
3411
|
+
},
|
|
3396
3412
|
"logo-web-hint": {
|
|
3397
3413
|
zh: "🌐 输入 /web,或在终端运行 cco web,进行可视化配置",
|
|
3398
3414
|
en: "🌐 type /web, or run cco web in another terminal"
|
|
@@ -6473,7 +6489,7 @@ function resolveStartupLang(dir = PREFS_DIR$6, env = process.env) {
|
|
|
6473
6489
|
return readLangPref(dir) ?? "zh";
|
|
6474
6490
|
}
|
|
6475
6491
|
//#endregion
|
|
6476
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
6492
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/commands.js
|
|
6477
6493
|
/**
|
|
6478
6494
|
* Local slash commands for the dsh-tui TUI. Claude Code's command system is
|
|
6479
6495
|
* deeply wired into its engine; dsh-tui ships a small built-in set with the
|
|
@@ -6930,7 +6946,7 @@ function matchingCompletionToken(candidate, prefix) {
|
|
|
6930
6946
|
return candidate.aliases?.find((alias) => alias.toLowerCase().startsWith(prefix));
|
|
6931
6947
|
}
|
|
6932
6948
|
//#endregion
|
|
6933
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
6949
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionHistory.js
|
|
6934
6950
|
/**
|
|
6935
6951
|
* Launcher contract for `dsh-tui --resume`: the TUI writes the chosen session
|
|
6936
6952
|
* id to `<CHATCODE_CLI_HOME>/tui/resume.txt`, and the launcher feeds it back as
|
|
@@ -7099,7 +7115,7 @@ function forgetAgentViewSession(sessionId) {
|
|
|
7099
7115
|
} catch {}
|
|
7100
7116
|
}
|
|
7101
7117
|
//#endregion
|
|
7102
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
7118
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionTags.js
|
|
7103
7119
|
/**
|
|
7104
7120
|
* One searchable local tag per persisted session.
|
|
7105
7121
|
*
|
|
@@ -7249,7 +7265,7 @@ function forgetSessionTag(sessionId, dir = DATA_DIR) {
|
|
|
7249
7265
|
return setSessionTag(sessionId, void 0, dir).ok;
|
|
7250
7266
|
}
|
|
7251
7267
|
//#endregion
|
|
7252
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
7268
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/liveSession.js
|
|
7253
7269
|
/**
|
|
7254
7270
|
* Live Session compatibility facade.
|
|
7255
7271
|
*
|
|
@@ -7411,7 +7427,7 @@ function liveSessionCreateOptions(request) {
|
|
|
7411
7427
|
};
|
|
7412
7428
|
}
|
|
7413
7429
|
//#endregion
|
|
7414
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
7430
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/sessionLog.js
|
|
7415
7431
|
/**
|
|
7416
7432
|
* Legacy third-party session-event types the TUI vouches for as ephemeral
|
|
7417
7433
|
* UI frames — safe for the strict read path to accept and skip. Exported
|
|
@@ -8125,7 +8141,7 @@ function deleteSessionLog(sessionId) {
|
|
|
8125
8141
|
}
|
|
8126
8142
|
}
|
|
8127
8143
|
//#endregion
|
|
8128
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
8144
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/sessionEvent.js
|
|
8129
8145
|
/** Narrow an unknown/session event to the retired durable chunk envelope. */
|
|
8130
8146
|
function legacyAssistantChunkOf(event) {
|
|
8131
8147
|
if (event === null || typeof event !== "object") return void 0;
|
|
@@ -8139,7 +8155,7 @@ function legacyAssistantChunkOf(event) {
|
|
|
8139
8155
|
return event;
|
|
8140
8156
|
}
|
|
8141
8157
|
//#endregion
|
|
8142
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
8158
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compaction.js
|
|
8143
8159
|
/**
|
|
8144
8160
|
* Recognize both the current checkpoint source and the legacy plugin marker.
|
|
8145
8161
|
* Harness session format v4 migrated `plugin/compact` to the dedicated
|
|
@@ -8150,7 +8166,7 @@ function isCompactionCheckpointSource(source) {
|
|
|
8150
8166
|
return source.kind === "compact-checkpoint" || source.kind === "plugin" && source.plugin === "compact";
|
|
8151
8167
|
}
|
|
8152
8168
|
//#endregion
|
|
8153
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
8169
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessionTree.js
|
|
8154
8170
|
const TREE_FILTERS = [
|
|
8155
8171
|
"default",
|
|
8156
8172
|
"no-tools",
|
|
@@ -10306,7 +10322,7 @@ var require_subset = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
10306
10322
|
module.exports = subset;
|
|
10307
10323
|
}));
|
|
10308
10324
|
//#endregion
|
|
10309
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
10325
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/shellQuote.js
|
|
10310
10326
|
var import_semver = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
10311
10327
|
const internalRe = require_re();
|
|
10312
10328
|
const constants = require_constants$1();
|
|
@@ -10399,7 +10415,7 @@ function cmdEscapeArgument(arg, doubleEscapeMetaChars = false) {
|
|
|
10399
10415
|
return out;
|
|
10400
10416
|
}
|
|
10401
10417
|
//#endregion
|
|
10402
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
10418
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/update.js
|
|
10403
10419
|
const PACKAGE_NAME = "@chatcode/cco-tui";
|
|
10404
10420
|
const DEFAULT_REGISTRY = "https://registry.npmjs.org";
|
|
10405
10421
|
const GITHUB_REPO = "ccch1mneyyy/dsh-TUI";
|
|
@@ -11750,7 +11766,7 @@ async function restartTui(sessionId, options = {}) {
|
|
|
11750
11766
|
});
|
|
11751
11767
|
}
|
|
11752
11768
|
//#endregion
|
|
11753
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
11769
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/header.js
|
|
11754
11770
|
/** A finite number, or undefined for anything else (NaN and ±Infinity included). */
|
|
11755
11771
|
function finiteNumber(value) {
|
|
11756
11772
|
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
@@ -11824,7 +11840,7 @@ function classify(header) {
|
|
|
11824
11840
|
return { kind: "root" };
|
|
11825
11841
|
}
|
|
11826
11842
|
//#endregion
|
|
11827
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
11843
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/frames.js
|
|
11828
11844
|
/**
|
|
11829
11845
|
* Bounded reads over the JSONL backend's concatenated-Zstandard session logs.
|
|
11830
11846
|
*
|
|
@@ -12070,7 +12086,7 @@ function decodeTail(window) {
|
|
|
12070
12086
|
return decodeFrames(window.buffer, window.whole ? walkFrames(window.buffer) : resyncFrames(window.buffer));
|
|
12071
12087
|
}
|
|
12072
12088
|
//#endregion
|
|
12073
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12089
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/digest.js
|
|
12074
12090
|
/**
|
|
12075
12091
|
* What a bounded read can learn about a session log.
|
|
12076
12092
|
*
|
|
@@ -12534,7 +12550,7 @@ function previewSession(path, limit) {
|
|
|
12534
12550
|
return entries.slice(-limit);
|
|
12535
12551
|
}
|
|
12536
12552
|
//#endregion
|
|
12537
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12553
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/artifact.js
|
|
12538
12554
|
/** Read-only artifact lookup for session summaries and previews. */
|
|
12539
12555
|
/** Highest published compressed generation; temporary migration files are ignored. */
|
|
12540
12556
|
function inDirectory(directory) {
|
|
@@ -12587,7 +12603,7 @@ function findSessionArtifact(sessionId, target) {
|
|
|
12587
12603
|
}
|
|
12588
12604
|
}
|
|
12589
12605
|
//#endregion
|
|
12590
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12606
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/store.js
|
|
12591
12607
|
/**
|
|
12592
12608
|
* The session index — a local cache keyed by the backend's own change token.
|
|
12593
12609
|
*
|
|
@@ -12750,7 +12766,7 @@ function noteBranch(sessionId, branch) {
|
|
|
12750
12766
|
writeIndex(index);
|
|
12751
12767
|
}
|
|
12752
12768
|
//#endregion
|
|
12753
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12769
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/list.js
|
|
12754
12770
|
/**
|
|
12755
12771
|
* Building the session list.
|
|
12756
12772
|
*
|
|
@@ -13022,7 +13038,7 @@ async function locateSession(source, sessionId, signal) {
|
|
|
13022
13038
|
return match === void 0 ? void 0 : locate$1(source, match.raw, sessionId);
|
|
13023
13039
|
}
|
|
13024
13040
|
//#endregion
|
|
13025
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13041
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/agent-view.js
|
|
13026
13042
|
/**
|
|
13027
13043
|
* Agent view (CC `claude agents`) derivation helpers — pure functions over
|
|
13028
13044
|
* session events that the channel folds into {@link AgentViewRow}s. Kept in
|
|
@@ -13252,7 +13268,7 @@ function featureOn(config, name) {
|
|
|
13252
13268
|
return config.mode !== "minimal";
|
|
13253
13269
|
}
|
|
13254
13270
|
//#endregion
|
|
13255
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13271
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/activityPrefs.js
|
|
13256
13272
|
/**
|
|
13257
13273
|
* Persisted working-activity indicator preference, mirroring the pi
|
|
13258
13274
|
* working-activity extension's `~/.pi/agent/working-activity.json`
|
|
@@ -13321,7 +13337,7 @@ function writeActivityFrames(name, dir = PREFS_DIR$5) {
|
|
|
13321
13337
|
}
|
|
13322
13338
|
}
|
|
13323
13339
|
//#endregion
|
|
13324
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13340
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileSuggestions.js
|
|
13325
13341
|
const pathSeparators = /[\\/]/;
|
|
13326
13342
|
function isPathLikeQuery(query) {
|
|
13327
13343
|
return query.startsWith(".") || query.startsWith("~") || query.startsWith("/") || /^[A-Za-z]:[\\/]/.test(query) || pathSeparators.test(query);
|
|
@@ -13358,7 +13374,7 @@ function preserveSelection(previous, next, fallback = 0) {
|
|
|
13358
13374
|
return next.length === 0 ? 0 : Math.min(Math.max(0, fallback), next.length - 1);
|
|
13359
13375
|
}
|
|
13360
13376
|
//#endregion
|
|
13361
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13377
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/effortPrefs.js
|
|
13362
13378
|
/**
|
|
13363
13379
|
* Persisted reasoning-effort preference (`~/.chatcode-cli/tui/effort.json`). Set via
|
|
13364
13380
|
* `/effort` (slider or `/effort <id>`; `/effort status` reports the current
|
|
@@ -13400,7 +13416,7 @@ function writeEffortPref(effort, dir = PREFS_DIR$4) {
|
|
|
13400
13416
|
}
|
|
13401
13417
|
}
|
|
13402
13418
|
//#endregion
|
|
13403
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13419
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelPrefs.js
|
|
13404
13420
|
/**
|
|
13405
13421
|
* Persisted model-route preference (`/model` picker choice), kept at
|
|
13406
13422
|
* `~/.chatcode-cli/model.json` (`provider` + `model` keys) so CLI and Web share it
|
|
@@ -13483,7 +13499,7 @@ function writeModelPref(provider, model, dir = PREFS_DIR$3) {
|
|
|
13483
13499
|
}
|
|
13484
13500
|
}
|
|
13485
13501
|
//#endregion
|
|
13486
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13502
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelRoute.js
|
|
13487
13503
|
/**
|
|
13488
13504
|
* Model route resolution (issue #67). The `(provider, model)` pair is a
|
|
13489
13505
|
* single value: every source either supplies the WHOLE route or is skipped,
|
|
@@ -13718,7 +13734,7 @@ function orderModelProviders(providers) {
|
|
|
13718
13734
|
return [...providers].sort((left, right) => rank(left.id) - rank(right.id));
|
|
13719
13735
|
}
|
|
13720
13736
|
//#endregion
|
|
13721
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13737
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/customModelSettings.js
|
|
13722
13738
|
/**
|
|
13723
13739
|
* Read and update ChatCode CLI's user-defined model list in
|
|
13724
13740
|
* `~/.chatcode-cli/settings.json` without exposing stored API keys to the UI.
|
|
@@ -13859,7 +13875,7 @@ function createCustomModelSettingsStore(path) {
|
|
|
13859
13875
|
};
|
|
13860
13876
|
}
|
|
13861
13877
|
//#endregion
|
|
13862
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13878
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/customModelTest.js
|
|
13863
13879
|
/** Direct, one-shot generation used by `/model-config` before a model is registered. */
|
|
13864
13880
|
function requestEndpoint(baseURL, api) {
|
|
13865
13881
|
const url = new URL(baseURL);
|
|
@@ -13937,7 +13953,7 @@ async function testCustomModelConnection(request, fetchImpl = fetch) {
|
|
|
13937
13953
|
}
|
|
13938
13954
|
}
|
|
13939
13955
|
//#endregion
|
|
13940
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13956
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/presetPrefs.js
|
|
13941
13957
|
/**
|
|
13942
13958
|
* Persisted agent-preset preference (`/preset` picker choice), kept at
|
|
13943
13959
|
* `~/.chatcode-cli/tui/agent-preset.json` (`preset` key) so the choice survives
|
|
@@ -13996,7 +14012,7 @@ function migratePresetPref(requested, resolved, dir = PREFS_DIR$2) {
|
|
|
13996
14012
|
return requested === void 0 || resolved === void 0 || requested === resolved ? true : writePresetPref(resolved, dir);
|
|
13997
14013
|
}
|
|
13998
14014
|
//#endregion
|
|
13999
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14015
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/persistedSession.js
|
|
14000
14016
|
/** Undefined means the service exposes neither supported read API. */
|
|
14001
14017
|
async function readPersistedSession(persistence, id) {
|
|
14002
14018
|
if (persistence === null || typeof persistence !== "object") return void 0;
|
|
@@ -14016,7 +14032,7 @@ async function readPersistedSession(persistence, id) {
|
|
|
14016
14032
|
if (typeof reader.load === "function") return reader.load(id);
|
|
14017
14033
|
}
|
|
14018
14034
|
//#endregion
|
|
14019
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14035
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-resolution.js
|
|
14020
14036
|
/**
|
|
14021
14037
|
* Agent-preset resolution across upstream prerelease lines.
|
|
14022
14038
|
*
|
|
@@ -14054,7 +14070,7 @@ async function resolveCompatiblePreset(presets, requested) {
|
|
|
14054
14070
|
return presets.resolve(requested);
|
|
14055
14071
|
}
|
|
14056
14072
|
//#endregion
|
|
14057
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14073
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/presets.js
|
|
14058
14074
|
/**
|
|
14059
14075
|
* Agent-presets roster integration (issue #8): compose each session's
|
|
14060
14076
|
* model-facing world (tools, prompt sections, projections) from one preset
|
|
@@ -14204,7 +14220,7 @@ function serviceForAgent(ctx, agent, key) {
|
|
|
14204
14220
|
return ctx.get(key);
|
|
14205
14221
|
}
|
|
14206
14222
|
//#endregion
|
|
14207
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14223
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-management.js
|
|
14208
14224
|
const failureReason = (error) => error instanceof Error ? error.message : String(error);
|
|
14209
14225
|
/** Read a roster-resolved composition without bypassing preset ownership. */
|
|
14210
14226
|
async function readPresetComposition(presets, presetId) {
|
|
@@ -14261,7 +14277,7 @@ async function removePresetComposition(presets, presetId) {
|
|
|
14261
14277
|
}
|
|
14262
14278
|
}
|
|
14263
14279
|
//#endregion
|
|
14264
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14280
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/session-organization.js
|
|
14265
14281
|
/** Adapter-only readers for optional Harness session-organization services. */
|
|
14266
14282
|
const STAT_KEYS = [
|
|
14267
14283
|
"turns",
|
|
@@ -14322,7 +14338,7 @@ function presetCompositionRows(content, limit = 80) {
|
|
|
14322
14338
|
};
|
|
14323
14339
|
}
|
|
14324
14340
|
//#endregion
|
|
14325
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14341
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/debug.js
|
|
14326
14342
|
/**
|
|
14327
14343
|
* Debug logger for the ported Ink core. Writes to stderr only when
|
|
14328
14344
|
* `CHATCODE_CLI_TUI_DEBUG` (or its legacy alias) is set, so normal runs stay quiet.
|
|
@@ -14332,7 +14348,7 @@ function presetCompositionRows(content, limit = 80) {
|
|
|
14332
14348
|
function logForDebugging(message, fields) {
|
|
14333
14349
|
if (!readTuiEnv("DEBUG")) return;
|
|
14334
14350
|
const suffix = fields === void 0 ? "" : ` ${JSON.stringify(fields)}`;
|
|
14335
|
-
process.stderr.write(`[
|
|
14351
|
+
process.stderr.write(`[chatcode-cli] ${message}${suffix}\n`);
|
|
14336
14352
|
}
|
|
14337
14353
|
/**
|
|
14338
14354
|
* Mouse-chain diagnostics: appends below the ChatCode CLI TUI data root when
|
|
@@ -14352,7 +14368,7 @@ function logMouseDebug(message, fields) {
|
|
|
14352
14368
|
} catch {}
|
|
14353
14369
|
}
|
|
14354
14370
|
//#endregion
|
|
14355
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14371
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/mentions.js
|
|
14356
14372
|
/**
|
|
14357
14373
|
* `@` file-mention parsing (issue #15).
|
|
14358
14374
|
*
|
|
@@ -14498,7 +14514,7 @@ function mentionAtCaret(value, cursor) {
|
|
|
14498
14514
|
};
|
|
14499
14515
|
}
|
|
14500
14516
|
//#endregion
|
|
14501
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14517
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/commonUtilityCommands.js
|
|
14502
14518
|
/** Format only the files in the authoritative loaded-context projection. */
|
|
14503
14519
|
function loadedFileLines(files, copy) {
|
|
14504
14520
|
if (files === void 0) return [copy.unavailable];
|
|
@@ -14613,7 +14629,7 @@ function codeRatioLines(report, copy, maxAuthors = 20) {
|
|
|
14613
14629
|
return lines;
|
|
14614
14630
|
}
|
|
14615
14631
|
//#endregion
|
|
14616
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14632
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themeCatalog.js
|
|
14617
14633
|
/**
|
|
14618
14634
|
* Cordis-free theme catalog shared by future pickers, commands and hosts.
|
|
14619
14635
|
*
|
|
@@ -14694,7 +14710,7 @@ function listThemeCatalog(host) {
|
|
|
14694
14710
|
return Object.freeze(entries);
|
|
14695
14711
|
}
|
|
14696
14712
|
//#endregion
|
|
14697
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14713
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionModes.js
|
|
14698
14714
|
/**
|
|
14699
14715
|
* Configurable Shift+Tab session modes (the `modes` dsh-tui plugin config):
|
|
14700
14716
|
* each mode is a named bundle of optional DSH plane switches — plan mode
|
|
@@ -14758,7 +14774,7 @@ function modeDisplayName(spec) {
|
|
|
14758
14774
|
return spec.id;
|
|
14759
14775
|
}
|
|
14760
14776
|
//#endregion
|
|
14761
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14777
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/subagents.js
|
|
14762
14778
|
/** Unified subagent activity domain model used by the adapter and every view. */
|
|
14763
14779
|
const MAX_OUTPUT_EVENTS = 160;
|
|
14764
14780
|
const MAX_OUTPUT_LINES = 160;
|
|
@@ -15136,7 +15152,7 @@ function formatJobDuration(job, now = Date.now()) {
|
|
|
15136
15152
|
return `${Math.floor(minutes / 60)}h${String(minutes % 60).padStart(2, "0")}m`;
|
|
15137
15153
|
}
|
|
15138
15154
|
//#endregion
|
|
15139
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15155
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/minimalMode.js
|
|
15140
15156
|
/**
|
|
15141
15157
|
* Minimal mode: one process-wide flag gating decorative UI (header splash,
|
|
15142
15158
|
* emoji status glyphs, non-tool text colors, status-bar extras). The flag is
|
|
@@ -15155,7 +15171,7 @@ function setMinimalMode(enabled) {
|
|
|
15155
15171
|
minimal = enabled;
|
|
15156
15172
|
}
|
|
15157
15173
|
//#endregion
|
|
15158
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15174
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/workspace.js
|
|
15159
15175
|
/**
|
|
15160
15176
|
* Find or create the Workspace for `cwd`, then durably account `sessionId`.
|
|
15161
15177
|
*
|
|
@@ -15171,7 +15187,7 @@ async function attachSessionToWorkspace(ctx, cwd, sessionId) {
|
|
|
15171
15187
|
return true;
|
|
15172
15188
|
}
|
|
15173
15189
|
//#endregion
|
|
15174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15190
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/contract.js
|
|
15175
15191
|
/**
|
|
15176
15192
|
* Upstream compatibility contract.
|
|
15177
15193
|
*
|
|
@@ -15600,7 +15616,7 @@ function pluginsInfoLines(args, deps) {
|
|
|
15600
15616
|
return lines;
|
|
15601
15617
|
}
|
|
15602
15618
|
//#endregion
|
|
15603
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15619
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/mcp-status.js
|
|
15604
15620
|
/** Loader and tool-registry projection used by the TUI's `/mcp` report. */
|
|
15605
15621
|
const MCP_CLIENT_PACKAGE = "@deepseek-ai/dsh-mcp-client";
|
|
15606
15622
|
const FIBER_ACTIVE = 2;
|
|
@@ -15653,7 +15669,7 @@ function collectMcpServerStatus(schemas, entries) {
|
|
|
15653
15669
|
}));
|
|
15654
15670
|
}
|
|
15655
15671
|
//#endregion
|
|
15656
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15672
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/format.js
|
|
15657
15673
|
/**
|
|
15658
15674
|
* Number, token-count, and duration formatters shared by the status line
|
|
15659
15675
|
* and message rows.
|
|
@@ -15716,7 +15732,7 @@ function formatDuration$4(durationMs, options = {}) {
|
|
|
15716
15732
|
return parts.join(" ");
|
|
15717
15733
|
}
|
|
15718
15734
|
//#endregion
|
|
15719
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15735
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/contextUsage.js
|
|
15720
15736
|
/**
|
|
15721
15737
|
* Return the current context occupancy. The latest request is authoritative:
|
|
15722
15738
|
* its uncached input and cache read/write tokens are all part of that request's
|
|
@@ -16100,7 +16116,7 @@ function prepareMemoryTargetFile(requested, candidates, cwd, dshHome) {
|
|
|
16100
16116
|
}
|
|
16101
16117
|
}
|
|
16102
16118
|
//#endregion
|
|
16103
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
16119
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/channel.js
|
|
16104
16120
|
/** Return the step left open by a tree fork cut within one turn. */
|
|
16105
16121
|
function openStepAtForkCut(events, turn) {
|
|
16106
16122
|
for (let i = events.length - 1; i >= 0; i--) {
|
|
@@ -16810,7 +16826,7 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
16810
16826
|
if (!jobs?.kill) return false;
|
|
16811
16827
|
const job = jobStore.get(id);
|
|
16812
16828
|
try {
|
|
16813
|
-
jobs.kill(id, agent, "
|
|
16829
|
+
jobs.kill(id, agent, "chatcode-cli /jobs panel");
|
|
16814
16830
|
} catch {
|
|
16815
16831
|
return false;
|
|
16816
16832
|
}
|
|
@@ -18971,7 +18987,7 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
18971
18987
|
appendSessionTitle(String(childId), forkSessionTitle(title, state.sessionTitle, String(source.id)));
|
|
18972
18988
|
const profile = resolveDshProfileName();
|
|
18973
18989
|
const boot = profile === void 0 ? "chatcode-cli --config cordis.yml" : `chatcode-cli --profile ${profile}`;
|
|
18974
|
-
const command = process.platform === "win32" ?
|
|
18990
|
+
const command = process.platform === "win32" ? `${profile === void 0 ? "chatcode-cli" : boot} --resume ${childId}` : `CHATCODE_CLI_TUI_RESUME_SESSION=${childId} ${boot}`;
|
|
18975
18991
|
state.notify(t("fork-done", {
|
|
18976
18992
|
id: String(childId),
|
|
18977
18993
|
command
|
|
@@ -20661,7 +20677,7 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
20661
20677
|
}
|
|
20662
20678
|
default: break;
|
|
20663
20679
|
}
|
|
20664
|
-
const fileName = `
|
|
20680
|
+
const fileName = `chatcode-cli-export-${Date.now()}.md`;
|
|
20665
20681
|
try {
|
|
20666
20682
|
const target = join(state.cwd, fileName);
|
|
20667
20683
|
writeFileSync(target, parts.join("\n"), "utf8");
|
|
@@ -22550,7 +22566,7 @@ async function expandMentions(fs, cwd, text, attachments, stagedImages) {
|
|
|
22550
22566
|
};
|
|
22551
22567
|
}
|
|
22552
22568
|
//#endregion
|
|
22553
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22569
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/childStderr.js
|
|
22554
22570
|
/**
|
|
22555
22571
|
* Child-process stderr guard (issue #17).
|
|
22556
22572
|
*
|
|
@@ -22719,7 +22735,7 @@ function createChildStderrReporter(notify, options = {}) {
|
|
|
22719
22735
|
};
|
|
22720
22736
|
}
|
|
22721
22737
|
//#endregion
|
|
22722
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22738
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions.js
|
|
22723
22739
|
/**
|
|
22724
22740
|
* Ask-user-question store — the UI-side half of the DSH user-interaction
|
|
22725
22741
|
* seam (`ctx.userQuestions`). The harness's model-facing
|
|
@@ -22959,7 +22975,7 @@ var QuestionStore = class {
|
|
|
22959
22975
|
}
|
|
22960
22976
|
};
|
|
22961
22977
|
//#endregion
|
|
22962
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22978
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerGuard.js
|
|
22963
22979
|
/**
|
|
22964
22980
|
* Question-provider seat guard (issue #98 security follow-up).
|
|
22965
22981
|
*
|
|
@@ -23071,7 +23087,7 @@ function incumbentQuestionProviderId(service) {
|
|
|
23071
23087
|
} catch {}
|
|
23072
23088
|
}
|
|
23073
23089
|
//#endregion
|
|
23074
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23090
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions-answerer.js
|
|
23075
23091
|
/**
|
|
23076
23092
|
* User-question answerer compatibility.
|
|
23077
23093
|
*
|
|
@@ -23130,7 +23146,7 @@ function prepareQuestionAnswerer(ctx, service, answerer) {
|
|
|
23130
23146
|
}
|
|
23131
23147
|
}
|
|
23132
23148
|
//#endregion
|
|
23133
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23149
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/approvals.js
|
|
23134
23150
|
/**
|
|
23135
23151
|
* Approval store — the UI-side answerer half of the DSH approval seam
|
|
23136
23152
|
* (`ctx.approval`). The harness's permission layer asks
|
|
@@ -23524,7 +23540,7 @@ var ApprovalStore = class {
|
|
|
23524
23540
|
}
|
|
23525
23541
|
};
|
|
23526
23542
|
//#endregion
|
|
23527
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23543
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/promptDebug.js
|
|
23528
23544
|
/**
|
|
23529
23545
|
* On-demand capture of every final AgentLoop request context observed for a
|
|
23530
23546
|
* live session.
|
|
@@ -23641,7 +23657,7 @@ function registerPromptDebug(ctx) {
|
|
|
23641
23657
|
schemaVersion: 2,
|
|
23642
23658
|
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
23643
23659
|
captureStartedAt,
|
|
23644
|
-
captureScope: "Requests observed by this
|
|
23660
|
+
captureScope: "Requests observed by this chatcode-cli process; requests from before a session resume cannot be reconstructed.",
|
|
23645
23661
|
warning: "Sensitive debug data: contains system prompts, conversation messages, tool schemas, and tool results. It intentionally excludes credentials and transport headers.",
|
|
23646
23662
|
sessionId,
|
|
23647
23663
|
turnCount: turns.size,
|
|
@@ -23670,7 +23686,7 @@ function registerPromptDebug(ctx) {
|
|
|
23670
23686
|
}));
|
|
23671
23687
|
}
|
|
23672
23688
|
//#endregion
|
|
23673
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23689
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/migrationPrefs.js
|
|
23674
23690
|
/**
|
|
23675
23691
|
* One-time local migrations (`~/.chatcode-cli/tui/migrations.json`), keyed by stable
|
|
23676
23692
|
* migration id → ISO timestamp. Named keys (not a bare flag) so later
|
|
@@ -23761,7 +23777,7 @@ async function commitFullscreenFactoryMigration(plan, options) {
|
|
|
23761
23777
|
} catch {}
|
|
23762
23778
|
}
|
|
23763
23779
|
//#endregion
|
|
23764
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23780
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/retired-packaged-presets.js
|
|
23765
23781
|
const OWNER = "@chatcode/cco-tui";
|
|
23766
23782
|
const MARKER = ".dsh-tui-managed.json";
|
|
23767
23783
|
const RETIRED_PACKAGED_PRESETS = ["liangshen"];
|
|
@@ -23803,7 +23819,7 @@ function cleanupRetiredPackagedPresets(options = {}) {
|
|
|
23803
23819
|
return results;
|
|
23804
23820
|
}
|
|
23805
23821
|
//#endregion
|
|
23806
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23822
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workspaceRoot.js
|
|
23807
23823
|
/** Resolve a fresh session's working directory without widening it to a Git ancestor. */
|
|
23808
23824
|
/**
|
|
23809
23825
|
* Explicit configuration wins; otherwise keep the invoking directory, even
|
|
@@ -23816,7 +23832,7 @@ function resolveSessionCwd(configured, start = process.cwd()) {
|
|
|
23816
23832
|
return resolve(start, configured ?? "");
|
|
23817
23833
|
}
|
|
23818
23834
|
//#endregion
|
|
23819
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23835
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/openExternal.js
|
|
23820
23836
|
/**
|
|
23821
23837
|
* Open URLs, files and folders with the platform's default handler, fully
|
|
23822
23838
|
* detached from the TUI process (fire-and-forget: no stdio pipes, no wait,
|
|
@@ -23977,13 +23993,13 @@ function revealInFileManager(filePath) {
|
|
|
23977
23993
|
if (existsSync(dir)) openExternal(dir);
|
|
23978
23994
|
}
|
|
23979
23995
|
//#endregion
|
|
23980
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23996
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeApi.js
|
|
23981
23997
|
/** ChatCode API request capability. Credentials stay in the host adapter. */
|
|
23982
23998
|
const CHATCODE_API_BASE_URL = "https://chatcode.chinaunicom.cn";
|
|
23983
23999
|
/** Each mounted TUI receives its own host-authorized request function. */
|
|
23984
24000
|
const ChatCodeApiContext = (0, import_react.createContext)(void 0);
|
|
23985
24001
|
//#endregion
|
|
23986
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24002
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/releaseNotes.js
|
|
23987
24003
|
const RELEASE_NOTE_PATH = join(DATA_DIR, "release-notes.json");
|
|
23988
24004
|
const RELEASE_NOTE_ENDPOINT = `${CHATCODE_API_BASE_URL}/chatcode/api/v1/cli/version/release-note`;
|
|
23989
24005
|
function acknowledgedVersion() {
|
|
@@ -24079,7 +24095,7 @@ var ReleaseNotesStore = class {
|
|
|
24079
24095
|
}
|
|
24080
24096
|
};
|
|
24081
24097
|
//#endregion
|
|
24082
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24098
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/version.js
|
|
24083
24099
|
const MAIN_CLI_PACKAGES = new Set(["@chatcode/chatcode-cli", "@chatcode/chatcode-cli-test"]);
|
|
24084
24100
|
const VERSION_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u;
|
|
24085
24101
|
const PRODUCT_VERSION_ENV = "CHATCODE_CLI_PRODUCT_VERSION";
|
|
@@ -24119,7 +24135,7 @@ function resolveProductVersion(options = {}) {
|
|
|
24119
24135
|
/** Product version shown by the TUI, shared with `cco --version` and Web. */
|
|
24120
24136
|
const PRODUCT_VERSION = resolveProductVersion();
|
|
24121
24137
|
//#endregion
|
|
24122
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24138
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/execFileNoThrow.js
|
|
24123
24139
|
const MAX_CAPTURE_BYTES = 64 * 1024;
|
|
24124
24140
|
function appendBounded(chunks, chunk, total) {
|
|
24125
24141
|
if (total.value >= MAX_CAPTURE_BYTES) return;
|
|
@@ -24189,7 +24205,7 @@ function execFileNoThrow(file, args = [], options) {
|
|
|
24189
24205
|
});
|
|
24190
24206
|
}
|
|
24191
24207
|
//#endregion
|
|
24192
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24208
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/herdr.js
|
|
24193
24209
|
const REPORT_TIMEOUT_MS = 2e3;
|
|
24194
24210
|
const RELEASE_TIMEOUT_MS = 500;
|
|
24195
24211
|
const RETRY_DELAYS_MS = [
|
|
@@ -24577,7 +24593,7 @@ var require_react_jsx_runtime_development = /* @__PURE__ */ __commonJSMin(((expo
|
|
|
24577
24593
|
})();
|
|
24578
24594
|
}));
|
|
24579
24595
|
//#endregion
|
|
24580
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24596
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themePrefs.js
|
|
24581
24597
|
var import_jsx_runtime = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
24582
24598
|
if (process.env.NODE_ENV === "production") module.exports = require_react_jsx_runtime_production();
|
|
24583
24599
|
else module.exports = require_react_jsx_runtime_development();
|
|
@@ -24634,7 +24650,7 @@ function writeThemePref(name, dir = PREFS_DIR) {
|
|
|
24634
24650
|
}
|
|
24635
24651
|
}
|
|
24636
24652
|
//#endregion
|
|
24637
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24653
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRuntimeThemeSnapshot.js
|
|
24638
24654
|
const EMPTY_THEME_SNAPSHOT = Object.freeze([]);
|
|
24639
24655
|
const subscribeNoThemes = (_listener) => () => {};
|
|
24640
24656
|
/**
|
|
@@ -24662,7 +24678,7 @@ function useRuntimeThemeSnapshot(themeHost) {
|
|
|
24662
24678
|
return import_react.useSyncExternalStore(subscribeThemes, getThemeSnapshot, getThemeSnapshot);
|
|
24663
24679
|
}
|
|
24664
24680
|
//#endregion
|
|
24665
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24681
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event.js
|
|
24666
24682
|
/**
|
|
24667
24683
|
* Base class for events with immediate-propagation control.
|
|
24668
24684
|
*
|
|
@@ -24686,7 +24702,7 @@ var Event = class {
|
|
|
24686
24702
|
}
|
|
24687
24703
|
};
|
|
24688
24704
|
//#endregion
|
|
24689
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24705
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/emitter.js
|
|
24690
24706
|
/**
|
|
24691
24707
|
* Node-compatible event emitter that is aware of the `Event` class, so
|
|
24692
24708
|
* `emit` respects `stopImmediatePropagation()` on dispatched events.
|
|
@@ -24719,7 +24735,7 @@ var EventEmitter$1 = class extends EventEmitter {
|
|
|
24719
24735
|
}
|
|
24720
24736
|
};
|
|
24721
24737
|
//#endregion
|
|
24722
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24738
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/StdinContext.js
|
|
24723
24739
|
/**
|
|
24724
24740
|
* `StdinContext` is a React context, which exposes input stream.
|
|
24725
24741
|
*/
|
|
@@ -24733,14 +24749,14 @@ const StdinContext = (0, import_react.createContext)({
|
|
|
24733
24749
|
});
|
|
24734
24750
|
StdinContext.displayName = "InternalStdinContext";
|
|
24735
24751
|
//#endregion
|
|
24736
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24752
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-stdin.js
|
|
24737
24753
|
/**
|
|
24738
24754
|
* React hook exposing the stdin stream and raw-mode helpers from `StdinContext`.
|
|
24739
24755
|
* @returns the `StdinContext` value.
|
|
24740
24756
|
*/
|
|
24741
24757
|
const useStdin = () => (0, import_react.useContext)(StdinContext);
|
|
24742
24758
|
//#endregion
|
|
24743
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24759
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/ansi.js
|
|
24744
24760
|
/**
|
|
24745
24761
|
* ANSI Control Characters and Escape Sequence Introducers
|
|
24746
24762
|
*
|
|
@@ -24814,7 +24830,7 @@ function isEscFinal(byte) {
|
|
|
24814
24830
|
return byte >= 48 && byte <= 126;
|
|
24815
24831
|
}
|
|
24816
24832
|
//#endregion
|
|
24817
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24833
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/csi.js
|
|
24818
24834
|
/**
|
|
24819
24835
|
* CSI (Control Sequence Introducer) Types
|
|
24820
24836
|
*
|
|
@@ -25130,7 +25146,7 @@ const ENABLE_WIN32_INPUT_MODE = csi("?9001h");
|
|
|
25130
25146
|
*/
|
|
25131
25147
|
const DISABLE_WIN32_INPUT_MODE = csi("?9001l");
|
|
25132
25148
|
//#endregion
|
|
25133
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25149
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/env.js
|
|
25134
25150
|
/**
|
|
25135
25151
|
* Minimal terminal-environment shim for the ported Ink core. The original
|
|
25136
25152
|
* module computed a richer `env` object from the Claude Code app context; the
|
|
@@ -25139,7 +25155,7 @@ const DISABLE_WIN32_INPUT_MODE = csi("?9001l");
|
|
|
25139
25155
|
*/
|
|
25140
25156
|
const env$1 = { terminal: (process.env.TERM_PROGRAM ?? process.env.TERM ?? "unknown").toLowerCase() };
|
|
25141
25157
|
//#endregion
|
|
25142
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25158
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/osc.js
|
|
25143
25159
|
/**
|
|
25144
25160
|
* OSC (Operating System Command) Types and Parser
|
|
25145
25161
|
*/
|
|
@@ -25535,7 +25551,7 @@ function supportsTabStatus() {
|
|
|
25535
25551
|
return process.env.USER_TYPE === "ant";
|
|
25536
25552
|
}
|
|
25537
25553
|
//#endregion
|
|
25538
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25554
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-querier.js
|
|
25539
25555
|
/**
|
|
25540
25556
|
* Query the terminal and await responses without timeouts.
|
|
25541
25557
|
*
|
|
@@ -25721,7 +25737,7 @@ var TerminalQuerier = class {
|
|
|
25721
25737
|
}
|
|
25722
25738
|
};
|
|
25723
25739
|
//#endregion
|
|
25724
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25740
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemeProvider.js
|
|
25725
25741
|
/**
|
|
25726
25742
|
* Theme provider with terminal-background auto-detection. With no explicit
|
|
25727
25743
|
* `theme` prop, no CHATCODE_CLI_TUI_THEME override and no persisted choice
|
|
@@ -25867,7 +25883,7 @@ function ThemeProvider({ children, theme, themeHost }) {
|
|
|
25867
25883
|
*/
|
|
25868
25884
|
const setTheme = import_react.useCallback((name) => {
|
|
25869
25885
|
if (!isThemeAvailable(name)) {
|
|
25870
|
-
console.warn(`[
|
|
25886
|
+
console.warn(`[chatcode-cli] theme "${name}" not found`);
|
|
25871
25887
|
return false;
|
|
25872
25888
|
}
|
|
25873
25889
|
if (!writeThemePref(name)) {
|
|
@@ -25920,7 +25936,7 @@ function useTheme() {
|
|
|
25920
25936
|
return [theme, setTheme];
|
|
25921
25937
|
}
|
|
25922
25938
|
//#endregion
|
|
25923
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25939
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/settingsEditor.js
|
|
25924
25940
|
/**
|
|
25925
25941
|
* React-free form model behind the `/settings` screen (issue #165), mirroring
|
|
25926
25942
|
* the web front door's card-form.ts semantics: a section stages what the user
|
|
@@ -26164,7 +26180,7 @@ var SettingsForm = class {
|
|
|
26164
26180
|
}
|
|
26165
26181
|
};
|
|
26166
26182
|
//#endregion
|
|
26167
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
26183
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/reload.js
|
|
26168
26184
|
/**
|
|
26169
26185
|
* `/reload` planning — the pi-style soft reload: re-read the TUI's persisted
|
|
26170
26186
|
* preference files (`~/.chatcode-cli/tui/{theme,lang,agent-preset,model,
|
|
@@ -27013,7 +27029,7 @@ var SignalExit = class extends SignalExitBase {
|
|
|
27013
27029
|
const process$2 = globalThis.process;
|
|
27014
27030
|
const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
|
|
27015
27031
|
//#endregion
|
|
27016
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
27032
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/enums.js
|
|
27017
27033
|
/**
|
|
27018
27034
|
* Yoga enums — ported from yoga-layout/src/generated/YGEnums.ts
|
|
27019
27035
|
* Kept as `const` objects (not TS enums) per repo convention.
|
|
@@ -27145,7 +27161,7 @@ const Wrap = {
|
|
|
27145
27161
|
WrapReverse: 2
|
|
27146
27162
|
};
|
|
27147
27163
|
//#endregion
|
|
27148
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
27164
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/index.js
|
|
27149
27165
|
/**
|
|
27150
27166
|
* Pure-TypeScript port of yoga-layout (Meta's flexbox engine).
|
|
27151
27167
|
*
|
|
@@ -29596,7 +29612,7 @@ Object.defineProperties(createChalk.prototype, {
|
|
|
29596
29612
|
const chalk = createChalk();
|
|
29597
29613
|
createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
29598
29614
|
//#endregion
|
|
29599
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29615
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/colorize.js
|
|
29600
29616
|
/**
|
|
29601
29617
|
* xterm.js (VS Code, Cursor, code-server, Coder) has supported truecolor
|
|
29602
29618
|
* since 2017, but code-server/Coder containers often don't set
|
|
@@ -29727,7 +29743,7 @@ function applyColor(text, color) {
|
|
|
29727
29743
|
return colorize(text, color, "foreground");
|
|
29728
29744
|
}
|
|
29729
29745
|
//#endregion
|
|
29730
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29746
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/envUtils.js
|
|
29731
29747
|
/**
|
|
29732
29748
|
* Environment truthiness check for the ported Ink core. Accepts the common
|
|
29733
29749
|
* shell truthy spellings (`1`, `true`, `yes`, `on`).
|
|
@@ -29745,7 +29761,7 @@ function isEnvTruthy(value) {
|
|
|
29745
29761
|
].includes(value.toLowerCase());
|
|
29746
29762
|
}
|
|
29747
29763
|
//#endregion
|
|
29748
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29764
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fullscreen.js
|
|
29749
29765
|
/**
|
|
29750
29766
|
* Whether mouse click handling is disabled for the ported Ink core. dsh-tui
|
|
29751
29767
|
* reads its own env flag (`CHATCODE_CLI_TUI_DISABLE_MOUSE`); the original module
|
|
@@ -29756,7 +29772,7 @@ function isMouseClicksDisabled() {
|
|
|
29756
29772
|
return isEnvTruthy(readTuiEnv("DISABLE_MOUSE"));
|
|
29757
29773
|
}
|
|
29758
29774
|
//#endregion
|
|
29759
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29775
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/input-suppression.js
|
|
29760
29776
|
/**
|
|
29761
29777
|
* Input suppression window for terminal handoffs (issue #123): when stdin is
|
|
29762
29778
|
* handed to an external TUI (full-screen editor) and back, the tty can
|
|
@@ -29783,7 +29799,7 @@ function isInputSuppressed() {
|
|
|
29783
29799
|
return Date.now() < suppressedUntil;
|
|
29784
29800
|
}
|
|
29785
29801
|
//#endregion
|
|
29786
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29802
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/tokenize.js
|
|
29787
29803
|
/**
|
|
29788
29804
|
* Input Tokenizer - Escape sequence boundary detection
|
|
29789
29805
|
*
|
|
@@ -29981,7 +29997,7 @@ function tokenize$2(input, initialState, initialBuffer, flush, x10Mouse, splitIn
|
|
|
29981
29997
|
};
|
|
29982
29998
|
}
|
|
29983
29999
|
//#endregion
|
|
29984
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
30000
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/parse-keypress.js
|
|
29985
30001
|
/**
|
|
29986
30002
|
* Keyboard input parser - converts terminal input to key events
|
|
29987
30003
|
*
|
|
@@ -31045,7 +31061,7 @@ function createWheelKey(s, name, col, row, button) {
|
|
|
31045
31061
|
};
|
|
31046
31062
|
}
|
|
31047
31063
|
//#endregion
|
|
31048
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31064
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/input-event.js
|
|
31049
31065
|
function parseKey(keypress) {
|
|
31050
31066
|
const key = {
|
|
31051
31067
|
upArrow: keypress.name === "up",
|
|
@@ -31130,7 +31146,7 @@ var InputEvent = class extends Event {
|
|
|
31130
31146
|
}
|
|
31131
31147
|
};
|
|
31132
31148
|
//#endregion
|
|
31133
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31149
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-focus-event.js
|
|
31134
31150
|
/**
|
|
31135
31151
|
* Event fired when the terminal window gains or loses focus.
|
|
31136
31152
|
*
|
|
@@ -31149,7 +31165,7 @@ var TerminalFocusEvent = class extends Event {
|
|
|
31149
31165
|
}
|
|
31150
31166
|
};
|
|
31151
31167
|
//#endregion
|
|
31152
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31168
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/node-cache.js
|
|
31153
31169
|
/** Layout bounds cached per rendered node, used for blitting and clearing. */
|
|
31154
31170
|
const nodeCache = /* @__PURE__ */ new WeakMap();
|
|
31155
31171
|
/** Rects of removed children that need clearing on next render */
|
|
@@ -31187,7 +31203,7 @@ function consumeAbsoluteRemovedFlag() {
|
|
|
31187
31203
|
return had;
|
|
31188
31204
|
}
|
|
31189
31205
|
//#endregion
|
|
31190
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31206
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-event.js
|
|
31191
31207
|
/**
|
|
31192
31208
|
* Base class for all terminal events with DOM-style propagation.
|
|
31193
31209
|
*
|
|
@@ -31316,7 +31332,7 @@ var TerminalEvent = class extends Event {
|
|
|
31316
31332
|
_prepareForTarget(_target) {}
|
|
31317
31333
|
};
|
|
31318
31334
|
//#endregion
|
|
31319
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31335
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/pointer-event.js
|
|
31320
31336
|
/**
|
|
31321
31337
|
* Base class for pointer-derived terminal events (click, wheel, hover).
|
|
31322
31338
|
*
|
|
@@ -31377,7 +31393,7 @@ var PointerEvent = class extends TerminalEvent {
|
|
|
31377
31393
|
}
|
|
31378
31394
|
};
|
|
31379
31395
|
//#endregion
|
|
31380
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31396
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/drag-event.js
|
|
31381
31397
|
/**
|
|
31382
31398
|
* Component-level drag event (DOM HTML5 drag semantics subset).
|
|
31383
31399
|
*
|
|
@@ -47485,7 +47501,7 @@ var require_react_reconciler_development = /* @__PURE__ */ __commonJSMin(((expor
|
|
|
47485
47501
|
}, module.exports.default = module.exports, Object.defineProperty(module.exports, "__esModule", { value: !0 }));
|
|
47486
47502
|
}));
|
|
47487
47503
|
//#endregion
|
|
47488
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47504
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/node.js
|
|
47489
47505
|
var import_react_reconciler = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
47490
47506
|
if (process.env.NODE_ENV === "production") module.exports = require_react_reconciler_production();
|
|
47491
47507
|
else module.exports = require_react_reconciler_development();
|
|
@@ -47561,7 +47577,7 @@ const LayoutMeasureMode = {
|
|
|
47561
47577
|
AtMost: "at-most"
|
|
47562
47578
|
};
|
|
47563
47579
|
//#endregion
|
|
47564
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47580
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/yoga.js
|
|
47565
47581
|
const EDGE_MAP = {
|
|
47566
47582
|
all: Edge.All,
|
|
47567
47583
|
horizontal: Edge.Horizontal,
|
|
@@ -47788,7 +47804,7 @@ function createYogaLayoutNode() {
|
|
|
47788
47804
|
return new YogaLayoutNode(YOGA_INSTANCE.Node.create());
|
|
47789
47805
|
}
|
|
47790
47806
|
//#endregion
|
|
47791
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47807
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/engine.js
|
|
47792
47808
|
/**
|
|
47793
47809
|
* Create a new layout node backed by the Yoga adapter.
|
|
47794
47810
|
* @returns an empty layout node with no children, styles, or measure function.
|
|
@@ -47797,7 +47813,7 @@ function createLayoutNode() {
|
|
|
47797
47813
|
return createYogaLayoutNode();
|
|
47798
47814
|
}
|
|
47799
47815
|
//#endregion
|
|
47800
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47816
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/line-width-cache.js
|
|
47801
47817
|
const cache = /* @__PURE__ */ new Map();
|
|
47802
47818
|
const MAX_CACHE_SIZE = 4096;
|
|
47803
47819
|
const MAX_CACHE_CHARS = 1e5;
|
|
@@ -47833,7 +47849,7 @@ function lineWidth(line) {
|
|
|
47833
47849
|
return width;
|
|
47834
47850
|
}
|
|
47835
47851
|
//#endregion
|
|
47836
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47852
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-text.js
|
|
47837
47853
|
/**
|
|
47838
47854
|
* Measure wrapped text dimensions in a single pass.
|
|
47839
47855
|
* @param text - the text to measure.
|
|
@@ -47864,7 +47880,7 @@ function measureText(text, maxWidth) {
|
|
|
47864
47880
|
};
|
|
47865
47881
|
}
|
|
47866
47882
|
//#endregion
|
|
47867
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47883
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/squash-text-nodes.js
|
|
47868
47884
|
/**
|
|
47869
47885
|
* Squash text nodes into styled segments, propagating styles down through the tree.
|
|
47870
47886
|
* This allows structured styling without relying on ANSI string transforms.
|
|
@@ -47912,7 +47928,7 @@ function squashTextNodes(node) {
|
|
|
47912
47928
|
return text;
|
|
47913
47929
|
}
|
|
47914
47930
|
//#endregion
|
|
47915
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47931
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/tabstops.js
|
|
47916
47932
|
const DEFAULT_TAB_INTERVAL = 8;
|
|
47917
47933
|
/**
|
|
47918
47934
|
* Expand tab characters to spaces at fixed column intervals, preserving
|
|
@@ -48362,7 +48378,7 @@ function tokenize$1(str, endChar = Number.POSITIVE_INFINITY) {
|
|
|
48362
48378
|
return ret;
|
|
48363
48379
|
}
|
|
48364
48380
|
//#endregion
|
|
48365
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
48381
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sliceAnsi.js
|
|
48366
48382
|
function isEndCode(code) {
|
|
48367
48383
|
return code.code === code.endCode;
|
|
48368
48384
|
}
|
|
@@ -48979,7 +48995,7 @@ function wrapAnsi$1(string, columns, options) {
|
|
|
48979
48995
|
return normalizeText(String(string)).replaceAll("\r\n", "\n").split("\n").map((line) => exec(expandTabs$1(line), columns, options)).join("\n");
|
|
48980
48996
|
}
|
|
48981
48997
|
//#endregion
|
|
48982
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
48998
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrapAnsi.js
|
|
48983
48999
|
const wrapAnsiBun = typeof Bun !== "undefined" && typeof Bun.wrapAnsi === "function" ? Bun.wrapAnsi : null;
|
|
48984
49000
|
const SLOT_MIN_LENGTH = 2048;
|
|
48985
49001
|
let slot = null;
|
|
@@ -49026,7 +49042,7 @@ function wrapAnsiNpmIncremental(input, columns, options) {
|
|
|
49026
49042
|
*/
|
|
49027
49043
|
const wrapAnsi = wrapAnsiBun ?? wrapAnsiNpmIncremental;
|
|
49028
49044
|
//#endregion
|
|
49029
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49045
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrap-text.js
|
|
49030
49046
|
const ELLIPSIS = "…";
|
|
49031
49047
|
const WRAP_CACHE_MAX_ENTRIES = 2048;
|
|
49032
49048
|
const WRAP_CACHE_MAX_CHARS = 2e6;
|
|
@@ -49090,7 +49106,7 @@ function wrapText$1(text, maxWidth, wrapType) {
|
|
|
49090
49106
|
return text;
|
|
49091
49107
|
}
|
|
49092
49108
|
//#endregion
|
|
49093
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49109
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/dom.js
|
|
49094
49110
|
/**
|
|
49095
49111
|
* Create an element node of the given kind, allocating its yoga layout node
|
|
49096
49112
|
* unless the kind renders without layout (`ink-virtual-text`, `ink-link`,
|
|
@@ -49410,7 +49426,7 @@ function findOwnerChainAtRow(root, y) {
|
|
|
49410
49426
|
}
|
|
49411
49427
|
}
|
|
49412
49428
|
//#endregion
|
|
49413
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49429
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event-handlers.js
|
|
49414
49430
|
/**
|
|
49415
49431
|
* Reverse lookup: event type string → handler prop names.
|
|
49416
49432
|
* Used by the dispatcher for O(1) handler lookup per node.
|
|
@@ -49464,7 +49480,7 @@ const EVENT_HANDLER_PROPS = new Set([
|
|
|
49464
49480
|
"onWheel"
|
|
49465
49481
|
]);
|
|
49466
49482
|
//#endregion
|
|
49467
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49483
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/dispatcher.js
|
|
49468
49484
|
function getHandler(node, eventType, capture) {
|
|
49469
49485
|
const handlers = node._eventHandlers;
|
|
49470
49486
|
if (!handlers) return void 0;
|
|
@@ -49632,7 +49648,7 @@ var Dispatcher = class {
|
|
|
49632
49648
|
}
|
|
49633
49649
|
};
|
|
49634
49650
|
//#endregion
|
|
49635
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49651
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/focus-event.js
|
|
49636
49652
|
/**
|
|
49637
49653
|
* Focus event for component focus changes.
|
|
49638
49654
|
*
|
|
@@ -49657,7 +49673,7 @@ var FocusEvent = class extends TerminalEvent {
|
|
|
49657
49673
|
}
|
|
49658
49674
|
};
|
|
49659
49675
|
//#endregion
|
|
49660
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49676
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/focus.js
|
|
49661
49677
|
const MAX_FOCUS_STACK = 32;
|
|
49662
49678
|
/**
|
|
49663
49679
|
* DOM-like focus manager for the Ink terminal UI.
|
|
@@ -49813,7 +49829,7 @@ function getFocusManager(node) {
|
|
|
49813
49829
|
return getRootNode(node).focusManager;
|
|
49814
49830
|
}
|
|
49815
49831
|
//#endregion
|
|
49816
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49832
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/styles.js
|
|
49817
49833
|
const applyPositionStyles = (node, style) => {
|
|
49818
49834
|
if ("position" in style) node.setPositionType(style.position === "absolute" ? LayoutPositionType.Absolute : LayoutPositionType.Relative);
|
|
49819
49835
|
if ("top" in style) applyPositionEdge(node, "top", style.top);
|
|
@@ -49948,7 +49964,7 @@ const styles = (node, style = {}, resolvedStyle) => {
|
|
|
49948
49964
|
applyGapStyles(node, style);
|
|
49949
49965
|
};
|
|
49950
49966
|
//#endregion
|
|
49951
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49967
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/reconciler.js
|
|
49952
49968
|
if (process.env.NODE_ENV === "development") try {
|
|
49953
49969
|
import("./devtools-la_KkjCS.js");
|
|
49954
49970
|
} catch (error) {
|
|
@@ -50268,7 +50284,7 @@ const reconciler = (0, import_react_reconciler.default)({
|
|
|
50268
50284
|
});
|
|
50269
50285
|
dispatcher.discreteUpdates = reconciler.discreteUpdates.bind(reconciler);
|
|
50270
50286
|
//#endregion
|
|
50271
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
50287
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/geometry.js
|
|
50272
50288
|
/**
|
|
50273
50289
|
* Compute the smallest rectangle containing both input rectangles.
|
|
50274
50290
|
* @param a - the first rectangle.
|
|
@@ -50300,7 +50316,7 @@ function clamp(value, min, max) {
|
|
|
50300
50316
|
return value;
|
|
50301
50317
|
}
|
|
50302
50318
|
//#endregion
|
|
50303
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
50319
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/warn.js
|
|
50304
50320
|
/**
|
|
50305
50321
|
* Log a warning when a value is present but not an integer.
|
|
50306
50322
|
* @param value - the value to check; undefined is skipped silently.
|
|
@@ -50312,7 +50328,7 @@ function ifNotInteger(value, name) {
|
|
|
50312
50328
|
logForDebugging(`${name} should be an integer, got ${value}`, { level: "warn" });
|
|
50313
50329
|
}
|
|
50314
50330
|
//#endregion
|
|
50315
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
50331
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/screen.js
|
|
50316
50332
|
/**
|
|
50317
50333
|
* Pool of character strings shared across all screens.
|
|
50318
50334
|
* With a shared pool, interned char IDs are valid across screens, so
|
|
@@ -51381,7 +51397,7 @@ function markNoSelectRegion(screen, x, y, width, height) {
|
|
|
51381
51397
|
}
|
|
51382
51398
|
}
|
|
51383
51399
|
//#endregion
|
|
51384
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
51400
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/selection.js
|
|
51385
51401
|
/**
|
|
51386
51402
|
* Text selection state for fullscreen mode.
|
|
51387
51403
|
*
|
|
@@ -52347,7 +52363,7 @@ function applySelectionOverlay(screen, selection, stylePool) {
|
|
|
52347
52363
|
}
|
|
52348
52364
|
}
|
|
52349
52365
|
//#endregion
|
|
52350
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52366
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/dec.js
|
|
52351
52367
|
/**
|
|
52352
52368
|
* DEC (Digital Equipment Corporation) Private Mode Sequences
|
|
52353
52369
|
*
|
|
@@ -52413,7 +52429,7 @@ const ENABLE_MOUSE_TRACKING = decset(DEC.MOUSE_NORMAL) + decset(DEC.MOUSE_BUTTON
|
|
|
52413
52429
|
/** Disable all mouse tracking modes enabled by ENABLE_MOUSE_TRACKING. */
|
|
52414
52430
|
const DISABLE_MOUSE_TRACKING = decreset(DEC.MOUSE_SGR) + decreset(DEC.MOUSE_ANY) + decreset(DEC.MOUSE_BUTTON) + decreset(DEC.MOUSE_NORMAL);
|
|
52415
52431
|
//#endregion
|
|
52416
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52432
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal.js
|
|
52417
52433
|
/**
|
|
52418
52434
|
* True when running inside a JetBrains IDE terminal (JediTerm). The IDE
|
|
52419
52435
|
* injects `TERMINAL_EMULATOR=JetBrains-JediTerm` into the pty environment of
|
|
@@ -52655,7 +52671,7 @@ function writeDiffToTerminal(terminal, diff, skipSyncMarkers = false) {
|
|
|
52655
52671
|
terminal.stdout.write(buffer);
|
|
52656
52672
|
}
|
|
52657
52673
|
//#endregion
|
|
52658
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52674
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-focus-state.js
|
|
52659
52675
|
let focusState = "unknown";
|
|
52660
52676
|
const resolvers = /* @__PURE__ */ new Set();
|
|
52661
52677
|
const subscribers = /* @__PURE__ */ new Set();
|
|
@@ -52699,7 +52715,7 @@ function subscribeTerminalFocus(cb) {
|
|
|
52699
52715
|
};
|
|
52700
52716
|
}
|
|
52701
52717
|
//#endregion
|
|
52702
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52718
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AppContext.js
|
|
52703
52719
|
/**
|
|
52704
52720
|
* `AppContext` is a React context, which exposes a method to manually exit the app (unmount).
|
|
52705
52721
|
*/
|
|
@@ -52744,13 +52760,13 @@ var require_react_compiler_runtime_development = /* @__PURE__ */ __commonJSMin((
|
|
|
52744
52760
|
})();
|
|
52745
52761
|
}));
|
|
52746
52762
|
//#endregion
|
|
52747
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52763
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/constants.js
|
|
52748
52764
|
var import_compiler_runtime = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
52749
52765
|
if (process.env.NODE_ENV === "production") module.exports = require_react_compiler_runtime_production();
|
|
52750
52766
|
else module.exports = require_react_compiler_runtime_development();
|
|
52751
52767
|
})))();
|
|
52752
52768
|
//#endregion
|
|
52753
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52769
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/geometry-trace.js
|
|
52754
52770
|
/**
|
|
52755
52771
|
* Geometry forensics — per-frame scroll-geometry trace (issues #421/#433).
|
|
52756
52772
|
*
|
|
@@ -52830,7 +52846,7 @@ function endGeometryFrame(durationMs) {
|
|
|
52830
52846
|
};
|
|
52831
52847
|
}
|
|
52832
52848
|
//#endregion
|
|
52833
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52849
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalFocusContext.js
|
|
52834
52850
|
const TerminalFocusContext = (0, import_react.createContext)({
|
|
52835
52851
|
isTerminalFocused: true,
|
|
52836
52852
|
terminalFocusState: "unknown"
|
|
@@ -52865,7 +52881,7 @@ function TerminalFocusProvider(t0) {
|
|
|
52865
52881
|
return t2;
|
|
52866
52882
|
}
|
|
52867
52883
|
//#endregion
|
|
52868
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52884
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-focus.js
|
|
52869
52885
|
/**
|
|
52870
52886
|
* Hook to check if the terminal has focus.
|
|
52871
52887
|
*
|
|
@@ -52880,7 +52896,7 @@ function useTerminalFocus() {
|
|
|
52880
52896
|
return isTerminalFocused;
|
|
52881
52897
|
}
|
|
52882
52898
|
//#endregion
|
|
52883
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52899
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ClockContext.js
|
|
52884
52900
|
function createClock(tickIntervalMs) {
|
|
52885
52901
|
const subscribers = /* @__PURE__ */ new Map();
|
|
52886
52902
|
let interval = null;
|
|
@@ -52977,7 +52993,7 @@ function _temp() {
|
|
|
52977
52993
|
return createClock(16);
|
|
52978
52994
|
}
|
|
52979
52995
|
//#endregion
|
|
52980
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52996
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/CursorDeclarationContext.js
|
|
52981
52997
|
/**
|
|
52982
52998
|
* React context that provides the cursor-declaration setter to descendants.
|
|
52983
52999
|
*/
|
|
@@ -53017,7 +53033,7 @@ var require_escape_string_regexp = /* @__PURE__ */ __commonJSMin(((exports, modu
|
|
|
53017
53033
|
};
|
|
53018
53034
|
}));
|
|
53019
53035
|
//#endregion
|
|
53020
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53036
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Box.js
|
|
53021
53037
|
var import_stack_utils = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
53022
53038
|
const escapeStringRegexp = require_escape_string_regexp();
|
|
53023
53039
|
const cwd = typeof process === "object" && process && typeof process.cwd === "function" ? process.cwd() : ".";
|
|
@@ -53385,7 +53401,7 @@ function Box(t0) {
|
|
|
53385
53401
|
return t4;
|
|
53386
53402
|
}
|
|
53387
53403
|
//#endregion
|
|
53388
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53404
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Text.js
|
|
53389
53405
|
const memoizedStylesForWrap = {
|
|
53390
53406
|
wrap: {
|
|
53391
53407
|
flexGrow: 0,
|
|
@@ -53537,7 +53553,7 @@ function Text(t0) {
|
|
|
53537
53553
|
return t16;
|
|
53538
53554
|
}
|
|
53539
53555
|
//#endregion
|
|
53540
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53556
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ErrorOverview.js
|
|
53541
53557
|
const cleanupPath = (path) => {
|
|
53542
53558
|
return path?.replace(`file://${process.cwd()}/`, "");
|
|
53543
53559
|
};
|
|
@@ -53642,10 +53658,10 @@ function ErrorOverview({ error }) {
|
|
|
53642
53658
|
});
|
|
53643
53659
|
}
|
|
53644
53660
|
//#endregion
|
|
53645
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53661
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalSizeContext.js
|
|
53646
53662
|
const TerminalSizeContext = (0, import_react.createContext)(null);
|
|
53647
53663
|
//#endregion
|
|
53648
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53664
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/useTerminalNotification.js
|
|
53649
53665
|
/**
|
|
53650
53666
|
* React context providing a raw terminal write function. Null until a
|
|
53651
53667
|
* TerminalWriteProvider is mounted.
|
|
@@ -53656,7 +53672,7 @@ const TerminalWriteContext = (0, import_react.createContext)(null);
|
|
|
53656
53672
|
*/
|
|
53657
53673
|
const TerminalWriteProvider = TerminalWriteContext.Provider;
|
|
53658
53674
|
//#endregion
|
|
53659
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53675
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/App.js
|
|
53660
53676
|
const SUPPORTS_SUSPEND = process.platform !== "win32";
|
|
53661
53677
|
const STDIN_RESUME_GAP_MS = 5e3;
|
|
53662
53678
|
const MULTI_CLICK_TIMEOUT_MS = 500;
|
|
@@ -54182,7 +54198,7 @@ function handleMouseEvent(app, m) {
|
|
|
54182
54198
|
}
|
|
54183
54199
|
}
|
|
54184
54200
|
//#endregion
|
|
54185
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54201
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/keyboard-event.js
|
|
54186
54202
|
/**
|
|
54187
54203
|
* Keyboard event dispatched through the DOM tree via capture/bubble.
|
|
54188
54204
|
*
|
|
@@ -54242,7 +54258,7 @@ function keyFromParsed(parsed) {
|
|
|
54242
54258
|
return name || seq;
|
|
54243
54259
|
}
|
|
54244
54260
|
//#endregion
|
|
54245
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54261
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/frame.js
|
|
54246
54262
|
/**
|
|
54247
54263
|
* Create an empty frame with a zero-size screen, the given viewport, and a
|
|
54248
54264
|
* visible cursor at the origin.
|
|
@@ -54268,7 +54284,7 @@ function emptyFrame(rows, columns, stylePool, charPool, hyperlinkPool) {
|
|
|
54268
54284
|
};
|
|
54269
54285
|
}
|
|
54270
54286
|
//#endregion
|
|
54271
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54287
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/click-event.js
|
|
54272
54288
|
/**
|
|
54273
54289
|
* Mouse click event. Fired on left-button release without drag, only when
|
|
54274
54290
|
* mouse tracking is enabled (i.e. inside <AlternateScreen>).
|
|
@@ -54299,7 +54315,7 @@ var ClickEvent = class extends PointerEvent {
|
|
|
54299
54315
|
}
|
|
54300
54316
|
};
|
|
54301
54317
|
//#endregion
|
|
54302
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54318
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/context-menu-event.js
|
|
54303
54319
|
/**
|
|
54304
54320
|
* Mouse context-menu event. Fired on right-button press (SGR button 2,
|
|
54305
54321
|
* low bits of the raw button byte), mirroring the DOM `contextmenu` event
|
|
@@ -54323,7 +54339,7 @@ var ContextMenuEvent = class extends PointerEvent {
|
|
|
54323
54339
|
}
|
|
54324
54340
|
};
|
|
54325
54341
|
//#endregion
|
|
54326
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54342
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/wheel-event.js
|
|
54327
54343
|
/**
|
|
54328
54344
|
* Mouse wheel event dispatched to the ScrollBox under the pointer.
|
|
54329
54345
|
*
|
|
@@ -54359,7 +54375,7 @@ function indentString(string, count = 1, options = {}) {
|
|
|
54359
54375
|
return string.replace(regex, indent.repeat(count));
|
|
54360
54376
|
}
|
|
54361
54377
|
//#endregion
|
|
54362
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54378
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/get-max-width.js
|
|
54363
54379
|
/**
|
|
54364
54380
|
* Returns the yoga node's content width (computed width minus padding and
|
|
54365
54381
|
* border).
|
|
@@ -54464,7 +54480,7 @@ var cli_boxes_default = {
|
|
|
54464
54480
|
}
|
|
54465
54481
|
};
|
|
54466
54482
|
//#endregion
|
|
54467
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54483
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-border.js
|
|
54468
54484
|
/** Built-in border styles beyond those provided by cli-boxes. */
|
|
54469
54485
|
const CUSTOM_BORDER_STYLES = { dashed: {
|
|
54470
54486
|
top: "╌",
|
|
@@ -54554,7 +54570,7 @@ const renderBorder = (x, y, node, output) => {
|
|
|
54554
54570
|
}
|
|
54555
54571
|
};
|
|
54556
54572
|
//#endregion
|
|
54557
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54573
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/widest-line.js
|
|
54558
54574
|
/**
|
|
54559
54575
|
* Get the display width of the widest line in a string.
|
|
54560
54576
|
* @param string - the text to measure, possibly containing newlines.
|
|
@@ -54573,7 +54589,7 @@ function widestLine(string) {
|
|
|
54573
54589
|
return maxWidth;
|
|
54574
54590
|
}
|
|
54575
54591
|
//#endregion
|
|
54576
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54592
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-node-to-output.js
|
|
54577
54593
|
function isXtermJsHost() {
|
|
54578
54594
|
return process.env.TERM_PROGRAM === "vscode" || isXtermJs();
|
|
54579
54595
|
}
|
|
@@ -55389,7 +55405,7 @@ function dropSubtreeCache(node) {
|
|
|
55389
55405
|
for (const child of node.childNodes) if (child.nodeName !== "#text") dropSubtreeCache(child);
|
|
55390
55406
|
}
|
|
55391
55407
|
//#endregion
|
|
55392
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55408
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hit-test.js
|
|
55393
55409
|
/**
|
|
55394
55410
|
* Find the deepest DOM element whose rendered rect contains (col, row).
|
|
55395
55411
|
*
|
|
@@ -55779,7 +55795,7 @@ function dispatchHover(root, col, row, hovered) {
|
|
|
55779
55795
|
}
|
|
55780
55796
|
}
|
|
55781
55797
|
//#endregion
|
|
55782
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55798
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/flush-tick.js
|
|
55783
55799
|
/**
|
|
55784
55800
|
* Monotonic terminal-flush counter for the ported Ink core.
|
|
55785
55801
|
*
|
|
@@ -55812,7 +55828,7 @@ function getTerminalFlushTick() {
|
|
|
55812
55828
|
return flushTick;
|
|
55813
55829
|
}
|
|
55814
55830
|
//#endregion
|
|
55815
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55831
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/instances.js
|
|
55816
55832
|
/**
|
|
55817
55833
|
* Live Ink instances keyed by their output stream, so consecutive render()
|
|
55818
55834
|
* calls reuse the instance for a stream instead of creating a new one.
|
|
@@ -55821,7 +55837,7 @@ function getTerminalFlushTick() {
|
|
|
55821
55837
|
*/
|
|
55822
55838
|
const instances = /* @__PURE__ */ new Map();
|
|
55823
55839
|
//#endregion
|
|
55824
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55840
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/log-update.js
|
|
55825
55841
|
const CARRIAGE_RETURN = { type: "carriageReturn" };
|
|
55826
55842
|
const NEWLINE = {
|
|
55827
55843
|
type: "stdout",
|
|
@@ -56437,7 +56453,7 @@ var VirtualScreen = class {
|
|
|
56437
56453
|
}
|
|
56438
56454
|
};
|
|
56439
56455
|
//#endregion
|
|
56440
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
56456
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/optimizer.js
|
|
56441
56457
|
/**
|
|
56442
56458
|
* Optimize a diff by applying all optimization rules in a single pass.
|
|
56443
56459
|
* This reduces the number of patches that need to be written to the terminal.
|
|
@@ -56502,7 +56518,7 @@ function optimize(diff) {
|
|
|
56502
56518
|
return result;
|
|
56503
56519
|
}
|
|
56504
56520
|
//#endregion
|
|
56505
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
56521
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/bidi.js
|
|
56506
56522
|
var import_bidi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
56507
56523
|
(function(global, factory) {
|
|
56508
56524
|
typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, global.bidi_js = factory());
|
|
@@ -57278,7 +57294,7 @@ function hasRTLCharacters(text) {
|
|
|
57278
57294
|
return /[\u0590-\u05FF\uFB1D-\uFB4F\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF\u0780-\u07BF\u0700-\u074F]/u.test(text);
|
|
57279
57295
|
}
|
|
57280
57296
|
//#endregion
|
|
57281
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
57297
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/output.js
|
|
57282
57298
|
/**
|
|
57283
57299
|
* charCache bounds. The entry-count cap alone was not enough: a streaming
|
|
57284
57300
|
* line produces a NEW cache key on every frame, and each entry's cost is
|
|
@@ -57948,7 +57964,7 @@ function writeLineToScreen(screen, line, x, y, screenWidth, stylePool, charCache
|
|
|
57948
57964
|
return offsetX;
|
|
57949
57965
|
}
|
|
57950
57966
|
//#endregion
|
|
57951
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
57967
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-to-screen.js
|
|
57952
57968
|
const timing = {
|
|
57953
57969
|
reconcile: 0,
|
|
57954
57970
|
yoga: 0,
|
|
@@ -58042,7 +58058,7 @@ function applyPositionedHighlight(screen, stylePool, positions, rowOffset, curre
|
|
|
58042
58058
|
return true;
|
|
58043
58059
|
}
|
|
58044
58060
|
//#endregion
|
|
58045
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
58061
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/renderer.js
|
|
58046
58062
|
/**
|
|
58047
58063
|
* Create the renderer function for a root DOM node. The returned renderer
|
|
58048
58064
|
* reuses an Output across frames so its character cache persists.
|
|
@@ -58117,7 +58133,7 @@ function createRenderer(node, stylePool) {
|
|
|
58117
58133
|
};
|
|
58118
58134
|
}
|
|
58119
58135
|
//#endregion
|
|
58120
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
58136
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/searchHighlight.js
|
|
58121
58137
|
/**
|
|
58122
58138
|
* Highlight all visible occurrences of `query` in the screen buffer by
|
|
58123
58139
|
* inverting cell styles (SGR 7). Post-render, same damage-tracking machinery
|
|
@@ -58179,7 +58195,7 @@ function applySearchHighlight(screen, query, stylePool) {
|
|
|
58179
58195
|
return applied;
|
|
58180
58196
|
}
|
|
58181
58197
|
//#endregion
|
|
58182
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
58198
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/ink.js
|
|
58183
58199
|
const ALT_SCREEN_ANCHOR_CURSOR = Object.freeze({
|
|
58184
58200
|
x: 0,
|
|
58185
58201
|
y: 0,
|
|
@@ -59732,7 +59748,7 @@ const CONSOLE_STDERR_METHODS = [
|
|
|
59732
59748
|
"trace"
|
|
59733
59749
|
];
|
|
59734
59750
|
//#endregion
|
|
59735
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59751
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/root.js
|
|
59736
59752
|
/**
|
|
59737
59753
|
* Mount a component and render the output.
|
|
59738
59754
|
* @param node - the React element to render.
|
|
@@ -59815,7 +59831,7 @@ const getInstance = (stdout, createInstance) => {
|
|
|
59815
59831
|
return instance;
|
|
59816
59832
|
};
|
|
59817
59833
|
//#endregion
|
|
59818
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59834
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedBox.js
|
|
59819
59835
|
/** Resolves a color value that may be a theme key to a raw Color. */
|
|
59820
59836
|
function resolveColor$1(color, theme) {
|
|
59821
59837
|
if (!color) return void 0;
|
|
@@ -59840,7 +59856,7 @@ function ThemedBox({ borderColor, borderTopColor, borderBottomColor, borderLeftC
|
|
|
59840
59856
|
});
|
|
59841
59857
|
}
|
|
59842
59858
|
//#endregion
|
|
59843
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59859
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedText.js
|
|
59844
59860
|
/**
|
|
59845
59861
|
* Colors uncolored ThemedText in the subtree. Precedence: explicit `color` >
|
|
59846
59862
|
* this > dimColor (in the Claude Code visual language, where message rows
|
|
@@ -59876,7 +59892,7 @@ function ThemedText({ color, backgroundColor, dimColor = false, bold = false, it
|
|
|
59876
59892
|
});
|
|
59877
59893
|
}
|
|
59878
59894
|
//#endregion
|
|
59879
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59895
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Spacer.js
|
|
59880
59896
|
/**
|
|
59881
59897
|
* A flexible space that expands along the major axis of its containing layout.
|
|
59882
59898
|
* It's useful as a shortcut for filling all the available spaces between elements.
|
|
@@ -59891,7 +59907,7 @@ function Spacer() {
|
|
|
59891
59907
|
return t0;
|
|
59892
59908
|
}
|
|
59893
59909
|
//#endregion
|
|
59894
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59910
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Newline.js
|
|
59895
59911
|
/**
|
|
59896
59912
|
* Adds one or more newline (\n) characters. Must be used within <Text> components.
|
|
59897
59913
|
*/
|
|
@@ -59914,7 +59930,7 @@ function Newline(t0) {
|
|
|
59914
59930
|
return t3;
|
|
59915
59931
|
}
|
|
59916
59932
|
//#endregion
|
|
59917
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59933
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/NoSelect.js
|
|
59918
59934
|
/**
|
|
59919
59935
|
* Marks its contents as non-selectable in fullscreen text selection.
|
|
59920
59936
|
* Cells inside this box are skipped by both the selection highlight and
|
|
@@ -59965,7 +59981,7 @@ function NoSelect(t0) {
|
|
|
59965
59981
|
return t2;
|
|
59966
59982
|
}
|
|
59967
59983
|
//#endregion
|
|
59968
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59984
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AlternateScreen.js
|
|
59969
59985
|
/**
|
|
59970
59986
|
* Run children in the terminal's alternate screen buffer, constrained to
|
|
59971
59987
|
* the viewport height. While mounted:
|
|
@@ -60040,7 +60056,7 @@ function AlternateScreen(t0) {
|
|
|
60040
60056
|
return t5;
|
|
60041
60057
|
}
|
|
60042
60058
|
//#endregion
|
|
60043
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60059
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ScrollBox.js
|
|
60044
60060
|
/**
|
|
60045
60061
|
* A Box with `overflow: scroll` and an imperative scroll API.
|
|
60046
60062
|
*
|
|
@@ -60218,7 +60234,7 @@ function ScrollBox({ children, ref, stickyScroll, ...style }) {
|
|
|
60218
60234
|
});
|
|
60219
60235
|
}
|
|
60220
60236
|
//#endregion
|
|
60221
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60237
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-input.js
|
|
60222
60238
|
/**
|
|
60223
60239
|
* Keep an event listener stable while always dispatching to the latest render's
|
|
60224
60240
|
* callback. Keeping this hook local is important for packaged installs: a
|
|
@@ -60284,7 +60300,7 @@ const useInput = (inputHandler, options = {}) => {
|
|
|
60284
60300
|
}, [internal_eventEmitter, handleData]);
|
|
60285
60301
|
};
|
|
60286
60302
|
//#endregion
|
|
60287
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60303
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-selection.js
|
|
60288
60304
|
/**
|
|
60289
60305
|
* Access to text selection operations on the Ink instance (fullscreen only).
|
|
60290
60306
|
* Returns no-op functions when fullscreen mode is disabled.
|
|
@@ -60324,7 +60340,7 @@ function useSelection() {
|
|
|
60324
60340
|
}, [ink]);
|
|
60325
60341
|
}
|
|
60326
60342
|
//#endregion
|
|
60327
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60343
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-copy-on-select.js
|
|
60328
60344
|
/**
|
|
60329
60345
|
* Copy-on-select: when a drag finishes (or a double/triple click, or a
|
|
60330
60346
|
* shift+arrow extension, lands a selection), copy the selected text to the
|
|
@@ -60364,14 +60380,14 @@ function useCopyOnSelect(onCopied) {
|
|
|
60364
60380
|
]);
|
|
60365
60381
|
}
|
|
60366
60382
|
//#endregion
|
|
60367
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60383
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-app.js
|
|
60368
60384
|
/**
|
|
60369
60385
|
* React hook exposing the manual app-exit function from `AppContext`.
|
|
60370
60386
|
* @returns the `AppContext` value, whose `exit` function unmounts the app.
|
|
60371
60387
|
*/
|
|
60372
60388
|
const useApp = () => (0, import_react.useContext)(AppContext);
|
|
60373
60389
|
//#endregion
|
|
60374
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60390
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-viewport.js
|
|
60375
60391
|
/**
|
|
60376
60392
|
* Hook to detect if a component is within the terminal viewport.
|
|
60377
60393
|
*
|
|
@@ -60425,7 +60441,7 @@ function useTerminalViewport() {
|
|
|
60425
60441
|
return [setElement, entryRef.current];
|
|
60426
60442
|
}
|
|
60427
60443
|
//#endregion
|
|
60428
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60444
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-animation-frame.js
|
|
60429
60445
|
/**
|
|
60430
60446
|
* Hook for synchronized animations that pause when offscreen.
|
|
60431
60447
|
*
|
|
@@ -60474,7 +60490,7 @@ function useAnimationFrame(intervalMs = 16) {
|
|
|
60474
60490
|
return [viewportRef, time];
|
|
60475
60491
|
}
|
|
60476
60492
|
//#endregion
|
|
60477
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60493
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-size.js
|
|
60478
60494
|
/** Terminal dimensions from the Ink app shell (from Claude Code).
|
|
60479
60495
|
* @returns the current terminal dimensions.
|
|
60480
60496
|
*/
|
|
@@ -60484,7 +60500,7 @@ function useTerminalSize() {
|
|
|
60484
60500
|
return size;
|
|
60485
60501
|
}
|
|
60486
60502
|
//#endregion
|
|
60487
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60503
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useBlink.js
|
|
60488
60504
|
const BLINK_INTERVAL_MS = 600;
|
|
60489
60505
|
/**
|
|
60490
60506
|
* Hook for synchronized blinking animations that pause when offscreen
|
|
@@ -60501,7 +60517,7 @@ function useBlink(enabled, intervalMs = BLINK_INTERVAL_MS) {
|
|
|
60501
60517
|
return [ref, Math.floor(time / intervalMs) % 2 === 0];
|
|
60502
60518
|
}
|
|
60503
60519
|
//#endregion
|
|
60504
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60520
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/supports-hyperlinks.js
|
|
60505
60521
|
var import_supports_hyperlinks = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
60506
60522
|
const supportsColor = require_supports_color();
|
|
60507
60523
|
const hasFlag = require_has_flag();
|
|
@@ -60598,7 +60614,7 @@ function supportsHyperlinks(options) {
|
|
|
60598
60614
|
return false;
|
|
60599
60615
|
}
|
|
60600
60616
|
//#endregion
|
|
60601
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60617
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Link.js
|
|
60602
60618
|
function Link(t0) {
|
|
60603
60619
|
const $ = (0, import_compiler_runtime.c)(5);
|
|
60604
60620
|
const { children, url, fallback } = t0;
|
|
@@ -60626,7 +60642,7 @@ function Link(t0) {
|
|
|
60626
60642
|
return t2;
|
|
60627
60643
|
}
|
|
60628
60644
|
//#endregion
|
|
60629
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60645
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/esc.js
|
|
60630
60646
|
/**
|
|
60631
60647
|
* ESC Sequence Parser
|
|
60632
60648
|
*
|
|
@@ -60682,7 +60698,7 @@ function parseEsc(chars) {
|
|
|
60682
60698
|
};
|
|
60683
60699
|
}
|
|
60684
60700
|
//#endregion
|
|
60685
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60701
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/types.js
|
|
60686
60702
|
/**
|
|
60687
60703
|
* ANSI Parser - Semantic Types
|
|
60688
60704
|
*
|
|
@@ -60710,7 +60726,7 @@ function defaultStyle() {
|
|
|
60710
60726
|
};
|
|
60711
60727
|
}
|
|
60712
60728
|
//#endregion
|
|
60713
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60729
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/sgr.js
|
|
60714
60730
|
/**
|
|
60715
60731
|
* SGR (Select Graphic Rendition) Parser
|
|
60716
60732
|
*
|
|
@@ -61018,7 +61034,7 @@ function applySGR(paramStr, style) {
|
|
|
61018
61034
|
return s;
|
|
61019
61035
|
}
|
|
61020
61036
|
//#endregion
|
|
61021
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61037
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/parser.js
|
|
61022
61038
|
/**
|
|
61023
61039
|
* ANSI Parser - Semantic Action Generator
|
|
61024
61040
|
*
|
|
@@ -61395,7 +61411,7 @@ var Parser = class {
|
|
|
61395
61411
|
}
|
|
61396
61412
|
};
|
|
61397
61413
|
//#endregion
|
|
61398
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61414
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/Ansi.js
|
|
61399
61415
|
/**
|
|
61400
61416
|
* Component that parses ANSI escape codes and renders them using Text components.
|
|
61401
61417
|
*
|
|
@@ -61646,7 +61662,7 @@ function StyledText(t0) {
|
|
|
61646
61662
|
return t1;
|
|
61647
61663
|
}
|
|
61648
61664
|
//#endregion
|
|
61649
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61665
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ui.js
|
|
61650
61666
|
var ui_exports = /* @__PURE__ */ __exportAll({
|
|
61651
61667
|
AlternateScreen: () => AlternateScreen,
|
|
61652
61668
|
Ansi: () => Ansi,
|
|
@@ -61670,7 +61686,7 @@ var ui_exports = /* @__PURE__ */ __exportAll({
|
|
|
61670
61686
|
useTheme: () => useTheme
|
|
61671
61687
|
});
|
|
61672
61688
|
//#endregion
|
|
61673
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61689
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PageMargin.js
|
|
61674
61690
|
/** 嵌套安全的 inset(若未来出现嵌套 PageMargin 会累加)。 */
|
|
61675
61691
|
const PageInsetContext = import_react.createContext({
|
|
61676
61692
|
x: 0,
|
|
@@ -61724,7 +61740,7 @@ function PageMargin({ children }) {
|
|
|
61724
61740
|
});
|
|
61725
61741
|
}
|
|
61726
61742
|
//#endregion
|
|
61727
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61743
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/figures.js
|
|
61728
61744
|
/**
|
|
61729
61745
|
* UI glyph constants used across the TUI: prompt markers, status badges,
|
|
61730
61746
|
* direction arrows, media controls, reasoning-effort indicators, and
|
|
@@ -61751,7 +61767,7 @@ const THINKING_SPINNER_FRAMES = [
|
|
|
61751
61767
|
"⠏"
|
|
61752
61768
|
];
|
|
61753
61769
|
//#endregion
|
|
61754
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61770
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerWizard.js
|
|
61755
61771
|
/**
|
|
61756
61772
|
* `/provider` wizard — interactively adds, edits, or deletes an LLM
|
|
61757
61773
|
* provider route at runtime.
|
|
@@ -62477,7 +62493,7 @@ function buildProfile(input) {
|
|
|
62477
62493
|
return profile;
|
|
62478
62494
|
}
|
|
62479
62495
|
//#endregion
|
|
62480
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
62496
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/modelConfigWizard.js
|
|
62481
62497
|
/** `/model-config`: platform catalog plus ~/.chatcode-cli/settings.json custom models. */
|
|
62482
62498
|
const CUSTOM_MODEL_PROTOCOLS = ["openai-completions", "anthropic-messages"];
|
|
62483
62499
|
const LEGAL_API_KEY = /^[\x21-\x7e]+$/u;
|
|
@@ -63116,7 +63132,7 @@ function parseCapacity(value) {
|
|
|
63116
63132
|
return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : void 0;
|
|
63117
63133
|
}
|
|
63118
63134
|
//#endregion
|
|
63119
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
63135
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-declared-cursor.js
|
|
63120
63136
|
/**
|
|
63121
63137
|
* Declares where the terminal cursor should be parked after each frame.
|
|
63122
63138
|
*
|
|
@@ -63165,7 +63181,7 @@ function useDeclaredCursor(options) {
|
|
|
63165
63181
|
return setNode;
|
|
63166
63182
|
}
|
|
63167
63183
|
//#endregion
|
|
63168
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
63184
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-element.js
|
|
63169
63185
|
/**
|
|
63170
63186
|
* Measure the rendered dimensions of a Box element.
|
|
63171
63187
|
* @param node - the DOM element to measure.
|
|
@@ -63176,7 +63192,7 @@ const measureElement = (node) => ({
|
|
|
63176
63192
|
height: node.yogaNode?.getComputedHeight() ?? 0
|
|
63177
63193
|
});
|
|
63178
63194
|
//#endregion
|
|
63179
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
63195
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Divider.js
|
|
63180
63196
|
const MAX_APPLIED_MEASUREMENTS = 8;
|
|
63181
63197
|
/**
|
|
63182
63198
|
* A horizontal divider line, optionally with a title in the middle
|
|
@@ -64899,7 +64915,7 @@ k.parseInline;
|
|
|
64899
64915
|
T.parse;
|
|
64900
64916
|
R.lex;
|
|
64901
64917
|
//#endregion
|
|
64902
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64918
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxTheme.js
|
|
64903
64919
|
/** highlight.js token classes -> theme syntax tokens. `default` catches
|
|
64904
64920
|
* every unmapped class so cli-highlight's own yellow never leaks through
|
|
64905
64921
|
* (issue #250, P2-6). */
|
|
@@ -64965,7 +64981,7 @@ function buildSyntaxTheme(theme) {
|
|
|
64965
64981
|
return out;
|
|
64966
64982
|
}
|
|
64967
64983
|
//#endregion
|
|
64968
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64984
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/hyperlink.js
|
|
64969
64985
|
/** OSC 8 hyperlink start sequence: `ESC ] 8 ; ;`, followed by the URL. */
|
|
64970
64986
|
const OSC8_START = "\x1B]8;;";
|
|
64971
64987
|
/** Schemes a rendered hyperlink may point at. Anything else degrades to
|
|
@@ -65007,7 +65023,7 @@ function createHyperlink(url, content, options) {
|
|
|
65007
65023
|
return `${OSC8_START}${safeUrl}${(options?.style ?? ((text) => chalk.blue(text)))(displayText)}${OSC8_START}`;
|
|
65008
65024
|
}
|
|
65009
65025
|
//#endregion
|
|
65010
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65026
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileTarget.js
|
|
65011
65027
|
/**
|
|
65012
65028
|
* Clickable file targets: turning path-like text in AI output into
|
|
65013
65029
|
* clickable targets, and resolving those targets back to absolute paths at
|
|
@@ -65149,7 +65165,7 @@ function linkifyFilePaths(text, wrap) {
|
|
|
65149
65165
|
});
|
|
65150
65166
|
}
|
|
65151
65167
|
//#endregion
|
|
65152
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65168
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/markdown.js
|
|
65153
65169
|
/**
|
|
65154
65170
|
* Markdown-to-ANSI renderer over marked's token stream.
|
|
65155
65171
|
*
|
|
@@ -65464,7 +65480,7 @@ function padAligned(content, displayWidth, targetWidth, align) {
|
|
|
65464
65480
|
return content + " ".repeat(extra);
|
|
65465
65481
|
}
|
|
65466
65482
|
//#endregion
|
|
65467
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65483
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/cliHighlight.js
|
|
65468
65484
|
let cliHighlightPromise;
|
|
65469
65485
|
async function loadCliHighlight() {
|
|
65470
65486
|
try {
|
|
@@ -65487,7 +65503,7 @@ function getCliHighlightPromise() {
|
|
|
65487
65503
|
return cliHighlightPromise;
|
|
65488
65504
|
}
|
|
65489
65505
|
//#endregion
|
|
65490
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65506
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MarkdownTable.js
|
|
65491
65507
|
/** Accounts for parent indentation and terminal resize races (from Claude Code). */
|
|
65492
65508
|
const SAFETY_MARGIN = 4;
|
|
65493
65509
|
/** Minimum column width to prevent degenerate layouts */
|
|
@@ -65674,7 +65690,7 @@ function MarkdownTable({ token, highlight, forceWidth }) {
|
|
|
65674
65690
|
return (0, import_jsx_runtime.jsx)(Text, { children: tableLines.join("\n") });
|
|
65675
65691
|
}
|
|
65676
65692
|
//#endregion
|
|
65677
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65693
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Markdown.js
|
|
65678
65694
|
const TOKEN_CACHE_CAPACITY = 200;
|
|
65679
65695
|
const TOKEN_CACHE_CHAR_BUDGET = 2e5;
|
|
65680
65696
|
const TOKEN_CACHE_MAX_SOURCE_LENGTH = 2e4;
|
|
@@ -65783,7 +65799,7 @@ function MarkdownImpl({ children, dimColor = false, cacheTokens = true }) {
|
|
|
65783
65799
|
*/
|
|
65784
65800
|
const Markdown = import_react.memo(MarkdownImpl, (prev, next) => prev.children === next.children && prev.dimColor === next.dimColor && prev.cacheTokens === next.cacheTokens);
|
|
65785
65801
|
//#endregion
|
|
65786
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65802
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/PlanReviewPanel.js
|
|
65787
65803
|
/**
|
|
65788
65804
|
* The plan-review panel — Claude Code style exit-plan-mode decision card
|
|
65789
65805
|
* for the DSH user-interaction seam. plan-mode's `exit_plan_mode` tool asks
|
|
@@ -66105,7 +66121,7 @@ function PlanReviewPanel({ question, onAnswer, onCancel }) {
|
|
|
66105
66121
|
});
|
|
66106
66122
|
}
|
|
66107
66123
|
//#endregion
|
|
66108
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66124
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/listWindow.js
|
|
66109
66125
|
/**
|
|
66110
66126
|
* 焦点居中的列表窗口:长列表只渲染焦点附近的一段,保证焦点行始终可见。
|
|
66111
66127
|
* 瞬态面板走 OverlayAbove 零高度浮层后,超高部分会被 overflow 裁掉且焦点
|
|
@@ -66157,7 +66173,7 @@ function listWindow(heights, focusIndex, maxRows, gap = 0) {
|
|
|
66157
66173
|
}
|
|
66158
66174
|
}
|
|
66159
66175
|
//#endregion
|
|
66160
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66176
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/AskUserQuestionPanel.js
|
|
66161
66177
|
/**
|
|
66162
66178
|
* The questionnaire panel — Claude Code style ask-user-question UI for the
|
|
66163
66179
|
* DSH user-interaction seam. One question per panel (progress header, header
|
|
@@ -66740,7 +66756,7 @@ function AskUserQuestionPanel({ question, position, total, answered, initialDraf
|
|
|
66740
66756
|
});
|
|
66741
66757
|
}
|
|
66742
66758
|
//#endregion
|
|
66743
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66759
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/approvals/ApprovalPanel.js
|
|
66744
66760
|
/**
|
|
66745
66761
|
* The approval panel — Claude Code style permission prompt for the DSH
|
|
66746
66762
|
* approval seam (`ctx.approval`). One ask per panel: a permission-colored
|
|
@@ -66865,7 +66881,7 @@ function ApprovalPanel({ approval, background = false, onDecide }) {
|
|
|
66865
66881
|
});
|
|
66866
66882
|
}
|
|
66867
66883
|
//#endregion
|
|
66868
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66884
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Pane.js
|
|
66869
66885
|
/**
|
|
66870
66886
|
* A pane — a region below the prompt bounded by a colored top line with a
|
|
66871
66887
|
* one-row gap above and horizontal padding, mirroring Claude Code's
|
|
@@ -66887,7 +66903,7 @@ function Pane({ children, color }) {
|
|
|
66887
66903
|
});
|
|
66888
66904
|
}
|
|
66889
66905
|
//#endregion
|
|
66890
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66906
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ListItem.js
|
|
66891
66907
|
/**
|
|
66892
66908
|
* A list item for selection UIs, mirroring Claude Code's
|
|
66893
66909
|
* design-system/ListItem.tsx: `❯` pointer for the focused row, `✓`
|
|
@@ -66984,7 +67000,7 @@ function flattenDeep(node) {
|
|
|
66984
67000
|
return node;
|
|
66985
67001
|
}
|
|
66986
67002
|
//#endregion
|
|
66987
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67003
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/HintLine.js
|
|
66988
67004
|
/**
|
|
66989
67005
|
* Localized shortcut-hint line: renders a `t('hint-*')` string, with the
|
|
66990
67006
|
* `**primary shortcut**` segment (the main action's key, wrapped in `**` in
|
|
@@ -67001,7 +67017,7 @@ function HintLine({ text }) {
|
|
|
67001
67017
|
}, index) : part) });
|
|
67002
67018
|
}
|
|
67003
67019
|
//#endregion
|
|
67004
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67020
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ExtensionDialog.js
|
|
67005
67021
|
/**
|
|
67006
67022
|
* The managed plugin dialog (`ctx.tuiDialogs`) — one panel rendering the
|
|
67007
67023
|
* store's current snapshot in the chat chrome (the slot approval/question
|
|
@@ -67261,7 +67277,7 @@ function InputDialog({ dialog, onDecide, onCancel }) {
|
|
|
67261
67277
|
});
|
|
67262
67278
|
}
|
|
67263
67279
|
//#endregion
|
|
67264
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67280
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-search-highlight.js
|
|
67265
67281
|
/**
|
|
67266
67282
|
* Set the search highlight query on the Ink instance. Non-empty → all
|
|
67267
67283
|
* visible occurrences are inverted on the next frame (SGR 7, screen-buffer
|
|
@@ -67293,7 +67309,7 @@ function useSearchHighlight() {
|
|
|
67293
67309
|
}, [ink]);
|
|
67294
67310
|
}
|
|
67295
67311
|
//#endregion
|
|
67296
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67312
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-title.js
|
|
67297
67313
|
/**
|
|
67298
67314
|
* Declaratively set the terminal tab/window title.
|
|
67299
67315
|
*
|
|
@@ -67316,7 +67332,7 @@ function useTerminalTitle(title) {
|
|
|
67316
67332
|
}, [title, writeRaw]);
|
|
67317
67333
|
}
|
|
67318
67334
|
//#endregion
|
|
67319
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67335
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/format.js
|
|
67320
67336
|
/**
|
|
67321
67337
|
* Session browser formatting.
|
|
67322
67338
|
*
|
|
@@ -67565,7 +67581,7 @@ function projectName(cwd) {
|
|
|
67565
67581
|
return normalized.split("/").filter(Boolean).at(-1) ?? normalized;
|
|
67566
67582
|
}
|
|
67567
67583
|
//#endregion
|
|
67568
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67584
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Tooltip.js
|
|
67569
67585
|
/**
|
|
67570
67586
|
* Tooltip hover system — the terminal equivalent of the HTML `title`
|
|
67571
67587
|
* attribute. Attach {@link useTooltip} props to any Box whose visible text
|
|
@@ -67773,7 +67789,7 @@ function wrapTooltipContent(text, width) {
|
|
|
67773
67789
|
return rows;
|
|
67774
67790
|
}
|
|
67775
67791
|
//#endregion
|
|
67776
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67792
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/UserPromptMessage.js
|
|
67777
67793
|
/** User prompt row in the legacy CLI treatment: a full-width gray strip. */
|
|
67778
67794
|
function UserPromptMessage({ text, addMargin, isSelected = false, onClick }) {
|
|
67779
67795
|
const { columns } = useTerminalSize();
|
|
@@ -67802,7 +67818,7 @@ function UserPromptMessage({ text, addMargin, isSelected = false, onClick }) {
|
|
|
67802
67818
|
});
|
|
67803
67819
|
}
|
|
67804
67820
|
//#endregion
|
|
67805
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67821
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantTextMessage.js
|
|
67806
67822
|
/**
|
|
67807
67823
|
* Assistant text message: bullet + markdown body (mirroring Claude Code's default branch).
|
|
67808
67824
|
*
|
|
@@ -67835,7 +67851,7 @@ function AssistantTextMessage({ text, addMargin, isSelected = false, isExpanded
|
|
|
67835
67851
|
});
|
|
67836
67852
|
}
|
|
67837
67853
|
//#endregion
|
|
67838
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67854
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/StreamingMarkdown.js
|
|
67839
67855
|
/**
|
|
67840
67856
|
* Renders markdown during streaming by splitting at the last top-level block
|
|
67841
67857
|
* boundary: everything before is stable (memoized, never re-parsed), only the
|
|
@@ -68025,7 +68041,7 @@ function StreamingMarkdown({ children, dimColor = false }) {
|
|
|
68025
68041
|
});
|
|
68026
68042
|
}
|
|
68027
68043
|
//#endregion
|
|
68028
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68044
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/spinnerUtils.js
|
|
68029
68045
|
/**
|
|
68030
68046
|
* Spinner 动画的通用工具集:平台相关的帧字符选择、RGB 颜色插值、
|
|
68031
68047
|
* HSL 色相转 RGB,以及 `rgb(...)` 颜色字符串的解析与记忆化。
|
|
@@ -68105,7 +68121,7 @@ function parseRGB(colorStr) {
|
|
|
68105
68121
|
return parsed;
|
|
68106
68122
|
}
|
|
68107
68123
|
//#endregion
|
|
68108
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68124
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/shimmer.js
|
|
68109
68125
|
/** Header blue-white ladder: brand → ice → pale → soft ice flash.
|
|
68110
68126
|
* FLASH stays visibly blue (never pure white) — the highlight reads as a
|
|
68111
68127
|
* mist-brightened crest, not a white strobe. */
|
|
@@ -68121,7 +68137,7 @@ const ICE = {
|
|
|
68121
68137
|
b: 255
|
|
68122
68138
|
};
|
|
68123
68139
|
//#endregion
|
|
68124
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68140
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantThinkingMessage.js
|
|
68125
68141
|
/** Preview body rows — a FIXED row count (kimicode-style constant-height
|
|
68126
68142
|
* ticker). Ink's truncate slices the whole string across newlines as one
|
|
68127
68143
|
* logical line, so a single joined Text collapses to 1-2 rows whenever
|
|
@@ -68234,7 +68250,7 @@ function AssistantThinkingMessage({ thinking, textFull, addMargin, verbose, stre
|
|
|
68234
68250
|
});
|
|
68235
68251
|
}
|
|
68236
68252
|
//#endregion
|
|
68237
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68253
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ToolUseLoader.js
|
|
68238
68254
|
const CATEGORY_BY_TOOL = {
|
|
68239
68255
|
bash: "exec",
|
|
68240
68256
|
powershell: "exec",
|
|
@@ -68815,7 +68831,7 @@ var ArrayDiff = class extends Diff {
|
|
|
68815
68831
|
};
|
|
68816
68832
|
new ArrayDiff();
|
|
68817
68833
|
//#endregion
|
|
68818
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68834
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxRuns.js
|
|
68819
68835
|
const ANSI16 = {
|
|
68820
68836
|
30: "rgb(0,0,0)",
|
|
68821
68837
|
31: "rgb(128,0,0)",
|
|
@@ -68900,7 +68916,7 @@ function syntaxThemeSignature(theme) {
|
|
|
68900
68916
|
return Object.values(SYNTAX_CLASS_TO_TOKEN).map((key) => palette[key] ?? "").join("|");
|
|
68901
68917
|
}
|
|
68902
68918
|
//#endregion
|
|
68903
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68919
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/smoothReveal.js
|
|
68904
68920
|
/**
|
|
68905
68921
|
* Smooth streaming reveal — decouples "text the provider has delivered" from
|
|
68906
68922
|
* "text the screen is showing" (the oh-my-pi `display.smoothStreaming` idea,
|
|
@@ -69146,7 +69162,7 @@ function revealLinesOf(key, total, options) {
|
|
|
69146
69162
|
return Math.min(existing.revealed, total);
|
|
69147
69163
|
}
|
|
69148
69164
|
//#endregion
|
|
69149
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69165
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SplitDiffView.js
|
|
69150
69166
|
/** Replace tabs so width math and alignment hold (pi convention). */
|
|
69151
69167
|
const expandTabs = (text) => text.replaceAll(" ", " ");
|
|
69152
69168
|
/**
|
|
@@ -69455,7 +69471,7 @@ function SplitDiffView({ diffs, width, maxRows, verbose, toolBackground = "none"
|
|
|
69455
69471
|
});
|
|
69456
69472
|
}
|
|
69457
69473
|
//#endregion
|
|
69458
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69474
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SyntaxText.js
|
|
69459
69475
|
/** Async nested Text renderer. Lexes the complete payload before splitting. */
|
|
69460
69476
|
function SyntaxText({ text, language, sourceText = text, lineIndex = 0, color, dimColor }) {
|
|
69461
69477
|
const [highlighter, setHighlighter] = import_react.useState(null);
|
|
@@ -69499,7 +69515,7 @@ function SyntaxText({ text, language, sourceText = text, lineIndex = 0, color, d
|
|
|
69499
69515
|
}, index)) });
|
|
69500
69516
|
}
|
|
69501
69517
|
//#endregion
|
|
69502
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69518
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/format.js
|
|
69503
69519
|
/**
|
|
69504
69520
|
* Trajectory formatting — durations, clocks, badges and heat.
|
|
69505
69521
|
*
|
|
@@ -69701,7 +69717,7 @@ function ledgerLayout(columns) {
|
|
|
69701
69717
|
};
|
|
69702
69718
|
}
|
|
69703
69719
|
//#endregion
|
|
69704
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69720
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRevealVersion.js
|
|
69705
69721
|
/**
|
|
69706
69722
|
* Reveal-frame wakeup as a React hook — bumps once per advancing ~30fps
|
|
69707
69723
|
* scheduler tick so consumers re-run their render-phase cursor reads
|
|
@@ -69731,7 +69747,7 @@ function useRevealVersion(enabled = true) {
|
|
|
69731
69747
|
return version;
|
|
69732
69748
|
}
|
|
69733
69749
|
//#endregion
|
|
69734
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69750
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantToolUseMessage.js
|
|
69735
69751
|
/** Tool display names: DSH emits lowercase tool ids (`bash`); Claude Code
|
|
69736
69752
|
* shows capitalized names (`Bash`). Map the common ones, fall back to the
|
|
69737
69753
|
* id with its first letter uppercased. */
|
|
@@ -70267,7 +70283,7 @@ function AssistantToolUseMessage({ tool, addMargin, verbose, isSelected = false,
|
|
|
70267
70283
|
});
|
|
70268
70284
|
}
|
|
70269
70285
|
//#endregion
|
|
70270
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70286
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/SubagentMessage.js
|
|
70271
70287
|
/** The waterfall window is a Kimi Code style constant-height region. */
|
|
70272
70288
|
const WATERFALL_ROWS = 3;
|
|
70273
70289
|
/** Card left padding + the `│ ` gutter prefix. */
|
|
@@ -70475,7 +70491,7 @@ function SubagentMessage({ subagent, addMargin, activityFrames, onClick }) {
|
|
|
70475
70491
|
});
|
|
70476
70492
|
}
|
|
70477
70493
|
//#endregion
|
|
70478
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70494
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/JobCard.js
|
|
70479
70495
|
/** Card left padding + the `│ ` gutter prefix. */
|
|
70480
70496
|
const WATERFALL_GUTTER = 4;
|
|
70481
70497
|
/** Static status marker — deliberately NOT the animated activity-indicator
|
|
@@ -70628,7 +70644,7 @@ function JobCard({ job, addMargin, onClick }) {
|
|
|
70628
70644
|
});
|
|
70629
70645
|
}
|
|
70630
70646
|
//#endregion
|
|
70631
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70647
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/InterruptedByUser.js
|
|
70632
70648
|
/**
|
|
70633
70649
|
* The dim "interrupted" row shown when the user stops a turn, mirroring
|
|
70634
70650
|
* Claude Code's `InterruptedByUser.tsx`.
|
|
@@ -70643,7 +70659,7 @@ function InterruptedByUser() {
|
|
|
70643
70659
|
})] });
|
|
70644
70660
|
}
|
|
70645
70661
|
//#endregion
|
|
70646
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70662
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/gitCommitStats.js
|
|
70647
70663
|
/**
|
|
70648
70664
|
* 当月 AI 代码生成占比统计(移植自 chatcode-cli 的同名服务)。
|
|
70649
70665
|
*
|
|
@@ -70798,7 +70814,7 @@ async function fetchGitCommitRecords(post, signal) {
|
|
|
70798
70814
|
/**
|
|
70799
70815
|
* 计算当月整体 AI 代码生成占比(百分数):
|
|
70800
70816
|
* sum(AI采纳行数) / sum(新增行数) × 100。
|
|
70801
|
-
* 无记录或新增行数为 0 时返回 null
|
|
70817
|
+
* 无记录或新增行数为 0 时返回 null(调用方显示暂无数据,不伪装成 0%)。
|
|
70802
70818
|
*/
|
|
70803
70819
|
function computeAiRatioPercent(records) {
|
|
70804
70820
|
let addedTotal = 0;
|
|
@@ -70811,51 +70827,71 @@ function computeAiRatioPercent(records) {
|
|
|
70811
70827
|
return clampPercent(aiAdoptedTotal / addedTotal * 100);
|
|
70812
70828
|
}
|
|
70813
70829
|
//#endregion
|
|
70814
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70830
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useAiRatio.js
|
|
70815
70831
|
/**
|
|
70816
70832
|
* 「AI代码生成占比」数据源 Hook(移植自 chatcode-cli 的同名 Hook)。
|
|
70817
70833
|
*
|
|
70818
70834
|
* 数据来源:ChatCode 平台 gitCommitRecord 接口(src/gitCommitStats.ts),
|
|
70819
70835
|
* 聚合当月 sum(AI采纳行数)/sum(新增行数) 得到百分比。
|
|
70820
|
-
*
|
|
70821
|
-
*
|
|
70836
|
+
* 挂载时拉取一次,成功后定时刷新,失败后短间隔重试;状态交给首页展示,
|
|
70837
|
+
* 不向终端打印错误,也不阻塞主流程。
|
|
70822
70838
|
*/
|
|
70823
70839
|
const POLL_INTERVAL_MS$1 = 600 * 1e3;
|
|
70840
|
+
const RETRY_INTERVAL_MS = 30 * 1e3;
|
|
70824
70841
|
function useAiRatio(enabled = true) {
|
|
70825
70842
|
const [ratioPercent, setRatioPercent] = import_react.useState(null);
|
|
70826
70843
|
const [loading, setLoading] = import_react.useState(true);
|
|
70844
|
+
const [unavailable, setUnavailable] = import_react.useState(false);
|
|
70827
70845
|
const post = import_react.useContext(ChatCodeApiContext);
|
|
70828
70846
|
import_react.useEffect(() => {
|
|
70829
70847
|
if (!enabled || post === void 0) {
|
|
70848
|
+
setRatioPercent(null);
|
|
70830
70849
|
setLoading(false);
|
|
70850
|
+
setUnavailable(true);
|
|
70831
70851
|
return;
|
|
70832
70852
|
}
|
|
70833
70853
|
let cancelled = false;
|
|
70834
70854
|
const controller = new AbortController();
|
|
70855
|
+
let timer;
|
|
70856
|
+
setRatioPercent(null);
|
|
70857
|
+
setLoading(true);
|
|
70858
|
+
setUnavailable(false);
|
|
70835
70859
|
const refresh = async () => {
|
|
70860
|
+
let delay = POLL_INTERVAL_MS$1;
|
|
70836
70861
|
try {
|
|
70837
70862
|
const records = await fetchGitCommitRecords(post, controller.signal);
|
|
70838
|
-
if (!cancelled)
|
|
70839
|
-
|
|
70840
|
-
|
|
70863
|
+
if (!cancelled) {
|
|
70864
|
+
setRatioPercent(computeAiRatioPercent(records));
|
|
70865
|
+
setUnavailable(false);
|
|
70866
|
+
}
|
|
70867
|
+
} catch {
|
|
70868
|
+
delay = RETRY_INTERVAL_MS;
|
|
70869
|
+
if (!cancelled) setUnavailable(true);
|
|
70870
|
+
} finally {
|
|
70871
|
+
if (!cancelled) {
|
|
70872
|
+
setLoading(false);
|
|
70873
|
+
timer = setTimeout(() => {
|
|
70874
|
+
refresh();
|
|
70875
|
+
}, delay);
|
|
70876
|
+
timer.unref?.();
|
|
70877
|
+
}
|
|
70841
70878
|
}
|
|
70842
70879
|
};
|
|
70843
70880
|
refresh();
|
|
70844
|
-
const timer = setInterval(() => void refresh(), POLL_INTERVAL_MS$1);
|
|
70845
|
-
if (typeof timer.unref === "function") timer.unref();
|
|
70846
70881
|
return () => {
|
|
70847
70882
|
cancelled = true;
|
|
70848
70883
|
controller.abort();
|
|
70849
|
-
|
|
70884
|
+
clearTimeout(timer);
|
|
70850
70885
|
};
|
|
70851
70886
|
}, [enabled, post]);
|
|
70852
70887
|
return {
|
|
70853
70888
|
ratioPercent,
|
|
70854
|
-
loading
|
|
70889
|
+
loading,
|
|
70890
|
+
unavailable
|
|
70855
70891
|
};
|
|
70856
70892
|
}
|
|
70857
70893
|
//#endregion
|
|
70858
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70894
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/truncateToWidth.js
|
|
70859
70895
|
/**
|
|
70860
70896
|
* Slice a string to at most `maxWidth` terminal cells, walking by code
|
|
70861
70897
|
* point so CJK wide characters never split mid-glyph. Assumes no ANSI in
|
|
@@ -70873,7 +70909,7 @@ function truncateToWidth(text, maxWidth) {
|
|
|
70873
70909
|
return out;
|
|
70874
70910
|
}
|
|
70875
70911
|
//#endregion
|
|
70876
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70912
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LogoV2.js
|
|
70877
70913
|
/** Main ChatCode CLI package version shown in the startup information panel. */
|
|
70878
70914
|
const VERSION = PRODUCT_VERSION;
|
|
70879
70915
|
const PRODUCT_LABEL = "chatcode-cli";
|
|
@@ -71005,7 +71041,7 @@ function InfoRow({ icon, label, value, labelWidth, rowWidth }) {
|
|
|
71005
71041
|
function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
|
|
71006
71042
|
const { columns, rows } = useTerminalSize();
|
|
71007
71043
|
const [driftLine] = import_react.useState(() => drift === void 0 ? upstreamDriftSummary() : drift);
|
|
71008
|
-
const { ratioPercent: fetchedAiRatioPercent } = useAiRatio(aiRatio === void 0);
|
|
71044
|
+
const { ratioPercent: fetchedAiRatioPercent, loading, unavailable } = useAiRatio(aiRatio === void 0);
|
|
71009
71045
|
const aiRatioPercent = aiRatio !== void 0 ? aiRatio : fetchedAiRatioPercent;
|
|
71010
71046
|
const expandedArt = whale && columns >= ART_MIN_COLUMNS;
|
|
71011
71047
|
const panelWidth = Math.max(1, Math.min(58, columns - 2));
|
|
@@ -71016,7 +71052,7 @@ function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
|
|
|
71016
71052
|
const modelValue = effort === void 0 ? model : `${model} · ${effort}`;
|
|
71017
71053
|
const supportLabel = getLang() === "zh" ? panelWidth >= 42 ? "钉钉支撑群" : "支撑群" : panelWidth >= 42 ? "DingTalk support" : "Support";
|
|
71018
71054
|
const aiRatioLabel = getLang() === "zh" ? "AI代码生成占比" : "AI code ratio";
|
|
71019
|
-
const aiRatioValue =
|
|
71055
|
+
const aiRatioValue = aiRatioPercent == null ? t(loading ? "logo-ai-ratio-loading" : unavailable ? "logo-ai-ratio-unavailable" : "logo-ai-ratio-empty") : `${aiRatioPercent.toFixed(1)}%${getLang() === "zh" ? "(当月)" : " (month)"}${aiRatio === void 0 && unavailable ? t("logo-ai-ratio-stale") : ""}`;
|
|
71020
71056
|
return (0, import_jsx_runtime.jsxs)(ThemedBox, {
|
|
71021
71057
|
flexDirection: "column",
|
|
71022
71058
|
alignItems: "center",
|
|
@@ -71069,7 +71105,7 @@ function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
|
|
|
71069
71105
|
labelWidth,
|
|
71070
71106
|
rowWidth: infoRowWidth
|
|
71071
71107
|
}),
|
|
71072
|
-
|
|
71108
|
+
aiRatio !== null && (0, import_jsx_runtime.jsx)(InfoRow, {
|
|
71073
71109
|
icon: "◆",
|
|
71074
71110
|
label: aiRatioLabel,
|
|
71075
71111
|
value: aiRatioValue,
|
|
@@ -71109,7 +71145,7 @@ function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
|
|
|
71109
71145
|
});
|
|
71110
71146
|
}
|
|
71111
71147
|
//#endregion
|
|
71112
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71148
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/MessageMetadata.js
|
|
71113
71149
|
/**
|
|
71114
71150
|
* Transcript-mode metadata row: `HH:MM · model`, right-aligned above the
|
|
71115
71151
|
* assistant text, mirroring Claude Code's MessageTimestamp + MessageModel,
|
|
@@ -71131,7 +71167,7 @@ function MessageMetadata({ timestamp, model }) {
|
|
|
71131
71167
|
});
|
|
71132
71168
|
}
|
|
71133
71169
|
//#endregion
|
|
71134
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71170
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/narration.js
|
|
71135
71171
|
/**
|
|
71136
71172
|
* Strip the `⏵` self-narration line from assistant text. The
|
|
71137
71173
|
* dsh-working-activity narrate contract puts exactly one `⏵` line at the
|
|
@@ -71247,7 +71283,7 @@ function ellipsize(line, maxWidth) {
|
|
|
71247
71283
|
return `${out}…`;
|
|
71248
71284
|
}
|
|
71249
71285
|
//#endregion
|
|
71250
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71286
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MessageList.js
|
|
71251
71287
|
/**
|
|
71252
71288
|
* Transcript rows rendered in the Claude Code visual language: user prompts
|
|
71253
71289
|
* on a grey bubble with a `❯` pointer, assistant text with a `●` bullet and
|
|
@@ -72060,7 +72096,7 @@ function LogoHeader({ model, effort, cwd, whale = true, skipIntro = false }) {
|
|
|
72060
72096
|
});
|
|
72061
72097
|
}
|
|
72062
72098
|
//#endregion
|
|
72063
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72099
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TimelineRail.js
|
|
72064
72100
|
/** ▴ / ▾ (U+25B4 / U+25BE — the small triangles; CP437-safe on ConHost too). */
|
|
72065
72101
|
const CHEVRON_UP = " ▴";
|
|
72066
72102
|
const CHEVRON_DOWN = " ▾";
|
|
@@ -72254,7 +72290,7 @@ function TimelineRail({ handle, turns, activeId, upId, downId, terminalWidth, ho
|
|
|
72254
72290
|
}) });
|
|
72255
72291
|
}
|
|
72256
72292
|
//#endregion
|
|
72257
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72293
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ScrollbarGutter.js
|
|
72258
72294
|
/** Thumb glyph across the 2-col gutter: solid, clearly positional —
|
|
72259
72295
|
* deliberately distinct from the timeline's ━━ active tick. */
|
|
72260
72296
|
const THUMB = "██";
|
|
@@ -72370,7 +72406,7 @@ function ScrollbarGutter({ handle, terminalWidth }) {
|
|
|
72370
72406
|
}) });
|
|
72371
72407
|
}
|
|
72372
72408
|
//#endregion
|
|
72373
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72409
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/OverlayAbove.js
|
|
72374
72410
|
/**
|
|
72375
72411
|
* 瞬态面板的浮层容器:absolute 定位 + bottom:'100%' 把面板底边钉在锚点
|
|
72376
72412
|
* (父元素)顶边,向上覆盖转录尾部行,自身**不占布局高度**。
|
|
@@ -72403,7 +72439,7 @@ function OverlayAbove({ children, maxHeight }) {
|
|
|
72403
72439
|
});
|
|
72404
72440
|
}
|
|
72405
72441
|
//#endregion
|
|
72406
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72442
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/motion.js
|
|
72407
72443
|
/**
|
|
72408
72444
|
* Trajectory motion — five verbs, one shared clock, one hard rule.
|
|
72409
72445
|
*
|
|
@@ -72528,7 +72564,7 @@ function alert(tick, startTick) {
|
|
|
72528
72564
|
return Math.floor(age / 2) % 2 === 0 ? 1 : 0;
|
|
72529
72565
|
}
|
|
72530
72566
|
//#endregion
|
|
72531
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72567
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/effortIgnition.js
|
|
72532
72568
|
/** 三幕时间轴(ms):扫光全长、字样启动(波至中段)、字样渐亮、渐隐起止。边框扫光与输入行字样徽标共用。 */
|
|
72533
72569
|
const IGNITION_TIMELINE = {
|
|
72534
72570
|
sweepMs: 1e3,
|
|
@@ -72676,7 +72712,7 @@ function ignitionLineColors(options) {
|
|
|
72676
72712
|
return colors;
|
|
72677
72713
|
}
|
|
72678
72714
|
//#endregion
|
|
72679
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72715
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortChargeGlyph.js
|
|
72680
72716
|
/**
|
|
72681
72717
|
* EffortChargeGlyph — 输入提示前缀 `❯ ` 的最高档强调与充能。
|
|
72682
72718
|
*
|
|
@@ -72732,7 +72768,7 @@ function EffortChargeGlyph({ effort, levels, working }) {
|
|
|
72732
72768
|
});
|
|
72733
72769
|
}
|
|
72734
72770
|
//#endregion
|
|
72735
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72771
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortInputBorder.js
|
|
72736
72772
|
/**
|
|
72737
72773
|
* EffortInputBorder — 输入框层上的三幕点焰叠加(对齐 Codex 的完整
|
|
72738
72774
|
* 语义:光扫过、档位字样浮现、整体渐隐)。
|
|
@@ -72867,7 +72903,7 @@ function EffortInputBorder({ effort, levels, columns, onLight, idleColor, topRig
|
|
|
72867
72903
|
});
|
|
72868
72904
|
}
|
|
72869
72905
|
//#endregion
|
|
72870
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72906
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortTierBadge.js
|
|
72871
72907
|
/**
|
|
72872
72908
|
* EffortTierBadge — 输入行尾的档位字样徽标:三幕点焰的第二幕载体
|
|
72873
72909
|
* (与 EffortInputBorder 的双框扫光同一时间轴、同一触发),切到最高
|
|
@@ -72950,7 +72986,7 @@ function EffortTierBadge({ effort, levels, onLight, columns, leadingColumns }) {
|
|
|
72950
72986
|
});
|
|
72951
72987
|
}
|
|
72952
72988
|
//#endregion
|
|
72953
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72989
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/clipboard.js
|
|
72954
72990
|
/**
|
|
72955
72991
|
* Cross-platform clipboard access for Ctrl+V paste. The TUI runs in raw
|
|
72956
72992
|
* mode, so the terminal never performs its own paste for Ctrl+V — the key
|
|
@@ -73088,7 +73124,7 @@ async function ensureImageDir() {
|
|
|
73088
73124
|
if (imageDir !== void 0) return imageDir;
|
|
73089
73125
|
let dir;
|
|
73090
73126
|
try {
|
|
73091
|
-
dir = await mkdtemp(join(tmpdir(), "
|
|
73127
|
+
dir = await mkdtemp(join(tmpdir(), "chatcode-cli-paste-"));
|
|
73092
73128
|
} catch {
|
|
73093
73129
|
return null;
|
|
73094
73130
|
}
|
|
@@ -73464,7 +73500,7 @@ function formatClipboardInsert(content) {
|
|
|
73464
73500
|
return content.text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
|
|
73465
73501
|
}
|
|
73466
73502
|
//#endregion
|
|
73467
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73503
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/externalEditor.js
|
|
73468
73504
|
/**
|
|
73469
73505
|
* External editor round-trip for the prompt input (issue #123): Ctrl+G dumps
|
|
73470
73506
|
* the current draft into a temp file, hands the terminal to `$VISUAL` /
|
|
@@ -73703,7 +73739,7 @@ async function editInExternalEditor(draft) {
|
|
|
73703
73739
|
if (argv === void 0) return { kind: "unavailable" };
|
|
73704
73740
|
let dir;
|
|
73705
73741
|
try {
|
|
73706
|
-
dir = await mkdtemp(join(tmpdir(), "
|
|
73742
|
+
dir = await mkdtemp(join(tmpdir(), "chatcode-cli-prompt-"));
|
|
73707
73743
|
const file = join(dir, "input.md");
|
|
73708
73744
|
await writeFile(file, draft, "utf8");
|
|
73709
73745
|
const outcome = await withEditorHandoff(argv, file, async (code) => {
|
|
@@ -73742,7 +73778,7 @@ async function editInExternalEditor(draft) {
|
|
|
73742
73778
|
}
|
|
73743
73779
|
}
|
|
73744
73780
|
//#endregion
|
|
73745
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73781
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptEditor.js
|
|
73746
73782
|
let editorNode = null;
|
|
73747
73783
|
const listeners = /* @__PURE__ */ new Set();
|
|
73748
73784
|
/** Publish (or withdraw, with null) the fullscreen editor subtree. */
|
|
@@ -73818,7 +73854,7 @@ function EditorButton({ label, hint, onClick, primary, accent }) {
|
|
|
73818
73854
|
});
|
|
73819
73855
|
}
|
|
73820
73856
|
//#endregion
|
|
73821
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73857
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/history.js
|
|
73822
73858
|
const HISTORY_DIR = DATA_DIR;
|
|
73823
73859
|
const HISTORY_FILE = join(HISTORY_DIR, "history.jsonl");
|
|
73824
73860
|
const HISTORY_LOCK = `${HISTORY_FILE}.lock`;
|
|
@@ -73952,7 +73988,7 @@ function historyEntryId(entry, index = 0) {
|
|
|
73952
73988
|
return createHash("sha1").update(`${entry.text}\0${entry.ts}\0${index}`).digest("hex").slice(0, 12);
|
|
73953
73989
|
}
|
|
73954
73990
|
//#endregion
|
|
73955
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73991
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SuggestionCard.js
|
|
73956
73992
|
/**
|
|
73957
73993
|
* `/` 命令菜单与 `@` 文件菜单共用的圆角卡片外壳(与输入框 EffortInputBorder
|
|
73958
73994
|
* 同款 ╭╮╰╯ 视觉语言):
|
|
@@ -74084,7 +74120,7 @@ function splitQueryMatch(name, query) {
|
|
|
74084
74120
|
return startsWith(0) ?? (lastSpace >= 0 ? startsWith(lastSpace + 1) : null) ?? startsWith(name.lastIndexOf("/") + 1);
|
|
74085
74121
|
}
|
|
74086
74122
|
//#endregion
|
|
74087
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
74123
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/CommandSuggestions.js
|
|
74088
74124
|
/**
|
|
74089
74125
|
* The slash-command suggestion overlay, mirroring Claude Code's
|
|
74090
74126
|
* `PromptInputFooterSuggestions.tsx` (command layout only) wrapped in the
|
|
@@ -74164,7 +74200,7 @@ function CommandSuggestions({ commands, selectedIndex, columns, query = "", acce
|
|
|
74164
74200
|
});
|
|
74165
74201
|
}
|
|
74166
74202
|
//#endregion
|
|
74167
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
74203
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/FileSuggestions.js
|
|
74168
74204
|
/**
|
|
74169
74205
|
* The `@` file-completion overlay in CC's suggestion style, wrapped in the
|
|
74170
74206
|
* shared rounded `SuggestionCard` (与 `/` 命令菜单同一视觉语言):
|
|
@@ -74263,7 +74299,7 @@ function FileSuggestions({ files, selectedIndex, columns, query = "", accent, on
|
|
|
74263
74299
|
});
|
|
74264
74300
|
}
|
|
74265
74301
|
//#endregion
|
|
74266
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
74302
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HelpMenu.js
|
|
74267
74303
|
/**
|
|
74268
74304
|
* The `?` help menu, mirroring Claude Code's `PromptInputHelpMenu.tsx`
|
|
74269
74305
|
* (three-column shortcut layout, trimmed to the keys dsh-tui actually binds).
|
|
@@ -74454,7 +74490,7 @@ function HelpCommandRow({ command, onPick }) {
|
|
|
74454
74490
|
});
|
|
74455
74491
|
}
|
|
74456
74492
|
//#endregion
|
|
74457
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
74493
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptInput.js
|
|
74458
74494
|
const HISTORY_LIMIT = 50;
|
|
74459
74495
|
/**
|
|
74460
74496
|
* Paste fold (CC-style collapse with a visible preview, no black box):
|
|
@@ -76734,7 +76770,7 @@ function wordSelectionAt(text, offset, lo, hi) {
|
|
|
76734
76770
|
};
|
|
76735
76771
|
}
|
|
76736
76772
|
//#endregion
|
|
76737
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76773
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/GoalTodoPanel.js
|
|
76738
76774
|
/** Maximum todo rows shown before the overflow line. */
|
|
76739
76775
|
const MAX_TODOS = 8;
|
|
76740
76776
|
const PHASE_LABEL = {
|
|
@@ -76980,7 +77016,7 @@ function GoalTodoPanel({ channel, collapsed = false, onToggle }) {
|
|
|
76980
77016
|
});
|
|
76981
77017
|
}
|
|
76982
77018
|
//#endregion
|
|
76983
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77019
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/AutoRecapRow.js
|
|
76984
77020
|
/**
|
|
76985
77021
|
* Auto-recap row (`dsh-tui.recapOnOpen` setting): a quiet, dim recap shown
|
|
76986
77022
|
* at the bottom of the transcript after an automatic summary on session
|
|
@@ -77060,7 +77096,7 @@ function summarizeLoadedContext(context) {
|
|
|
77060
77096
|
return parts.join(" · ");
|
|
77061
77097
|
}
|
|
77062
77098
|
//#endregion
|
|
77063
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77099
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LoadedContextPanel.js
|
|
77064
77100
|
/** One named entry (section or dynamic context) with its full text. */
|
|
77065
77101
|
function Entry({ entry }) {
|
|
77066
77102
|
return (0, import_jsx_runtime.jsxs)(ThemedBox, {
|
|
@@ -77197,7 +77233,7 @@ function LoadedContextPanel({ context, open, onToggle }) {
|
|
|
77197
77233
|
});
|
|
77198
77234
|
}
|
|
77199
77235
|
//#endregion
|
|
77200
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77236
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MoonPhaseSpinner.js
|
|
77201
77237
|
/**
|
|
77202
77238
|
* Terminal-safe construction cycle derived from the supplied China Unicom
|
|
77203
77239
|
* knot mark. Every frame is one display cell, unlike emoji on mixed terminals.
|
|
@@ -77229,7 +77265,7 @@ function UnicomKnotSpinner({ time }) {
|
|
|
77229
77265
|
});
|
|
77230
77266
|
}
|
|
77231
77267
|
//#endregion
|
|
77232
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77268
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityLine.js
|
|
77233
77269
|
/**
|
|
77234
77270
|
* Context-pressure percentage (0–100) from the last usage snapshot, or
|
|
77235
77271
|
* undefined when unknown — shared by the spinner-line and status-line
|
|
@@ -77301,7 +77337,7 @@ function ActivityLine({ activity, activityFrames, warnPct, warnDanger, suffix })
|
|
|
77301
77337
|
});
|
|
77302
77338
|
}
|
|
77303
77339
|
//#endregion
|
|
77304
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77340
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/guards.js
|
|
77305
77341
|
/**
|
|
77306
77342
|
* Structural guards for the session events the trajectory projection reads.
|
|
77307
77343
|
*
|
|
@@ -77525,7 +77561,7 @@ function readTodos(data) {
|
|
|
77525
77561
|
};
|
|
77526
77562
|
}
|
|
77527
77563
|
//#endregion
|
|
77528
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77564
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/types.js
|
|
77529
77565
|
/**
|
|
77530
77566
|
* Trajectory projection — the data contract shared by the adapter-side fold
|
|
77531
77567
|
* and the UI-side scene (issue #80 evolution).
|
|
@@ -77592,7 +77628,7 @@ function previewText(raw, limit) {
|
|
|
77592
77628
|
return `${flat.slice(0, limit)}…`;
|
|
77593
77629
|
}
|
|
77594
77630
|
//#endregion
|
|
77595
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77631
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/projection.js
|
|
77596
77632
|
/**
|
|
77597
77633
|
* Trajectory projection — folding the session event log into ledger nodes.
|
|
77598
77634
|
*
|
|
@@ -78171,7 +78207,7 @@ function extendTrajectory(previous, events) {
|
|
|
78171
78207
|
};
|
|
78172
78208
|
}
|
|
78173
78209
|
//#endregion
|
|
78174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78210
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/aggregate.js
|
|
78175
78211
|
/**
|
|
78176
78212
|
* Trajectory aggregate — the hotspot view's data and the session totals.
|
|
78177
78213
|
*
|
|
@@ -78392,7 +78428,7 @@ function modelTiming(timing) {
|
|
|
78392
78428
|
};
|
|
78393
78429
|
}
|
|
78394
78430
|
//#endregion
|
|
78395
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78431
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/inspect.js
|
|
78396
78432
|
/**
|
|
78397
78433
|
* Inspector detail — full content, resolved on demand.
|
|
78398
78434
|
*
|
|
@@ -78552,7 +78588,7 @@ function inspectNode(node, events) {
|
|
|
78552
78588
|
};
|
|
78553
78589
|
}
|
|
78554
78590
|
//#endregion
|
|
78555
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78591
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/wave.js
|
|
78556
78592
|
/**
|
|
78557
78593
|
* Wave band projection — the whole session compressed onto one row of glyphs.
|
|
78558
78594
|
*
|
|
@@ -78725,7 +78761,7 @@ function columnOfIndex(band, ledgerIndex) {
|
|
|
78725
78761
|
return 0;
|
|
78726
78762
|
}
|
|
78727
78763
|
//#endregion
|
|
78728
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78764
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/MiniWake.js
|
|
78729
78765
|
/**
|
|
78730
78766
|
* The mini wake — the whole session as a dozen glyphs in the status line.
|
|
78731
78767
|
*
|
|
@@ -78828,7 +78864,7 @@ function toHex$1(colour) {
|
|
|
78828
78864
|
return `#${hex(parsed.r)}${hex(parsed.g)}${hex(parsed.b)}`;
|
|
78829
78865
|
}
|
|
78830
78866
|
//#endregion
|
|
78831
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78867
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusMetrics.js
|
|
78832
78868
|
/**
|
|
78833
78869
|
* Status-line metric renderers, ported from two pi extensions:
|
|
78834
78870
|
* - `pi-nano-context`: segmented context progress bar (morandi pastel
|
|
@@ -79104,7 +79140,7 @@ function tpsStats(samples, nowMs) {
|
|
|
79104
79140
|
};
|
|
79105
79141
|
}
|
|
79106
79142
|
//#endregion
|
|
79107
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79143
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ContextBarView.js
|
|
79108
79144
|
/** Free-segment colors, mirroring StatusMetrics' dark-theme defaults. */
|
|
79109
79145
|
const FREE_FILL = "#E8E8E8";
|
|
79110
79146
|
const FREE_TEXT = "#4A4A4A";
|
|
@@ -79171,7 +79207,7 @@ function ContextBarView({ segments, usedTokens, contextWindow, width, colors, on
|
|
|
79171
79207
|
});
|
|
79172
79208
|
}
|
|
79173
79209
|
//#endregion
|
|
79174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79210
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeTokenTrend.js
|
|
79175
79211
|
/**
|
|
79176
79212
|
* ChatCode 今日总 Token 消耗量查询(移植自 chatcode-cli 的 chatCodeTokenTrend)。
|
|
79177
79213
|
*
|
|
@@ -79246,7 +79282,7 @@ async function fetchTodayTotalTokens(post, signal) {
|
|
|
79246
79282
|
}
|
|
79247
79283
|
}
|
|
79248
79284
|
//#endregion
|
|
79249
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79285
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useTodayTotalTokens.js
|
|
79250
79286
|
/**
|
|
79251
79287
|
* 「今日总Token消耗」数据源 Hook(移植自 chatcode-cli 的 useTokenDashboard)。
|
|
79252
79288
|
*
|
|
@@ -79278,7 +79314,7 @@ function useTodayTotalTokens(enabled = true) {
|
|
|
79278
79314
|
return { totalTokens };
|
|
79279
79315
|
}
|
|
79280
79316
|
//#endregion
|
|
79281
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79317
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TokenDashboard.js
|
|
79282
79318
|
const BAR_WIDTH = 14;
|
|
79283
79319
|
/** Yuanjing-compatible percentage label centered inside a fixed-width bar. */
|
|
79284
79320
|
function LabeledBar({ ratio, percent }) {
|
|
@@ -79354,7 +79390,7 @@ function TokenDashboard({ todayTokens, usedTokens, contextWindow, compact = fals
|
|
|
79354
79390
|
});
|
|
79355
79391
|
}
|
|
79356
79392
|
//#endregion
|
|
79357
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79393
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusLine.js
|
|
79358
79394
|
/** Stable fallback for stubbed channels: verify/repro harnesses render the
|
|
79359
79395
|
* real Chat with partial channel literals that predate the jobs field. */
|
|
79360
79396
|
const NO_BACKGROUND_JOBS = [];
|
|
@@ -80265,7 +80301,7 @@ const fallbackSymbols = {
|
|
|
80265
80301
|
const figures = isUnicodeSupported() ? mainSymbols : fallbackSymbols;
|
|
80266
80302
|
Object.entries(specialMainSymbols);
|
|
80267
80303
|
//#endregion
|
|
80268
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80304
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Byline.js
|
|
80269
80305
|
/**
|
|
80270
80306
|
* Joins children with a middot separator (" · ") for inline metadata display
|
|
80271
80307
|
* (in the Claude Code visual language). Automatically filters out
|
|
@@ -80281,7 +80317,7 @@ function Byline({ children }) {
|
|
|
80281
80317
|
}), child] }, (0, import_react.isValidElement)(child) ? child.key ?? index : index)) });
|
|
80282
80318
|
}
|
|
80283
80319
|
//#endregion
|
|
80284
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80320
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/GlimmerMessage.js
|
|
80285
80321
|
const ERROR_RED$1 = {
|
|
80286
80322
|
r: 171,
|
|
80287
80323
|
g: 43,
|
|
@@ -80371,7 +80407,7 @@ function GlimmerMessage({ message, mode, messageColor, glimmerIndex, flashOpacit
|
|
|
80371
80407
|
})] });
|
|
80372
80408
|
}
|
|
80373
80409
|
//#endregion
|
|
80374
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80410
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerGlyph.js
|
|
80375
80411
|
const DEFAULT_CHARACTERS = getDefaultCharacters();
|
|
80376
80412
|
const SPINNER_FRAMES$1 = [...DEFAULT_CHARACTERS, ...[...DEFAULT_CHARACTERS].reverse()];
|
|
80377
80413
|
const REDUCED_MOTION_DOT = "●";
|
|
@@ -80432,7 +80468,7 @@ function SpinnerGlyph({ frame, messageColor, stalledIntensity = 0, reducedMotion
|
|
|
80432
80468
|
});
|
|
80433
80469
|
}
|
|
80434
80470
|
//#endregion
|
|
80435
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80471
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/useStalledAnimation.js
|
|
80436
80472
|
/**
|
|
80437
80473
|
* Tracks the transition to red when tokens stop flowing (mirroring Claude Code's `Spinner/useStalledAnimation.ts`). Driven by the parent's animation
|
|
80438
80474
|
* clock time instead of independent intervals, so it slows down when the
|
|
@@ -80489,7 +80525,7 @@ function useStalledAnimation(time, currentResponseLength, hasActiveTools = false
|
|
|
80489
80525
|
};
|
|
80490
80526
|
}
|
|
80491
80527
|
//#endregion
|
|
80492
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80528
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerAnimationRow.js
|
|
80493
80529
|
const SEP_WIDTH = stringWidth$1(" · ");
|
|
80494
80530
|
const THINKING_BARE_WIDTH = stringWidth$1("thinking");
|
|
80495
80531
|
const SHOW_TOKENS_AFTER_MS = 3e4;
|
|
@@ -80656,7 +80692,7 @@ function SpinnerModeGlyph({ mode }) {
|
|
|
80656
80692
|
}
|
|
80657
80693
|
}
|
|
80658
80694
|
//#endregion
|
|
80659
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80695
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkingSpinner.js
|
|
80660
80696
|
/**
|
|
80661
80697
|
* The working spinner block shown between the transcript and the prompt
|
|
80662
80698
|
* input while a turn is in flight. Mirrors Claude Code's `Spinner.tsx`
|
|
@@ -80726,7 +80762,7 @@ function useThinkingStatus(isThinking) {
|
|
|
80726
80762
|
return thinkingStatus;
|
|
80727
80763
|
}
|
|
80728
80764
|
//#endregion
|
|
80729
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80765
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ModelPicker.js
|
|
80730
80766
|
/**
|
|
80731
80767
|
* Model picker in the CC ModelPicker style: a permission-colored Pane with
|
|
80732
80768
|
* the rows as Select entries (❯ focus pointer, ✓ on the active row,
|
|
@@ -80786,7 +80822,7 @@ function ModelPicker(props) {
|
|
|
80786
80822
|
});
|
|
80787
80823
|
}
|
|
80788
80824
|
//#endregion
|
|
80789
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80825
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PluginSceneBoundary.js
|
|
80790
80826
|
/**
|
|
80791
80827
|
* Error boundary for plugin scenes (dsh-tui-scenes). A scene component is
|
|
80792
80828
|
* third-party code rendered inside Chat's tree: without a boundary a render
|
|
@@ -80812,7 +80848,7 @@ var PluginSceneBoundary = class extends import_react.Component {
|
|
|
80812
80848
|
}
|
|
80813
80849
|
};
|
|
80814
80850
|
//#endregion
|
|
80815
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80851
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/LoadingState.js
|
|
80816
80852
|
const SPINNER_FRAMES = [...getDefaultCharacters(), ...[...getDefaultCharacters()].reverse()];
|
|
80817
80853
|
/**
|
|
80818
80854
|
* A spinner with a loading message for async operations, mirroring Claude Code's design-system/LoadingState.tsx (using the small animated glyph).
|
|
@@ -80843,7 +80879,7 @@ function LoadingState({ message, bold = false, dimColor = false, subtitle }) {
|
|
|
80843
80879
|
});
|
|
80844
80880
|
}
|
|
80845
80881
|
//#endregion
|
|
80846
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80882
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SkillsPicker.js
|
|
80847
80883
|
/** 来源桶 → 本地化标签(未知桶原样显示,SkillSource 对自定义桶开放)。 */
|
|
80848
80884
|
function sourceLabel(source) {
|
|
80849
80885
|
switch (source) {
|
|
@@ -80921,7 +80957,7 @@ function SkillsPickerLoading() {
|
|
|
80921
80957
|
});
|
|
80922
80958
|
}
|
|
80923
80959
|
//#endregion
|
|
80924
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80960
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SearchBox.js
|
|
80925
80961
|
/**
|
|
80926
80962
|
* Window a single-line query around the caret so the visible slice fits
|
|
80927
80963
|
* `avail` display cells (CJK display width, code-point safe — `[...s]`
|
|
@@ -81059,7 +81095,7 @@ function SearchBox({ query, placeholder = "Search…", isFocused, isTerminalFocu
|
|
|
81059
81095
|
});
|
|
81060
81096
|
}
|
|
81061
81097
|
//#endregion
|
|
81062
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81098
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionListRow.js
|
|
81063
81099
|
/**
|
|
81064
81100
|
* One session in the browser's list: a title line and a metadata line.
|
|
81065
81101
|
*
|
|
@@ -81140,7 +81176,7 @@ function SessionListRow({ session, width, depth, focused, pinned, now, onClick,
|
|
|
81140
81176
|
});
|
|
81141
81177
|
}
|
|
81142
81178
|
//#endregion
|
|
81143
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81179
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionPreview.js
|
|
81144
81180
|
/** Role marker and colour for a preview entry. */
|
|
81145
81181
|
const ROLE = {
|
|
81146
81182
|
user: {
|
|
@@ -81231,7 +81267,7 @@ function SessionPreview({ session, entries, loading, width, height, home, now })
|
|
|
81231
81267
|
});
|
|
81232
81268
|
}
|
|
81233
81269
|
//#endregion
|
|
81234
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81270
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/WorkspaceListRow.js
|
|
81235
81271
|
/** One two-line working-directory choice in the /resume browser. */
|
|
81236
81272
|
function WorkspaceListRow({ workspace, all, totalProjects, totalSessions, width, focused, selected, home, now, onClick }) {
|
|
81237
81273
|
const [hovered, setHovered] = (0, import_react.useState)(false);
|
|
@@ -81276,7 +81312,7 @@ function WorkspaceListRow({ workspace, all, totalProjects, totalSessions, width,
|
|
|
81276
81312
|
});
|
|
81277
81313
|
}
|
|
81278
81314
|
//#endregion
|
|
81279
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81315
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/view.js
|
|
81280
81316
|
/** The browser's default view: this project, conversations only. */
|
|
81281
81317
|
const DEFAULT_FILTERS = {
|
|
81282
81318
|
query: "",
|
|
@@ -81565,7 +81601,7 @@ function windowEnd(rows, top, budget) {
|
|
|
81565
81601
|
return at;
|
|
81566
81602
|
}
|
|
81567
81603
|
//#endregion
|
|
81568
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81604
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionPins.js
|
|
81569
81605
|
/**
|
|
81570
81606
|
* Pinned sessions for the `/resume` browser, kept at
|
|
81571
81607
|
* `~/.chatcode-cli/tui/session-pins.json` (a JSON array of session ids) so the pins
|
|
@@ -81714,7 +81750,7 @@ function setSessionPinned(id, pinned, dir = DATA_DIR) {
|
|
|
81714
81750
|
}
|
|
81715
81751
|
}
|
|
81716
81752
|
//#endregion
|
|
81717
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81753
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionBrowser.js
|
|
81718
81754
|
/**
|
|
81719
81755
|
* Rows the layout cannot do without: the header, the four-row scope/search
|
|
81720
81756
|
* card, the notice slot, and the hints. Everything else yields before these.
|
|
@@ -82600,7 +82636,7 @@ function SessionBrowser({ channel, home, sameProject, onClose }) {
|
|
|
82600
82636
|
});
|
|
82601
82637
|
}
|
|
82602
82638
|
//#endregion
|
|
82603
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
82639
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionTree.js
|
|
82604
82640
|
/** Local HH:MM (or MM/DD HH:MM when older than this year). */
|
|
82605
82641
|
function formatTime(at, now) {
|
|
82606
82642
|
const date = new Date(at);
|
|
@@ -83356,7 +83392,7 @@ function PreviewPane({ entry, meta, width, height, liveSessionId, now, compact }
|
|
|
83356
83392
|
});
|
|
83357
83393
|
}
|
|
83358
83394
|
//#endregion
|
|
83359
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83395
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Settings.js
|
|
83360
83396
|
/** Pick the provider-owned translation for the active language. */
|
|
83361
83397
|
function pick(text, descriptions) {
|
|
83362
83398
|
return descriptions?.[getLang()] ?? text;
|
|
@@ -83944,7 +83980,7 @@ function Settings({ channel, onClose, initialGroup }) {
|
|
|
83944
83980
|
lines: 1,
|
|
83945
83981
|
node: (0, import_jsx_runtime.jsx)(CardTop, {
|
|
83946
83982
|
title: pick(section.title, section.descriptions),
|
|
83947
|
-
subtitle: section.ns,
|
|
83983
|
+
subtitle: section.ns === "dsh-tui" ? void 0 : section.ns,
|
|
83948
83984
|
badges: sectionBadges(section),
|
|
83949
83985
|
columns
|
|
83950
83986
|
})
|
|
@@ -84106,7 +84142,7 @@ function Settings({ channel, onClose, initialGroup }) {
|
|
|
84106
84142
|
});
|
|
84107
84143
|
}
|
|
84108
84144
|
//#endregion
|
|
84109
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84145
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspacePicker.js
|
|
84110
84146
|
const WINDOW$1 = 8;
|
|
84111
84147
|
/** `/workspace` target picker contributed by local and optional providers. */
|
|
84112
84148
|
function WorkspacePicker({ targets, focusIndex, currentCwd, onPick }) {
|
|
@@ -84144,7 +84180,7 @@ function WorkspacePicker({ targets, focusIndex, currentCwd, onPick }) {
|
|
|
84144
84180
|
});
|
|
84145
84181
|
}
|
|
84146
84182
|
//#endregion
|
|
84147
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84183
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Select.js
|
|
84148
84184
|
/**
|
|
84149
84185
|
* A single-choice select list in the CC CustomSelect style (ported visual:
|
|
84150
84186
|
* ListItem rows with ❯ focus pointer, ✓ selected checkmark, descriptions,
|
|
@@ -84171,7 +84207,7 @@ function Select({ options, focusIndex, selectedValue, visibleOptionCount = 5, on
|
|
|
84171
84207
|
});
|
|
84172
84208
|
}
|
|
84173
84209
|
//#endregion
|
|
84174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84210
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceMenuPicker.js
|
|
84175
84211
|
/**
|
|
84176
84212
|
* Bare `/workspace` action menu: the built-in subcommands (resume / rename /
|
|
84177
84213
|
* open) plus any dynamically registered workspace extensions. Enter runs the
|
|
@@ -84212,7 +84248,7 @@ function WorkspaceMenuPicker({ options, focusIndex, onPick }) {
|
|
|
84212
84248
|
});
|
|
84213
84249
|
}
|
|
84214
84250
|
//#endregion
|
|
84215
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84251
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceFlowPicker.js
|
|
84216
84252
|
const WINDOW = 8;
|
|
84217
84253
|
/** Generic nested choice surface returned by a workspace provider command. */
|
|
84218
84254
|
function WorkspaceFlowPicker({ title, choices, focusIndex, busy = false, input = null, onPick }) {
|
|
@@ -84270,7 +84306,7 @@ function WorkspaceFlowPicker({ title, choices, focusIndex, busy = false, input =
|
|
|
84270
84306
|
});
|
|
84271
84307
|
}
|
|
84272
84308
|
//#endregion
|
|
84273
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84309
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityPicker.js
|
|
84274
84310
|
/**
|
|
84275
84311
|
* Working-activity indicator picker in the CC ModelPicker style (ported
|
|
84276
84312
|
* from the pi extension's `/activity` interactive select): a
|
|
@@ -84312,7 +84348,7 @@ function ActivityPicker({ focusIndex, currentPreset, onPick }) {
|
|
|
84312
84348
|
});
|
|
84313
84349
|
}
|
|
84314
84350
|
//#endregion
|
|
84315
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84351
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ColorPicker.js
|
|
84316
84352
|
/**
|
|
84317
84353
|
* Session accent color picker (bare `/color`): a permission-colored Pane
|
|
84318
84354
|
* listing the whole palette with a colored swatch per row, `❯` focus
|
|
@@ -84356,7 +84392,7 @@ function ColorPicker({ focusIndex, currentColor, onPick }) {
|
|
|
84356
84392
|
});
|
|
84357
84393
|
}
|
|
84358
84394
|
//#endregion
|
|
84359
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84395
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortSlider.js
|
|
84360
84396
|
/**
|
|
84361
84397
|
* Reasoning-effort slider (`/effort`): a rheostat row of the live route's
|
|
84362
84398
|
* adapter-owned levels in adapter order, ←/→ moving focus (each move applies
|
|
@@ -84415,7 +84451,7 @@ function EffortSlider({ options, focusIndex, currentId, onPick }) {
|
|
|
84415
84451
|
});
|
|
84416
84452
|
}
|
|
84417
84453
|
//#endregion
|
|
84418
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84454
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PresetPicker.js
|
|
84419
84455
|
/**
|
|
84420
84456
|
* Agent-preset picker (issue #8) in the CC ModelPicker style — same chrome
|
|
84421
84457
|
* as the ActivityPicker: a permission-colored Pane listing every roster
|
|
@@ -84459,7 +84495,7 @@ function PresetPicker({ presets, focusIndex, currentPreset, onPick }) {
|
|
|
84459
84495
|
});
|
|
84460
84496
|
}
|
|
84461
84497
|
//#endregion
|
|
84462
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84498
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PermissionsPicker.js
|
|
84463
84499
|
/**
|
|
84464
84500
|
* `/permission` sandbox-preset picker. The command itself is registered by
|
|
84465
84501
|
* the harness side (dsh-sandbox-policy / dsh-base permission-presets row);
|
|
@@ -84506,7 +84542,7 @@ function PermissionsPicker({ options, focusIndex, currentValue, cwd, onPick }) {
|
|
|
84506
84542
|
});
|
|
84507
84543
|
}
|
|
84508
84544
|
//#endregion
|
|
84509
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84545
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PlanPicker.js
|
|
84510
84546
|
/**
|
|
84511
84547
|
* `/plan` on/off picker. The command itself is registered by dsh-plan-mode
|
|
84512
84548
|
* on the harness side; bare `/plan` opens this picker (with the current
|
|
@@ -84551,7 +84587,7 @@ function PlanPicker({ focusIndex, currentOn, onPick }) {
|
|
|
84551
84587
|
});
|
|
84552
84588
|
}
|
|
84553
84589
|
//#endregion
|
|
84554
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84590
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LangPicker.js
|
|
84555
84591
|
/**
|
|
84556
84592
|
* `/lang` en/zh picker: bare `/lang` opens this picker (the current language
|
|
84557
84593
|
* marked) and Enter applies the choice through the same path as `/lang <id>`.
|
|
@@ -84590,7 +84626,7 @@ function LangPicker({ focusIndex, currentLang, onPick }) {
|
|
|
84590
84626
|
});
|
|
84591
84627
|
}
|
|
84592
84628
|
//#endregion
|
|
84593
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84629
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThemePicker.js
|
|
84594
84630
|
/** One double-block swatch character per preview key, in a row. */
|
|
84595
84631
|
const SWATCH = "██";
|
|
84596
84632
|
/** Theme keys previewed in the picker, chosen for visual contrast. */
|
|
@@ -84676,7 +84712,7 @@ function ThemePicker({ focusIndex, currentTheme, themeHost, onPick }) {
|
|
|
84676
84712
|
});
|
|
84677
84713
|
}
|
|
84678
84714
|
//#endregion
|
|
84679
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84715
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThinkingToggle.js
|
|
84680
84716
|
/**
|
|
84681
84717
|
* The `/thinking` display dialog: a permission-colored Pane with a bold
|
|
84682
84718
|
* title, the Shown/Hidden select, and the Enter/Esc hint line.
|
|
@@ -84725,7 +84761,7 @@ function ThinkingToggle({ currentValue, focusIndex, onPick }) {
|
|
|
84725
84761
|
});
|
|
84726
84762
|
}
|
|
84727
84763
|
//#endregion
|
|
84728
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84764
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HistorySearchDialog.js
|
|
84729
84765
|
/**
|
|
84730
84766
|
* The ctrl+r history search dialog, in the shape of Claude Code's
|
|
84731
84767
|
* HistorySearchDialog/FuzzyPicker: a permission-colored Pane with a bold
|
|
@@ -84788,7 +84824,7 @@ function formatRelativeAge(ts) {
|
|
|
84788
84824
|
return t("time-days-ago", { n: Math.floor(elapsed / 864e5) });
|
|
84789
84825
|
}
|
|
84790
84826
|
//#endregion
|
|
84791
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84827
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RewindPicker.js
|
|
84792
84828
|
/**
|
|
84793
84829
|
* Double-Esc rewind picker (CC's "Double-tap esc to rewind the code and/or
|
|
84794
84830
|
* conversation to a previous point in time"): lists the user's past messages
|
|
@@ -84925,7 +84961,7 @@ function preview(text) {
|
|
|
84925
84961
|
return flat.length <= 80 ? flat : `${flat.slice(0, 80)}…`;
|
|
84926
84962
|
}
|
|
84927
84963
|
//#endregion
|
|
84928
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84964
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/BtwPanel.js
|
|
84929
84965
|
/**
|
|
84930
84966
|
* /btw side-question panel (CC's btw.tsx, inline-pane form like the local
|
|
84931
84967
|
* pickers): title line with the question, a scrollable answer body (error /
|
|
@@ -85009,7 +85045,7 @@ function BtwPanel({ question, answer, error, streaming, onClose, onCopy }) {
|
|
|
85009
85045
|
});
|
|
85010
85046
|
}
|
|
85011
85047
|
//#endregion
|
|
85012
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85048
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ReleaseNotesPanel.js
|
|
85013
85049
|
function ReleaseNotesPanel({ release, onClose }) {
|
|
85014
85050
|
const scrollRef = import_react.useRef(null);
|
|
85015
85051
|
const { rows } = useTerminalSize();
|
|
@@ -85054,7 +85090,7 @@ function ReleaseNotesPanel({ release, onClose }) {
|
|
|
85054
85090
|
});
|
|
85055
85091
|
}
|
|
85056
85092
|
//#endregion
|
|
85057
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85093
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RecapPanel.js
|
|
85058
85094
|
/**
|
|
85059
85095
|
* `/recap` panel (pi-recap semantics), in the picker/dialog visual
|
|
85060
85096
|
* language: a permission-colored Pane with a title bar (会话回顾), a
|
|
@@ -85175,7 +85211,7 @@ function RecapPanel({ summary, title, error, streaming, titleApplied, onClose, o
|
|
|
85175
85211
|
});
|
|
85176
85212
|
}
|
|
85177
85213
|
//#endregion
|
|
85178
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85214
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/tips.js
|
|
85179
85215
|
/**
|
|
85180
85216
|
* 精简 Tips 池 —— 启动首屏轮换(LogoV2)与 `/tips` 命令面板共用。
|
|
85181
85217
|
*
|
|
@@ -85889,7 +85925,7 @@ const TIPS = [
|
|
|
85889
85925
|
}
|
|
85890
85926
|
];
|
|
85891
85927
|
//#endregion
|
|
85892
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85928
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TipsPanel.js
|
|
85893
85929
|
const GROUP_ORDER = [
|
|
85894
85930
|
"keys",
|
|
85895
85931
|
"commands",
|
|
@@ -85968,7 +86004,7 @@ function TipsPanel({ onClose }) {
|
|
|
85968
86004
|
});
|
|
85969
86005
|
}
|
|
85970
86006
|
//#endregion
|
|
85971
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86007
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentCard.js
|
|
85972
86008
|
function formatDuration$1(ms) {
|
|
85973
86009
|
const seconds = Math.floor(ms / 1e3);
|
|
85974
86010
|
return seconds < 60 ? `${seconds}s` : `${Math.floor(seconds / 60)}m${seconds % 60}s`;
|
|
@@ -86023,7 +86059,7 @@ function SubagentCard({ subagent, focused, onClick }) {
|
|
|
86023
86059
|
});
|
|
86024
86060
|
}
|
|
86025
86061
|
//#endregion
|
|
86026
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86062
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDashboard.js
|
|
86027
86063
|
/** 可点击 ✕ 退出按钮:整屏/浮层场景的鼠标退出通道(Esc 等价)。 */
|
|
86028
86064
|
function ExitButton({ onClick }) {
|
|
86029
86065
|
const [hovered, setHovered] = import_react.useState(false);
|
|
@@ -86171,7 +86207,7 @@ function SubagentDashboard({ subagents, onClose, onSelect }) {
|
|
|
86171
86207
|
});
|
|
86172
86208
|
}
|
|
86173
86209
|
//#endregion
|
|
86174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86210
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/JobsPanel.js
|
|
86175
86211
|
function statusInfo(status) {
|
|
86176
86212
|
const minimal = isMinimalMode();
|
|
86177
86213
|
switch (status) {
|
|
@@ -86459,7 +86495,7 @@ function JobsPanel({ jobs, onClose, onKill }) {
|
|
|
86459
86495
|
});
|
|
86460
86496
|
}
|
|
86461
86497
|
//#endregion
|
|
86462
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86498
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDetailScene.js
|
|
86463
86499
|
function formatDuration(ms) {
|
|
86464
86500
|
if (ms < 1e3) return `${ms}ms`;
|
|
86465
86501
|
if (ms < 6e4) return `${(ms / 1e3).toFixed(1)}s`;
|
|
@@ -86917,7 +86953,7 @@ function FileActionsPanel({ path, isDir, focusIndex, onPick }) {
|
|
|
86917
86953
|
});
|
|
86918
86954
|
}
|
|
86919
86955
|
//#endregion
|
|
86920
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86956
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ProductivityPickers.js
|
|
86921
86957
|
function oneLine(text, max = 70) {
|
|
86922
86958
|
const compact = text.replace(/\s+/gu, " ").trim();
|
|
86923
86959
|
return compact.length > max ? `${compact.slice(0, max - 1)}…` : compact;
|
|
@@ -87009,7 +87045,7 @@ function DiffLoading() {
|
|
|
87009
87045
|
});
|
|
87010
87046
|
}
|
|
87011
87047
|
//#endregion
|
|
87012
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87048
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/productivityCommands.js
|
|
87013
87049
|
/** `/copy` argument is a one-based reply age; omission selects the latest. */
|
|
87014
87050
|
function parseCopyIndex(raw, count) {
|
|
87015
87051
|
const value = raw.trim();
|
|
@@ -87039,7 +87075,7 @@ function copyChoiceText(candidate, index) {
|
|
|
87039
87075
|
}
|
|
87040
87076
|
/** Persist a private fallback when terminal clipboard integration is unavailable. */
|
|
87041
87077
|
async function writeCopyFallback(text) {
|
|
87042
|
-
const file = join(await mkdtemp(join(tmpdir(), "
|
|
87078
|
+
const file = join(await mkdtemp(join(tmpdir(), "chatcode-cli-copy-")), "response.txt");
|
|
87043
87079
|
await writeFile(file, text, {
|
|
87044
87080
|
encoding: "utf8",
|
|
87045
87081
|
mode: 384
|
|
@@ -87062,7 +87098,7 @@ function gitDiffLines(report, labels) {
|
|
|
87062
87098
|
];
|
|
87063
87099
|
}
|
|
87064
87100
|
//#endregion
|
|
87065
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87101
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sessionOrganizationCommands.js
|
|
87066
87102
|
/** Compact duration suitable for a terminal report row. */
|
|
87067
87103
|
function formatStatsDuration(ms) {
|
|
87068
87104
|
if (ms < 1e3) return `${Math.round(ms)} ms`;
|
|
@@ -87108,7 +87144,7 @@ function parsePresetManagement(input) {
|
|
|
87108
87144
|
return { kind: "invalid" };
|
|
87109
87145
|
}
|
|
87110
87146
|
//#endregion
|
|
87111
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87147
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workflowCommands.js
|
|
87112
87148
|
const ALIASES = {
|
|
87113
87149
|
map: "inspect",
|
|
87114
87150
|
fixit: "repair",
|
|
@@ -87163,7 +87199,7 @@ function buildWorkflowCommand(name, rawInput = "") {
|
|
|
87163
87199
|
};
|
|
87164
87200
|
}
|
|
87165
87201
|
//#endregion
|
|
87166
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87202
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/urlGuard.js
|
|
87167
87203
|
const EXTERNAL_SCHEME = /^https?:\/\//i;
|
|
87168
87204
|
/**
|
|
87169
87205
|
* Classify a clicked link target. Mirrors the previous handleOpenTarget
|
|
@@ -87188,7 +87224,7 @@ function classifyOpenTarget(url) {
|
|
|
87188
87224
|
return { kind: "rejected" };
|
|
87189
87225
|
}
|
|
87190
87226
|
//#endregion
|
|
87191
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87227
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useExternalVersion.js
|
|
87192
87228
|
/**
|
|
87193
87229
|
* Subscribe to an external store's version counter at DEFAULT lane.
|
|
87194
87230
|
*
|
|
@@ -87237,7 +87273,7 @@ function useExternalVersion(subscribe, getVersion, enabled = true) {
|
|
|
87237
87273
|
return version;
|
|
87238
87274
|
}
|
|
87239
87275
|
//#endregion
|
|
87240
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87276
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/WaveBand.js
|
|
87241
87277
|
/**
|
|
87242
87278
|
* The wake — the whole session drawn as one row of glyphs.
|
|
87243
87279
|
*
|
|
@@ -87374,7 +87410,7 @@ function toHex(colour) {
|
|
|
87374
87410
|
return `#${hex(parsed.r)}${hex(parsed.g)}${hex(parsed.b)}`;
|
|
87375
87411
|
}
|
|
87376
87412
|
//#endregion
|
|
87377
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87413
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Ledger.js
|
|
87378
87414
|
/**
|
|
87379
87415
|
* The ledger — one line per event, columns aligned across every row.
|
|
87380
87416
|
*
|
|
@@ -87620,7 +87656,7 @@ function Ledger({ rows, start, height, cursor, width, tick, arrivalTick, arrival
|
|
|
87620
87656
|
});
|
|
87621
87657
|
}
|
|
87622
87658
|
//#endregion
|
|
87623
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87659
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Inspector.js
|
|
87624
87660
|
/**
|
|
87625
87661
|
* The inspector — full detail for the focused row, in a fixed-height slot.
|
|
87626
87662
|
*
|
|
@@ -87726,7 +87762,7 @@ function Inspector({ node, detail, height, width, expanded, scroll }) {
|
|
|
87726
87762
|
});
|
|
87727
87763
|
}
|
|
87728
87764
|
//#endregion
|
|
87729
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87765
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/HotspotView.js
|
|
87730
87766
|
/**
|
|
87731
87767
|
* The hotspot view — the session ranked by cost instead of ordered by time.
|
|
87732
87768
|
*
|
|
@@ -87889,7 +87925,7 @@ function HotspotView({ agg, sort, width, height, cursor, tick, switchTick, onRow
|
|
|
87889
87925
|
});
|
|
87890
87926
|
}
|
|
87891
87927
|
//#endregion
|
|
87892
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87928
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/query.js
|
|
87893
87929
|
/**
|
|
87894
87930
|
* Trajectory query — whole-session structured filtering.
|
|
87895
87931
|
*
|
|
@@ -88085,7 +88121,7 @@ function applyQuery(nodes, query) {
|
|
|
88085
88121
|
};
|
|
88086
88122
|
}
|
|
88087
88123
|
//#endregion
|
|
88088
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88124
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/TrajectoryScene.js
|
|
88089
88125
|
/**
|
|
88090
88126
|
* The trajectory scene — the session's own screen.
|
|
88091
88127
|
*
|
|
@@ -88573,7 +88609,7 @@ function TrajectoryScene({ channel, build, onClose }) {
|
|
|
88573
88609
|
});
|
|
88574
88610
|
}
|
|
88575
88611
|
//#endregion
|
|
88576
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88612
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/LoadedContextScene.js
|
|
88577
88613
|
/** Build the non-empty pages shown by the loaded-context inspector. */
|
|
88578
88614
|
function contextPages(context) {
|
|
88579
88615
|
const pages = [];
|
|
@@ -88757,7 +88793,7 @@ function LoadedContextScene({ context, onClose }) {
|
|
|
88757
88793
|
});
|
|
88758
88794
|
}
|
|
88759
88795
|
//#endregion
|
|
88760
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88796
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/AgentView.js
|
|
88761
88797
|
/** Rows the layout cannot do without: header, model/cwd line, dispatch
|
|
88762
88798
|
* input, hints. */
|
|
88763
88799
|
const MANDATORY_LINES = 4;
|
|
@@ -89361,7 +89397,7 @@ function AgentView({ channel, home, approval, onApprove, returnSessionId, onClos
|
|
|
89361
89397
|
});
|
|
89362
89398
|
}
|
|
89363
89399
|
//#endregion
|
|
89364
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
89400
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectoryPrefs.js
|
|
89365
89401
|
/**
|
|
89366
89402
|
* Persisted "the user has seen the trajectory" flag, at
|
|
89367
89403
|
* `~/.chatcode-cli/tui/trajectory.json`.
|
|
@@ -89421,7 +89457,7 @@ function writeTrajectorySeen(dir = DATA_DIR) {
|
|
|
89421
89457
|
}
|
|
89422
89458
|
}
|
|
89423
89459
|
//#endregion
|
|
89424
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
89460
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/chatOverlay.js
|
|
89425
89461
|
const NO_OVERLAY = { kind: "none" };
|
|
89426
89462
|
/**
|
|
89427
89463
|
* One-step wrap-around cursor move — the single source of the wrapping rule
|
|
@@ -89531,7 +89567,7 @@ function dialogOverlayVisible(overlay, gates) {
|
|
|
89531
89567
|
}
|
|
89532
89568
|
}
|
|
89533
89569
|
//#endregion
|
|
89534
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
89570
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Chat.js
|
|
89535
89571
|
const LOGOUT_EXIT_DELAY_MS = 200;
|
|
89536
89572
|
/** Shared empty snapshot for hosts whose channel has no event log. */
|
|
89537
89573
|
const NO_EVENTS = [];
|
|
@@ -91272,9 +91308,10 @@ function Chat({ channel, questionStore, approvalStore, releaseNotes, extensionDi
|
|
|
91272
91308
|
return true;
|
|
91273
91309
|
case "config": {
|
|
91274
91310
|
const chatCodeHome = resolveChatCodeCliHome();
|
|
91311
|
+
const profile = resolveDshProfileName() ?? "cli";
|
|
91275
91312
|
const lines = [
|
|
91276
|
-
t("doctor-example-config", { path:
|
|
91277
|
-
t("doctor-user-config", { path: `${chatCodeHome}/profiles/
|
|
91313
|
+
t("doctor-example-config", { path: `chatcode-cli --profile ${profile}` }),
|
|
91314
|
+
t("doctor-user-config", { path: `${chatCodeHome}/profiles/${profile}/cordis.patch.yml` }),
|
|
91278
91315
|
"",
|
|
91279
91316
|
t("doctor-launch-hint"),
|
|
91280
91317
|
t("doctor-route-hint")
|
|
@@ -93328,7 +93365,7 @@ function ModelPickerLoading() {
|
|
|
93328
93365
|
});
|
|
93329
93366
|
}
|
|
93330
93367
|
//#endregion
|
|
93331
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93368
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/webLauncher.js
|
|
93332
93369
|
const MAIN_CLI_PACKAGE = "@chatcode/chatcode-cli";
|
|
93333
93370
|
function asError(value) {
|
|
93334
93371
|
return value instanceof Error ? value : new Error(String(value));
|
|
@@ -93449,7 +93486,7 @@ function launchWebFrontend(cwd, options = {}) {
|
|
|
93449
93486
|
}
|
|
93450
93487
|
}
|
|
93451
93488
|
//#endregion
|
|
93452
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93489
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/inject-channel.js
|
|
93453
93490
|
/**
|
|
93454
93491
|
* External injection channel — lets an out-of-process editor integration
|
|
93455
93492
|
* (e.g. the `dsh.nvim` Neovim plugin) push text into the running TUI's
|
|
@@ -93644,7 +93681,7 @@ function openInjectChannel(sessionId, cwd, handlers, onError) {
|
|
|
93644
93681
|
};
|
|
93645
93682
|
}
|
|
93646
93683
|
//#endregion
|
|
93647
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93684
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-auth.js
|
|
93648
93685
|
const CHATCODE_CLI_OAUTH_TOKEN = "CHATCODE_CLI_OAUTH_TOKEN";
|
|
93649
93686
|
const DEFAULT_SERVICE_WAIT_MS = 75e3;
|
|
93650
93687
|
function authService(ctx) {
|
|
@@ -93710,13 +93747,13 @@ async function promptChoice(promptText, invalidText) {
|
|
|
93710
93747
|
while (true) {
|
|
93711
93748
|
let answer;
|
|
93712
93749
|
try {
|
|
93713
|
-
answer = (await prompt.question(`[
|
|
93750
|
+
answer = (await prompt.question(`[chatcode-cli] ${promptText}`)).trim().toLowerCase();
|
|
93714
93751
|
} catch {
|
|
93715
93752
|
return "exit";
|
|
93716
93753
|
}
|
|
93717
93754
|
if (answer === "1" || answer === "r" || answer === "retry") return "retry";
|
|
93718
93755
|
if (answer === "" || answer === "2" || answer === "q" || answer === "quit" || answer === "exit") return "exit";
|
|
93719
|
-
process.stderr.write(`[
|
|
93756
|
+
process.stderr.write(`[chatcode-cli] ${invalidText}\n`);
|
|
93720
93757
|
}
|
|
93721
93758
|
} finally {
|
|
93722
93759
|
prompt.close();
|
|
@@ -93822,7 +93859,7 @@ async function requireChatCodeStartupLogin(ctx, options) {
|
|
|
93822
93859
|
return "ready";
|
|
93823
93860
|
}
|
|
93824
93861
|
//#endregion
|
|
93825
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93862
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-api.js
|
|
93826
93863
|
/** Bind authenticated statistics requests to one TUI lifetime. */
|
|
93827
93864
|
function createChatCodeAuthorizedPost(ctx) {
|
|
93828
93865
|
const lifetime = new AbortController();
|
|
@@ -93861,7 +93898,7 @@ function createChatCodeAuthorizedPost(ctx) {
|
|
|
93861
93898
|
};
|
|
93862
93899
|
}
|
|
93863
93900
|
//#endregion
|
|
93864
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93901
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/plugin.js
|
|
93865
93902
|
/**
|
|
93866
93903
|
* Interactive TUI front door for ChatCode CLI agents.
|
|
93867
93904
|
*
|
|
@@ -93960,7 +93997,7 @@ async function apply(ctx, config) {
|
|
|
93960
93997
|
const hostMode = resolveTuiHostMode();
|
|
93961
93998
|
if (hostMode === "invalid-explicit-launch") {
|
|
93962
93999
|
if (readTuiEnv("RESTART_CHILD") === "1") logRestartEvent("boot: TTY gate failed - stdout is not a TTY");
|
|
93963
|
-
throw new Error("
|
|
94000
|
+
throw new Error("chatcode-cli requires an interactive terminal (stdout must be a TTY).");
|
|
93964
94001
|
}
|
|
93965
94002
|
if (hostMode === "headless-host") {
|
|
93966
94003
|
ctx.logger.info("ChatCode CLI TUI: non-interactive host detected (stdout is not a TTY); skipping the TUI frontend");
|
|
@@ -93983,7 +94020,7 @@ async function apply(ctx, config) {
|
|
|
93983
94020
|
}
|
|
93984
94021
|
const chatCodeStartup = await requireChatCodeStartupLogin(ctx, {
|
|
93985
94022
|
openUrl: openExternal,
|
|
93986
|
-
report: (message) => process.stderr.write(`[
|
|
94023
|
+
report: (message) => process.stderr.write(`[chatcode-cli] ${message}\n`)
|
|
93987
94024
|
});
|
|
93988
94025
|
if (chatCodeStartup === "exit" || chatCodeStartup === "blocked") {
|
|
93989
94026
|
const exit = ctx.get("appExit");
|
|
@@ -94004,8 +94041,8 @@ async function apply(ctx, config) {
|
|
|
94004
94041
|
if (process.stderr.isTTY) process.stderr.write(`\nChatCode CLI TUI: 更新后版本未变化(仍为 ${now ?? "unknown"},原为 ${updatedFrom});可能是镜像 registry 未同步,请稍后重试或检查 registry 配置。\n`);
|
|
94005
94042
|
} else if (process.stderr.isTTY) {
|
|
94006
94043
|
const launcherVersion = readTuiEnv("LAUNCHER_VERSION");
|
|
94007
|
-
if (launcherVersion === void 0) process.stderr.write(`\n[
|
|
94008
|
-
else if (isVersionNewer(now, launcherVersion)) process.stderr.write(`\n[
|
|
94044
|
+
if (launcherVersion === void 0) process.stderr.write(`\n[chatcode-cli] ${t("update-launcher-align-unknown", { version: now })}\n`);
|
|
94045
|
+
else if (isVersionNewer(now, launcherVersion)) process.stderr.write(`\n[chatcode-cli] ${t("update-launcher-outdated", {
|
|
94009
94046
|
profile: now,
|
|
94010
94047
|
launcher: launcherVersion
|
|
94011
94048
|
})}\n`);
|
|
@@ -94351,7 +94388,7 @@ async function apply(ctx, config) {
|
|
|
94351
94388
|
{
|
|
94352
94389
|
const unregister = (getHostSettingsSections(ctx.get("tuiSettingsSections")) ?? getLocalSettingsSectionsHost()).register({
|
|
94353
94390
|
ns: "dsh-tui",
|
|
94354
|
-
title: "
|
|
94391
|
+
title: "chatcode-cli",
|
|
94355
94392
|
groups: [
|
|
94356
94393
|
{
|
|
94357
94394
|
id: "status-bar",
|
|
@@ -94817,7 +94854,7 @@ async function apply(ctx, config) {
|
|
|
94817
94854
|
if (error !== void 0) {
|
|
94818
94855
|
const message = error instanceof Error ? error.message : String(error);
|
|
94819
94856
|
ctx.logger.error(`ChatCode CLI TUI: exit after error: ${message}`);
|
|
94820
|
-
finishExit(ctx, instance, bootedFullscreen, void 0, `
|
|
94857
|
+
finishExit(ctx, instance, bootedFullscreen, void 0, `chatcode-cli crashed: ${message}`, () => disposeRootAndExit(ctx, 1));
|
|
94821
94858
|
return;
|
|
94822
94859
|
}
|
|
94823
94860
|
if (updateRequested) {
|
|
@@ -95206,12 +95243,12 @@ function runRestart(ctx, profile, sessionId) {
|
|
|
95206
95243
|
logRestartEvent("runRestart: root disposed, starting restartTui");
|
|
95207
95244
|
restartTui(sessionId).then((restartCode) => {
|
|
95208
95245
|
logRestartEvent("runRestart: restartTui resolved", { restartCode });
|
|
95209
|
-
if (restartCode !== 0) writeHandoffNotice(`\
|
|
95246
|
+
if (restartCode !== 0) writeHandoffNotice(`\nchatcode-cli restart failed to spawn (exit ${restartCode}). Your session is preserved — resume with:\n${resumeCommand(profile, sessionId)}\n\n`);
|
|
95210
95247
|
process.exit(restartCode);
|
|
95211
95248
|
}, (restartError) => {
|
|
95212
95249
|
const message = restartError instanceof Error ? restartError.message : String(restartError);
|
|
95213
95250
|
logRestartEvent("runRestart: restartTui rejected", { message });
|
|
95214
|
-
writeHandoffNotice(`\
|
|
95251
|
+
writeHandoffNotice(`\nchatcode-cli restart failed: ${message}. Your session is preserved — resume with:\n${resumeCommand(profile, sessionId)}\n\n`);
|
|
95215
95252
|
process.exit(1);
|
|
95216
95253
|
});
|
|
95217
95254
|
});
|
|
@@ -95223,11 +95260,11 @@ function runUpdate(ctx, profile, sessionId, targetVersion) {
|
|
|
95223
95260
|
process.exit(1);
|
|
95224
95261
|
}
|
|
95225
95262
|
updateTuiAndRestart(sessionId, profile, targetVersion).then(({ updateCode, restartCode }) => {
|
|
95226
|
-
if (updateCode !== 0) process.stderr.write(`\
|
|
95263
|
+
if (updateCode !== 0) process.stderr.write(`\nchatcode-cli update failed (exit ${updateCode}). Your session is preserved — resume with:\n${resumeCommand(profile, sessionId)}\n\n`);
|
|
95227
95264
|
process.exit(restartCode);
|
|
95228
95265
|
}, (updateError) => {
|
|
95229
95266
|
const message = updateError instanceof Error ? updateError.message : String(updateError);
|
|
95230
|
-
process.stderr.write(`\
|
|
95267
|
+
process.stderr.write(`\nchatcode-cli update failed: ${message}. Your session is preserved — resume with:\n${resumeCommand(profile, sessionId)}\n\n`);
|
|
95231
95268
|
process.exit(1);
|
|
95232
95269
|
});
|
|
95233
95270
|
});
|
|
@@ -95254,7 +95291,7 @@ function disposeRootAndExit(ctx, code) {
|
|
|
95254
95291
|
*/
|
|
95255
95292
|
function resumeCommand(profile, sessionId) {
|
|
95256
95293
|
const boot = profile === void 0 ? "chatcode-cli --config cordis.yml" : `chatcode-cli --profile ${profile}`;
|
|
95257
|
-
return process.platform === "win32" ?
|
|
95294
|
+
return process.platform === "win32" ? `${profile === void 0 ? "chatcode-cli" : boot} --resume ${sessionId}` : `CHATCODE_CLI_TUI_RESUME_SESSION=${sessionId} ${boot}`;
|
|
95258
95295
|
}
|
|
95259
95296
|
/**
|
|
95260
95297
|
* Dispose the Cordis tree, then run a process-level handoff action. The
|