@chatcode/chatcode-cli 3.0.2-rc.2 → 3.0.2-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +4 -4
- package/README.md +7 -1
- package/README.zh.md +7 -1
- package/lib/bin.js +11 -67
- package/lib/{command-errors-CIYn1nnW.js → command-errors-uo0j5Wi8.js} +12 -12
- package/lib/{command-trees-8o99Bws7.js → command-trees-D4SZ2sGk.js} +2 -2
- package/lib/{component-identity-CnmIKHEF.js → component-identity-C02l24iT.js} +3 -3
- package/lib/{dist-DxjlHHph.js → dist-w_sIm4VD.js} +203 -197
- package/lib/{dump-config-BSTrhTT_.js → dump-config-CauO75nE.js} +1 -1
- package/lib/dump-config-CijLv_kn.js +2 -0
- package/lib/{dump-config-schema-Cz4A13GB.js → dump-config-schema-CObLWWaW.js} +2 -2
- package/lib/{extension-events-DciGPKJa.js → extension-events-D6DbIdnG.js} +20 -20
- package/lib/{home-migration-DLaSvmfn.js → home-migration-BjDmRwBB.js} +23 -4
- package/lib/{host-access-CmD27uhQ.js → host-access-BdqThvw7.js} +1 -1
- package/lib/{keymap-CFChEJ2W.js → keymap-DFoC50J1.js} +2 -2
- package/lib/{plugin-jvd9PCVt.js → plugin-B37GhsdI.js} +458 -495
- package/lib/{plugin-DYHtreEd.js → plugin-Cn-hyYY8.js} +1 -1
- package/lib/{profile-boot-Blq7uqhx.js → profile-boot-SJGbpLgN.js} +13 -1
- package/lib/profile-boot.js +1 -1
- package/lib/{scenes-ai_8sHDs.js → scenes-Dk6DYkO9.js} +3 -3
- package/lib/{settings-sections-QQ1-2lhL.js → settings-sections-D4Ozrymr.js} +3 -3
- package/lib/startup-diagnostics-C_hRCp-q.js +91 -0
- package/lib/{themes-DTzG_9I_.js → themes-DDI83rNa.js} +12 -12
- package/lib/tui-compat-command-trees.js +1 -1
- package/lib/tui-compat-extensions.js +3 -3
- 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-BCHRRcfe.js → tuiDisplayPrefs-CJ9aBVkB.js} +1 -1
- package/lib/types/home-migration.d.ts +8 -0
- package/lib/types/startup-diagnostics.d.ts +13 -0
- package/lib/{workspaces-CznCgVHv.js → workspaces-Dt_J35P0.js} +2 -2
- package/package.json +25 -25
- package/runtime/manifest.json +1 -1
- 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
- package/runtime/node_modules/@deepseek-ai/dsh-session-log-export/lib/client.js +3 -8
- package/runtime/node_modules/@deepseek-ai/dsh-session-log-export/lib/types/client/HeaderAction.d.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-app/presets/cordis.patch.yml +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-app/presets/ptc.patch.yml +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-app/presets/standard.patch.yml +2 -1
- package/lib/dump-config-DBW7YLx-.js +0 -2
|
@@ -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, i as formatContextUsage, l as normalizeStatusBar, 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, i as formatContextUsage, l as normalizeStatusBar, n as DEFAULT_STATUS_BAR, o as isPageMarginMode, p as subscribePageMargin, r as applyPageMargin, s as normalizePageMargin, u as normalizeToolBackground } from "./tuiDisplayPrefs-CJ9aBVkB.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-DFoC50J1.js";
|
|
4
|
+
import { c as withHostRootCapability } from "./host-access-BdqThvw7.js";
|
|
5
|
+
import { i as getHostWorkspaceRuntime, r as createLocalWorkspaceRuntime } from "./workspaces-Dt_J35P0.js";
|
|
6
|
+
import { n as getHostCommandTrees } from "./command-trees-D4SZ2sGk.js";
|
|
7
|
+
import { a as isReservedCredentialRef, n as getHostSettingsSections, r as getLocalSettingsSectionsHost } from "./settings-sections-D4Ozrymr.js";
|
|
8
|
+
import { n as getHostSceneRuntime } from "./scenes-Dk6DYkO9.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-D6DbIdnG.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-uo0j5Wi8.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-DDI83rNa.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.12_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.12_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.12_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.12_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.12_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.12_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.12_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`).
|
|
@@ -1756,12 +1756,12 @@ const dict = {
|
|
|
1756
1756
|
en: "Persisted model route {{provider}}/{{model}} is not advertised by that provider; fell back to {{fallback}}"
|
|
1757
1757
|
},
|
|
1758
1758
|
"model-startup-none": {
|
|
1759
|
-
zh: "
|
|
1760
|
-
en: "No
|
|
1759
|
+
zh: "当前没有可用模型,仍可查看历史会话和修改设置。请通过 /model 选择模型,或通过 /provider 配置提供方后再发送消息。",
|
|
1760
|
+
en: "No model is available. You can still browse history and change settings. Select a model with /model or configure a provider with /provider before sending a message."
|
|
1761
1761
|
},
|
|
1762
|
-
"model-
|
|
1763
|
-
zh: "
|
|
1764
|
-
en: "
|
|
1762
|
+
"model-unconfigured": {
|
|
1763
|
+
zh: "未配置模型",
|
|
1764
|
+
en: "No model configured"
|
|
1765
1765
|
},
|
|
1766
1766
|
"unknown-activity-preset": {
|
|
1767
1767
|
zh: "未知预设「{{name}}」· /activity frames 查看全部",
|
|
@@ -2350,22 +2350,10 @@ const dict = {
|
|
|
2350
2350
|
zh: "回合运行中,无法切换模型",
|
|
2351
2351
|
en: "Cannot switch models while a turn is running"
|
|
2352
2352
|
},
|
|
2353
|
-
"model-switch-unavailable": {
|
|
2354
|
-
zh: "模型切换不可用——会话服务未加载",
|
|
2355
|
-
en: "Model switch unavailable — session services not loaded"
|
|
2356
|
-
},
|
|
2357
|
-
"model-switch-fork-failed": {
|
|
2358
|
-
zh: "无法切换模型 · {{err}}",
|
|
2359
|
-
en: "Cannot switch models · {{err}}"
|
|
2360
|
-
},
|
|
2361
2353
|
"model-switch-failed": {
|
|
2362
2354
|
zh: "模型切换失败 · {{err}}",
|
|
2363
2355
|
en: "Model switch failed · {{err}}"
|
|
2364
2356
|
},
|
|
2365
|
-
"model-switch-attach-failed": {
|
|
2366
|
-
zh: "模型已切换,但工作区挂载失败 · {{err}}",
|
|
2367
|
-
en: "Model switched, but workspace attachment failed · {{err}}"
|
|
2368
|
-
},
|
|
2369
2357
|
"model-usage": {
|
|
2370
2358
|
zh: "用法:/model <provider/model>(如 deepseek/deepseek-v4-flash)",
|
|
2371
2359
|
en: "Usage: /model <provider/model> (e.g. deepseek/deepseek-v4-flash)"
|
|
@@ -5449,8 +5437,8 @@ const dict = {
|
|
|
5449
5437
|
en: "Manually add a custom model"
|
|
5450
5438
|
},
|
|
5451
5439
|
"model-config-maas-unavailable": {
|
|
5452
|
-
zh: "
|
|
5453
|
-
en: "
|
|
5440
|
+
zh: "元景模型服务不可用",
|
|
5441
|
+
en: "Yuanjing model service is unavailable"
|
|
5454
5442
|
},
|
|
5455
5443
|
"model-config-current-tag": {
|
|
5456
5444
|
zh: "[当前]",
|
|
@@ -6517,7 +6505,7 @@ function resolveStartupLang(dir = PREFS_DIR$6, env = process.env) {
|
|
|
6517
6505
|
return readLangPref(dir) ?? "zh";
|
|
6518
6506
|
}
|
|
6519
6507
|
//#endregion
|
|
6520
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
6508
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/commands.js
|
|
6521
6509
|
/**
|
|
6522
6510
|
* Local slash commands for the dsh-tui TUI. Claude Code's command system is
|
|
6523
6511
|
* deeply wired into its engine; dsh-tui ships a small built-in set with the
|
|
@@ -6974,7 +6962,7 @@ function matchingCompletionToken(candidate, prefix) {
|
|
|
6974
6962
|
return candidate.aliases?.find((alias) => alias.toLowerCase().startsWith(prefix));
|
|
6975
6963
|
}
|
|
6976
6964
|
//#endregion
|
|
6977
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
6965
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionHistory.js
|
|
6978
6966
|
/**
|
|
6979
6967
|
* Launcher contract for `dsh-tui --resume`: the TUI writes the chosen session
|
|
6980
6968
|
* id to `<CHATCODE_CLI_HOME>/tui/resume.txt`, and the launcher feeds it back as
|
|
@@ -7143,7 +7131,7 @@ function forgetAgentViewSession(sessionId) {
|
|
|
7143
7131
|
} catch {}
|
|
7144
7132
|
}
|
|
7145
7133
|
//#endregion
|
|
7146
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
7134
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionTags.js
|
|
7147
7135
|
/**
|
|
7148
7136
|
* One searchable local tag per persisted session.
|
|
7149
7137
|
*
|
|
@@ -7293,7 +7281,7 @@ function forgetSessionTag(sessionId, dir = DATA_DIR) {
|
|
|
7293
7281
|
return setSessionTag(sessionId, void 0, dir).ok;
|
|
7294
7282
|
}
|
|
7295
7283
|
//#endregion
|
|
7296
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
7284
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/liveSession.js
|
|
7297
7285
|
/**
|
|
7298
7286
|
* Live Session compatibility facade.
|
|
7299
7287
|
*
|
|
@@ -7455,7 +7443,7 @@ function liveSessionCreateOptions(request) {
|
|
|
7455
7443
|
};
|
|
7456
7444
|
}
|
|
7457
7445
|
//#endregion
|
|
7458
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
7446
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/sessionLog.js
|
|
7459
7447
|
/**
|
|
7460
7448
|
* Legacy third-party session-event types the TUI vouches for as ephemeral
|
|
7461
7449
|
* UI frames — safe for the strict read path to accept and skip. Exported
|
|
@@ -8169,7 +8157,7 @@ function deleteSessionLog(sessionId) {
|
|
|
8169
8157
|
}
|
|
8170
8158
|
}
|
|
8171
8159
|
//#endregion
|
|
8172
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
8160
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/sessionEvent.js
|
|
8173
8161
|
/** Narrow an unknown/session event to the retired durable chunk envelope. */
|
|
8174
8162
|
function legacyAssistantChunkOf(event) {
|
|
8175
8163
|
if (event === null || typeof event !== "object") return void 0;
|
|
@@ -8183,7 +8171,7 @@ function legacyAssistantChunkOf(event) {
|
|
|
8183
8171
|
return event;
|
|
8184
8172
|
}
|
|
8185
8173
|
//#endregion
|
|
8186
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
8174
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessionTree.js
|
|
8187
8175
|
const TREE_FILTERS = [
|
|
8188
8176
|
"default",
|
|
8189
8177
|
"no-tools",
|
|
@@ -10339,7 +10327,7 @@ var require_subset = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
10339
10327
|
module.exports = subset;
|
|
10340
10328
|
}));
|
|
10341
10329
|
//#endregion
|
|
10342
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
10330
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/shellQuote.js
|
|
10343
10331
|
var import_semver = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
10344
10332
|
const internalRe = require_re();
|
|
10345
10333
|
const constants = require_constants$1();
|
|
@@ -10432,7 +10420,7 @@ function cmdEscapeArgument(arg, doubleEscapeMetaChars = false) {
|
|
|
10432
10420
|
return out;
|
|
10433
10421
|
}
|
|
10434
10422
|
//#endregion
|
|
10435
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
10423
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/update.js
|
|
10436
10424
|
const PACKAGE_NAME = "@chatcode/cco-tui";
|
|
10437
10425
|
const DEFAULT_REGISTRY = "https://registry.npmjs.org";
|
|
10438
10426
|
const GITHUB_REPO = "ccch1mneyyy/dsh-TUI";
|
|
@@ -11783,7 +11771,7 @@ async function restartTui(sessionId, options = {}) {
|
|
|
11783
11771
|
});
|
|
11784
11772
|
}
|
|
11785
11773
|
//#endregion
|
|
11786
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
11774
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/header.js
|
|
11787
11775
|
/** A finite number, or undefined for anything else (NaN and ±Infinity included). */
|
|
11788
11776
|
function finiteNumber(value) {
|
|
11789
11777
|
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
@@ -11857,7 +11845,7 @@ function classify(header) {
|
|
|
11857
11845
|
return { kind: "root" };
|
|
11858
11846
|
}
|
|
11859
11847
|
//#endregion
|
|
11860
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
11848
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/frames.js
|
|
11861
11849
|
/**
|
|
11862
11850
|
* Bounded reads over the JSONL backend's concatenated-Zstandard session logs.
|
|
11863
11851
|
*
|
|
@@ -12103,7 +12091,7 @@ function decodeTail(window) {
|
|
|
12103
12091
|
return decodeFrames(window.buffer, window.whole ? walkFrames(window.buffer) : resyncFrames(window.buffer));
|
|
12104
12092
|
}
|
|
12105
12093
|
//#endregion
|
|
12106
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12094
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/digest.js
|
|
12107
12095
|
/**
|
|
12108
12096
|
* What a bounded read can learn about a session log.
|
|
12109
12097
|
*
|
|
@@ -12567,7 +12555,7 @@ function previewSession(path, limit) {
|
|
|
12567
12555
|
return entries.slice(-limit);
|
|
12568
12556
|
}
|
|
12569
12557
|
//#endregion
|
|
12570
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12558
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/artifact.js
|
|
12571
12559
|
/** Read-only artifact lookup for session summaries and previews. */
|
|
12572
12560
|
/** Highest published compressed generation; temporary migration files are ignored. */
|
|
12573
12561
|
function inDirectory(directory) {
|
|
@@ -12620,7 +12608,7 @@ function findSessionArtifact(sessionId, target) {
|
|
|
12620
12608
|
}
|
|
12621
12609
|
}
|
|
12622
12610
|
//#endregion
|
|
12623
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12611
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/store.js
|
|
12624
12612
|
/**
|
|
12625
12613
|
* The session index — a local cache keyed by the backend's own change token.
|
|
12626
12614
|
*
|
|
@@ -12783,7 +12771,7 @@ function noteBranch(sessionId, branch) {
|
|
|
12783
12771
|
writeIndex(index);
|
|
12784
12772
|
}
|
|
12785
12773
|
//#endregion
|
|
12786
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
12774
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/list.js
|
|
12787
12775
|
/**
|
|
12788
12776
|
* Building the session list.
|
|
12789
12777
|
*
|
|
@@ -13055,7 +13043,7 @@ async function locateSession(source, sessionId, signal) {
|
|
|
13055
13043
|
return match === void 0 ? void 0 : locate(source, match.raw, sessionId);
|
|
13056
13044
|
}
|
|
13057
13045
|
//#endregion
|
|
13058
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13046
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/agent-view.js
|
|
13059
13047
|
/**
|
|
13060
13048
|
* Agent view (CC `claude agents`) derivation helpers — pure functions over
|
|
13061
13049
|
* session events that the channel folds into {@link AgentViewRow}s. Kept in
|
|
@@ -13285,7 +13273,7 @@ function featureOn(config, name) {
|
|
|
13285
13273
|
return config.mode !== "minimal";
|
|
13286
13274
|
}
|
|
13287
13275
|
//#endregion
|
|
13288
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13276
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/activityPrefs.js
|
|
13289
13277
|
/**
|
|
13290
13278
|
* Persisted working-activity indicator preference, mirroring the pi
|
|
13291
13279
|
* working-activity extension's `~/.pi/agent/working-activity.json`
|
|
@@ -13354,7 +13342,7 @@ function writeActivityFrames(name, dir = PREFS_DIR$5) {
|
|
|
13354
13342
|
}
|
|
13355
13343
|
}
|
|
13356
13344
|
//#endregion
|
|
13357
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13345
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileSuggestions.js
|
|
13358
13346
|
const pathSeparators = /[\\/]/;
|
|
13359
13347
|
function isPathLikeQuery(query) {
|
|
13360
13348
|
return query.startsWith(".") || query.startsWith("~") || query.startsWith("/") || /^[A-Za-z]:[\\/]/.test(query) || pathSeparators.test(query);
|
|
@@ -13391,7 +13379,7 @@ function preserveSelection(previous, next, fallback = 0) {
|
|
|
13391
13379
|
return next.length === 0 ? 0 : Math.min(Math.max(0, fallback), next.length - 1);
|
|
13392
13380
|
}
|
|
13393
13381
|
//#endregion
|
|
13394
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13382
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/effortPrefs.js
|
|
13395
13383
|
/**
|
|
13396
13384
|
* Persisted reasoning-effort preference (`~/.chatcode-cli/tui/effort.json`). Set via
|
|
13397
13385
|
* `/effort` (slider or `/effort <id>`; `/effort status` reports the current
|
|
@@ -13433,7 +13421,7 @@ function writeEffortPref(effort, dir = PREFS_DIR$4) {
|
|
|
13433
13421
|
}
|
|
13434
13422
|
}
|
|
13435
13423
|
//#endregion
|
|
13436
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13424
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelPrefs.js
|
|
13437
13425
|
/**
|
|
13438
13426
|
* Persisted model-route preference (`/model` picker choice), kept at
|
|
13439
13427
|
* `~/.chatcode-cli/model.json` (`provider` + `model` keys) so CLI and Web share it
|
|
@@ -13516,7 +13504,7 @@ function writeModelPref(provider, model, dir = PREFS_DIR$3) {
|
|
|
13516
13504
|
}
|
|
13517
13505
|
}
|
|
13518
13506
|
//#endregion
|
|
13519
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13507
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelRoute.js
|
|
13520
13508
|
/**
|
|
13521
13509
|
* Model route resolution (issue #67). The `(provider, model)` pair is a
|
|
13522
13510
|
* single value: every source either supplies the WHOLE route or is skipped,
|
|
@@ -13530,6 +13518,11 @@ const DEFAULT_MODEL_ROUTE = {
|
|
|
13530
13518
|
provider: "deepseek-official",
|
|
13531
13519
|
model: "deepseek-v4-flash"
|
|
13532
13520
|
};
|
|
13521
|
+
/** No model selected: the UI can open, but must not submit model requests. */
|
|
13522
|
+
const UNCONFIGURED_MODEL_ROUTE = {
|
|
13523
|
+
provider: "",
|
|
13524
|
+
model: ""
|
|
13525
|
+
};
|
|
13533
13526
|
/** Managed provider selected by an environment-token desktop launch. */
|
|
13534
13527
|
const CHATCODE_CODING_PLAN_PROVIDER = "chatcode-codingplan";
|
|
13535
13528
|
const nonEmpty = (value) => value !== void 0 && value !== "";
|
|
@@ -13576,7 +13569,8 @@ function resolveModelRoute(configured, pref, defaults = DEFAULT_MODEL_ROUTE) {
|
|
|
13576
13569
|
* it cannot silently escape to another account/provider. The caller validates
|
|
13577
13570
|
* the chosen route against the active catalog.
|
|
13578
13571
|
*/
|
|
13579
|
-
function resolveStartupModelRoute(configured, pref, defaults, tokenCodingPlanRoute) {
|
|
13572
|
+
function resolveStartupModelRoute(configured, pref, defaults = DEFAULT_MODEL_ROUTE, tokenCodingPlanRoute) {
|
|
13573
|
+
if (explicitModelRoute(defaults) === void 0) return { ...UNCONFIGURED_MODEL_ROUTE };
|
|
13580
13574
|
if (tokenCodingPlanRoute === void 0) return resolveModelRoute(configured, pref, defaults);
|
|
13581
13575
|
const explicit = explicitModelRoute(configured);
|
|
13582
13576
|
if (explicit?.provider.startsWith("chatcode-") === true) return explicit;
|
|
@@ -13644,21 +13638,17 @@ async function waitForModelRouteForProvider(catalog, provider, options = {}) {
|
|
|
13644
13638
|
}
|
|
13645
13639
|
}
|
|
13646
13640
|
/**
|
|
13647
|
-
* The
|
|
13648
|
-
*
|
|
13649
|
-
*
|
|
13650
|
-
* does not pin a complete override. The status line derives the resumed
|
|
13651
|
-
* session's route from this so the display follows the session, not the
|
|
13652
|
-
* startup resolution. A log without any header (a session that never started
|
|
13653
|
-
* a turn) records no route.
|
|
13641
|
+
* The latest durable model selection or request route. A selection made
|
|
13642
|
+
* after the last request also survives resume before another turn is sent.
|
|
13643
|
+
* A complete cordis.yml override still takes precedence at the caller.
|
|
13654
13644
|
* @param events - The session's durable event log.
|
|
13655
13645
|
* @returns The last recorded route, or undefined when the log has none.
|
|
13656
13646
|
*/
|
|
13657
13647
|
function recordedModelRoute(events) {
|
|
13658
13648
|
for (let i = events.length - 1; i >= 0; i--) {
|
|
13659
13649
|
const event = events[i];
|
|
13660
|
-
if (event === void 0
|
|
13661
|
-
const config = event.data?.header?.config;
|
|
13650
|
+
if (event === void 0) continue;
|
|
13651
|
+
const config = event.type === "model/selection" ? event.data : event.type === "request/header" ? event.data?.header?.config : void 0;
|
|
13662
13652
|
if (typeof config?.provider === "string" && typeof config?.model === "string") return {
|
|
13663
13653
|
provider: config.provider,
|
|
13664
13654
|
model: config.model
|
|
@@ -13689,7 +13679,8 @@ function isUnregisteredProvider(error) {
|
|
|
13689
13679
|
* surfaces at startup instead of as a server-side model-name error.
|
|
13690
13680
|
*
|
|
13691
13681
|
* Uncertainty trusts the route — no llm service, an empty catalog, a catalog
|
|
13692
|
-
* read that failed for transport or adapter-internal reasons. An
|
|
13682
|
+
* read that failed for transport or adapter-internal reasons. An explicitly
|
|
13683
|
+
* unconfigured fallback keeps an empty catalog unconfigured instead. An unregistered
|
|
13693
13684
|
* PROVIDER is not uncertainty: no adapter owns the name, so the route is
|
|
13694
13685
|
* proven unusable and falls back exactly like an unknown model does. Trusting
|
|
13695
13686
|
* it does not keep startup alive either — agent creation dies a few frames
|
|
@@ -13702,6 +13693,7 @@ function isUnregisteredProvider(error) {
|
|
|
13702
13693
|
* @returns The adopted route plus the rejected one (for a warning), if any.
|
|
13703
13694
|
*/
|
|
13704
13695
|
async function validateModelRoute(llm, route, fallback = DEFAULT_MODEL_ROUTE) {
|
|
13696
|
+
if (explicitModelRoute(route) === void 0) return { route };
|
|
13705
13697
|
if (llm === void 0) return { route };
|
|
13706
13698
|
let models;
|
|
13707
13699
|
try {
|
|
@@ -13713,6 +13705,10 @@ async function validateModelRoute(llm, route, fallback = DEFAULT_MODEL_ROUTE) {
|
|
|
13713
13705
|
rejected: route
|
|
13714
13706
|
};
|
|
13715
13707
|
}
|
|
13708
|
+
if (models.length === 0 && explicitModelRoute(fallback) === void 0) return {
|
|
13709
|
+
route: fallback,
|
|
13710
|
+
rejected: route
|
|
13711
|
+
};
|
|
13716
13712
|
if (models.length === 0 || models.some((model) => model.id === route.model)) return { route };
|
|
13717
13713
|
return {
|
|
13718
13714
|
route: fallback,
|
|
@@ -13742,7 +13738,7 @@ function orderModelProviders(providers) {
|
|
|
13742
13738
|
return [...providers].sort((left, right) => rank(left.id) - rank(right.id));
|
|
13743
13739
|
}
|
|
13744
13740
|
//#endregion
|
|
13745
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13741
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/presetPrefs.js
|
|
13746
13742
|
/**
|
|
13747
13743
|
* Persisted agent-preset preference (`/preset` picker choice), kept at
|
|
13748
13744
|
* `~/.chatcode-cli/tui/agent-preset.json` (`preset` key) so the choice survives
|
|
@@ -13801,7 +13797,7 @@ function migratePresetPref(requested, resolved, dir = PREFS_DIR$2) {
|
|
|
13801
13797
|
return requested === void 0 || resolved === void 0 || requested === resolved ? true : writePresetPref(resolved, dir);
|
|
13802
13798
|
}
|
|
13803
13799
|
//#endregion
|
|
13804
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13800
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/persistedSession.js
|
|
13805
13801
|
/** Undefined means the service exposes neither supported read API. */
|
|
13806
13802
|
async function readPersistedSession(persistence, id) {
|
|
13807
13803
|
if (persistence === null || typeof persistence !== "object") return void 0;
|
|
@@ -13821,7 +13817,7 @@ async function readPersistedSession(persistence, id) {
|
|
|
13821
13817
|
if (typeof reader.load === "function") return reader.load(id);
|
|
13822
13818
|
}
|
|
13823
13819
|
//#endregion
|
|
13824
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13820
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-resolution.js
|
|
13825
13821
|
/**
|
|
13826
13822
|
* Agent-preset resolution across upstream prerelease lines.
|
|
13827
13823
|
*
|
|
@@ -13859,7 +13855,7 @@ async function resolveCompatiblePreset(presets, requested) {
|
|
|
13859
13855
|
return presets.resolve(requested);
|
|
13860
13856
|
}
|
|
13861
13857
|
//#endregion
|
|
13862
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
13858
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/presets.js
|
|
13863
13859
|
/**
|
|
13864
13860
|
* Agent-presets roster integration (issue #8): compose each session's
|
|
13865
13861
|
* model-facing world (tools, prompt sections, projections) from one preset
|
|
@@ -14009,7 +14005,7 @@ function serviceForAgent(ctx, agent, key) {
|
|
|
14009
14005
|
return ctx.get(key);
|
|
14010
14006
|
}
|
|
14011
14007
|
//#endregion
|
|
14012
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14008
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-management.js
|
|
14013
14009
|
const failureReason = (error) => error instanceof Error ? error.message : String(error);
|
|
14014
14010
|
/** Read a roster-resolved composition without bypassing preset ownership. */
|
|
14015
14011
|
async function readPresetComposition(presets, presetId) {
|
|
@@ -14066,7 +14062,7 @@ async function removePresetComposition(presets, presetId) {
|
|
|
14066
14062
|
}
|
|
14067
14063
|
}
|
|
14068
14064
|
//#endregion
|
|
14069
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14065
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/session-organization.js
|
|
14070
14066
|
/** Adapter-only readers for optional Harness session-organization services. */
|
|
14071
14067
|
const STAT_KEYS = [
|
|
14072
14068
|
"turns",
|
|
@@ -14127,7 +14123,7 @@ function presetCompositionRows(content, limit = 80) {
|
|
|
14127
14123
|
};
|
|
14128
14124
|
}
|
|
14129
14125
|
//#endregion
|
|
14130
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14126
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/debug.js
|
|
14131
14127
|
/**
|
|
14132
14128
|
* Debug logger for the ported Ink core. Writes to stderr only when
|
|
14133
14129
|
* `CHATCODE_CLI_TUI_DEBUG` (or its legacy alias) is set, so normal runs stay quiet.
|
|
@@ -14157,7 +14153,7 @@ function logMouseDebug(message, fields) {
|
|
|
14157
14153
|
} catch {}
|
|
14158
14154
|
}
|
|
14159
14155
|
//#endregion
|
|
14160
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14156
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/mentions.js
|
|
14161
14157
|
/**
|
|
14162
14158
|
* `@` file-mention parsing (issue #15).
|
|
14163
14159
|
*
|
|
@@ -14303,7 +14299,7 @@ function mentionAtCaret(value, cursor) {
|
|
|
14303
14299
|
};
|
|
14304
14300
|
}
|
|
14305
14301
|
//#endregion
|
|
14306
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14302
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/commonUtilityCommands.js
|
|
14307
14303
|
/** Format only the files in the authoritative loaded-context projection. */
|
|
14308
14304
|
function loadedFileLines(files, copy) {
|
|
14309
14305
|
if (files === void 0) return [copy.unavailable];
|
|
@@ -14418,7 +14414,7 @@ function codeRatioLines(report, copy, maxAuthors = 20) {
|
|
|
14418
14414
|
return lines;
|
|
14419
14415
|
}
|
|
14420
14416
|
//#endregion
|
|
14421
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14417
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themeCatalog.js
|
|
14422
14418
|
/**
|
|
14423
14419
|
* Cordis-free theme catalog shared by future pickers, commands and hosts.
|
|
14424
14420
|
*
|
|
@@ -14499,7 +14495,7 @@ function listThemeCatalog(host) {
|
|
|
14499
14495
|
return Object.freeze(entries);
|
|
14500
14496
|
}
|
|
14501
14497
|
//#endregion
|
|
14502
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14498
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionModes.js
|
|
14503
14499
|
/**
|
|
14504
14500
|
* Configurable Shift+Tab session modes (the `modes` dsh-tui plugin config):
|
|
14505
14501
|
* each mode is a named bundle of optional DSH plane switches — plan mode
|
|
@@ -14563,7 +14559,7 @@ function modeDisplayName(spec) {
|
|
|
14563
14559
|
return spec.id;
|
|
14564
14560
|
}
|
|
14565
14561
|
//#endregion
|
|
14566
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14562
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/subagents.js
|
|
14567
14563
|
/** Unified subagent activity domain model used by the adapter and every view. */
|
|
14568
14564
|
const MAX_OUTPUT_EVENTS = 160;
|
|
14569
14565
|
const MAX_OUTPUT_LINES = 160;
|
|
@@ -14941,7 +14937,7 @@ function formatJobDuration(job, now = Date.now()) {
|
|
|
14941
14937
|
return `${Math.floor(minutes / 60)}h${String(minutes % 60).padStart(2, "0")}m`;
|
|
14942
14938
|
}
|
|
14943
14939
|
//#endregion
|
|
14944
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14940
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/minimalMode.js
|
|
14945
14941
|
/**
|
|
14946
14942
|
* Minimal mode: one process-wide flag gating decorative UI (header splash,
|
|
14947
14943
|
* emoji status glyphs, non-tool text colors, status-bar extras). The flag is
|
|
@@ -14960,7 +14956,7 @@ function setMinimalMode(enabled) {
|
|
|
14960
14956
|
minimal = enabled;
|
|
14961
14957
|
}
|
|
14962
14958
|
//#endregion
|
|
14963
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14959
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/workspace.js
|
|
14964
14960
|
/**
|
|
14965
14961
|
* Find or create the Workspace for `cwd`, then durably account `sessionId`.
|
|
14966
14962
|
*
|
|
@@ -14976,7 +14972,7 @@ async function attachSessionToWorkspace(ctx, cwd, sessionId) {
|
|
|
14976
14972
|
return true;
|
|
14977
14973
|
}
|
|
14978
14974
|
//#endregion
|
|
14979
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
14975
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/contract.js
|
|
14980
14976
|
/**
|
|
14981
14977
|
* Upstream compatibility contract.
|
|
14982
14978
|
*
|
|
@@ -15405,7 +15401,7 @@ function pluginsInfoLines(args, deps) {
|
|
|
15405
15401
|
return lines;
|
|
15406
15402
|
}
|
|
15407
15403
|
//#endregion
|
|
15408
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15404
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/mcp-status.js
|
|
15409
15405
|
/** Loader and tool-registry projection used by the TUI's `/mcp` report. */
|
|
15410
15406
|
const MCP_CLIENT_PACKAGE = "@deepseek-ai/dsh-mcp-client";
|
|
15411
15407
|
const FIBER_ACTIVE = 2;
|
|
@@ -15458,7 +15454,7 @@ function collectMcpServerStatus(schemas, entries) {
|
|
|
15458
15454
|
}));
|
|
15459
15455
|
}
|
|
15460
15456
|
//#endregion
|
|
15461
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15457
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/format.js
|
|
15462
15458
|
/**
|
|
15463
15459
|
* Number, token-count, and duration formatters shared by the status line
|
|
15464
15460
|
* and message rows.
|
|
@@ -15521,7 +15517,7 @@ function formatDuration$4(durationMs, options = {}) {
|
|
|
15521
15517
|
return parts.join(" ");
|
|
15522
15518
|
}
|
|
15523
15519
|
//#endregion
|
|
15524
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15520
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/contextUsage.js
|
|
15525
15521
|
/**
|
|
15526
15522
|
* Return the current context occupancy. The latest request is authoritative:
|
|
15527
15523
|
* its uncached input and cache read/write tokens are all part of that request's
|
|
@@ -15905,7 +15901,7 @@ function prepareMemoryTargetFile(requested, candidates, cwd, dshHome) {
|
|
|
15905
15901
|
}
|
|
15906
15902
|
}
|
|
15907
15903
|
//#endregion
|
|
15908
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
15904
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/channel.js
|
|
15909
15905
|
/** Return the step left open by a tree fork cut within one turn. */
|
|
15910
15906
|
function openStepAtForkCut(events, turn) {
|
|
15911
15907
|
for (let i = events.length - 1; i >= 0; i--) {
|
|
@@ -16812,6 +16808,13 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
16812
16808
|
*/
|
|
16813
16809
|
const deliverUserText = (text, placement, instructionText) => {
|
|
16814
16810
|
sendChain = sendChain.then(async () => {
|
|
16811
|
+
if (explicitModelRoute(state) === void 0) {
|
|
16812
|
+
state.notify(t("model-startup-none"), {
|
|
16813
|
+
color: "warning",
|
|
16814
|
+
timeoutMs: 8e3
|
|
16815
|
+
});
|
|
16816
|
+
return;
|
|
16817
|
+
}
|
|
16815
16818
|
const expansion = await expandMentions(mentionFs(ctx), state.cwd, text, mentionAttachments(ctx), stagedImages);
|
|
16816
16819
|
const message = createUserMessage({
|
|
16817
16820
|
content: withWorkflowInstruction(expansion.blocks, instructionText),
|
|
@@ -17060,8 +17063,8 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
17060
17063
|
/** The llm runtime seam (dsh-llm LlmRuntime): route metadata resolution. */
|
|
17061
17064
|
const llmRuntime = ctx.get("llm");
|
|
17062
17065
|
/** Mutable per-agent model selection (dsh-agent's routing override seam).
|
|
17063
|
-
*
|
|
17064
|
-
* default routing
|
|
17066
|
+
* Model and effort choices override subsequent requests without a fork;
|
|
17067
|
+
* default routing still comes from agentOptions until a choice; bindAgent
|
|
17065
17068
|
* re-couples it to each new agent's prompt assembly + request config. */
|
|
17066
17069
|
const selection = {
|
|
17067
17070
|
current: void 0,
|
|
@@ -17075,7 +17078,10 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
17075
17078
|
const applyPreferredEffort = async () => {
|
|
17076
17079
|
if (preferredEffort === void 0 || llmRuntime === void 0) return;
|
|
17077
17080
|
try {
|
|
17078
|
-
const
|
|
17081
|
+
const targetAgent = agent;
|
|
17082
|
+
const { provider, model } = state;
|
|
17083
|
+
const info = await llmRuntime.resolveModelInfo(provider, model);
|
|
17084
|
+
if (agent !== targetAgent || state.provider !== provider || state.model !== model) return;
|
|
17079
17085
|
state.effortLevels = (info.reasoning?.efforts ?? []).map((level) => level.id);
|
|
17080
17086
|
if (!info.reasoning?.efforts.some((effort) => effort.id === preferredEffort)) return;
|
|
17081
17087
|
selection.current = {
|
|
@@ -17095,9 +17101,9 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
17095
17101
|
const route = `${state.provider}/${state.model}`;
|
|
17096
17102
|
if (route !== modelNameRoute) {
|
|
17097
17103
|
modelNameRoute = route;
|
|
17098
|
-
state.modelName = state.model;
|
|
17104
|
+
state.modelName = state.model || t("model-unconfigured");
|
|
17099
17105
|
}
|
|
17100
|
-
if (llmRuntime === void 0 || typeof llmRuntime.resolveModelInfo !== "function") return;
|
|
17106
|
+
if (explicitModelRoute(state) === void 0 || llmRuntime === void 0 || typeof llmRuntime.resolveModelInfo !== "function") return;
|
|
17101
17107
|
const generation = ++effortLevelsGeneration;
|
|
17102
17108
|
llmRuntime.resolveModelInfo(state.provider, state.model).then((info) => {
|
|
17103
17109
|
if (generation !== effortLevelsGeneration) return;
|
|
@@ -17784,7 +17790,7 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
17784
17790
|
agentId: agent.id,
|
|
17785
17791
|
agentBindingGeneration: 0,
|
|
17786
17792
|
model: options.model,
|
|
17787
|
-
modelName: options.modelName?.trim() || options.model,
|
|
17793
|
+
modelName: options.modelName?.trim() || options.model || t("model-unconfigured"),
|
|
17788
17794
|
provider: options.provider,
|
|
17789
17795
|
tokens: {
|
|
17790
17796
|
input: 0,
|
|
@@ -19134,127 +19140,38 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
19134
19140
|
state.notify(t("model-switch-while-working"), { color: "warning" });
|
|
19135
19141
|
return false;
|
|
19136
19142
|
}
|
|
19137
|
-
|
|
19138
|
-
|
|
19139
|
-
state.notify(t("model-switch-unavailable"), { color: "error" });
|
|
19140
|
-
return false;
|
|
19141
|
-
}
|
|
19142
|
-
let seed;
|
|
19143
|
+
if (state.provider === provider && state.model === model) return true;
|
|
19144
|
+
const sourceAgent = agent;
|
|
19143
19145
|
try {
|
|
19144
19146
|
await settleManualCompaction();
|
|
19145
|
-
|
|
19146
|
-
|
|
19147
|
-
|
|
19148
|
-
|
|
19149
|
-
|
|
19150
|
-
|
|
19151
|
-
const childId = SessionId(randomUUID());
|
|
19152
|
-
let handle;
|
|
19153
|
-
const modelComposed = await composePreset(ctx, runningPresetOf(agent.session));
|
|
19154
|
-
try {
|
|
19155
|
-
handle = await agents.create(liveSessionCreateOptions({
|
|
19156
|
-
sessionId: childId,
|
|
19157
|
-
seed,
|
|
19158
|
-
runtimeSession: agent.session,
|
|
19159
|
-
inheritedCount: seed.length,
|
|
19160
|
-
cwd: state.cwd,
|
|
19161
|
-
parentSession: agent.session.id,
|
|
19162
|
-
agentPreset: modelComposed.agentPreset,
|
|
19163
|
-
agentOptions: {
|
|
19164
|
-
provider,
|
|
19165
|
-
model
|
|
19166
|
-
},
|
|
19167
|
-
setup: modelComposed.setup
|
|
19168
|
-
}));
|
|
19147
|
+
if (agent !== sourceAgent || state.working) return false;
|
|
19148
|
+
if (state.provider === provider && state.model === model) return true;
|
|
19149
|
+
agent.session.append("model/selection", {
|
|
19150
|
+
provider,
|
|
19151
|
+
model
|
|
19152
|
+
});
|
|
19169
19153
|
} catch (error) {
|
|
19170
|
-
|
|
19171
|
-
state.notify(t("model-switch-failed", { err: message }), {
|
|
19154
|
+
state.notify(t("model-switch-failed", { err: error instanceof Error ? error.message : String(error) }), {
|
|
19172
19155
|
color: "error",
|
|
19173
19156
|
timeoutMs: 8e3
|
|
19174
19157
|
});
|
|
19175
19158
|
return false;
|
|
19176
19159
|
}
|
|
19177
|
-
|
|
19178
|
-
|
|
19179
|
-
|
|
19180
|
-
state.notify(t("model-switch-attach-failed", { err: error instanceof Error ? error.message : String(error) }), {
|
|
19181
|
-
color: "warning",
|
|
19182
|
-
timeoutMs: 8e3
|
|
19183
|
-
});
|
|
19184
|
-
}
|
|
19185
|
-
streaming = void 0;
|
|
19186
|
-
reasoning = void 0;
|
|
19187
|
-
sealedReasoning.length = 0;
|
|
19188
|
-
lastReasoningRow = void 0;
|
|
19189
|
-
toolCards.clear();
|
|
19190
|
-
nextRowId = 0;
|
|
19191
|
-
state.rows.length = 0;
|
|
19192
|
-
resetSubagentProjection();
|
|
19193
|
-
resetJobProjection();
|
|
19194
|
-
state.todos = [];
|
|
19195
|
-
state.pending = [];
|
|
19196
|
-
state.goal = void 0;
|
|
19197
|
-
state.sessionTitle = "";
|
|
19198
|
-
state.sessionColor = "";
|
|
19199
|
-
state.tokens = {
|
|
19200
|
-
input: 0,
|
|
19201
|
-
output: 0,
|
|
19202
|
-
cacheRead: 0,
|
|
19203
|
-
cacheWrite: 0,
|
|
19204
|
-
peak: {
|
|
19205
|
-
input: 0,
|
|
19206
|
-
output: 0,
|
|
19207
|
-
cacheRead: 0,
|
|
19208
|
-
cacheWrite: 0
|
|
19209
|
-
},
|
|
19210
|
-
idle: {
|
|
19211
|
-
input: 0,
|
|
19212
|
-
output: 0,
|
|
19213
|
-
cacheRead: 0,
|
|
19214
|
-
cacheWrite: 0
|
|
19215
|
-
}
|
|
19160
|
+
selection.current = {
|
|
19161
|
+
provider,
|
|
19162
|
+
model
|
|
19216
19163
|
};
|
|
19217
|
-
state.responseChars = 0;
|
|
19218
|
-
state.activeToolCount = 0;
|
|
19219
|
-
state.lastUserText = "";
|
|
19220
|
-
state.working = false;
|
|
19221
|
-
state.cancelPending = false;
|
|
19222
|
-
state.spinnerMode = "requesting";
|
|
19223
|
-
state.status = handle.agent.status;
|
|
19224
|
-
state.agentId = handle.agent.id;
|
|
19225
|
-
state.agentPreset = modelComposed.agentPreset;
|
|
19226
|
-
state.model = model;
|
|
19227
19164
|
state.provider = provider;
|
|
19228
|
-
|
|
19229
|
-
state.tps = void 0;
|
|
19230
|
-
state.tpsSamples = [];
|
|
19231
|
-
state.lastUsage = void 0;
|
|
19232
|
-
state.workingActivity = void 0;
|
|
19233
|
-
state.contextWindow = void 0;
|
|
19234
|
-
state.effortLevels = void 0;
|
|
19165
|
+
state.model = model;
|
|
19235
19166
|
state.reasoningEffort = void 0;
|
|
19167
|
+
state.effortLevels = void 0;
|
|
19168
|
+
state.contextWindow = void 0;
|
|
19169
|
+
dropModelNodeCache();
|
|
19236
19170
|
refreshEffortLevels();
|
|
19237
|
-
|
|
19238
|
-
system: 0,
|
|
19239
|
-
prompt: 0,
|
|
19240
|
-
assistant: 0,
|
|
19241
|
-
thinking: 0,
|
|
19242
|
-
tools: 0
|
|
19243
|
-
};
|
|
19244
|
-
replayEvents(seed);
|
|
19245
|
-
settleStreaming();
|
|
19246
|
-
state.working = handle.agent.status === "running";
|
|
19247
|
-
const oldHandle = currentHandle;
|
|
19248
|
-
agent = handle.agent;
|
|
19249
|
-
currentHandle = handle;
|
|
19250
|
-
bindAgent();
|
|
19171
|
+
applyPreferredEffort();
|
|
19251
19172
|
updateWorkingActivity("model switch", () => activityTracker.onModelSwitch(model));
|
|
19252
|
-
refreshCommandList();
|
|
19253
19173
|
refreshLoadedContext();
|
|
19254
|
-
refreshSkillCommands();
|
|
19255
|
-
touchSession(childId);
|
|
19256
19174
|
state.emit();
|
|
19257
|
-
oldHandle?.dispose().catch(() => {});
|
|
19258
19175
|
clearStagedImages();
|
|
19259
19176
|
const defaultModel = ctx.get("agentDefaultModel");
|
|
19260
19177
|
try {
|
|
@@ -19596,10 +19513,16 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
19596
19513
|
const maasNamespace = settings.describe().some((descriptor) => descriptor.ns === "llm-chatcode-config");
|
|
19597
19514
|
const maasRevision = () => settings.describe().find((descriptor) => descriptor.ns === "llm-chatcode-config")?.revision;
|
|
19598
19515
|
const modelCatalog = ctx.get("chatcodeModelCatalog");
|
|
19516
|
+
const maasEnabled = modelCatalog?.maasToggleable === false ? modelCatalog.maasEnabled?.bind(modelCatalog) : void 0;
|
|
19599
19517
|
const catalogMembers = () => new Set(llm.listConfigurableProviders().filter((entry) => entry.settingsNs === "llm-pi-ai" && entry.declared !== true).map((entry) => entry.provider));
|
|
19600
19518
|
return {
|
|
19601
19519
|
...oauthApi === void 0 ? {} : { oauth: oauthApi },
|
|
19602
|
-
...
|
|
19520
|
+
...maasEnabled !== void 0 ? { maas: {
|
|
19521
|
+
enabled: maasEnabled,
|
|
19522
|
+
async listModels() {
|
|
19523
|
+
return maasEnabled() ? llm.listModels(CHATCODE_MAAS_PROVIDER) : [];
|
|
19524
|
+
}
|
|
19525
|
+
} } : maasNamespace ? { maas: {
|
|
19603
19526
|
enabled() {
|
|
19604
19527
|
return settings.get("llm-chatcode-config")?.enableMaas === true;
|
|
19605
19528
|
},
|
|
@@ -19794,6 +19717,10 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
19794
19717
|
return true;
|
|
19795
19718
|
},
|
|
19796
19719
|
async sideQuestion(question, options) {
|
|
19720
|
+
if (explicitModelRoute(state) === void 0) return {
|
|
19721
|
+
answer: null,
|
|
19722
|
+
error: t("model-startup-none")
|
|
19723
|
+
};
|
|
19797
19724
|
const llm = ctx.get("llm");
|
|
19798
19725
|
if (!llm) return {
|
|
19799
19726
|
answer: null,
|
|
@@ -19990,6 +19917,7 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
19990
19917
|
provider: options.provider,
|
|
19991
19918
|
model: options.model
|
|
19992
19919
|
});
|
|
19920
|
+
if (explicitModelRoute(route) === void 0) throw new Error(t("model-startup-none"));
|
|
19993
19921
|
handle = await agentsService.create({
|
|
19994
19922
|
sessionId,
|
|
19995
19923
|
meta: {
|
|
@@ -20236,6 +20164,10 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
20236
20164
|
state.emit();
|
|
20237
20165
|
},
|
|
20238
20166
|
async recapRecent(options) {
|
|
20167
|
+
if (explicitModelRoute(state) === void 0) return {
|
|
20168
|
+
summary: null,
|
|
20169
|
+
error: t("model-startup-none")
|
|
20170
|
+
};
|
|
20239
20171
|
const llm = ctx.get("llm");
|
|
20240
20172
|
if (!llm) return {
|
|
20241
20173
|
summary: null,
|
|
@@ -20308,6 +20240,13 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
20308
20240
|
return true;
|
|
20309
20241
|
},
|
|
20310
20242
|
compact() {
|
|
20243
|
+
if (explicitModelRoute(state) === void 0) {
|
|
20244
|
+
state.notify(t("model-startup-none"), {
|
|
20245
|
+
color: "warning",
|
|
20246
|
+
timeoutMs: 8e3
|
|
20247
|
+
});
|
|
20248
|
+
return;
|
|
20249
|
+
}
|
|
20311
20250
|
const compactService = serviceForAgent(ctx, agent, "compaction");
|
|
20312
20251
|
if (!compactService) {
|
|
20313
20252
|
state.notify(t("compact-unavailable"), { color: "warning" });
|
|
@@ -21031,15 +20970,24 @@ function createChannel(ctx, initialAgent, options) {
|
|
|
21031
20970
|
text: preview$1(output, LOCAL_OUTPUT_LIMIT)
|
|
21032
20971
|
});
|
|
21033
20972
|
state.emit();
|
|
21034
|
-
if (includeInContext)
|
|
21035
|
-
|
|
21036
|
-
|
|
21037
|
-
|
|
20973
|
+
if (includeInContext) {
|
|
20974
|
+
if (explicitModelRoute(state) === void 0) {
|
|
20975
|
+
state.notify(t("model-startup-none"), {
|
|
20976
|
+
color: "warning",
|
|
20977
|
+
timeoutMs: 8e3
|
|
20978
|
+
});
|
|
20979
|
+
return;
|
|
20980
|
+
}
|
|
20981
|
+
agent.followup(createUserMessage({
|
|
20982
|
+
content: [{
|
|
20983
|
+
type: "text",
|
|
20984
|
+
text: `<bash-stdout>
|
|
21038
20985
|
${output}
|
|
21039
20986
|
</bash-stdout>`
|
|
21040
|
-
|
|
21041
|
-
|
|
21042
|
-
|
|
20987
|
+
}],
|
|
20988
|
+
source: { kind: "user" }
|
|
20989
|
+
}));
|
|
20990
|
+
}
|
|
21043
20991
|
};
|
|
21044
20992
|
/** The in-progress assistant text row; `undefined` when no step is streaming. */
|
|
21045
20993
|
let streaming;
|
|
@@ -21876,6 +21824,10 @@ ${output}
|
|
|
21876
21824
|
applyPreferredEffort();
|
|
21877
21825
|
refreshMode();
|
|
21878
21826
|
agentSubscriptions = [
|
|
21827
|
+
agent.ctx.on("agent/request", async (_context, next) => {
|
|
21828
|
+
if (explicitModelRoute(state) === void 0) throw new Error(t("model-startup-none"));
|
|
21829
|
+
return next();
|
|
21830
|
+
}),
|
|
21879
21831
|
agent.ctx.on("system-prompt/assemble", async (_assembly, _context, next) => {
|
|
21880
21832
|
const assembled = await next();
|
|
21881
21833
|
return {
|
|
@@ -22387,7 +22339,7 @@ async function expandMentions(fs, cwd, text, attachments, stagedImages) {
|
|
|
22387
22339
|
};
|
|
22388
22340
|
}
|
|
22389
22341
|
//#endregion
|
|
22390
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22342
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/childStderr.js
|
|
22391
22343
|
/**
|
|
22392
22344
|
* Child-process stderr guard (issue #17).
|
|
22393
22345
|
*
|
|
@@ -22556,7 +22508,7 @@ function createChildStderrReporter(notify, options = {}) {
|
|
|
22556
22508
|
};
|
|
22557
22509
|
}
|
|
22558
22510
|
//#endregion
|
|
22559
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22511
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions.js
|
|
22560
22512
|
/**
|
|
22561
22513
|
* Ask-user-question store — the UI-side half of the DSH user-interaction
|
|
22562
22514
|
* seam (`ctx.userQuestions`). The harness's model-facing
|
|
@@ -22796,7 +22748,7 @@ var QuestionStore = class {
|
|
|
22796
22748
|
}
|
|
22797
22749
|
};
|
|
22798
22750
|
//#endregion
|
|
22799
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22751
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerGuard.js
|
|
22800
22752
|
/**
|
|
22801
22753
|
* Question-provider seat guard (issue #98 security follow-up).
|
|
22802
22754
|
*
|
|
@@ -22908,7 +22860,7 @@ function incumbentQuestionProviderId(service) {
|
|
|
22908
22860
|
} catch {}
|
|
22909
22861
|
}
|
|
22910
22862
|
//#endregion
|
|
22911
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22863
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions-answerer.js
|
|
22912
22864
|
/**
|
|
22913
22865
|
* User-question answerer compatibility.
|
|
22914
22866
|
*
|
|
@@ -22967,7 +22919,7 @@ function prepareQuestionAnswerer(ctx, service, answerer) {
|
|
|
22967
22919
|
}
|
|
22968
22920
|
}
|
|
22969
22921
|
//#endregion
|
|
22970
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
22922
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/approvals.js
|
|
22971
22923
|
/**
|
|
22972
22924
|
* Approval store — the UI-side answerer half of the DSH approval seam
|
|
22973
22925
|
* (`ctx.approval`). The harness's permission layer asks
|
|
@@ -23361,7 +23313,7 @@ var ApprovalStore = class {
|
|
|
23361
23313
|
}
|
|
23362
23314
|
};
|
|
23363
23315
|
//#endregion
|
|
23364
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23316
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/promptDebug.js
|
|
23365
23317
|
/**
|
|
23366
23318
|
* On-demand capture of every final AgentLoop request context observed for a
|
|
23367
23319
|
* live session.
|
|
@@ -23507,7 +23459,7 @@ function registerPromptDebug(ctx) {
|
|
|
23507
23459
|
}));
|
|
23508
23460
|
}
|
|
23509
23461
|
//#endregion
|
|
23510
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23462
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/migrationPrefs.js
|
|
23511
23463
|
/**
|
|
23512
23464
|
* One-time local migrations (`~/.chatcode-cli/tui/migrations.json`), keyed by stable
|
|
23513
23465
|
* migration id → ISO timestamp. Named keys (not a bare flag) so later
|
|
@@ -23598,7 +23550,7 @@ async function commitFullscreenFactoryMigration(plan, options) {
|
|
|
23598
23550
|
} catch {}
|
|
23599
23551
|
}
|
|
23600
23552
|
//#endregion
|
|
23601
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23553
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/retired-packaged-presets.js
|
|
23602
23554
|
const OWNER = "@chatcode/cco-tui";
|
|
23603
23555
|
const MARKER = ".dsh-tui-managed.json";
|
|
23604
23556
|
const RETIRED_PACKAGED_PRESETS = ["liangshen"];
|
|
@@ -23640,7 +23592,7 @@ function cleanupRetiredPackagedPresets(options = {}) {
|
|
|
23640
23592
|
return results;
|
|
23641
23593
|
}
|
|
23642
23594
|
//#endregion
|
|
23643
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23595
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workspaceRoot.js
|
|
23644
23596
|
/**
|
|
23645
23597
|
* Session working-directory resolution (issue #96, bug 2).
|
|
23646
23598
|
*
|
|
@@ -23677,7 +23629,7 @@ function gitWorktreeRoot(start) {
|
|
|
23677
23629
|
}
|
|
23678
23630
|
}
|
|
23679
23631
|
//#endregion
|
|
23680
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23632
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/openExternal.js
|
|
23681
23633
|
/**
|
|
23682
23634
|
* Open URLs, files and folders with the platform's default handler, fully
|
|
23683
23635
|
* detached from the TUI process (fire-and-forget: no stdio pipes, no wait,
|
|
@@ -23838,13 +23790,13 @@ function revealInFileManager(filePath) {
|
|
|
23838
23790
|
if (existsSync(dir)) openExternal(dir);
|
|
23839
23791
|
}
|
|
23840
23792
|
//#endregion
|
|
23841
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23793
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeApi.js
|
|
23842
23794
|
/** ChatCode API request capability. Credentials stay in the host adapter. */
|
|
23843
23795
|
const CHATCODE_API_BASE_URL = "https://chatcode.chinaunicom.cn";
|
|
23844
23796
|
/** Each mounted TUI receives its own host-authorized request function. */
|
|
23845
23797
|
const ChatCodeApiContext = (0, import_react.createContext)(void 0);
|
|
23846
23798
|
//#endregion
|
|
23847
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23799
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/releaseNotes.js
|
|
23848
23800
|
const RELEASE_NOTE_PATH = join(DATA_DIR, "release-notes.json");
|
|
23849
23801
|
const RELEASE_NOTE_ENDPOINT = `${CHATCODE_API_BASE_URL}/chatcode/api/v1/cli/version/release-note`;
|
|
23850
23802
|
function acknowledgedVersion() {
|
|
@@ -23940,7 +23892,7 @@ var ReleaseNotesStore = class {
|
|
|
23940
23892
|
}
|
|
23941
23893
|
};
|
|
23942
23894
|
//#endregion
|
|
23943
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23895
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/version.js
|
|
23944
23896
|
const MAIN_CLI_PACKAGES = new Set(["@chatcode/chatcode-cli", "@chatcode/chatcode-cli-test"]);
|
|
23945
23897
|
const VERSION_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u;
|
|
23946
23898
|
const PRODUCT_VERSION_ENV = "CHATCODE_CLI_PRODUCT_VERSION";
|
|
@@ -23980,7 +23932,7 @@ function resolveProductVersion(options = {}) {
|
|
|
23980
23932
|
/** Product version shown by the TUI, shared with `cco --version` and Web. */
|
|
23981
23933
|
const PRODUCT_VERSION = resolveProductVersion();
|
|
23982
23934
|
//#endregion
|
|
23983
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
23935
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/execFileNoThrow.js
|
|
23984
23936
|
const MAX_CAPTURE_BYTES = 64 * 1024;
|
|
23985
23937
|
function appendBounded(chunks, chunk, total) {
|
|
23986
23938
|
if (total.value >= MAX_CAPTURE_BYTES) return;
|
|
@@ -24050,7 +24002,7 @@ function execFileNoThrow(file, args = [], options) {
|
|
|
24050
24002
|
});
|
|
24051
24003
|
}
|
|
24052
24004
|
//#endregion
|
|
24053
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24005
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/herdr.js
|
|
24054
24006
|
const REPORT_TIMEOUT_MS = 2e3;
|
|
24055
24007
|
const RELEASE_TIMEOUT_MS = 500;
|
|
24056
24008
|
const RETRY_DELAYS_MS = [
|
|
@@ -24438,7 +24390,7 @@ var require_react_jsx_runtime_development = /* @__PURE__ */ __commonJSMin(((expo
|
|
|
24438
24390
|
})();
|
|
24439
24391
|
}));
|
|
24440
24392
|
//#endregion
|
|
24441
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24393
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themePrefs.js
|
|
24442
24394
|
var import_jsx_runtime = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
24443
24395
|
if (process.env.NODE_ENV === "production") module.exports = require_react_jsx_runtime_production();
|
|
24444
24396
|
else module.exports = require_react_jsx_runtime_development();
|
|
@@ -24495,7 +24447,7 @@ function writeThemePref(name, dir = PREFS_DIR) {
|
|
|
24495
24447
|
}
|
|
24496
24448
|
}
|
|
24497
24449
|
//#endregion
|
|
24498
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24450
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRuntimeThemeSnapshot.js
|
|
24499
24451
|
const EMPTY_THEME_SNAPSHOT = Object.freeze([]);
|
|
24500
24452
|
const subscribeNoThemes = (_listener) => () => {};
|
|
24501
24453
|
/**
|
|
@@ -24523,7 +24475,7 @@ function useRuntimeThemeSnapshot(themeHost) {
|
|
|
24523
24475
|
return import_react.useSyncExternalStore(subscribeThemes, getThemeSnapshot, getThemeSnapshot);
|
|
24524
24476
|
}
|
|
24525
24477
|
//#endregion
|
|
24526
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24478
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event.js
|
|
24527
24479
|
/**
|
|
24528
24480
|
* Base class for events with immediate-propagation control.
|
|
24529
24481
|
*
|
|
@@ -24547,7 +24499,7 @@ var Event = class {
|
|
|
24547
24499
|
}
|
|
24548
24500
|
};
|
|
24549
24501
|
//#endregion
|
|
24550
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24502
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/emitter.js
|
|
24551
24503
|
/**
|
|
24552
24504
|
* Node-compatible event emitter that is aware of the `Event` class, so
|
|
24553
24505
|
* `emit` respects `stopImmediatePropagation()` on dispatched events.
|
|
@@ -24580,7 +24532,7 @@ var EventEmitter$1 = class extends EventEmitter {
|
|
|
24580
24532
|
}
|
|
24581
24533
|
};
|
|
24582
24534
|
//#endregion
|
|
24583
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24535
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/StdinContext.js
|
|
24584
24536
|
/**
|
|
24585
24537
|
* `StdinContext` is a React context, which exposes input stream.
|
|
24586
24538
|
*/
|
|
@@ -24594,14 +24546,14 @@ const StdinContext = (0, import_react.createContext)({
|
|
|
24594
24546
|
});
|
|
24595
24547
|
StdinContext.displayName = "InternalStdinContext";
|
|
24596
24548
|
//#endregion
|
|
24597
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24549
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-stdin.js
|
|
24598
24550
|
/**
|
|
24599
24551
|
* React hook exposing the stdin stream and raw-mode helpers from `StdinContext`.
|
|
24600
24552
|
* @returns the `StdinContext` value.
|
|
24601
24553
|
*/
|
|
24602
24554
|
const useStdin = () => (0, import_react.useContext)(StdinContext);
|
|
24603
24555
|
//#endregion
|
|
24604
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24556
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/ansi.js
|
|
24605
24557
|
/**
|
|
24606
24558
|
* ANSI Control Characters and Escape Sequence Introducers
|
|
24607
24559
|
*
|
|
@@ -24675,7 +24627,7 @@ function isEscFinal(byte) {
|
|
|
24675
24627
|
return byte >= 48 && byte <= 126;
|
|
24676
24628
|
}
|
|
24677
24629
|
//#endregion
|
|
24678
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24630
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/csi.js
|
|
24679
24631
|
/**
|
|
24680
24632
|
* CSI (Control Sequence Introducer) Types
|
|
24681
24633
|
*
|
|
@@ -24991,7 +24943,7 @@ const ENABLE_WIN32_INPUT_MODE = csi("?9001h");
|
|
|
24991
24943
|
*/
|
|
24992
24944
|
const DISABLE_WIN32_INPUT_MODE = csi("?9001l");
|
|
24993
24945
|
//#endregion
|
|
24994
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24946
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/env.js
|
|
24995
24947
|
/**
|
|
24996
24948
|
* Minimal terminal-environment shim for the ported Ink core. The original
|
|
24997
24949
|
* module computed a richer `env` object from the Claude Code app context; the
|
|
@@ -25000,7 +24952,7 @@ const DISABLE_WIN32_INPUT_MODE = csi("?9001l");
|
|
|
25000
24952
|
*/
|
|
25001
24953
|
const env$1 = { terminal: (process.env.TERM_PROGRAM ?? process.env.TERM ?? "unknown").toLowerCase() };
|
|
25002
24954
|
//#endregion
|
|
25003
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
24955
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/osc.js
|
|
25004
24956
|
/**
|
|
25005
24957
|
* OSC (Operating System Command) Types and Parser
|
|
25006
24958
|
*/
|
|
@@ -25396,7 +25348,7 @@ function supportsTabStatus() {
|
|
|
25396
25348
|
return process.env.USER_TYPE === "ant";
|
|
25397
25349
|
}
|
|
25398
25350
|
//#endregion
|
|
25399
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25351
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-querier.js
|
|
25400
25352
|
/**
|
|
25401
25353
|
* Query the terminal and await responses without timeouts.
|
|
25402
25354
|
*
|
|
@@ -25582,7 +25534,7 @@ var TerminalQuerier = class {
|
|
|
25582
25534
|
}
|
|
25583
25535
|
};
|
|
25584
25536
|
//#endregion
|
|
25585
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25537
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemeProvider.js
|
|
25586
25538
|
/**
|
|
25587
25539
|
* Theme provider with terminal-background auto-detection. With no explicit
|
|
25588
25540
|
* `theme` prop, no CHATCODE_CLI_TUI_THEME override and no persisted choice
|
|
@@ -25781,7 +25733,7 @@ function useTheme() {
|
|
|
25781
25733
|
return [theme, setTheme];
|
|
25782
25734
|
}
|
|
25783
25735
|
//#endregion
|
|
25784
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25736
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/settingsEditor.js
|
|
25785
25737
|
/**
|
|
25786
25738
|
* React-free form model behind the `/settings` screen (issue #165), mirroring
|
|
25787
25739
|
* the web front door's card-form.ts semantics: a section stages what the user
|
|
@@ -26025,7 +25977,7 @@ var SettingsForm = class {
|
|
|
26025
25977
|
}
|
|
26026
25978
|
};
|
|
26027
25979
|
//#endregion
|
|
26028
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
25980
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/reload.js
|
|
26029
25981
|
/**
|
|
26030
25982
|
* `/reload` planning — the pi-style soft reload: re-read the TUI's persisted
|
|
26031
25983
|
* preference files (`~/.chatcode-cli/tui/{theme,lang,agent-preset,model,
|
|
@@ -26874,7 +26826,7 @@ var SignalExit = class extends SignalExitBase {
|
|
|
26874
26826
|
const process$2 = globalThis.process;
|
|
26875
26827
|
const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
|
|
26876
26828
|
//#endregion
|
|
26877
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
26829
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/enums.js
|
|
26878
26830
|
/**
|
|
26879
26831
|
* Yoga enums — ported from yoga-layout/src/generated/YGEnums.ts
|
|
26880
26832
|
* Kept as `const` objects (not TS enums) per repo convention.
|
|
@@ -27006,7 +26958,7 @@ const Wrap = {
|
|
|
27006
26958
|
WrapReverse: 2
|
|
27007
26959
|
};
|
|
27008
26960
|
//#endregion
|
|
27009
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
26961
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/index.js
|
|
27010
26962
|
/**
|
|
27011
26963
|
* Pure-TypeScript port of yoga-layout (Meta's flexbox engine).
|
|
27012
26964
|
*
|
|
@@ -28983,7 +28935,7 @@ const YOGA_INSTANCE = {
|
|
|
28983
28935
|
}
|
|
28984
28936
|
};
|
|
28985
28937
|
//#endregion
|
|
28986
|
-
//#region ../../node_modules/.pnpm/chalk@6.0.
|
|
28938
|
+
//#region ../../node_modules/.pnpm/chalk@6.0.1/node_modules/chalk/source/utilities.js
|
|
28987
28939
|
function stringReplaceAll(string, substring, postfix) {
|
|
28988
28940
|
let index = string.indexOf(substring);
|
|
28989
28941
|
if (index === -1) return string;
|
|
@@ -29011,7 +28963,7 @@ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
|
29011
28963
|
return returnValue;
|
|
29012
28964
|
}
|
|
29013
28965
|
//#endregion
|
|
29014
|
-
//#region ../../node_modules/.pnpm/chalk@6.0.
|
|
28966
|
+
//#region ../../node_modules/.pnpm/chalk@6.0.1/node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
29015
28967
|
const ANSI_BACKGROUND_OFFSET$1 = 10;
|
|
29016
28968
|
const ANSI_UNDERLINE_OFFSET = 20;
|
|
29017
28969
|
const wrapAnsi16$1 = (offset = 0) => (code) => `\u{1B}[${code + offset}m`;
|
|
@@ -29206,7 +29158,7 @@ function assembleStyles$1() {
|
|
|
29206
29158
|
}
|
|
29207
29159
|
const ansiStyles$1 = assembleStyles$1();
|
|
29208
29160
|
//#endregion
|
|
29209
|
-
//#region ../../node_modules/.pnpm/chalk@6.0.
|
|
29161
|
+
//#region ../../node_modules/.pnpm/chalk@6.0.1/node_modules/chalk/source/vendor/supports-color/index.js
|
|
29210
29162
|
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process$1.argv) {
|
|
29211
29163
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
29212
29164
|
const position = argv.indexOf(prefix + flag);
|
|
@@ -29294,7 +29246,7 @@ function createSupportsColor(stream, options = {}) {
|
|
|
29294
29246
|
}));
|
|
29295
29247
|
}
|
|
29296
29248
|
//#endregion
|
|
29297
|
-
//#region ../../node_modules/.pnpm/chalk@6.0.
|
|
29249
|
+
//#region ../../node_modules/.pnpm/chalk@6.0.1/node_modules/chalk/source/index.js
|
|
29298
29250
|
const { stdout: stdoutColor, stderr: stderrColor } = {
|
|
29299
29251
|
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
|
|
29300
29252
|
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
|
|
@@ -29428,7 +29380,7 @@ const createStyler = (open, close, parent) => {
|
|
|
29428
29380
|
const createBuilder = (self, _styler, _isEmpty) => {
|
|
29429
29381
|
const builder = (...arguments_) => {
|
|
29430
29382
|
if (arguments_.length === 1) return applyStyle(builder, "" + arguments_[0]);
|
|
29431
|
-
if (arguments_.length === 2) return applyStyle(builder, arguments_[0]
|
|
29383
|
+
if (arguments_.length === 2) return applyStyle(builder, `${arguments_[0] ?? ""} ${arguments_[1] ?? ""}`);
|
|
29432
29384
|
return applyStyle(builder, arguments_.join(" "));
|
|
29433
29385
|
};
|
|
29434
29386
|
Object.setPrototypeOf(builder, proto);
|
|
@@ -29457,7 +29409,7 @@ Object.defineProperties(createChalk.prototype, {
|
|
|
29457
29409
|
const chalk = createChalk();
|
|
29458
29410
|
createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
29459
29411
|
//#endregion
|
|
29460
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29412
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/colorize.js
|
|
29461
29413
|
/**
|
|
29462
29414
|
* xterm.js (VS Code, Cursor, code-server, Coder) has supported truecolor
|
|
29463
29415
|
* since 2017, but code-server/Coder containers often don't set
|
|
@@ -29588,7 +29540,7 @@ function applyColor(text, color) {
|
|
|
29588
29540
|
return colorize(text, color, "foreground");
|
|
29589
29541
|
}
|
|
29590
29542
|
//#endregion
|
|
29591
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29543
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/envUtils.js
|
|
29592
29544
|
/**
|
|
29593
29545
|
* Environment truthiness check for the ported Ink core. Accepts the common
|
|
29594
29546
|
* shell truthy spellings (`1`, `true`, `yes`, `on`).
|
|
@@ -29606,7 +29558,7 @@ function isEnvTruthy(value) {
|
|
|
29606
29558
|
].includes(value.toLowerCase());
|
|
29607
29559
|
}
|
|
29608
29560
|
//#endregion
|
|
29609
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29561
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fullscreen.js
|
|
29610
29562
|
/**
|
|
29611
29563
|
* Whether mouse click handling is disabled for the ported Ink core. dsh-tui
|
|
29612
29564
|
* reads its own env flag (`CHATCODE_CLI_TUI_DISABLE_MOUSE`); the original module
|
|
@@ -29617,7 +29569,7 @@ function isMouseClicksDisabled() {
|
|
|
29617
29569
|
return isEnvTruthy(readTuiEnv("DISABLE_MOUSE"));
|
|
29618
29570
|
}
|
|
29619
29571
|
//#endregion
|
|
29620
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29572
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/input-suppression.js
|
|
29621
29573
|
/**
|
|
29622
29574
|
* Input suppression window for terminal handoffs (issue #123): when stdin is
|
|
29623
29575
|
* handed to an external TUI (full-screen editor) and back, the tty can
|
|
@@ -29644,7 +29596,7 @@ function isInputSuppressed() {
|
|
|
29644
29596
|
return Date.now() < suppressedUntil;
|
|
29645
29597
|
}
|
|
29646
29598
|
//#endregion
|
|
29647
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29599
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/tokenize.js
|
|
29648
29600
|
/**
|
|
29649
29601
|
* Input Tokenizer - Escape sequence boundary detection
|
|
29650
29602
|
*
|
|
@@ -29842,7 +29794,7 @@ function tokenize$2(input, initialState, initialBuffer, flush, x10Mouse, splitIn
|
|
|
29842
29794
|
};
|
|
29843
29795
|
}
|
|
29844
29796
|
//#endregion
|
|
29845
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
29797
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/parse-keypress.js
|
|
29846
29798
|
/**
|
|
29847
29799
|
* Keyboard input parser - converts terminal input to key events
|
|
29848
29800
|
*
|
|
@@ -30906,7 +30858,7 @@ function createWheelKey(s, name, col, row, button) {
|
|
|
30906
30858
|
};
|
|
30907
30859
|
}
|
|
30908
30860
|
//#endregion
|
|
30909
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
30861
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/input-event.js
|
|
30910
30862
|
function parseKey(keypress) {
|
|
30911
30863
|
const key = {
|
|
30912
30864
|
upArrow: keypress.name === "up",
|
|
@@ -30991,7 +30943,7 @@ var InputEvent = class extends Event {
|
|
|
30991
30943
|
}
|
|
30992
30944
|
};
|
|
30993
30945
|
//#endregion
|
|
30994
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
30946
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-focus-event.js
|
|
30995
30947
|
/**
|
|
30996
30948
|
* Event fired when the terminal window gains or loses focus.
|
|
30997
30949
|
*
|
|
@@ -31010,7 +30962,7 @@ var TerminalFocusEvent = class extends Event {
|
|
|
31010
30962
|
}
|
|
31011
30963
|
};
|
|
31012
30964
|
//#endregion
|
|
31013
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
30965
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/node-cache.js
|
|
31014
30966
|
/** Layout bounds cached per rendered node, used for blitting and clearing. */
|
|
31015
30967
|
const nodeCache = /* @__PURE__ */ new WeakMap();
|
|
31016
30968
|
/** Rects of removed children that need clearing on next render */
|
|
@@ -31048,7 +31000,7 @@ function consumeAbsoluteRemovedFlag() {
|
|
|
31048
31000
|
return had;
|
|
31049
31001
|
}
|
|
31050
31002
|
//#endregion
|
|
31051
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31003
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-event.js
|
|
31052
31004
|
/**
|
|
31053
31005
|
* Base class for all terminal events with DOM-style propagation.
|
|
31054
31006
|
*
|
|
@@ -31177,7 +31129,7 @@ var TerminalEvent = class extends Event {
|
|
|
31177
31129
|
_prepareForTarget(_target) {}
|
|
31178
31130
|
};
|
|
31179
31131
|
//#endregion
|
|
31180
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31132
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/pointer-event.js
|
|
31181
31133
|
/**
|
|
31182
31134
|
* Base class for pointer-derived terminal events (click, wheel, hover).
|
|
31183
31135
|
*
|
|
@@ -31238,7 +31190,7 @@ var PointerEvent = class extends TerminalEvent {
|
|
|
31238
31190
|
}
|
|
31239
31191
|
};
|
|
31240
31192
|
//#endregion
|
|
31241
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
31193
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/drag-event.js
|
|
31242
31194
|
/**
|
|
31243
31195
|
* Component-level drag event (DOM HTML5 drag semantics subset).
|
|
31244
31196
|
*
|
|
@@ -47346,7 +47298,7 @@ var require_react_reconciler_development = /* @__PURE__ */ __commonJSMin(((expor
|
|
|
47346
47298
|
}, module.exports.default = module.exports, Object.defineProperty(module.exports, "__esModule", { value: !0 }));
|
|
47347
47299
|
}));
|
|
47348
47300
|
//#endregion
|
|
47349
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47301
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/node.js
|
|
47350
47302
|
var import_react_reconciler = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
47351
47303
|
if (process.env.NODE_ENV === "production") module.exports = require_react_reconciler_production();
|
|
47352
47304
|
else module.exports = require_react_reconciler_development();
|
|
@@ -47422,7 +47374,7 @@ const LayoutMeasureMode = {
|
|
|
47422
47374
|
AtMost: "at-most"
|
|
47423
47375
|
};
|
|
47424
47376
|
//#endregion
|
|
47425
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47377
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/yoga.js
|
|
47426
47378
|
const EDGE_MAP = {
|
|
47427
47379
|
all: Edge.All,
|
|
47428
47380
|
horizontal: Edge.Horizontal,
|
|
@@ -47649,7 +47601,7 @@ function createYogaLayoutNode() {
|
|
|
47649
47601
|
return new YogaLayoutNode(YOGA_INSTANCE.Node.create());
|
|
47650
47602
|
}
|
|
47651
47603
|
//#endregion
|
|
47652
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47604
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/engine.js
|
|
47653
47605
|
/**
|
|
47654
47606
|
* Create a new layout node backed by the Yoga adapter.
|
|
47655
47607
|
* @returns an empty layout node with no children, styles, or measure function.
|
|
@@ -47658,7 +47610,7 @@ function createLayoutNode() {
|
|
|
47658
47610
|
return createYogaLayoutNode();
|
|
47659
47611
|
}
|
|
47660
47612
|
//#endregion
|
|
47661
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47613
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/line-width-cache.js
|
|
47662
47614
|
const cache = /* @__PURE__ */ new Map();
|
|
47663
47615
|
const MAX_CACHE_SIZE = 4096;
|
|
47664
47616
|
const MAX_CACHE_CHARS = 1e5;
|
|
@@ -47694,7 +47646,7 @@ function lineWidth(line) {
|
|
|
47694
47646
|
return width;
|
|
47695
47647
|
}
|
|
47696
47648
|
//#endregion
|
|
47697
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47649
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-text.js
|
|
47698
47650
|
/**
|
|
47699
47651
|
* Measure wrapped text dimensions in a single pass.
|
|
47700
47652
|
* @param text - the text to measure.
|
|
@@ -47725,7 +47677,7 @@ function measureText(text, maxWidth) {
|
|
|
47725
47677
|
};
|
|
47726
47678
|
}
|
|
47727
47679
|
//#endregion
|
|
47728
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47680
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/squash-text-nodes.js
|
|
47729
47681
|
/**
|
|
47730
47682
|
* Squash text nodes into styled segments, propagating styles down through the tree.
|
|
47731
47683
|
* This allows structured styling without relying on ANSI string transforms.
|
|
@@ -47773,7 +47725,7 @@ function squashTextNodes(node) {
|
|
|
47773
47725
|
return text;
|
|
47774
47726
|
}
|
|
47775
47727
|
//#endregion
|
|
47776
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
47728
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/tabstops.js
|
|
47777
47729
|
const DEFAULT_TAB_INTERVAL = 8;
|
|
47778
47730
|
/**
|
|
47779
47731
|
* Expand tab characters to spaces at fixed column intervals, preserving
|
|
@@ -48223,7 +48175,7 @@ function tokenize$1(str, endChar = Number.POSITIVE_INFINITY) {
|
|
|
48223
48175
|
return ret;
|
|
48224
48176
|
}
|
|
48225
48177
|
//#endregion
|
|
48226
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
48178
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sliceAnsi.js
|
|
48227
48179
|
function isEndCode(code) {
|
|
48228
48180
|
return code.code === code.endCode;
|
|
48229
48181
|
}
|
|
@@ -48840,7 +48792,7 @@ function wrapAnsi$1(string, columns, options) {
|
|
|
48840
48792
|
return normalizeText(String(string)).replaceAll("\r\n", "\n").split("\n").map((line) => exec(expandTabs$1(line), columns, options)).join("\n");
|
|
48841
48793
|
}
|
|
48842
48794
|
//#endregion
|
|
48843
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
48795
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrapAnsi.js
|
|
48844
48796
|
const wrapAnsiBun = typeof Bun !== "undefined" && typeof Bun.wrapAnsi === "function" ? Bun.wrapAnsi : null;
|
|
48845
48797
|
const SLOT_MIN_LENGTH = 2048;
|
|
48846
48798
|
let slot = null;
|
|
@@ -48887,7 +48839,7 @@ function wrapAnsiNpmIncremental(input, columns, options) {
|
|
|
48887
48839
|
*/
|
|
48888
48840
|
const wrapAnsi = wrapAnsiBun ?? wrapAnsiNpmIncremental;
|
|
48889
48841
|
//#endregion
|
|
48890
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
48842
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrap-text.js
|
|
48891
48843
|
const ELLIPSIS = "…";
|
|
48892
48844
|
const WRAP_CACHE_MAX_ENTRIES = 2048;
|
|
48893
48845
|
const WRAP_CACHE_MAX_CHARS = 2e6;
|
|
@@ -48951,7 +48903,7 @@ function wrapText$1(text, maxWidth, wrapType) {
|
|
|
48951
48903
|
return text;
|
|
48952
48904
|
}
|
|
48953
48905
|
//#endregion
|
|
48954
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
48906
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/dom.js
|
|
48955
48907
|
/**
|
|
48956
48908
|
* Create an element node of the given kind, allocating its yoga layout node
|
|
48957
48909
|
* unless the kind renders without layout (`ink-virtual-text`, `ink-link`,
|
|
@@ -49271,7 +49223,7 @@ function findOwnerChainAtRow(root, y) {
|
|
|
49271
49223
|
}
|
|
49272
49224
|
}
|
|
49273
49225
|
//#endregion
|
|
49274
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49226
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event-handlers.js
|
|
49275
49227
|
/**
|
|
49276
49228
|
* Reverse lookup: event type string → handler prop names.
|
|
49277
49229
|
* Used by the dispatcher for O(1) handler lookup per node.
|
|
@@ -49325,7 +49277,7 @@ const EVENT_HANDLER_PROPS = new Set([
|
|
|
49325
49277
|
"onWheel"
|
|
49326
49278
|
]);
|
|
49327
49279
|
//#endregion
|
|
49328
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49280
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/dispatcher.js
|
|
49329
49281
|
function getHandler(node, eventType, capture) {
|
|
49330
49282
|
const handlers = node._eventHandlers;
|
|
49331
49283
|
if (!handlers) return void 0;
|
|
@@ -49493,7 +49445,7 @@ var Dispatcher = class {
|
|
|
49493
49445
|
}
|
|
49494
49446
|
};
|
|
49495
49447
|
//#endregion
|
|
49496
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49448
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/focus-event.js
|
|
49497
49449
|
/**
|
|
49498
49450
|
* Focus event for component focus changes.
|
|
49499
49451
|
*
|
|
@@ -49518,7 +49470,7 @@ var FocusEvent = class extends TerminalEvent {
|
|
|
49518
49470
|
}
|
|
49519
49471
|
};
|
|
49520
49472
|
//#endregion
|
|
49521
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49473
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/focus.js
|
|
49522
49474
|
const MAX_FOCUS_STACK = 32;
|
|
49523
49475
|
/**
|
|
49524
49476
|
* DOM-like focus manager for the Ink terminal UI.
|
|
@@ -49674,7 +49626,7 @@ function getFocusManager(node) {
|
|
|
49674
49626
|
return getRootNode(node).focusManager;
|
|
49675
49627
|
}
|
|
49676
49628
|
//#endregion
|
|
49677
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49629
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/styles.js
|
|
49678
49630
|
const applyPositionStyles = (node, style) => {
|
|
49679
49631
|
if ("position" in style) node.setPositionType(style.position === "absolute" ? LayoutPositionType.Absolute : LayoutPositionType.Relative);
|
|
49680
49632
|
if ("top" in style) applyPositionEdge(node, "top", style.top);
|
|
@@ -49809,7 +49761,7 @@ const styles = (node, style = {}, resolvedStyle) => {
|
|
|
49809
49761
|
applyGapStyles(node, style);
|
|
49810
49762
|
};
|
|
49811
49763
|
//#endregion
|
|
49812
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
49764
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/reconciler.js
|
|
49813
49765
|
if (process.env.NODE_ENV === "development") try {
|
|
49814
49766
|
import("./devtools-la_KkjCS.js");
|
|
49815
49767
|
} catch (error) {
|
|
@@ -50129,7 +50081,7 @@ const reconciler = (0, import_react_reconciler.default)({
|
|
|
50129
50081
|
});
|
|
50130
50082
|
dispatcher.discreteUpdates = reconciler.discreteUpdates.bind(reconciler);
|
|
50131
50083
|
//#endregion
|
|
50132
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
50084
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/geometry.js
|
|
50133
50085
|
/**
|
|
50134
50086
|
* Compute the smallest rectangle containing both input rectangles.
|
|
50135
50087
|
* @param a - the first rectangle.
|
|
@@ -50161,7 +50113,7 @@ function clamp(value, min, max) {
|
|
|
50161
50113
|
return value;
|
|
50162
50114
|
}
|
|
50163
50115
|
//#endregion
|
|
50164
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
50116
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/warn.js
|
|
50165
50117
|
/**
|
|
50166
50118
|
* Log a warning when a value is present but not an integer.
|
|
50167
50119
|
* @param value - the value to check; undefined is skipped silently.
|
|
@@ -50173,7 +50125,7 @@ function ifNotInteger(value, name) {
|
|
|
50173
50125
|
logForDebugging(`${name} should be an integer, got ${value}`, { level: "warn" });
|
|
50174
50126
|
}
|
|
50175
50127
|
//#endregion
|
|
50176
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
50128
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/screen.js
|
|
50177
50129
|
/**
|
|
50178
50130
|
* Pool of character strings shared across all screens.
|
|
50179
50131
|
* With a shared pool, interned char IDs are valid across screens, so
|
|
@@ -51242,7 +51194,7 @@ function markNoSelectRegion(screen, x, y, width, height) {
|
|
|
51242
51194
|
}
|
|
51243
51195
|
}
|
|
51244
51196
|
//#endregion
|
|
51245
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
51197
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/selection.js
|
|
51246
51198
|
/**
|
|
51247
51199
|
* Text selection state for fullscreen mode.
|
|
51248
51200
|
*
|
|
@@ -52208,7 +52160,7 @@ function applySelectionOverlay(screen, selection, stylePool) {
|
|
|
52208
52160
|
}
|
|
52209
52161
|
}
|
|
52210
52162
|
//#endregion
|
|
52211
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52163
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/dec.js
|
|
52212
52164
|
/**
|
|
52213
52165
|
* DEC (Digital Equipment Corporation) Private Mode Sequences
|
|
52214
52166
|
*
|
|
@@ -52274,7 +52226,7 @@ const ENABLE_MOUSE_TRACKING = decset(DEC.MOUSE_NORMAL) + decset(DEC.MOUSE_BUTTON
|
|
|
52274
52226
|
/** Disable all mouse tracking modes enabled by ENABLE_MOUSE_TRACKING. */
|
|
52275
52227
|
const DISABLE_MOUSE_TRACKING = decreset(DEC.MOUSE_SGR) + decreset(DEC.MOUSE_ANY) + decreset(DEC.MOUSE_BUTTON) + decreset(DEC.MOUSE_NORMAL);
|
|
52276
52228
|
//#endregion
|
|
52277
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52229
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal.js
|
|
52278
52230
|
/**
|
|
52279
52231
|
* True when running inside a JetBrains IDE terminal (JediTerm). The IDE
|
|
52280
52232
|
* injects `TERMINAL_EMULATOR=JetBrains-JediTerm` into the pty environment of
|
|
@@ -52516,7 +52468,7 @@ function writeDiffToTerminal(terminal, diff, skipSyncMarkers = false) {
|
|
|
52516
52468
|
terminal.stdout.write(buffer);
|
|
52517
52469
|
}
|
|
52518
52470
|
//#endregion
|
|
52519
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52471
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-focus-state.js
|
|
52520
52472
|
let focusState = "unknown";
|
|
52521
52473
|
const resolvers = /* @__PURE__ */ new Set();
|
|
52522
52474
|
const subscribers = /* @__PURE__ */ new Set();
|
|
@@ -52560,7 +52512,7 @@ function subscribeTerminalFocus(cb) {
|
|
|
52560
52512
|
};
|
|
52561
52513
|
}
|
|
52562
52514
|
//#endregion
|
|
52563
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52515
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AppContext.js
|
|
52564
52516
|
/**
|
|
52565
52517
|
* `AppContext` is a React context, which exposes a method to manually exit the app (unmount).
|
|
52566
52518
|
*/
|
|
@@ -52605,13 +52557,13 @@ var require_react_compiler_runtime_development = /* @__PURE__ */ __commonJSMin((
|
|
|
52605
52557
|
})();
|
|
52606
52558
|
}));
|
|
52607
52559
|
//#endregion
|
|
52608
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52560
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/constants.js
|
|
52609
52561
|
var import_compiler_runtime = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
52610
52562
|
if (process.env.NODE_ENV === "production") module.exports = require_react_compiler_runtime_production();
|
|
52611
52563
|
else module.exports = require_react_compiler_runtime_development();
|
|
52612
52564
|
})))();
|
|
52613
52565
|
//#endregion
|
|
52614
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52566
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/geometry-trace.js
|
|
52615
52567
|
/**
|
|
52616
52568
|
* Geometry forensics — per-frame scroll-geometry trace (issues #421/#433).
|
|
52617
52569
|
*
|
|
@@ -52691,7 +52643,7 @@ function endGeometryFrame(durationMs) {
|
|
|
52691
52643
|
};
|
|
52692
52644
|
}
|
|
52693
52645
|
//#endregion
|
|
52694
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52646
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalFocusContext.js
|
|
52695
52647
|
const TerminalFocusContext = (0, import_react.createContext)({
|
|
52696
52648
|
isTerminalFocused: true,
|
|
52697
52649
|
terminalFocusState: "unknown"
|
|
@@ -52726,7 +52678,7 @@ function TerminalFocusProvider(t0) {
|
|
|
52726
52678
|
return t2;
|
|
52727
52679
|
}
|
|
52728
52680
|
//#endregion
|
|
52729
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52681
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-focus.js
|
|
52730
52682
|
/**
|
|
52731
52683
|
* Hook to check if the terminal has focus.
|
|
52732
52684
|
*
|
|
@@ -52741,7 +52693,7 @@ function useTerminalFocus() {
|
|
|
52741
52693
|
return isTerminalFocused;
|
|
52742
52694
|
}
|
|
52743
52695
|
//#endregion
|
|
52744
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52696
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ClockContext.js
|
|
52745
52697
|
function createClock(tickIntervalMs) {
|
|
52746
52698
|
const subscribers = /* @__PURE__ */ new Map();
|
|
52747
52699
|
let interval = null;
|
|
@@ -52838,7 +52790,7 @@ function _temp() {
|
|
|
52838
52790
|
return createClock(16);
|
|
52839
52791
|
}
|
|
52840
52792
|
//#endregion
|
|
52841
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52793
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/CursorDeclarationContext.js
|
|
52842
52794
|
/**
|
|
52843
52795
|
* React context that provides the cursor-declaration setter to descendants.
|
|
52844
52796
|
*/
|
|
@@ -52878,7 +52830,7 @@ var require_escape_string_regexp = /* @__PURE__ */ __commonJSMin(((exports, modu
|
|
|
52878
52830
|
};
|
|
52879
52831
|
}));
|
|
52880
52832
|
//#endregion
|
|
52881
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
52833
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Box.js
|
|
52882
52834
|
var import_stack_utils = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
52883
52835
|
const escapeStringRegexp = require_escape_string_regexp();
|
|
52884
52836
|
const cwd = typeof process === "object" && process && typeof process.cwd === "function" ? process.cwd() : ".";
|
|
@@ -53246,7 +53198,7 @@ function Box(t0) {
|
|
|
53246
53198
|
return t4;
|
|
53247
53199
|
}
|
|
53248
53200
|
//#endregion
|
|
53249
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53201
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Text.js
|
|
53250
53202
|
const memoizedStylesForWrap = {
|
|
53251
53203
|
wrap: {
|
|
53252
53204
|
flexGrow: 0,
|
|
@@ -53398,7 +53350,7 @@ function Text(t0) {
|
|
|
53398
53350
|
return t16;
|
|
53399
53351
|
}
|
|
53400
53352
|
//#endregion
|
|
53401
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53353
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ErrorOverview.js
|
|
53402
53354
|
const cleanupPath = (path) => {
|
|
53403
53355
|
return path?.replace(`file://${process.cwd()}/`, "");
|
|
53404
53356
|
};
|
|
@@ -53503,10 +53455,10 @@ function ErrorOverview({ error }) {
|
|
|
53503
53455
|
});
|
|
53504
53456
|
}
|
|
53505
53457
|
//#endregion
|
|
53506
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53458
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalSizeContext.js
|
|
53507
53459
|
const TerminalSizeContext = (0, import_react.createContext)(null);
|
|
53508
53460
|
//#endregion
|
|
53509
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53461
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/useTerminalNotification.js
|
|
53510
53462
|
/**
|
|
53511
53463
|
* React context providing a raw terminal write function. Null until a
|
|
53512
53464
|
* TerminalWriteProvider is mounted.
|
|
@@ -53517,7 +53469,7 @@ const TerminalWriteContext = (0, import_react.createContext)(null);
|
|
|
53517
53469
|
*/
|
|
53518
53470
|
const TerminalWriteProvider = TerminalWriteContext.Provider;
|
|
53519
53471
|
//#endregion
|
|
53520
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53472
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/App.js
|
|
53521
53473
|
const SUPPORTS_SUSPEND = process.platform !== "win32";
|
|
53522
53474
|
const STDIN_RESUME_GAP_MS = 5e3;
|
|
53523
53475
|
const MULTI_CLICK_TIMEOUT_MS = 500;
|
|
@@ -54043,7 +53995,7 @@ function handleMouseEvent(app, m) {
|
|
|
54043
53995
|
}
|
|
54044
53996
|
}
|
|
54045
53997
|
//#endregion
|
|
54046
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
53998
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/keyboard-event.js
|
|
54047
53999
|
/**
|
|
54048
54000
|
* Keyboard event dispatched through the DOM tree via capture/bubble.
|
|
54049
54001
|
*
|
|
@@ -54103,7 +54055,7 @@ function keyFromParsed(parsed) {
|
|
|
54103
54055
|
return name || seq;
|
|
54104
54056
|
}
|
|
54105
54057
|
//#endregion
|
|
54106
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54058
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/frame.js
|
|
54107
54059
|
/**
|
|
54108
54060
|
* Create an empty frame with a zero-size screen, the given viewport, and a
|
|
54109
54061
|
* visible cursor at the origin.
|
|
@@ -54129,7 +54081,7 @@ function emptyFrame(rows, columns, stylePool, charPool, hyperlinkPool) {
|
|
|
54129
54081
|
};
|
|
54130
54082
|
}
|
|
54131
54083
|
//#endregion
|
|
54132
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54084
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/click-event.js
|
|
54133
54085
|
/**
|
|
54134
54086
|
* Mouse click event. Fired on left-button release without drag, only when
|
|
54135
54087
|
* mouse tracking is enabled (i.e. inside <AlternateScreen>).
|
|
@@ -54160,7 +54112,7 @@ var ClickEvent = class extends PointerEvent {
|
|
|
54160
54112
|
}
|
|
54161
54113
|
};
|
|
54162
54114
|
//#endregion
|
|
54163
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54115
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/context-menu-event.js
|
|
54164
54116
|
/**
|
|
54165
54117
|
* Mouse context-menu event. Fired on right-button press (SGR button 2,
|
|
54166
54118
|
* low bits of the raw button byte), mirroring the DOM `contextmenu` event
|
|
@@ -54184,7 +54136,7 @@ var ContextMenuEvent = class extends PointerEvent {
|
|
|
54184
54136
|
}
|
|
54185
54137
|
};
|
|
54186
54138
|
//#endregion
|
|
54187
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54139
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/wheel-event.js
|
|
54188
54140
|
/**
|
|
54189
54141
|
* Mouse wheel event dispatched to the ScrollBox under the pointer.
|
|
54190
54142
|
*
|
|
@@ -54220,7 +54172,7 @@ function indentString(string, count = 1, options = {}) {
|
|
|
54220
54172
|
return string.replace(regex, indent.repeat(count));
|
|
54221
54173
|
}
|
|
54222
54174
|
//#endregion
|
|
54223
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54175
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/get-max-width.js
|
|
54224
54176
|
/**
|
|
54225
54177
|
* Returns the yoga node's content width (computed width minus padding and
|
|
54226
54178
|
* border).
|
|
@@ -54325,7 +54277,7 @@ var cli_boxes_default = {
|
|
|
54325
54277
|
}
|
|
54326
54278
|
};
|
|
54327
54279
|
//#endregion
|
|
54328
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54280
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-border.js
|
|
54329
54281
|
/** Built-in border styles beyond those provided by cli-boxes. */
|
|
54330
54282
|
const CUSTOM_BORDER_STYLES = { dashed: {
|
|
54331
54283
|
top: "╌",
|
|
@@ -54415,7 +54367,7 @@ const renderBorder = (x, y, node, output) => {
|
|
|
54415
54367
|
}
|
|
54416
54368
|
};
|
|
54417
54369
|
//#endregion
|
|
54418
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54370
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/widest-line.js
|
|
54419
54371
|
/**
|
|
54420
54372
|
* Get the display width of the widest line in a string.
|
|
54421
54373
|
* @param string - the text to measure, possibly containing newlines.
|
|
@@ -54434,7 +54386,7 @@ function widestLine(string) {
|
|
|
54434
54386
|
return maxWidth;
|
|
54435
54387
|
}
|
|
54436
54388
|
//#endregion
|
|
54437
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
54389
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-node-to-output.js
|
|
54438
54390
|
function isXtermJsHost() {
|
|
54439
54391
|
return process.env.TERM_PROGRAM === "vscode" || isXtermJs();
|
|
54440
54392
|
}
|
|
@@ -55250,7 +55202,7 @@ function dropSubtreeCache(node) {
|
|
|
55250
55202
|
for (const child of node.childNodes) if (child.nodeName !== "#text") dropSubtreeCache(child);
|
|
55251
55203
|
}
|
|
55252
55204
|
//#endregion
|
|
55253
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55205
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hit-test.js
|
|
55254
55206
|
/**
|
|
55255
55207
|
* Find the deepest DOM element whose rendered rect contains (col, row).
|
|
55256
55208
|
*
|
|
@@ -55640,7 +55592,7 @@ function dispatchHover(root, col, row, hovered) {
|
|
|
55640
55592
|
}
|
|
55641
55593
|
}
|
|
55642
55594
|
//#endregion
|
|
55643
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55595
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/flush-tick.js
|
|
55644
55596
|
/**
|
|
55645
55597
|
* Monotonic terminal-flush counter for the ported Ink core.
|
|
55646
55598
|
*
|
|
@@ -55673,7 +55625,7 @@ function getTerminalFlushTick() {
|
|
|
55673
55625
|
return flushTick;
|
|
55674
55626
|
}
|
|
55675
55627
|
//#endregion
|
|
55676
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55628
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/instances.js
|
|
55677
55629
|
/**
|
|
55678
55630
|
* Live Ink instances keyed by their output stream, so consecutive render()
|
|
55679
55631
|
* calls reuse the instance for a stream instead of creating a new one.
|
|
@@ -55682,7 +55634,7 @@ function getTerminalFlushTick() {
|
|
|
55682
55634
|
*/
|
|
55683
55635
|
const instances = /* @__PURE__ */ new Map();
|
|
55684
55636
|
//#endregion
|
|
55685
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
55637
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/log-update.js
|
|
55686
55638
|
const CARRIAGE_RETURN = { type: "carriageReturn" };
|
|
55687
55639
|
const NEWLINE = {
|
|
55688
55640
|
type: "stdout",
|
|
@@ -56298,7 +56250,7 @@ var VirtualScreen = class {
|
|
|
56298
56250
|
}
|
|
56299
56251
|
};
|
|
56300
56252
|
//#endregion
|
|
56301
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
56253
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/optimizer.js
|
|
56302
56254
|
/**
|
|
56303
56255
|
* Optimize a diff by applying all optimization rules in a single pass.
|
|
56304
56256
|
* This reduces the number of patches that need to be written to the terminal.
|
|
@@ -56363,7 +56315,7 @@ function optimize(diff) {
|
|
|
56363
56315
|
return result;
|
|
56364
56316
|
}
|
|
56365
56317
|
//#endregion
|
|
56366
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
56318
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/bidi.js
|
|
56367
56319
|
var import_bidi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
56368
56320
|
(function(global, factory) {
|
|
56369
56321
|
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());
|
|
@@ -57139,7 +57091,7 @@ function hasRTLCharacters(text) {
|
|
|
57139
57091
|
return /[\u0590-\u05FF\uFB1D-\uFB4F\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF\u0780-\u07BF\u0700-\u074F]/u.test(text);
|
|
57140
57092
|
}
|
|
57141
57093
|
//#endregion
|
|
57142
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
57094
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/output.js
|
|
57143
57095
|
/**
|
|
57144
57096
|
* charCache bounds. The entry-count cap alone was not enough: a streaming
|
|
57145
57097
|
* line produces a NEW cache key on every frame, and each entry's cost is
|
|
@@ -57809,7 +57761,7 @@ function writeLineToScreen(screen, line, x, y, screenWidth, stylePool, charCache
|
|
|
57809
57761
|
return offsetX;
|
|
57810
57762
|
}
|
|
57811
57763
|
//#endregion
|
|
57812
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
57764
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-to-screen.js
|
|
57813
57765
|
const timing = {
|
|
57814
57766
|
reconcile: 0,
|
|
57815
57767
|
yoga: 0,
|
|
@@ -57903,7 +57855,7 @@ function applyPositionedHighlight(screen, stylePool, positions, rowOffset, curre
|
|
|
57903
57855
|
return true;
|
|
57904
57856
|
}
|
|
57905
57857
|
//#endregion
|
|
57906
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
57858
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/renderer.js
|
|
57907
57859
|
/**
|
|
57908
57860
|
* Create the renderer function for a root DOM node. The returned renderer
|
|
57909
57861
|
* reuses an Output across frames so its character cache persists.
|
|
@@ -57978,7 +57930,7 @@ function createRenderer(node, stylePool) {
|
|
|
57978
57930
|
};
|
|
57979
57931
|
}
|
|
57980
57932
|
//#endregion
|
|
57981
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
57933
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/searchHighlight.js
|
|
57982
57934
|
/**
|
|
57983
57935
|
* Highlight all visible occurrences of `query` in the screen buffer by
|
|
57984
57936
|
* inverting cell styles (SGR 7). Post-render, same damage-tracking machinery
|
|
@@ -58040,7 +57992,7 @@ function applySearchHighlight(screen, query, stylePool) {
|
|
|
58040
57992
|
return applied;
|
|
58041
57993
|
}
|
|
58042
57994
|
//#endregion
|
|
58043
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
57995
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/ink.js
|
|
58044
57996
|
const ALT_SCREEN_ANCHOR_CURSOR = Object.freeze({
|
|
58045
57997
|
x: 0,
|
|
58046
57998
|
y: 0,
|
|
@@ -59593,7 +59545,7 @@ const CONSOLE_STDERR_METHODS = [
|
|
|
59593
59545
|
"trace"
|
|
59594
59546
|
];
|
|
59595
59547
|
//#endregion
|
|
59596
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59548
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/root.js
|
|
59597
59549
|
/**
|
|
59598
59550
|
* Mount a component and render the output.
|
|
59599
59551
|
* @param node - the React element to render.
|
|
@@ -59676,7 +59628,7 @@ const getInstance = (stdout, createInstance) => {
|
|
|
59676
59628
|
return instance;
|
|
59677
59629
|
};
|
|
59678
59630
|
//#endregion
|
|
59679
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59631
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedBox.js
|
|
59680
59632
|
/** Resolves a color value that may be a theme key to a raw Color. */
|
|
59681
59633
|
function resolveColor$1(color, theme) {
|
|
59682
59634
|
if (!color) return void 0;
|
|
@@ -59701,7 +59653,7 @@ function ThemedBox({ borderColor, borderTopColor, borderBottomColor, borderLeftC
|
|
|
59701
59653
|
});
|
|
59702
59654
|
}
|
|
59703
59655
|
//#endregion
|
|
59704
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59656
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedText.js
|
|
59705
59657
|
/**
|
|
59706
59658
|
* Colors uncolored ThemedText in the subtree. Precedence: explicit `color` >
|
|
59707
59659
|
* this > dimColor (in the Claude Code visual language, where message rows
|
|
@@ -59737,7 +59689,7 @@ function ThemedText({ color, backgroundColor, dimColor = false, bold = false, it
|
|
|
59737
59689
|
});
|
|
59738
59690
|
}
|
|
59739
59691
|
//#endregion
|
|
59740
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59692
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Spacer.js
|
|
59741
59693
|
/**
|
|
59742
59694
|
* A flexible space that expands along the major axis of its containing layout.
|
|
59743
59695
|
* It's useful as a shortcut for filling all the available spaces between elements.
|
|
@@ -59752,7 +59704,7 @@ function Spacer() {
|
|
|
59752
59704
|
return t0;
|
|
59753
59705
|
}
|
|
59754
59706
|
//#endregion
|
|
59755
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59707
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Newline.js
|
|
59756
59708
|
/**
|
|
59757
59709
|
* Adds one or more newline (\n) characters. Must be used within <Text> components.
|
|
59758
59710
|
*/
|
|
@@ -59775,7 +59727,7 @@ function Newline(t0) {
|
|
|
59775
59727
|
return t3;
|
|
59776
59728
|
}
|
|
59777
59729
|
//#endregion
|
|
59778
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59730
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/NoSelect.js
|
|
59779
59731
|
/**
|
|
59780
59732
|
* Marks its contents as non-selectable in fullscreen text selection.
|
|
59781
59733
|
* Cells inside this box are skipped by both the selection highlight and
|
|
@@ -59826,7 +59778,7 @@ function NoSelect(t0) {
|
|
|
59826
59778
|
return t2;
|
|
59827
59779
|
}
|
|
59828
59780
|
//#endregion
|
|
59829
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59781
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AlternateScreen.js
|
|
59830
59782
|
/**
|
|
59831
59783
|
* Run children in the terminal's alternate screen buffer, constrained to
|
|
59832
59784
|
* the viewport height. While mounted:
|
|
@@ -59901,7 +59853,7 @@ function AlternateScreen(t0) {
|
|
|
59901
59853
|
return t5;
|
|
59902
59854
|
}
|
|
59903
59855
|
//#endregion
|
|
59904
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
59856
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ScrollBox.js
|
|
59905
59857
|
/**
|
|
59906
59858
|
* A Box with `overflow: scroll` and an imperative scroll API.
|
|
59907
59859
|
*
|
|
@@ -60079,7 +60031,7 @@ function ScrollBox({ children, ref, stickyScroll, ...style }) {
|
|
|
60079
60031
|
});
|
|
60080
60032
|
}
|
|
60081
60033
|
//#endregion
|
|
60082
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60034
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-input.js
|
|
60083
60035
|
/**
|
|
60084
60036
|
* Keep an event listener stable while always dispatching to the latest render's
|
|
60085
60037
|
* callback. Keeping this hook local is important for packaged installs: a
|
|
@@ -60145,7 +60097,7 @@ const useInput = (inputHandler, options = {}) => {
|
|
|
60145
60097
|
}, [internal_eventEmitter, handleData]);
|
|
60146
60098
|
};
|
|
60147
60099
|
//#endregion
|
|
60148
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60100
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-selection.js
|
|
60149
60101
|
/**
|
|
60150
60102
|
* Access to text selection operations on the Ink instance (fullscreen only).
|
|
60151
60103
|
* Returns no-op functions when fullscreen mode is disabled.
|
|
@@ -60185,7 +60137,7 @@ function useSelection() {
|
|
|
60185
60137
|
}, [ink]);
|
|
60186
60138
|
}
|
|
60187
60139
|
//#endregion
|
|
60188
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60140
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-copy-on-select.js
|
|
60189
60141
|
/**
|
|
60190
60142
|
* Copy-on-select: when a drag finishes (or a double/triple click, or a
|
|
60191
60143
|
* shift+arrow extension, lands a selection), copy the selected text to the
|
|
@@ -60225,14 +60177,14 @@ function useCopyOnSelect(onCopied) {
|
|
|
60225
60177
|
]);
|
|
60226
60178
|
}
|
|
60227
60179
|
//#endregion
|
|
60228
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60180
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-app.js
|
|
60229
60181
|
/**
|
|
60230
60182
|
* React hook exposing the manual app-exit function from `AppContext`.
|
|
60231
60183
|
* @returns the `AppContext` value, whose `exit` function unmounts the app.
|
|
60232
60184
|
*/
|
|
60233
60185
|
const useApp = () => (0, import_react.useContext)(AppContext);
|
|
60234
60186
|
//#endregion
|
|
60235
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60187
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-viewport.js
|
|
60236
60188
|
/**
|
|
60237
60189
|
* Hook to detect if a component is within the terminal viewport.
|
|
60238
60190
|
*
|
|
@@ -60286,7 +60238,7 @@ function useTerminalViewport() {
|
|
|
60286
60238
|
return [setElement, entryRef.current];
|
|
60287
60239
|
}
|
|
60288
60240
|
//#endregion
|
|
60289
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60241
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-animation-frame.js
|
|
60290
60242
|
/**
|
|
60291
60243
|
* Hook for synchronized animations that pause when offscreen.
|
|
60292
60244
|
*
|
|
@@ -60335,7 +60287,7 @@ function useAnimationFrame(intervalMs = 16) {
|
|
|
60335
60287
|
return [viewportRef, time];
|
|
60336
60288
|
}
|
|
60337
60289
|
//#endregion
|
|
60338
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60290
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-size.js
|
|
60339
60291
|
/** Terminal dimensions from the Ink app shell (from Claude Code).
|
|
60340
60292
|
* @returns the current terminal dimensions.
|
|
60341
60293
|
*/
|
|
@@ -60345,7 +60297,7 @@ function useTerminalSize() {
|
|
|
60345
60297
|
return size;
|
|
60346
60298
|
}
|
|
60347
60299
|
//#endregion
|
|
60348
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60300
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useBlink.js
|
|
60349
60301
|
const BLINK_INTERVAL_MS = 600;
|
|
60350
60302
|
/**
|
|
60351
60303
|
* Hook for synchronized blinking animations that pause when offscreen
|
|
@@ -60362,7 +60314,7 @@ function useBlink(enabled, intervalMs = BLINK_INTERVAL_MS) {
|
|
|
60362
60314
|
return [ref, Math.floor(time / intervalMs) % 2 === 0];
|
|
60363
60315
|
}
|
|
60364
60316
|
//#endregion
|
|
60365
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60317
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/supports-hyperlinks.js
|
|
60366
60318
|
var import_supports_hyperlinks = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
60367
60319
|
const supportsColor = require_supports_color();
|
|
60368
60320
|
const hasFlag = require_has_flag();
|
|
@@ -60391,13 +60343,14 @@ var import_supports_hyperlinks = /* @__PURE__ */ __toESM((/* @__PURE__ */ __comm
|
|
|
60391
60343
|
@returns {boolean}
|
|
60392
60344
|
*/
|
|
60393
60345
|
function supportsHyperlink(stream) {
|
|
60394
|
-
const { CI, FORCE_HYPERLINK, NETLIFY, TEAMCITY_VERSION, TERM_PROGRAM, TERM_PROGRAM_VERSION, VTE_VERSION } = process.env;
|
|
60346
|
+
const { CI, FORCE_HYPERLINK, NETLIFY, TEAMCITY_VERSION, TERM_PROGRAM, TERM_PROGRAM_VERSION, VTE_VERSION, TERM } = process.env;
|
|
60395
60347
|
if (FORCE_HYPERLINK) return !(FORCE_HYPERLINK.length > 0 && parseInt(FORCE_HYPERLINK, 10) === 0);
|
|
60396
60348
|
if (hasFlag("no-hyperlink") || hasFlag("no-hyperlinks") || hasFlag("hyperlink=false") || hasFlag("hyperlink=never")) return false;
|
|
60397
60349
|
if (hasFlag("hyperlink=true") || hasFlag("hyperlink=always")) return true;
|
|
60398
60350
|
if (NETLIFY) return true;
|
|
60399
60351
|
if (!supportsColor.supportsColor(stream)) return false;
|
|
60400
60352
|
if (stream && !stream.isTTY) return false;
|
|
60353
|
+
if ("WT_SESSION" in process.env) return true;
|
|
60401
60354
|
if (process.platform === "win32") return false;
|
|
60402
60355
|
if (CI) return false;
|
|
60403
60356
|
if (TEAMCITY_VERSION) return false;
|
|
@@ -60409,6 +60362,7 @@ var import_supports_hyperlinks = /* @__PURE__ */ __toESM((/* @__PURE__ */ __comm
|
|
|
60409
60362
|
return version.major > 3;
|
|
60410
60363
|
case "WezTerm": return version.major >= 20200620;
|
|
60411
60364
|
case "vscode": return version.major > 1 || version.major === 1 && version.minor >= 72;
|
|
60365
|
+
case "ghostty": return true;
|
|
60412
60366
|
}
|
|
60413
60367
|
}
|
|
60414
60368
|
if (VTE_VERSION) {
|
|
@@ -60416,6 +60370,9 @@ var import_supports_hyperlinks = /* @__PURE__ */ __toESM((/* @__PURE__ */ __comm
|
|
|
60416
60370
|
const version = parseVersion(VTE_VERSION);
|
|
60417
60371
|
return version.major > 0 || version.minor >= 50;
|
|
60418
60372
|
}
|
|
60373
|
+
switch (TERM) {
|
|
60374
|
+
case "alacritty": return true;
|
|
60375
|
+
}
|
|
60419
60376
|
return false;
|
|
60420
60377
|
}
|
|
60421
60378
|
module.exports = {
|
|
@@ -60454,7 +60411,7 @@ function supportsHyperlinks(options) {
|
|
|
60454
60411
|
return false;
|
|
60455
60412
|
}
|
|
60456
60413
|
//#endregion
|
|
60457
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60414
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Link.js
|
|
60458
60415
|
function Link(t0) {
|
|
60459
60416
|
const $ = (0, import_compiler_runtime.c)(5);
|
|
60460
60417
|
const { children, url, fallback } = t0;
|
|
@@ -60482,7 +60439,7 @@ function Link(t0) {
|
|
|
60482
60439
|
return t2;
|
|
60483
60440
|
}
|
|
60484
60441
|
//#endregion
|
|
60485
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60442
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/esc.js
|
|
60486
60443
|
/**
|
|
60487
60444
|
* ESC Sequence Parser
|
|
60488
60445
|
*
|
|
@@ -60538,7 +60495,7 @@ function parseEsc(chars) {
|
|
|
60538
60495
|
};
|
|
60539
60496
|
}
|
|
60540
60497
|
//#endregion
|
|
60541
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60498
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/types.js
|
|
60542
60499
|
/**
|
|
60543
60500
|
* ANSI Parser - Semantic Types
|
|
60544
60501
|
*
|
|
@@ -60566,7 +60523,7 @@ function defaultStyle() {
|
|
|
60566
60523
|
};
|
|
60567
60524
|
}
|
|
60568
60525
|
//#endregion
|
|
60569
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60526
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/sgr.js
|
|
60570
60527
|
/**
|
|
60571
60528
|
* SGR (Select Graphic Rendition) Parser
|
|
60572
60529
|
*
|
|
@@ -60874,7 +60831,7 @@ function applySGR(paramStr, style) {
|
|
|
60874
60831
|
return s;
|
|
60875
60832
|
}
|
|
60876
60833
|
//#endregion
|
|
60877
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
60834
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/parser.js
|
|
60878
60835
|
/**
|
|
60879
60836
|
* ANSI Parser - Semantic Action Generator
|
|
60880
60837
|
*
|
|
@@ -61251,7 +61208,7 @@ var Parser = class {
|
|
|
61251
61208
|
}
|
|
61252
61209
|
};
|
|
61253
61210
|
//#endregion
|
|
61254
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61211
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/Ansi.js
|
|
61255
61212
|
/**
|
|
61256
61213
|
* Component that parses ANSI escape codes and renders them using Text components.
|
|
61257
61214
|
*
|
|
@@ -61502,7 +61459,7 @@ function StyledText(t0) {
|
|
|
61502
61459
|
return t1;
|
|
61503
61460
|
}
|
|
61504
61461
|
//#endregion
|
|
61505
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61462
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ui.js
|
|
61506
61463
|
var ui_exports = /* @__PURE__ */ __exportAll({
|
|
61507
61464
|
AlternateScreen: () => AlternateScreen,
|
|
61508
61465
|
Ansi: () => Ansi,
|
|
@@ -61526,7 +61483,7 @@ var ui_exports = /* @__PURE__ */ __exportAll({
|
|
|
61526
61483
|
useTheme: () => useTheme
|
|
61527
61484
|
});
|
|
61528
61485
|
//#endregion
|
|
61529
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61486
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PageMargin.js
|
|
61530
61487
|
/** 嵌套安全的 inset(若未来出现嵌套 PageMargin 会累加)。 */
|
|
61531
61488
|
const PageInsetContext = import_react.createContext({
|
|
61532
61489
|
x: 0,
|
|
@@ -61580,7 +61537,7 @@ function PageMargin({ children }) {
|
|
|
61580
61537
|
});
|
|
61581
61538
|
}
|
|
61582
61539
|
//#endregion
|
|
61583
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61540
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/figures.js
|
|
61584
61541
|
/**
|
|
61585
61542
|
* UI glyph constants used across the TUI: prompt markers, status badges,
|
|
61586
61543
|
* direction arrows, media controls, reasoning-effort indicators, and
|
|
@@ -61607,7 +61564,7 @@ const THINKING_SPINNER_FRAMES = [
|
|
|
61607
61564
|
"⠏"
|
|
61608
61565
|
];
|
|
61609
61566
|
//#endregion
|
|
61610
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
61567
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerWizard.js
|
|
61611
61568
|
/**
|
|
61612
61569
|
* `/provider` wizard — interactively adds, edits, or deletes an LLM
|
|
61613
61570
|
* provider route at runtime.
|
|
@@ -62333,7 +62290,7 @@ function buildProfile(input) {
|
|
|
62333
62290
|
return profile;
|
|
62334
62291
|
}
|
|
62335
62292
|
//#endregion
|
|
62336
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
62293
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/modelConfigWizard.js
|
|
62337
62294
|
/**
|
|
62338
62295
|
* `/model-config` is a compact settings-backed model editor. The landing page
|
|
62339
62296
|
* keeps the managed catalog switch and selectable platform models in one
|
|
@@ -62386,7 +62343,7 @@ async function runModelConfigWizard(deps) {
|
|
|
62386
62343
|
const selected = rows.find((row) => row.label === choice);
|
|
62387
62344
|
if (choice !== void 0) landingFocus = choice;
|
|
62388
62345
|
if (selected?.kind === "maas") {
|
|
62389
|
-
if (deps.host.maas === void 0) {
|
|
62346
|
+
if (deps.host.maas?.setEnabled === void 0) {
|
|
62390
62347
|
deps.notify(t("model-config-maas-unavailable"), {
|
|
62391
62348
|
color: "warning",
|
|
62392
62349
|
timeoutMs: 8e3
|
|
@@ -62431,11 +62388,11 @@ function landingRows(deps, builtInModels, maasModels) {
|
|
|
62431
62388
|
const maas = deps.host.maas;
|
|
62432
62389
|
const current = deps.current();
|
|
62433
62390
|
return [
|
|
62434
|
-
{
|
|
62391
|
+
...maas !== void 0 && maas.setEnabled === void 0 ? [] : [{
|
|
62435
62392
|
kind: "maas",
|
|
62436
62393
|
label: t("model-config-maas-row"),
|
|
62437
62394
|
value: maas === void 0 ? t("model-config-state-unavailable") : maas.enabled() ? t("model-config-state-on") : t("model-config-state-off")
|
|
62438
|
-
},
|
|
62395
|
+
}],
|
|
62439
62396
|
...builtInModels.map((model) => ({
|
|
62440
62397
|
kind: "built-in-model",
|
|
62441
62398
|
label: markCurrent(counts.get(model.name) === 1 ? model.name : `${model.name} · ${t("model-config-builtin-provider-label")}`, model.provider === current.provider && model.id === current.model),
|
|
@@ -62460,7 +62417,7 @@ function markCurrent(label, current) {
|
|
|
62460
62417
|
return current ? `${label} ${t("model-config-current-tag")}` : label;
|
|
62461
62418
|
}
|
|
62462
62419
|
//#endregion
|
|
62463
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
62420
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-declared-cursor.js
|
|
62464
62421
|
/**
|
|
62465
62422
|
* Declares where the terminal cursor should be parked after each frame.
|
|
62466
62423
|
*
|
|
@@ -62509,7 +62466,7 @@ function useDeclaredCursor(options) {
|
|
|
62509
62466
|
return setNode;
|
|
62510
62467
|
}
|
|
62511
62468
|
//#endregion
|
|
62512
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
62469
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-element.js
|
|
62513
62470
|
/**
|
|
62514
62471
|
* Measure the rendered dimensions of a Box element.
|
|
62515
62472
|
* @param node - the DOM element to measure.
|
|
@@ -62520,7 +62477,7 @@ const measureElement = (node) => ({
|
|
|
62520
62477
|
height: node.yogaNode?.getComputedHeight() ?? 0
|
|
62521
62478
|
});
|
|
62522
62479
|
//#endregion
|
|
62523
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
62480
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Divider.js
|
|
62524
62481
|
const MAX_APPLIED_MEASUREMENTS = 8;
|
|
62525
62482
|
/**
|
|
62526
62483
|
* A horizontal divider line, optionally with a title in the middle
|
|
@@ -64231,7 +64188,7 @@ k.parseInline;
|
|
|
64231
64188
|
T.parse;
|
|
64232
64189
|
R.lex;
|
|
64233
64190
|
//#endregion
|
|
64234
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64191
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxTheme.js
|
|
64235
64192
|
/** highlight.js token classes -> theme syntax tokens. `default` catches
|
|
64236
64193
|
* every unmapped class so cli-highlight's own yellow never leaks through
|
|
64237
64194
|
* (issue #250, P2-6). */
|
|
@@ -64297,7 +64254,7 @@ function buildSyntaxTheme(theme) {
|
|
|
64297
64254
|
return out;
|
|
64298
64255
|
}
|
|
64299
64256
|
//#endregion
|
|
64300
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64257
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/hyperlink.js
|
|
64301
64258
|
/** OSC 8 hyperlink start sequence: `ESC ] 8 ; ;`, followed by the URL. */
|
|
64302
64259
|
const OSC8_START = "\x1B]8;;";
|
|
64303
64260
|
/** Schemes a rendered hyperlink may point at. Anything else degrades to
|
|
@@ -64339,7 +64296,7 @@ function createHyperlink(url, content, options) {
|
|
|
64339
64296
|
return `${OSC8_START}${safeUrl}${(options?.style ?? ((text) => chalk.blue(text)))(displayText)}${OSC8_START}`;
|
|
64340
64297
|
}
|
|
64341
64298
|
//#endregion
|
|
64342
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64299
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileTarget.js
|
|
64343
64300
|
/**
|
|
64344
64301
|
* Clickable file targets: turning path-like text in AI output into
|
|
64345
64302
|
* clickable targets, and resolving those targets back to absolute paths at
|
|
@@ -64481,7 +64438,7 @@ function linkifyFilePaths(text, wrap) {
|
|
|
64481
64438
|
});
|
|
64482
64439
|
}
|
|
64483
64440
|
//#endregion
|
|
64484
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64441
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/markdown.js
|
|
64485
64442
|
/**
|
|
64486
64443
|
* Markdown-to-ANSI renderer over marked's token stream.
|
|
64487
64444
|
*
|
|
@@ -64796,11 +64753,11 @@ function padAligned(content, displayWidth, targetWidth, align) {
|
|
|
64796
64753
|
return content + " ".repeat(extra);
|
|
64797
64754
|
}
|
|
64798
64755
|
//#endregion
|
|
64799
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64756
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/cliHighlight.js
|
|
64800
64757
|
let cliHighlightPromise;
|
|
64801
64758
|
async function loadCliHighlight() {
|
|
64802
64759
|
try {
|
|
64803
|
-
const cliHighlight = await import("./dist-
|
|
64760
|
+
const cliHighlight = await import("./dist-w_sIm4VD.js").then((m) => /* @__PURE__ */ __toESM(m.default, 1));
|
|
64804
64761
|
(await import("./es-la_KkjCS.js")).getLanguage;
|
|
64805
64762
|
return {
|
|
64806
64763
|
highlight: cliHighlight.highlight,
|
|
@@ -64819,7 +64776,7 @@ function getCliHighlightPromise() {
|
|
|
64819
64776
|
return cliHighlightPromise;
|
|
64820
64777
|
}
|
|
64821
64778
|
//#endregion
|
|
64822
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64779
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MarkdownTable.js
|
|
64823
64780
|
/** Accounts for parent indentation and terminal resize races (from Claude Code). */
|
|
64824
64781
|
const SAFETY_MARGIN = 4;
|
|
64825
64782
|
/** Minimum column width to prevent degenerate layouts */
|
|
@@ -65006,7 +64963,7 @@ function MarkdownTable({ token, highlight, forceWidth }) {
|
|
|
65006
64963
|
return (0, import_jsx_runtime.jsx)(Text, { children: tableLines.join("\n") });
|
|
65007
64964
|
}
|
|
65008
64965
|
//#endregion
|
|
65009
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
64966
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Markdown.js
|
|
65010
64967
|
const TOKEN_CACHE_CAPACITY = 200;
|
|
65011
64968
|
const TOKEN_CACHE_CHAR_BUDGET = 2e5;
|
|
65012
64969
|
const TOKEN_CACHE_MAX_SOURCE_LENGTH = 2e4;
|
|
@@ -65115,7 +65072,7 @@ function MarkdownImpl({ children, dimColor = false, cacheTokens = true }) {
|
|
|
65115
65072
|
*/
|
|
65116
65073
|
const Markdown = import_react.memo(MarkdownImpl, (prev, next) => prev.children === next.children && prev.dimColor === next.dimColor && prev.cacheTokens === next.cacheTokens);
|
|
65117
65074
|
//#endregion
|
|
65118
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65075
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/PlanReviewPanel.js
|
|
65119
65076
|
/**
|
|
65120
65077
|
* The plan-review panel — Claude Code style exit-plan-mode decision card
|
|
65121
65078
|
* for the DSH user-interaction seam. plan-mode's `exit_plan_mode` tool asks
|
|
@@ -65437,7 +65394,7 @@ function PlanReviewPanel({ question, onAnswer, onCancel }) {
|
|
|
65437
65394
|
});
|
|
65438
65395
|
}
|
|
65439
65396
|
//#endregion
|
|
65440
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65397
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/listWindow.js
|
|
65441
65398
|
/**
|
|
65442
65399
|
* 焦点居中的列表窗口:长列表只渲染焦点附近的一段,保证焦点行始终可见。
|
|
65443
65400
|
* 瞬态面板走 OverlayAbove 零高度浮层后,超高部分会被 overflow 裁掉且焦点
|
|
@@ -65489,7 +65446,7 @@ function listWindow(heights, focusIndex, maxRows, gap = 0) {
|
|
|
65489
65446
|
}
|
|
65490
65447
|
}
|
|
65491
65448
|
//#endregion
|
|
65492
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
65449
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/AskUserQuestionPanel.js
|
|
65493
65450
|
/**
|
|
65494
65451
|
* The questionnaire panel — Claude Code style ask-user-question UI for the
|
|
65495
65452
|
* DSH user-interaction seam. One question per panel (progress header, header
|
|
@@ -66072,7 +66029,7 @@ function AskUserQuestionPanel({ question, position, total, answered, initialDraf
|
|
|
66072
66029
|
});
|
|
66073
66030
|
}
|
|
66074
66031
|
//#endregion
|
|
66075
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66032
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/approvals/ApprovalPanel.js
|
|
66076
66033
|
/**
|
|
66077
66034
|
* The approval panel — Claude Code style permission prompt for the DSH
|
|
66078
66035
|
* approval seam (`ctx.approval`). One ask per panel: a permission-colored
|
|
@@ -66197,7 +66154,7 @@ function ApprovalPanel({ approval, background = false, onDecide }) {
|
|
|
66197
66154
|
});
|
|
66198
66155
|
}
|
|
66199
66156
|
//#endregion
|
|
66200
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66157
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Pane.js
|
|
66201
66158
|
/**
|
|
66202
66159
|
* A pane — a region below the prompt bounded by a colored top line with a
|
|
66203
66160
|
* one-row gap above and horizontal padding, mirroring Claude Code's
|
|
@@ -66219,7 +66176,7 @@ function Pane({ children, color }) {
|
|
|
66219
66176
|
});
|
|
66220
66177
|
}
|
|
66221
66178
|
//#endregion
|
|
66222
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66179
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ListItem.js
|
|
66223
66180
|
/**
|
|
66224
66181
|
* A list item for selection UIs, mirroring Claude Code's
|
|
66225
66182
|
* design-system/ListItem.tsx: `❯` pointer for the focused row, `✓`
|
|
@@ -66316,7 +66273,7 @@ function flattenDeep(node) {
|
|
|
66316
66273
|
return node;
|
|
66317
66274
|
}
|
|
66318
66275
|
//#endregion
|
|
66319
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66276
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/HintLine.js
|
|
66320
66277
|
/**
|
|
66321
66278
|
* Localized shortcut-hint line: renders a `t('hint-*')` string, with the
|
|
66322
66279
|
* `**primary shortcut**` segment (the main action's key, wrapped in `**` in
|
|
@@ -66333,7 +66290,7 @@ function HintLine({ text }) {
|
|
|
66333
66290
|
}, index) : part) });
|
|
66334
66291
|
}
|
|
66335
66292
|
//#endregion
|
|
66336
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66293
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ExtensionDialog.js
|
|
66337
66294
|
/**
|
|
66338
66295
|
* The managed plugin dialog (`ctx.tuiDialogs`) — one panel rendering the
|
|
66339
66296
|
* store's current snapshot in the chat chrome (the slot approval/question
|
|
@@ -66593,7 +66550,7 @@ function InputDialog({ dialog, onDecide, onCancel }) {
|
|
|
66593
66550
|
});
|
|
66594
66551
|
}
|
|
66595
66552
|
//#endregion
|
|
66596
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66553
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-search-highlight.js
|
|
66597
66554
|
/**
|
|
66598
66555
|
* Set the search highlight query on the Ink instance. Non-empty → all
|
|
66599
66556
|
* visible occurrences are inverted on the next frame (SGR 7, screen-buffer
|
|
@@ -66625,7 +66582,7 @@ function useSearchHighlight() {
|
|
|
66625
66582
|
}, [ink]);
|
|
66626
66583
|
}
|
|
66627
66584
|
//#endregion
|
|
66628
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66585
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-title.js
|
|
66629
66586
|
/**
|
|
66630
66587
|
* Declaratively set the terminal tab/window title.
|
|
66631
66588
|
*
|
|
@@ -66648,7 +66605,7 @@ function useTerminalTitle(title) {
|
|
|
66648
66605
|
}, [title, writeRaw]);
|
|
66649
66606
|
}
|
|
66650
66607
|
//#endregion
|
|
66651
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66608
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/format.js
|
|
66652
66609
|
/**
|
|
66653
66610
|
* Session browser formatting.
|
|
66654
66611
|
*
|
|
@@ -66897,7 +66854,7 @@ function projectName(cwd) {
|
|
|
66897
66854
|
return normalized.split("/").filter(Boolean).at(-1) ?? normalized;
|
|
66898
66855
|
}
|
|
66899
66856
|
//#endregion
|
|
66900
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
66857
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Tooltip.js
|
|
66901
66858
|
/**
|
|
66902
66859
|
* Tooltip hover system — the terminal equivalent of the HTML `title`
|
|
66903
66860
|
* attribute. Attach {@link useTooltip} props to any Box whose visible text
|
|
@@ -67105,7 +67062,7 @@ function wrapTooltipContent(text, width) {
|
|
|
67105
67062
|
return rows;
|
|
67106
67063
|
}
|
|
67107
67064
|
//#endregion
|
|
67108
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67065
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/UserPromptMessage.js
|
|
67109
67066
|
/** User prompt row in the legacy CLI treatment: a full-width gray strip. */
|
|
67110
67067
|
function UserPromptMessage({ text, addMargin, isSelected = false, onClick }) {
|
|
67111
67068
|
const { columns } = useTerminalSize();
|
|
@@ -67134,7 +67091,7 @@ function UserPromptMessage({ text, addMargin, isSelected = false, onClick }) {
|
|
|
67134
67091
|
});
|
|
67135
67092
|
}
|
|
67136
67093
|
//#endregion
|
|
67137
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67094
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantTextMessage.js
|
|
67138
67095
|
/**
|
|
67139
67096
|
* Assistant text message: bullet + markdown body (mirroring Claude Code's default branch).
|
|
67140
67097
|
*
|
|
@@ -67167,7 +67124,7 @@ function AssistantTextMessage({ text, addMargin, isSelected = false, isExpanded
|
|
|
67167
67124
|
});
|
|
67168
67125
|
}
|
|
67169
67126
|
//#endregion
|
|
67170
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67127
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/StreamingMarkdown.js
|
|
67171
67128
|
/**
|
|
67172
67129
|
* Renders markdown during streaming by splitting at the last top-level block
|
|
67173
67130
|
* boundary: everything before is stable (memoized, never re-parsed), only the
|
|
@@ -67357,7 +67314,7 @@ function StreamingMarkdown({ children, dimColor = false }) {
|
|
|
67357
67314
|
});
|
|
67358
67315
|
}
|
|
67359
67316
|
//#endregion
|
|
67360
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67317
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/spinnerUtils.js
|
|
67361
67318
|
/**
|
|
67362
67319
|
* Spinner 动画的通用工具集:平台相关的帧字符选择、RGB 颜色插值、
|
|
67363
67320
|
* HSL 色相转 RGB,以及 `rgb(...)` 颜色字符串的解析与记忆化。
|
|
@@ -67437,7 +67394,7 @@ function parseRGB(colorStr) {
|
|
|
67437
67394
|
return parsed;
|
|
67438
67395
|
}
|
|
67439
67396
|
//#endregion
|
|
67440
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67397
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/shimmer.js
|
|
67441
67398
|
/** Header blue-white ladder: brand → ice → pale → soft ice flash.
|
|
67442
67399
|
* FLASH stays visibly blue (never pure white) — the highlight reads as a
|
|
67443
67400
|
* mist-brightened crest, not a white strobe. */
|
|
@@ -67453,7 +67410,7 @@ const ICE = {
|
|
|
67453
67410
|
b: 255
|
|
67454
67411
|
};
|
|
67455
67412
|
//#endregion
|
|
67456
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67413
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantThinkingMessage.js
|
|
67457
67414
|
/** Preview body rows — a FIXED row count (kimicode-style constant-height
|
|
67458
67415
|
* ticker). Ink's truncate slices the whole string across newlines as one
|
|
67459
67416
|
* logical line, so a single joined Text collapses to 1-2 rows whenever
|
|
@@ -67566,7 +67523,7 @@ function AssistantThinkingMessage({ thinking, textFull, addMargin, verbose, stre
|
|
|
67566
67523
|
});
|
|
67567
67524
|
}
|
|
67568
67525
|
//#endregion
|
|
67569
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
67526
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ToolUseLoader.js
|
|
67570
67527
|
const CATEGORY_BY_TOOL = {
|
|
67571
67528
|
bash: "exec",
|
|
67572
67529
|
powershell: "exec",
|
|
@@ -68147,7 +68104,7 @@ var ArrayDiff = class extends Diff {
|
|
|
68147
68104
|
};
|
|
68148
68105
|
new ArrayDiff();
|
|
68149
68106
|
//#endregion
|
|
68150
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68107
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxRuns.js
|
|
68151
68108
|
const ANSI16 = {
|
|
68152
68109
|
30: "rgb(0,0,0)",
|
|
68153
68110
|
31: "rgb(128,0,0)",
|
|
@@ -68232,7 +68189,7 @@ function syntaxThemeSignature(theme) {
|
|
|
68232
68189
|
return Object.values(SYNTAX_CLASS_TO_TOKEN).map((key) => palette[key] ?? "").join("|");
|
|
68233
68190
|
}
|
|
68234
68191
|
//#endregion
|
|
68235
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68192
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/smoothReveal.js
|
|
68236
68193
|
/**
|
|
68237
68194
|
* Smooth streaming reveal — decouples "text the provider has delivered" from
|
|
68238
68195
|
* "text the screen is showing" (the oh-my-pi `display.smoothStreaming` idea,
|
|
@@ -68478,7 +68435,7 @@ function revealLinesOf(key, total, options) {
|
|
|
68478
68435
|
return Math.min(existing.revealed, total);
|
|
68479
68436
|
}
|
|
68480
68437
|
//#endregion
|
|
68481
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68438
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SplitDiffView.js
|
|
68482
68439
|
/** Replace tabs so width math and alignment hold (pi convention). */
|
|
68483
68440
|
const expandTabs = (text) => text.replaceAll(" ", " ");
|
|
68484
68441
|
/**
|
|
@@ -68787,7 +68744,7 @@ function SplitDiffView({ diffs, width, maxRows, verbose, toolBackground = "none"
|
|
|
68787
68744
|
});
|
|
68788
68745
|
}
|
|
68789
68746
|
//#endregion
|
|
68790
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68747
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SyntaxText.js
|
|
68791
68748
|
/** Async nested Text renderer. Lexes the complete payload before splitting. */
|
|
68792
68749
|
function SyntaxText({ text, language, sourceText = text, lineIndex = 0, color, dimColor }) {
|
|
68793
68750
|
const [highlighter, setHighlighter] = import_react.useState(null);
|
|
@@ -68831,7 +68788,7 @@ function SyntaxText({ text, language, sourceText = text, lineIndex = 0, color, d
|
|
|
68831
68788
|
}, index)) });
|
|
68832
68789
|
}
|
|
68833
68790
|
//#endregion
|
|
68834
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68791
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/format.js
|
|
68835
68792
|
/**
|
|
68836
68793
|
* Trajectory formatting — durations, clocks, badges and heat.
|
|
68837
68794
|
*
|
|
@@ -69033,7 +68990,7 @@ function ledgerLayout(columns) {
|
|
|
69033
68990
|
};
|
|
69034
68991
|
}
|
|
69035
68992
|
//#endregion
|
|
69036
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
68993
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRevealVersion.js
|
|
69037
68994
|
/**
|
|
69038
68995
|
* Reveal-frame wakeup as a React hook — bumps once per advancing ~30fps
|
|
69039
68996
|
* scheduler tick so consumers re-run their render-phase cursor reads
|
|
@@ -69063,7 +69020,7 @@ function useRevealVersion(enabled = true) {
|
|
|
69063
69020
|
return version;
|
|
69064
69021
|
}
|
|
69065
69022
|
//#endregion
|
|
69066
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69023
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantToolUseMessage.js
|
|
69067
69024
|
/** Tool display names: DSH emits lowercase tool ids (`bash`); Claude Code
|
|
69068
69025
|
* shows capitalized names (`Bash`). Map the common ones, fall back to the
|
|
69069
69026
|
* id with its first letter uppercased. */
|
|
@@ -69599,7 +69556,7 @@ function AssistantToolUseMessage({ tool, addMargin, verbose, isSelected = false,
|
|
|
69599
69556
|
});
|
|
69600
69557
|
}
|
|
69601
69558
|
//#endregion
|
|
69602
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69559
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/SubagentMessage.js
|
|
69603
69560
|
/** The waterfall window is a Kimi Code style constant-height region. */
|
|
69604
69561
|
const WATERFALL_ROWS = 3;
|
|
69605
69562
|
/** Card left padding + the `│ ` gutter prefix. */
|
|
@@ -69807,7 +69764,7 @@ function SubagentMessage({ subagent, addMargin, activityFrames, onClick }) {
|
|
|
69807
69764
|
});
|
|
69808
69765
|
}
|
|
69809
69766
|
//#endregion
|
|
69810
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69767
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/JobCard.js
|
|
69811
69768
|
/** Card left padding + the `│ ` gutter prefix. */
|
|
69812
69769
|
const WATERFALL_GUTTER = 4;
|
|
69813
69770
|
/** Static status marker — deliberately NOT the animated activity-indicator
|
|
@@ -69960,7 +69917,7 @@ function JobCard({ job, addMargin, onClick }) {
|
|
|
69960
69917
|
});
|
|
69961
69918
|
}
|
|
69962
69919
|
//#endregion
|
|
69963
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69920
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/InterruptedByUser.js
|
|
69964
69921
|
/**
|
|
69965
69922
|
* The dim "interrupted" row shown when the user stops a turn, mirroring
|
|
69966
69923
|
* Claude Code's `InterruptedByUser.tsx`.
|
|
@@ -69975,7 +69932,7 @@ function InterruptedByUser() {
|
|
|
69975
69932
|
})] });
|
|
69976
69933
|
}
|
|
69977
69934
|
//#endregion
|
|
69978
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
69935
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/gitCommitStats.js
|
|
69979
69936
|
/**
|
|
69980
69937
|
* 当月 AI 代码生成占比统计(移植自 chatcode-cli 的同名服务)。
|
|
69981
69938
|
*
|
|
@@ -70143,7 +70100,7 @@ function computeAiRatioPercent(records) {
|
|
|
70143
70100
|
return clampPercent(aiAdoptedTotal / addedTotal * 100);
|
|
70144
70101
|
}
|
|
70145
70102
|
//#endregion
|
|
70146
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70103
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useAiRatio.js
|
|
70147
70104
|
/**
|
|
70148
70105
|
* 「AI代码生成占比」数据源 Hook(移植自 chatcode-cli 的同名 Hook)。
|
|
70149
70106
|
*
|
|
@@ -70187,7 +70144,7 @@ function useAiRatio(enabled = true) {
|
|
|
70187
70144
|
};
|
|
70188
70145
|
}
|
|
70189
70146
|
//#endregion
|
|
70190
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70147
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/truncateToWidth.js
|
|
70191
70148
|
/**
|
|
70192
70149
|
* Slice a string to at most `maxWidth` terminal cells, walking by code
|
|
70193
70150
|
* point so CJK wide characters never split mid-glyph. Assumes no ANSI in
|
|
@@ -70205,7 +70162,7 @@ function truncateToWidth(text, maxWidth) {
|
|
|
70205
70162
|
return out;
|
|
70206
70163
|
}
|
|
70207
70164
|
//#endregion
|
|
70208
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70165
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LogoV2.js
|
|
70209
70166
|
/** Main ChatCode CLI package version shown in the startup information panel. */
|
|
70210
70167
|
const VERSION = PRODUCT_VERSION;
|
|
70211
70168
|
const PRODUCT_LABEL = "chatcode-cli";
|
|
@@ -70441,7 +70398,7 @@ function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
|
|
|
70441
70398
|
});
|
|
70442
70399
|
}
|
|
70443
70400
|
//#endregion
|
|
70444
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70401
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/MessageMetadata.js
|
|
70445
70402
|
/**
|
|
70446
70403
|
* Transcript-mode metadata row: `HH:MM · model`, right-aligned above the
|
|
70447
70404
|
* assistant text, mirroring Claude Code's MessageTimestamp + MessageModel,
|
|
@@ -70463,7 +70420,7 @@ function MessageMetadata({ timestamp, model }) {
|
|
|
70463
70420
|
});
|
|
70464
70421
|
}
|
|
70465
70422
|
//#endregion
|
|
70466
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70423
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/narration.js
|
|
70467
70424
|
/**
|
|
70468
70425
|
* Strip the `⏵` self-narration line from assistant text. The
|
|
70469
70426
|
* dsh-working-activity narrate contract puts exactly one `⏵` line at the
|
|
@@ -70579,7 +70536,7 @@ function ellipsize(line, maxWidth) {
|
|
|
70579
70536
|
return `${out}…`;
|
|
70580
70537
|
}
|
|
70581
70538
|
//#endregion
|
|
70582
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
70539
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MessageList.js
|
|
70583
70540
|
/**
|
|
70584
70541
|
* Transcript rows rendered in the Claude Code visual language: user prompts
|
|
70585
70542
|
* on a grey bubble with a `❯` pointer, assistant text with a `●` bullet and
|
|
@@ -71392,7 +71349,7 @@ function LogoHeader({ model, effort, cwd, whale = true, skipIntro = false }) {
|
|
|
71392
71349
|
});
|
|
71393
71350
|
}
|
|
71394
71351
|
//#endregion
|
|
71395
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71352
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TimelineRail.js
|
|
71396
71353
|
/** ▴ / ▾ (U+25B4 / U+25BE — the small triangles; CP437-safe on ConHost too). */
|
|
71397
71354
|
const CHEVRON_UP = " ▴";
|
|
71398
71355
|
const CHEVRON_DOWN = " ▾";
|
|
@@ -71586,7 +71543,7 @@ function TimelineRail({ handle, turns, activeId, upId, downId, terminalWidth, ho
|
|
|
71586
71543
|
}) });
|
|
71587
71544
|
}
|
|
71588
71545
|
//#endregion
|
|
71589
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71546
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ScrollbarGutter.js
|
|
71590
71547
|
/** Thumb glyph across the 2-col gutter: solid, clearly positional —
|
|
71591
71548
|
* deliberately distinct from the timeline's ━━ active tick. */
|
|
71592
71549
|
const THUMB = "██";
|
|
@@ -71702,7 +71659,7 @@ function ScrollbarGutter({ handle, terminalWidth }) {
|
|
|
71702
71659
|
}) });
|
|
71703
71660
|
}
|
|
71704
71661
|
//#endregion
|
|
71705
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71662
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/OverlayAbove.js
|
|
71706
71663
|
/**
|
|
71707
71664
|
* 瞬态面板的浮层容器:absolute 定位 + bottom:'100%' 把面板底边钉在锚点
|
|
71708
71665
|
* (父元素)顶边,向上覆盖转录尾部行,自身**不占布局高度**。
|
|
@@ -71735,7 +71692,7 @@ function OverlayAbove({ children, maxHeight }) {
|
|
|
71735
71692
|
});
|
|
71736
71693
|
}
|
|
71737
71694
|
//#endregion
|
|
71738
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71695
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/motion.js
|
|
71739
71696
|
/**
|
|
71740
71697
|
* Trajectory motion — five verbs, one shared clock, one hard rule.
|
|
71741
71698
|
*
|
|
@@ -71860,7 +71817,7 @@ function alert(tick, startTick) {
|
|
|
71860
71817
|
return Math.floor(age / 2) % 2 === 0 ? 1 : 0;
|
|
71861
71818
|
}
|
|
71862
71819
|
//#endregion
|
|
71863
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71820
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/effortIgnition.js
|
|
71864
71821
|
/** 三幕时间轴(ms):扫光全长、字样启动(波至中段)、字样渐亮、渐隐起止。边框扫光与输入行字样徽标共用。 */
|
|
71865
71822
|
const IGNITION_TIMELINE = {
|
|
71866
71823
|
sweepMs: 1e3,
|
|
@@ -72008,7 +71965,7 @@ function ignitionLineColors(options) {
|
|
|
72008
71965
|
return colors;
|
|
72009
71966
|
}
|
|
72010
71967
|
//#endregion
|
|
72011
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
71968
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortChargeGlyph.js
|
|
72012
71969
|
/**
|
|
72013
71970
|
* EffortChargeGlyph — 输入提示前缀 `❯ ` 的最高档强调与充能。
|
|
72014
71971
|
*
|
|
@@ -72064,7 +72021,7 @@ function EffortChargeGlyph({ effort, levels, working }) {
|
|
|
72064
72021
|
});
|
|
72065
72022
|
}
|
|
72066
72023
|
//#endregion
|
|
72067
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72024
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortInputBorder.js
|
|
72068
72025
|
/**
|
|
72069
72026
|
* EffortInputBorder — 输入框层上的三幕点焰叠加(对齐 Codex 的完整
|
|
72070
72027
|
* 语义:光扫过、档位字样浮现、整体渐隐)。
|
|
@@ -72199,7 +72156,7 @@ function EffortInputBorder({ effort, levels, columns, onLight, idleColor, topRig
|
|
|
72199
72156
|
});
|
|
72200
72157
|
}
|
|
72201
72158
|
//#endregion
|
|
72202
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72159
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortTierBadge.js
|
|
72203
72160
|
/**
|
|
72204
72161
|
* EffortTierBadge — 输入行尾的档位字样徽标:三幕点焰的第二幕载体
|
|
72205
72162
|
* (与 EffortInputBorder 的双框扫光同一时间轴、同一触发),切到最高
|
|
@@ -72282,7 +72239,7 @@ function EffortTierBadge({ effort, levels, onLight, columns, leadingColumns }) {
|
|
|
72282
72239
|
});
|
|
72283
72240
|
}
|
|
72284
72241
|
//#endregion
|
|
72285
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72242
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/clipboard.js
|
|
72286
72243
|
/**
|
|
72287
72244
|
* Cross-platform clipboard access for Ctrl+V paste. The TUI runs in raw
|
|
72288
72245
|
* mode, so the terminal never performs its own paste for Ctrl+V — the key
|
|
@@ -72796,7 +72753,7 @@ function formatClipboardInsert(content) {
|
|
|
72796
72753
|
return content.text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
|
|
72797
72754
|
}
|
|
72798
72755
|
//#endregion
|
|
72799
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
72756
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/externalEditor.js
|
|
72800
72757
|
/**
|
|
72801
72758
|
* External editor round-trip for the prompt input (issue #123): Ctrl+G dumps
|
|
72802
72759
|
* the current draft into a temp file, hands the terminal to `$VISUAL` /
|
|
@@ -73074,7 +73031,7 @@ async function editInExternalEditor(draft) {
|
|
|
73074
73031
|
}
|
|
73075
73032
|
}
|
|
73076
73033
|
//#endregion
|
|
73077
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73034
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptEditor.js
|
|
73078
73035
|
let editorNode = null;
|
|
73079
73036
|
const listeners = /* @__PURE__ */ new Set();
|
|
73080
73037
|
/** Publish (or withdraw, with null) the fullscreen editor subtree. */
|
|
@@ -73150,7 +73107,7 @@ function EditorButton({ label, hint, onClick, primary, accent }) {
|
|
|
73150
73107
|
});
|
|
73151
73108
|
}
|
|
73152
73109
|
//#endregion
|
|
73153
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73110
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/history.js
|
|
73154
73111
|
const HISTORY_DIR = DATA_DIR;
|
|
73155
73112
|
const HISTORY_FILE = join(HISTORY_DIR, "history.jsonl");
|
|
73156
73113
|
const HISTORY_LOCK = `${HISTORY_FILE}.lock`;
|
|
@@ -73284,7 +73241,7 @@ function historyEntryId(entry, index = 0) {
|
|
|
73284
73241
|
return createHash("sha1").update(`${entry.text}\0${entry.ts}\0${index}`).digest("hex").slice(0, 12);
|
|
73285
73242
|
}
|
|
73286
73243
|
//#endregion
|
|
73287
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73244
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SuggestionCard.js
|
|
73288
73245
|
/**
|
|
73289
73246
|
* `/` 命令菜单与 `@` 文件菜单共用的圆角卡片外壳(与输入框 EffortInputBorder
|
|
73290
73247
|
* 同款 ╭╮╰╯ 视觉语言):
|
|
@@ -73416,7 +73373,7 @@ function splitQueryMatch(name, query) {
|
|
|
73416
73373
|
return startsWith(0) ?? (lastSpace >= 0 ? startsWith(lastSpace + 1) : null) ?? startsWith(name.lastIndexOf("/") + 1);
|
|
73417
73374
|
}
|
|
73418
73375
|
//#endregion
|
|
73419
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73376
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/CommandSuggestions.js
|
|
73420
73377
|
/**
|
|
73421
73378
|
* The slash-command suggestion overlay, mirroring Claude Code's
|
|
73422
73379
|
* `PromptInputFooterSuggestions.tsx` (command layout only) wrapped in the
|
|
@@ -73496,7 +73453,7 @@ function CommandSuggestions({ commands, selectedIndex, columns, query = "", acce
|
|
|
73496
73453
|
});
|
|
73497
73454
|
}
|
|
73498
73455
|
//#endregion
|
|
73499
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73456
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/FileSuggestions.js
|
|
73500
73457
|
/**
|
|
73501
73458
|
* The `@` file-completion overlay in CC's suggestion style, wrapped in the
|
|
73502
73459
|
* shared rounded `SuggestionCard` (与 `/` 命令菜单同一视觉语言):
|
|
@@ -73595,7 +73552,7 @@ function FileSuggestions({ files, selectedIndex, columns, query = "", accent, on
|
|
|
73595
73552
|
});
|
|
73596
73553
|
}
|
|
73597
73554
|
//#endregion
|
|
73598
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73555
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HelpMenu.js
|
|
73599
73556
|
/**
|
|
73600
73557
|
* The `?` help menu, mirroring Claude Code's `PromptInputHelpMenu.tsx`
|
|
73601
73558
|
* (three-column shortcut layout, trimmed to the keys dsh-tui actually binds).
|
|
@@ -73786,7 +73743,7 @@ function HelpCommandRow({ command, onPick }) {
|
|
|
73786
73743
|
});
|
|
73787
73744
|
}
|
|
73788
73745
|
//#endregion
|
|
73789
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
73746
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptInput.js
|
|
73790
73747
|
const HISTORY_LIMIT = 50;
|
|
73791
73748
|
/**
|
|
73792
73749
|
* Paste fold (CC-style collapse with a visible preview, no black box):
|
|
@@ -76066,7 +76023,7 @@ function wordSelectionAt(text, offset, lo, hi) {
|
|
|
76066
76023
|
};
|
|
76067
76024
|
}
|
|
76068
76025
|
//#endregion
|
|
76069
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76026
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/GoalTodoPanel.js
|
|
76070
76027
|
/** Maximum todo rows shown before the overflow line. */
|
|
76071
76028
|
const MAX_TODOS = 8;
|
|
76072
76029
|
const PHASE_LABEL = {
|
|
@@ -76312,7 +76269,7 @@ function GoalTodoPanel({ channel, collapsed = false, onToggle }) {
|
|
|
76312
76269
|
});
|
|
76313
76270
|
}
|
|
76314
76271
|
//#endregion
|
|
76315
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76272
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/AutoRecapRow.js
|
|
76316
76273
|
/**
|
|
76317
76274
|
* Auto-recap row (`dsh-tui.recapOnOpen` setting): a quiet, dim recap shown
|
|
76318
76275
|
* at the bottom of the transcript after an automatic summary on session
|
|
@@ -76392,7 +76349,7 @@ function summarizeLoadedContext(context) {
|
|
|
76392
76349
|
return parts.join(" · ");
|
|
76393
76350
|
}
|
|
76394
76351
|
//#endregion
|
|
76395
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76352
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LoadedContextPanel.js
|
|
76396
76353
|
/** One named entry (section or dynamic context) with its full text. */
|
|
76397
76354
|
function Entry({ entry }) {
|
|
76398
76355
|
return (0, import_jsx_runtime.jsxs)(ThemedBox, {
|
|
@@ -76529,7 +76486,7 @@ function LoadedContextPanel({ context, open, onToggle }) {
|
|
|
76529
76486
|
});
|
|
76530
76487
|
}
|
|
76531
76488
|
//#endregion
|
|
76532
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76489
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MoonPhaseSpinner.js
|
|
76533
76490
|
/**
|
|
76534
76491
|
* Terminal-safe construction cycle derived from the supplied China Unicom
|
|
76535
76492
|
* knot mark. Every frame is one display cell, unlike emoji on mixed terminals.
|
|
@@ -76561,7 +76518,7 @@ function UnicomKnotSpinner({ time }) {
|
|
|
76561
76518
|
});
|
|
76562
76519
|
}
|
|
76563
76520
|
//#endregion
|
|
76564
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76521
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityLine.js
|
|
76565
76522
|
/**
|
|
76566
76523
|
* Context-pressure percentage (0–100) from the last usage snapshot, or
|
|
76567
76524
|
* undefined when unknown — shared by the spinner-line and status-line
|
|
@@ -76633,7 +76590,7 @@ function ActivityLine({ activity, activityFrames, warnPct, warnDanger, suffix })
|
|
|
76633
76590
|
});
|
|
76634
76591
|
}
|
|
76635
76592
|
//#endregion
|
|
76636
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76593
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/guards.js
|
|
76637
76594
|
/**
|
|
76638
76595
|
* Structural guards for the session events the trajectory projection reads.
|
|
76639
76596
|
*
|
|
@@ -76857,7 +76814,7 @@ function readTodos(data) {
|
|
|
76857
76814
|
};
|
|
76858
76815
|
}
|
|
76859
76816
|
//#endregion
|
|
76860
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76817
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/types.js
|
|
76861
76818
|
/**
|
|
76862
76819
|
* Trajectory projection — the data contract shared by the adapter-side fold
|
|
76863
76820
|
* and the UI-side scene (issue #80 evolution).
|
|
@@ -76924,7 +76881,7 @@ function previewText(raw, limit) {
|
|
|
76924
76881
|
return `${flat.slice(0, limit)}…`;
|
|
76925
76882
|
}
|
|
76926
76883
|
//#endregion
|
|
76927
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
76884
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/projection.js
|
|
76928
76885
|
/**
|
|
76929
76886
|
* Trajectory projection — folding the session event log into ledger nodes.
|
|
76930
76887
|
*
|
|
@@ -77503,7 +77460,7 @@ function extendTrajectory(previous, events) {
|
|
|
77503
77460
|
};
|
|
77504
77461
|
}
|
|
77505
77462
|
//#endregion
|
|
77506
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77463
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/aggregate.js
|
|
77507
77464
|
/**
|
|
77508
77465
|
* Trajectory aggregate — the hotspot view's data and the session totals.
|
|
77509
77466
|
*
|
|
@@ -77724,7 +77681,7 @@ function modelTiming(timing) {
|
|
|
77724
77681
|
};
|
|
77725
77682
|
}
|
|
77726
77683
|
//#endregion
|
|
77727
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77684
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/inspect.js
|
|
77728
77685
|
/**
|
|
77729
77686
|
* Inspector detail — full content, resolved on demand.
|
|
77730
77687
|
*
|
|
@@ -77884,7 +77841,7 @@ function inspectNode(node, events) {
|
|
|
77884
77841
|
};
|
|
77885
77842
|
}
|
|
77886
77843
|
//#endregion
|
|
77887
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
77844
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/wave.js
|
|
77888
77845
|
/**
|
|
77889
77846
|
* Wave band projection — the whole session compressed onto one row of glyphs.
|
|
77890
77847
|
*
|
|
@@ -78057,7 +78014,7 @@ function columnOfIndex(band, ledgerIndex) {
|
|
|
78057
78014
|
return 0;
|
|
78058
78015
|
}
|
|
78059
78016
|
//#endregion
|
|
78060
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78017
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/MiniWake.js
|
|
78061
78018
|
/**
|
|
78062
78019
|
* The mini wake — the whole session as a dozen glyphs in the status line.
|
|
78063
78020
|
*
|
|
@@ -78160,7 +78117,7 @@ function toHex$1(colour) {
|
|
|
78160
78117
|
return `#${hex(parsed.r)}${hex(parsed.g)}${hex(parsed.b)}`;
|
|
78161
78118
|
}
|
|
78162
78119
|
//#endregion
|
|
78163
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78120
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusMetrics.js
|
|
78164
78121
|
/**
|
|
78165
78122
|
* Status-line metric renderers, ported from two pi extensions:
|
|
78166
78123
|
* - `pi-nano-context`: segmented context progress bar (morandi pastel
|
|
@@ -78436,7 +78393,7 @@ function tpsStats(samples, nowMs) {
|
|
|
78436
78393
|
};
|
|
78437
78394
|
}
|
|
78438
78395
|
//#endregion
|
|
78439
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78396
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ContextBarView.js
|
|
78440
78397
|
/** Free-segment colors, mirroring StatusMetrics' dark-theme defaults. */
|
|
78441
78398
|
const FREE_FILL = "#E8E8E8";
|
|
78442
78399
|
const FREE_TEXT = "#4A4A4A";
|
|
@@ -78503,7 +78460,7 @@ function ContextBarView({ segments, usedTokens, contextWindow, width, colors, on
|
|
|
78503
78460
|
});
|
|
78504
78461
|
}
|
|
78505
78462
|
//#endregion
|
|
78506
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78463
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeTokenTrend.js
|
|
78507
78464
|
/**
|
|
78508
78465
|
* ChatCode 今日总 Token 消耗量查询(移植自 chatcode-cli 的 chatCodeTokenTrend)。
|
|
78509
78466
|
*
|
|
@@ -78578,7 +78535,7 @@ async function fetchTodayTotalTokens(post, signal) {
|
|
|
78578
78535
|
}
|
|
78579
78536
|
}
|
|
78580
78537
|
//#endregion
|
|
78581
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78538
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useTodayTotalTokens.js
|
|
78582
78539
|
/**
|
|
78583
78540
|
* 「今日总Token消耗」数据源 Hook(移植自 chatcode-cli 的 useTokenDashboard)。
|
|
78584
78541
|
*
|
|
@@ -78610,7 +78567,7 @@ function useTodayTotalTokens(enabled = true) {
|
|
|
78610
78567
|
return { totalTokens };
|
|
78611
78568
|
}
|
|
78612
78569
|
//#endregion
|
|
78613
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78570
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TokenDashboard.js
|
|
78614
78571
|
const BAR_WIDTH = 14;
|
|
78615
78572
|
/** Yuanjing-compatible percentage label centered inside a fixed-width bar. */
|
|
78616
78573
|
function LabeledBar({ ratio, percent }) {
|
|
@@ -78686,7 +78643,7 @@ function TokenDashboard({ todayTokens, usedTokens, contextWindow, compact = fals
|
|
|
78686
78643
|
});
|
|
78687
78644
|
}
|
|
78688
78645
|
//#endregion
|
|
78689
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
78646
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusLine.js
|
|
78690
78647
|
/** Stable fallback for stubbed channels: verify/repro harnesses render the
|
|
78691
78648
|
* real Chat with partial channel literals that predate the jobs field. */
|
|
78692
78649
|
const NO_BACKGROUND_JOBS = [];
|
|
@@ -79597,7 +79554,7 @@ const fallbackSymbols = {
|
|
|
79597
79554
|
const figures = isUnicodeSupported() ? mainSymbols : fallbackSymbols;
|
|
79598
79555
|
Object.entries(specialMainSymbols);
|
|
79599
79556
|
//#endregion
|
|
79600
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79557
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Byline.js
|
|
79601
79558
|
/**
|
|
79602
79559
|
* Joins children with a middot separator (" · ") for inline metadata display
|
|
79603
79560
|
* (in the Claude Code visual language). Automatically filters out
|
|
@@ -79613,7 +79570,7 @@ function Byline({ children }) {
|
|
|
79613
79570
|
}), child] }, (0, import_react.isValidElement)(child) ? child.key ?? index : index)) });
|
|
79614
79571
|
}
|
|
79615
79572
|
//#endregion
|
|
79616
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79573
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/GlimmerMessage.js
|
|
79617
79574
|
const ERROR_RED$1 = {
|
|
79618
79575
|
r: 171,
|
|
79619
79576
|
g: 43,
|
|
@@ -79703,7 +79660,7 @@ function GlimmerMessage({ message, mode, messageColor, glimmerIndex, flashOpacit
|
|
|
79703
79660
|
})] });
|
|
79704
79661
|
}
|
|
79705
79662
|
//#endregion
|
|
79706
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79663
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerGlyph.js
|
|
79707
79664
|
const DEFAULT_CHARACTERS = getDefaultCharacters();
|
|
79708
79665
|
const SPINNER_FRAMES$1 = [...DEFAULT_CHARACTERS, ...[...DEFAULT_CHARACTERS].reverse()];
|
|
79709
79666
|
const REDUCED_MOTION_DOT = "●";
|
|
@@ -79764,7 +79721,7 @@ function SpinnerGlyph({ frame, messageColor, stalledIntensity = 0, reducedMotion
|
|
|
79764
79721
|
});
|
|
79765
79722
|
}
|
|
79766
79723
|
//#endregion
|
|
79767
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79724
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/useStalledAnimation.js
|
|
79768
79725
|
/**
|
|
79769
79726
|
* Tracks the transition to red when tokens stop flowing (mirroring Claude Code's `Spinner/useStalledAnimation.ts`). Driven by the parent's animation
|
|
79770
79727
|
* clock time instead of independent intervals, so it slows down when the
|
|
@@ -79821,7 +79778,7 @@ function useStalledAnimation(time, currentResponseLength, hasActiveTools = false
|
|
|
79821
79778
|
};
|
|
79822
79779
|
}
|
|
79823
79780
|
//#endregion
|
|
79824
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79781
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerAnimationRow.js
|
|
79825
79782
|
const SEP_WIDTH = stringWidth$1(" · ");
|
|
79826
79783
|
const THINKING_BARE_WIDTH = stringWidth$1("thinking");
|
|
79827
79784
|
const SHOW_TOKENS_AFTER_MS = 3e4;
|
|
@@ -79988,7 +79945,7 @@ function SpinnerModeGlyph({ mode }) {
|
|
|
79988
79945
|
}
|
|
79989
79946
|
}
|
|
79990
79947
|
//#endregion
|
|
79991
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
79948
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkingSpinner.js
|
|
79992
79949
|
/**
|
|
79993
79950
|
* The working spinner block shown between the transcript and the prompt
|
|
79994
79951
|
* input while a turn is in flight. Mirrors Claude Code's `Spinner.tsx`
|
|
@@ -80058,7 +80015,7 @@ function useThinkingStatus(isThinking) {
|
|
|
80058
80015
|
return thinkingStatus;
|
|
80059
80016
|
}
|
|
80060
80017
|
//#endregion
|
|
80061
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80018
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ModelPicker.js
|
|
80062
80019
|
/**
|
|
80063
80020
|
* Model picker in the CC ModelPicker style: a permission-colored Pane with
|
|
80064
80021
|
* the rows as Select entries (❯ focus pointer, ✓ on the active row,
|
|
@@ -80118,7 +80075,7 @@ function ModelPicker(props) {
|
|
|
80118
80075
|
});
|
|
80119
80076
|
}
|
|
80120
80077
|
//#endregion
|
|
80121
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80078
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PluginSceneBoundary.js
|
|
80122
80079
|
/**
|
|
80123
80080
|
* Error boundary for plugin scenes (dsh-tui-scenes). A scene component is
|
|
80124
80081
|
* third-party code rendered inside Chat's tree: without a boundary a render
|
|
@@ -80144,7 +80101,7 @@ var PluginSceneBoundary = class extends import_react.Component {
|
|
|
80144
80101
|
}
|
|
80145
80102
|
};
|
|
80146
80103
|
//#endregion
|
|
80147
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80104
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/LoadingState.js
|
|
80148
80105
|
const SPINNER_FRAMES = [...getDefaultCharacters(), ...[...getDefaultCharacters()].reverse()];
|
|
80149
80106
|
/**
|
|
80150
80107
|
* A spinner with a loading message for async operations, mirroring Claude Code's design-system/LoadingState.tsx (using the small animated glyph).
|
|
@@ -80175,7 +80132,7 @@ function LoadingState({ message, bold = false, dimColor = false, subtitle }) {
|
|
|
80175
80132
|
});
|
|
80176
80133
|
}
|
|
80177
80134
|
//#endregion
|
|
80178
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80135
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SkillsPicker.js
|
|
80179
80136
|
/** 来源桶 → 本地化标签(未知桶原样显示,SkillSource 对自定义桶开放)。 */
|
|
80180
80137
|
function sourceLabel(source) {
|
|
80181
80138
|
switch (source) {
|
|
@@ -80253,7 +80210,7 @@ function SkillsPickerLoading() {
|
|
|
80253
80210
|
});
|
|
80254
80211
|
}
|
|
80255
80212
|
//#endregion
|
|
80256
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80213
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SearchBox.js
|
|
80257
80214
|
/**
|
|
80258
80215
|
* Window a single-line query around the caret so the visible slice fits
|
|
80259
80216
|
* `avail` display cells (CJK display width, code-point safe — `[...s]`
|
|
@@ -80391,7 +80348,7 @@ function SearchBox({ query, placeholder = "Search…", isFocused, isTerminalFocu
|
|
|
80391
80348
|
});
|
|
80392
80349
|
}
|
|
80393
80350
|
//#endregion
|
|
80394
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80351
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionListRow.js
|
|
80395
80352
|
/**
|
|
80396
80353
|
* One session in the browser's list: a title line and a metadata line.
|
|
80397
80354
|
*
|
|
@@ -80472,7 +80429,7 @@ function SessionListRow({ session, width, depth, focused, pinned, now, onClick,
|
|
|
80472
80429
|
});
|
|
80473
80430
|
}
|
|
80474
80431
|
//#endregion
|
|
80475
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80432
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionPreview.js
|
|
80476
80433
|
/** Role marker and colour for a preview entry. */
|
|
80477
80434
|
const ROLE = {
|
|
80478
80435
|
user: {
|
|
@@ -80563,7 +80520,7 @@ function SessionPreview({ session, entries, loading, width, height, home, now })
|
|
|
80563
80520
|
});
|
|
80564
80521
|
}
|
|
80565
80522
|
//#endregion
|
|
80566
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80523
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/WorkspaceListRow.js
|
|
80567
80524
|
/** One two-line working-directory choice in the /resume browser. */
|
|
80568
80525
|
function WorkspaceListRow({ workspace, all, totalProjects, totalSessions, width, focused, selected, home, now, onClick }) {
|
|
80569
80526
|
const [hovered, setHovered] = (0, import_react.useState)(false);
|
|
@@ -80608,7 +80565,7 @@ function WorkspaceListRow({ workspace, all, totalProjects, totalSessions, width,
|
|
|
80608
80565
|
});
|
|
80609
80566
|
}
|
|
80610
80567
|
//#endregion
|
|
80611
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80568
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/view.js
|
|
80612
80569
|
/** The browser's default view: this project, conversations only. */
|
|
80613
80570
|
const DEFAULT_FILTERS = {
|
|
80614
80571
|
query: "",
|
|
@@ -80897,7 +80854,7 @@ function windowEnd(rows, top, budget) {
|
|
|
80897
80854
|
return at;
|
|
80898
80855
|
}
|
|
80899
80856
|
//#endregion
|
|
80900
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
80857
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionPins.js
|
|
80901
80858
|
/**
|
|
80902
80859
|
* Pinned sessions for the `/resume` browser, kept at
|
|
80903
80860
|
* `~/.chatcode-cli/tui/session-pins.json` (a JSON array of session ids) so the pins
|
|
@@ -81046,7 +81003,7 @@ function setSessionPinned(id, pinned, dir = DATA_DIR) {
|
|
|
81046
81003
|
}
|
|
81047
81004
|
}
|
|
81048
81005
|
//#endregion
|
|
81049
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81006
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionBrowser.js
|
|
81050
81007
|
/**
|
|
81051
81008
|
* Rows the layout cannot do without: the header, the four-row scope/search
|
|
81052
81009
|
* card, the notice slot, and the hints. Everything else yields before these.
|
|
@@ -81932,7 +81889,7 @@ function SessionBrowser({ channel, home, sameProject, onClose }) {
|
|
|
81932
81889
|
});
|
|
81933
81890
|
}
|
|
81934
81891
|
//#endregion
|
|
81935
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
81892
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionTree.js
|
|
81936
81893
|
/** Local HH:MM (or MM/DD HH:MM when older than this year). */
|
|
81937
81894
|
function formatTime(at, now) {
|
|
81938
81895
|
const date = new Date(at);
|
|
@@ -82688,7 +82645,7 @@ function PreviewPane({ entry, meta, width, height, liveSessionId, now, compact }
|
|
|
82688
82645
|
});
|
|
82689
82646
|
}
|
|
82690
82647
|
//#endregion
|
|
82691
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
82648
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Settings.js
|
|
82692
82649
|
/** Pick the provider-owned translation for the active language. */
|
|
82693
82650
|
function pick(text, descriptions) {
|
|
82694
82651
|
return descriptions?.[getLang()] ?? text;
|
|
@@ -83432,7 +83389,7 @@ function Settings({ channel, onClose, initialGroup }) {
|
|
|
83432
83389
|
});
|
|
83433
83390
|
}
|
|
83434
83391
|
//#endregion
|
|
83435
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83392
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspacePicker.js
|
|
83436
83393
|
const WINDOW$1 = 8;
|
|
83437
83394
|
/** `/workspace` target picker contributed by local and optional providers. */
|
|
83438
83395
|
function WorkspacePicker({ targets, focusIndex, currentCwd, onPick }) {
|
|
@@ -83470,7 +83427,7 @@ function WorkspacePicker({ targets, focusIndex, currentCwd, onPick }) {
|
|
|
83470
83427
|
});
|
|
83471
83428
|
}
|
|
83472
83429
|
//#endregion
|
|
83473
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83430
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Select.js
|
|
83474
83431
|
/**
|
|
83475
83432
|
* A single-choice select list in the CC CustomSelect style (ported visual:
|
|
83476
83433
|
* ListItem rows with ❯ focus pointer, ✓ selected checkmark, descriptions,
|
|
@@ -83497,7 +83454,7 @@ function Select({ options, focusIndex, selectedValue, visibleOptionCount = 5, on
|
|
|
83497
83454
|
});
|
|
83498
83455
|
}
|
|
83499
83456
|
//#endregion
|
|
83500
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83457
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceMenuPicker.js
|
|
83501
83458
|
/**
|
|
83502
83459
|
* Bare `/workspace` action menu: the built-in subcommands (resume / rename /
|
|
83503
83460
|
* open) plus any dynamically registered workspace extensions. Enter runs the
|
|
@@ -83538,7 +83495,7 @@ function WorkspaceMenuPicker({ options, focusIndex, onPick }) {
|
|
|
83538
83495
|
});
|
|
83539
83496
|
}
|
|
83540
83497
|
//#endregion
|
|
83541
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83498
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceFlowPicker.js
|
|
83542
83499
|
const WINDOW = 8;
|
|
83543
83500
|
/** Generic nested choice surface returned by a workspace provider command. */
|
|
83544
83501
|
function WorkspaceFlowPicker({ title, choices, focusIndex, busy = false, input = null, onPick }) {
|
|
@@ -83596,7 +83553,7 @@ function WorkspaceFlowPicker({ title, choices, focusIndex, busy = false, input =
|
|
|
83596
83553
|
});
|
|
83597
83554
|
}
|
|
83598
83555
|
//#endregion
|
|
83599
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83556
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityPicker.js
|
|
83600
83557
|
/**
|
|
83601
83558
|
* Working-activity indicator picker in the CC ModelPicker style (ported
|
|
83602
83559
|
* from the pi extension's `/activity` interactive select): a
|
|
@@ -83638,7 +83595,7 @@ function ActivityPicker({ focusIndex, currentPreset, onPick }) {
|
|
|
83638
83595
|
});
|
|
83639
83596
|
}
|
|
83640
83597
|
//#endregion
|
|
83641
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83598
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ColorPicker.js
|
|
83642
83599
|
/**
|
|
83643
83600
|
* Session accent color picker (bare `/color`): a permission-colored Pane
|
|
83644
83601
|
* listing the whole palette with a colored swatch per row, `❯` focus
|
|
@@ -83682,7 +83639,7 @@ function ColorPicker({ focusIndex, currentColor, onPick }) {
|
|
|
83682
83639
|
});
|
|
83683
83640
|
}
|
|
83684
83641
|
//#endregion
|
|
83685
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83642
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortSlider.js
|
|
83686
83643
|
/**
|
|
83687
83644
|
* Reasoning-effort slider (`/effort`): a rheostat row of the live route's
|
|
83688
83645
|
* adapter-owned levels in adapter order, ←/→ moving focus (each move applies
|
|
@@ -83741,7 +83698,7 @@ function EffortSlider({ options, focusIndex, currentId, onPick }) {
|
|
|
83741
83698
|
});
|
|
83742
83699
|
}
|
|
83743
83700
|
//#endregion
|
|
83744
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83701
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PresetPicker.js
|
|
83745
83702
|
/**
|
|
83746
83703
|
* Agent-preset picker (issue #8) in the CC ModelPicker style — same chrome
|
|
83747
83704
|
* as the ActivityPicker: a permission-colored Pane listing every roster
|
|
@@ -83785,7 +83742,7 @@ function PresetPicker({ presets, focusIndex, currentPreset, onPick }) {
|
|
|
83785
83742
|
});
|
|
83786
83743
|
}
|
|
83787
83744
|
//#endregion
|
|
83788
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83745
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PermissionsPicker.js
|
|
83789
83746
|
/**
|
|
83790
83747
|
* `/permission` sandbox-preset picker. The command itself is registered by
|
|
83791
83748
|
* the harness side (dsh-sandbox-policy / dsh-base permission-presets row);
|
|
@@ -83832,7 +83789,7 @@ function PermissionsPicker({ options, focusIndex, currentValue, cwd, onPick }) {
|
|
|
83832
83789
|
});
|
|
83833
83790
|
}
|
|
83834
83791
|
//#endregion
|
|
83835
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83792
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PlanPicker.js
|
|
83836
83793
|
/**
|
|
83837
83794
|
* `/plan` on/off picker. The command itself is registered by dsh-plan-mode
|
|
83838
83795
|
* on the harness side; bare `/plan` opens this picker (with the current
|
|
@@ -83877,7 +83834,7 @@ function PlanPicker({ focusIndex, currentOn, onPick }) {
|
|
|
83877
83834
|
});
|
|
83878
83835
|
}
|
|
83879
83836
|
//#endregion
|
|
83880
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83837
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LangPicker.js
|
|
83881
83838
|
/**
|
|
83882
83839
|
* `/lang` en/zh picker: bare `/lang` opens this picker (the current language
|
|
83883
83840
|
* marked) and Enter applies the choice through the same path as `/lang <id>`.
|
|
@@ -83916,7 +83873,7 @@ function LangPicker({ focusIndex, currentLang, onPick }) {
|
|
|
83916
83873
|
});
|
|
83917
83874
|
}
|
|
83918
83875
|
//#endregion
|
|
83919
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83876
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThemePicker.js
|
|
83920
83877
|
/** One double-block swatch character per preview key, in a row. */
|
|
83921
83878
|
const SWATCH = "██";
|
|
83922
83879
|
/** Theme keys previewed in the picker, chosen for visual contrast. */
|
|
@@ -84002,7 +83959,7 @@ function ThemePicker({ focusIndex, currentTheme, themeHost, onPick }) {
|
|
|
84002
83959
|
});
|
|
84003
83960
|
}
|
|
84004
83961
|
//#endregion
|
|
84005
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
83962
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThinkingToggle.js
|
|
84006
83963
|
/**
|
|
84007
83964
|
* The `/thinking` display dialog: a permission-colored Pane with a bold
|
|
84008
83965
|
* title, the Shown/Hidden select, and the Enter/Esc hint line.
|
|
@@ -84051,7 +84008,7 @@ function ThinkingToggle({ currentValue, focusIndex, onPick }) {
|
|
|
84051
84008
|
});
|
|
84052
84009
|
}
|
|
84053
84010
|
//#endregion
|
|
84054
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84011
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HistorySearchDialog.js
|
|
84055
84012
|
/**
|
|
84056
84013
|
* The ctrl+r history search dialog, in the shape of Claude Code's
|
|
84057
84014
|
* HistorySearchDialog/FuzzyPicker: a permission-colored Pane with a bold
|
|
@@ -84114,7 +84071,7 @@ function formatRelativeAge(ts) {
|
|
|
84114
84071
|
return t("time-days-ago", { n: Math.floor(elapsed / 864e5) });
|
|
84115
84072
|
}
|
|
84116
84073
|
//#endregion
|
|
84117
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84074
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RewindPicker.js
|
|
84118
84075
|
/**
|
|
84119
84076
|
* Double-Esc rewind picker (CC's "Double-tap esc to rewind the code and/or
|
|
84120
84077
|
* conversation to a previous point in time"): lists the user's past messages
|
|
@@ -84251,7 +84208,7 @@ function preview(text) {
|
|
|
84251
84208
|
return flat.length <= 80 ? flat : `${flat.slice(0, 80)}…`;
|
|
84252
84209
|
}
|
|
84253
84210
|
//#endregion
|
|
84254
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84211
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/BtwPanel.js
|
|
84255
84212
|
/**
|
|
84256
84213
|
* /btw side-question panel (CC's btw.tsx, inline-pane form like the local
|
|
84257
84214
|
* pickers): title line with the question, a scrollable answer body (error /
|
|
@@ -84335,7 +84292,7 @@ function BtwPanel({ question, answer, error, streaming, onClose, onCopy }) {
|
|
|
84335
84292
|
});
|
|
84336
84293
|
}
|
|
84337
84294
|
//#endregion
|
|
84338
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84295
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ReleaseNotesPanel.js
|
|
84339
84296
|
function ReleaseNotesPanel({ release, onClose }) {
|
|
84340
84297
|
const scrollRef = import_react.useRef(null);
|
|
84341
84298
|
const { rows } = useTerminalSize();
|
|
@@ -84380,7 +84337,7 @@ function ReleaseNotesPanel({ release, onClose }) {
|
|
|
84380
84337
|
});
|
|
84381
84338
|
}
|
|
84382
84339
|
//#endregion
|
|
84383
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84340
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RecapPanel.js
|
|
84384
84341
|
/**
|
|
84385
84342
|
* `/recap` panel (pi-recap semantics), in the picker/dialog visual
|
|
84386
84343
|
* language: a permission-colored Pane with a title bar (会话回顾), a
|
|
@@ -84501,7 +84458,7 @@ function RecapPanel({ summary, title, error, streaming, titleApplied, onClose, o
|
|
|
84501
84458
|
});
|
|
84502
84459
|
}
|
|
84503
84460
|
//#endregion
|
|
84504
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
84461
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/tips.js
|
|
84505
84462
|
/**
|
|
84506
84463
|
* 精简 Tips 池 —— 启动首屏轮换(LogoV2)与 `/tips` 命令面板共用。
|
|
84507
84464
|
*
|
|
@@ -85215,7 +85172,7 @@ const TIPS = [
|
|
|
85215
85172
|
}
|
|
85216
85173
|
];
|
|
85217
85174
|
//#endregion
|
|
85218
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85175
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TipsPanel.js
|
|
85219
85176
|
const GROUP_ORDER = [
|
|
85220
85177
|
"keys",
|
|
85221
85178
|
"commands",
|
|
@@ -85294,7 +85251,7 @@ function TipsPanel({ onClose }) {
|
|
|
85294
85251
|
});
|
|
85295
85252
|
}
|
|
85296
85253
|
//#endregion
|
|
85297
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85254
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentCard.js
|
|
85298
85255
|
function formatDuration$1(ms) {
|
|
85299
85256
|
const seconds = Math.floor(ms / 1e3);
|
|
85300
85257
|
return seconds < 60 ? `${seconds}s` : `${Math.floor(seconds / 60)}m${seconds % 60}s`;
|
|
@@ -85349,7 +85306,7 @@ function SubagentCard({ subagent, focused, onClick }) {
|
|
|
85349
85306
|
});
|
|
85350
85307
|
}
|
|
85351
85308
|
//#endregion
|
|
85352
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85309
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDashboard.js
|
|
85353
85310
|
/** 可点击 ✕ 退出按钮:整屏/浮层场景的鼠标退出通道(Esc 等价)。 */
|
|
85354
85311
|
function ExitButton({ onClick }) {
|
|
85355
85312
|
const [hovered, setHovered] = import_react.useState(false);
|
|
@@ -85497,7 +85454,7 @@ function SubagentDashboard({ subagents, onClose, onSelect }) {
|
|
|
85497
85454
|
});
|
|
85498
85455
|
}
|
|
85499
85456
|
//#endregion
|
|
85500
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85457
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/JobsPanel.js
|
|
85501
85458
|
function statusInfo(status) {
|
|
85502
85459
|
const minimal = isMinimalMode();
|
|
85503
85460
|
switch (status) {
|
|
@@ -85785,7 +85742,7 @@ function JobsPanel({ jobs, onClose, onKill }) {
|
|
|
85785
85742
|
});
|
|
85786
85743
|
}
|
|
85787
85744
|
//#endregion
|
|
85788
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
85745
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDetailScene.js
|
|
85789
85746
|
function formatDuration(ms) {
|
|
85790
85747
|
if (ms < 1e3) return `${ms}ms`;
|
|
85791
85748
|
if (ms < 6e4) return `${(ms / 1e3).toFixed(1)}s`;
|
|
@@ -86243,7 +86200,7 @@ function FileActionsPanel({ path, isDir, focusIndex, onPick }) {
|
|
|
86243
86200
|
});
|
|
86244
86201
|
}
|
|
86245
86202
|
//#endregion
|
|
86246
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86203
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ProductivityPickers.js
|
|
86247
86204
|
function oneLine(text, max = 70) {
|
|
86248
86205
|
const compact = text.replace(/\s+/gu, " ").trim();
|
|
86249
86206
|
return compact.length > max ? `${compact.slice(0, max - 1)}…` : compact;
|
|
@@ -86335,7 +86292,7 @@ function DiffLoading() {
|
|
|
86335
86292
|
});
|
|
86336
86293
|
}
|
|
86337
86294
|
//#endregion
|
|
86338
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86295
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/productivityCommands.js
|
|
86339
86296
|
/** `/copy` argument is a one-based reply age; omission selects the latest. */
|
|
86340
86297
|
function parseCopyIndex(raw, count) {
|
|
86341
86298
|
const value = raw.trim();
|
|
@@ -86388,7 +86345,7 @@ function gitDiffLines(report, labels) {
|
|
|
86388
86345
|
];
|
|
86389
86346
|
}
|
|
86390
86347
|
//#endregion
|
|
86391
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86348
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sessionOrganizationCommands.js
|
|
86392
86349
|
/** Compact duration suitable for a terminal report row. */
|
|
86393
86350
|
function formatStatsDuration(ms) {
|
|
86394
86351
|
if (ms < 1e3) return `${Math.round(ms)} ms`;
|
|
@@ -86434,7 +86391,7 @@ function parsePresetManagement(input) {
|
|
|
86434
86391
|
return { kind: "invalid" };
|
|
86435
86392
|
}
|
|
86436
86393
|
//#endregion
|
|
86437
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86394
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workflowCommands.js
|
|
86438
86395
|
const ALIASES = {
|
|
86439
86396
|
map: "inspect",
|
|
86440
86397
|
fixit: "repair",
|
|
@@ -86489,7 +86446,7 @@ function buildWorkflowCommand(name, rawInput = "") {
|
|
|
86489
86446
|
};
|
|
86490
86447
|
}
|
|
86491
86448
|
//#endregion
|
|
86492
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86449
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/urlGuard.js
|
|
86493
86450
|
const EXTERNAL_SCHEME = /^https?:\/\//i;
|
|
86494
86451
|
/**
|
|
86495
86452
|
* Classify a clicked link target. Mirrors the previous handleOpenTarget
|
|
@@ -86514,7 +86471,7 @@ function classifyOpenTarget(url) {
|
|
|
86514
86471
|
return { kind: "rejected" };
|
|
86515
86472
|
}
|
|
86516
86473
|
//#endregion
|
|
86517
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86474
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useExternalVersion.js
|
|
86518
86475
|
/**
|
|
86519
86476
|
* Subscribe to an external store's version counter at DEFAULT lane.
|
|
86520
86477
|
*
|
|
@@ -86563,7 +86520,7 @@ function useExternalVersion(subscribe, getVersion, enabled = true) {
|
|
|
86563
86520
|
return version;
|
|
86564
86521
|
}
|
|
86565
86522
|
//#endregion
|
|
86566
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86523
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/WaveBand.js
|
|
86567
86524
|
/**
|
|
86568
86525
|
* The wake — the whole session drawn as one row of glyphs.
|
|
86569
86526
|
*
|
|
@@ -86700,7 +86657,7 @@ function toHex(colour) {
|
|
|
86700
86657
|
return `#${hex(parsed.r)}${hex(parsed.g)}${hex(parsed.b)}`;
|
|
86701
86658
|
}
|
|
86702
86659
|
//#endregion
|
|
86703
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86660
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Ledger.js
|
|
86704
86661
|
/**
|
|
86705
86662
|
* The ledger — one line per event, columns aligned across every row.
|
|
86706
86663
|
*
|
|
@@ -86946,7 +86903,7 @@ function Ledger({ rows, start, height, cursor, width, tick, arrivalTick, arrival
|
|
|
86946
86903
|
});
|
|
86947
86904
|
}
|
|
86948
86905
|
//#endregion
|
|
86949
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
86906
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Inspector.js
|
|
86950
86907
|
/**
|
|
86951
86908
|
* The inspector — full detail for the focused row, in a fixed-height slot.
|
|
86952
86909
|
*
|
|
@@ -87052,7 +87009,7 @@ function Inspector({ node, detail, height, width, expanded, scroll }) {
|
|
|
87052
87009
|
});
|
|
87053
87010
|
}
|
|
87054
87011
|
//#endregion
|
|
87055
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87012
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/HotspotView.js
|
|
87056
87013
|
/**
|
|
87057
87014
|
* The hotspot view — the session ranked by cost instead of ordered by time.
|
|
87058
87015
|
*
|
|
@@ -87215,7 +87172,7 @@ function HotspotView({ agg, sort, width, height, cursor, tick, switchTick, onRow
|
|
|
87215
87172
|
});
|
|
87216
87173
|
}
|
|
87217
87174
|
//#endregion
|
|
87218
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87175
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/query.js
|
|
87219
87176
|
/**
|
|
87220
87177
|
* Trajectory query — whole-session structured filtering.
|
|
87221
87178
|
*
|
|
@@ -87411,7 +87368,7 @@ function applyQuery(nodes, query) {
|
|
|
87411
87368
|
};
|
|
87412
87369
|
}
|
|
87413
87370
|
//#endregion
|
|
87414
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87371
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/TrajectoryScene.js
|
|
87415
87372
|
/**
|
|
87416
87373
|
* The trajectory scene — the session's own screen.
|
|
87417
87374
|
*
|
|
@@ -87899,7 +87856,7 @@ function TrajectoryScene({ channel, build, onClose }) {
|
|
|
87899
87856
|
});
|
|
87900
87857
|
}
|
|
87901
87858
|
//#endregion
|
|
87902
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
87859
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/LoadedContextScene.js
|
|
87903
87860
|
/** Build the non-empty pages shown by the loaded-context inspector. */
|
|
87904
87861
|
function contextPages(context) {
|
|
87905
87862
|
const pages = [];
|
|
@@ -88083,7 +88040,7 @@ function LoadedContextScene({ context, onClose }) {
|
|
|
88083
88040
|
});
|
|
88084
88041
|
}
|
|
88085
88042
|
//#endregion
|
|
88086
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88043
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/AgentView.js
|
|
88087
88044
|
/** Rows the layout cannot do without: header, model/cwd line, dispatch
|
|
88088
88045
|
* input, hints. */
|
|
88089
88046
|
const MANDATORY_LINES = 4;
|
|
@@ -88687,7 +88644,7 @@ function AgentView({ channel, home, approval, onApprove, returnSessionId, onClos
|
|
|
88687
88644
|
});
|
|
88688
88645
|
}
|
|
88689
88646
|
//#endregion
|
|
88690
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88647
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectoryPrefs.js
|
|
88691
88648
|
/**
|
|
88692
88649
|
* Persisted "the user has seen the trajectory" flag, at
|
|
88693
88650
|
* `~/.chatcode-cli/tui/trajectory.json`.
|
|
@@ -88747,7 +88704,7 @@ function writeTrajectorySeen(dir = DATA_DIR) {
|
|
|
88747
88704
|
}
|
|
88748
88705
|
}
|
|
88749
88706
|
//#endregion
|
|
88750
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88707
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/chatOverlay.js
|
|
88751
88708
|
const NO_OVERLAY = { kind: "none" };
|
|
88752
88709
|
/**
|
|
88753
88710
|
* One-step wrap-around cursor move — the single source of the wrapping rule
|
|
@@ -88857,7 +88814,7 @@ function dialogOverlayVisible(overlay, gates) {
|
|
|
88857
88814
|
}
|
|
88858
88815
|
}
|
|
88859
88816
|
//#endregion
|
|
88860
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
88817
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Chat.js
|
|
88861
88818
|
const LOGOUT_EXIT_DELAY_MS = 200;
|
|
88862
88819
|
/** Shared empty snapshot for hosts whose channel has no event log. */
|
|
88863
88820
|
const NO_EVENTS = [];
|
|
@@ -89028,6 +88985,7 @@ function Chat({ channel, questionStore, approvalStore, releaseNotes, extensionDi
|
|
|
89028
88985
|
return channel.switchModel(provider, id).then((ok) => {
|
|
89029
88986
|
if (!ok) return ok;
|
|
89030
88987
|
if (name !== void 0) channel.notify(t("model-switched", { name }));
|
|
88988
|
+
repaintTranscript();
|
|
89031
88989
|
return ok;
|
|
89032
88990
|
});
|
|
89033
88991
|
};
|
|
@@ -92653,7 +92611,7 @@ function ModelPickerLoading() {
|
|
|
92653
92611
|
});
|
|
92654
92612
|
}
|
|
92655
92613
|
//#endregion
|
|
92656
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
92614
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/webLauncher.js
|
|
92657
92615
|
const MAIN_CLI_PACKAGE = "@chatcode/chatcode-cli";
|
|
92658
92616
|
function asError(value) {
|
|
92659
92617
|
return value instanceof Error ? value : new Error(String(value));
|
|
@@ -92774,7 +92732,7 @@ function launchWebFrontend(cwd, options = {}) {
|
|
|
92774
92732
|
}
|
|
92775
92733
|
}
|
|
92776
92734
|
//#endregion
|
|
92777
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
92735
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/inject-channel.js
|
|
92778
92736
|
/**
|
|
92779
92737
|
* External injection channel — lets an out-of-process editor integration
|
|
92780
92738
|
* (e.g. the `dsh.nvim` Neovim plugin) push text into the running TUI's
|
|
@@ -92969,7 +92927,7 @@ function openInjectChannel(sessionId, cwd, handlers, onError) {
|
|
|
92969
92927
|
};
|
|
92970
92928
|
}
|
|
92971
92929
|
//#endregion
|
|
92972
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
92930
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-auth.js
|
|
92973
92931
|
const CHATCODE_CLI_OAUTH_TOKEN = "CHATCODE_CLI_OAUTH_TOKEN";
|
|
92974
92932
|
function authService(ctx) {
|
|
92975
92933
|
return ctx.get("chatcodeAuth");
|
|
@@ -93146,7 +93104,7 @@ async function requireChatCodeStartupLogin(ctx, options) {
|
|
|
93146
93104
|
return "ready";
|
|
93147
93105
|
}
|
|
93148
93106
|
//#endregion
|
|
93149
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93107
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-api.js
|
|
93150
93108
|
/** Bind authenticated statistics requests to one TUI lifetime. */
|
|
93151
93109
|
function createChatCodeAuthorizedPost(ctx) {
|
|
93152
93110
|
const lifetime = new AbortController();
|
|
@@ -93185,7 +93143,7 @@ function createChatCodeAuthorizedPost(ctx) {
|
|
|
93185
93143
|
};
|
|
93186
93144
|
}
|
|
93187
93145
|
//#endregion
|
|
93188
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
93146
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/plugin.js
|
|
93189
93147
|
/**
|
|
93190
93148
|
* Interactive TUI front door for ChatCode CLI agents.
|
|
93191
93149
|
*
|
|
@@ -93393,9 +93351,10 @@ async function apply(ctx, config) {
|
|
|
93393
93351
|
const expectsChatCode = chatCodeAuthExpected(ctx);
|
|
93394
93352
|
const tokenBackedChatCode = chatCodeEnvironmentTokenActive(ctx);
|
|
93395
93353
|
const tokenCodingPlanRoute = tokenBackedChatCode ? await waitForModelRouteForProvider(resolveLlmCatalog, CHATCODE_CODING_PLAN_PROVIDER) : void 0;
|
|
93396
|
-
const
|
|
93397
|
-
|
|
93398
|
-
const
|
|
93354
|
+
const advertisedFallback = tokenBackedChatCode ? tokenCodingPlanRoute : expectsChatCode ? await waitForFirstAvailableModelRoute(resolveLlmCatalog) : await firstAvailableModelRoute(llmCatalog);
|
|
93355
|
+
const noStartupModel = advertisedFallback === void 0 && (expectsChatCode || tokenBackedChatCode);
|
|
93356
|
+
const availableFallback = noStartupModel ? UNCONFIGURED_MODEL_ROUTE : advertisedFallback;
|
|
93357
|
+
const startupRoute = resolveStartupModelRoute(configuredRoute, readModelPref(), noStartupModel ? UNCONFIGURED_MODEL_ROUTE : harnessDefault ?? availableFallback, tokenCodingPlanRoute);
|
|
93399
93358
|
const requestedWorkspace = config.workspace ?? readTuiEnv("WORKSPACE_TARGET");
|
|
93400
93359
|
const mountedWorkspaceService = getHostWorkspaceRuntime(ctx.get("tuiWorkspaces"));
|
|
93401
93360
|
if (mountedWorkspaceService === void 0 && resolveDshProfileName() !== void 0) ctx.logger.warn("ChatCode CLI TUI: tuiWorkspaces service is not mounted; /workspace runs with the local-only fallback. The bundle patch is older than the installed TUI package — update the globally installed ChatCode CLI package to match the profile (issue #183).");
|
|
@@ -93415,7 +93374,7 @@ async function apply(ctx, config) {
|
|
|
93415
93374
|
ctx.logger.warn(`ChatCode CLI TUI: session "${agent.session.id}" workspace attachment failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
93416
93375
|
}
|
|
93417
93376
|
const displayRoute = createdRoute ?? startupRoute;
|
|
93418
|
-
const displayModelName = await resolveLlmCatalog()?.listModels(displayRoute.provider).then((list) => list.find((model) => model.id === displayRoute.model)?.name).catch(() => void 0);
|
|
93377
|
+
const displayModelName = explicitModelRoute(displayRoute) === void 0 ? void 0 : await resolveLlmCatalog()?.listModels(displayRoute.provider).then((list) => list.find((model) => model.id === displayRoute.model)?.name).catch(() => void 0);
|
|
93419
93378
|
const channel = createChannel(ctx, agent, {
|
|
93420
93379
|
model: displayRoute.model,
|
|
93421
93380
|
modelName: displayModelName,
|
|
@@ -94255,6 +94214,10 @@ async function apply(ctx, config) {
|
|
|
94255
94214
|
themeHost,
|
|
94256
94215
|
children: import_react.createElement(ChatCodeApiContext.Provider, { value: createChatCodeAuthorizedPost(ctx) }, marginChildren)
|
|
94257
94216
|
}), { exitOnCtrlC: false });
|
|
94217
|
+
if (noStartupModel) channel.notify(t("model-startup-none"), {
|
|
94218
|
+
color: "warning",
|
|
94219
|
+
timeoutMs: 8e3
|
|
94220
|
+
});
|
|
94258
94221
|
releaseNotes.check();
|
|
94259
94222
|
channel.listModels();
|
|
94260
94223
|
const isRecompose = lastBootedFullscreen !== void 0;
|