@chatcode/chatcode-cli 3.0.2-rc.5 → 3.0.2-rc.7
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-CBJRI2gy.js} +12 -12
- package/lib/{command-trees-CdgUsoW4.js → command-trees-Dvq4C7a4.js} +2 -2
- package/lib/{component-identity-ax93NpoH.js → component-identity-DPdJglJO.js} +3 -3
- package/lib/{extension-events-DJTP1cCG.js → extension-events-Be9LWvHD.js} +20 -20
- package/lib/{host-access-D3lpiaUY.js → host-access-DeCjoRQP.js} +1 -1
- package/lib/{keymap-DAr6MX8m.js → keymap-CRUxM_qn.js} +2 -2
- package/lib/{plugin-BGw2QmPK.js → plugin-CDFSDE_y.js} +456 -390
- package/lib/{scenes-BeuL5ow2.js → scenes-D6jV1EEi.js} +3 -3
- package/lib/{settings-sections-dGk8gNU7.js → settings-sections-DJQRNBo9.js} +3 -3
- package/lib/{themes-O-UQAfC7.js → themes-BCly4_y9.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-Dm_fULiR.js} +2 -2
- package/lib/{workspaces-CE18wA21.js → workspaces-Bb3kCAFb.js} +2 -2
- package/package.json +23 -23
- 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-Dm_fULiR.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-CRUxM_qn.js";
|
|
4
|
+
import { c as withHostRootCapability } from "./host-access-DeCjoRQP.js";
|
|
5
|
+
import { i as getHostWorkspaceRuntime, r as createLocalWorkspaceRuntime } from "./workspaces-Bb3kCAFb.js";
|
|
6
|
+
import { n as getHostCommandTrees } from "./command-trees-Dvq4C7a4.js";
|
|
7
|
+
import { a as isReservedCredentialRef, n as getHostSettingsSections, r as getLocalSettingsSectionsHost } from "./settings-sections-DJQRNBo9.js";
|
|
8
|
+
import { n as getHostSceneRuntime } from "./scenes-D6jV1EEi.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-Be9LWvHD.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-CBJRI2gy.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-BCly4_y9.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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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.16_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
|
*
|
|
@@ -12188,6 +12204,12 @@ function timeOf$1(line) {
|
|
|
12188
12204
|
const time = line["time"];
|
|
12189
12205
|
return typeof time === "number" && Number.isFinite(time) ? time : void 0;
|
|
12190
12206
|
}
|
|
12207
|
+
/** Advance an observed event time without inventing a zero timestamp. */
|
|
12208
|
+
function laterTime(current, line) {
|
|
12209
|
+
const next = timeOf$1(line);
|
|
12210
|
+
if (next === void 0) return current;
|
|
12211
|
+
return current === void 0 ? next : Math.max(current, next);
|
|
12212
|
+
}
|
|
12191
12213
|
/**
|
|
12192
12214
|
* Read both windows of one session log.
|
|
12193
12215
|
*
|
|
@@ -12210,10 +12232,13 @@ function digestSession(path, cwd) {
|
|
|
12210
12232
|
const headLines = decodedHead.flatMap((lines) => lines ?? []);
|
|
12211
12233
|
const headComplete = head.whole && headFrames.at(-1)?.end === head.buffer.length && decodedHead.every((lines) => lines !== void 0) && headLines.some((line) => line["type"] === "session");
|
|
12212
12234
|
let prompt;
|
|
12235
|
+
let lastPromptAt;
|
|
12213
12236
|
let headTitle;
|
|
12214
12237
|
let label;
|
|
12215
12238
|
for (const line of headLines) {
|
|
12216
|
-
|
|
12239
|
+
const human = humanPrompt(line);
|
|
12240
|
+
prompt ??= human;
|
|
12241
|
+
if (human !== void 0) lastPromptAt = laterTime(lastPromptAt, line);
|
|
12217
12242
|
headTitle ??= titleOf(line);
|
|
12218
12243
|
label ??= labelOf(line);
|
|
12219
12244
|
}
|
|
@@ -12224,6 +12249,7 @@ function digestSession(path, cwd) {
|
|
|
12224
12249
|
let provider;
|
|
12225
12250
|
let model;
|
|
12226
12251
|
for (const line of tailLines) {
|
|
12252
|
+
if (humanPrompt(line) !== void 0) lastPromptAt = laterTime(lastPromptAt, line);
|
|
12227
12253
|
const title = titleOf(line);
|
|
12228
12254
|
if (title !== void 0) tailTitle = title;
|
|
12229
12255
|
const route = modelOf(line);
|
|
@@ -12241,6 +12267,7 @@ function digestSession(path, cwd) {
|
|
|
12241
12267
|
source: "fallback"
|
|
12242
12268
|
},
|
|
12243
12269
|
hasPrompt,
|
|
12270
|
+
...lastPromptAt === void 0 ? {} : { lastPromptAt },
|
|
12244
12271
|
provider,
|
|
12245
12272
|
model,
|
|
12246
12273
|
label,
|
|
@@ -12366,6 +12393,7 @@ async function recoverAppendedTitle(path, start, end, signal) {
|
|
|
12366
12393
|
};
|
|
12367
12394
|
}
|
|
12368
12395
|
let latest;
|
|
12396
|
+
let lastPromptAt;
|
|
12369
12397
|
try {
|
|
12370
12398
|
let position = start;
|
|
12371
12399
|
while (position < end) {
|
|
@@ -12373,27 +12401,34 @@ async function recoverAppendedTitle(path, start, end, signal) {
|
|
|
12373
12401
|
const page = await forwardPage(handle, position, end, signal);
|
|
12374
12402
|
if (page === void 0) return {
|
|
12375
12403
|
title: latest,
|
|
12376
|
-
complete: false
|
|
12404
|
+
complete: false,
|
|
12405
|
+
...lastPromptAt === void 0 ? {} : { lastPromptAt }
|
|
12377
12406
|
};
|
|
12378
12407
|
for (const frame of page.frames) {
|
|
12379
12408
|
const lines = decodeFrame(page.buffer, frame);
|
|
12380
12409
|
if (lines === void 0) return {
|
|
12381
12410
|
title: latest,
|
|
12382
|
-
complete: false
|
|
12411
|
+
complete: false,
|
|
12412
|
+
...lastPromptAt === void 0 ? {} : { lastPromptAt }
|
|
12383
12413
|
};
|
|
12384
|
-
for (const line of lines)
|
|
12414
|
+
for (const line of lines) {
|
|
12415
|
+
if (humanPrompt(line) !== void 0) lastPromptAt = laterTime(lastPromptAt, line);
|
|
12416
|
+
latest = titleOf(line) ?? latest;
|
|
12417
|
+
}
|
|
12385
12418
|
}
|
|
12386
12419
|
const consumed = page.frames[page.frames.length - 1].end;
|
|
12387
12420
|
if (consumed <= 0) return {
|
|
12388
12421
|
title: latest,
|
|
12389
|
-
complete: false
|
|
12422
|
+
complete: false,
|
|
12423
|
+
...lastPromptAt === void 0 ? {} : { lastPromptAt }
|
|
12390
12424
|
};
|
|
12391
12425
|
position += consumed;
|
|
12392
12426
|
await scheduler.yield();
|
|
12393
12427
|
}
|
|
12394
12428
|
return {
|
|
12395
12429
|
title: latest,
|
|
12396
|
-
complete: true
|
|
12430
|
+
complete: true,
|
|
12431
|
+
...lastPromptAt === void 0 ? {} : { lastPromptAt }
|
|
12397
12432
|
};
|
|
12398
12433
|
} finally {
|
|
12399
12434
|
await handle.close().catch(() => {});
|
|
@@ -12534,7 +12569,7 @@ function previewSession(path, limit) {
|
|
|
12534
12569
|
return entries.slice(-limit);
|
|
12535
12570
|
}
|
|
12536
12571
|
//#endregion
|
|
12537
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12572
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/artifact.js
|
|
12538
12573
|
/** Read-only artifact lookup for session summaries and previews. */
|
|
12539
12574
|
/** Highest published compressed generation; temporary migration files are ignored. */
|
|
12540
12575
|
function inDirectory(directory) {
|
|
@@ -12587,7 +12622,7 @@ function findSessionArtifact(sessionId, target) {
|
|
|
12587
12622
|
}
|
|
12588
12623
|
}
|
|
12589
12624
|
//#endregion
|
|
12590
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12625
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/store.js
|
|
12591
12626
|
/**
|
|
12592
12627
|
* The session index — a local cache keyed by the backend's own change token.
|
|
12593
12628
|
*
|
|
@@ -12618,10 +12653,10 @@ function findSessionArtifact(sessionId, target) {
|
|
|
12618
12653
|
* @module @chatcode/cco-tui/sessions/store
|
|
12619
12654
|
*/
|
|
12620
12655
|
/**
|
|
12621
|
-
* Version
|
|
12622
|
-
*
|
|
12656
|
+
* Version 5 re-derives older summaries so activity time comes from the latest
|
|
12657
|
+
* human prompt rather than a rename-updated file mtime. Local branch notes survive.
|
|
12623
12658
|
*/
|
|
12624
|
-
const SCHEMA_VERSION =
|
|
12659
|
+
const SCHEMA_VERSION = 5;
|
|
12625
12660
|
const INDEX_FILE = join(DATA_DIR, "session-index.json");
|
|
12626
12661
|
/** A title source as written to disk, or undefined for anything unexpected. */
|
|
12627
12662
|
function readTitleSource(value) {
|
|
@@ -12664,6 +12699,7 @@ function readEntry(value, trustDerived) {
|
|
|
12664
12699
|
titleSource,
|
|
12665
12700
|
titleComplete,
|
|
12666
12701
|
hasPrompt: derived["hasPrompt"] === true,
|
|
12702
|
+
lastPromptAt: typeof derived["lastPromptAt"] === "number" && Number.isFinite(derived["lastPromptAt"]) ? derived["lastPromptAt"] : void 0,
|
|
12667
12703
|
provider: typeof derived["provider"] === "string" ? derived["provider"] : void 0,
|
|
12668
12704
|
model: typeof derived["model"] === "string" ? derived["model"] : void 0,
|
|
12669
12705
|
label: typeof derived["label"] === "string" ? derived["label"] : void 0
|
|
@@ -12685,7 +12721,7 @@ function readIndex() {
|
|
|
12685
12721
|
}
|
|
12686
12722
|
if (parsed === null || typeof parsed !== "object") return index;
|
|
12687
12723
|
const file = parsed;
|
|
12688
|
-
if (file["version"] !== SCHEMA_VERSION && file["version"] !== 3) return index;
|
|
12724
|
+
if (file["version"] !== SCHEMA_VERSION && file["version"] !== 4 && file["version"] !== 3) return index;
|
|
12689
12725
|
const entries = file["entries"];
|
|
12690
12726
|
if (entries === null || typeof entries !== "object") return index;
|
|
12691
12727
|
for (const [id, value] of Object.entries(entries)) {
|
|
@@ -12750,7 +12786,7 @@ function noteBranch(sessionId, branch) {
|
|
|
12750
12786
|
writeIndex(index);
|
|
12751
12787
|
}
|
|
12752
12788
|
//#endregion
|
|
12753
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12789
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/list.js
|
|
12754
12790
|
/**
|
|
12755
12791
|
* Building the session list.
|
|
12756
12792
|
*
|
|
@@ -12773,6 +12809,11 @@ function noteBranch(sessionId, branch) {
|
|
|
12773
12809
|
*/
|
|
12774
12810
|
/** Compressed bytes one listing may spend on full-log title recovery scans. */
|
|
12775
12811
|
const TITLE_SCAN_BUDGET_BYTES = 16 * 1024 * 1024;
|
|
12812
|
+
/** Latest defined timestamp, preserving undefined when no source knows one. */
|
|
12813
|
+
function latestTime(...values) {
|
|
12814
|
+
const known = values.filter((value) => value !== void 0);
|
|
12815
|
+
return known.length === 0 ? void 0 : Math.max(...known);
|
|
12816
|
+
}
|
|
12776
12817
|
/** Pull `{ header, revision }` out of one `listSnapshots()` element. */
|
|
12777
12818
|
function readSnapshot(value) {
|
|
12778
12819
|
if (value === null || typeof value !== "object") return void 0;
|
|
@@ -12876,6 +12917,7 @@ async function listSummaries(source, signal) {
|
|
|
12876
12917
|
const digest = digestSession(path, header.cwd ?? "");
|
|
12877
12918
|
let title = digest.title;
|
|
12878
12919
|
let hasPrompt = digest.hasPrompt;
|
|
12920
|
+
let lastPromptAt = digest.lastPromptAt;
|
|
12879
12921
|
let titleComplete = digest.titleComplete === true;
|
|
12880
12922
|
const previous = cached?.derived;
|
|
12881
12923
|
if (!titleComplete && previous !== void 0 && facts !== void 0 && previous.identity !== void 0 && previous.identity === facts.identity && previous.anchor !== void 0 && facts.bytes >= previous.bytes) {
|
|
@@ -12885,17 +12927,19 @@ async function listSummaries(source, signal) {
|
|
|
12885
12927
|
text: previous.title,
|
|
12886
12928
|
source: previous.titleSource
|
|
12887
12929
|
};
|
|
12888
|
-
hasPrompt = previous.hasPrompt;
|
|
12930
|
+
hasPrompt = hasPrompt || previous.hasPrompt;
|
|
12931
|
+
lastPromptAt = latestTime(lastPromptAt, previous.lastPromptAt);
|
|
12889
12932
|
titleComplete = true;
|
|
12890
12933
|
} else if (facts.bytes > previous.bytes) {
|
|
12891
12934
|
const appended = await recoverAppendedTitle(path, previous.bytes, facts.bytes, signal);
|
|
12892
12935
|
if (appended.title !== void 0) title = appended.title;
|
|
12936
|
+
lastPromptAt = latestTime(lastPromptAt, previous.lastPromptAt, appended.lastPromptAt);
|
|
12893
12937
|
if (appended.complete && (appended.title !== void 0 || previous.titleComplete)) {
|
|
12894
12938
|
if (appended.title === void 0) title = previous.title.length === 0 ? void 0 : {
|
|
12895
12939
|
text: previous.title,
|
|
12896
12940
|
source: previous.titleSource
|
|
12897
12941
|
};
|
|
12898
|
-
hasPrompt = previous.hasPrompt;
|
|
12942
|
+
hasPrompt = hasPrompt || previous.hasPrompt;
|
|
12899
12943
|
titleComplete = true;
|
|
12900
12944
|
}
|
|
12901
12945
|
}
|
|
@@ -12910,6 +12954,7 @@ async function listSummaries(source, signal) {
|
|
|
12910
12954
|
titleSource: title?.source ?? "fallback",
|
|
12911
12955
|
titleComplete,
|
|
12912
12956
|
hasPrompt,
|
|
12957
|
+
lastPromptAt,
|
|
12913
12958
|
provider: digest.provider,
|
|
12914
12959
|
model: digest.model,
|
|
12915
12960
|
label: digest.label
|
|
@@ -12986,7 +13031,7 @@ async function listSummaries(source, signal) {
|
|
|
12986
13031
|
},
|
|
12987
13032
|
cwd: header.cwd ?? "",
|
|
12988
13033
|
createdAt: header.createdAt ?? facts?.modifiedAt ?? 0,
|
|
12989
|
-
updatedAt: Math.max(facts?.modifiedAt ?? 0, lastUsed[header.id] ?? 0, header.createdAt ?? 0),
|
|
13034
|
+
updatedAt: Math.max(derived?.lastPromptAt ?? (derived === void 0 ? facts?.modifiedAt ?? 0 : 0), lastUsed[header.id] ?? 0, header.createdAt ?? 0),
|
|
12990
13035
|
bytes: facts?.bytes,
|
|
12991
13036
|
hasPrompt: derived?.hasPrompt ?? true,
|
|
12992
13037
|
agentPreset: header.agentPreset,
|
|
@@ -13022,7 +13067,7 @@ async function locateSession(source, sessionId, signal) {
|
|
|
13022
13067
|
return match === void 0 ? void 0 : locate$1(source, match.raw, sessionId);
|
|
13023
13068
|
}
|
|
13024
13069
|
//#endregion
|
|
13025
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13070
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/agent-view.js
|
|
13026
13071
|
/**
|
|
13027
13072
|
* Agent view (CC `claude agents`) derivation helpers — pure functions over
|
|
13028
13073
|
* session events that the channel folds into {@link AgentViewRow}s. Kept in
|
|
@@ -13252,7 +13297,7 @@ function featureOn(config, name) {
|
|
|
13252
13297
|
return config.mode !== "minimal";
|
|
13253
13298
|
}
|
|
13254
13299
|
//#endregion
|
|
13255
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13300
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/activityPrefs.js
|
|
13256
13301
|
/**
|
|
13257
13302
|
* Persisted working-activity indicator preference, mirroring the pi
|
|
13258
13303
|
* working-activity extension's `~/.pi/agent/working-activity.json`
|
|
@@ -13321,7 +13366,7 @@ function writeActivityFrames(name, dir = PREFS_DIR$5) {
|
|
|
13321
13366
|
}
|
|
13322
13367
|
}
|
|
13323
13368
|
//#endregion
|
|
13324
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13369
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileSuggestions.js
|
|
13325
13370
|
const pathSeparators = /[\\/]/;
|
|
13326
13371
|
function isPathLikeQuery(query) {
|
|
13327
13372
|
return query.startsWith(".") || query.startsWith("~") || query.startsWith("/") || /^[A-Za-z]:[\\/]/.test(query) || pathSeparators.test(query);
|
|
@@ -13358,7 +13403,7 @@ function preserveSelection(previous, next, fallback = 0) {
|
|
|
13358
13403
|
return next.length === 0 ? 0 : Math.min(Math.max(0, fallback), next.length - 1);
|
|
13359
13404
|
}
|
|
13360
13405
|
//#endregion
|
|
13361
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13406
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/effortPrefs.js
|
|
13362
13407
|
/**
|
|
13363
13408
|
* Persisted reasoning-effort preference (`~/.chatcode-cli/tui/effort.json`). Set via
|
|
13364
13409
|
* `/effort` (slider or `/effort <id>`; `/effort status` reports the current
|
|
@@ -13400,7 +13445,7 @@ function writeEffortPref(effort, dir = PREFS_DIR$4) {
|
|
|
13400
13445
|
}
|
|
13401
13446
|
}
|
|
13402
13447
|
//#endregion
|
|
13403
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13448
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelPrefs.js
|
|
13404
13449
|
/**
|
|
13405
13450
|
* Persisted model-route preference (`/model` picker choice), kept at
|
|
13406
13451
|
* `~/.chatcode-cli/model.json` (`provider` + `model` keys) so CLI and Web share it
|
|
@@ -13483,7 +13528,7 @@ function writeModelPref(provider, model, dir = PREFS_DIR$3) {
|
|
|
13483
13528
|
}
|
|
13484
13529
|
}
|
|
13485
13530
|
//#endregion
|
|
13486
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13531
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelRoute.js
|
|
13487
13532
|
/**
|
|
13488
13533
|
* Model route resolution (issue #67). The `(provider, model)` pair is a
|
|
13489
13534
|
* single value: every source either supplies the WHOLE route or is skipped,
|
|
@@ -13718,7 +13763,7 @@ function orderModelProviders(providers) {
|
|
|
13718
13763
|
return [...providers].sort((left, right) => rank(left.id) - rank(right.id));
|
|
13719
13764
|
}
|
|
13720
13765
|
//#endregion
|
|
13721
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13766
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/customModelSettings.js
|
|
13722
13767
|
/**
|
|
13723
13768
|
* Read and update ChatCode CLI's user-defined model list in
|
|
13724
13769
|
* `~/.chatcode-cli/settings.json` without exposing stored API keys to the UI.
|
|
@@ -13859,7 +13904,7 @@ function createCustomModelSettingsStore(path) {
|
|
|
13859
13904
|
};
|
|
13860
13905
|
}
|
|
13861
13906
|
//#endregion
|
|
13862
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13907
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/customModelTest.js
|
|
13863
13908
|
/** Direct, one-shot generation used by `/model-config` before a model is registered. */
|
|
13864
13909
|
function requestEndpoint(baseURL, api) {
|
|
13865
13910
|
const url = new URL(baseURL);
|
|
@@ -13937,7 +13982,7 @@ async function testCustomModelConnection(request, fetchImpl = fetch) {
|
|
|
13937
13982
|
}
|
|
13938
13983
|
}
|
|
13939
13984
|
//#endregion
|
|
13940
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13985
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/presetPrefs.js
|
|
13941
13986
|
/**
|
|
13942
13987
|
* Persisted agent-preset preference (`/preset` picker choice), kept at
|
|
13943
13988
|
* `~/.chatcode-cli/tui/agent-preset.json` (`preset` key) so the choice survives
|
|
@@ -13996,7 +14041,7 @@ function migratePresetPref(requested, resolved, dir = PREFS_DIR$2) {
|
|
|
13996
14041
|
return requested === void 0 || resolved === void 0 || requested === resolved ? true : writePresetPref(resolved, dir);
|
|
13997
14042
|
}
|
|
13998
14043
|
//#endregion
|
|
13999
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14044
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/persistedSession.js
|
|
14000
14045
|
/** Undefined means the service exposes neither supported read API. */
|
|
14001
14046
|
async function readPersistedSession(persistence, id) {
|
|
14002
14047
|
if (persistence === null || typeof persistence !== "object") return void 0;
|
|
@@ -14016,7 +14061,7 @@ async function readPersistedSession(persistence, id) {
|
|
|
14016
14061
|
if (typeof reader.load === "function") return reader.load(id);
|
|
14017
14062
|
}
|
|
14018
14063
|
//#endregion
|
|
14019
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14064
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-resolution.js
|
|
14020
14065
|
/**
|
|
14021
14066
|
* Agent-preset resolution across upstream prerelease lines.
|
|
14022
14067
|
*
|
|
@@ -14054,7 +14099,7 @@ async function resolveCompatiblePreset(presets, requested) {
|
|
|
14054
14099
|
return presets.resolve(requested);
|
|
14055
14100
|
}
|
|
14056
14101
|
//#endregion
|
|
14057
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14102
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/presets.js
|
|
14058
14103
|
/**
|
|
14059
14104
|
* Agent-presets roster integration (issue #8): compose each session's
|
|
14060
14105
|
* model-facing world (tools, prompt sections, projections) from one preset
|
|
@@ -14204,7 +14249,7 @@ function serviceForAgent(ctx, agent, key) {
|
|
|
14204
14249
|
return ctx.get(key);
|
|
14205
14250
|
}
|
|
14206
14251
|
//#endregion
|
|
14207
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14252
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-management.js
|
|
14208
14253
|
const failureReason = (error) => error instanceof Error ? error.message : String(error);
|
|
14209
14254
|
/** Read a roster-resolved composition without bypassing preset ownership. */
|
|
14210
14255
|
async function readPresetComposition(presets, presetId) {
|
|
@@ -14261,7 +14306,7 @@ async function removePresetComposition(presets, presetId) {
|
|
|
14261
14306
|
}
|
|
14262
14307
|
}
|
|
14263
14308
|
//#endregion
|
|
14264
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14309
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/session-organization.js
|
|
14265
14310
|
/** Adapter-only readers for optional Harness session-organization services. */
|
|
14266
14311
|
const STAT_KEYS = [
|
|
14267
14312
|
"turns",
|
|
@@ -14322,7 +14367,7 @@ function presetCompositionRows(content, limit = 80) {
|
|
|
14322
14367
|
};
|
|
14323
14368
|
}
|
|
14324
14369
|
//#endregion
|
|
14325
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14370
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/debug.js
|
|
14326
14371
|
/**
|
|
14327
14372
|
* Debug logger for the ported Ink core. Writes to stderr only when
|
|
14328
14373
|
* `CHATCODE_CLI_TUI_DEBUG` (or its legacy alias) is set, so normal runs stay quiet.
|
|
@@ -14332,7 +14377,7 @@ function presetCompositionRows(content, limit = 80) {
|
|
|
14332
14377
|
function logForDebugging(message, fields) {
|
|
14333
14378
|
if (!readTuiEnv("DEBUG")) return;
|
|
14334
14379
|
const suffix = fields === void 0 ? "" : ` ${JSON.stringify(fields)}`;
|
|
14335
|
-
process.stderr.write(`[
|
|
14380
|
+
process.stderr.write(`[chatcode-cli] ${message}${suffix}\n`);
|
|
14336
14381
|
}
|
|
14337
14382
|
/**
|
|
14338
14383
|
* Mouse-chain diagnostics: appends below the ChatCode CLI TUI data root when
|
|
@@ -14352,7 +14397,7 @@ function logMouseDebug(message, fields) {
|
|
|
14352
14397
|
} catch {}
|
|
14353
14398
|
}
|
|
14354
14399
|
//#endregion
|
|
14355
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14400
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/mentions.js
|
|
14356
14401
|
/**
|
|
14357
14402
|
* `@` file-mention parsing (issue #15).
|
|
14358
14403
|
*
|
|
@@ -14498,7 +14543,7 @@ function mentionAtCaret(value, cursor) {
|
|
|
14498
14543
|
};
|
|
14499
14544
|
}
|
|
14500
14545
|
//#endregion
|
|
14501
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14546
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/commonUtilityCommands.js
|
|
14502
14547
|
/** Format only the files in the authoritative loaded-context projection. */
|
|
14503
14548
|
function loadedFileLines(files, copy) {
|
|
14504
14549
|
if (files === void 0) return [copy.unavailable];
|
|
@@ -14613,7 +14658,7 @@ function codeRatioLines(report, copy, maxAuthors = 20) {
|
|
|
14613
14658
|
return lines;
|
|
14614
14659
|
}
|
|
14615
14660
|
//#endregion
|
|
14616
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14661
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themeCatalog.js
|
|
14617
14662
|
/**
|
|
14618
14663
|
* Cordis-free theme catalog shared by future pickers, commands and hosts.
|
|
14619
14664
|
*
|
|
@@ -14694,7 +14739,7 @@ function listThemeCatalog(host) {
|
|
|
14694
14739
|
return Object.freeze(entries);
|
|
14695
14740
|
}
|
|
14696
14741
|
//#endregion
|
|
14697
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14742
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionModes.js
|
|
14698
14743
|
/**
|
|
14699
14744
|
* Configurable Shift+Tab session modes (the `modes` dsh-tui plugin config):
|
|
14700
14745
|
* each mode is a named bundle of optional DSH plane switches — plan mode
|
|
@@ -14758,7 +14803,7 @@ function modeDisplayName(spec) {
|
|
|
14758
14803
|
return spec.id;
|
|
14759
14804
|
}
|
|
14760
14805
|
//#endregion
|
|
14761
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14806
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/subagents.js
|
|
14762
14807
|
/** Unified subagent activity domain model used by the adapter and every view. */
|
|
14763
14808
|
const MAX_OUTPUT_EVENTS = 160;
|
|
14764
14809
|
const MAX_OUTPUT_LINES = 160;
|
|
@@ -15136,7 +15181,7 @@ function formatJobDuration(job, now = Date.now()) {
|
|
|
15136
15181
|
return `${Math.floor(minutes / 60)}h${String(minutes % 60).padStart(2, "0")}m`;
|
|
15137
15182
|
}
|
|
15138
15183
|
//#endregion
|
|
15139
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15184
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/minimalMode.js
|
|
15140
15185
|
/**
|
|
15141
15186
|
* Minimal mode: one process-wide flag gating decorative UI (header splash,
|
|
15142
15187
|
* emoji status glyphs, non-tool text colors, status-bar extras). The flag is
|
|
@@ -15155,7 +15200,7 @@ function setMinimalMode(enabled) {
|
|
|
15155
15200
|
minimal = enabled;
|
|
15156
15201
|
}
|
|
15157
15202
|
//#endregion
|
|
15158
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15203
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/workspace.js
|
|
15159
15204
|
/**
|
|
15160
15205
|
* Find or create the Workspace for `cwd`, then durably account `sessionId`.
|
|
15161
15206
|
*
|
|
@@ -15171,7 +15216,7 @@ async function attachSessionToWorkspace(ctx, cwd, sessionId) {
|
|
|
15171
15216
|
return true;
|
|
15172
15217
|
}
|
|
15173
15218
|
//#endregion
|
|
15174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15219
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/contract.js
|
|
15175
15220
|
/**
|
|
15176
15221
|
* Upstream compatibility contract.
|
|
15177
15222
|
*
|
|
@@ -15600,7 +15645,7 @@ function pluginsInfoLines(args, deps) {
|
|
|
15600
15645
|
return lines;
|
|
15601
15646
|
}
|
|
15602
15647
|
//#endregion
|
|
15603
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15648
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/mcp-status.js
|
|
15604
15649
|
/** Loader and tool-registry projection used by the TUI's `/mcp` report. */
|
|
15605
15650
|
const MCP_CLIENT_PACKAGE = "@deepseek-ai/dsh-mcp-client";
|
|
15606
15651
|
const FIBER_ACTIVE = 2;
|
|
@@ -15653,7 +15698,7 @@ function collectMcpServerStatus(schemas, entries) {
|
|
|
15653
15698
|
}));
|
|
15654
15699
|
}
|
|
15655
15700
|
//#endregion
|
|
15656
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15701
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/format.js
|
|
15657
15702
|
/**
|
|
15658
15703
|
* Number, token-count, and duration formatters shared by the status line
|
|
15659
15704
|
* and message rows.
|
|
@@ -15716,7 +15761,7 @@ function formatDuration$4(durationMs, options = {}) {
|
|
|
15716
15761
|
return parts.join(" ");
|
|
15717
15762
|
}
|
|
15718
15763
|
//#endregion
|
|
15719
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15764
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/contextUsage.js
|
|
15720
15765
|
/**
|
|
15721
15766
|
* Return the current context occupancy. The latest request is authoritative:
|
|
15722
15767
|
* its uncached input and cache read/write tokens are all part of that request's
|
|
@@ -16100,7 +16145,7 @@ function prepareMemoryTargetFile(requested, candidates, cwd, dshHome) {
|
|
|
16100
16145
|
}
|
|
16101
16146
|
}
|
|
16102
16147
|
//#endregion
|
|
16103
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
16148
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/channel.js
|
|
16104
16149
|
/** Return the step left open by a tree fork cut within one turn. */
|
|
16105
16150
|
function openStepAtForkCut(events, turn) {
|
|
16106
16151
|
for (let i = events.length - 1; i >= 0; i--) {
|
|
@@ -16810,7 +16855,7 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
16810
16855
|
if (!jobs?.kill) return false;
|
|
16811
16856
|
const job = jobStore.get(id);
|
|
16812
16857
|
try {
|
|
16813
|
-
jobs.kill(id, agent, "
|
|
16858
|
+
jobs.kill(id, agent, "chatcode-cli /jobs panel");
|
|
16814
16859
|
} catch {
|
|
16815
16860
|
return false;
|
|
16816
16861
|
}
|
|
@@ -18680,7 +18725,7 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
18680
18725
|
const location = locate.call(persistence, entry.raw);
|
|
18681
18726
|
if (location !== null && typeof location === "object") {
|
|
18682
18727
|
const record = location;
|
|
18683
|
-
if (record.kind === "jsonl" && typeof record.path === "string") locatedPath = record.path;
|
|
18728
|
+
if (record.kind === "jsonl" && typeof record.path === "string") locatedPath = findSessionArtifact(id, record.path);
|
|
18684
18729
|
}
|
|
18685
18730
|
} catch {}
|
|
18686
18731
|
let inheritedCut = parentId === void 0 ? void 0 : readInheritedCut(entry?.raw);
|
|
@@ -18971,7 +19016,7 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
18971
19016
|
appendSessionTitle(String(childId), forkSessionTitle(title, state.sessionTitle, String(source.id)));
|
|
18972
19017
|
const profile = resolveDshProfileName();
|
|
18973
19018
|
const boot = profile === void 0 ? "chatcode-cli --config cordis.yml" : `chatcode-cli --profile ${profile}`;
|
|
18974
|
-
const command = process.platform === "win32" ?
|
|
19019
|
+
const command = process.platform === "win32" ? `${profile === void 0 ? "chatcode-cli" : boot} --resume ${childId}` : `CHATCODE_CLI_TUI_RESUME_SESSION=${childId} ${boot}`;
|
|
18975
19020
|
state.notify(t("fork-done", {
|
|
18976
19021
|
id: String(childId),
|
|
18977
19022
|
command
|
|
@@ -20661,7 +20706,7 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
20661
20706
|
}
|
|
20662
20707
|
default: break;
|
|
20663
20708
|
}
|
|
20664
|
-
const fileName = `
|
|
20709
|
+
const fileName = `chatcode-cli-export-${Date.now()}.md`;
|
|
20665
20710
|
try {
|
|
20666
20711
|
const target = join(state.cwd, fileName);
|
|
20667
20712
|
writeFileSync(target, parts.join("\n"), "utf8");
|
|
@@ -22550,7 +22595,7 @@ async function expandMentions(fs, cwd, text, attachments, stagedImages) {
|
|
|
22550
22595
|
};
|
|
22551
22596
|
}
|
|
22552
22597
|
//#endregion
|
|
22553
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22598
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/childStderr.js
|
|
22554
22599
|
/**
|
|
22555
22600
|
* Child-process stderr guard (issue #17).
|
|
22556
22601
|
*
|
|
@@ -22719,7 +22764,7 @@ function createChildStderrReporter(notify, options = {}) {
|
|
|
22719
22764
|
};
|
|
22720
22765
|
}
|
|
22721
22766
|
//#endregion
|
|
22722
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22767
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions.js
|
|
22723
22768
|
/**
|
|
22724
22769
|
* Ask-user-question store — the UI-side half of the DSH user-interaction
|
|
22725
22770
|
* seam (`ctx.userQuestions`). The harness's model-facing
|
|
@@ -22959,7 +23004,7 @@ var QuestionStore = class {
|
|
|
22959
23004
|
}
|
|
22960
23005
|
};
|
|
22961
23006
|
//#endregion
|
|
22962
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23007
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerGuard.js
|
|
22963
23008
|
/**
|
|
22964
23009
|
* Question-provider seat guard (issue #98 security follow-up).
|
|
22965
23010
|
*
|
|
@@ -23071,7 +23116,7 @@ function incumbentQuestionProviderId(service) {
|
|
|
23071
23116
|
} catch {}
|
|
23072
23117
|
}
|
|
23073
23118
|
//#endregion
|
|
23074
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23119
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions-answerer.js
|
|
23075
23120
|
/**
|
|
23076
23121
|
* User-question answerer compatibility.
|
|
23077
23122
|
*
|
|
@@ -23130,7 +23175,7 @@ function prepareQuestionAnswerer(ctx, service, answerer) {
|
|
|
23130
23175
|
}
|
|
23131
23176
|
}
|
|
23132
23177
|
//#endregion
|
|
23133
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23178
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/approvals.js
|
|
23134
23179
|
/**
|
|
23135
23180
|
* Approval store — the UI-side answerer half of the DSH approval seam
|
|
23136
23181
|
* (`ctx.approval`). The harness's permission layer asks
|
|
@@ -23524,7 +23569,7 @@ var ApprovalStore = class {
|
|
|
23524
23569
|
}
|
|
23525
23570
|
};
|
|
23526
23571
|
//#endregion
|
|
23527
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23572
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/promptDebug.js
|
|
23528
23573
|
/**
|
|
23529
23574
|
* On-demand capture of every final AgentLoop request context observed for a
|
|
23530
23575
|
* live session.
|
|
@@ -23641,7 +23686,7 @@ function registerPromptDebug(ctx) {
|
|
|
23641
23686
|
schemaVersion: 2,
|
|
23642
23687
|
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
23643
23688
|
captureStartedAt,
|
|
23644
|
-
captureScope: "Requests observed by this
|
|
23689
|
+
captureScope: "Requests observed by this chatcode-cli process; requests from before a session resume cannot be reconstructed.",
|
|
23645
23690
|
warning: "Sensitive debug data: contains system prompts, conversation messages, tool schemas, and tool results. It intentionally excludes credentials and transport headers.",
|
|
23646
23691
|
sessionId,
|
|
23647
23692
|
turnCount: turns.size,
|
|
@@ -23670,7 +23715,7 @@ function registerPromptDebug(ctx) {
|
|
|
23670
23715
|
}));
|
|
23671
23716
|
}
|
|
23672
23717
|
//#endregion
|
|
23673
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23718
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/migrationPrefs.js
|
|
23674
23719
|
/**
|
|
23675
23720
|
* One-time local migrations (`~/.chatcode-cli/tui/migrations.json`), keyed by stable
|
|
23676
23721
|
* migration id → ISO timestamp. Named keys (not a bare flag) so later
|
|
@@ -23761,7 +23806,7 @@ async function commitFullscreenFactoryMigration(plan, options) {
|
|
|
23761
23806
|
} catch {}
|
|
23762
23807
|
}
|
|
23763
23808
|
//#endregion
|
|
23764
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23809
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/retired-packaged-presets.js
|
|
23765
23810
|
const OWNER = "@chatcode/cco-tui";
|
|
23766
23811
|
const MARKER = ".dsh-tui-managed.json";
|
|
23767
23812
|
const RETIRED_PACKAGED_PRESETS = ["liangshen"];
|
|
@@ -23803,7 +23848,7 @@ function cleanupRetiredPackagedPresets(options = {}) {
|
|
|
23803
23848
|
return results;
|
|
23804
23849
|
}
|
|
23805
23850
|
//#endregion
|
|
23806
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23851
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workspaceRoot.js
|
|
23807
23852
|
/** Resolve a fresh session's working directory without widening it to a Git ancestor. */
|
|
23808
23853
|
/**
|
|
23809
23854
|
* Explicit configuration wins; otherwise keep the invoking directory, even
|
|
@@ -23816,7 +23861,7 @@ function resolveSessionCwd(configured, start = process.cwd()) {
|
|
|
23816
23861
|
return resolve(start, configured ?? "");
|
|
23817
23862
|
}
|
|
23818
23863
|
//#endregion
|
|
23819
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23864
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/openExternal.js
|
|
23820
23865
|
/**
|
|
23821
23866
|
* Open URLs, files and folders with the platform's default handler, fully
|
|
23822
23867
|
* detached from the TUI process (fire-and-forget: no stdio pipes, no wait,
|
|
@@ -23977,13 +24022,13 @@ function revealInFileManager(filePath) {
|
|
|
23977
24022
|
if (existsSync(dir)) openExternal(dir);
|
|
23978
24023
|
}
|
|
23979
24024
|
//#endregion
|
|
23980
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24025
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeApi.js
|
|
23981
24026
|
/** ChatCode API request capability. Credentials stay in the host adapter. */
|
|
23982
24027
|
const CHATCODE_API_BASE_URL = "https://chatcode.chinaunicom.cn";
|
|
23983
24028
|
/** Each mounted TUI receives its own host-authorized request function. */
|
|
23984
24029
|
const ChatCodeApiContext = (0, import_react.createContext)(void 0);
|
|
23985
24030
|
//#endregion
|
|
23986
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24031
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/releaseNotes.js
|
|
23987
24032
|
const RELEASE_NOTE_PATH = join(DATA_DIR, "release-notes.json");
|
|
23988
24033
|
const RELEASE_NOTE_ENDPOINT = `${CHATCODE_API_BASE_URL}/chatcode/api/v1/cli/version/release-note`;
|
|
23989
24034
|
function acknowledgedVersion() {
|
|
@@ -24079,7 +24124,7 @@ var ReleaseNotesStore = class {
|
|
|
24079
24124
|
}
|
|
24080
24125
|
};
|
|
24081
24126
|
//#endregion
|
|
24082
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24127
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/version.js
|
|
24083
24128
|
const MAIN_CLI_PACKAGES = new Set(["@chatcode/chatcode-cli", "@chatcode/chatcode-cli-test"]);
|
|
24084
24129
|
const VERSION_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u;
|
|
24085
24130
|
const PRODUCT_VERSION_ENV = "CHATCODE_CLI_PRODUCT_VERSION";
|
|
@@ -24119,7 +24164,7 @@ function resolveProductVersion(options = {}) {
|
|
|
24119
24164
|
/** Product version shown by the TUI, shared with `cco --version` and Web. */
|
|
24120
24165
|
const PRODUCT_VERSION = resolveProductVersion();
|
|
24121
24166
|
//#endregion
|
|
24122
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24167
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/execFileNoThrow.js
|
|
24123
24168
|
const MAX_CAPTURE_BYTES = 64 * 1024;
|
|
24124
24169
|
function appendBounded(chunks, chunk, total) {
|
|
24125
24170
|
if (total.value >= MAX_CAPTURE_BYTES) return;
|
|
@@ -24189,7 +24234,7 @@ function execFileNoThrow(file, args = [], options) {
|
|
|
24189
24234
|
});
|
|
24190
24235
|
}
|
|
24191
24236
|
//#endregion
|
|
24192
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24237
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/herdr.js
|
|
24193
24238
|
const REPORT_TIMEOUT_MS = 2e3;
|
|
24194
24239
|
const RELEASE_TIMEOUT_MS = 500;
|
|
24195
24240
|
const RETRY_DELAYS_MS = [
|
|
@@ -24577,7 +24622,7 @@ var require_react_jsx_runtime_development = /* @__PURE__ */ __commonJSMin(((expo
|
|
|
24577
24622
|
})();
|
|
24578
24623
|
}));
|
|
24579
24624
|
//#endregion
|
|
24580
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24625
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themePrefs.js
|
|
24581
24626
|
var import_jsx_runtime = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
24582
24627
|
if (process.env.NODE_ENV === "production") module.exports = require_react_jsx_runtime_production();
|
|
24583
24628
|
else module.exports = require_react_jsx_runtime_development();
|
|
@@ -24634,7 +24679,7 @@ function writeThemePref(name, dir = PREFS_DIR) {
|
|
|
24634
24679
|
}
|
|
24635
24680
|
}
|
|
24636
24681
|
//#endregion
|
|
24637
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24682
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRuntimeThemeSnapshot.js
|
|
24638
24683
|
const EMPTY_THEME_SNAPSHOT = Object.freeze([]);
|
|
24639
24684
|
const subscribeNoThemes = (_listener) => () => {};
|
|
24640
24685
|
/**
|
|
@@ -24662,7 +24707,7 @@ function useRuntimeThemeSnapshot(themeHost) {
|
|
|
24662
24707
|
return import_react.useSyncExternalStore(subscribeThemes, getThemeSnapshot, getThemeSnapshot);
|
|
24663
24708
|
}
|
|
24664
24709
|
//#endregion
|
|
24665
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24710
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event.js
|
|
24666
24711
|
/**
|
|
24667
24712
|
* Base class for events with immediate-propagation control.
|
|
24668
24713
|
*
|
|
@@ -24686,7 +24731,7 @@ var Event = class {
|
|
|
24686
24731
|
}
|
|
24687
24732
|
};
|
|
24688
24733
|
//#endregion
|
|
24689
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24734
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/emitter.js
|
|
24690
24735
|
/**
|
|
24691
24736
|
* Node-compatible event emitter that is aware of the `Event` class, so
|
|
24692
24737
|
* `emit` respects `stopImmediatePropagation()` on dispatched events.
|
|
@@ -24719,7 +24764,7 @@ var EventEmitter$1 = class extends EventEmitter {
|
|
|
24719
24764
|
}
|
|
24720
24765
|
};
|
|
24721
24766
|
//#endregion
|
|
24722
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24767
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/StdinContext.js
|
|
24723
24768
|
/**
|
|
24724
24769
|
* `StdinContext` is a React context, which exposes input stream.
|
|
24725
24770
|
*/
|
|
@@ -24733,14 +24778,14 @@ const StdinContext = (0, import_react.createContext)({
|
|
|
24733
24778
|
});
|
|
24734
24779
|
StdinContext.displayName = "InternalStdinContext";
|
|
24735
24780
|
//#endregion
|
|
24736
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24781
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-stdin.js
|
|
24737
24782
|
/**
|
|
24738
24783
|
* React hook exposing the stdin stream and raw-mode helpers from `StdinContext`.
|
|
24739
24784
|
* @returns the `StdinContext` value.
|
|
24740
24785
|
*/
|
|
24741
24786
|
const useStdin = () => (0, import_react.useContext)(StdinContext);
|
|
24742
24787
|
//#endregion
|
|
24743
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24788
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/ansi.js
|
|
24744
24789
|
/**
|
|
24745
24790
|
* ANSI Control Characters and Escape Sequence Introducers
|
|
24746
24791
|
*
|
|
@@ -24814,7 +24859,7 @@ function isEscFinal(byte) {
|
|
|
24814
24859
|
return byte >= 48 && byte <= 126;
|
|
24815
24860
|
}
|
|
24816
24861
|
//#endregion
|
|
24817
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24862
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/csi.js
|
|
24818
24863
|
/**
|
|
24819
24864
|
* CSI (Control Sequence Introducer) Types
|
|
24820
24865
|
*
|
|
@@ -25130,7 +25175,7 @@ const ENABLE_WIN32_INPUT_MODE = csi("?9001h");
|
|
|
25130
25175
|
*/
|
|
25131
25176
|
const DISABLE_WIN32_INPUT_MODE = csi("?9001l");
|
|
25132
25177
|
//#endregion
|
|
25133
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25178
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/env.js
|
|
25134
25179
|
/**
|
|
25135
25180
|
* Minimal terminal-environment shim for the ported Ink core. The original
|
|
25136
25181
|
* module computed a richer `env` object from the Claude Code app context; the
|
|
@@ -25139,7 +25184,7 @@ const DISABLE_WIN32_INPUT_MODE = csi("?9001l");
|
|
|
25139
25184
|
*/
|
|
25140
25185
|
const env$1 = { terminal: (process.env.TERM_PROGRAM ?? process.env.TERM ?? "unknown").toLowerCase() };
|
|
25141
25186
|
//#endregion
|
|
25142
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25187
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/osc.js
|
|
25143
25188
|
/**
|
|
25144
25189
|
* OSC (Operating System Command) Types and Parser
|
|
25145
25190
|
*/
|
|
@@ -25535,7 +25580,7 @@ function supportsTabStatus() {
|
|
|
25535
25580
|
return process.env.USER_TYPE === "ant";
|
|
25536
25581
|
}
|
|
25537
25582
|
//#endregion
|
|
25538
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25583
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-querier.js
|
|
25539
25584
|
/**
|
|
25540
25585
|
* Query the terminal and await responses without timeouts.
|
|
25541
25586
|
*
|
|
@@ -25721,7 +25766,7 @@ var TerminalQuerier = class {
|
|
|
25721
25766
|
}
|
|
25722
25767
|
};
|
|
25723
25768
|
//#endregion
|
|
25724
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25769
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemeProvider.js
|
|
25725
25770
|
/**
|
|
25726
25771
|
* Theme provider with terminal-background auto-detection. With no explicit
|
|
25727
25772
|
* `theme` prop, no CHATCODE_CLI_TUI_THEME override and no persisted choice
|
|
@@ -25867,7 +25912,7 @@ function ThemeProvider({ children, theme, themeHost }) {
|
|
|
25867
25912
|
*/
|
|
25868
25913
|
const setTheme = import_react.useCallback((name) => {
|
|
25869
25914
|
if (!isThemeAvailable(name)) {
|
|
25870
|
-
console.warn(`[
|
|
25915
|
+
console.warn(`[chatcode-cli] theme "${name}" not found`);
|
|
25871
25916
|
return false;
|
|
25872
25917
|
}
|
|
25873
25918
|
if (!writeThemePref(name)) {
|
|
@@ -25920,7 +25965,7 @@ function useTheme() {
|
|
|
25920
25965
|
return [theme, setTheme];
|
|
25921
25966
|
}
|
|
25922
25967
|
//#endregion
|
|
25923
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25968
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/settingsEditor.js
|
|
25924
25969
|
/**
|
|
25925
25970
|
* React-free form model behind the `/settings` screen (issue #165), mirroring
|
|
25926
25971
|
* the web front door's card-form.ts semantics: a section stages what the user
|
|
@@ -26164,7 +26209,7 @@ var SettingsForm = class {
|
|
|
26164
26209
|
}
|
|
26165
26210
|
};
|
|
26166
26211
|
//#endregion
|
|
26167
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
26212
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/reload.js
|
|
26168
26213
|
/**
|
|
26169
26214
|
* `/reload` planning — the pi-style soft reload: re-read the TUI's persisted
|
|
26170
26215
|
* preference files (`~/.chatcode-cli/tui/{theme,lang,agent-preset,model,
|
|
@@ -27013,7 +27058,7 @@ var SignalExit = class extends SignalExitBase {
|
|
|
27013
27058
|
const process$2 = globalThis.process;
|
|
27014
27059
|
const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
|
|
27015
27060
|
//#endregion
|
|
27016
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
27061
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/enums.js
|
|
27017
27062
|
/**
|
|
27018
27063
|
* Yoga enums — ported from yoga-layout/src/generated/YGEnums.ts
|
|
27019
27064
|
* Kept as `const` objects (not TS enums) per repo convention.
|
|
@@ -27145,7 +27190,7 @@ const Wrap = {
|
|
|
27145
27190
|
WrapReverse: 2
|
|
27146
27191
|
};
|
|
27147
27192
|
//#endregion
|
|
27148
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
27193
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/index.js
|
|
27149
27194
|
/**
|
|
27150
27195
|
* Pure-TypeScript port of yoga-layout (Meta's flexbox engine).
|
|
27151
27196
|
*
|
|
@@ -29596,7 +29641,7 @@ Object.defineProperties(createChalk.prototype, {
|
|
|
29596
29641
|
const chalk = createChalk();
|
|
29597
29642
|
createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
29598
29643
|
//#endregion
|
|
29599
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29644
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/colorize.js
|
|
29600
29645
|
/**
|
|
29601
29646
|
* xterm.js (VS Code, Cursor, code-server, Coder) has supported truecolor
|
|
29602
29647
|
* since 2017, but code-server/Coder containers often don't set
|
|
@@ -29727,7 +29772,7 @@ function applyColor(text, color) {
|
|
|
29727
29772
|
return colorize(text, color, "foreground");
|
|
29728
29773
|
}
|
|
29729
29774
|
//#endregion
|
|
29730
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29775
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/envUtils.js
|
|
29731
29776
|
/**
|
|
29732
29777
|
* Environment truthiness check for the ported Ink core. Accepts the common
|
|
29733
29778
|
* shell truthy spellings (`1`, `true`, `yes`, `on`).
|
|
@@ -29745,7 +29790,7 @@ function isEnvTruthy(value) {
|
|
|
29745
29790
|
].includes(value.toLowerCase());
|
|
29746
29791
|
}
|
|
29747
29792
|
//#endregion
|
|
29748
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29793
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fullscreen.js
|
|
29749
29794
|
/**
|
|
29750
29795
|
* Whether mouse click handling is disabled for the ported Ink core. dsh-tui
|
|
29751
29796
|
* reads its own env flag (`CHATCODE_CLI_TUI_DISABLE_MOUSE`); the original module
|
|
@@ -29756,7 +29801,7 @@ function isMouseClicksDisabled() {
|
|
|
29756
29801
|
return isEnvTruthy(readTuiEnv("DISABLE_MOUSE"));
|
|
29757
29802
|
}
|
|
29758
29803
|
//#endregion
|
|
29759
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29804
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/input-suppression.js
|
|
29760
29805
|
/**
|
|
29761
29806
|
* Input suppression window for terminal handoffs (issue #123): when stdin is
|
|
29762
29807
|
* handed to an external TUI (full-screen editor) and back, the tty can
|
|
@@ -29783,7 +29828,7 @@ function isInputSuppressed() {
|
|
|
29783
29828
|
return Date.now() < suppressedUntil;
|
|
29784
29829
|
}
|
|
29785
29830
|
//#endregion
|
|
29786
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29831
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/tokenize.js
|
|
29787
29832
|
/**
|
|
29788
29833
|
* Input Tokenizer - Escape sequence boundary detection
|
|
29789
29834
|
*
|
|
@@ -29981,7 +30026,7 @@ function tokenize$2(input, initialState, initialBuffer, flush, x10Mouse, splitIn
|
|
|
29981
30026
|
};
|
|
29982
30027
|
}
|
|
29983
30028
|
//#endregion
|
|
29984
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
30029
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/parse-keypress.js
|
|
29985
30030
|
/**
|
|
29986
30031
|
* Keyboard input parser - converts terminal input to key events
|
|
29987
30032
|
*
|
|
@@ -31045,7 +31090,7 @@ function createWheelKey(s, name, col, row, button) {
|
|
|
31045
31090
|
};
|
|
31046
31091
|
}
|
|
31047
31092
|
//#endregion
|
|
31048
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31093
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/input-event.js
|
|
31049
31094
|
function parseKey(keypress) {
|
|
31050
31095
|
const key = {
|
|
31051
31096
|
upArrow: keypress.name === "up",
|
|
@@ -31130,7 +31175,7 @@ var InputEvent = class extends Event {
|
|
|
31130
31175
|
}
|
|
31131
31176
|
};
|
|
31132
31177
|
//#endregion
|
|
31133
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31178
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-focus-event.js
|
|
31134
31179
|
/**
|
|
31135
31180
|
* Event fired when the terminal window gains or loses focus.
|
|
31136
31181
|
*
|
|
@@ -31149,7 +31194,7 @@ var TerminalFocusEvent = class extends Event {
|
|
|
31149
31194
|
}
|
|
31150
31195
|
};
|
|
31151
31196
|
//#endregion
|
|
31152
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31197
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/node-cache.js
|
|
31153
31198
|
/** Layout bounds cached per rendered node, used for blitting and clearing. */
|
|
31154
31199
|
const nodeCache = /* @__PURE__ */ new WeakMap();
|
|
31155
31200
|
/** Rects of removed children that need clearing on next render */
|
|
@@ -31187,7 +31232,7 @@ function consumeAbsoluteRemovedFlag() {
|
|
|
31187
31232
|
return had;
|
|
31188
31233
|
}
|
|
31189
31234
|
//#endregion
|
|
31190
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31235
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-event.js
|
|
31191
31236
|
/**
|
|
31192
31237
|
* Base class for all terminal events with DOM-style propagation.
|
|
31193
31238
|
*
|
|
@@ -31316,7 +31361,7 @@ var TerminalEvent = class extends Event {
|
|
|
31316
31361
|
_prepareForTarget(_target) {}
|
|
31317
31362
|
};
|
|
31318
31363
|
//#endregion
|
|
31319
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31364
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/pointer-event.js
|
|
31320
31365
|
/**
|
|
31321
31366
|
* Base class for pointer-derived terminal events (click, wheel, hover).
|
|
31322
31367
|
*
|
|
@@ -31377,7 +31422,7 @@ var PointerEvent = class extends TerminalEvent {
|
|
|
31377
31422
|
}
|
|
31378
31423
|
};
|
|
31379
31424
|
//#endregion
|
|
31380
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31425
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/drag-event.js
|
|
31381
31426
|
/**
|
|
31382
31427
|
* Component-level drag event (DOM HTML5 drag semantics subset).
|
|
31383
31428
|
*
|
|
@@ -47485,7 +47530,7 @@ var require_react_reconciler_development = /* @__PURE__ */ __commonJSMin(((expor
|
|
|
47485
47530
|
}, module.exports.default = module.exports, Object.defineProperty(module.exports, "__esModule", { value: !0 }));
|
|
47486
47531
|
}));
|
|
47487
47532
|
//#endregion
|
|
47488
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47533
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/node.js
|
|
47489
47534
|
var import_react_reconciler = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
47490
47535
|
if (process.env.NODE_ENV === "production") module.exports = require_react_reconciler_production();
|
|
47491
47536
|
else module.exports = require_react_reconciler_development();
|
|
@@ -47561,7 +47606,7 @@ const LayoutMeasureMode = {
|
|
|
47561
47606
|
AtMost: "at-most"
|
|
47562
47607
|
};
|
|
47563
47608
|
//#endregion
|
|
47564
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47609
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/yoga.js
|
|
47565
47610
|
const EDGE_MAP = {
|
|
47566
47611
|
all: Edge.All,
|
|
47567
47612
|
horizontal: Edge.Horizontal,
|
|
@@ -47788,7 +47833,7 @@ function createYogaLayoutNode() {
|
|
|
47788
47833
|
return new YogaLayoutNode(YOGA_INSTANCE.Node.create());
|
|
47789
47834
|
}
|
|
47790
47835
|
//#endregion
|
|
47791
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47836
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/engine.js
|
|
47792
47837
|
/**
|
|
47793
47838
|
* Create a new layout node backed by the Yoga adapter.
|
|
47794
47839
|
* @returns an empty layout node with no children, styles, or measure function.
|
|
@@ -47797,7 +47842,7 @@ function createLayoutNode() {
|
|
|
47797
47842
|
return createYogaLayoutNode();
|
|
47798
47843
|
}
|
|
47799
47844
|
//#endregion
|
|
47800
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47845
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/line-width-cache.js
|
|
47801
47846
|
const cache = /* @__PURE__ */ new Map();
|
|
47802
47847
|
const MAX_CACHE_SIZE = 4096;
|
|
47803
47848
|
const MAX_CACHE_CHARS = 1e5;
|
|
@@ -47833,7 +47878,7 @@ function lineWidth(line) {
|
|
|
47833
47878
|
return width;
|
|
47834
47879
|
}
|
|
47835
47880
|
//#endregion
|
|
47836
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47881
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-text.js
|
|
47837
47882
|
/**
|
|
47838
47883
|
* Measure wrapped text dimensions in a single pass.
|
|
47839
47884
|
* @param text - the text to measure.
|
|
@@ -47864,7 +47909,7 @@ function measureText(text, maxWidth) {
|
|
|
47864
47909
|
};
|
|
47865
47910
|
}
|
|
47866
47911
|
//#endregion
|
|
47867
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47912
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/squash-text-nodes.js
|
|
47868
47913
|
/**
|
|
47869
47914
|
* Squash text nodes into styled segments, propagating styles down through the tree.
|
|
47870
47915
|
* This allows structured styling without relying on ANSI string transforms.
|
|
@@ -47912,7 +47957,7 @@ function squashTextNodes(node) {
|
|
|
47912
47957
|
return text;
|
|
47913
47958
|
}
|
|
47914
47959
|
//#endregion
|
|
47915
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47960
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/tabstops.js
|
|
47916
47961
|
const DEFAULT_TAB_INTERVAL = 8;
|
|
47917
47962
|
/**
|
|
47918
47963
|
* Expand tab characters to spaces at fixed column intervals, preserving
|
|
@@ -48362,7 +48407,7 @@ function tokenize$1(str, endChar = Number.POSITIVE_INFINITY) {
|
|
|
48362
48407
|
return ret;
|
|
48363
48408
|
}
|
|
48364
48409
|
//#endregion
|
|
48365
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
48410
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sliceAnsi.js
|
|
48366
48411
|
function isEndCode(code) {
|
|
48367
48412
|
return code.code === code.endCode;
|
|
48368
48413
|
}
|
|
@@ -48979,7 +49024,7 @@ function wrapAnsi$1(string, columns, options) {
|
|
|
48979
49024
|
return normalizeText(String(string)).replaceAll("\r\n", "\n").split("\n").map((line) => exec(expandTabs$1(line), columns, options)).join("\n");
|
|
48980
49025
|
}
|
|
48981
49026
|
//#endregion
|
|
48982
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49027
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrapAnsi.js
|
|
48983
49028
|
const wrapAnsiBun = typeof Bun !== "undefined" && typeof Bun.wrapAnsi === "function" ? Bun.wrapAnsi : null;
|
|
48984
49029
|
const SLOT_MIN_LENGTH = 2048;
|
|
48985
49030
|
let slot = null;
|
|
@@ -49026,7 +49071,7 @@ function wrapAnsiNpmIncremental(input, columns, options) {
|
|
|
49026
49071
|
*/
|
|
49027
49072
|
const wrapAnsi = wrapAnsiBun ?? wrapAnsiNpmIncremental;
|
|
49028
49073
|
//#endregion
|
|
49029
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49074
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrap-text.js
|
|
49030
49075
|
const ELLIPSIS = "…";
|
|
49031
49076
|
const WRAP_CACHE_MAX_ENTRIES = 2048;
|
|
49032
49077
|
const WRAP_CACHE_MAX_CHARS = 2e6;
|
|
@@ -49090,7 +49135,7 @@ function wrapText$1(text, maxWidth, wrapType) {
|
|
|
49090
49135
|
return text;
|
|
49091
49136
|
}
|
|
49092
49137
|
//#endregion
|
|
49093
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49138
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/dom.js
|
|
49094
49139
|
/**
|
|
49095
49140
|
* Create an element node of the given kind, allocating its yoga layout node
|
|
49096
49141
|
* unless the kind renders without layout (`ink-virtual-text`, `ink-link`,
|
|
@@ -49410,7 +49455,7 @@ function findOwnerChainAtRow(root, y) {
|
|
|
49410
49455
|
}
|
|
49411
49456
|
}
|
|
49412
49457
|
//#endregion
|
|
49413
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49458
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event-handlers.js
|
|
49414
49459
|
/**
|
|
49415
49460
|
* Reverse lookup: event type string → handler prop names.
|
|
49416
49461
|
* Used by the dispatcher for O(1) handler lookup per node.
|
|
@@ -49464,7 +49509,7 @@ const EVENT_HANDLER_PROPS = new Set([
|
|
|
49464
49509
|
"onWheel"
|
|
49465
49510
|
]);
|
|
49466
49511
|
//#endregion
|
|
49467
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49512
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/dispatcher.js
|
|
49468
49513
|
function getHandler(node, eventType, capture) {
|
|
49469
49514
|
const handlers = node._eventHandlers;
|
|
49470
49515
|
if (!handlers) return void 0;
|
|
@@ -49632,7 +49677,7 @@ var Dispatcher = class {
|
|
|
49632
49677
|
}
|
|
49633
49678
|
};
|
|
49634
49679
|
//#endregion
|
|
49635
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49680
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/focus-event.js
|
|
49636
49681
|
/**
|
|
49637
49682
|
* Focus event for component focus changes.
|
|
49638
49683
|
*
|
|
@@ -49657,7 +49702,7 @@ var FocusEvent = class extends TerminalEvent {
|
|
|
49657
49702
|
}
|
|
49658
49703
|
};
|
|
49659
49704
|
//#endregion
|
|
49660
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49705
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/focus.js
|
|
49661
49706
|
const MAX_FOCUS_STACK = 32;
|
|
49662
49707
|
/**
|
|
49663
49708
|
* DOM-like focus manager for the Ink terminal UI.
|
|
@@ -49813,7 +49858,7 @@ function getFocusManager(node) {
|
|
|
49813
49858
|
return getRootNode(node).focusManager;
|
|
49814
49859
|
}
|
|
49815
49860
|
//#endregion
|
|
49816
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49861
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/styles.js
|
|
49817
49862
|
const applyPositionStyles = (node, style) => {
|
|
49818
49863
|
if ("position" in style) node.setPositionType(style.position === "absolute" ? LayoutPositionType.Absolute : LayoutPositionType.Relative);
|
|
49819
49864
|
if ("top" in style) applyPositionEdge(node, "top", style.top);
|
|
@@ -49948,7 +49993,7 @@ const styles = (node, style = {}, resolvedStyle) => {
|
|
|
49948
49993
|
applyGapStyles(node, style);
|
|
49949
49994
|
};
|
|
49950
49995
|
//#endregion
|
|
49951
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49996
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/reconciler.js
|
|
49952
49997
|
if (process.env.NODE_ENV === "development") try {
|
|
49953
49998
|
import("./devtools-la_KkjCS.js");
|
|
49954
49999
|
} catch (error) {
|
|
@@ -50268,7 +50313,7 @@ const reconciler = (0, import_react_reconciler.default)({
|
|
|
50268
50313
|
});
|
|
50269
50314
|
dispatcher.discreteUpdates = reconciler.discreteUpdates.bind(reconciler);
|
|
50270
50315
|
//#endregion
|
|
50271
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
50316
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/geometry.js
|
|
50272
50317
|
/**
|
|
50273
50318
|
* Compute the smallest rectangle containing both input rectangles.
|
|
50274
50319
|
* @param a - the first rectangle.
|
|
@@ -50300,7 +50345,7 @@ function clamp(value, min, max) {
|
|
|
50300
50345
|
return value;
|
|
50301
50346
|
}
|
|
50302
50347
|
//#endregion
|
|
50303
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
50348
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/warn.js
|
|
50304
50349
|
/**
|
|
50305
50350
|
* Log a warning when a value is present but not an integer.
|
|
50306
50351
|
* @param value - the value to check; undefined is skipped silently.
|
|
@@ -50312,7 +50357,7 @@ function ifNotInteger(value, name) {
|
|
|
50312
50357
|
logForDebugging(`${name} should be an integer, got ${value}`, { level: "warn" });
|
|
50313
50358
|
}
|
|
50314
50359
|
//#endregion
|
|
50315
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
50360
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/screen.js
|
|
50316
50361
|
/**
|
|
50317
50362
|
* Pool of character strings shared across all screens.
|
|
50318
50363
|
* With a shared pool, interned char IDs are valid across screens, so
|
|
@@ -51381,7 +51426,7 @@ function markNoSelectRegion(screen, x, y, width, height) {
|
|
|
51381
51426
|
}
|
|
51382
51427
|
}
|
|
51383
51428
|
//#endregion
|
|
51384
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
51429
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/selection.js
|
|
51385
51430
|
/**
|
|
51386
51431
|
* Text selection state for fullscreen mode.
|
|
51387
51432
|
*
|
|
@@ -52347,7 +52392,7 @@ function applySelectionOverlay(screen, selection, stylePool) {
|
|
|
52347
52392
|
}
|
|
52348
52393
|
}
|
|
52349
52394
|
//#endregion
|
|
52350
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52395
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/dec.js
|
|
52351
52396
|
/**
|
|
52352
52397
|
* DEC (Digital Equipment Corporation) Private Mode Sequences
|
|
52353
52398
|
*
|
|
@@ -52413,7 +52458,7 @@ const ENABLE_MOUSE_TRACKING = decset(DEC.MOUSE_NORMAL) + decset(DEC.MOUSE_BUTTON
|
|
|
52413
52458
|
/** Disable all mouse tracking modes enabled by ENABLE_MOUSE_TRACKING. */
|
|
52414
52459
|
const DISABLE_MOUSE_TRACKING = decreset(DEC.MOUSE_SGR) + decreset(DEC.MOUSE_ANY) + decreset(DEC.MOUSE_BUTTON) + decreset(DEC.MOUSE_NORMAL);
|
|
52415
52460
|
//#endregion
|
|
52416
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52461
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal.js
|
|
52417
52462
|
/**
|
|
52418
52463
|
* True when running inside a JetBrains IDE terminal (JediTerm). The IDE
|
|
52419
52464
|
* injects `TERMINAL_EMULATOR=JetBrains-JediTerm` into the pty environment of
|
|
@@ -52655,7 +52700,7 @@ function writeDiffToTerminal(terminal, diff, skipSyncMarkers = false) {
|
|
|
52655
52700
|
terminal.stdout.write(buffer);
|
|
52656
52701
|
}
|
|
52657
52702
|
//#endregion
|
|
52658
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52703
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-focus-state.js
|
|
52659
52704
|
let focusState = "unknown";
|
|
52660
52705
|
const resolvers = /* @__PURE__ */ new Set();
|
|
52661
52706
|
const subscribers = /* @__PURE__ */ new Set();
|
|
@@ -52699,7 +52744,7 @@ function subscribeTerminalFocus(cb) {
|
|
|
52699
52744
|
};
|
|
52700
52745
|
}
|
|
52701
52746
|
//#endregion
|
|
52702
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52747
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AppContext.js
|
|
52703
52748
|
/**
|
|
52704
52749
|
* `AppContext` is a React context, which exposes a method to manually exit the app (unmount).
|
|
52705
52750
|
*/
|
|
@@ -52744,13 +52789,13 @@ var require_react_compiler_runtime_development = /* @__PURE__ */ __commonJSMin((
|
|
|
52744
52789
|
})();
|
|
52745
52790
|
}));
|
|
52746
52791
|
//#endregion
|
|
52747
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52792
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/constants.js
|
|
52748
52793
|
var import_compiler_runtime = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
52749
52794
|
if (process.env.NODE_ENV === "production") module.exports = require_react_compiler_runtime_production();
|
|
52750
52795
|
else module.exports = require_react_compiler_runtime_development();
|
|
52751
52796
|
})))();
|
|
52752
52797
|
//#endregion
|
|
52753
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52798
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/geometry-trace.js
|
|
52754
52799
|
/**
|
|
52755
52800
|
* Geometry forensics — per-frame scroll-geometry trace (issues #421/#433).
|
|
52756
52801
|
*
|
|
@@ -52830,7 +52875,7 @@ function endGeometryFrame(durationMs) {
|
|
|
52830
52875
|
};
|
|
52831
52876
|
}
|
|
52832
52877
|
//#endregion
|
|
52833
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52878
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalFocusContext.js
|
|
52834
52879
|
const TerminalFocusContext = (0, import_react.createContext)({
|
|
52835
52880
|
isTerminalFocused: true,
|
|
52836
52881
|
terminalFocusState: "unknown"
|
|
@@ -52865,7 +52910,7 @@ function TerminalFocusProvider(t0) {
|
|
|
52865
52910
|
return t2;
|
|
52866
52911
|
}
|
|
52867
52912
|
//#endregion
|
|
52868
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52913
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-focus.js
|
|
52869
52914
|
/**
|
|
52870
52915
|
* Hook to check if the terminal has focus.
|
|
52871
52916
|
*
|
|
@@ -52880,7 +52925,7 @@ function useTerminalFocus() {
|
|
|
52880
52925
|
return isTerminalFocused;
|
|
52881
52926
|
}
|
|
52882
52927
|
//#endregion
|
|
52883
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52928
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ClockContext.js
|
|
52884
52929
|
function createClock(tickIntervalMs) {
|
|
52885
52930
|
const subscribers = /* @__PURE__ */ new Map();
|
|
52886
52931
|
let interval = null;
|
|
@@ -52977,7 +53022,7 @@ function _temp() {
|
|
|
52977
53022
|
return createClock(16);
|
|
52978
53023
|
}
|
|
52979
53024
|
//#endregion
|
|
52980
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53025
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/CursorDeclarationContext.js
|
|
52981
53026
|
/**
|
|
52982
53027
|
* React context that provides the cursor-declaration setter to descendants.
|
|
52983
53028
|
*/
|
|
@@ -53017,7 +53062,7 @@ var require_escape_string_regexp = /* @__PURE__ */ __commonJSMin(((exports, modu
|
|
|
53017
53062
|
};
|
|
53018
53063
|
}));
|
|
53019
53064
|
//#endregion
|
|
53020
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53065
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Box.js
|
|
53021
53066
|
var import_stack_utils = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
53022
53067
|
const escapeStringRegexp = require_escape_string_regexp();
|
|
53023
53068
|
const cwd = typeof process === "object" && process && typeof process.cwd === "function" ? process.cwd() : ".";
|
|
@@ -53385,7 +53430,7 @@ function Box(t0) {
|
|
|
53385
53430
|
return t4;
|
|
53386
53431
|
}
|
|
53387
53432
|
//#endregion
|
|
53388
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53433
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Text.js
|
|
53389
53434
|
const memoizedStylesForWrap = {
|
|
53390
53435
|
wrap: {
|
|
53391
53436
|
flexGrow: 0,
|
|
@@ -53537,7 +53582,7 @@ function Text(t0) {
|
|
|
53537
53582
|
return t16;
|
|
53538
53583
|
}
|
|
53539
53584
|
//#endregion
|
|
53540
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53585
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ErrorOverview.js
|
|
53541
53586
|
const cleanupPath = (path) => {
|
|
53542
53587
|
return path?.replace(`file://${process.cwd()}/`, "");
|
|
53543
53588
|
};
|
|
@@ -53642,10 +53687,10 @@ function ErrorOverview({ error }) {
|
|
|
53642
53687
|
});
|
|
53643
53688
|
}
|
|
53644
53689
|
//#endregion
|
|
53645
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53690
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalSizeContext.js
|
|
53646
53691
|
const TerminalSizeContext = (0, import_react.createContext)(null);
|
|
53647
53692
|
//#endregion
|
|
53648
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53693
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/useTerminalNotification.js
|
|
53649
53694
|
/**
|
|
53650
53695
|
* React context providing a raw terminal write function. Null until a
|
|
53651
53696
|
* TerminalWriteProvider is mounted.
|
|
@@ -53656,7 +53701,7 @@ const TerminalWriteContext = (0, import_react.createContext)(null);
|
|
|
53656
53701
|
*/
|
|
53657
53702
|
const TerminalWriteProvider = TerminalWriteContext.Provider;
|
|
53658
53703
|
//#endregion
|
|
53659
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53704
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/App.js
|
|
53660
53705
|
const SUPPORTS_SUSPEND = process.platform !== "win32";
|
|
53661
53706
|
const STDIN_RESUME_GAP_MS = 5e3;
|
|
53662
53707
|
const MULTI_CLICK_TIMEOUT_MS = 500;
|
|
@@ -54182,7 +54227,7 @@ function handleMouseEvent(app, m) {
|
|
|
54182
54227
|
}
|
|
54183
54228
|
}
|
|
54184
54229
|
//#endregion
|
|
54185
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54230
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/keyboard-event.js
|
|
54186
54231
|
/**
|
|
54187
54232
|
* Keyboard event dispatched through the DOM tree via capture/bubble.
|
|
54188
54233
|
*
|
|
@@ -54242,7 +54287,7 @@ function keyFromParsed(parsed) {
|
|
|
54242
54287
|
return name || seq;
|
|
54243
54288
|
}
|
|
54244
54289
|
//#endregion
|
|
54245
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54290
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/frame.js
|
|
54246
54291
|
/**
|
|
54247
54292
|
* Create an empty frame with a zero-size screen, the given viewport, and a
|
|
54248
54293
|
* visible cursor at the origin.
|
|
@@ -54268,7 +54313,7 @@ function emptyFrame(rows, columns, stylePool, charPool, hyperlinkPool) {
|
|
|
54268
54313
|
};
|
|
54269
54314
|
}
|
|
54270
54315
|
//#endregion
|
|
54271
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54316
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/click-event.js
|
|
54272
54317
|
/**
|
|
54273
54318
|
* Mouse click event. Fired on left-button release without drag, only when
|
|
54274
54319
|
* mouse tracking is enabled (i.e. inside <AlternateScreen>).
|
|
@@ -54299,7 +54344,7 @@ var ClickEvent = class extends PointerEvent {
|
|
|
54299
54344
|
}
|
|
54300
54345
|
};
|
|
54301
54346
|
//#endregion
|
|
54302
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54347
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/context-menu-event.js
|
|
54303
54348
|
/**
|
|
54304
54349
|
* Mouse context-menu event. Fired on right-button press (SGR button 2,
|
|
54305
54350
|
* low bits of the raw button byte), mirroring the DOM `contextmenu` event
|
|
@@ -54323,7 +54368,7 @@ var ContextMenuEvent = class extends PointerEvent {
|
|
|
54323
54368
|
}
|
|
54324
54369
|
};
|
|
54325
54370
|
//#endregion
|
|
54326
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54371
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/wheel-event.js
|
|
54327
54372
|
/**
|
|
54328
54373
|
* Mouse wheel event dispatched to the ScrollBox under the pointer.
|
|
54329
54374
|
*
|
|
@@ -54359,7 +54404,7 @@ function indentString(string, count = 1, options = {}) {
|
|
|
54359
54404
|
return string.replace(regex, indent.repeat(count));
|
|
54360
54405
|
}
|
|
54361
54406
|
//#endregion
|
|
54362
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54407
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/get-max-width.js
|
|
54363
54408
|
/**
|
|
54364
54409
|
* Returns the yoga node's content width (computed width minus padding and
|
|
54365
54410
|
* border).
|
|
@@ -54464,7 +54509,7 @@ var cli_boxes_default = {
|
|
|
54464
54509
|
}
|
|
54465
54510
|
};
|
|
54466
54511
|
//#endregion
|
|
54467
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54512
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-border.js
|
|
54468
54513
|
/** Built-in border styles beyond those provided by cli-boxes. */
|
|
54469
54514
|
const CUSTOM_BORDER_STYLES = { dashed: {
|
|
54470
54515
|
top: "╌",
|
|
@@ -54554,7 +54599,7 @@ const renderBorder = (x, y, node, output) => {
|
|
|
54554
54599
|
}
|
|
54555
54600
|
};
|
|
54556
54601
|
//#endregion
|
|
54557
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54602
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/widest-line.js
|
|
54558
54603
|
/**
|
|
54559
54604
|
* Get the display width of the widest line in a string.
|
|
54560
54605
|
* @param string - the text to measure, possibly containing newlines.
|
|
@@ -54573,7 +54618,7 @@ function widestLine(string) {
|
|
|
54573
54618
|
return maxWidth;
|
|
54574
54619
|
}
|
|
54575
54620
|
//#endregion
|
|
54576
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54621
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-node-to-output.js
|
|
54577
54622
|
function isXtermJsHost() {
|
|
54578
54623
|
return process.env.TERM_PROGRAM === "vscode" || isXtermJs();
|
|
54579
54624
|
}
|
|
@@ -55389,7 +55434,7 @@ function dropSubtreeCache(node) {
|
|
|
55389
55434
|
for (const child of node.childNodes) if (child.nodeName !== "#text") dropSubtreeCache(child);
|
|
55390
55435
|
}
|
|
55391
55436
|
//#endregion
|
|
55392
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55437
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hit-test.js
|
|
55393
55438
|
/**
|
|
55394
55439
|
* Find the deepest DOM element whose rendered rect contains (col, row).
|
|
55395
55440
|
*
|
|
@@ -55779,7 +55824,7 @@ function dispatchHover(root, col, row, hovered) {
|
|
|
55779
55824
|
}
|
|
55780
55825
|
}
|
|
55781
55826
|
//#endregion
|
|
55782
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55827
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/flush-tick.js
|
|
55783
55828
|
/**
|
|
55784
55829
|
* Monotonic terminal-flush counter for the ported Ink core.
|
|
55785
55830
|
*
|
|
@@ -55812,7 +55857,7 @@ function getTerminalFlushTick() {
|
|
|
55812
55857
|
return flushTick;
|
|
55813
55858
|
}
|
|
55814
55859
|
//#endregion
|
|
55815
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55860
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/instances.js
|
|
55816
55861
|
/**
|
|
55817
55862
|
* Live Ink instances keyed by their output stream, so consecutive render()
|
|
55818
55863
|
* calls reuse the instance for a stream instead of creating a new one.
|
|
@@ -55821,7 +55866,7 @@ function getTerminalFlushTick() {
|
|
|
55821
55866
|
*/
|
|
55822
55867
|
const instances = /* @__PURE__ */ new Map();
|
|
55823
55868
|
//#endregion
|
|
55824
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55869
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/log-update.js
|
|
55825
55870
|
const CARRIAGE_RETURN = { type: "carriageReturn" };
|
|
55826
55871
|
const NEWLINE = {
|
|
55827
55872
|
type: "stdout",
|
|
@@ -56437,7 +56482,7 @@ var VirtualScreen = class {
|
|
|
56437
56482
|
}
|
|
56438
56483
|
};
|
|
56439
56484
|
//#endregion
|
|
56440
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
56485
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/optimizer.js
|
|
56441
56486
|
/**
|
|
56442
56487
|
* Optimize a diff by applying all optimization rules in a single pass.
|
|
56443
56488
|
* This reduces the number of patches that need to be written to the terminal.
|
|
@@ -56502,7 +56547,7 @@ function optimize(diff) {
|
|
|
56502
56547
|
return result;
|
|
56503
56548
|
}
|
|
56504
56549
|
//#endregion
|
|
56505
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
56550
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/bidi.js
|
|
56506
56551
|
var import_bidi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
56507
56552
|
(function(global, factory) {
|
|
56508
56553
|
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 +57323,7 @@ function hasRTLCharacters(text) {
|
|
|
57278
57323
|
return /[\u0590-\u05FF\uFB1D-\uFB4F\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF\u0780-\u07BF\u0700-\u074F]/u.test(text);
|
|
57279
57324
|
}
|
|
57280
57325
|
//#endregion
|
|
57281
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
57326
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/output.js
|
|
57282
57327
|
/**
|
|
57283
57328
|
* charCache bounds. The entry-count cap alone was not enough: a streaming
|
|
57284
57329
|
* line produces a NEW cache key on every frame, and each entry's cost is
|
|
@@ -57948,7 +57993,7 @@ function writeLineToScreen(screen, line, x, y, screenWidth, stylePool, charCache
|
|
|
57948
57993
|
return offsetX;
|
|
57949
57994
|
}
|
|
57950
57995
|
//#endregion
|
|
57951
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
57996
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-to-screen.js
|
|
57952
57997
|
const timing = {
|
|
57953
57998
|
reconcile: 0,
|
|
57954
57999
|
yoga: 0,
|
|
@@ -58042,7 +58087,7 @@ function applyPositionedHighlight(screen, stylePool, positions, rowOffset, curre
|
|
|
58042
58087
|
return true;
|
|
58043
58088
|
}
|
|
58044
58089
|
//#endregion
|
|
58045
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
58090
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/renderer.js
|
|
58046
58091
|
/**
|
|
58047
58092
|
* Create the renderer function for a root DOM node. The returned renderer
|
|
58048
58093
|
* reuses an Output across frames so its character cache persists.
|
|
@@ -58117,7 +58162,7 @@ function createRenderer(node, stylePool) {
|
|
|
58117
58162
|
};
|
|
58118
58163
|
}
|
|
58119
58164
|
//#endregion
|
|
58120
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
58165
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/searchHighlight.js
|
|
58121
58166
|
/**
|
|
58122
58167
|
* Highlight all visible occurrences of `query` in the screen buffer by
|
|
58123
58168
|
* inverting cell styles (SGR 7). Post-render, same damage-tracking machinery
|
|
@@ -58179,7 +58224,7 @@ function applySearchHighlight(screen, query, stylePool) {
|
|
|
58179
58224
|
return applied;
|
|
58180
58225
|
}
|
|
58181
58226
|
//#endregion
|
|
58182
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
58227
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/ink.js
|
|
58183
58228
|
const ALT_SCREEN_ANCHOR_CURSOR = Object.freeze({
|
|
58184
58229
|
x: 0,
|
|
58185
58230
|
y: 0,
|
|
@@ -59732,7 +59777,7 @@ const CONSOLE_STDERR_METHODS = [
|
|
|
59732
59777
|
"trace"
|
|
59733
59778
|
];
|
|
59734
59779
|
//#endregion
|
|
59735
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59780
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/root.js
|
|
59736
59781
|
/**
|
|
59737
59782
|
* Mount a component and render the output.
|
|
59738
59783
|
* @param node - the React element to render.
|
|
@@ -59815,7 +59860,7 @@ const getInstance = (stdout, createInstance) => {
|
|
|
59815
59860
|
return instance;
|
|
59816
59861
|
};
|
|
59817
59862
|
//#endregion
|
|
59818
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59863
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedBox.js
|
|
59819
59864
|
/** Resolves a color value that may be a theme key to a raw Color. */
|
|
59820
59865
|
function resolveColor$1(color, theme) {
|
|
59821
59866
|
if (!color) return void 0;
|
|
@@ -59840,7 +59885,7 @@ function ThemedBox({ borderColor, borderTopColor, borderBottomColor, borderLeftC
|
|
|
59840
59885
|
});
|
|
59841
59886
|
}
|
|
59842
59887
|
//#endregion
|
|
59843
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59888
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedText.js
|
|
59844
59889
|
/**
|
|
59845
59890
|
* Colors uncolored ThemedText in the subtree. Precedence: explicit `color` >
|
|
59846
59891
|
* this > dimColor (in the Claude Code visual language, where message rows
|
|
@@ -59876,7 +59921,7 @@ function ThemedText({ color, backgroundColor, dimColor = false, bold = false, it
|
|
|
59876
59921
|
});
|
|
59877
59922
|
}
|
|
59878
59923
|
//#endregion
|
|
59879
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59924
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Spacer.js
|
|
59880
59925
|
/**
|
|
59881
59926
|
* A flexible space that expands along the major axis of its containing layout.
|
|
59882
59927
|
* It's useful as a shortcut for filling all the available spaces between elements.
|
|
@@ -59891,7 +59936,7 @@ function Spacer() {
|
|
|
59891
59936
|
return t0;
|
|
59892
59937
|
}
|
|
59893
59938
|
//#endregion
|
|
59894
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59939
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Newline.js
|
|
59895
59940
|
/**
|
|
59896
59941
|
* Adds one or more newline (\n) characters. Must be used within <Text> components.
|
|
59897
59942
|
*/
|
|
@@ -59914,7 +59959,7 @@ function Newline(t0) {
|
|
|
59914
59959
|
return t3;
|
|
59915
59960
|
}
|
|
59916
59961
|
//#endregion
|
|
59917
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59962
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/NoSelect.js
|
|
59918
59963
|
/**
|
|
59919
59964
|
* Marks its contents as non-selectable in fullscreen text selection.
|
|
59920
59965
|
* Cells inside this box are skipped by both the selection highlight and
|
|
@@ -59965,7 +60010,7 @@ function NoSelect(t0) {
|
|
|
59965
60010
|
return t2;
|
|
59966
60011
|
}
|
|
59967
60012
|
//#endregion
|
|
59968
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60013
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AlternateScreen.js
|
|
59969
60014
|
/**
|
|
59970
60015
|
* Run children in the terminal's alternate screen buffer, constrained to
|
|
59971
60016
|
* the viewport height. While mounted:
|
|
@@ -60040,7 +60085,7 @@ function AlternateScreen(t0) {
|
|
|
60040
60085
|
return t5;
|
|
60041
60086
|
}
|
|
60042
60087
|
//#endregion
|
|
60043
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60088
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ScrollBox.js
|
|
60044
60089
|
/**
|
|
60045
60090
|
* A Box with `overflow: scroll` and an imperative scroll API.
|
|
60046
60091
|
*
|
|
@@ -60218,7 +60263,7 @@ function ScrollBox({ children, ref, stickyScroll, ...style }) {
|
|
|
60218
60263
|
});
|
|
60219
60264
|
}
|
|
60220
60265
|
//#endregion
|
|
60221
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60266
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-input.js
|
|
60222
60267
|
/**
|
|
60223
60268
|
* Keep an event listener stable while always dispatching to the latest render's
|
|
60224
60269
|
* callback. Keeping this hook local is important for packaged installs: a
|
|
@@ -60284,7 +60329,7 @@ const useInput = (inputHandler, options = {}) => {
|
|
|
60284
60329
|
}, [internal_eventEmitter, handleData]);
|
|
60285
60330
|
};
|
|
60286
60331
|
//#endregion
|
|
60287
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60332
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-selection.js
|
|
60288
60333
|
/**
|
|
60289
60334
|
* Access to text selection operations on the Ink instance (fullscreen only).
|
|
60290
60335
|
* Returns no-op functions when fullscreen mode is disabled.
|
|
@@ -60324,7 +60369,7 @@ function useSelection() {
|
|
|
60324
60369
|
}, [ink]);
|
|
60325
60370
|
}
|
|
60326
60371
|
//#endregion
|
|
60327
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60372
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-copy-on-select.js
|
|
60328
60373
|
/**
|
|
60329
60374
|
* Copy-on-select: when a drag finishes (or a double/triple click, or a
|
|
60330
60375
|
* shift+arrow extension, lands a selection), copy the selected text to the
|
|
@@ -60364,14 +60409,14 @@ function useCopyOnSelect(onCopied) {
|
|
|
60364
60409
|
]);
|
|
60365
60410
|
}
|
|
60366
60411
|
//#endregion
|
|
60367
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60412
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-app.js
|
|
60368
60413
|
/**
|
|
60369
60414
|
* React hook exposing the manual app-exit function from `AppContext`.
|
|
60370
60415
|
* @returns the `AppContext` value, whose `exit` function unmounts the app.
|
|
60371
60416
|
*/
|
|
60372
60417
|
const useApp = () => (0, import_react.useContext)(AppContext);
|
|
60373
60418
|
//#endregion
|
|
60374
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60419
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-viewport.js
|
|
60375
60420
|
/**
|
|
60376
60421
|
* Hook to detect if a component is within the terminal viewport.
|
|
60377
60422
|
*
|
|
@@ -60425,7 +60470,7 @@ function useTerminalViewport() {
|
|
|
60425
60470
|
return [setElement, entryRef.current];
|
|
60426
60471
|
}
|
|
60427
60472
|
//#endregion
|
|
60428
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60473
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-animation-frame.js
|
|
60429
60474
|
/**
|
|
60430
60475
|
* Hook for synchronized animations that pause when offscreen.
|
|
60431
60476
|
*
|
|
@@ -60474,7 +60519,7 @@ function useAnimationFrame(intervalMs = 16) {
|
|
|
60474
60519
|
return [viewportRef, time];
|
|
60475
60520
|
}
|
|
60476
60521
|
//#endregion
|
|
60477
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60522
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-size.js
|
|
60478
60523
|
/** Terminal dimensions from the Ink app shell (from Claude Code).
|
|
60479
60524
|
* @returns the current terminal dimensions.
|
|
60480
60525
|
*/
|
|
@@ -60484,7 +60529,7 @@ function useTerminalSize() {
|
|
|
60484
60529
|
return size;
|
|
60485
60530
|
}
|
|
60486
60531
|
//#endregion
|
|
60487
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60532
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useBlink.js
|
|
60488
60533
|
const BLINK_INTERVAL_MS = 600;
|
|
60489
60534
|
/**
|
|
60490
60535
|
* Hook for synchronized blinking animations that pause when offscreen
|
|
@@ -60501,7 +60546,7 @@ function useBlink(enabled, intervalMs = BLINK_INTERVAL_MS) {
|
|
|
60501
60546
|
return [ref, Math.floor(time / intervalMs) % 2 === 0];
|
|
60502
60547
|
}
|
|
60503
60548
|
//#endregion
|
|
60504
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60549
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/supports-hyperlinks.js
|
|
60505
60550
|
var import_supports_hyperlinks = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
60506
60551
|
const supportsColor = require_supports_color();
|
|
60507
60552
|
const hasFlag = require_has_flag();
|
|
@@ -60598,7 +60643,7 @@ function supportsHyperlinks(options) {
|
|
|
60598
60643
|
return false;
|
|
60599
60644
|
}
|
|
60600
60645
|
//#endregion
|
|
60601
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60646
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Link.js
|
|
60602
60647
|
function Link(t0) {
|
|
60603
60648
|
const $ = (0, import_compiler_runtime.c)(5);
|
|
60604
60649
|
const { children, url, fallback } = t0;
|
|
@@ -60626,7 +60671,7 @@ function Link(t0) {
|
|
|
60626
60671
|
return t2;
|
|
60627
60672
|
}
|
|
60628
60673
|
//#endregion
|
|
60629
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60674
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/esc.js
|
|
60630
60675
|
/**
|
|
60631
60676
|
* ESC Sequence Parser
|
|
60632
60677
|
*
|
|
@@ -60682,7 +60727,7 @@ function parseEsc(chars) {
|
|
|
60682
60727
|
};
|
|
60683
60728
|
}
|
|
60684
60729
|
//#endregion
|
|
60685
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60730
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/types.js
|
|
60686
60731
|
/**
|
|
60687
60732
|
* ANSI Parser - Semantic Types
|
|
60688
60733
|
*
|
|
@@ -60710,7 +60755,7 @@ function defaultStyle() {
|
|
|
60710
60755
|
};
|
|
60711
60756
|
}
|
|
60712
60757
|
//#endregion
|
|
60713
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60758
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/sgr.js
|
|
60714
60759
|
/**
|
|
60715
60760
|
* SGR (Select Graphic Rendition) Parser
|
|
60716
60761
|
*
|
|
@@ -61018,7 +61063,7 @@ function applySGR(paramStr, style) {
|
|
|
61018
61063
|
return s;
|
|
61019
61064
|
}
|
|
61020
61065
|
//#endregion
|
|
61021
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61066
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/parser.js
|
|
61022
61067
|
/**
|
|
61023
61068
|
* ANSI Parser - Semantic Action Generator
|
|
61024
61069
|
*
|
|
@@ -61395,7 +61440,7 @@ var Parser = class {
|
|
|
61395
61440
|
}
|
|
61396
61441
|
};
|
|
61397
61442
|
//#endregion
|
|
61398
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61443
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/Ansi.js
|
|
61399
61444
|
/**
|
|
61400
61445
|
* Component that parses ANSI escape codes and renders them using Text components.
|
|
61401
61446
|
*
|
|
@@ -61646,7 +61691,7 @@ function StyledText(t0) {
|
|
|
61646
61691
|
return t1;
|
|
61647
61692
|
}
|
|
61648
61693
|
//#endregion
|
|
61649
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61694
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ui.js
|
|
61650
61695
|
var ui_exports = /* @__PURE__ */ __exportAll({
|
|
61651
61696
|
AlternateScreen: () => AlternateScreen,
|
|
61652
61697
|
Ansi: () => Ansi,
|
|
@@ -61670,7 +61715,7 @@ var ui_exports = /* @__PURE__ */ __exportAll({
|
|
|
61670
61715
|
useTheme: () => useTheme
|
|
61671
61716
|
});
|
|
61672
61717
|
//#endregion
|
|
61673
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61718
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PageMargin.js
|
|
61674
61719
|
/** 嵌套安全的 inset(若未来出现嵌套 PageMargin 会累加)。 */
|
|
61675
61720
|
const PageInsetContext = import_react.createContext({
|
|
61676
61721
|
x: 0,
|
|
@@ -61724,7 +61769,7 @@ function PageMargin({ children }) {
|
|
|
61724
61769
|
});
|
|
61725
61770
|
}
|
|
61726
61771
|
//#endregion
|
|
61727
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61772
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/figures.js
|
|
61728
61773
|
/**
|
|
61729
61774
|
* UI glyph constants used across the TUI: prompt markers, status badges,
|
|
61730
61775
|
* direction arrows, media controls, reasoning-effort indicators, and
|
|
@@ -61751,7 +61796,7 @@ const THINKING_SPINNER_FRAMES = [
|
|
|
61751
61796
|
"⠏"
|
|
61752
61797
|
];
|
|
61753
61798
|
//#endregion
|
|
61754
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61799
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerWizard.js
|
|
61755
61800
|
/**
|
|
61756
61801
|
* `/provider` wizard — interactively adds, edits, or deletes an LLM
|
|
61757
61802
|
* provider route at runtime.
|
|
@@ -62477,7 +62522,7 @@ function buildProfile(input) {
|
|
|
62477
62522
|
return profile;
|
|
62478
62523
|
}
|
|
62479
62524
|
//#endregion
|
|
62480
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
62525
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/modelConfigWizard.js
|
|
62481
62526
|
/** `/model-config`: platform catalog plus ~/.chatcode-cli/settings.json custom models. */
|
|
62482
62527
|
const CUSTOM_MODEL_PROTOCOLS = ["openai-completions", "anthropic-messages"];
|
|
62483
62528
|
const LEGAL_API_KEY = /^[\x21-\x7e]+$/u;
|
|
@@ -63116,7 +63161,7 @@ function parseCapacity(value) {
|
|
|
63116
63161
|
return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : void 0;
|
|
63117
63162
|
}
|
|
63118
63163
|
//#endregion
|
|
63119
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
63164
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-declared-cursor.js
|
|
63120
63165
|
/**
|
|
63121
63166
|
* Declares where the terminal cursor should be parked after each frame.
|
|
63122
63167
|
*
|
|
@@ -63165,7 +63210,7 @@ function useDeclaredCursor(options) {
|
|
|
63165
63210
|
return setNode;
|
|
63166
63211
|
}
|
|
63167
63212
|
//#endregion
|
|
63168
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
63213
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-element.js
|
|
63169
63214
|
/**
|
|
63170
63215
|
* Measure the rendered dimensions of a Box element.
|
|
63171
63216
|
* @param node - the DOM element to measure.
|
|
@@ -63176,7 +63221,7 @@ const measureElement = (node) => ({
|
|
|
63176
63221
|
height: node.yogaNode?.getComputedHeight() ?? 0
|
|
63177
63222
|
});
|
|
63178
63223
|
//#endregion
|
|
63179
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
63224
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Divider.js
|
|
63180
63225
|
const MAX_APPLIED_MEASUREMENTS = 8;
|
|
63181
63226
|
/**
|
|
63182
63227
|
* A horizontal divider line, optionally with a title in the middle
|
|
@@ -64899,7 +64944,7 @@ k.parseInline;
|
|
|
64899
64944
|
T.parse;
|
|
64900
64945
|
R.lex;
|
|
64901
64946
|
//#endregion
|
|
64902
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64947
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxTheme.js
|
|
64903
64948
|
/** highlight.js token classes -> theme syntax tokens. `default` catches
|
|
64904
64949
|
* every unmapped class so cli-highlight's own yellow never leaks through
|
|
64905
64950
|
* (issue #250, P2-6). */
|
|
@@ -64965,7 +65010,7 @@ function buildSyntaxTheme(theme) {
|
|
|
64965
65010
|
return out;
|
|
64966
65011
|
}
|
|
64967
65012
|
//#endregion
|
|
64968
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65013
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/hyperlink.js
|
|
64969
65014
|
/** OSC 8 hyperlink start sequence: `ESC ] 8 ; ;`, followed by the URL. */
|
|
64970
65015
|
const OSC8_START = "\x1B]8;;";
|
|
64971
65016
|
/** Schemes a rendered hyperlink may point at. Anything else degrades to
|
|
@@ -65007,7 +65052,7 @@ function createHyperlink(url, content, options) {
|
|
|
65007
65052
|
return `${OSC8_START}${safeUrl}${(options?.style ?? ((text) => chalk.blue(text)))(displayText)}${OSC8_START}`;
|
|
65008
65053
|
}
|
|
65009
65054
|
//#endregion
|
|
65010
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65055
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileTarget.js
|
|
65011
65056
|
/**
|
|
65012
65057
|
* Clickable file targets: turning path-like text in AI output into
|
|
65013
65058
|
* clickable targets, and resolving those targets back to absolute paths at
|
|
@@ -65149,7 +65194,7 @@ function linkifyFilePaths(text, wrap) {
|
|
|
65149
65194
|
});
|
|
65150
65195
|
}
|
|
65151
65196
|
//#endregion
|
|
65152
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65197
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/markdown.js
|
|
65153
65198
|
/**
|
|
65154
65199
|
* Markdown-to-ANSI renderer over marked's token stream.
|
|
65155
65200
|
*
|
|
@@ -65464,7 +65509,7 @@ function padAligned(content, displayWidth, targetWidth, align) {
|
|
|
65464
65509
|
return content + " ".repeat(extra);
|
|
65465
65510
|
}
|
|
65466
65511
|
//#endregion
|
|
65467
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65512
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/cliHighlight.js
|
|
65468
65513
|
let cliHighlightPromise;
|
|
65469
65514
|
async function loadCliHighlight() {
|
|
65470
65515
|
try {
|
|
@@ -65487,7 +65532,7 @@ function getCliHighlightPromise() {
|
|
|
65487
65532
|
return cliHighlightPromise;
|
|
65488
65533
|
}
|
|
65489
65534
|
//#endregion
|
|
65490
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65535
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MarkdownTable.js
|
|
65491
65536
|
/** Accounts for parent indentation and terminal resize races (from Claude Code). */
|
|
65492
65537
|
const SAFETY_MARGIN = 4;
|
|
65493
65538
|
/** Minimum column width to prevent degenerate layouts */
|
|
@@ -65674,7 +65719,7 @@ function MarkdownTable({ token, highlight, forceWidth }) {
|
|
|
65674
65719
|
return (0, import_jsx_runtime.jsx)(Text, { children: tableLines.join("\n") });
|
|
65675
65720
|
}
|
|
65676
65721
|
//#endregion
|
|
65677
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65722
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Markdown.js
|
|
65678
65723
|
const TOKEN_CACHE_CAPACITY = 200;
|
|
65679
65724
|
const TOKEN_CACHE_CHAR_BUDGET = 2e5;
|
|
65680
65725
|
const TOKEN_CACHE_MAX_SOURCE_LENGTH = 2e4;
|
|
@@ -65783,7 +65828,7 @@ function MarkdownImpl({ children, dimColor = false, cacheTokens = true }) {
|
|
|
65783
65828
|
*/
|
|
65784
65829
|
const Markdown = import_react.memo(MarkdownImpl, (prev, next) => prev.children === next.children && prev.dimColor === next.dimColor && prev.cacheTokens === next.cacheTokens);
|
|
65785
65830
|
//#endregion
|
|
65786
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65831
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/PlanReviewPanel.js
|
|
65787
65832
|
/**
|
|
65788
65833
|
* The plan-review panel — Claude Code style exit-plan-mode decision card
|
|
65789
65834
|
* for the DSH user-interaction seam. plan-mode's `exit_plan_mode` tool asks
|
|
@@ -66105,7 +66150,7 @@ function PlanReviewPanel({ question, onAnswer, onCancel }) {
|
|
|
66105
66150
|
});
|
|
66106
66151
|
}
|
|
66107
66152
|
//#endregion
|
|
66108
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66153
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/listWindow.js
|
|
66109
66154
|
/**
|
|
66110
66155
|
* 焦点居中的列表窗口:长列表只渲染焦点附近的一段,保证焦点行始终可见。
|
|
66111
66156
|
* 瞬态面板走 OverlayAbove 零高度浮层后,超高部分会被 overflow 裁掉且焦点
|
|
@@ -66157,7 +66202,7 @@ function listWindow(heights, focusIndex, maxRows, gap = 0) {
|
|
|
66157
66202
|
}
|
|
66158
66203
|
}
|
|
66159
66204
|
//#endregion
|
|
66160
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66205
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/AskUserQuestionPanel.js
|
|
66161
66206
|
/**
|
|
66162
66207
|
* The questionnaire panel — Claude Code style ask-user-question UI for the
|
|
66163
66208
|
* DSH user-interaction seam. One question per panel (progress header, header
|
|
@@ -66740,7 +66785,7 @@ function AskUserQuestionPanel({ question, position, total, answered, initialDraf
|
|
|
66740
66785
|
});
|
|
66741
66786
|
}
|
|
66742
66787
|
//#endregion
|
|
66743
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66788
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/approvals/ApprovalPanel.js
|
|
66744
66789
|
/**
|
|
66745
66790
|
* The approval panel — Claude Code style permission prompt for the DSH
|
|
66746
66791
|
* approval seam (`ctx.approval`). One ask per panel: a permission-colored
|
|
@@ -66865,7 +66910,7 @@ function ApprovalPanel({ approval, background = false, onDecide }) {
|
|
|
66865
66910
|
});
|
|
66866
66911
|
}
|
|
66867
66912
|
//#endregion
|
|
66868
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66913
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Pane.js
|
|
66869
66914
|
/**
|
|
66870
66915
|
* A pane — a region below the prompt bounded by a colored top line with a
|
|
66871
66916
|
* one-row gap above and horizontal padding, mirroring Claude Code's
|
|
@@ -66887,7 +66932,7 @@ function Pane({ children, color }) {
|
|
|
66887
66932
|
});
|
|
66888
66933
|
}
|
|
66889
66934
|
//#endregion
|
|
66890
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66935
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ListItem.js
|
|
66891
66936
|
/**
|
|
66892
66937
|
* A list item for selection UIs, mirroring Claude Code's
|
|
66893
66938
|
* design-system/ListItem.tsx: `❯` pointer for the focused row, `✓`
|
|
@@ -66984,7 +67029,7 @@ function flattenDeep(node) {
|
|
|
66984
67029
|
return node;
|
|
66985
67030
|
}
|
|
66986
67031
|
//#endregion
|
|
66987
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67032
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/HintLine.js
|
|
66988
67033
|
/**
|
|
66989
67034
|
* Localized shortcut-hint line: renders a `t('hint-*')` string, with the
|
|
66990
67035
|
* `**primary shortcut**` segment (the main action's key, wrapped in `**` in
|
|
@@ -67001,7 +67046,7 @@ function HintLine({ text }) {
|
|
|
67001
67046
|
}, index) : part) });
|
|
67002
67047
|
}
|
|
67003
67048
|
//#endregion
|
|
67004
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67049
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ExtensionDialog.js
|
|
67005
67050
|
/**
|
|
67006
67051
|
* The managed plugin dialog (`ctx.tuiDialogs`) — one panel rendering the
|
|
67007
67052
|
* store's current snapshot in the chat chrome (the slot approval/question
|
|
@@ -67261,7 +67306,7 @@ function InputDialog({ dialog, onDecide, onCancel }) {
|
|
|
67261
67306
|
});
|
|
67262
67307
|
}
|
|
67263
67308
|
//#endregion
|
|
67264
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67309
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-search-highlight.js
|
|
67265
67310
|
/**
|
|
67266
67311
|
* Set the search highlight query on the Ink instance. Non-empty → all
|
|
67267
67312
|
* visible occurrences are inverted on the next frame (SGR 7, screen-buffer
|
|
@@ -67293,7 +67338,7 @@ function useSearchHighlight() {
|
|
|
67293
67338
|
}, [ink]);
|
|
67294
67339
|
}
|
|
67295
67340
|
//#endregion
|
|
67296
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67341
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-title.js
|
|
67297
67342
|
/**
|
|
67298
67343
|
* Declaratively set the terminal tab/window title.
|
|
67299
67344
|
*
|
|
@@ -67316,7 +67361,7 @@ function useTerminalTitle(title) {
|
|
|
67316
67361
|
}, [title, writeRaw]);
|
|
67317
67362
|
}
|
|
67318
67363
|
//#endregion
|
|
67319
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67364
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/format.js
|
|
67320
67365
|
/**
|
|
67321
67366
|
* Session browser formatting.
|
|
67322
67367
|
*
|
|
@@ -67565,7 +67610,7 @@ function projectName(cwd) {
|
|
|
67565
67610
|
return normalized.split("/").filter(Boolean).at(-1) ?? normalized;
|
|
67566
67611
|
}
|
|
67567
67612
|
//#endregion
|
|
67568
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67613
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Tooltip.js
|
|
67569
67614
|
/**
|
|
67570
67615
|
* Tooltip hover system — the terminal equivalent of the HTML `title`
|
|
67571
67616
|
* attribute. Attach {@link useTooltip} props to any Box whose visible text
|
|
@@ -67773,7 +67818,7 @@ function wrapTooltipContent(text, width) {
|
|
|
67773
67818
|
return rows;
|
|
67774
67819
|
}
|
|
67775
67820
|
//#endregion
|
|
67776
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67821
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/UserPromptMessage.js
|
|
67777
67822
|
/** User prompt row in the legacy CLI treatment: a full-width gray strip. */
|
|
67778
67823
|
function UserPromptMessage({ text, addMargin, isSelected = false, onClick }) {
|
|
67779
67824
|
const { columns } = useTerminalSize();
|
|
@@ -67802,7 +67847,7 @@ function UserPromptMessage({ text, addMargin, isSelected = false, onClick }) {
|
|
|
67802
67847
|
});
|
|
67803
67848
|
}
|
|
67804
67849
|
//#endregion
|
|
67805
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67850
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantTextMessage.js
|
|
67806
67851
|
/**
|
|
67807
67852
|
* Assistant text message: bullet + markdown body (mirroring Claude Code's default branch).
|
|
67808
67853
|
*
|
|
@@ -67835,7 +67880,7 @@ function AssistantTextMessage({ text, addMargin, isSelected = false, isExpanded
|
|
|
67835
67880
|
});
|
|
67836
67881
|
}
|
|
67837
67882
|
//#endregion
|
|
67838
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67883
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/StreamingMarkdown.js
|
|
67839
67884
|
/**
|
|
67840
67885
|
* Renders markdown during streaming by splitting at the last top-level block
|
|
67841
67886
|
* boundary: everything before is stable (memoized, never re-parsed), only the
|
|
@@ -68025,7 +68070,7 @@ function StreamingMarkdown({ children, dimColor = false }) {
|
|
|
68025
68070
|
});
|
|
68026
68071
|
}
|
|
68027
68072
|
//#endregion
|
|
68028
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68073
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/spinnerUtils.js
|
|
68029
68074
|
/**
|
|
68030
68075
|
* Spinner 动画的通用工具集:平台相关的帧字符选择、RGB 颜色插值、
|
|
68031
68076
|
* HSL 色相转 RGB,以及 `rgb(...)` 颜色字符串的解析与记忆化。
|
|
@@ -68105,7 +68150,7 @@ function parseRGB(colorStr) {
|
|
|
68105
68150
|
return parsed;
|
|
68106
68151
|
}
|
|
68107
68152
|
//#endregion
|
|
68108
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68153
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/shimmer.js
|
|
68109
68154
|
/** Header blue-white ladder: brand → ice → pale → soft ice flash.
|
|
68110
68155
|
* FLASH stays visibly blue (never pure white) — the highlight reads as a
|
|
68111
68156
|
* mist-brightened crest, not a white strobe. */
|
|
@@ -68121,7 +68166,7 @@ const ICE = {
|
|
|
68121
68166
|
b: 255
|
|
68122
68167
|
};
|
|
68123
68168
|
//#endregion
|
|
68124
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68169
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantThinkingMessage.js
|
|
68125
68170
|
/** Preview body rows — a FIXED row count (kimicode-style constant-height
|
|
68126
68171
|
* ticker). Ink's truncate slices the whole string across newlines as one
|
|
68127
68172
|
* logical line, so a single joined Text collapses to 1-2 rows whenever
|
|
@@ -68234,7 +68279,7 @@ function AssistantThinkingMessage({ thinking, textFull, addMargin, verbose, stre
|
|
|
68234
68279
|
});
|
|
68235
68280
|
}
|
|
68236
68281
|
//#endregion
|
|
68237
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68282
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ToolUseLoader.js
|
|
68238
68283
|
const CATEGORY_BY_TOOL = {
|
|
68239
68284
|
bash: "exec",
|
|
68240
68285
|
powershell: "exec",
|
|
@@ -68815,7 +68860,7 @@ var ArrayDiff = class extends Diff {
|
|
|
68815
68860
|
};
|
|
68816
68861
|
new ArrayDiff();
|
|
68817
68862
|
//#endregion
|
|
68818
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68863
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxRuns.js
|
|
68819
68864
|
const ANSI16 = {
|
|
68820
68865
|
30: "rgb(0,0,0)",
|
|
68821
68866
|
31: "rgb(128,0,0)",
|
|
@@ -68900,7 +68945,7 @@ function syntaxThemeSignature(theme) {
|
|
|
68900
68945
|
return Object.values(SYNTAX_CLASS_TO_TOKEN).map((key) => palette[key] ?? "").join("|");
|
|
68901
68946
|
}
|
|
68902
68947
|
//#endregion
|
|
68903
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68948
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/smoothReveal.js
|
|
68904
68949
|
/**
|
|
68905
68950
|
* Smooth streaming reveal — decouples "text the provider has delivered" from
|
|
68906
68951
|
* "text the screen is showing" (the oh-my-pi `display.smoothStreaming` idea,
|
|
@@ -69146,7 +69191,7 @@ function revealLinesOf(key, total, options) {
|
|
|
69146
69191
|
return Math.min(existing.revealed, total);
|
|
69147
69192
|
}
|
|
69148
69193
|
//#endregion
|
|
69149
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69194
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SplitDiffView.js
|
|
69150
69195
|
/** Replace tabs so width math and alignment hold (pi convention). */
|
|
69151
69196
|
const expandTabs = (text) => text.replaceAll(" ", " ");
|
|
69152
69197
|
/**
|
|
@@ -69455,7 +69500,7 @@ function SplitDiffView({ diffs, width, maxRows, verbose, toolBackground = "none"
|
|
|
69455
69500
|
});
|
|
69456
69501
|
}
|
|
69457
69502
|
//#endregion
|
|
69458
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69503
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SyntaxText.js
|
|
69459
69504
|
/** Async nested Text renderer. Lexes the complete payload before splitting. */
|
|
69460
69505
|
function SyntaxText({ text, language, sourceText = text, lineIndex = 0, color, dimColor }) {
|
|
69461
69506
|
const [highlighter, setHighlighter] = import_react.useState(null);
|
|
@@ -69499,7 +69544,7 @@ function SyntaxText({ text, language, sourceText = text, lineIndex = 0, color, d
|
|
|
69499
69544
|
}, index)) });
|
|
69500
69545
|
}
|
|
69501
69546
|
//#endregion
|
|
69502
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69547
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/format.js
|
|
69503
69548
|
/**
|
|
69504
69549
|
* Trajectory formatting — durations, clocks, badges and heat.
|
|
69505
69550
|
*
|
|
@@ -69701,7 +69746,7 @@ function ledgerLayout(columns) {
|
|
|
69701
69746
|
};
|
|
69702
69747
|
}
|
|
69703
69748
|
//#endregion
|
|
69704
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69749
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRevealVersion.js
|
|
69705
69750
|
/**
|
|
69706
69751
|
* Reveal-frame wakeup as a React hook — bumps once per advancing ~30fps
|
|
69707
69752
|
* scheduler tick so consumers re-run their render-phase cursor reads
|
|
@@ -69731,7 +69776,7 @@ function useRevealVersion(enabled = true) {
|
|
|
69731
69776
|
return version;
|
|
69732
69777
|
}
|
|
69733
69778
|
//#endregion
|
|
69734
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69779
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantToolUseMessage.js
|
|
69735
69780
|
/** Tool display names: DSH emits lowercase tool ids (`bash`); Claude Code
|
|
69736
69781
|
* shows capitalized names (`Bash`). Map the common ones, fall back to the
|
|
69737
69782
|
* id with its first letter uppercased. */
|
|
@@ -70267,7 +70312,7 @@ function AssistantToolUseMessage({ tool, addMargin, verbose, isSelected = false,
|
|
|
70267
70312
|
});
|
|
70268
70313
|
}
|
|
70269
70314
|
//#endregion
|
|
70270
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70315
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/SubagentMessage.js
|
|
70271
70316
|
/** The waterfall window is a Kimi Code style constant-height region. */
|
|
70272
70317
|
const WATERFALL_ROWS = 3;
|
|
70273
70318
|
/** Card left padding + the `│ ` gutter prefix. */
|
|
@@ -70475,7 +70520,7 @@ function SubagentMessage({ subagent, addMargin, activityFrames, onClick }) {
|
|
|
70475
70520
|
});
|
|
70476
70521
|
}
|
|
70477
70522
|
//#endregion
|
|
70478
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70523
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/JobCard.js
|
|
70479
70524
|
/** Card left padding + the `│ ` gutter prefix. */
|
|
70480
70525
|
const WATERFALL_GUTTER = 4;
|
|
70481
70526
|
/** Static status marker — deliberately NOT the animated activity-indicator
|
|
@@ -70628,7 +70673,7 @@ function JobCard({ job, addMargin, onClick }) {
|
|
|
70628
70673
|
});
|
|
70629
70674
|
}
|
|
70630
70675
|
//#endregion
|
|
70631
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70676
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/InterruptedByUser.js
|
|
70632
70677
|
/**
|
|
70633
70678
|
* The dim "interrupted" row shown when the user stops a turn, mirroring
|
|
70634
70679
|
* Claude Code's `InterruptedByUser.tsx`.
|
|
@@ -70643,7 +70688,7 @@ function InterruptedByUser() {
|
|
|
70643
70688
|
})] });
|
|
70644
70689
|
}
|
|
70645
70690
|
//#endregion
|
|
70646
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70691
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/gitCommitStats.js
|
|
70647
70692
|
/**
|
|
70648
70693
|
* 当月 AI 代码生成占比统计(移植自 chatcode-cli 的同名服务)。
|
|
70649
70694
|
*
|
|
@@ -70798,7 +70843,7 @@ async function fetchGitCommitRecords(post, signal) {
|
|
|
70798
70843
|
/**
|
|
70799
70844
|
* 计算当月整体 AI 代码生成占比(百分数):
|
|
70800
70845
|
* sum(AI采纳行数) / sum(新增行数) × 100。
|
|
70801
|
-
* 无记录或新增行数为 0 时返回 null
|
|
70846
|
+
* 无记录或新增行数为 0 时返回 null(调用方显示暂无数据,不伪装成 0%)。
|
|
70802
70847
|
*/
|
|
70803
70848
|
function computeAiRatioPercent(records) {
|
|
70804
70849
|
let addedTotal = 0;
|
|
@@ -70811,51 +70856,71 @@ function computeAiRatioPercent(records) {
|
|
|
70811
70856
|
return clampPercent(aiAdoptedTotal / addedTotal * 100);
|
|
70812
70857
|
}
|
|
70813
70858
|
//#endregion
|
|
70814
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70859
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useAiRatio.js
|
|
70815
70860
|
/**
|
|
70816
70861
|
* 「AI代码生成占比」数据源 Hook(移植自 chatcode-cli 的同名 Hook)。
|
|
70817
70862
|
*
|
|
70818
70863
|
* 数据来源:ChatCode 平台 gitCommitRecord 接口(src/gitCommitStats.ts),
|
|
70819
70864
|
* 聚合当月 sum(AI采纳行数)/sum(新增行数) 得到百分比。
|
|
70820
|
-
*
|
|
70821
|
-
*
|
|
70865
|
+
* 挂载时拉取一次,成功后定时刷新,失败后短间隔重试;状态交给首页展示,
|
|
70866
|
+
* 不向终端打印错误,也不阻塞主流程。
|
|
70822
70867
|
*/
|
|
70823
70868
|
const POLL_INTERVAL_MS$1 = 600 * 1e3;
|
|
70869
|
+
const RETRY_INTERVAL_MS = 30 * 1e3;
|
|
70824
70870
|
function useAiRatio(enabled = true) {
|
|
70825
70871
|
const [ratioPercent, setRatioPercent] = import_react.useState(null);
|
|
70826
70872
|
const [loading, setLoading] = import_react.useState(true);
|
|
70873
|
+
const [unavailable, setUnavailable] = import_react.useState(false);
|
|
70827
70874
|
const post = import_react.useContext(ChatCodeApiContext);
|
|
70828
70875
|
import_react.useEffect(() => {
|
|
70829
70876
|
if (!enabled || post === void 0) {
|
|
70877
|
+
setRatioPercent(null);
|
|
70830
70878
|
setLoading(false);
|
|
70879
|
+
setUnavailable(true);
|
|
70831
70880
|
return;
|
|
70832
70881
|
}
|
|
70833
70882
|
let cancelled = false;
|
|
70834
70883
|
const controller = new AbortController();
|
|
70884
|
+
let timer;
|
|
70885
|
+
setRatioPercent(null);
|
|
70886
|
+
setLoading(true);
|
|
70887
|
+
setUnavailable(false);
|
|
70835
70888
|
const refresh = async () => {
|
|
70889
|
+
let delay = POLL_INTERVAL_MS$1;
|
|
70836
70890
|
try {
|
|
70837
70891
|
const records = await fetchGitCommitRecords(post, controller.signal);
|
|
70838
|
-
if (!cancelled)
|
|
70839
|
-
|
|
70840
|
-
|
|
70892
|
+
if (!cancelled) {
|
|
70893
|
+
setRatioPercent(computeAiRatioPercent(records));
|
|
70894
|
+
setUnavailable(false);
|
|
70895
|
+
}
|
|
70896
|
+
} catch {
|
|
70897
|
+
delay = RETRY_INTERVAL_MS;
|
|
70898
|
+
if (!cancelled) setUnavailable(true);
|
|
70899
|
+
} finally {
|
|
70900
|
+
if (!cancelled) {
|
|
70901
|
+
setLoading(false);
|
|
70902
|
+
timer = setTimeout(() => {
|
|
70903
|
+
refresh();
|
|
70904
|
+
}, delay);
|
|
70905
|
+
timer.unref?.();
|
|
70906
|
+
}
|
|
70841
70907
|
}
|
|
70842
70908
|
};
|
|
70843
70909
|
refresh();
|
|
70844
|
-
const timer = setInterval(() => void refresh(), POLL_INTERVAL_MS$1);
|
|
70845
|
-
if (typeof timer.unref === "function") timer.unref();
|
|
70846
70910
|
return () => {
|
|
70847
70911
|
cancelled = true;
|
|
70848
70912
|
controller.abort();
|
|
70849
|
-
|
|
70913
|
+
clearTimeout(timer);
|
|
70850
70914
|
};
|
|
70851
70915
|
}, [enabled, post]);
|
|
70852
70916
|
return {
|
|
70853
70917
|
ratioPercent,
|
|
70854
|
-
loading
|
|
70918
|
+
loading,
|
|
70919
|
+
unavailable
|
|
70855
70920
|
};
|
|
70856
70921
|
}
|
|
70857
70922
|
//#endregion
|
|
70858
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70923
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/truncateToWidth.js
|
|
70859
70924
|
/**
|
|
70860
70925
|
* Slice a string to at most `maxWidth` terminal cells, walking by code
|
|
70861
70926
|
* point so CJK wide characters never split mid-glyph. Assumes no ANSI in
|
|
@@ -70873,7 +70938,7 @@ function truncateToWidth(text, maxWidth) {
|
|
|
70873
70938
|
return out;
|
|
70874
70939
|
}
|
|
70875
70940
|
//#endregion
|
|
70876
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70941
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LogoV2.js
|
|
70877
70942
|
/** Main ChatCode CLI package version shown in the startup information panel. */
|
|
70878
70943
|
const VERSION = PRODUCT_VERSION;
|
|
70879
70944
|
const PRODUCT_LABEL = "chatcode-cli";
|
|
@@ -71005,7 +71070,7 @@ function InfoRow({ icon, label, value, labelWidth, rowWidth }) {
|
|
|
71005
71070
|
function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
|
|
71006
71071
|
const { columns, rows } = useTerminalSize();
|
|
71007
71072
|
const [driftLine] = import_react.useState(() => drift === void 0 ? upstreamDriftSummary() : drift);
|
|
71008
|
-
const { ratioPercent: fetchedAiRatioPercent } = useAiRatio(aiRatio === void 0);
|
|
71073
|
+
const { ratioPercent: fetchedAiRatioPercent, loading, unavailable } = useAiRatio(aiRatio === void 0);
|
|
71009
71074
|
const aiRatioPercent = aiRatio !== void 0 ? aiRatio : fetchedAiRatioPercent;
|
|
71010
71075
|
const expandedArt = whale && columns >= ART_MIN_COLUMNS;
|
|
71011
71076
|
const panelWidth = Math.max(1, Math.min(58, columns - 2));
|
|
@@ -71016,7 +71081,7 @@ function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
|
|
|
71016
71081
|
const modelValue = effort === void 0 ? model : `${model} · ${effort}`;
|
|
71017
71082
|
const supportLabel = getLang() === "zh" ? panelWidth >= 42 ? "钉钉支撑群" : "支撑群" : panelWidth >= 42 ? "DingTalk support" : "Support";
|
|
71018
71083
|
const aiRatioLabel = getLang() === "zh" ? "AI代码生成占比" : "AI code ratio";
|
|
71019
|
-
const aiRatioValue =
|
|
71084
|
+
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
71085
|
return (0, import_jsx_runtime.jsxs)(ThemedBox, {
|
|
71021
71086
|
flexDirection: "column",
|
|
71022
71087
|
alignItems: "center",
|
|
@@ -71069,7 +71134,7 @@ function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
|
|
|
71069
71134
|
labelWidth,
|
|
71070
71135
|
rowWidth: infoRowWidth
|
|
71071
71136
|
}),
|
|
71072
|
-
|
|
71137
|
+
aiRatio !== null && (0, import_jsx_runtime.jsx)(InfoRow, {
|
|
71073
71138
|
icon: "◆",
|
|
71074
71139
|
label: aiRatioLabel,
|
|
71075
71140
|
value: aiRatioValue,
|
|
@@ -71109,7 +71174,7 @@ function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
|
|
|
71109
71174
|
});
|
|
71110
71175
|
}
|
|
71111
71176
|
//#endregion
|
|
71112
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71177
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/MessageMetadata.js
|
|
71113
71178
|
/**
|
|
71114
71179
|
* Transcript-mode metadata row: `HH:MM · model`, right-aligned above the
|
|
71115
71180
|
* assistant text, mirroring Claude Code's MessageTimestamp + MessageModel,
|
|
@@ -71131,7 +71196,7 @@ function MessageMetadata({ timestamp, model }) {
|
|
|
71131
71196
|
});
|
|
71132
71197
|
}
|
|
71133
71198
|
//#endregion
|
|
71134
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71199
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/narration.js
|
|
71135
71200
|
/**
|
|
71136
71201
|
* Strip the `⏵` self-narration line from assistant text. The
|
|
71137
71202
|
* dsh-working-activity narrate contract puts exactly one `⏵` line at the
|
|
@@ -71247,7 +71312,7 @@ function ellipsize(line, maxWidth) {
|
|
|
71247
71312
|
return `${out}…`;
|
|
71248
71313
|
}
|
|
71249
71314
|
//#endregion
|
|
71250
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71315
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MessageList.js
|
|
71251
71316
|
/**
|
|
71252
71317
|
* Transcript rows rendered in the Claude Code visual language: user prompts
|
|
71253
71318
|
* on a grey bubble with a `❯` pointer, assistant text with a `●` bullet and
|
|
@@ -72060,7 +72125,7 @@ function LogoHeader({ model, effort, cwd, whale = true, skipIntro = false }) {
|
|
|
72060
72125
|
});
|
|
72061
72126
|
}
|
|
72062
72127
|
//#endregion
|
|
72063
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72128
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TimelineRail.js
|
|
72064
72129
|
/** ▴ / ▾ (U+25B4 / U+25BE — the small triangles; CP437-safe on ConHost too). */
|
|
72065
72130
|
const CHEVRON_UP = " ▴";
|
|
72066
72131
|
const CHEVRON_DOWN = " ▾";
|
|
@@ -72254,7 +72319,7 @@ function TimelineRail({ handle, turns, activeId, upId, downId, terminalWidth, ho
|
|
|
72254
72319
|
}) });
|
|
72255
72320
|
}
|
|
72256
72321
|
//#endregion
|
|
72257
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72322
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ScrollbarGutter.js
|
|
72258
72323
|
/** Thumb glyph across the 2-col gutter: solid, clearly positional —
|
|
72259
72324
|
* deliberately distinct from the timeline's ━━ active tick. */
|
|
72260
72325
|
const THUMB = "██";
|
|
@@ -72370,7 +72435,7 @@ function ScrollbarGutter({ handle, terminalWidth }) {
|
|
|
72370
72435
|
}) });
|
|
72371
72436
|
}
|
|
72372
72437
|
//#endregion
|
|
72373
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72438
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/OverlayAbove.js
|
|
72374
72439
|
/**
|
|
72375
72440
|
* 瞬态面板的浮层容器:absolute 定位 + bottom:'100%' 把面板底边钉在锚点
|
|
72376
72441
|
* (父元素)顶边,向上覆盖转录尾部行,自身**不占布局高度**。
|
|
@@ -72403,7 +72468,7 @@ function OverlayAbove({ children, maxHeight }) {
|
|
|
72403
72468
|
});
|
|
72404
72469
|
}
|
|
72405
72470
|
//#endregion
|
|
72406
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72471
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/motion.js
|
|
72407
72472
|
/**
|
|
72408
72473
|
* Trajectory motion — five verbs, one shared clock, one hard rule.
|
|
72409
72474
|
*
|
|
@@ -72528,7 +72593,7 @@ function alert(tick, startTick) {
|
|
|
72528
72593
|
return Math.floor(age / 2) % 2 === 0 ? 1 : 0;
|
|
72529
72594
|
}
|
|
72530
72595
|
//#endregion
|
|
72531
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72596
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/effortIgnition.js
|
|
72532
72597
|
/** 三幕时间轴(ms):扫光全长、字样启动(波至中段)、字样渐亮、渐隐起止。边框扫光与输入行字样徽标共用。 */
|
|
72533
72598
|
const IGNITION_TIMELINE = {
|
|
72534
72599
|
sweepMs: 1e3,
|
|
@@ -72676,7 +72741,7 @@ function ignitionLineColors(options) {
|
|
|
72676
72741
|
return colors;
|
|
72677
72742
|
}
|
|
72678
72743
|
//#endregion
|
|
72679
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72744
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortChargeGlyph.js
|
|
72680
72745
|
/**
|
|
72681
72746
|
* EffortChargeGlyph — 输入提示前缀 `❯ ` 的最高档强调与充能。
|
|
72682
72747
|
*
|
|
@@ -72732,7 +72797,7 @@ function EffortChargeGlyph({ effort, levels, working }) {
|
|
|
72732
72797
|
});
|
|
72733
72798
|
}
|
|
72734
72799
|
//#endregion
|
|
72735
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72800
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortInputBorder.js
|
|
72736
72801
|
/**
|
|
72737
72802
|
* EffortInputBorder — 输入框层上的三幕点焰叠加(对齐 Codex 的完整
|
|
72738
72803
|
* 语义:光扫过、档位字样浮现、整体渐隐)。
|
|
@@ -72867,7 +72932,7 @@ function EffortInputBorder({ effort, levels, columns, onLight, idleColor, topRig
|
|
|
72867
72932
|
});
|
|
72868
72933
|
}
|
|
72869
72934
|
//#endregion
|
|
72870
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72935
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortTierBadge.js
|
|
72871
72936
|
/**
|
|
72872
72937
|
* EffortTierBadge — 输入行尾的档位字样徽标:三幕点焰的第二幕载体
|
|
72873
72938
|
* (与 EffortInputBorder 的双框扫光同一时间轴、同一触发),切到最高
|
|
@@ -72950,7 +73015,7 @@ function EffortTierBadge({ effort, levels, onLight, columns, leadingColumns }) {
|
|
|
72950
73015
|
});
|
|
72951
73016
|
}
|
|
72952
73017
|
//#endregion
|
|
72953
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73018
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/clipboard.js
|
|
72954
73019
|
/**
|
|
72955
73020
|
* Cross-platform clipboard access for Ctrl+V paste. The TUI runs in raw
|
|
72956
73021
|
* mode, so the terminal never performs its own paste for Ctrl+V — the key
|
|
@@ -73088,7 +73153,7 @@ async function ensureImageDir() {
|
|
|
73088
73153
|
if (imageDir !== void 0) return imageDir;
|
|
73089
73154
|
let dir;
|
|
73090
73155
|
try {
|
|
73091
|
-
dir = await mkdtemp(join(tmpdir(), "
|
|
73156
|
+
dir = await mkdtemp(join(tmpdir(), "chatcode-cli-paste-"));
|
|
73092
73157
|
} catch {
|
|
73093
73158
|
return null;
|
|
73094
73159
|
}
|
|
@@ -73464,7 +73529,7 @@ function formatClipboardInsert(content) {
|
|
|
73464
73529
|
return content.text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
|
|
73465
73530
|
}
|
|
73466
73531
|
//#endregion
|
|
73467
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73532
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/externalEditor.js
|
|
73468
73533
|
/**
|
|
73469
73534
|
* External editor round-trip for the prompt input (issue #123): Ctrl+G dumps
|
|
73470
73535
|
* the current draft into a temp file, hands the terminal to `$VISUAL` /
|
|
@@ -73703,7 +73768,7 @@ async function editInExternalEditor(draft) {
|
|
|
73703
73768
|
if (argv === void 0) return { kind: "unavailable" };
|
|
73704
73769
|
let dir;
|
|
73705
73770
|
try {
|
|
73706
|
-
dir = await mkdtemp(join(tmpdir(), "
|
|
73771
|
+
dir = await mkdtemp(join(tmpdir(), "chatcode-cli-prompt-"));
|
|
73707
73772
|
const file = join(dir, "input.md");
|
|
73708
73773
|
await writeFile(file, draft, "utf8");
|
|
73709
73774
|
const outcome = await withEditorHandoff(argv, file, async (code) => {
|
|
@@ -73742,7 +73807,7 @@ async function editInExternalEditor(draft) {
|
|
|
73742
73807
|
}
|
|
73743
73808
|
}
|
|
73744
73809
|
//#endregion
|
|
73745
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73810
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptEditor.js
|
|
73746
73811
|
let editorNode = null;
|
|
73747
73812
|
const listeners = /* @__PURE__ */ new Set();
|
|
73748
73813
|
/** Publish (or withdraw, with null) the fullscreen editor subtree. */
|
|
@@ -73818,7 +73883,7 @@ function EditorButton({ label, hint, onClick, primary, accent }) {
|
|
|
73818
73883
|
});
|
|
73819
73884
|
}
|
|
73820
73885
|
//#endregion
|
|
73821
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73886
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/history.js
|
|
73822
73887
|
const HISTORY_DIR = DATA_DIR;
|
|
73823
73888
|
const HISTORY_FILE = join(HISTORY_DIR, "history.jsonl");
|
|
73824
73889
|
const HISTORY_LOCK = `${HISTORY_FILE}.lock`;
|
|
@@ -73952,7 +74017,7 @@ function historyEntryId(entry, index = 0) {
|
|
|
73952
74017
|
return createHash("sha1").update(`${entry.text}\0${entry.ts}\0${index}`).digest("hex").slice(0, 12);
|
|
73953
74018
|
}
|
|
73954
74019
|
//#endregion
|
|
73955
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
74020
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SuggestionCard.js
|
|
73956
74021
|
/**
|
|
73957
74022
|
* `/` 命令菜单与 `@` 文件菜单共用的圆角卡片外壳(与输入框 EffortInputBorder
|
|
73958
74023
|
* 同款 ╭╮╰╯ 视觉语言):
|
|
@@ -74084,7 +74149,7 @@ function splitQueryMatch(name, query) {
|
|
|
74084
74149
|
return startsWith(0) ?? (lastSpace >= 0 ? startsWith(lastSpace + 1) : null) ?? startsWith(name.lastIndexOf("/") + 1);
|
|
74085
74150
|
}
|
|
74086
74151
|
//#endregion
|
|
74087
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
74152
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/CommandSuggestions.js
|
|
74088
74153
|
/**
|
|
74089
74154
|
* The slash-command suggestion overlay, mirroring Claude Code's
|
|
74090
74155
|
* `PromptInputFooterSuggestions.tsx` (command layout only) wrapped in the
|
|
@@ -74164,7 +74229,7 @@ function CommandSuggestions({ commands, selectedIndex, columns, query = "", acce
|
|
|
74164
74229
|
});
|
|
74165
74230
|
}
|
|
74166
74231
|
//#endregion
|
|
74167
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
74232
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/FileSuggestions.js
|
|
74168
74233
|
/**
|
|
74169
74234
|
* The `@` file-completion overlay in CC's suggestion style, wrapped in the
|
|
74170
74235
|
* shared rounded `SuggestionCard` (与 `/` 命令菜单同一视觉语言):
|
|
@@ -74263,7 +74328,7 @@ function FileSuggestions({ files, selectedIndex, columns, query = "", accent, on
|
|
|
74263
74328
|
});
|
|
74264
74329
|
}
|
|
74265
74330
|
//#endregion
|
|
74266
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
74331
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HelpMenu.js
|
|
74267
74332
|
/**
|
|
74268
74333
|
* The `?` help menu, mirroring Claude Code's `PromptInputHelpMenu.tsx`
|
|
74269
74334
|
* (three-column shortcut layout, trimmed to the keys dsh-tui actually binds).
|
|
@@ -74454,7 +74519,7 @@ function HelpCommandRow({ command, onPick }) {
|
|
|
74454
74519
|
});
|
|
74455
74520
|
}
|
|
74456
74521
|
//#endregion
|
|
74457
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
74522
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptInput.js
|
|
74458
74523
|
const HISTORY_LIMIT = 50;
|
|
74459
74524
|
/**
|
|
74460
74525
|
* Paste fold (CC-style collapse with a visible preview, no black box):
|
|
@@ -76734,7 +76799,7 @@ function wordSelectionAt(text, offset, lo, hi) {
|
|
|
76734
76799
|
};
|
|
76735
76800
|
}
|
|
76736
76801
|
//#endregion
|
|
76737
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76802
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/GoalTodoPanel.js
|
|
76738
76803
|
/** Maximum todo rows shown before the overflow line. */
|
|
76739
76804
|
const MAX_TODOS = 8;
|
|
76740
76805
|
const PHASE_LABEL = {
|
|
@@ -76980,7 +77045,7 @@ function GoalTodoPanel({ channel, collapsed = false, onToggle }) {
|
|
|
76980
77045
|
});
|
|
76981
77046
|
}
|
|
76982
77047
|
//#endregion
|
|
76983
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77048
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/AutoRecapRow.js
|
|
76984
77049
|
/**
|
|
76985
77050
|
* Auto-recap row (`dsh-tui.recapOnOpen` setting): a quiet, dim recap shown
|
|
76986
77051
|
* at the bottom of the transcript after an automatic summary on session
|
|
@@ -77060,7 +77125,7 @@ function summarizeLoadedContext(context) {
|
|
|
77060
77125
|
return parts.join(" · ");
|
|
77061
77126
|
}
|
|
77062
77127
|
//#endregion
|
|
77063
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77128
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LoadedContextPanel.js
|
|
77064
77129
|
/** One named entry (section or dynamic context) with its full text. */
|
|
77065
77130
|
function Entry({ entry }) {
|
|
77066
77131
|
return (0, import_jsx_runtime.jsxs)(ThemedBox, {
|
|
@@ -77197,7 +77262,7 @@ function LoadedContextPanel({ context, open, onToggle }) {
|
|
|
77197
77262
|
});
|
|
77198
77263
|
}
|
|
77199
77264
|
//#endregion
|
|
77200
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77265
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MoonPhaseSpinner.js
|
|
77201
77266
|
/**
|
|
77202
77267
|
* Terminal-safe construction cycle derived from the supplied China Unicom
|
|
77203
77268
|
* knot mark. Every frame is one display cell, unlike emoji on mixed terminals.
|
|
@@ -77229,7 +77294,7 @@ function UnicomKnotSpinner({ time }) {
|
|
|
77229
77294
|
});
|
|
77230
77295
|
}
|
|
77231
77296
|
//#endregion
|
|
77232
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77297
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityLine.js
|
|
77233
77298
|
/**
|
|
77234
77299
|
* Context-pressure percentage (0–100) from the last usage snapshot, or
|
|
77235
77300
|
* undefined when unknown — shared by the spinner-line and status-line
|
|
@@ -77301,7 +77366,7 @@ function ActivityLine({ activity, activityFrames, warnPct, warnDanger, suffix })
|
|
|
77301
77366
|
});
|
|
77302
77367
|
}
|
|
77303
77368
|
//#endregion
|
|
77304
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77369
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/guards.js
|
|
77305
77370
|
/**
|
|
77306
77371
|
* Structural guards for the session events the trajectory projection reads.
|
|
77307
77372
|
*
|
|
@@ -77525,7 +77590,7 @@ function readTodos(data) {
|
|
|
77525
77590
|
};
|
|
77526
77591
|
}
|
|
77527
77592
|
//#endregion
|
|
77528
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77593
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/types.js
|
|
77529
77594
|
/**
|
|
77530
77595
|
* Trajectory projection — the data contract shared by the adapter-side fold
|
|
77531
77596
|
* and the UI-side scene (issue #80 evolution).
|
|
@@ -77592,7 +77657,7 @@ function previewText(raw, limit) {
|
|
|
77592
77657
|
return `${flat.slice(0, limit)}…`;
|
|
77593
77658
|
}
|
|
77594
77659
|
//#endregion
|
|
77595
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77660
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/projection.js
|
|
77596
77661
|
/**
|
|
77597
77662
|
* Trajectory projection — folding the session event log into ledger nodes.
|
|
77598
77663
|
*
|
|
@@ -78171,7 +78236,7 @@ function extendTrajectory(previous, events) {
|
|
|
78171
78236
|
};
|
|
78172
78237
|
}
|
|
78173
78238
|
//#endregion
|
|
78174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78239
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/aggregate.js
|
|
78175
78240
|
/**
|
|
78176
78241
|
* Trajectory aggregate — the hotspot view's data and the session totals.
|
|
78177
78242
|
*
|
|
@@ -78392,7 +78457,7 @@ function modelTiming(timing) {
|
|
|
78392
78457
|
};
|
|
78393
78458
|
}
|
|
78394
78459
|
//#endregion
|
|
78395
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78460
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/inspect.js
|
|
78396
78461
|
/**
|
|
78397
78462
|
* Inspector detail — full content, resolved on demand.
|
|
78398
78463
|
*
|
|
@@ -78552,7 +78617,7 @@ function inspectNode(node, events) {
|
|
|
78552
78617
|
};
|
|
78553
78618
|
}
|
|
78554
78619
|
//#endregion
|
|
78555
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78620
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/wave.js
|
|
78556
78621
|
/**
|
|
78557
78622
|
* Wave band projection — the whole session compressed onto one row of glyphs.
|
|
78558
78623
|
*
|
|
@@ -78725,7 +78790,7 @@ function columnOfIndex(band, ledgerIndex) {
|
|
|
78725
78790
|
return 0;
|
|
78726
78791
|
}
|
|
78727
78792
|
//#endregion
|
|
78728
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78793
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/MiniWake.js
|
|
78729
78794
|
/**
|
|
78730
78795
|
* The mini wake — the whole session as a dozen glyphs in the status line.
|
|
78731
78796
|
*
|
|
@@ -78828,7 +78893,7 @@ function toHex$1(colour) {
|
|
|
78828
78893
|
return `#${hex(parsed.r)}${hex(parsed.g)}${hex(parsed.b)}`;
|
|
78829
78894
|
}
|
|
78830
78895
|
//#endregion
|
|
78831
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78896
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusMetrics.js
|
|
78832
78897
|
/**
|
|
78833
78898
|
* Status-line metric renderers, ported from two pi extensions:
|
|
78834
78899
|
* - `pi-nano-context`: segmented context progress bar (morandi pastel
|
|
@@ -79104,7 +79169,7 @@ function tpsStats(samples, nowMs) {
|
|
|
79104
79169
|
};
|
|
79105
79170
|
}
|
|
79106
79171
|
//#endregion
|
|
79107
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79172
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ContextBarView.js
|
|
79108
79173
|
/** Free-segment colors, mirroring StatusMetrics' dark-theme defaults. */
|
|
79109
79174
|
const FREE_FILL = "#E8E8E8";
|
|
79110
79175
|
const FREE_TEXT = "#4A4A4A";
|
|
@@ -79171,7 +79236,7 @@ function ContextBarView({ segments, usedTokens, contextWindow, width, colors, on
|
|
|
79171
79236
|
});
|
|
79172
79237
|
}
|
|
79173
79238
|
//#endregion
|
|
79174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79239
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeTokenTrend.js
|
|
79175
79240
|
/**
|
|
79176
79241
|
* ChatCode 今日总 Token 消耗量查询(移植自 chatcode-cli 的 chatCodeTokenTrend)。
|
|
79177
79242
|
*
|
|
@@ -79246,7 +79311,7 @@ async function fetchTodayTotalTokens(post, signal) {
|
|
|
79246
79311
|
}
|
|
79247
79312
|
}
|
|
79248
79313
|
//#endregion
|
|
79249
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79314
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useTodayTotalTokens.js
|
|
79250
79315
|
/**
|
|
79251
79316
|
* 「今日总Token消耗」数据源 Hook(移植自 chatcode-cli 的 useTokenDashboard)。
|
|
79252
79317
|
*
|
|
@@ -79278,7 +79343,7 @@ function useTodayTotalTokens(enabled = true) {
|
|
|
79278
79343
|
return { totalTokens };
|
|
79279
79344
|
}
|
|
79280
79345
|
//#endregion
|
|
79281
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79346
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TokenDashboard.js
|
|
79282
79347
|
const BAR_WIDTH = 14;
|
|
79283
79348
|
/** Yuanjing-compatible percentage label centered inside a fixed-width bar. */
|
|
79284
79349
|
function LabeledBar({ ratio, percent }) {
|
|
@@ -79354,7 +79419,7 @@ function TokenDashboard({ todayTokens, usedTokens, contextWindow, compact = fals
|
|
|
79354
79419
|
});
|
|
79355
79420
|
}
|
|
79356
79421
|
//#endregion
|
|
79357
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79422
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusLine.js
|
|
79358
79423
|
/** Stable fallback for stubbed channels: verify/repro harnesses render the
|
|
79359
79424
|
* real Chat with partial channel literals that predate the jobs field. */
|
|
79360
79425
|
const NO_BACKGROUND_JOBS = [];
|
|
@@ -80265,7 +80330,7 @@ const fallbackSymbols = {
|
|
|
80265
80330
|
const figures = isUnicodeSupported() ? mainSymbols : fallbackSymbols;
|
|
80266
80331
|
Object.entries(specialMainSymbols);
|
|
80267
80332
|
//#endregion
|
|
80268
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80333
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Byline.js
|
|
80269
80334
|
/**
|
|
80270
80335
|
* Joins children with a middot separator (" · ") for inline metadata display
|
|
80271
80336
|
* (in the Claude Code visual language). Automatically filters out
|
|
@@ -80281,7 +80346,7 @@ function Byline({ children }) {
|
|
|
80281
80346
|
}), child] }, (0, import_react.isValidElement)(child) ? child.key ?? index : index)) });
|
|
80282
80347
|
}
|
|
80283
80348
|
//#endregion
|
|
80284
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80349
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/GlimmerMessage.js
|
|
80285
80350
|
const ERROR_RED$1 = {
|
|
80286
80351
|
r: 171,
|
|
80287
80352
|
g: 43,
|
|
@@ -80371,7 +80436,7 @@ function GlimmerMessage({ message, mode, messageColor, glimmerIndex, flashOpacit
|
|
|
80371
80436
|
})] });
|
|
80372
80437
|
}
|
|
80373
80438
|
//#endregion
|
|
80374
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80439
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerGlyph.js
|
|
80375
80440
|
const DEFAULT_CHARACTERS = getDefaultCharacters();
|
|
80376
80441
|
const SPINNER_FRAMES$1 = [...DEFAULT_CHARACTERS, ...[...DEFAULT_CHARACTERS].reverse()];
|
|
80377
80442
|
const REDUCED_MOTION_DOT = "●";
|
|
@@ -80432,7 +80497,7 @@ function SpinnerGlyph({ frame, messageColor, stalledIntensity = 0, reducedMotion
|
|
|
80432
80497
|
});
|
|
80433
80498
|
}
|
|
80434
80499
|
//#endregion
|
|
80435
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80500
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/useStalledAnimation.js
|
|
80436
80501
|
/**
|
|
80437
80502
|
* Tracks the transition to red when tokens stop flowing (mirroring Claude Code's `Spinner/useStalledAnimation.ts`). Driven by the parent's animation
|
|
80438
80503
|
* clock time instead of independent intervals, so it slows down when the
|
|
@@ -80489,7 +80554,7 @@ function useStalledAnimation(time, currentResponseLength, hasActiveTools = false
|
|
|
80489
80554
|
};
|
|
80490
80555
|
}
|
|
80491
80556
|
//#endregion
|
|
80492
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80557
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerAnimationRow.js
|
|
80493
80558
|
const SEP_WIDTH = stringWidth$1(" · ");
|
|
80494
80559
|
const THINKING_BARE_WIDTH = stringWidth$1("thinking");
|
|
80495
80560
|
const SHOW_TOKENS_AFTER_MS = 3e4;
|
|
@@ -80656,7 +80721,7 @@ function SpinnerModeGlyph({ mode }) {
|
|
|
80656
80721
|
}
|
|
80657
80722
|
}
|
|
80658
80723
|
//#endregion
|
|
80659
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80724
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkingSpinner.js
|
|
80660
80725
|
/**
|
|
80661
80726
|
* The working spinner block shown between the transcript and the prompt
|
|
80662
80727
|
* input while a turn is in flight. Mirrors Claude Code's `Spinner.tsx`
|
|
@@ -80726,7 +80791,7 @@ function useThinkingStatus(isThinking) {
|
|
|
80726
80791
|
return thinkingStatus;
|
|
80727
80792
|
}
|
|
80728
80793
|
//#endregion
|
|
80729
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80794
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ModelPicker.js
|
|
80730
80795
|
/**
|
|
80731
80796
|
* Model picker in the CC ModelPicker style: a permission-colored Pane with
|
|
80732
80797
|
* the rows as Select entries (❯ focus pointer, ✓ on the active row,
|
|
@@ -80786,7 +80851,7 @@ function ModelPicker(props) {
|
|
|
80786
80851
|
});
|
|
80787
80852
|
}
|
|
80788
80853
|
//#endregion
|
|
80789
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80854
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PluginSceneBoundary.js
|
|
80790
80855
|
/**
|
|
80791
80856
|
* Error boundary for plugin scenes (dsh-tui-scenes). A scene component is
|
|
80792
80857
|
* third-party code rendered inside Chat's tree: without a boundary a render
|
|
@@ -80812,7 +80877,7 @@ var PluginSceneBoundary = class extends import_react.Component {
|
|
|
80812
80877
|
}
|
|
80813
80878
|
};
|
|
80814
80879
|
//#endregion
|
|
80815
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80880
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/LoadingState.js
|
|
80816
80881
|
const SPINNER_FRAMES = [...getDefaultCharacters(), ...[...getDefaultCharacters()].reverse()];
|
|
80817
80882
|
/**
|
|
80818
80883
|
* A spinner with a loading message for async operations, mirroring Claude Code's design-system/LoadingState.tsx (using the small animated glyph).
|
|
@@ -80843,7 +80908,7 @@ function LoadingState({ message, bold = false, dimColor = false, subtitle }) {
|
|
|
80843
80908
|
});
|
|
80844
80909
|
}
|
|
80845
80910
|
//#endregion
|
|
80846
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80911
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SkillsPicker.js
|
|
80847
80912
|
/** 来源桶 → 本地化标签(未知桶原样显示,SkillSource 对自定义桶开放)。 */
|
|
80848
80913
|
function sourceLabel(source) {
|
|
80849
80914
|
switch (source) {
|
|
@@ -80921,7 +80986,7 @@ function SkillsPickerLoading() {
|
|
|
80921
80986
|
});
|
|
80922
80987
|
}
|
|
80923
80988
|
//#endregion
|
|
80924
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80989
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SearchBox.js
|
|
80925
80990
|
/**
|
|
80926
80991
|
* Window a single-line query around the caret so the visible slice fits
|
|
80927
80992
|
* `avail` display cells (CJK display width, code-point safe — `[...s]`
|
|
@@ -81059,7 +81124,7 @@ function SearchBox({ query, placeholder = "Search…", isFocused, isTerminalFocu
|
|
|
81059
81124
|
});
|
|
81060
81125
|
}
|
|
81061
81126
|
//#endregion
|
|
81062
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81127
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionListRow.js
|
|
81063
81128
|
/**
|
|
81064
81129
|
* One session in the browser's list: a title line and a metadata line.
|
|
81065
81130
|
*
|
|
@@ -81140,7 +81205,7 @@ function SessionListRow({ session, width, depth, focused, pinned, now, onClick,
|
|
|
81140
81205
|
});
|
|
81141
81206
|
}
|
|
81142
81207
|
//#endregion
|
|
81143
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81208
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionPreview.js
|
|
81144
81209
|
/** Role marker and colour for a preview entry. */
|
|
81145
81210
|
const ROLE = {
|
|
81146
81211
|
user: {
|
|
@@ -81231,7 +81296,7 @@ function SessionPreview({ session, entries, loading, width, height, home, now })
|
|
|
81231
81296
|
});
|
|
81232
81297
|
}
|
|
81233
81298
|
//#endregion
|
|
81234
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81299
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/WorkspaceListRow.js
|
|
81235
81300
|
/** One two-line working-directory choice in the /resume browser. */
|
|
81236
81301
|
function WorkspaceListRow({ workspace, all, totalProjects, totalSessions, width, focused, selected, home, now, onClick }) {
|
|
81237
81302
|
const [hovered, setHovered] = (0, import_react.useState)(false);
|
|
@@ -81276,7 +81341,7 @@ function WorkspaceListRow({ workspace, all, totalProjects, totalSessions, width,
|
|
|
81276
81341
|
});
|
|
81277
81342
|
}
|
|
81278
81343
|
//#endregion
|
|
81279
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81344
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/view.js
|
|
81280
81345
|
/** The browser's default view: this project, conversations only. */
|
|
81281
81346
|
const DEFAULT_FILTERS = {
|
|
81282
81347
|
query: "",
|
|
@@ -81565,7 +81630,7 @@ function windowEnd(rows, top, budget) {
|
|
|
81565
81630
|
return at;
|
|
81566
81631
|
}
|
|
81567
81632
|
//#endregion
|
|
81568
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81633
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionPins.js
|
|
81569
81634
|
/**
|
|
81570
81635
|
* Pinned sessions for the `/resume` browser, kept at
|
|
81571
81636
|
* `~/.chatcode-cli/tui/session-pins.json` (a JSON array of session ids) so the pins
|
|
@@ -81714,7 +81779,7 @@ function setSessionPinned(id, pinned, dir = DATA_DIR) {
|
|
|
81714
81779
|
}
|
|
81715
81780
|
}
|
|
81716
81781
|
//#endregion
|
|
81717
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81782
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionBrowser.js
|
|
81718
81783
|
/**
|
|
81719
81784
|
* Rows the layout cannot do without: the header, the four-row scope/search
|
|
81720
81785
|
* card, the notice slot, and the hints. Everything else yields before these.
|
|
@@ -82600,7 +82665,7 @@ function SessionBrowser({ channel, home, sameProject, onClose }) {
|
|
|
82600
82665
|
});
|
|
82601
82666
|
}
|
|
82602
82667
|
//#endregion
|
|
82603
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
82668
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionTree.js
|
|
82604
82669
|
/** Local HH:MM (or MM/DD HH:MM when older than this year). */
|
|
82605
82670
|
function formatTime(at, now) {
|
|
82606
82671
|
const date = new Date(at);
|
|
@@ -83356,7 +83421,7 @@ function PreviewPane({ entry, meta, width, height, liveSessionId, now, compact }
|
|
|
83356
83421
|
});
|
|
83357
83422
|
}
|
|
83358
83423
|
//#endregion
|
|
83359
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83424
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Settings.js
|
|
83360
83425
|
/** Pick the provider-owned translation for the active language. */
|
|
83361
83426
|
function pick(text, descriptions) {
|
|
83362
83427
|
return descriptions?.[getLang()] ?? text;
|
|
@@ -83944,7 +84009,7 @@ function Settings({ channel, onClose, initialGroup }) {
|
|
|
83944
84009
|
lines: 1,
|
|
83945
84010
|
node: (0, import_jsx_runtime.jsx)(CardTop, {
|
|
83946
84011
|
title: pick(section.title, section.descriptions),
|
|
83947
|
-
subtitle: section.ns,
|
|
84012
|
+
subtitle: section.ns === "dsh-tui" ? void 0 : section.ns,
|
|
83948
84013
|
badges: sectionBadges(section),
|
|
83949
84014
|
columns
|
|
83950
84015
|
})
|
|
@@ -84106,7 +84171,7 @@ function Settings({ channel, onClose, initialGroup }) {
|
|
|
84106
84171
|
});
|
|
84107
84172
|
}
|
|
84108
84173
|
//#endregion
|
|
84109
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84174
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspacePicker.js
|
|
84110
84175
|
const WINDOW$1 = 8;
|
|
84111
84176
|
/** `/workspace` target picker contributed by local and optional providers. */
|
|
84112
84177
|
function WorkspacePicker({ targets, focusIndex, currentCwd, onPick }) {
|
|
@@ -84144,7 +84209,7 @@ function WorkspacePicker({ targets, focusIndex, currentCwd, onPick }) {
|
|
|
84144
84209
|
});
|
|
84145
84210
|
}
|
|
84146
84211
|
//#endregion
|
|
84147
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84212
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Select.js
|
|
84148
84213
|
/**
|
|
84149
84214
|
* A single-choice select list in the CC CustomSelect style (ported visual:
|
|
84150
84215
|
* ListItem rows with ❯ focus pointer, ✓ selected checkmark, descriptions,
|
|
@@ -84171,7 +84236,7 @@ function Select({ options, focusIndex, selectedValue, visibleOptionCount = 5, on
|
|
|
84171
84236
|
});
|
|
84172
84237
|
}
|
|
84173
84238
|
//#endregion
|
|
84174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84239
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceMenuPicker.js
|
|
84175
84240
|
/**
|
|
84176
84241
|
* Bare `/workspace` action menu: the built-in subcommands (resume / rename /
|
|
84177
84242
|
* open) plus any dynamically registered workspace extensions. Enter runs the
|
|
@@ -84212,7 +84277,7 @@ function WorkspaceMenuPicker({ options, focusIndex, onPick }) {
|
|
|
84212
84277
|
});
|
|
84213
84278
|
}
|
|
84214
84279
|
//#endregion
|
|
84215
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84280
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceFlowPicker.js
|
|
84216
84281
|
const WINDOW = 8;
|
|
84217
84282
|
/** Generic nested choice surface returned by a workspace provider command. */
|
|
84218
84283
|
function WorkspaceFlowPicker({ title, choices, focusIndex, busy = false, input = null, onPick }) {
|
|
@@ -84270,7 +84335,7 @@ function WorkspaceFlowPicker({ title, choices, focusIndex, busy = false, input =
|
|
|
84270
84335
|
});
|
|
84271
84336
|
}
|
|
84272
84337
|
//#endregion
|
|
84273
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84338
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityPicker.js
|
|
84274
84339
|
/**
|
|
84275
84340
|
* Working-activity indicator picker in the CC ModelPicker style (ported
|
|
84276
84341
|
* from the pi extension's `/activity` interactive select): a
|
|
@@ -84312,7 +84377,7 @@ function ActivityPicker({ focusIndex, currentPreset, onPick }) {
|
|
|
84312
84377
|
});
|
|
84313
84378
|
}
|
|
84314
84379
|
//#endregion
|
|
84315
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84380
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ColorPicker.js
|
|
84316
84381
|
/**
|
|
84317
84382
|
* Session accent color picker (bare `/color`): a permission-colored Pane
|
|
84318
84383
|
* listing the whole palette with a colored swatch per row, `❯` focus
|
|
@@ -84356,7 +84421,7 @@ function ColorPicker({ focusIndex, currentColor, onPick }) {
|
|
|
84356
84421
|
});
|
|
84357
84422
|
}
|
|
84358
84423
|
//#endregion
|
|
84359
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84424
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortSlider.js
|
|
84360
84425
|
/**
|
|
84361
84426
|
* Reasoning-effort slider (`/effort`): a rheostat row of the live route's
|
|
84362
84427
|
* adapter-owned levels in adapter order, ←/→ moving focus (each move applies
|
|
@@ -84415,7 +84480,7 @@ function EffortSlider({ options, focusIndex, currentId, onPick }) {
|
|
|
84415
84480
|
});
|
|
84416
84481
|
}
|
|
84417
84482
|
//#endregion
|
|
84418
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84483
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PresetPicker.js
|
|
84419
84484
|
/**
|
|
84420
84485
|
* Agent-preset picker (issue #8) in the CC ModelPicker style — same chrome
|
|
84421
84486
|
* as the ActivityPicker: a permission-colored Pane listing every roster
|
|
@@ -84459,7 +84524,7 @@ function PresetPicker({ presets, focusIndex, currentPreset, onPick }) {
|
|
|
84459
84524
|
});
|
|
84460
84525
|
}
|
|
84461
84526
|
//#endregion
|
|
84462
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84527
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PermissionsPicker.js
|
|
84463
84528
|
/**
|
|
84464
84529
|
* `/permission` sandbox-preset picker. The command itself is registered by
|
|
84465
84530
|
* the harness side (dsh-sandbox-policy / dsh-base permission-presets row);
|
|
@@ -84506,7 +84571,7 @@ function PermissionsPicker({ options, focusIndex, currentValue, cwd, onPick }) {
|
|
|
84506
84571
|
});
|
|
84507
84572
|
}
|
|
84508
84573
|
//#endregion
|
|
84509
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84574
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PlanPicker.js
|
|
84510
84575
|
/**
|
|
84511
84576
|
* `/plan` on/off picker. The command itself is registered by dsh-plan-mode
|
|
84512
84577
|
* on the harness side; bare `/plan` opens this picker (with the current
|
|
@@ -84551,7 +84616,7 @@ function PlanPicker({ focusIndex, currentOn, onPick }) {
|
|
|
84551
84616
|
});
|
|
84552
84617
|
}
|
|
84553
84618
|
//#endregion
|
|
84554
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84619
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LangPicker.js
|
|
84555
84620
|
/**
|
|
84556
84621
|
* `/lang` en/zh picker: bare `/lang` opens this picker (the current language
|
|
84557
84622
|
* marked) and Enter applies the choice through the same path as `/lang <id>`.
|
|
@@ -84590,7 +84655,7 @@ function LangPicker({ focusIndex, currentLang, onPick }) {
|
|
|
84590
84655
|
});
|
|
84591
84656
|
}
|
|
84592
84657
|
//#endregion
|
|
84593
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84658
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThemePicker.js
|
|
84594
84659
|
/** One double-block swatch character per preview key, in a row. */
|
|
84595
84660
|
const SWATCH = "██";
|
|
84596
84661
|
/** Theme keys previewed in the picker, chosen for visual contrast. */
|
|
@@ -84676,7 +84741,7 @@ function ThemePicker({ focusIndex, currentTheme, themeHost, onPick }) {
|
|
|
84676
84741
|
});
|
|
84677
84742
|
}
|
|
84678
84743
|
//#endregion
|
|
84679
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84744
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThinkingToggle.js
|
|
84680
84745
|
/**
|
|
84681
84746
|
* The `/thinking` display dialog: a permission-colored Pane with a bold
|
|
84682
84747
|
* title, the Shown/Hidden select, and the Enter/Esc hint line.
|
|
@@ -84725,7 +84790,7 @@ function ThinkingToggle({ currentValue, focusIndex, onPick }) {
|
|
|
84725
84790
|
});
|
|
84726
84791
|
}
|
|
84727
84792
|
//#endregion
|
|
84728
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84793
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HistorySearchDialog.js
|
|
84729
84794
|
/**
|
|
84730
84795
|
* The ctrl+r history search dialog, in the shape of Claude Code's
|
|
84731
84796
|
* HistorySearchDialog/FuzzyPicker: a permission-colored Pane with a bold
|
|
@@ -84788,7 +84853,7 @@ function formatRelativeAge(ts) {
|
|
|
84788
84853
|
return t("time-days-ago", { n: Math.floor(elapsed / 864e5) });
|
|
84789
84854
|
}
|
|
84790
84855
|
//#endregion
|
|
84791
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84856
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RewindPicker.js
|
|
84792
84857
|
/**
|
|
84793
84858
|
* Double-Esc rewind picker (CC's "Double-tap esc to rewind the code and/or
|
|
84794
84859
|
* conversation to a previous point in time"): lists the user's past messages
|
|
@@ -84925,7 +84990,7 @@ function preview(text) {
|
|
|
84925
84990
|
return flat.length <= 80 ? flat : `${flat.slice(0, 80)}…`;
|
|
84926
84991
|
}
|
|
84927
84992
|
//#endregion
|
|
84928
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84993
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/BtwPanel.js
|
|
84929
84994
|
/**
|
|
84930
84995
|
* /btw side-question panel (CC's btw.tsx, inline-pane form like the local
|
|
84931
84996
|
* pickers): title line with the question, a scrollable answer body (error /
|
|
@@ -85009,7 +85074,7 @@ function BtwPanel({ question, answer, error, streaming, onClose, onCopy }) {
|
|
|
85009
85074
|
});
|
|
85010
85075
|
}
|
|
85011
85076
|
//#endregion
|
|
85012
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85077
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ReleaseNotesPanel.js
|
|
85013
85078
|
function ReleaseNotesPanel({ release, onClose }) {
|
|
85014
85079
|
const scrollRef = import_react.useRef(null);
|
|
85015
85080
|
const { rows } = useTerminalSize();
|
|
@@ -85054,7 +85119,7 @@ function ReleaseNotesPanel({ release, onClose }) {
|
|
|
85054
85119
|
});
|
|
85055
85120
|
}
|
|
85056
85121
|
//#endregion
|
|
85057
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85122
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RecapPanel.js
|
|
85058
85123
|
/**
|
|
85059
85124
|
* `/recap` panel (pi-recap semantics), in the picker/dialog visual
|
|
85060
85125
|
* language: a permission-colored Pane with a title bar (会话回顾), a
|
|
@@ -85175,7 +85240,7 @@ function RecapPanel({ summary, title, error, streaming, titleApplied, onClose, o
|
|
|
85175
85240
|
});
|
|
85176
85241
|
}
|
|
85177
85242
|
//#endregion
|
|
85178
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85243
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/tips.js
|
|
85179
85244
|
/**
|
|
85180
85245
|
* 精简 Tips 池 —— 启动首屏轮换(LogoV2)与 `/tips` 命令面板共用。
|
|
85181
85246
|
*
|
|
@@ -85889,7 +85954,7 @@ const TIPS = [
|
|
|
85889
85954
|
}
|
|
85890
85955
|
];
|
|
85891
85956
|
//#endregion
|
|
85892
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85957
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TipsPanel.js
|
|
85893
85958
|
const GROUP_ORDER = [
|
|
85894
85959
|
"keys",
|
|
85895
85960
|
"commands",
|
|
@@ -85968,7 +86033,7 @@ function TipsPanel({ onClose }) {
|
|
|
85968
86033
|
});
|
|
85969
86034
|
}
|
|
85970
86035
|
//#endregion
|
|
85971
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86036
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentCard.js
|
|
85972
86037
|
function formatDuration$1(ms) {
|
|
85973
86038
|
const seconds = Math.floor(ms / 1e3);
|
|
85974
86039
|
return seconds < 60 ? `${seconds}s` : `${Math.floor(seconds / 60)}m${seconds % 60}s`;
|
|
@@ -86023,7 +86088,7 @@ function SubagentCard({ subagent, focused, onClick }) {
|
|
|
86023
86088
|
});
|
|
86024
86089
|
}
|
|
86025
86090
|
//#endregion
|
|
86026
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86091
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDashboard.js
|
|
86027
86092
|
/** 可点击 ✕ 退出按钮:整屏/浮层场景的鼠标退出通道(Esc 等价)。 */
|
|
86028
86093
|
function ExitButton({ onClick }) {
|
|
86029
86094
|
const [hovered, setHovered] = import_react.useState(false);
|
|
@@ -86171,7 +86236,7 @@ function SubagentDashboard({ subagents, onClose, onSelect }) {
|
|
|
86171
86236
|
});
|
|
86172
86237
|
}
|
|
86173
86238
|
//#endregion
|
|
86174
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86239
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/JobsPanel.js
|
|
86175
86240
|
function statusInfo(status) {
|
|
86176
86241
|
const minimal = isMinimalMode();
|
|
86177
86242
|
switch (status) {
|
|
@@ -86459,7 +86524,7 @@ function JobsPanel({ jobs, onClose, onKill }) {
|
|
|
86459
86524
|
});
|
|
86460
86525
|
}
|
|
86461
86526
|
//#endregion
|
|
86462
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86527
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDetailScene.js
|
|
86463
86528
|
function formatDuration(ms) {
|
|
86464
86529
|
if (ms < 1e3) return `${ms}ms`;
|
|
86465
86530
|
if (ms < 6e4) return `${(ms / 1e3).toFixed(1)}s`;
|
|
@@ -86917,7 +86982,7 @@ function FileActionsPanel({ path, isDir, focusIndex, onPick }) {
|
|
|
86917
86982
|
});
|
|
86918
86983
|
}
|
|
86919
86984
|
//#endregion
|
|
86920
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86985
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ProductivityPickers.js
|
|
86921
86986
|
function oneLine(text, max = 70) {
|
|
86922
86987
|
const compact = text.replace(/\s+/gu, " ").trim();
|
|
86923
86988
|
return compact.length > max ? `${compact.slice(0, max - 1)}…` : compact;
|
|
@@ -87009,7 +87074,7 @@ function DiffLoading() {
|
|
|
87009
87074
|
});
|
|
87010
87075
|
}
|
|
87011
87076
|
//#endregion
|
|
87012
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87077
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/productivityCommands.js
|
|
87013
87078
|
/** `/copy` argument is a one-based reply age; omission selects the latest. */
|
|
87014
87079
|
function parseCopyIndex(raw, count) {
|
|
87015
87080
|
const value = raw.trim();
|
|
@@ -87039,7 +87104,7 @@ function copyChoiceText(candidate, index) {
|
|
|
87039
87104
|
}
|
|
87040
87105
|
/** Persist a private fallback when terminal clipboard integration is unavailable. */
|
|
87041
87106
|
async function writeCopyFallback(text) {
|
|
87042
|
-
const file = join(await mkdtemp(join(tmpdir(), "
|
|
87107
|
+
const file = join(await mkdtemp(join(tmpdir(), "chatcode-cli-copy-")), "response.txt");
|
|
87043
87108
|
await writeFile(file, text, {
|
|
87044
87109
|
encoding: "utf8",
|
|
87045
87110
|
mode: 384
|
|
@@ -87062,7 +87127,7 @@ function gitDiffLines(report, labels) {
|
|
|
87062
87127
|
];
|
|
87063
87128
|
}
|
|
87064
87129
|
//#endregion
|
|
87065
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87130
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sessionOrganizationCommands.js
|
|
87066
87131
|
/** Compact duration suitable for a terminal report row. */
|
|
87067
87132
|
function formatStatsDuration(ms) {
|
|
87068
87133
|
if (ms < 1e3) return `${Math.round(ms)} ms`;
|
|
@@ -87108,7 +87173,7 @@ function parsePresetManagement(input) {
|
|
|
87108
87173
|
return { kind: "invalid" };
|
|
87109
87174
|
}
|
|
87110
87175
|
//#endregion
|
|
87111
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87176
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workflowCommands.js
|
|
87112
87177
|
const ALIASES = {
|
|
87113
87178
|
map: "inspect",
|
|
87114
87179
|
fixit: "repair",
|
|
@@ -87163,7 +87228,7 @@ function buildWorkflowCommand(name, rawInput = "") {
|
|
|
87163
87228
|
};
|
|
87164
87229
|
}
|
|
87165
87230
|
//#endregion
|
|
87166
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87231
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/urlGuard.js
|
|
87167
87232
|
const EXTERNAL_SCHEME = /^https?:\/\//i;
|
|
87168
87233
|
/**
|
|
87169
87234
|
* Classify a clicked link target. Mirrors the previous handleOpenTarget
|
|
@@ -87188,7 +87253,7 @@ function classifyOpenTarget(url) {
|
|
|
87188
87253
|
return { kind: "rejected" };
|
|
87189
87254
|
}
|
|
87190
87255
|
//#endregion
|
|
87191
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87256
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useExternalVersion.js
|
|
87192
87257
|
/**
|
|
87193
87258
|
* Subscribe to an external store's version counter at DEFAULT lane.
|
|
87194
87259
|
*
|
|
@@ -87237,7 +87302,7 @@ function useExternalVersion(subscribe, getVersion, enabled = true) {
|
|
|
87237
87302
|
return version;
|
|
87238
87303
|
}
|
|
87239
87304
|
//#endregion
|
|
87240
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87305
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/WaveBand.js
|
|
87241
87306
|
/**
|
|
87242
87307
|
* The wake — the whole session drawn as one row of glyphs.
|
|
87243
87308
|
*
|
|
@@ -87374,7 +87439,7 @@ function toHex(colour) {
|
|
|
87374
87439
|
return `#${hex(parsed.r)}${hex(parsed.g)}${hex(parsed.b)}`;
|
|
87375
87440
|
}
|
|
87376
87441
|
//#endregion
|
|
87377
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87442
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Ledger.js
|
|
87378
87443
|
/**
|
|
87379
87444
|
* The ledger — one line per event, columns aligned across every row.
|
|
87380
87445
|
*
|
|
@@ -87620,7 +87685,7 @@ function Ledger({ rows, start, height, cursor, width, tick, arrivalTick, arrival
|
|
|
87620
87685
|
});
|
|
87621
87686
|
}
|
|
87622
87687
|
//#endregion
|
|
87623
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87688
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Inspector.js
|
|
87624
87689
|
/**
|
|
87625
87690
|
* The inspector — full detail for the focused row, in a fixed-height slot.
|
|
87626
87691
|
*
|
|
@@ -87726,7 +87791,7 @@ function Inspector({ node, detail, height, width, expanded, scroll }) {
|
|
|
87726
87791
|
});
|
|
87727
87792
|
}
|
|
87728
87793
|
//#endregion
|
|
87729
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87794
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/HotspotView.js
|
|
87730
87795
|
/**
|
|
87731
87796
|
* The hotspot view — the session ranked by cost instead of ordered by time.
|
|
87732
87797
|
*
|
|
@@ -87889,7 +87954,7 @@ function HotspotView({ agg, sort, width, height, cursor, tick, switchTick, onRow
|
|
|
87889
87954
|
});
|
|
87890
87955
|
}
|
|
87891
87956
|
//#endregion
|
|
87892
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87957
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/query.js
|
|
87893
87958
|
/**
|
|
87894
87959
|
* Trajectory query — whole-session structured filtering.
|
|
87895
87960
|
*
|
|
@@ -88085,7 +88150,7 @@ function applyQuery(nodes, query) {
|
|
|
88085
88150
|
};
|
|
88086
88151
|
}
|
|
88087
88152
|
//#endregion
|
|
88088
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88153
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/TrajectoryScene.js
|
|
88089
88154
|
/**
|
|
88090
88155
|
* The trajectory scene — the session's own screen.
|
|
88091
88156
|
*
|
|
@@ -88573,7 +88638,7 @@ function TrajectoryScene({ channel, build, onClose }) {
|
|
|
88573
88638
|
});
|
|
88574
88639
|
}
|
|
88575
88640
|
//#endregion
|
|
88576
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88641
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/LoadedContextScene.js
|
|
88577
88642
|
/** Build the non-empty pages shown by the loaded-context inspector. */
|
|
88578
88643
|
function contextPages(context) {
|
|
88579
88644
|
const pages = [];
|
|
@@ -88757,7 +88822,7 @@ function LoadedContextScene({ context, onClose }) {
|
|
|
88757
88822
|
});
|
|
88758
88823
|
}
|
|
88759
88824
|
//#endregion
|
|
88760
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88825
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/AgentView.js
|
|
88761
88826
|
/** Rows the layout cannot do without: header, model/cwd line, dispatch
|
|
88762
88827
|
* input, hints. */
|
|
88763
88828
|
const MANDATORY_LINES = 4;
|
|
@@ -89361,7 +89426,7 @@ function AgentView({ channel, home, approval, onApprove, returnSessionId, onClos
|
|
|
89361
89426
|
});
|
|
89362
89427
|
}
|
|
89363
89428
|
//#endregion
|
|
89364
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
89429
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectoryPrefs.js
|
|
89365
89430
|
/**
|
|
89366
89431
|
* Persisted "the user has seen the trajectory" flag, at
|
|
89367
89432
|
* `~/.chatcode-cli/tui/trajectory.json`.
|
|
@@ -89421,7 +89486,7 @@ function writeTrajectorySeen(dir = DATA_DIR) {
|
|
|
89421
89486
|
}
|
|
89422
89487
|
}
|
|
89423
89488
|
//#endregion
|
|
89424
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
89489
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/chatOverlay.js
|
|
89425
89490
|
const NO_OVERLAY = { kind: "none" };
|
|
89426
89491
|
/**
|
|
89427
89492
|
* One-step wrap-around cursor move — the single source of the wrapping rule
|
|
@@ -89531,7 +89596,7 @@ function dialogOverlayVisible(overlay, gates) {
|
|
|
89531
89596
|
}
|
|
89532
89597
|
}
|
|
89533
89598
|
//#endregion
|
|
89534
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
89599
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Chat.js
|
|
89535
89600
|
const LOGOUT_EXIT_DELAY_MS = 200;
|
|
89536
89601
|
/** Shared empty snapshot for hosts whose channel has no event log. */
|
|
89537
89602
|
const NO_EVENTS = [];
|
|
@@ -91272,9 +91337,10 @@ function Chat({ channel, questionStore, approvalStore, releaseNotes, extensionDi
|
|
|
91272
91337
|
return true;
|
|
91273
91338
|
case "config": {
|
|
91274
91339
|
const chatCodeHome = resolveChatCodeCliHome();
|
|
91340
|
+
const profile = resolveDshProfileName() ?? "cli";
|
|
91275
91341
|
const lines = [
|
|
91276
|
-
t("doctor-example-config", { path:
|
|
91277
|
-
t("doctor-user-config", { path: `${chatCodeHome}/profiles/
|
|
91342
|
+
t("doctor-example-config", { path: `chatcode-cli --profile ${profile}` }),
|
|
91343
|
+
t("doctor-user-config", { path: `${chatCodeHome}/profiles/${profile}/cordis.patch.yml` }),
|
|
91278
91344
|
"",
|
|
91279
91345
|
t("doctor-launch-hint"),
|
|
91280
91346
|
t("doctor-route-hint")
|
|
@@ -93328,7 +93394,7 @@ function ModelPickerLoading() {
|
|
|
93328
93394
|
});
|
|
93329
93395
|
}
|
|
93330
93396
|
//#endregion
|
|
93331
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93397
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/webLauncher.js
|
|
93332
93398
|
const MAIN_CLI_PACKAGE = "@chatcode/chatcode-cli";
|
|
93333
93399
|
function asError(value) {
|
|
93334
93400
|
return value instanceof Error ? value : new Error(String(value));
|
|
@@ -93449,7 +93515,7 @@ function launchWebFrontend(cwd, options = {}) {
|
|
|
93449
93515
|
}
|
|
93450
93516
|
}
|
|
93451
93517
|
//#endregion
|
|
93452
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93518
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/inject-channel.js
|
|
93453
93519
|
/**
|
|
93454
93520
|
* External injection channel — lets an out-of-process editor integration
|
|
93455
93521
|
* (e.g. the `dsh.nvim` Neovim plugin) push text into the running TUI's
|
|
@@ -93644,7 +93710,7 @@ function openInjectChannel(sessionId, cwd, handlers, onError) {
|
|
|
93644
93710
|
};
|
|
93645
93711
|
}
|
|
93646
93712
|
//#endregion
|
|
93647
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93713
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-auth.js
|
|
93648
93714
|
const CHATCODE_CLI_OAUTH_TOKEN = "CHATCODE_CLI_OAUTH_TOKEN";
|
|
93649
93715
|
const DEFAULT_SERVICE_WAIT_MS = 75e3;
|
|
93650
93716
|
function authService(ctx) {
|
|
@@ -93710,13 +93776,13 @@ async function promptChoice(promptText, invalidText) {
|
|
|
93710
93776
|
while (true) {
|
|
93711
93777
|
let answer;
|
|
93712
93778
|
try {
|
|
93713
|
-
answer = (await prompt.question(`[
|
|
93779
|
+
answer = (await prompt.question(`[chatcode-cli] ${promptText}`)).trim().toLowerCase();
|
|
93714
93780
|
} catch {
|
|
93715
93781
|
return "exit";
|
|
93716
93782
|
}
|
|
93717
93783
|
if (answer === "1" || answer === "r" || answer === "retry") return "retry";
|
|
93718
93784
|
if (answer === "" || answer === "2" || answer === "q" || answer === "quit" || answer === "exit") return "exit";
|
|
93719
|
-
process.stderr.write(`[
|
|
93785
|
+
process.stderr.write(`[chatcode-cli] ${invalidText}\n`);
|
|
93720
93786
|
}
|
|
93721
93787
|
} finally {
|
|
93722
93788
|
prompt.close();
|
|
@@ -93822,7 +93888,7 @@ async function requireChatCodeStartupLogin(ctx, options) {
|
|
|
93822
93888
|
return "ready";
|
|
93823
93889
|
}
|
|
93824
93890
|
//#endregion
|
|
93825
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93891
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-api.js
|
|
93826
93892
|
/** Bind authenticated statistics requests to one TUI lifetime. */
|
|
93827
93893
|
function createChatCodeAuthorizedPost(ctx) {
|
|
93828
93894
|
const lifetime = new AbortController();
|
|
@@ -93861,7 +93927,7 @@ function createChatCodeAuthorizedPost(ctx) {
|
|
|
93861
93927
|
};
|
|
93862
93928
|
}
|
|
93863
93929
|
//#endregion
|
|
93864
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93930
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/plugin.js
|
|
93865
93931
|
/**
|
|
93866
93932
|
* Interactive TUI front door for ChatCode CLI agents.
|
|
93867
93933
|
*
|
|
@@ -93960,7 +94026,7 @@ async function apply(ctx, config) {
|
|
|
93960
94026
|
const hostMode = resolveTuiHostMode();
|
|
93961
94027
|
if (hostMode === "invalid-explicit-launch") {
|
|
93962
94028
|
if (readTuiEnv("RESTART_CHILD") === "1") logRestartEvent("boot: TTY gate failed - stdout is not a TTY");
|
|
93963
|
-
throw new Error("
|
|
94029
|
+
throw new Error("chatcode-cli requires an interactive terminal (stdout must be a TTY).");
|
|
93964
94030
|
}
|
|
93965
94031
|
if (hostMode === "headless-host") {
|
|
93966
94032
|
ctx.logger.info("ChatCode CLI TUI: non-interactive host detected (stdout is not a TTY); skipping the TUI frontend");
|
|
@@ -93983,7 +94049,7 @@ async function apply(ctx, config) {
|
|
|
93983
94049
|
}
|
|
93984
94050
|
const chatCodeStartup = await requireChatCodeStartupLogin(ctx, {
|
|
93985
94051
|
openUrl: openExternal,
|
|
93986
|
-
report: (message) => process.stderr.write(`[
|
|
94052
|
+
report: (message) => process.stderr.write(`[chatcode-cli] ${message}\n`)
|
|
93987
94053
|
});
|
|
93988
94054
|
if (chatCodeStartup === "exit" || chatCodeStartup === "blocked") {
|
|
93989
94055
|
const exit = ctx.get("appExit");
|
|
@@ -94004,8 +94070,8 @@ async function apply(ctx, config) {
|
|
|
94004
94070
|
if (process.stderr.isTTY) process.stderr.write(`\nChatCode CLI TUI: 更新后版本未变化(仍为 ${now ?? "unknown"},原为 ${updatedFrom});可能是镜像 registry 未同步,请稍后重试或检查 registry 配置。\n`);
|
|
94005
94071
|
} else if (process.stderr.isTTY) {
|
|
94006
94072
|
const launcherVersion = readTuiEnv("LAUNCHER_VERSION");
|
|
94007
|
-
if (launcherVersion === void 0) process.stderr.write(`\n[
|
|
94008
|
-
else if (isVersionNewer(now, launcherVersion)) process.stderr.write(`\n[
|
|
94073
|
+
if (launcherVersion === void 0) process.stderr.write(`\n[chatcode-cli] ${t("update-launcher-align-unknown", { version: now })}\n`);
|
|
94074
|
+
else if (isVersionNewer(now, launcherVersion)) process.stderr.write(`\n[chatcode-cli] ${t("update-launcher-outdated", {
|
|
94009
94075
|
profile: now,
|
|
94010
94076
|
launcher: launcherVersion
|
|
94011
94077
|
})}\n`);
|
|
@@ -94351,7 +94417,7 @@ async function apply(ctx, config) {
|
|
|
94351
94417
|
{
|
|
94352
94418
|
const unregister = (getHostSettingsSections(ctx.get("tuiSettingsSections")) ?? getLocalSettingsSectionsHost()).register({
|
|
94353
94419
|
ns: "dsh-tui",
|
|
94354
|
-
title: "
|
|
94420
|
+
title: "chatcode-cli",
|
|
94355
94421
|
groups: [
|
|
94356
94422
|
{
|
|
94357
94423
|
id: "status-bar",
|
|
@@ -94817,7 +94883,7 @@ async function apply(ctx, config) {
|
|
|
94817
94883
|
if (error !== void 0) {
|
|
94818
94884
|
const message = error instanceof Error ? error.message : String(error);
|
|
94819
94885
|
ctx.logger.error(`ChatCode CLI TUI: exit after error: ${message}`);
|
|
94820
|
-
finishExit(ctx, instance, bootedFullscreen, void 0, `
|
|
94886
|
+
finishExit(ctx, instance, bootedFullscreen, void 0, `chatcode-cli crashed: ${message}`, () => disposeRootAndExit(ctx, 1));
|
|
94821
94887
|
return;
|
|
94822
94888
|
}
|
|
94823
94889
|
if (updateRequested) {
|
|
@@ -95206,12 +95272,12 @@ function runRestart(ctx, profile, sessionId) {
|
|
|
95206
95272
|
logRestartEvent("runRestart: root disposed, starting restartTui");
|
|
95207
95273
|
restartTui(sessionId).then((restartCode) => {
|
|
95208
95274
|
logRestartEvent("runRestart: restartTui resolved", { restartCode });
|
|
95209
|
-
if (restartCode !== 0) writeHandoffNotice(`\
|
|
95275
|
+
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
95276
|
process.exit(restartCode);
|
|
95211
95277
|
}, (restartError) => {
|
|
95212
95278
|
const message = restartError instanceof Error ? restartError.message : String(restartError);
|
|
95213
95279
|
logRestartEvent("runRestart: restartTui rejected", { message });
|
|
95214
|
-
writeHandoffNotice(`\
|
|
95280
|
+
writeHandoffNotice(`\nchatcode-cli restart failed: ${message}. Your session is preserved — resume with:\n${resumeCommand(profile, sessionId)}\n\n`);
|
|
95215
95281
|
process.exit(1);
|
|
95216
95282
|
});
|
|
95217
95283
|
});
|
|
@@ -95223,11 +95289,11 @@ function runUpdate(ctx, profile, sessionId, targetVersion) {
|
|
|
95223
95289
|
process.exit(1);
|
|
95224
95290
|
}
|
|
95225
95291
|
updateTuiAndRestart(sessionId, profile, targetVersion).then(({ updateCode, restartCode }) => {
|
|
95226
|
-
if (updateCode !== 0) process.stderr.write(`\
|
|
95292
|
+
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
95293
|
process.exit(restartCode);
|
|
95228
95294
|
}, (updateError) => {
|
|
95229
95295
|
const message = updateError instanceof Error ? updateError.message : String(updateError);
|
|
95230
|
-
process.stderr.write(`\
|
|
95296
|
+
process.stderr.write(`\nchatcode-cli update failed: ${message}. Your session is preserved — resume with:\n${resumeCommand(profile, sessionId)}\n\n`);
|
|
95231
95297
|
process.exit(1);
|
|
95232
95298
|
});
|
|
95233
95299
|
});
|
|
@@ -95254,7 +95320,7 @@ function disposeRootAndExit(ctx, code) {
|
|
|
95254
95320
|
*/
|
|
95255
95321
|
function resumeCommand(profile, sessionId) {
|
|
95256
95322
|
const boot = profile === void 0 ? "chatcode-cli --config cordis.yml" : `chatcode-cli --profile ${profile}`;
|
|
95257
|
-
return process.platform === "win32" ?
|
|
95323
|
+
return process.platform === "win32" ? `${profile === void 0 ? "chatcode-cli" : boot} --resume ${sessionId}` : `CHATCODE_CLI_TUI_RESUME_SESSION=${sessionId} ${boot}`;
|
|
95258
95324
|
}
|
|
95259
95325
|
/**
|
|
95260
95326
|
* Dispose the Cordis tree, then run a process-level handoff action. The
|