@chatcode/chatcode-cli 3.0.2-rc.6 → 3.0.2-rc.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/lib/{command-errors-BAbKP4yc.js → command-errors-CBJRI2gy.js} +12 -12
  2. package/lib/{command-trees-Kgumf22q.js → command-trees-Dvq4C7a4.js} +2 -2
  3. package/lib/{component-identity-sFGCBs3q.js → component-identity-DPdJglJO.js} +3 -3
  4. package/lib/{extension-events-CpdxIYny.js → extension-events-Be9LWvHD.js} +20 -20
  5. package/lib/{host-access-DzODySUv.js → host-access-DeCjoRQP.js} +1 -1
  6. package/lib/{keymap-CiIcZwAy.js → keymap-CRUxM_qn.js} +2 -2
  7. package/lib/{plugin-qsdFyVMj.js → plugin-CDFSDE_y.js} +377 -348
  8. package/lib/{scenes-DqDnZlu2.js → scenes-D6jV1EEi.js} +3 -3
  9. package/lib/{settings-sections-B7HURmLF.js → settings-sections-DJQRNBo9.js} +3 -3
  10. package/lib/{themes-TJq3ehQ0.js → themes-BCly4_y9.js} +12 -12
  11. package/lib/tui-compat-command-trees.js +1 -1
  12. package/lib/tui-compat-extensions.js +3 -3
  13. package/lib/tui-compat-plugin-host.js +5 -5
  14. package/lib/tui-compat-scenes.js +1 -1
  15. package/lib/tui-compat-settings-sections.js +1 -1
  16. package/lib/tui-compat-working-activity.js +1 -1
  17. package/lib/tui-compat-workspaces.js +1 -1
  18. package/lib/tui-compat.js +5 -5
  19. package/lib/{tuiDisplayPrefs-CrC3Slh1.js → tuiDisplayPrefs-Dm_fULiR.js} +2 -2
  20. package/lib/{workspaces-CLW5OKFC.js → workspaces-Bb3kCAFb.js} +2 -2
  21. package/package.json +24 -24
  22. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-account/lib/client.js +2 -2
  23. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
  24. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
@@ -1,14 +1,14 @@
1
1
  import { i as __toESM, n as __exportAll, r as __require, t as __commonJSMin } from "./rolldown-runtime-2rV9d50f.js";
2
- import { a as getPageMarginSetting, c as normalizeScrollGutter, d as parsePageMarginSpec, f as resolvePageMargin, g as settingsValue, i as formatContextUsage, l as normalizeStatusBar, m as displaySettingsScope, n as DEFAULT_STATUS_BAR, o as isPageMarginMode, p as subscribePageMargin, r as applyPageMargin, s as normalizePageMargin, u as normalizeToolBackground } from "./tuiDisplayPrefs-CrC3Slh1.js";
3
- import { a as draftComboConflicts, d as setKeymapOverrides, f as isMod, h as modLabel, l as parseComboDraft, m as isPlainReturnInput, n as actionMatches, o as effectiveComboString, p as isPlainReturn, t as SHORTCUT_ACTIONS } from "./keymap-CiIcZwAy.js";
4
- import { c as withHostRootCapability } from "./host-access-DzODySUv.js";
5
- import { i as getHostWorkspaceRuntime, r as createLocalWorkspaceRuntime } from "./workspaces-CLW5OKFC.js";
6
- import { n as getHostCommandTrees } from "./command-trees-Kgumf22q.js";
7
- import { a as isReservedCredentialRef, n as getHostSettingsSections, r as getLocalSettingsSectionsHost } from "./settings-sections-B7HURmLF.js";
8
- import { n as getHostSceneRuntime } from "./scenes-DqDnZlu2.js";
9
- import { A as tuiEnvName, C as LEGACY_DATA_DIR, D as homeDir, E as detectLegacyEnv, J as parseManifest, M as loadSpecData, O as readTuiEnv, S as DATA_DIR, T as RENAMED_ENV, Y as projectManifest, _ as stripAnsi$1, a as normalizeCancelDecision, b as isWide, c as installDecisionGuard, d as capCells, f as cleanRenderText, g as getGraphemeSegmenter, h as stringWidth$1, i as dispatchTuiNotification, k as resolveChatCodeCliHome, m as flattenInline, p as cleanScalarText, r as dispatchTuiDecision, v as eastAsianWidth, w as PRE_DSH_TUI_DATA_DIR, x as readGrantStore, y as isFullWidth } from "./extension-events-CpdxIYny.js";
10
- import { A as validatePlugin, D as buildHostDescriptor, O as negotiate, _ as getHostMessageObserver, a as commandOwner, k as createContractIndex, n as hasCommandErrorCode, r as mapCommandError, w as EFFECT_LEDGER_FILE } from "./command-errors-BAbKP4yc.js";
11
- import { D as getHostStatusStore, E as TuiStatusStore, M as getHostDialogStore, S as getHostShortcuts, a as listCustomThemes, b as getHostRenderers, c as THEME_NAMES, d as getTheme, f as isLightThemeActive, g as setAutoThemeBase, h as setActiveThemeName, i as isSafeThemeName, j as TuiDialogStore, l as getActiveTheme, m as registerCustomThemeResolver, n as getHostThemes, o as resolveCustomTheme, p as isThemeAvailable, r as buildTheme, s as AUTO_THEME_NAME, u as getAutoThemeBase, v as getHostToastStore } from "./themes-TJq3ehQ0.js";
2
+ import { a as getPageMarginSetting, c as normalizeScrollGutter, d as parsePageMarginSpec, f as resolvePageMargin, g as settingsValue, i as formatContextUsage, l as normalizeStatusBar, m as displaySettingsScope, n as DEFAULT_STATUS_BAR, o as isPageMarginMode, p as subscribePageMargin, r as applyPageMargin, s as normalizePageMargin, u as normalizeToolBackground } from "./tuiDisplayPrefs-Dm_fULiR.js";
3
+ import { a as draftComboConflicts, d as setKeymapOverrides, f as isMod, h as modLabel, l as parseComboDraft, m as isPlainReturnInput, n as actionMatches, o as effectiveComboString, p as isPlainReturn, t as SHORTCUT_ACTIONS } from "./keymap-CRUxM_qn.js";
4
+ import { c as withHostRootCapability } from "./host-access-DeCjoRQP.js";
5
+ import { i as getHostWorkspaceRuntime, r as createLocalWorkspaceRuntime } from "./workspaces-Bb3kCAFb.js";
6
+ import { n as getHostCommandTrees } from "./command-trees-Dvq4C7a4.js";
7
+ import { a as isReservedCredentialRef, n as getHostSettingsSections, r as getLocalSettingsSectionsHost } from "./settings-sections-DJQRNBo9.js";
8
+ import { n as getHostSceneRuntime } from "./scenes-D6jV1EEi.js";
9
+ import { A as tuiEnvName, C as LEGACY_DATA_DIR, D as homeDir, E as detectLegacyEnv, J as parseManifest, M as loadSpecData, O as readTuiEnv, S as DATA_DIR, T as RENAMED_ENV, Y as projectManifest, _ as stripAnsi$1, a as normalizeCancelDecision, b as isWide, c as installDecisionGuard, d as capCells, f as cleanRenderText, g as getGraphemeSegmenter, h as stringWidth$1, i as dispatchTuiNotification, k as resolveChatCodeCliHome, m as flattenInline, p as cleanScalarText, r as dispatchTuiDecision, v as eastAsianWidth, w as PRE_DSH_TUI_DATA_DIR, x as readGrantStore, y as isFullWidth } from "./extension-events-Be9LWvHD.js";
10
+ import { A as validatePlugin, D as buildHostDescriptor, O as negotiate, _ as getHostMessageObserver, a as commandOwner, k as createContractIndex, n as hasCommandErrorCode, r as mapCommandError, w as EFFECT_LEDGER_FILE } from "./command-errors-CBJRI2gy.js";
11
+ import { D as getHostStatusStore, E as TuiStatusStore, M as getHostDialogStore, S as getHostShortcuts, a as listCustomThemes, b as getHostRenderers, c as THEME_NAMES, d as getTheme, f as isLightThemeActive, g as setAutoThemeBase, h as setActiveThemeName, i as isSafeThemeName, j as TuiDialogStore, l as getActiveTheme, m as registerCustomThemeResolver, n as getHostThemes, o as resolveCustomTheme, p as isThemeAvailable, r as buildTheme, s as AUTO_THEME_NAME, u as getAutoThemeBase, v as getHostToastStore } from "./themes-BCly4_y9.js";
12
12
  import { a as resolvePreset, i as isPresetName, n as FRAME_PRESETS, o as ActivityTracker, r as PRESET_NAMES, t as DEFAULT_PRESET } from "./frames-7PAg0Q9b.js";
13
13
  import { n as require_has_flag, t as require_supports_color } from "./supports-color-CcW-FGjr.js";
14
14
  import { createRequire } from "node:module";
@@ -1198,7 +1198,7 @@ var require_react = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1198
1198
  else module.exports = require_react_development();
1199
1199
  }));
1200
1200
  //#endregion
1201
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sideQuestion.js
1201
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sideQuestion.js
1202
1202
  var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
1203
1203
  /**
1204
1204
  * Side Question (`/btw`) — CC's btw.tsx/sideQuestion.ts semantics on the
@@ -1268,7 +1268,7 @@ async function runSideQuestion(params) {
1268
1268
  return { answer };
1269
1269
  }
1270
1270
  //#endregion
1271
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/recap.js
1271
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/recap.js
1272
1272
  /**
1273
1273
  * Session recap (`/recap`, pi-recap semantics): a single TOOL-LESS LLM
1274
1274
  * call that summarizes the session's RECENT activity into one line and
@@ -1381,7 +1381,7 @@ function parseRecapResponse(raw) {
1381
1381
  return { summary: raw.trim() };
1382
1382
  }
1383
1383
  //#endregion
1384
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/log.js
1384
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/log.js
1385
1385
  /**
1386
1386
  * Error logger for the ported Ink core. Always writes to stderr (an Ink
1387
1387
  * renderer failure must never pass silently).
@@ -1392,7 +1392,7 @@ function logError(error) {
1392
1392
  process.stderr.write(`[ChatCode CLI TUI] ${text}\n`);
1393
1393
  }
1394
1394
  //#endregion
1395
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/update-overflow-guard.js
1395
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/update-overflow-guard.js
1396
1396
  /**
1397
1397
  * Self-healing guard for React's nested-update overflow — Minified React
1398
1398
  * error #185 ("Maximum update depth exceeded").
@@ -1535,7 +1535,7 @@ function installNestedUpdateOverflowProcessGuard() {
1535
1535
  });
1536
1536
  }
1537
1537
  //#endregion
1538
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/sessionColors.js
1538
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/sessionColors.js
1539
1539
  /**
1540
1540
  * Session accent colors for `/color` (CC's /color semantics): a small
1541
1541
  * named palette that overrides the prompt-input border (and its session
@@ -1576,7 +1576,7 @@ function sessionColorHex(name) {
1576
1576
  return isValidSessionColor(name) ? SESSION_COLORS[name] : void 0;
1577
1577
  }
1578
1578
  //#endregion
1579
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/deepseekPricing.js
1579
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/deepseekPricing.js
1580
1580
  /**
1581
1581
  * DeepSeek 官方定价与"本会话花费"估算(人民币口径)。
1582
1582
  *
@@ -1701,7 +1701,7 @@ function estimateSessionCostCny(tokens, model) {
1701
1701
  return estimateSessionCostSplitCny(tokens, model)?.total;
1702
1702
  }
1703
1703
  //#endregion
1704
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/i18n.js
1704
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/i18n.js
1705
1705
  /**
1706
1706
  * dsh-tui localization — UI strings for Chinese (`zh`, the default) and
1707
1707
  * English (`en`).
@@ -6489,7 +6489,7 @@ function resolveStartupLang(dir = PREFS_DIR$6, env = process.env) {
6489
6489
  return readLangPref(dir) ?? "zh";
6490
6490
  }
6491
6491
  //#endregion
6492
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/commands.js
6492
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/commands.js
6493
6493
  /**
6494
6494
  * Local slash commands for the dsh-tui TUI. Claude Code's command system is
6495
6495
  * deeply wired into its engine; dsh-tui ships a small built-in set with the
@@ -6946,7 +6946,7 @@ function matchingCompletionToken(candidate, prefix) {
6946
6946
  return candidate.aliases?.find((alias) => alias.toLowerCase().startsWith(prefix));
6947
6947
  }
6948
6948
  //#endregion
6949
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionHistory.js
6949
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionHistory.js
6950
6950
  /**
6951
6951
  * Launcher contract for `dsh-tui --resume`: the TUI writes the chosen session
6952
6952
  * id to `<CHATCODE_CLI_HOME>/tui/resume.txt`, and the launcher feeds it back as
@@ -7115,7 +7115,7 @@ function forgetAgentViewSession(sessionId) {
7115
7115
  } catch {}
7116
7116
  }
7117
7117
  //#endregion
7118
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionTags.js
7118
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionTags.js
7119
7119
  /**
7120
7120
  * One searchable local tag per persisted session.
7121
7121
  *
@@ -7265,7 +7265,7 @@ function forgetSessionTag(sessionId, dir = DATA_DIR) {
7265
7265
  return setSessionTag(sessionId, void 0, dir).ok;
7266
7266
  }
7267
7267
  //#endregion
7268
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/liveSession.js
7268
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/liveSession.js
7269
7269
  /**
7270
7270
  * Live Session compatibility facade.
7271
7271
  *
@@ -7427,7 +7427,7 @@ function liveSessionCreateOptions(request) {
7427
7427
  };
7428
7428
  }
7429
7429
  //#endregion
7430
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/sessionLog.js
7430
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/sessionLog.js
7431
7431
  /**
7432
7432
  * Legacy third-party session-event types the TUI vouches for as ephemeral
7433
7433
  * UI frames — safe for the strict read path to accept and skip. Exported
@@ -8141,7 +8141,7 @@ function deleteSessionLog(sessionId) {
8141
8141
  }
8142
8142
  }
8143
8143
  //#endregion
8144
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/sessionEvent.js
8144
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/sessionEvent.js
8145
8145
  /** Narrow an unknown/session event to the retired durable chunk envelope. */
8146
8146
  function legacyAssistantChunkOf(event) {
8147
8147
  if (event === null || typeof event !== "object") return void 0;
@@ -8155,7 +8155,7 @@ function legacyAssistantChunkOf(event) {
8155
8155
  return event;
8156
8156
  }
8157
8157
  //#endregion
8158
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compaction.js
8158
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compaction.js
8159
8159
  /**
8160
8160
  * Recognize both the current checkpoint source and the legacy plugin marker.
8161
8161
  * Harness session format v4 migrated `plugin/compact` to the dedicated
@@ -8166,7 +8166,7 @@ function isCompactionCheckpointSource(source) {
8166
8166
  return source.kind === "compact-checkpoint" || source.kind === "plugin" && source.plugin === "compact";
8167
8167
  }
8168
8168
  //#endregion
8169
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessionTree.js
8169
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessionTree.js
8170
8170
  const TREE_FILTERS = [
8171
8171
  "default",
8172
8172
  "no-tools",
@@ -10322,7 +10322,7 @@ var require_subset = /* @__PURE__ */ __commonJSMin(((exports, module) => {
10322
10322
  module.exports = subset;
10323
10323
  }));
10324
10324
  //#endregion
10325
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/shellQuote.js
10325
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/shellQuote.js
10326
10326
  var import_semver = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
10327
10327
  const internalRe = require_re();
10328
10328
  const constants = require_constants$1();
@@ -10415,7 +10415,7 @@ function cmdEscapeArgument(arg, doubleEscapeMetaChars = false) {
10415
10415
  return out;
10416
10416
  }
10417
10417
  //#endregion
10418
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/update.js
10418
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/update.js
10419
10419
  const PACKAGE_NAME = "@chatcode/cco-tui";
10420
10420
  const DEFAULT_REGISTRY = "https://registry.npmjs.org";
10421
10421
  const GITHUB_REPO = "ccch1mneyyy/dsh-TUI";
@@ -11766,7 +11766,7 @@ async function restartTui(sessionId, options = {}) {
11766
11766
  });
11767
11767
  }
11768
11768
  //#endregion
11769
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/header.js
11769
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/header.js
11770
11770
  /** A finite number, or undefined for anything else (NaN and ±Infinity included). */
11771
11771
  function finiteNumber(value) {
11772
11772
  return typeof value === "number" && Number.isFinite(value) ? value : void 0;
@@ -11840,7 +11840,7 @@ function classify(header) {
11840
11840
  return { kind: "root" };
11841
11841
  }
11842
11842
  //#endregion
11843
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/frames.js
11843
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/frames.js
11844
11844
  /**
11845
11845
  * Bounded reads over the JSONL backend's concatenated-Zstandard session logs.
11846
11846
  *
@@ -12086,7 +12086,7 @@ function decodeTail(window) {
12086
12086
  return decodeFrames(window.buffer, window.whole ? walkFrames(window.buffer) : resyncFrames(window.buffer));
12087
12087
  }
12088
12088
  //#endregion
12089
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/digest.js
12089
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/digest.js
12090
12090
  /**
12091
12091
  * What a bounded read can learn about a session log.
12092
12092
  *
@@ -12204,6 +12204,12 @@ function timeOf$1(line) {
12204
12204
  const time = line["time"];
12205
12205
  return typeof time === "number" && Number.isFinite(time) ? time : void 0;
12206
12206
  }
12207
+ /** Advance an observed event time without inventing a zero timestamp. */
12208
+ function laterTime(current, line) {
12209
+ const next = timeOf$1(line);
12210
+ if (next === void 0) return current;
12211
+ return current === void 0 ? next : Math.max(current, next);
12212
+ }
12207
12213
  /**
12208
12214
  * Read both windows of one session log.
12209
12215
  *
@@ -12226,10 +12232,13 @@ function digestSession(path, cwd) {
12226
12232
  const headLines = decodedHead.flatMap((lines) => lines ?? []);
12227
12233
  const headComplete = head.whole && headFrames.at(-1)?.end === head.buffer.length && decodedHead.every((lines) => lines !== void 0) && headLines.some((line) => line["type"] === "session");
12228
12234
  let prompt;
12235
+ let lastPromptAt;
12229
12236
  let headTitle;
12230
12237
  let label;
12231
12238
  for (const line of headLines) {
12232
- prompt ??= humanPrompt(line);
12239
+ const human = humanPrompt(line);
12240
+ prompt ??= human;
12241
+ if (human !== void 0) lastPromptAt = laterTime(lastPromptAt, line);
12233
12242
  headTitle ??= titleOf(line);
12234
12243
  label ??= labelOf(line);
12235
12244
  }
@@ -12240,6 +12249,7 @@ function digestSession(path, cwd) {
12240
12249
  let provider;
12241
12250
  let model;
12242
12251
  for (const line of tailLines) {
12252
+ if (humanPrompt(line) !== void 0) lastPromptAt = laterTime(lastPromptAt, line);
12243
12253
  const title = titleOf(line);
12244
12254
  if (title !== void 0) tailTitle = title;
12245
12255
  const route = modelOf(line);
@@ -12257,6 +12267,7 @@ function digestSession(path, cwd) {
12257
12267
  source: "fallback"
12258
12268
  },
12259
12269
  hasPrompt,
12270
+ ...lastPromptAt === void 0 ? {} : { lastPromptAt },
12260
12271
  provider,
12261
12272
  model,
12262
12273
  label,
@@ -12382,6 +12393,7 @@ async function recoverAppendedTitle(path, start, end, signal) {
12382
12393
  };
12383
12394
  }
12384
12395
  let latest;
12396
+ let lastPromptAt;
12385
12397
  try {
12386
12398
  let position = start;
12387
12399
  while (position < end) {
@@ -12389,27 +12401,34 @@ async function recoverAppendedTitle(path, start, end, signal) {
12389
12401
  const page = await forwardPage(handle, position, end, signal);
12390
12402
  if (page === void 0) return {
12391
12403
  title: latest,
12392
- complete: false
12404
+ complete: false,
12405
+ ...lastPromptAt === void 0 ? {} : { lastPromptAt }
12393
12406
  };
12394
12407
  for (const frame of page.frames) {
12395
12408
  const lines = decodeFrame(page.buffer, frame);
12396
12409
  if (lines === void 0) return {
12397
12410
  title: latest,
12398
- complete: false
12411
+ complete: false,
12412
+ ...lastPromptAt === void 0 ? {} : { lastPromptAt }
12399
12413
  };
12400
- for (const line of lines) latest = titleOf(line) ?? latest;
12414
+ for (const line of lines) {
12415
+ if (humanPrompt(line) !== void 0) lastPromptAt = laterTime(lastPromptAt, line);
12416
+ latest = titleOf(line) ?? latest;
12417
+ }
12401
12418
  }
12402
12419
  const consumed = page.frames[page.frames.length - 1].end;
12403
12420
  if (consumed <= 0) return {
12404
12421
  title: latest,
12405
- complete: false
12422
+ complete: false,
12423
+ ...lastPromptAt === void 0 ? {} : { lastPromptAt }
12406
12424
  };
12407
12425
  position += consumed;
12408
12426
  await scheduler.yield();
12409
12427
  }
12410
12428
  return {
12411
12429
  title: latest,
12412
- complete: true
12430
+ complete: true,
12431
+ ...lastPromptAt === void 0 ? {} : { lastPromptAt }
12413
12432
  };
12414
12433
  } finally {
12415
12434
  await handle.close().catch(() => {});
@@ -12550,7 +12569,7 @@ function previewSession(path, limit) {
12550
12569
  return entries.slice(-limit);
12551
12570
  }
12552
12571
  //#endregion
12553
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/artifact.js
12572
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/artifact.js
12554
12573
  /** Read-only artifact lookup for session summaries and previews. */
12555
12574
  /** Highest published compressed generation; temporary migration files are ignored. */
12556
12575
  function inDirectory(directory) {
@@ -12603,7 +12622,7 @@ function findSessionArtifact(sessionId, target) {
12603
12622
  }
12604
12623
  }
12605
12624
  //#endregion
12606
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/store.js
12625
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/store.js
12607
12626
  /**
12608
12627
  * The session index — a local cache keyed by the backend's own change token.
12609
12628
  *
@@ -12634,10 +12653,10 @@ function findSessionArtifact(sessionId, target) {
12634
12653
  * @module @chatcode/cco-tui/sessions/store
12635
12654
  */
12636
12655
  /**
12637
- * Version 4 re-derives v3 summaries: missing historical paths and incomplete
12638
- * reads could previously be cached as empty. Local branch notes survive.
12656
+ * Version 5 re-derives older summaries so activity time comes from the latest
12657
+ * human prompt rather than a rename-updated file mtime. Local branch notes survive.
12639
12658
  */
12640
- const SCHEMA_VERSION = 4;
12659
+ const SCHEMA_VERSION = 5;
12641
12660
  const INDEX_FILE = join(DATA_DIR, "session-index.json");
12642
12661
  /** A title source as written to disk, or undefined for anything unexpected. */
12643
12662
  function readTitleSource(value) {
@@ -12680,6 +12699,7 @@ function readEntry(value, trustDerived) {
12680
12699
  titleSource,
12681
12700
  titleComplete,
12682
12701
  hasPrompt: derived["hasPrompt"] === true,
12702
+ lastPromptAt: typeof derived["lastPromptAt"] === "number" && Number.isFinite(derived["lastPromptAt"]) ? derived["lastPromptAt"] : void 0,
12683
12703
  provider: typeof derived["provider"] === "string" ? derived["provider"] : void 0,
12684
12704
  model: typeof derived["model"] === "string" ? derived["model"] : void 0,
12685
12705
  label: typeof derived["label"] === "string" ? derived["label"] : void 0
@@ -12701,7 +12721,7 @@ function readIndex() {
12701
12721
  }
12702
12722
  if (parsed === null || typeof parsed !== "object") return index;
12703
12723
  const file = parsed;
12704
- if (file["version"] !== SCHEMA_VERSION && file["version"] !== 3) return index;
12724
+ if (file["version"] !== SCHEMA_VERSION && file["version"] !== 4 && file["version"] !== 3) return index;
12705
12725
  const entries = file["entries"];
12706
12726
  if (entries === null || typeof entries !== "object") return index;
12707
12727
  for (const [id, value] of Object.entries(entries)) {
@@ -12766,7 +12786,7 @@ function noteBranch(sessionId, branch) {
12766
12786
  writeIndex(index);
12767
12787
  }
12768
12788
  //#endregion
12769
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/list.js
12789
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/sessions/list.js
12770
12790
  /**
12771
12791
  * Building the session list.
12772
12792
  *
@@ -12789,6 +12809,11 @@ function noteBranch(sessionId, branch) {
12789
12809
  */
12790
12810
  /** Compressed bytes one listing may spend on full-log title recovery scans. */
12791
12811
  const TITLE_SCAN_BUDGET_BYTES = 16 * 1024 * 1024;
12812
+ /** Latest defined timestamp, preserving undefined when no source knows one. */
12813
+ function latestTime(...values) {
12814
+ const known = values.filter((value) => value !== void 0);
12815
+ return known.length === 0 ? void 0 : Math.max(...known);
12816
+ }
12792
12817
  /** Pull `{ header, revision }` out of one `listSnapshots()` element. */
12793
12818
  function readSnapshot(value) {
12794
12819
  if (value === null || typeof value !== "object") return void 0;
@@ -12892,6 +12917,7 @@ async function listSummaries(source, signal) {
12892
12917
  const digest = digestSession(path, header.cwd ?? "");
12893
12918
  let title = digest.title;
12894
12919
  let hasPrompt = digest.hasPrompt;
12920
+ let lastPromptAt = digest.lastPromptAt;
12895
12921
  let titleComplete = digest.titleComplete === true;
12896
12922
  const previous = cached?.derived;
12897
12923
  if (!titleComplete && previous !== void 0 && facts !== void 0 && previous.identity !== void 0 && previous.identity === facts.identity && previous.anchor !== void 0 && facts.bytes >= previous.bytes) {
@@ -12901,17 +12927,19 @@ async function listSummaries(source, signal) {
12901
12927
  text: previous.title,
12902
12928
  source: previous.titleSource
12903
12929
  };
12904
- hasPrompt = previous.hasPrompt;
12930
+ hasPrompt = hasPrompt || previous.hasPrompt;
12931
+ lastPromptAt = latestTime(lastPromptAt, previous.lastPromptAt);
12905
12932
  titleComplete = true;
12906
12933
  } else if (facts.bytes > previous.bytes) {
12907
12934
  const appended = await recoverAppendedTitle(path, previous.bytes, facts.bytes, signal);
12908
12935
  if (appended.title !== void 0) title = appended.title;
12936
+ lastPromptAt = latestTime(lastPromptAt, previous.lastPromptAt, appended.lastPromptAt);
12909
12937
  if (appended.complete && (appended.title !== void 0 || previous.titleComplete)) {
12910
12938
  if (appended.title === void 0) title = previous.title.length === 0 ? void 0 : {
12911
12939
  text: previous.title,
12912
12940
  source: previous.titleSource
12913
12941
  };
12914
- hasPrompt = previous.hasPrompt;
12942
+ hasPrompt = hasPrompt || previous.hasPrompt;
12915
12943
  titleComplete = true;
12916
12944
  }
12917
12945
  }
@@ -12926,6 +12954,7 @@ async function listSummaries(source, signal) {
12926
12954
  titleSource: title?.source ?? "fallback",
12927
12955
  titleComplete,
12928
12956
  hasPrompt,
12957
+ lastPromptAt,
12929
12958
  provider: digest.provider,
12930
12959
  model: digest.model,
12931
12960
  label: digest.label
@@ -13002,7 +13031,7 @@ async function listSummaries(source, signal) {
13002
13031
  },
13003
13032
  cwd: header.cwd ?? "",
13004
13033
  createdAt: header.createdAt ?? facts?.modifiedAt ?? 0,
13005
- updatedAt: Math.max(facts?.modifiedAt ?? 0, lastUsed[header.id] ?? 0, header.createdAt ?? 0),
13034
+ updatedAt: Math.max(derived?.lastPromptAt ?? (derived === void 0 ? facts?.modifiedAt ?? 0 : 0), lastUsed[header.id] ?? 0, header.createdAt ?? 0),
13006
13035
  bytes: facts?.bytes,
13007
13036
  hasPrompt: derived?.hasPrompt ?? true,
13008
13037
  agentPreset: header.agentPreset,
@@ -13038,7 +13067,7 @@ async function locateSession(source, sessionId, signal) {
13038
13067
  return match === void 0 ? void 0 : locate$1(source, match.raw, sessionId);
13039
13068
  }
13040
13069
  //#endregion
13041
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/agent-view.js
13070
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/agent-view.js
13042
13071
  /**
13043
13072
  * Agent view (CC `claude agents`) derivation helpers — pure functions over
13044
13073
  * session events that the channel folds into {@link AgentViewRow}s. Kept in
@@ -13268,7 +13297,7 @@ function featureOn(config, name) {
13268
13297
  return config.mode !== "minimal";
13269
13298
  }
13270
13299
  //#endregion
13271
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/activityPrefs.js
13300
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/activityPrefs.js
13272
13301
  /**
13273
13302
  * Persisted working-activity indicator preference, mirroring the pi
13274
13303
  * working-activity extension's `~/.pi/agent/working-activity.json`
@@ -13337,7 +13366,7 @@ function writeActivityFrames(name, dir = PREFS_DIR$5) {
13337
13366
  }
13338
13367
  }
13339
13368
  //#endregion
13340
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileSuggestions.js
13369
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileSuggestions.js
13341
13370
  const pathSeparators = /[\\/]/;
13342
13371
  function isPathLikeQuery(query) {
13343
13372
  return query.startsWith(".") || query.startsWith("~") || query.startsWith("/") || /^[A-Za-z]:[\\/]/.test(query) || pathSeparators.test(query);
@@ -13374,7 +13403,7 @@ function preserveSelection(previous, next, fallback = 0) {
13374
13403
  return next.length === 0 ? 0 : Math.min(Math.max(0, fallback), next.length - 1);
13375
13404
  }
13376
13405
  //#endregion
13377
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/effortPrefs.js
13406
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/effortPrefs.js
13378
13407
  /**
13379
13408
  * Persisted reasoning-effort preference (`~/.chatcode-cli/tui/effort.json`). Set via
13380
13409
  * `/effort` (slider or `/effort <id>`; `/effort status` reports the current
@@ -13416,7 +13445,7 @@ function writeEffortPref(effort, dir = PREFS_DIR$4) {
13416
13445
  }
13417
13446
  }
13418
13447
  //#endregion
13419
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelPrefs.js
13448
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelPrefs.js
13420
13449
  /**
13421
13450
  * Persisted model-route preference (`/model` picker choice), kept at
13422
13451
  * `~/.chatcode-cli/model.json` (`provider` + `model` keys) so CLI and Web share it
@@ -13499,7 +13528,7 @@ function writeModelPref(provider, model, dir = PREFS_DIR$3) {
13499
13528
  }
13500
13529
  }
13501
13530
  //#endregion
13502
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelRoute.js
13531
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/modelRoute.js
13503
13532
  /**
13504
13533
  * Model route resolution (issue #67). The `(provider, model)` pair is a
13505
13534
  * single value: every source either supplies the WHOLE route or is skipped,
@@ -13734,7 +13763,7 @@ function orderModelProviders(providers) {
13734
13763
  return [...providers].sort((left, right) => rank(left.id) - rank(right.id));
13735
13764
  }
13736
13765
  //#endregion
13737
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/customModelSettings.js
13766
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/customModelSettings.js
13738
13767
  /**
13739
13768
  * Read and update ChatCode CLI's user-defined model list in
13740
13769
  * `~/.chatcode-cli/settings.json` without exposing stored API keys to the UI.
@@ -13875,7 +13904,7 @@ function createCustomModelSettingsStore(path) {
13875
13904
  };
13876
13905
  }
13877
13906
  //#endregion
13878
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/customModelTest.js
13907
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/customModelTest.js
13879
13908
  /** Direct, one-shot generation used by `/model-config` before a model is registered. */
13880
13909
  function requestEndpoint(baseURL, api) {
13881
13910
  const url = new URL(baseURL);
@@ -13953,7 +13982,7 @@ async function testCustomModelConnection(request, fetchImpl = fetch) {
13953
13982
  }
13954
13983
  }
13955
13984
  //#endregion
13956
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/presetPrefs.js
13985
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/presetPrefs.js
13957
13986
  /**
13958
13987
  * Persisted agent-preset preference (`/preset` picker choice), kept at
13959
13988
  * `~/.chatcode-cli/tui/agent-preset.json` (`preset` key) so the choice survives
@@ -14012,7 +14041,7 @@ function migratePresetPref(requested, resolved, dir = PREFS_DIR$2) {
14012
14041
  return requested === void 0 || resolved === void 0 || requested === resolved ? true : writePresetPref(resolved, dir);
14013
14042
  }
14014
14043
  //#endregion
14015
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/persistedSession.js
14044
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/compat/persistedSession.js
14016
14045
  /** Undefined means the service exposes neither supported read API. */
14017
14046
  async function readPersistedSession(persistence, id) {
14018
14047
  if (persistence === null || typeof persistence !== "object") return void 0;
@@ -14032,7 +14061,7 @@ async function readPersistedSession(persistence, id) {
14032
14061
  if (typeof reader.load === "function") return reader.load(id);
14033
14062
  }
14034
14063
  //#endregion
14035
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-resolution.js
14064
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-resolution.js
14036
14065
  /**
14037
14066
  * Agent-preset resolution across upstream prerelease lines.
14038
14067
  *
@@ -14070,7 +14099,7 @@ async function resolveCompatiblePreset(presets, requested) {
14070
14099
  return presets.resolve(requested);
14071
14100
  }
14072
14101
  //#endregion
14073
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/presets.js
14102
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/presets.js
14074
14103
  /**
14075
14104
  * Agent-presets roster integration (issue #8): compose each session's
14076
14105
  * model-facing world (tools, prompt sections, projections) from one preset
@@ -14220,7 +14249,7 @@ function serviceForAgent(ctx, agent, key) {
14220
14249
  return ctx.get(key);
14221
14250
  }
14222
14251
  //#endregion
14223
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-management.js
14252
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/preset-management.js
14224
14253
  const failureReason = (error) => error instanceof Error ? error.message : String(error);
14225
14254
  /** Read a roster-resolved composition without bypassing preset ownership. */
14226
14255
  async function readPresetComposition(presets, presetId) {
@@ -14277,7 +14306,7 @@ async function removePresetComposition(presets, presetId) {
14277
14306
  }
14278
14307
  }
14279
14308
  //#endregion
14280
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/session-organization.js
14309
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/session-organization.js
14281
14310
  /** Adapter-only readers for optional Harness session-organization services. */
14282
14311
  const STAT_KEYS = [
14283
14312
  "turns",
@@ -14338,7 +14367,7 @@ function presetCompositionRows(content, limit = 80) {
14338
14367
  };
14339
14368
  }
14340
14369
  //#endregion
14341
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/debug.js
14370
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/debug.js
14342
14371
  /**
14343
14372
  * Debug logger for the ported Ink core. Writes to stderr only when
14344
14373
  * `CHATCODE_CLI_TUI_DEBUG` (or its legacy alias) is set, so normal runs stay quiet.
@@ -14368,7 +14397,7 @@ function logMouseDebug(message, fields) {
14368
14397
  } catch {}
14369
14398
  }
14370
14399
  //#endregion
14371
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/mentions.js
14400
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/mentions.js
14372
14401
  /**
14373
14402
  * `@` file-mention parsing (issue #15).
14374
14403
  *
@@ -14514,7 +14543,7 @@ function mentionAtCaret(value, cursor) {
14514
14543
  };
14515
14544
  }
14516
14545
  //#endregion
14517
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/commonUtilityCommands.js
14546
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/commonUtilityCommands.js
14518
14547
  /** Format only the files in the authoritative loaded-context projection. */
14519
14548
  function loadedFileLines(files, copy) {
14520
14549
  if (files === void 0) return [copy.unavailable];
@@ -14629,7 +14658,7 @@ function codeRatioLines(report, copy, maxAuthors = 20) {
14629
14658
  return lines;
14630
14659
  }
14631
14660
  //#endregion
14632
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themeCatalog.js
14661
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themeCatalog.js
14633
14662
  /**
14634
14663
  * Cordis-free theme catalog shared by future pickers, commands and hosts.
14635
14664
  *
@@ -14710,7 +14739,7 @@ function listThemeCatalog(host) {
14710
14739
  return Object.freeze(entries);
14711
14740
  }
14712
14741
  //#endregion
14713
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionModes.js
14742
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionModes.js
14714
14743
  /**
14715
14744
  * Configurable Shift+Tab session modes (the `modes` dsh-tui plugin config):
14716
14745
  * each mode is a named bundle of optional DSH plane switches — plan mode
@@ -14774,7 +14803,7 @@ function modeDisplayName(spec) {
14774
14803
  return spec.id;
14775
14804
  }
14776
14805
  //#endregion
14777
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/subagents.js
14806
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/subagents.js
14778
14807
  /** Unified subagent activity domain model used by the adapter and every view. */
14779
14808
  const MAX_OUTPUT_EVENTS = 160;
14780
14809
  const MAX_OUTPUT_LINES = 160;
@@ -15152,7 +15181,7 @@ function formatJobDuration(job, now = Date.now()) {
15152
15181
  return `${Math.floor(minutes / 60)}h${String(minutes % 60).padStart(2, "0")}m`;
15153
15182
  }
15154
15183
  //#endregion
15155
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/minimalMode.js
15184
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/minimalMode.js
15156
15185
  /**
15157
15186
  * Minimal mode: one process-wide flag gating decorative UI (header splash,
15158
15187
  * emoji status glyphs, non-tool text colors, status-bar extras). The flag is
@@ -15171,7 +15200,7 @@ function setMinimalMode(enabled) {
15171
15200
  minimal = enabled;
15172
15201
  }
15173
15202
  //#endregion
15174
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/workspace.js
15203
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/workspace.js
15175
15204
  /**
15176
15205
  * Find or create the Workspace for `cwd`, then durably account `sessionId`.
15177
15206
  *
@@ -15187,7 +15216,7 @@ async function attachSessionToWorkspace(ctx, cwd, sessionId) {
15187
15216
  return true;
15188
15217
  }
15189
15218
  //#endregion
15190
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/contract.js
15219
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/contract.js
15191
15220
  /**
15192
15221
  * Upstream compatibility contract.
15193
15222
  *
@@ -15616,7 +15645,7 @@ function pluginsInfoLines(args, deps) {
15616
15645
  return lines;
15617
15646
  }
15618
15647
  //#endregion
15619
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/mcp-status.js
15648
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/mcp-status.js
15620
15649
  /** Loader and tool-registry projection used by the TUI's `/mcp` report. */
15621
15650
  const MCP_CLIENT_PACKAGE = "@deepseek-ai/dsh-mcp-client";
15622
15651
  const FIBER_ACTIVE = 2;
@@ -15669,7 +15698,7 @@ function collectMcpServerStatus(schemas, entries) {
15669
15698
  }));
15670
15699
  }
15671
15700
  //#endregion
15672
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/format.js
15701
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/format.js
15673
15702
  /**
15674
15703
  * Number, token-count, and duration formatters shared by the status line
15675
15704
  * and message rows.
@@ -15732,7 +15761,7 @@ function formatDuration$4(durationMs, options = {}) {
15732
15761
  return parts.join(" ");
15733
15762
  }
15734
15763
  //#endregion
15735
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/contextUsage.js
15764
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/contextUsage.js
15736
15765
  /**
15737
15766
  * Return the current context occupancy. The latest request is authoritative:
15738
15767
  * its uncached input and cache read/write tokens are all part of that request's
@@ -16116,7 +16145,7 @@ function prepareMemoryTargetFile(requested, candidates, cwd, dshHome) {
16116
16145
  }
16117
16146
  }
16118
16147
  //#endregion
16119
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/channel.js
16148
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/channel.js
16120
16149
  /** Return the step left open by a tree fork cut within one turn. */
16121
16150
  function openStepAtForkCut(events, turn) {
16122
16151
  for (let i = events.length - 1; i >= 0; i--) {
@@ -18696,7 +18725,7 @@ function createChannel(ctx, initialAgent, options) {
18696
18725
  const location = locate.call(persistence, entry.raw);
18697
18726
  if (location !== null && typeof location === "object") {
18698
18727
  const record = location;
18699
- if (record.kind === "jsonl" && typeof record.path === "string") locatedPath = record.path;
18728
+ if (record.kind === "jsonl" && typeof record.path === "string") locatedPath = findSessionArtifact(id, record.path);
18700
18729
  }
18701
18730
  } catch {}
18702
18731
  let inheritedCut = parentId === void 0 ? void 0 : readInheritedCut(entry?.raw);
@@ -22566,7 +22595,7 @@ async function expandMentions(fs, cwd, text, attachments, stagedImages) {
22566
22595
  };
22567
22596
  }
22568
22597
  //#endregion
22569
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/childStderr.js
22598
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/childStderr.js
22570
22599
  /**
22571
22600
  * Child-process stderr guard (issue #17).
22572
22601
  *
@@ -22735,7 +22764,7 @@ function createChildStderrReporter(notify, options = {}) {
22735
22764
  };
22736
22765
  }
22737
22766
  //#endregion
22738
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions.js
22767
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions.js
22739
22768
  /**
22740
22769
  * Ask-user-question store — the UI-side half of the DSH user-interaction
22741
22770
  * seam (`ctx.userQuestions`). The harness's model-facing
@@ -22975,7 +23004,7 @@ var QuestionStore = class {
22975
23004
  }
22976
23005
  };
22977
23006
  //#endregion
22978
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerGuard.js
23007
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerGuard.js
22979
23008
  /**
22980
23009
  * Question-provider seat guard (issue #98 security follow-up).
22981
23010
  *
@@ -23087,7 +23116,7 @@ function incumbentQuestionProviderId(service) {
23087
23116
  } catch {}
23088
23117
  }
23089
23118
  //#endregion
23090
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions-answerer.js
23119
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/questions-answerer.js
23091
23120
  /**
23092
23121
  * User-question answerer compatibility.
23093
23122
  *
@@ -23146,7 +23175,7 @@ function prepareQuestionAnswerer(ctx, service, answerer) {
23146
23175
  }
23147
23176
  }
23148
23177
  //#endregion
23149
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/approvals.js
23178
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/approvals.js
23150
23179
  /**
23151
23180
  * Approval store — the UI-side answerer half of the DSH approval seam
23152
23181
  * (`ctx.approval`). The harness's permission layer asks
@@ -23540,7 +23569,7 @@ var ApprovalStore = class {
23540
23569
  }
23541
23570
  };
23542
23571
  //#endregion
23543
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/promptDebug.js
23572
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/promptDebug.js
23544
23573
  /**
23545
23574
  * On-demand capture of every final AgentLoop request context observed for a
23546
23575
  * live session.
@@ -23686,7 +23715,7 @@ function registerPromptDebug(ctx) {
23686
23715
  }));
23687
23716
  }
23688
23717
  //#endregion
23689
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/migrationPrefs.js
23718
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/migrationPrefs.js
23690
23719
  /**
23691
23720
  * One-time local migrations (`~/.chatcode-cli/tui/migrations.json`), keyed by stable
23692
23721
  * migration id → ISO timestamp. Named keys (not a bare flag) so later
@@ -23777,7 +23806,7 @@ async function commitFullscreenFactoryMigration(plan, options) {
23777
23806
  } catch {}
23778
23807
  }
23779
23808
  //#endregion
23780
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/retired-packaged-presets.js
23809
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/retired-packaged-presets.js
23781
23810
  const OWNER = "@chatcode/cco-tui";
23782
23811
  const MARKER = ".dsh-tui-managed.json";
23783
23812
  const RETIRED_PACKAGED_PRESETS = ["liangshen"];
@@ -23819,7 +23848,7 @@ function cleanupRetiredPackagedPresets(options = {}) {
23819
23848
  return results;
23820
23849
  }
23821
23850
  //#endregion
23822
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workspaceRoot.js
23851
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workspaceRoot.js
23823
23852
  /** Resolve a fresh session's working directory without widening it to a Git ancestor. */
23824
23853
  /**
23825
23854
  * Explicit configuration wins; otherwise keep the invoking directory, even
@@ -23832,7 +23861,7 @@ function resolveSessionCwd(configured, start = process.cwd()) {
23832
23861
  return resolve(start, configured ?? "");
23833
23862
  }
23834
23863
  //#endregion
23835
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/openExternal.js
23864
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/openExternal.js
23836
23865
  /**
23837
23866
  * Open URLs, files and folders with the platform's default handler, fully
23838
23867
  * detached from the TUI process (fire-and-forget: no stdio pipes, no wait,
@@ -23993,13 +24022,13 @@ function revealInFileManager(filePath) {
23993
24022
  if (existsSync(dir)) openExternal(dir);
23994
24023
  }
23995
24024
  //#endregion
23996
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeApi.js
24025
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeApi.js
23997
24026
  /** ChatCode API request capability. Credentials stay in the host adapter. */
23998
24027
  const CHATCODE_API_BASE_URL = "https://chatcode.chinaunicom.cn";
23999
24028
  /** Each mounted TUI receives its own host-authorized request function. */
24000
24029
  const ChatCodeApiContext = (0, import_react.createContext)(void 0);
24001
24030
  //#endregion
24002
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/releaseNotes.js
24031
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/releaseNotes.js
24003
24032
  const RELEASE_NOTE_PATH = join(DATA_DIR, "release-notes.json");
24004
24033
  const RELEASE_NOTE_ENDPOINT = `${CHATCODE_API_BASE_URL}/chatcode/api/v1/cli/version/release-note`;
24005
24034
  function acknowledgedVersion() {
@@ -24095,7 +24124,7 @@ var ReleaseNotesStore = class {
24095
24124
  }
24096
24125
  };
24097
24126
  //#endregion
24098
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/version.js
24127
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/version.js
24099
24128
  const MAIN_CLI_PACKAGES = new Set(["@chatcode/chatcode-cli", "@chatcode/chatcode-cli-test"]);
24100
24129
  const VERSION_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u;
24101
24130
  const PRODUCT_VERSION_ENV = "CHATCODE_CLI_PRODUCT_VERSION";
@@ -24135,7 +24164,7 @@ function resolveProductVersion(options = {}) {
24135
24164
  /** Product version shown by the TUI, shared with `cco --version` and Web. */
24136
24165
  const PRODUCT_VERSION = resolveProductVersion();
24137
24166
  //#endregion
24138
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/execFileNoThrow.js
24167
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/execFileNoThrow.js
24139
24168
  const MAX_CAPTURE_BYTES = 64 * 1024;
24140
24169
  function appendBounded(chunks, chunk, total) {
24141
24170
  if (total.value >= MAX_CAPTURE_BYTES) return;
@@ -24205,7 +24234,7 @@ function execFileNoThrow(file, args = [], options) {
24205
24234
  });
24206
24235
  }
24207
24236
  //#endregion
24208
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/herdr.js
24237
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/herdr.js
24209
24238
  const REPORT_TIMEOUT_MS = 2e3;
24210
24239
  const RELEASE_TIMEOUT_MS = 500;
24211
24240
  const RETRY_DELAYS_MS = [
@@ -24593,7 +24622,7 @@ var require_react_jsx_runtime_development = /* @__PURE__ */ __commonJSMin(((expo
24593
24622
  })();
24594
24623
  }));
24595
24624
  //#endregion
24596
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themePrefs.js
24625
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/themePrefs.js
24597
24626
  var import_jsx_runtime = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
24598
24627
  if (process.env.NODE_ENV === "production") module.exports = require_react_jsx_runtime_production();
24599
24628
  else module.exports = require_react_jsx_runtime_development();
@@ -24650,7 +24679,7 @@ function writeThemePref(name, dir = PREFS_DIR) {
24650
24679
  }
24651
24680
  }
24652
24681
  //#endregion
24653
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRuntimeThemeSnapshot.js
24682
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRuntimeThemeSnapshot.js
24654
24683
  const EMPTY_THEME_SNAPSHOT = Object.freeze([]);
24655
24684
  const subscribeNoThemes = (_listener) => () => {};
24656
24685
  /**
@@ -24678,7 +24707,7 @@ function useRuntimeThemeSnapshot(themeHost) {
24678
24707
  return import_react.useSyncExternalStore(subscribeThemes, getThemeSnapshot, getThemeSnapshot);
24679
24708
  }
24680
24709
  //#endregion
24681
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event.js
24710
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event.js
24682
24711
  /**
24683
24712
  * Base class for events with immediate-propagation control.
24684
24713
  *
@@ -24702,7 +24731,7 @@ var Event = class {
24702
24731
  }
24703
24732
  };
24704
24733
  //#endregion
24705
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/emitter.js
24734
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/emitter.js
24706
24735
  /**
24707
24736
  * Node-compatible event emitter that is aware of the `Event` class, so
24708
24737
  * `emit` respects `stopImmediatePropagation()` on dispatched events.
@@ -24735,7 +24764,7 @@ var EventEmitter$1 = class extends EventEmitter {
24735
24764
  }
24736
24765
  };
24737
24766
  //#endregion
24738
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/StdinContext.js
24767
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/StdinContext.js
24739
24768
  /**
24740
24769
  * `StdinContext` is a React context, which exposes input stream.
24741
24770
  */
@@ -24749,14 +24778,14 @@ const StdinContext = (0, import_react.createContext)({
24749
24778
  });
24750
24779
  StdinContext.displayName = "InternalStdinContext";
24751
24780
  //#endregion
24752
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-stdin.js
24781
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-stdin.js
24753
24782
  /**
24754
24783
  * React hook exposing the stdin stream and raw-mode helpers from `StdinContext`.
24755
24784
  * @returns the `StdinContext` value.
24756
24785
  */
24757
24786
  const useStdin = () => (0, import_react.useContext)(StdinContext);
24758
24787
  //#endregion
24759
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/ansi.js
24788
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/ansi.js
24760
24789
  /**
24761
24790
  * ANSI Control Characters and Escape Sequence Introducers
24762
24791
  *
@@ -24830,7 +24859,7 @@ function isEscFinal(byte) {
24830
24859
  return byte >= 48 && byte <= 126;
24831
24860
  }
24832
24861
  //#endregion
24833
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/csi.js
24862
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/csi.js
24834
24863
  /**
24835
24864
  * CSI (Control Sequence Introducer) Types
24836
24865
  *
@@ -25146,7 +25175,7 @@ const ENABLE_WIN32_INPUT_MODE = csi("?9001h");
25146
25175
  */
25147
25176
  const DISABLE_WIN32_INPUT_MODE = csi("?9001l");
25148
25177
  //#endregion
25149
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/env.js
25178
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/env.js
25150
25179
  /**
25151
25180
  * Minimal terminal-environment shim for the ported Ink core. The original
25152
25181
  * module computed a richer `env` object from the Claude Code app context; the
@@ -25155,7 +25184,7 @@ const DISABLE_WIN32_INPUT_MODE = csi("?9001l");
25155
25184
  */
25156
25185
  const env$1 = { terminal: (process.env.TERM_PROGRAM ?? process.env.TERM ?? "unknown").toLowerCase() };
25157
25186
  //#endregion
25158
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/osc.js
25187
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/osc.js
25159
25188
  /**
25160
25189
  * OSC (Operating System Command) Types and Parser
25161
25190
  */
@@ -25551,7 +25580,7 @@ function supportsTabStatus() {
25551
25580
  return process.env.USER_TYPE === "ant";
25552
25581
  }
25553
25582
  //#endregion
25554
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-querier.js
25583
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-querier.js
25555
25584
  /**
25556
25585
  * Query the terminal and await responses without timeouts.
25557
25586
  *
@@ -25737,7 +25766,7 @@ var TerminalQuerier = class {
25737
25766
  }
25738
25767
  };
25739
25768
  //#endregion
25740
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemeProvider.js
25769
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemeProvider.js
25741
25770
  /**
25742
25771
  * Theme provider with terminal-background auto-detection. With no explicit
25743
25772
  * `theme` prop, no CHATCODE_CLI_TUI_THEME override and no persisted choice
@@ -25936,7 +25965,7 @@ function useTheme() {
25936
25965
  return [theme, setTheme];
25937
25966
  }
25938
25967
  //#endregion
25939
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/settingsEditor.js
25968
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/settingsEditor.js
25940
25969
  /**
25941
25970
  * React-free form model behind the `/settings` screen (issue #165), mirroring
25942
25971
  * the web front door's card-form.ts semantics: a section stages what the user
@@ -26180,7 +26209,7 @@ var SettingsForm = class {
26180
26209
  }
26181
26210
  };
26182
26211
  //#endregion
26183
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/reload.js
26212
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/reload.js
26184
26213
  /**
26185
26214
  * `/reload` planning — the pi-style soft reload: re-read the TUI's persisted
26186
26215
  * preference files (`~/.chatcode-cli/tui/{theme,lang,agent-preset,model,
@@ -27029,7 +27058,7 @@ var SignalExit = class extends SignalExitBase {
27029
27058
  const process$2 = globalThis.process;
27030
27059
  const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
27031
27060
  //#endregion
27032
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/enums.js
27061
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/enums.js
27033
27062
  /**
27034
27063
  * Yoga enums — ported from yoga-layout/src/generated/YGEnums.ts
27035
27064
  * Kept as `const` objects (not TS enums) per repo convention.
@@ -27161,7 +27190,7 @@ const Wrap = {
27161
27190
  WrapReverse: 2
27162
27191
  };
27163
27192
  //#endregion
27164
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/index.js
27193
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/native-ts/yoga-layout/index.js
27165
27194
  /**
27166
27195
  * Pure-TypeScript port of yoga-layout (Meta's flexbox engine).
27167
27196
  *
@@ -29612,7 +29641,7 @@ Object.defineProperties(createChalk.prototype, {
29612
29641
  const chalk = createChalk();
29613
29642
  createChalk({ level: stderrColor ? stderrColor.level : 0 });
29614
29643
  //#endregion
29615
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/colorize.js
29644
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/colorize.js
29616
29645
  /**
29617
29646
  * xterm.js (VS Code, Cursor, code-server, Coder) has supported truecolor
29618
29647
  * since 2017, but code-server/Coder containers often don't set
@@ -29743,7 +29772,7 @@ function applyColor(text, color) {
29743
29772
  return colorize(text, color, "foreground");
29744
29773
  }
29745
29774
  //#endregion
29746
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/envUtils.js
29775
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/envUtils.js
29747
29776
  /**
29748
29777
  * Environment truthiness check for the ported Ink core. Accepts the common
29749
29778
  * shell truthy spellings (`1`, `true`, `yes`, `on`).
@@ -29761,7 +29790,7 @@ function isEnvTruthy(value) {
29761
29790
  ].includes(value.toLowerCase());
29762
29791
  }
29763
29792
  //#endregion
29764
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fullscreen.js
29793
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fullscreen.js
29765
29794
  /**
29766
29795
  * Whether mouse click handling is disabled for the ported Ink core. dsh-tui
29767
29796
  * reads its own env flag (`CHATCODE_CLI_TUI_DISABLE_MOUSE`); the original module
@@ -29772,7 +29801,7 @@ function isMouseClicksDisabled() {
29772
29801
  return isEnvTruthy(readTuiEnv("DISABLE_MOUSE"));
29773
29802
  }
29774
29803
  //#endregion
29775
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/input-suppression.js
29804
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/input-suppression.js
29776
29805
  /**
29777
29806
  * Input suppression window for terminal handoffs (issue #123): when stdin is
29778
29807
  * handed to an external TUI (full-screen editor) and back, the tty can
@@ -29799,7 +29828,7 @@ function isInputSuppressed() {
29799
29828
  return Date.now() < suppressedUntil;
29800
29829
  }
29801
29830
  //#endregion
29802
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/tokenize.js
29831
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/tokenize.js
29803
29832
  /**
29804
29833
  * Input Tokenizer - Escape sequence boundary detection
29805
29834
  *
@@ -29997,7 +30026,7 @@ function tokenize$2(input, initialState, initialBuffer, flush, x10Mouse, splitIn
29997
30026
  };
29998
30027
  }
29999
30028
  //#endregion
30000
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/parse-keypress.js
30029
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/parse-keypress.js
30001
30030
  /**
30002
30031
  * Keyboard input parser - converts terminal input to key events
30003
30032
  *
@@ -31061,7 +31090,7 @@ function createWheelKey(s, name, col, row, button) {
31061
31090
  };
31062
31091
  }
31063
31092
  //#endregion
31064
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/input-event.js
31093
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/input-event.js
31065
31094
  function parseKey(keypress) {
31066
31095
  const key = {
31067
31096
  upArrow: keypress.name === "up",
@@ -31146,7 +31175,7 @@ var InputEvent = class extends Event {
31146
31175
  }
31147
31176
  };
31148
31177
  //#endregion
31149
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-focus-event.js
31178
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-focus-event.js
31150
31179
  /**
31151
31180
  * Event fired when the terminal window gains or loses focus.
31152
31181
  *
@@ -31165,7 +31194,7 @@ var TerminalFocusEvent = class extends Event {
31165
31194
  }
31166
31195
  };
31167
31196
  //#endregion
31168
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/node-cache.js
31197
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/node-cache.js
31169
31198
  /** Layout bounds cached per rendered node, used for blitting and clearing. */
31170
31199
  const nodeCache = /* @__PURE__ */ new WeakMap();
31171
31200
  /** Rects of removed children that need clearing on next render */
@@ -31203,7 +31232,7 @@ function consumeAbsoluteRemovedFlag() {
31203
31232
  return had;
31204
31233
  }
31205
31234
  //#endregion
31206
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-event.js
31235
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/terminal-event.js
31207
31236
  /**
31208
31237
  * Base class for all terminal events with DOM-style propagation.
31209
31238
  *
@@ -31332,7 +31361,7 @@ var TerminalEvent = class extends Event {
31332
31361
  _prepareForTarget(_target) {}
31333
31362
  };
31334
31363
  //#endregion
31335
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/pointer-event.js
31364
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/pointer-event.js
31336
31365
  /**
31337
31366
  * Base class for pointer-derived terminal events (click, wheel, hover).
31338
31367
  *
@@ -31393,7 +31422,7 @@ var PointerEvent = class extends TerminalEvent {
31393
31422
  }
31394
31423
  };
31395
31424
  //#endregion
31396
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/drag-event.js
31425
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/drag-event.js
31397
31426
  /**
31398
31427
  * Component-level drag event (DOM HTML5 drag semantics subset).
31399
31428
  *
@@ -47501,7 +47530,7 @@ var require_react_reconciler_development = /* @__PURE__ */ __commonJSMin(((expor
47501
47530
  }, module.exports.default = module.exports, Object.defineProperty(module.exports, "__esModule", { value: !0 }));
47502
47531
  }));
47503
47532
  //#endregion
47504
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/node.js
47533
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/node.js
47505
47534
  var import_react_reconciler = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
47506
47535
  if (process.env.NODE_ENV === "production") module.exports = require_react_reconciler_production();
47507
47536
  else module.exports = require_react_reconciler_development();
@@ -47577,7 +47606,7 @@ const LayoutMeasureMode = {
47577
47606
  AtMost: "at-most"
47578
47607
  };
47579
47608
  //#endregion
47580
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/yoga.js
47609
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/yoga.js
47581
47610
  const EDGE_MAP = {
47582
47611
  all: Edge.All,
47583
47612
  horizontal: Edge.Horizontal,
@@ -47804,7 +47833,7 @@ function createYogaLayoutNode() {
47804
47833
  return new YogaLayoutNode(YOGA_INSTANCE.Node.create());
47805
47834
  }
47806
47835
  //#endregion
47807
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/engine.js
47836
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/engine.js
47808
47837
  /**
47809
47838
  * Create a new layout node backed by the Yoga adapter.
47810
47839
  * @returns an empty layout node with no children, styles, or measure function.
@@ -47813,7 +47842,7 @@ function createLayoutNode() {
47813
47842
  return createYogaLayoutNode();
47814
47843
  }
47815
47844
  //#endregion
47816
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/line-width-cache.js
47845
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/line-width-cache.js
47817
47846
  const cache = /* @__PURE__ */ new Map();
47818
47847
  const MAX_CACHE_SIZE = 4096;
47819
47848
  const MAX_CACHE_CHARS = 1e5;
@@ -47849,7 +47878,7 @@ function lineWidth(line) {
47849
47878
  return width;
47850
47879
  }
47851
47880
  //#endregion
47852
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-text.js
47881
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-text.js
47853
47882
  /**
47854
47883
  * Measure wrapped text dimensions in a single pass.
47855
47884
  * @param text - the text to measure.
@@ -47880,7 +47909,7 @@ function measureText(text, maxWidth) {
47880
47909
  };
47881
47910
  }
47882
47911
  //#endregion
47883
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/squash-text-nodes.js
47912
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/squash-text-nodes.js
47884
47913
  /**
47885
47914
  * Squash text nodes into styled segments, propagating styles down through the tree.
47886
47915
  * This allows structured styling without relying on ANSI string transforms.
@@ -47928,7 +47957,7 @@ function squashTextNodes(node) {
47928
47957
  return text;
47929
47958
  }
47930
47959
  //#endregion
47931
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/tabstops.js
47960
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/tabstops.js
47932
47961
  const DEFAULT_TAB_INTERVAL = 8;
47933
47962
  /**
47934
47963
  * Expand tab characters to spaces at fixed column intervals, preserving
@@ -48378,7 +48407,7 @@ function tokenize$1(str, endChar = Number.POSITIVE_INFINITY) {
48378
48407
  return ret;
48379
48408
  }
48380
48409
  //#endregion
48381
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sliceAnsi.js
48410
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sliceAnsi.js
48382
48411
  function isEndCode(code) {
48383
48412
  return code.code === code.endCode;
48384
48413
  }
@@ -48995,7 +49024,7 @@ function wrapAnsi$1(string, columns, options) {
48995
49024
  return normalizeText(String(string)).replaceAll("\r\n", "\n").split("\n").map((line) => exec(expandTabs$1(line), columns, options)).join("\n");
48996
49025
  }
48997
49026
  //#endregion
48998
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrapAnsi.js
49027
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrapAnsi.js
48999
49028
  const wrapAnsiBun = typeof Bun !== "undefined" && typeof Bun.wrapAnsi === "function" ? Bun.wrapAnsi : null;
49000
49029
  const SLOT_MIN_LENGTH = 2048;
49001
49030
  let slot = null;
@@ -49042,7 +49071,7 @@ function wrapAnsiNpmIncremental(input, columns, options) {
49042
49071
  */
49043
49072
  const wrapAnsi = wrapAnsiBun ?? wrapAnsiNpmIncremental;
49044
49073
  //#endregion
49045
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrap-text.js
49074
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/wrap-text.js
49046
49075
  const ELLIPSIS = "…";
49047
49076
  const WRAP_CACHE_MAX_ENTRIES = 2048;
49048
49077
  const WRAP_CACHE_MAX_CHARS = 2e6;
@@ -49106,7 +49135,7 @@ function wrapText$1(text, maxWidth, wrapType) {
49106
49135
  return text;
49107
49136
  }
49108
49137
  //#endregion
49109
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/dom.js
49138
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/dom.js
49110
49139
  /**
49111
49140
  * Create an element node of the given kind, allocating its yoga layout node
49112
49141
  * unless the kind renders without layout (`ink-virtual-text`, `ink-link`,
@@ -49426,7 +49455,7 @@ function findOwnerChainAtRow(root, y) {
49426
49455
  }
49427
49456
  }
49428
49457
  //#endregion
49429
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event-handlers.js
49458
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/event-handlers.js
49430
49459
  /**
49431
49460
  * Reverse lookup: event type string → handler prop names.
49432
49461
  * Used by the dispatcher for O(1) handler lookup per node.
@@ -49480,7 +49509,7 @@ const EVENT_HANDLER_PROPS = new Set([
49480
49509
  "onWheel"
49481
49510
  ]);
49482
49511
  //#endregion
49483
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/dispatcher.js
49512
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/dispatcher.js
49484
49513
  function getHandler(node, eventType, capture) {
49485
49514
  const handlers = node._eventHandlers;
49486
49515
  if (!handlers) return void 0;
@@ -49648,7 +49677,7 @@ var Dispatcher = class {
49648
49677
  }
49649
49678
  };
49650
49679
  //#endregion
49651
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/focus-event.js
49680
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/focus-event.js
49652
49681
  /**
49653
49682
  * Focus event for component focus changes.
49654
49683
  *
@@ -49673,7 +49702,7 @@ var FocusEvent = class extends TerminalEvent {
49673
49702
  }
49674
49703
  };
49675
49704
  //#endregion
49676
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/focus.js
49705
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/focus.js
49677
49706
  const MAX_FOCUS_STACK = 32;
49678
49707
  /**
49679
49708
  * DOM-like focus manager for the Ink terminal UI.
@@ -49829,7 +49858,7 @@ function getFocusManager(node) {
49829
49858
  return getRootNode(node).focusManager;
49830
49859
  }
49831
49860
  //#endregion
49832
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/styles.js
49861
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/styles.js
49833
49862
  const applyPositionStyles = (node, style) => {
49834
49863
  if ("position" in style) node.setPositionType(style.position === "absolute" ? LayoutPositionType.Absolute : LayoutPositionType.Relative);
49835
49864
  if ("top" in style) applyPositionEdge(node, "top", style.top);
@@ -49964,7 +49993,7 @@ const styles = (node, style = {}, resolvedStyle) => {
49964
49993
  applyGapStyles(node, style);
49965
49994
  };
49966
49995
  //#endregion
49967
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/reconciler.js
49996
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/reconciler.js
49968
49997
  if (process.env.NODE_ENV === "development") try {
49969
49998
  import("./devtools-la_KkjCS.js");
49970
49999
  } catch (error) {
@@ -50284,7 +50313,7 @@ const reconciler = (0, import_react_reconciler.default)({
50284
50313
  });
50285
50314
  dispatcher.discreteUpdates = reconciler.discreteUpdates.bind(reconciler);
50286
50315
  //#endregion
50287
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/geometry.js
50316
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/layout/geometry.js
50288
50317
  /**
50289
50318
  * Compute the smallest rectangle containing both input rectangles.
50290
50319
  * @param a - the first rectangle.
@@ -50316,7 +50345,7 @@ function clamp(value, min, max) {
50316
50345
  return value;
50317
50346
  }
50318
50347
  //#endregion
50319
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/warn.js
50348
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/warn.js
50320
50349
  /**
50321
50350
  * Log a warning when a value is present but not an integer.
50322
50351
  * @param value - the value to check; undefined is skipped silently.
@@ -50328,7 +50357,7 @@ function ifNotInteger(value, name) {
50328
50357
  logForDebugging(`${name} should be an integer, got ${value}`, { level: "warn" });
50329
50358
  }
50330
50359
  //#endregion
50331
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/screen.js
50360
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/screen.js
50332
50361
  /**
50333
50362
  * Pool of character strings shared across all screens.
50334
50363
  * With a shared pool, interned char IDs are valid across screens, so
@@ -51397,7 +51426,7 @@ function markNoSelectRegion(screen, x, y, width, height) {
51397
51426
  }
51398
51427
  }
51399
51428
  //#endregion
51400
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/selection.js
51429
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/selection.js
51401
51430
  /**
51402
51431
  * Text selection state for fullscreen mode.
51403
51432
  *
@@ -52363,7 +52392,7 @@ function applySelectionOverlay(screen, selection, stylePool) {
52363
52392
  }
52364
52393
  }
52365
52394
  //#endregion
52366
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/dec.js
52395
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/dec.js
52367
52396
  /**
52368
52397
  * DEC (Digital Equipment Corporation) Private Mode Sequences
52369
52398
  *
@@ -52429,7 +52458,7 @@ const ENABLE_MOUSE_TRACKING = decset(DEC.MOUSE_NORMAL) + decset(DEC.MOUSE_BUTTON
52429
52458
  /** Disable all mouse tracking modes enabled by ENABLE_MOUSE_TRACKING. */
52430
52459
  const DISABLE_MOUSE_TRACKING = decreset(DEC.MOUSE_SGR) + decreset(DEC.MOUSE_ANY) + decreset(DEC.MOUSE_BUTTON) + decreset(DEC.MOUSE_NORMAL);
52431
52460
  //#endregion
52432
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal.js
52461
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal.js
52433
52462
  /**
52434
52463
  * True when running inside a JetBrains IDE terminal (JediTerm). The IDE
52435
52464
  * injects `TERMINAL_EMULATOR=JetBrains-JediTerm` into the pty environment of
@@ -52671,7 +52700,7 @@ function writeDiffToTerminal(terminal, diff, skipSyncMarkers = false) {
52671
52700
  terminal.stdout.write(buffer);
52672
52701
  }
52673
52702
  //#endregion
52674
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-focus-state.js
52703
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/terminal-focus-state.js
52675
52704
  let focusState = "unknown";
52676
52705
  const resolvers = /* @__PURE__ */ new Set();
52677
52706
  const subscribers = /* @__PURE__ */ new Set();
@@ -52715,7 +52744,7 @@ function subscribeTerminalFocus(cb) {
52715
52744
  };
52716
52745
  }
52717
52746
  //#endregion
52718
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AppContext.js
52747
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AppContext.js
52719
52748
  /**
52720
52749
  * `AppContext` is a React context, which exposes a method to manually exit the app (unmount).
52721
52750
  */
@@ -52760,13 +52789,13 @@ var require_react_compiler_runtime_development = /* @__PURE__ */ __commonJSMin((
52760
52789
  })();
52761
52790
  }));
52762
52791
  //#endregion
52763
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/constants.js
52792
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/constants.js
52764
52793
  var import_compiler_runtime = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
52765
52794
  if (process.env.NODE_ENV === "production") module.exports = require_react_compiler_runtime_production();
52766
52795
  else module.exports = require_react_compiler_runtime_development();
52767
52796
  })))();
52768
52797
  //#endregion
52769
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/geometry-trace.js
52798
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/geometry-trace.js
52770
52799
  /**
52771
52800
  * Geometry forensics — per-frame scroll-geometry trace (issues #421/#433).
52772
52801
  *
@@ -52846,7 +52875,7 @@ function endGeometryFrame(durationMs) {
52846
52875
  };
52847
52876
  }
52848
52877
  //#endregion
52849
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalFocusContext.js
52878
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalFocusContext.js
52850
52879
  const TerminalFocusContext = (0, import_react.createContext)({
52851
52880
  isTerminalFocused: true,
52852
52881
  terminalFocusState: "unknown"
@@ -52881,7 +52910,7 @@ function TerminalFocusProvider(t0) {
52881
52910
  return t2;
52882
52911
  }
52883
52912
  //#endregion
52884
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-focus.js
52913
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-focus.js
52885
52914
  /**
52886
52915
  * Hook to check if the terminal has focus.
52887
52916
  *
@@ -52896,7 +52925,7 @@ function useTerminalFocus() {
52896
52925
  return isTerminalFocused;
52897
52926
  }
52898
52927
  //#endregion
52899
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ClockContext.js
52928
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ClockContext.js
52900
52929
  function createClock(tickIntervalMs) {
52901
52930
  const subscribers = /* @__PURE__ */ new Map();
52902
52931
  let interval = null;
@@ -52993,7 +53022,7 @@ function _temp() {
52993
53022
  return createClock(16);
52994
53023
  }
52995
53024
  //#endregion
52996
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/CursorDeclarationContext.js
53025
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/CursorDeclarationContext.js
52997
53026
  /**
52998
53027
  * React context that provides the cursor-declaration setter to descendants.
52999
53028
  */
@@ -53033,7 +53062,7 @@ var require_escape_string_regexp = /* @__PURE__ */ __commonJSMin(((exports, modu
53033
53062
  };
53034
53063
  }));
53035
53064
  //#endregion
53036
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Box.js
53065
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Box.js
53037
53066
  var import_stack_utils = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
53038
53067
  const escapeStringRegexp = require_escape_string_regexp();
53039
53068
  const cwd = typeof process === "object" && process && typeof process.cwd === "function" ? process.cwd() : ".";
@@ -53401,7 +53430,7 @@ function Box(t0) {
53401
53430
  return t4;
53402
53431
  }
53403
53432
  //#endregion
53404
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Text.js
53433
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Text.js
53405
53434
  const memoizedStylesForWrap = {
53406
53435
  wrap: {
53407
53436
  flexGrow: 0,
@@ -53553,7 +53582,7 @@ function Text(t0) {
53553
53582
  return t16;
53554
53583
  }
53555
53584
  //#endregion
53556
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ErrorOverview.js
53585
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ErrorOverview.js
53557
53586
  const cleanupPath = (path) => {
53558
53587
  return path?.replace(`file://${process.cwd()}/`, "");
53559
53588
  };
@@ -53658,10 +53687,10 @@ function ErrorOverview({ error }) {
53658
53687
  });
53659
53688
  }
53660
53689
  //#endregion
53661
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalSizeContext.js
53690
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/TerminalSizeContext.js
53662
53691
  const TerminalSizeContext = (0, import_react.createContext)(null);
53663
53692
  //#endregion
53664
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/useTerminalNotification.js
53693
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/useTerminalNotification.js
53665
53694
  /**
53666
53695
  * React context providing a raw terminal write function. Null until a
53667
53696
  * TerminalWriteProvider is mounted.
@@ -53672,7 +53701,7 @@ const TerminalWriteContext = (0, import_react.createContext)(null);
53672
53701
  */
53673
53702
  const TerminalWriteProvider = TerminalWriteContext.Provider;
53674
53703
  //#endregion
53675
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/App.js
53704
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/App.js
53676
53705
  const SUPPORTS_SUSPEND = process.platform !== "win32";
53677
53706
  const STDIN_RESUME_GAP_MS = 5e3;
53678
53707
  const MULTI_CLICK_TIMEOUT_MS = 500;
@@ -54198,7 +54227,7 @@ function handleMouseEvent(app, m) {
54198
54227
  }
54199
54228
  }
54200
54229
  //#endregion
54201
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/keyboard-event.js
54230
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/keyboard-event.js
54202
54231
  /**
54203
54232
  * Keyboard event dispatched through the DOM tree via capture/bubble.
54204
54233
  *
@@ -54258,7 +54287,7 @@ function keyFromParsed(parsed) {
54258
54287
  return name || seq;
54259
54288
  }
54260
54289
  //#endregion
54261
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/frame.js
54290
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/frame.js
54262
54291
  /**
54263
54292
  * Create an empty frame with a zero-size screen, the given viewport, and a
54264
54293
  * visible cursor at the origin.
@@ -54284,7 +54313,7 @@ function emptyFrame(rows, columns, stylePool, charPool, hyperlinkPool) {
54284
54313
  };
54285
54314
  }
54286
54315
  //#endregion
54287
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/click-event.js
54316
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/click-event.js
54288
54317
  /**
54289
54318
  * Mouse click event. Fired on left-button release without drag, only when
54290
54319
  * mouse tracking is enabled (i.e. inside <AlternateScreen>).
@@ -54315,7 +54344,7 @@ var ClickEvent = class extends PointerEvent {
54315
54344
  }
54316
54345
  };
54317
54346
  //#endregion
54318
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/context-menu-event.js
54347
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/context-menu-event.js
54319
54348
  /**
54320
54349
  * Mouse context-menu event. Fired on right-button press (SGR button 2,
54321
54350
  * low bits of the raw button byte), mirroring the DOM `contextmenu` event
@@ -54339,7 +54368,7 @@ var ContextMenuEvent = class extends PointerEvent {
54339
54368
  }
54340
54369
  };
54341
54370
  //#endregion
54342
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/wheel-event.js
54371
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/events/wheel-event.js
54343
54372
  /**
54344
54373
  * Mouse wheel event dispatched to the ScrollBox under the pointer.
54345
54374
  *
@@ -54375,7 +54404,7 @@ function indentString(string, count = 1, options = {}) {
54375
54404
  return string.replace(regex, indent.repeat(count));
54376
54405
  }
54377
54406
  //#endregion
54378
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/get-max-width.js
54407
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/get-max-width.js
54379
54408
  /**
54380
54409
  * Returns the yoga node's content width (computed width minus padding and
54381
54410
  * border).
@@ -54480,7 +54509,7 @@ var cli_boxes_default = {
54480
54509
  }
54481
54510
  };
54482
54511
  //#endregion
54483
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-border.js
54512
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-border.js
54484
54513
  /** Built-in border styles beyond those provided by cli-boxes. */
54485
54514
  const CUSTOM_BORDER_STYLES = { dashed: {
54486
54515
  top: "╌",
@@ -54570,7 +54599,7 @@ const renderBorder = (x, y, node, output) => {
54570
54599
  }
54571
54600
  };
54572
54601
  //#endregion
54573
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/widest-line.js
54602
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/widest-line.js
54574
54603
  /**
54575
54604
  * Get the display width of the widest line in a string.
54576
54605
  * @param string - the text to measure, possibly containing newlines.
@@ -54589,7 +54618,7 @@ function widestLine(string) {
54589
54618
  return maxWidth;
54590
54619
  }
54591
54620
  //#endregion
54592
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-node-to-output.js
54621
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-node-to-output.js
54593
54622
  function isXtermJsHost() {
54594
54623
  return process.env.TERM_PROGRAM === "vscode" || isXtermJs();
54595
54624
  }
@@ -55405,7 +55434,7 @@ function dropSubtreeCache(node) {
55405
55434
  for (const child of node.childNodes) if (child.nodeName !== "#text") dropSubtreeCache(child);
55406
55435
  }
55407
55436
  //#endregion
55408
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hit-test.js
55437
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hit-test.js
55409
55438
  /**
55410
55439
  * Find the deepest DOM element whose rendered rect contains (col, row).
55411
55440
  *
@@ -55795,7 +55824,7 @@ function dispatchHover(root, col, row, hovered) {
55795
55824
  }
55796
55825
  }
55797
55826
  //#endregion
55798
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/flush-tick.js
55827
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/flush-tick.js
55799
55828
  /**
55800
55829
  * Monotonic terminal-flush counter for the ported Ink core.
55801
55830
  *
@@ -55828,7 +55857,7 @@ function getTerminalFlushTick() {
55828
55857
  return flushTick;
55829
55858
  }
55830
55859
  //#endregion
55831
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/instances.js
55860
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/instances.js
55832
55861
  /**
55833
55862
  * Live Ink instances keyed by their output stream, so consecutive render()
55834
55863
  * calls reuse the instance for a stream instead of creating a new one.
@@ -55837,7 +55866,7 @@ function getTerminalFlushTick() {
55837
55866
  */
55838
55867
  const instances = /* @__PURE__ */ new Map();
55839
55868
  //#endregion
55840
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/log-update.js
55869
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/log-update.js
55841
55870
  const CARRIAGE_RETURN = { type: "carriageReturn" };
55842
55871
  const NEWLINE = {
55843
55872
  type: "stdout",
@@ -56453,7 +56482,7 @@ var VirtualScreen = class {
56453
56482
  }
56454
56483
  };
56455
56484
  //#endregion
56456
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/optimizer.js
56485
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/optimizer.js
56457
56486
  /**
56458
56487
  * Optimize a diff by applying all optimization rules in a single pass.
56459
56488
  * This reduces the number of patches that need to be written to the terminal.
@@ -56518,7 +56547,7 @@ function optimize(diff) {
56518
56547
  return result;
56519
56548
  }
56520
56549
  //#endregion
56521
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/bidi.js
56550
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/bidi.js
56522
56551
  var import_bidi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
56523
56552
  (function(global, factory) {
56524
56553
  typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, global.bidi_js = factory());
@@ -57294,7 +57323,7 @@ function hasRTLCharacters(text) {
57294
57323
  return /[\u0590-\u05FF\uFB1D-\uFB4F\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF\u0780-\u07BF\u0700-\u074F]/u.test(text);
57295
57324
  }
57296
57325
  //#endregion
57297
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/output.js
57326
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/output.js
57298
57327
  /**
57299
57328
  * charCache bounds. The entry-count cap alone was not enough: a streaming
57300
57329
  * line produces a NEW cache key on every frame, and each entry's cost is
@@ -57964,7 +57993,7 @@ function writeLineToScreen(screen, line, x, y, screenWidth, stylePool, charCache
57964
57993
  return offsetX;
57965
57994
  }
57966
57995
  //#endregion
57967
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-to-screen.js
57996
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/render-to-screen.js
57968
57997
  const timing = {
57969
57998
  reconcile: 0,
57970
57999
  yoga: 0,
@@ -58058,7 +58087,7 @@ function applyPositionedHighlight(screen, stylePool, positions, rowOffset, curre
58058
58087
  return true;
58059
58088
  }
58060
58089
  //#endregion
58061
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/renderer.js
58090
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/renderer.js
58062
58091
  /**
58063
58092
  * Create the renderer function for a root DOM node. The returned renderer
58064
58093
  * reuses an Output across frames so its character cache persists.
@@ -58133,7 +58162,7 @@ function createRenderer(node, stylePool) {
58133
58162
  };
58134
58163
  }
58135
58164
  //#endregion
58136
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/searchHighlight.js
58165
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/searchHighlight.js
58137
58166
  /**
58138
58167
  * Highlight all visible occurrences of `query` in the screen buffer by
58139
58168
  * inverting cell styles (SGR 7). Post-render, same damage-tracking machinery
@@ -58195,7 +58224,7 @@ function applySearchHighlight(screen, query, stylePool) {
58195
58224
  return applied;
58196
58225
  }
58197
58226
  //#endregion
58198
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/ink.js
58227
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/ink.js
58199
58228
  const ALT_SCREEN_ANCHOR_CURSOR = Object.freeze({
58200
58229
  x: 0,
58201
58230
  y: 0,
@@ -59748,7 +59777,7 @@ const CONSOLE_STDERR_METHODS = [
59748
59777
  "trace"
59749
59778
  ];
59750
59779
  //#endregion
59751
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/root.js
59780
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/root.js
59752
59781
  /**
59753
59782
  * Mount a component and render the output.
59754
59783
  * @param node - the React element to render.
@@ -59831,7 +59860,7 @@ const getInstance = (stdout, createInstance) => {
59831
59860
  return instance;
59832
59861
  };
59833
59862
  //#endregion
59834
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedBox.js
59863
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedBox.js
59835
59864
  /** Resolves a color value that may be a theme key to a raw Color. */
59836
59865
  function resolveColor$1(color, theme) {
59837
59866
  if (!color) return void 0;
@@ -59856,7 +59885,7 @@ function ThemedBox({ borderColor, borderTopColor, borderBottomColor, borderLeftC
59856
59885
  });
59857
59886
  }
59858
59887
  //#endregion
59859
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedText.js
59888
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ThemedText.js
59860
59889
  /**
59861
59890
  * Colors uncolored ThemedText in the subtree. Precedence: explicit `color` >
59862
59891
  * this > dimColor (in the Claude Code visual language, where message rows
@@ -59892,7 +59921,7 @@ function ThemedText({ color, backgroundColor, dimColor = false, bold = false, it
59892
59921
  });
59893
59922
  }
59894
59923
  //#endregion
59895
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Spacer.js
59924
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Spacer.js
59896
59925
  /**
59897
59926
  * A flexible space that expands along the major axis of its containing layout.
59898
59927
  * It's useful as a shortcut for filling all the available spaces between elements.
@@ -59907,7 +59936,7 @@ function Spacer() {
59907
59936
  return t0;
59908
59937
  }
59909
59938
  //#endregion
59910
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Newline.js
59939
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Newline.js
59911
59940
  /**
59912
59941
  * Adds one or more newline (\n) characters. Must be used within <Text> components.
59913
59942
  */
@@ -59930,7 +59959,7 @@ function Newline(t0) {
59930
59959
  return t3;
59931
59960
  }
59932
59961
  //#endregion
59933
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/NoSelect.js
59962
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/NoSelect.js
59934
59963
  /**
59935
59964
  * Marks its contents as non-selectable in fullscreen text selection.
59936
59965
  * Cells inside this box are skipped by both the selection highlight and
@@ -59981,7 +60010,7 @@ function NoSelect(t0) {
59981
60010
  return t2;
59982
60011
  }
59983
60012
  //#endregion
59984
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AlternateScreen.js
60013
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/AlternateScreen.js
59985
60014
  /**
59986
60015
  * Run children in the terminal's alternate screen buffer, constrained to
59987
60016
  * the viewport height. While mounted:
@@ -60056,7 +60085,7 @@ function AlternateScreen(t0) {
60056
60085
  return t5;
60057
60086
  }
60058
60087
  //#endregion
60059
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ScrollBox.js
60088
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/ScrollBox.js
60060
60089
  /**
60061
60090
  * A Box with `overflow: scroll` and an imperative scroll API.
60062
60091
  *
@@ -60234,7 +60263,7 @@ function ScrollBox({ children, ref, stickyScroll, ...style }) {
60234
60263
  });
60235
60264
  }
60236
60265
  //#endregion
60237
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-input.js
60266
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-input.js
60238
60267
  /**
60239
60268
  * Keep an event listener stable while always dispatching to the latest render's
60240
60269
  * callback. Keeping this hook local is important for packaged installs: a
@@ -60300,7 +60329,7 @@ const useInput = (inputHandler, options = {}) => {
60300
60329
  }, [internal_eventEmitter, handleData]);
60301
60330
  };
60302
60331
  //#endregion
60303
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-selection.js
60332
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-selection.js
60304
60333
  /**
60305
60334
  * Access to text selection operations on the Ink instance (fullscreen only).
60306
60335
  * Returns no-op functions when fullscreen mode is disabled.
@@ -60340,7 +60369,7 @@ function useSelection() {
60340
60369
  }, [ink]);
60341
60370
  }
60342
60371
  //#endregion
60343
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-copy-on-select.js
60372
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-copy-on-select.js
60344
60373
  /**
60345
60374
  * Copy-on-select: when a drag finishes (or a double/triple click, or a
60346
60375
  * shift+arrow extension, lands a selection), copy the selected text to the
@@ -60380,14 +60409,14 @@ function useCopyOnSelect(onCopied) {
60380
60409
  ]);
60381
60410
  }
60382
60411
  //#endregion
60383
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-app.js
60412
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-app.js
60384
60413
  /**
60385
60414
  * React hook exposing the manual app-exit function from `AppContext`.
60386
60415
  * @returns the `AppContext` value, whose `exit` function unmounts the app.
60387
60416
  */
60388
60417
  const useApp = () => (0, import_react.useContext)(AppContext);
60389
60418
  //#endregion
60390
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-viewport.js
60419
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-viewport.js
60391
60420
  /**
60392
60421
  * Hook to detect if a component is within the terminal viewport.
60393
60422
  *
@@ -60441,7 +60470,7 @@ function useTerminalViewport() {
60441
60470
  return [setElement, entryRef.current];
60442
60471
  }
60443
60472
  //#endregion
60444
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-animation-frame.js
60473
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-animation-frame.js
60445
60474
  /**
60446
60475
  * Hook for synchronized animations that pause when offscreen.
60447
60476
  *
@@ -60490,7 +60519,7 @@ function useAnimationFrame(intervalMs = 16) {
60490
60519
  return [viewportRef, time];
60491
60520
  }
60492
60521
  //#endregion
60493
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-size.js
60522
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-size.js
60494
60523
  /** Terminal dimensions from the Ink app shell (from Claude Code).
60495
60524
  * @returns the current terminal dimensions.
60496
60525
  */
@@ -60500,7 +60529,7 @@ function useTerminalSize() {
60500
60529
  return size;
60501
60530
  }
60502
60531
  //#endregion
60503
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useBlink.js
60532
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useBlink.js
60504
60533
  const BLINK_INTERVAL_MS = 600;
60505
60534
  /**
60506
60535
  * Hook for synchronized blinking animations that pause when offscreen
@@ -60517,7 +60546,7 @@ function useBlink(enabled, intervalMs = BLINK_INTERVAL_MS) {
60517
60546
  return [ref, Math.floor(time / intervalMs) % 2 === 0];
60518
60547
  }
60519
60548
  //#endregion
60520
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/supports-hyperlinks.js
60549
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/supports-hyperlinks.js
60521
60550
  var import_supports_hyperlinks = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
60522
60551
  const supportsColor = require_supports_color();
60523
60552
  const hasFlag = require_has_flag();
@@ -60614,7 +60643,7 @@ function supportsHyperlinks(options) {
60614
60643
  return false;
60615
60644
  }
60616
60645
  //#endregion
60617
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Link.js
60646
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/components/Link.js
60618
60647
  function Link(t0) {
60619
60648
  const $ = (0, import_compiler_runtime.c)(5);
60620
60649
  const { children, url, fallback } = t0;
@@ -60642,7 +60671,7 @@ function Link(t0) {
60642
60671
  return t2;
60643
60672
  }
60644
60673
  //#endregion
60645
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/esc.js
60674
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/esc.js
60646
60675
  /**
60647
60676
  * ESC Sequence Parser
60648
60677
  *
@@ -60698,7 +60727,7 @@ function parseEsc(chars) {
60698
60727
  };
60699
60728
  }
60700
60729
  //#endregion
60701
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/types.js
60730
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/types.js
60702
60731
  /**
60703
60732
  * ANSI Parser - Semantic Types
60704
60733
  *
@@ -60726,7 +60755,7 @@ function defaultStyle() {
60726
60755
  };
60727
60756
  }
60728
60757
  //#endregion
60729
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/sgr.js
60758
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/sgr.js
60730
60759
  /**
60731
60760
  * SGR (Select Graphic Rendition) Parser
60732
60761
  *
@@ -61034,7 +61063,7 @@ function applySGR(paramStr, style) {
61034
61063
  return s;
61035
61064
  }
61036
61065
  //#endregion
61037
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/parser.js
61066
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/termio/parser.js
61038
61067
  /**
61039
61068
  * ANSI Parser - Semantic Action Generator
61040
61069
  *
@@ -61411,7 +61440,7 @@ var Parser = class {
61411
61440
  }
61412
61441
  };
61413
61442
  //#endregion
61414
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/Ansi.js
61443
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/Ansi.js
61415
61444
  /**
61416
61445
  * Component that parses ANSI escape codes and renders them using Text components.
61417
61446
  *
@@ -61662,7 +61691,7 @@ function StyledText(t0) {
61662
61691
  return t1;
61663
61692
  }
61664
61693
  //#endregion
61665
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ui.js
61694
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ui.js
61666
61695
  var ui_exports = /* @__PURE__ */ __exportAll({
61667
61696
  AlternateScreen: () => AlternateScreen,
61668
61697
  Ansi: () => Ansi,
@@ -61686,7 +61715,7 @@ var ui_exports = /* @__PURE__ */ __exportAll({
61686
61715
  useTheme: () => useTheme
61687
61716
  });
61688
61717
  //#endregion
61689
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PageMargin.js
61718
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PageMargin.js
61690
61719
  /** 嵌套安全的 inset(若未来出现嵌套 PageMargin 会累加)。 */
61691
61720
  const PageInsetContext = import_react.createContext({
61692
61721
  x: 0,
@@ -61740,7 +61769,7 @@ function PageMargin({ children }) {
61740
61769
  });
61741
61770
  }
61742
61771
  //#endregion
61743
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/figures.js
61772
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/figures.js
61744
61773
  /**
61745
61774
  * UI glyph constants used across the TUI: prompt markers, status badges,
61746
61775
  * direction arrows, media controls, reasoning-effort indicators, and
@@ -61767,7 +61796,7 @@ const THINKING_SPINNER_FRAMES = [
61767
61796
  "⠏"
61768
61797
  ];
61769
61798
  //#endregion
61770
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerWizard.js
61799
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/providerWizard.js
61771
61800
  /**
61772
61801
  * `/provider` wizard — interactively adds, edits, or deletes an LLM
61773
61802
  * provider route at runtime.
@@ -62493,7 +62522,7 @@ function buildProfile(input) {
62493
62522
  return profile;
62494
62523
  }
62495
62524
  //#endregion
62496
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/modelConfigWizard.js
62525
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/modelConfigWizard.js
62497
62526
  /** `/model-config`: platform catalog plus ~/.chatcode-cli/settings.json custom models. */
62498
62527
  const CUSTOM_MODEL_PROTOCOLS = ["openai-completions", "anthropic-messages"];
62499
62528
  const LEGAL_API_KEY = /^[\x21-\x7e]+$/u;
@@ -63132,7 +63161,7 @@ function parseCapacity(value) {
63132
63161
  return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : void 0;
63133
63162
  }
63134
63163
  //#endregion
63135
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-declared-cursor.js
63164
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-declared-cursor.js
63136
63165
  /**
63137
63166
  * Declares where the terminal cursor should be parked after each frame.
63138
63167
  *
@@ -63181,7 +63210,7 @@ function useDeclaredCursor(options) {
63181
63210
  return setNode;
63182
63211
  }
63183
63212
  //#endregion
63184
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-element.js
63213
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/measure-element.js
63185
63214
  /**
63186
63215
  * Measure the rendered dimensions of a Box element.
63187
63216
  * @param node - the DOM element to measure.
@@ -63192,7 +63221,7 @@ const measureElement = (node) => ({
63192
63221
  height: node.yogaNode?.getComputedHeight() ?? 0
63193
63222
  });
63194
63223
  //#endregion
63195
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Divider.js
63224
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Divider.js
63196
63225
  const MAX_APPLIED_MEASUREMENTS = 8;
63197
63226
  /**
63198
63227
  * A horizontal divider line, optionally with a title in the middle
@@ -64915,7 +64944,7 @@ k.parseInline;
64915
64944
  T.parse;
64916
64945
  R.lex;
64917
64946
  //#endregion
64918
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxTheme.js
64947
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxTheme.js
64919
64948
  /** highlight.js token classes -> theme syntax tokens. `default` catches
64920
64949
  * every unmapped class so cli-highlight's own yellow never leaks through
64921
64950
  * (issue #250, P2-6). */
@@ -64981,7 +65010,7 @@ function buildSyntaxTheme(theme) {
64981
65010
  return out;
64982
65011
  }
64983
65012
  //#endregion
64984
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/hyperlink.js
65013
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/hyperlink.js
64985
65014
  /** OSC 8 hyperlink start sequence: `ESC ] 8 ; ;`, followed by the URL. */
64986
65015
  const OSC8_START = "\x1B]8;;";
64987
65016
  /** Schemes a rendered hyperlink may point at. Anything else degrades to
@@ -65023,7 +65052,7 @@ function createHyperlink(url, content, options) {
65023
65052
  return `${OSC8_START}${safeUrl}${(options?.style ?? ((text) => chalk.blue(text)))(displayText)}${OSC8_START}`;
65024
65053
  }
65025
65054
  //#endregion
65026
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileTarget.js
65055
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/fileTarget.js
65027
65056
  /**
65028
65057
  * Clickable file targets: turning path-like text in AI output into
65029
65058
  * clickable targets, and resolving those targets back to absolute paths at
@@ -65165,7 +65194,7 @@ function linkifyFilePaths(text, wrap) {
65165
65194
  });
65166
65195
  }
65167
65196
  //#endregion
65168
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/markdown.js
65197
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/markdown.js
65169
65198
  /**
65170
65199
  * Markdown-to-ANSI renderer over marked's token stream.
65171
65200
  *
@@ -65480,7 +65509,7 @@ function padAligned(content, displayWidth, targetWidth, align) {
65480
65509
  return content + " ".repeat(extra);
65481
65510
  }
65482
65511
  //#endregion
65483
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/cliHighlight.js
65512
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/cliHighlight.js
65484
65513
  let cliHighlightPromise;
65485
65514
  async function loadCliHighlight() {
65486
65515
  try {
@@ -65503,7 +65532,7 @@ function getCliHighlightPromise() {
65503
65532
  return cliHighlightPromise;
65504
65533
  }
65505
65534
  //#endregion
65506
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MarkdownTable.js
65535
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MarkdownTable.js
65507
65536
  /** Accounts for parent indentation and terminal resize races (from Claude Code). */
65508
65537
  const SAFETY_MARGIN = 4;
65509
65538
  /** Minimum column width to prevent degenerate layouts */
@@ -65690,7 +65719,7 @@ function MarkdownTable({ token, highlight, forceWidth }) {
65690
65719
  return (0, import_jsx_runtime.jsx)(Text, { children: tableLines.join("\n") });
65691
65720
  }
65692
65721
  //#endregion
65693
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Markdown.js
65722
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Markdown.js
65694
65723
  const TOKEN_CACHE_CAPACITY = 200;
65695
65724
  const TOKEN_CACHE_CHAR_BUDGET = 2e5;
65696
65725
  const TOKEN_CACHE_MAX_SOURCE_LENGTH = 2e4;
@@ -65799,7 +65828,7 @@ function MarkdownImpl({ children, dimColor = false, cacheTokens = true }) {
65799
65828
  */
65800
65829
  const Markdown = import_react.memo(MarkdownImpl, (prev, next) => prev.children === next.children && prev.dimColor === next.dimColor && prev.cacheTokens === next.cacheTokens);
65801
65830
  //#endregion
65802
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/PlanReviewPanel.js
65831
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/PlanReviewPanel.js
65803
65832
  /**
65804
65833
  * The plan-review panel — Claude Code style exit-plan-mode decision card
65805
65834
  * for the DSH user-interaction seam. plan-mode's `exit_plan_mode` tool asks
@@ -66121,7 +66150,7 @@ function PlanReviewPanel({ question, onAnswer, onCancel }) {
66121
66150
  });
66122
66151
  }
66123
66152
  //#endregion
66124
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/listWindow.js
66153
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/listWindow.js
66125
66154
  /**
66126
66155
  * 焦点居中的列表窗口:长列表只渲染焦点附近的一段,保证焦点行始终可见。
66127
66156
  * 瞬态面板走 OverlayAbove 零高度浮层后,超高部分会被 overflow 裁掉且焦点
@@ -66173,7 +66202,7 @@ function listWindow(heights, focusIndex, maxRows, gap = 0) {
66173
66202
  }
66174
66203
  }
66175
66204
  //#endregion
66176
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/AskUserQuestionPanel.js
66205
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/questions/AskUserQuestionPanel.js
66177
66206
  /**
66178
66207
  * The questionnaire panel — Claude Code style ask-user-question UI for the
66179
66208
  * DSH user-interaction seam. One question per panel (progress header, header
@@ -66756,7 +66785,7 @@ function AskUserQuestionPanel({ question, position, total, answered, initialDraf
66756
66785
  });
66757
66786
  }
66758
66787
  //#endregion
66759
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/approvals/ApprovalPanel.js
66788
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/approvals/ApprovalPanel.js
66760
66789
  /**
66761
66790
  * The approval panel — Claude Code style permission prompt for the DSH
66762
66791
  * approval seam (`ctx.approval`). One ask per panel: a permission-colored
@@ -66881,7 +66910,7 @@ function ApprovalPanel({ approval, background = false, onDecide }) {
66881
66910
  });
66882
66911
  }
66883
66912
  //#endregion
66884
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Pane.js
66913
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Pane.js
66885
66914
  /**
66886
66915
  * A pane — a region below the prompt bounded by a colored top line with a
66887
66916
  * one-row gap above and horizontal padding, mirroring Claude Code's
@@ -66903,7 +66932,7 @@ function Pane({ children, color }) {
66903
66932
  });
66904
66933
  }
66905
66934
  //#endregion
66906
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ListItem.js
66935
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/ListItem.js
66907
66936
  /**
66908
66937
  * A list item for selection UIs, mirroring Claude Code's
66909
66938
  * design-system/ListItem.tsx: `❯` pointer for the focused row, `✓`
@@ -67000,7 +67029,7 @@ function flattenDeep(node) {
67000
67029
  return node;
67001
67030
  }
67002
67031
  //#endregion
67003
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/HintLine.js
67032
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/HintLine.js
67004
67033
  /**
67005
67034
  * Localized shortcut-hint line: renders a `t('hint-*')` string, with the
67006
67035
  * `**primary shortcut**` segment (the main action's key, wrapped in `**` in
@@ -67017,7 +67046,7 @@ function HintLine({ text }) {
67017
67046
  }, index) : part) });
67018
67047
  }
67019
67048
  //#endregion
67020
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ExtensionDialog.js
67049
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ExtensionDialog.js
67021
67050
  /**
67022
67051
  * The managed plugin dialog (`ctx.tuiDialogs`) — one panel rendering the
67023
67052
  * store's current snapshot in the chat chrome (the slot approval/question
@@ -67277,7 +67306,7 @@ function InputDialog({ dialog, onDecide, onCancel }) {
67277
67306
  });
67278
67307
  }
67279
67308
  //#endregion
67280
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-search-highlight.js
67309
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-search-highlight.js
67281
67310
  /**
67282
67311
  * Set the search highlight query on the Ink instance. Non-empty → all
67283
67312
  * visible occurrences are inverted on the next frame (SGR 7, screen-buffer
@@ -67309,7 +67338,7 @@ function useSearchHighlight() {
67309
67338
  }, [ink]);
67310
67339
  }
67311
67340
  //#endregion
67312
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-title.js
67341
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/hooks/use-terminal-title.js
67313
67342
  /**
67314
67343
  * Declaratively set the terminal tab/window title.
67315
67344
  *
@@ -67332,7 +67361,7 @@ function useTerminalTitle(title) {
67332
67361
  }, [title, writeRaw]);
67333
67362
  }
67334
67363
  //#endregion
67335
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/format.js
67364
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/format.js
67336
67365
  /**
67337
67366
  * Session browser formatting.
67338
67367
  *
@@ -67581,7 +67610,7 @@ function projectName(cwd) {
67581
67610
  return normalized.split("/").filter(Boolean).at(-1) ?? normalized;
67582
67611
  }
67583
67612
  //#endregion
67584
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Tooltip.js
67613
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Tooltip.js
67585
67614
  /**
67586
67615
  * Tooltip hover system — the terminal equivalent of the HTML `title`
67587
67616
  * attribute. Attach {@link useTooltip} props to any Box whose visible text
@@ -67789,7 +67818,7 @@ function wrapTooltipContent(text, width) {
67789
67818
  return rows;
67790
67819
  }
67791
67820
  //#endregion
67792
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/UserPromptMessage.js
67821
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/UserPromptMessage.js
67793
67822
  /** User prompt row in the legacy CLI treatment: a full-width gray strip. */
67794
67823
  function UserPromptMessage({ text, addMargin, isSelected = false, onClick }) {
67795
67824
  const { columns } = useTerminalSize();
@@ -67818,7 +67847,7 @@ function UserPromptMessage({ text, addMargin, isSelected = false, onClick }) {
67818
67847
  });
67819
67848
  }
67820
67849
  //#endregion
67821
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantTextMessage.js
67850
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantTextMessage.js
67822
67851
  /**
67823
67852
  * Assistant text message: bullet + markdown body (mirroring Claude Code's default branch).
67824
67853
  *
@@ -67851,7 +67880,7 @@ function AssistantTextMessage({ text, addMargin, isSelected = false, isExpanded
67851
67880
  });
67852
67881
  }
67853
67882
  //#endregion
67854
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/StreamingMarkdown.js
67883
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/StreamingMarkdown.js
67855
67884
  /**
67856
67885
  * Renders markdown during streaming by splitting at the last top-level block
67857
67886
  * boundary: everything before is stable (memoized, never re-parsed), only the
@@ -68041,7 +68070,7 @@ function StreamingMarkdown({ children, dimColor = false }) {
68041
68070
  });
68042
68071
  }
68043
68072
  //#endregion
68044
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/spinnerUtils.js
68073
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/spinnerUtils.js
68045
68074
  /**
68046
68075
  * Spinner 动画的通用工具集:平台相关的帧字符选择、RGB 颜色插值、
68047
68076
  * HSL 色相转 RGB,以及 `rgb(...)` 颜色字符串的解析与记忆化。
@@ -68121,7 +68150,7 @@ function parseRGB(colorStr) {
68121
68150
  return parsed;
68122
68151
  }
68123
68152
  //#endregion
68124
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/shimmer.js
68153
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/shimmer.js
68125
68154
  /** Header blue-white ladder: brand → ice → pale → soft ice flash.
68126
68155
  * FLASH stays visibly blue (never pure white) — the highlight reads as a
68127
68156
  * mist-brightened crest, not a white strobe. */
@@ -68137,7 +68166,7 @@ const ICE = {
68137
68166
  b: 255
68138
68167
  };
68139
68168
  //#endregion
68140
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantThinkingMessage.js
68169
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantThinkingMessage.js
68141
68170
  /** Preview body rows — a FIXED row count (kimicode-style constant-height
68142
68171
  * ticker). Ink's truncate slices the whole string across newlines as one
68143
68172
  * logical line, so a single joined Text collapses to 1-2 rows whenever
@@ -68250,7 +68279,7 @@ function AssistantThinkingMessage({ thinking, textFull, addMargin, verbose, stre
68250
68279
  });
68251
68280
  }
68252
68281
  //#endregion
68253
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ToolUseLoader.js
68282
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ToolUseLoader.js
68254
68283
  const CATEGORY_BY_TOOL = {
68255
68284
  bash: "exec",
68256
68285
  powershell: "exec",
@@ -68831,7 +68860,7 @@ var ArrayDiff = class extends Diff {
68831
68860
  };
68832
68861
  new ArrayDiff();
68833
68862
  //#endregion
68834
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxRuns.js
68863
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/cc/syntaxRuns.js
68835
68864
  const ANSI16 = {
68836
68865
  30: "rgb(0,0,0)",
68837
68866
  31: "rgb(128,0,0)",
@@ -68916,7 +68945,7 @@ function syntaxThemeSignature(theme) {
68916
68945
  return Object.values(SYNTAX_CLASS_TO_TOKEN).map((key) => palette[key] ?? "").join("|");
68917
68946
  }
68918
68947
  //#endregion
68919
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/smoothReveal.js
68948
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/smoothReveal.js
68920
68949
  /**
68921
68950
  * Smooth streaming reveal — decouples "text the provider has delivered" from
68922
68951
  * "text the screen is showing" (the oh-my-pi `display.smoothStreaming` idea,
@@ -69162,7 +69191,7 @@ function revealLinesOf(key, total, options) {
69162
69191
  return Math.min(existing.revealed, total);
69163
69192
  }
69164
69193
  //#endregion
69165
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SplitDiffView.js
69194
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SplitDiffView.js
69166
69195
  /** Replace tabs so width math and alignment hold (pi convention). */
69167
69196
  const expandTabs = (text) => text.replaceAll(" ", " ");
69168
69197
  /**
@@ -69471,7 +69500,7 @@ function SplitDiffView({ diffs, width, maxRows, verbose, toolBackground = "none"
69471
69500
  });
69472
69501
  }
69473
69502
  //#endregion
69474
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SyntaxText.js
69503
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SyntaxText.js
69475
69504
  /** Async nested Text renderer. Lexes the complete payload before splitting. */
69476
69505
  function SyntaxText({ text, language, sourceText = text, lineIndex = 0, color, dimColor }) {
69477
69506
  const [highlighter, setHighlighter] = import_react.useState(null);
@@ -69515,7 +69544,7 @@ function SyntaxText({ text, language, sourceText = text, lineIndex = 0, color, d
69515
69544
  }, index)) });
69516
69545
  }
69517
69546
  //#endregion
69518
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/format.js
69547
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/format.js
69519
69548
  /**
69520
69549
  * Trajectory formatting — durations, clocks, badges and heat.
69521
69550
  *
@@ -69717,7 +69746,7 @@ function ledgerLayout(columns) {
69717
69746
  };
69718
69747
  }
69719
69748
  //#endregion
69720
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRevealVersion.js
69749
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useRevealVersion.js
69721
69750
  /**
69722
69751
  * Reveal-frame wakeup as a React hook — bumps once per advancing ~30fps
69723
69752
  * scheduler tick so consumers re-run their render-phase cursor reads
@@ -69747,7 +69776,7 @@ function useRevealVersion(enabled = true) {
69747
69776
  return version;
69748
69777
  }
69749
69778
  //#endregion
69750
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantToolUseMessage.js
69779
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/AssistantToolUseMessage.js
69751
69780
  /** Tool display names: DSH emits lowercase tool ids (`bash`); Claude Code
69752
69781
  * shows capitalized names (`Bash`). Map the common ones, fall back to the
69753
69782
  * id with its first letter uppercased. */
@@ -70283,7 +70312,7 @@ function AssistantToolUseMessage({ tool, addMargin, verbose, isSelected = false,
70283
70312
  });
70284
70313
  }
70285
70314
  //#endregion
70286
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/SubagentMessage.js
70315
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/SubagentMessage.js
70287
70316
  /** The waterfall window is a Kimi Code style constant-height region. */
70288
70317
  const WATERFALL_ROWS = 3;
70289
70318
  /** Card left padding + the `│ ` gutter prefix. */
@@ -70491,7 +70520,7 @@ function SubagentMessage({ subagent, addMargin, activityFrames, onClick }) {
70491
70520
  });
70492
70521
  }
70493
70522
  //#endregion
70494
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/JobCard.js
70523
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Chat/JobCard.js
70495
70524
  /** Card left padding + the `│ ` gutter prefix. */
70496
70525
  const WATERFALL_GUTTER = 4;
70497
70526
  /** Static status marker — deliberately NOT the animated activity-indicator
@@ -70644,7 +70673,7 @@ function JobCard({ job, addMargin, onClick }) {
70644
70673
  });
70645
70674
  }
70646
70675
  //#endregion
70647
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/InterruptedByUser.js
70676
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/InterruptedByUser.js
70648
70677
  /**
70649
70678
  * The dim "interrupted" row shown when the user stops a turn, mirroring
70650
70679
  * Claude Code's `InterruptedByUser.tsx`.
@@ -70659,7 +70688,7 @@ function InterruptedByUser() {
70659
70688
  })] });
70660
70689
  }
70661
70690
  //#endregion
70662
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/gitCommitStats.js
70691
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/gitCommitStats.js
70663
70692
  /**
70664
70693
  * 当月 AI 代码生成占比统计(移植自 chatcode-cli 的同名服务)。
70665
70694
  *
@@ -70827,7 +70856,7 @@ function computeAiRatioPercent(records) {
70827
70856
  return clampPercent(aiAdoptedTotal / addedTotal * 100);
70828
70857
  }
70829
70858
  //#endregion
70830
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useAiRatio.js
70859
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useAiRatio.js
70831
70860
  /**
70832
70861
  * 「AI代码生成占比」数据源 Hook(移植自 chatcode-cli 的同名 Hook)。
70833
70862
  *
@@ -70891,7 +70920,7 @@ function useAiRatio(enabled = true) {
70891
70920
  };
70892
70921
  }
70893
70922
  //#endregion
70894
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/truncateToWidth.js
70923
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/ink/truncateToWidth.js
70895
70924
  /**
70896
70925
  * Slice a string to at most `maxWidth` terminal cells, walking by code
70897
70926
  * point so CJK wide characters never split mid-glyph. Assumes no ANSI in
@@ -70909,7 +70938,7 @@ function truncateToWidth(text, maxWidth) {
70909
70938
  return out;
70910
70939
  }
70911
70940
  //#endregion
70912
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LogoV2.js
70941
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LogoV2.js
70913
70942
  /** Main ChatCode CLI package version shown in the startup information panel. */
70914
70943
  const VERSION = PRODUCT_VERSION;
70915
70944
  const PRODUCT_LABEL = "chatcode-cli";
@@ -71145,7 +71174,7 @@ function LogoV2({ model, effort, cwd, whale = true, aiRatio, drift }) {
71145
71174
  });
71146
71175
  }
71147
71176
  //#endregion
71148
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/MessageMetadata.js
71177
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/messages/MessageMetadata.js
71149
71178
  /**
71150
71179
  * Transcript-mode metadata row: `HH:MM · model`, right-aligned above the
71151
71180
  * assistant text, mirroring Claude Code's MessageTimestamp + MessageModel,
@@ -71167,7 +71196,7 @@ function MessageMetadata({ timestamp, model }) {
71167
71196
  });
71168
71197
  }
71169
71198
  //#endregion
71170
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/narration.js
71199
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/narration.js
71171
71200
  /**
71172
71201
  * Strip the `⏵` self-narration line from assistant text. The
71173
71202
  * dsh-working-activity narrate contract puts exactly one `⏵` line at the
@@ -71283,7 +71312,7 @@ function ellipsize(line, maxWidth) {
71283
71312
  return `${out}…`;
71284
71313
  }
71285
71314
  //#endregion
71286
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MessageList.js
71315
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MessageList.js
71287
71316
  /**
71288
71317
  * Transcript rows rendered in the Claude Code visual language: user prompts
71289
71318
  * on a grey bubble with a `❯` pointer, assistant text with a `●` bullet and
@@ -72096,7 +72125,7 @@ function LogoHeader({ model, effort, cwd, whale = true, skipIntro = false }) {
72096
72125
  });
72097
72126
  }
72098
72127
  //#endregion
72099
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TimelineRail.js
72128
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TimelineRail.js
72100
72129
  /** ▴ / ▾ (U+25B4 / U+25BE — the small triangles; CP437-safe on ConHost too). */
72101
72130
  const CHEVRON_UP = " ▴";
72102
72131
  const CHEVRON_DOWN = " ▾";
@@ -72290,7 +72319,7 @@ function TimelineRail({ handle, turns, activeId, upId, downId, terminalWidth, ho
72290
72319
  }) });
72291
72320
  }
72292
72321
  //#endregion
72293
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ScrollbarGutter.js
72322
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ScrollbarGutter.js
72294
72323
  /** Thumb glyph across the 2-col gutter: solid, clearly positional —
72295
72324
  * deliberately distinct from the timeline's ━━ active tick. */
72296
72325
  const THUMB = "██";
@@ -72406,7 +72435,7 @@ function ScrollbarGutter({ handle, terminalWidth }) {
72406
72435
  }) });
72407
72436
  }
72408
72437
  //#endregion
72409
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/OverlayAbove.js
72438
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/OverlayAbove.js
72410
72439
  /**
72411
72440
  * 瞬态面板的浮层容器:absolute 定位 + bottom:'100%' 把面板底边钉在锚点
72412
72441
  * (父元素)顶边,向上覆盖转录尾部行,自身**不占布局高度**。
@@ -72439,7 +72468,7 @@ function OverlayAbove({ children, maxHeight }) {
72439
72468
  });
72440
72469
  }
72441
72470
  //#endregion
72442
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/motion.js
72471
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/motion.js
72443
72472
  /**
72444
72473
  * Trajectory motion — five verbs, one shared clock, one hard rule.
72445
72474
  *
@@ -72564,7 +72593,7 @@ function alert(tick, startTick) {
72564
72593
  return Math.floor(age / 2) % 2 === 0 ? 1 : 0;
72565
72594
  }
72566
72595
  //#endregion
72567
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/effortIgnition.js
72596
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/effortIgnition.js
72568
72597
  /** 三幕时间轴(ms):扫光全长、字样启动(波至中段)、字样渐亮、渐隐起止。边框扫光与输入行字样徽标共用。 */
72569
72598
  const IGNITION_TIMELINE = {
72570
72599
  sweepMs: 1e3,
@@ -72712,7 +72741,7 @@ function ignitionLineColors(options) {
72712
72741
  return colors;
72713
72742
  }
72714
72743
  //#endregion
72715
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortChargeGlyph.js
72744
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortChargeGlyph.js
72716
72745
  /**
72717
72746
  * EffortChargeGlyph — 输入提示前缀 `❯ ` 的最高档强调与充能。
72718
72747
  *
@@ -72768,7 +72797,7 @@ function EffortChargeGlyph({ effort, levels, working }) {
72768
72797
  });
72769
72798
  }
72770
72799
  //#endregion
72771
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortInputBorder.js
72800
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortInputBorder.js
72772
72801
  /**
72773
72802
  * EffortInputBorder — 输入框层上的三幕点焰叠加(对齐 Codex 的完整
72774
72803
  * 语义:光扫过、档位字样浮现、整体渐隐)。
@@ -72903,7 +72932,7 @@ function EffortInputBorder({ effort, levels, columns, onLight, idleColor, topRig
72903
72932
  });
72904
72933
  }
72905
72934
  //#endregion
72906
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortTierBadge.js
72935
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortTierBadge.js
72907
72936
  /**
72908
72937
  * EffortTierBadge — 输入行尾的档位字样徽标:三幕点焰的第二幕载体
72909
72938
  * (与 EffortInputBorder 的双框扫光同一时间轴、同一触发),切到最高
@@ -72986,7 +73015,7 @@ function EffortTierBadge({ effort, levels, onLight, columns, leadingColumns }) {
72986
73015
  });
72987
73016
  }
72988
73017
  //#endregion
72989
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/clipboard.js
73018
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/clipboard.js
72990
73019
  /**
72991
73020
  * Cross-platform clipboard access for Ctrl+V paste. The TUI runs in raw
72992
73021
  * mode, so the terminal never performs its own paste for Ctrl+V — the key
@@ -73500,7 +73529,7 @@ function formatClipboardInsert(content) {
73500
73529
  return content.text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
73501
73530
  }
73502
73531
  //#endregion
73503
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/externalEditor.js
73532
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/externalEditor.js
73504
73533
  /**
73505
73534
  * External editor round-trip for the prompt input (issue #123): Ctrl+G dumps
73506
73535
  * the current draft into a temp file, hands the terminal to `$VISUAL` /
@@ -73778,7 +73807,7 @@ async function editInExternalEditor(draft) {
73778
73807
  }
73779
73808
  }
73780
73809
  //#endregion
73781
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptEditor.js
73810
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptEditor.js
73782
73811
  let editorNode = null;
73783
73812
  const listeners = /* @__PURE__ */ new Set();
73784
73813
  /** Publish (or withdraw, with null) the fullscreen editor subtree. */
@@ -73854,7 +73883,7 @@ function EditorButton({ label, hint, onClick, primary, accent }) {
73854
73883
  });
73855
73884
  }
73856
73885
  //#endregion
73857
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/history.js
73886
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/history.js
73858
73887
  const HISTORY_DIR = DATA_DIR;
73859
73888
  const HISTORY_FILE = join(HISTORY_DIR, "history.jsonl");
73860
73889
  const HISTORY_LOCK = `${HISTORY_FILE}.lock`;
@@ -73988,7 +74017,7 @@ function historyEntryId(entry, index = 0) {
73988
74017
  return createHash("sha1").update(`${entry.text}\0${entry.ts}\0${index}`).digest("hex").slice(0, 12);
73989
74018
  }
73990
74019
  //#endregion
73991
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SuggestionCard.js
74020
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SuggestionCard.js
73992
74021
  /**
73993
74022
  * `/` 命令菜单与 `@` 文件菜单共用的圆角卡片外壳(与输入框 EffortInputBorder
73994
74023
  * 同款 ╭╮╰╯ 视觉语言):
@@ -74120,7 +74149,7 @@ function splitQueryMatch(name, query) {
74120
74149
  return startsWith(0) ?? (lastSpace >= 0 ? startsWith(lastSpace + 1) : null) ?? startsWith(name.lastIndexOf("/") + 1);
74121
74150
  }
74122
74151
  //#endregion
74123
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/CommandSuggestions.js
74152
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/CommandSuggestions.js
74124
74153
  /**
74125
74154
  * The slash-command suggestion overlay, mirroring Claude Code's
74126
74155
  * `PromptInputFooterSuggestions.tsx` (command layout only) wrapped in the
@@ -74200,7 +74229,7 @@ function CommandSuggestions({ commands, selectedIndex, columns, query = "", acce
74200
74229
  });
74201
74230
  }
74202
74231
  //#endregion
74203
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/FileSuggestions.js
74232
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/FileSuggestions.js
74204
74233
  /**
74205
74234
  * The `@` file-completion overlay in CC's suggestion style, wrapped in the
74206
74235
  * shared rounded `SuggestionCard` (与 `/` 命令菜单同一视觉语言):
@@ -74299,7 +74328,7 @@ function FileSuggestions({ files, selectedIndex, columns, query = "", accent, on
74299
74328
  });
74300
74329
  }
74301
74330
  //#endregion
74302
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HelpMenu.js
74331
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HelpMenu.js
74303
74332
  /**
74304
74333
  * The `?` help menu, mirroring Claude Code's `PromptInputHelpMenu.tsx`
74305
74334
  * (three-column shortcut layout, trimmed to the keys dsh-tui actually binds).
@@ -74490,7 +74519,7 @@ function HelpCommandRow({ command, onPick }) {
74490
74519
  });
74491
74520
  }
74492
74521
  //#endregion
74493
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptInput.js
74522
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PromptInput.js
74494
74523
  const HISTORY_LIMIT = 50;
74495
74524
  /**
74496
74525
  * Paste fold (CC-style collapse with a visible preview, no black box):
@@ -76770,7 +76799,7 @@ function wordSelectionAt(text, offset, lo, hi) {
76770
76799
  };
76771
76800
  }
76772
76801
  //#endregion
76773
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/GoalTodoPanel.js
76802
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/GoalTodoPanel.js
76774
76803
  /** Maximum todo rows shown before the overflow line. */
76775
76804
  const MAX_TODOS = 8;
76776
76805
  const PHASE_LABEL = {
@@ -77016,7 +77045,7 @@ function GoalTodoPanel({ channel, collapsed = false, onToggle }) {
77016
77045
  });
77017
77046
  }
77018
77047
  //#endregion
77019
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/AutoRecapRow.js
77048
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/AutoRecapRow.js
77020
77049
  /**
77021
77050
  * Auto-recap row (`dsh-tui.recapOnOpen` setting): a quiet, dim recap shown
77022
77051
  * at the bottom of the transcript after an automatic summary on session
@@ -77096,7 +77125,7 @@ function summarizeLoadedContext(context) {
77096
77125
  return parts.join(" · ");
77097
77126
  }
77098
77127
  //#endregion
77099
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LoadedContextPanel.js
77128
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LoadedContextPanel.js
77100
77129
  /** One named entry (section or dynamic context) with its full text. */
77101
77130
  function Entry({ entry }) {
77102
77131
  return (0, import_jsx_runtime.jsxs)(ThemedBox, {
@@ -77233,7 +77262,7 @@ function LoadedContextPanel({ context, open, onToggle }) {
77233
77262
  });
77234
77263
  }
77235
77264
  //#endregion
77236
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MoonPhaseSpinner.js
77265
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/MoonPhaseSpinner.js
77237
77266
  /**
77238
77267
  * Terminal-safe construction cycle derived from the supplied China Unicom
77239
77268
  * knot mark. Every frame is one display cell, unlike emoji on mixed terminals.
@@ -77265,7 +77294,7 @@ function UnicomKnotSpinner({ time }) {
77265
77294
  });
77266
77295
  }
77267
77296
  //#endregion
77268
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityLine.js
77297
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityLine.js
77269
77298
  /**
77270
77299
  * Context-pressure percentage (0–100) from the last usage snapshot, or
77271
77300
  * undefined when unknown — shared by the spinner-line and status-line
@@ -77337,7 +77366,7 @@ function ActivityLine({ activity, activityFrames, warnPct, warnDanger, suffix })
77337
77366
  });
77338
77367
  }
77339
77368
  //#endregion
77340
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/guards.js
77369
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/guards.js
77341
77370
  /**
77342
77371
  * Structural guards for the session events the trajectory projection reads.
77343
77372
  *
@@ -77561,7 +77590,7 @@ function readTodos(data) {
77561
77590
  };
77562
77591
  }
77563
77592
  //#endregion
77564
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/types.js
77593
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/types.js
77565
77594
  /**
77566
77595
  * Trajectory projection — the data contract shared by the adapter-side fold
77567
77596
  * and the UI-side scene (issue #80 evolution).
@@ -77628,7 +77657,7 @@ function previewText(raw, limit) {
77628
77657
  return `${flat.slice(0, limit)}…`;
77629
77658
  }
77630
77659
  //#endregion
77631
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/projection.js
77660
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/projection.js
77632
77661
  /**
77633
77662
  * Trajectory projection — folding the session event log into ledger nodes.
77634
77663
  *
@@ -78207,7 +78236,7 @@ function extendTrajectory(previous, events) {
78207
78236
  };
78208
78237
  }
78209
78238
  //#endregion
78210
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/aggregate.js
78239
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/aggregate.js
78211
78240
  /**
78212
78241
  * Trajectory aggregate — the hotspot view's data and the session totals.
78213
78242
  *
@@ -78428,7 +78457,7 @@ function modelTiming(timing) {
78428
78457
  };
78429
78458
  }
78430
78459
  //#endregion
78431
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/inspect.js
78460
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/inspect.js
78432
78461
  /**
78433
78462
  * Inspector detail — full content, resolved on demand.
78434
78463
  *
@@ -78588,7 +78617,7 @@ function inspectNode(node, events) {
78588
78617
  };
78589
78618
  }
78590
78619
  //#endregion
78591
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/wave.js
78620
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/trajectory/wave.js
78592
78621
  /**
78593
78622
  * Wave band projection — the whole session compressed onto one row of glyphs.
78594
78623
  *
@@ -78761,7 +78790,7 @@ function columnOfIndex(band, ledgerIndex) {
78761
78790
  return 0;
78762
78791
  }
78763
78792
  //#endregion
78764
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/MiniWake.js
78793
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/MiniWake.js
78765
78794
  /**
78766
78795
  * The mini wake — the whole session as a dozen glyphs in the status line.
78767
78796
  *
@@ -78864,7 +78893,7 @@ function toHex$1(colour) {
78864
78893
  return `#${hex(parsed.r)}${hex(parsed.g)}${hex(parsed.b)}`;
78865
78894
  }
78866
78895
  //#endregion
78867
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusMetrics.js
78896
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusMetrics.js
78868
78897
  /**
78869
78898
  * Status-line metric renderers, ported from two pi extensions:
78870
78899
  * - `pi-nano-context`: segmented context progress bar (morandi pastel
@@ -79140,7 +79169,7 @@ function tpsStats(samples, nowMs) {
79140
79169
  };
79141
79170
  }
79142
79171
  //#endregion
79143
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ContextBarView.js
79172
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ContextBarView.js
79144
79173
  /** Free-segment colors, mirroring StatusMetrics' dark-theme defaults. */
79145
79174
  const FREE_FILL = "#E8E8E8";
79146
79175
  const FREE_TEXT = "#4A4A4A";
@@ -79207,7 +79236,7 @@ function ContextBarView({ segments, usedTokens, contextWindow, width, colors, on
79207
79236
  });
79208
79237
  }
79209
79238
  //#endregion
79210
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeTokenTrend.js
79239
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/chatCodeTokenTrend.js
79211
79240
  /**
79212
79241
  * ChatCode 今日总 Token 消耗量查询(移植自 chatcode-cli 的 chatCodeTokenTrend)。
79213
79242
  *
@@ -79282,7 +79311,7 @@ async function fetchTodayTotalTokens(post, signal) {
79282
79311
  }
79283
79312
  }
79284
79313
  //#endregion
79285
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useTodayTotalTokens.js
79314
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useTodayTotalTokens.js
79286
79315
  /**
79287
79316
  * 「今日总Token消耗」数据源 Hook(移植自 chatcode-cli 的 useTokenDashboard)。
79288
79317
  *
@@ -79314,7 +79343,7 @@ function useTodayTotalTokens(enabled = true) {
79314
79343
  return { totalTokens };
79315
79344
  }
79316
79345
  //#endregion
79317
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TokenDashboard.js
79346
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TokenDashboard.js
79318
79347
  const BAR_WIDTH = 14;
79319
79348
  /** Yuanjing-compatible percentage label centered inside a fixed-width bar. */
79320
79349
  function LabeledBar({ ratio, percent }) {
@@ -79390,7 +79419,7 @@ function TokenDashboard({ todayTokens, usedTokens, contextWindow, compact = fals
79390
79419
  });
79391
79420
  }
79392
79421
  //#endregion
79393
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusLine.js
79422
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/StatusLine.js
79394
79423
  /** Stable fallback for stubbed channels: verify/repro harnesses render the
79395
79424
  * real Chat with partial channel literals that predate the jobs field. */
79396
79425
  const NO_BACKGROUND_JOBS = [];
@@ -80301,7 +80330,7 @@ const fallbackSymbols = {
80301
80330
  const figures = isUnicodeSupported() ? mainSymbols : fallbackSymbols;
80302
80331
  Object.entries(specialMainSymbols);
80303
80332
  //#endregion
80304
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Byline.js
80333
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/Byline.js
80305
80334
  /**
80306
80335
  * Joins children with a middot separator (" · ") for inline metadata display
80307
80336
  * (in the Claude Code visual language). Automatically filters out
@@ -80317,7 +80346,7 @@ function Byline({ children }) {
80317
80346
  }), child] }, (0, import_react.isValidElement)(child) ? child.key ?? index : index)) });
80318
80347
  }
80319
80348
  //#endregion
80320
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/GlimmerMessage.js
80349
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/GlimmerMessage.js
80321
80350
  const ERROR_RED$1 = {
80322
80351
  r: 171,
80323
80352
  g: 43,
@@ -80407,7 +80436,7 @@ function GlimmerMessage({ message, mode, messageColor, glimmerIndex, flashOpacit
80407
80436
  })] });
80408
80437
  }
80409
80438
  //#endregion
80410
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerGlyph.js
80439
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerGlyph.js
80411
80440
  const DEFAULT_CHARACTERS = getDefaultCharacters();
80412
80441
  const SPINNER_FRAMES$1 = [...DEFAULT_CHARACTERS, ...[...DEFAULT_CHARACTERS].reverse()];
80413
80442
  const REDUCED_MOTION_DOT = "●";
@@ -80468,7 +80497,7 @@ function SpinnerGlyph({ frame, messageColor, stalledIntensity = 0, reducedMotion
80468
80497
  });
80469
80498
  }
80470
80499
  //#endregion
80471
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/useStalledAnimation.js
80500
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/useStalledAnimation.js
80472
80501
  /**
80473
80502
  * Tracks the transition to red when tokens stop flowing (mirroring Claude Code's `Spinner/useStalledAnimation.ts`). Driven by the parent's animation
80474
80503
  * clock time instead of independent intervals, so it slows down when the
@@ -80525,7 +80554,7 @@ function useStalledAnimation(time, currentResponseLength, hasActiveTools = false
80525
80554
  };
80526
80555
  }
80527
80556
  //#endregion
80528
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerAnimationRow.js
80557
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Spinner/SpinnerAnimationRow.js
80529
80558
  const SEP_WIDTH = stringWidth$1(" · ");
80530
80559
  const THINKING_BARE_WIDTH = stringWidth$1("thinking");
80531
80560
  const SHOW_TOKENS_AFTER_MS = 3e4;
@@ -80692,7 +80721,7 @@ function SpinnerModeGlyph({ mode }) {
80692
80721
  }
80693
80722
  }
80694
80723
  //#endregion
80695
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkingSpinner.js
80724
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkingSpinner.js
80696
80725
  /**
80697
80726
  * The working spinner block shown between the transcript and the prompt
80698
80727
  * input while a turn is in flight. Mirrors Claude Code's `Spinner.tsx`
@@ -80762,7 +80791,7 @@ function useThinkingStatus(isThinking) {
80762
80791
  return thinkingStatus;
80763
80792
  }
80764
80793
  //#endregion
80765
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ModelPicker.js
80794
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ModelPicker.js
80766
80795
  /**
80767
80796
  * Model picker in the CC ModelPicker style: a permission-colored Pane with
80768
80797
  * the rows as Select entries (❯ focus pointer, ✓ on the active row,
@@ -80822,7 +80851,7 @@ function ModelPicker(props) {
80822
80851
  });
80823
80852
  }
80824
80853
  //#endregion
80825
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PluginSceneBoundary.js
80854
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PluginSceneBoundary.js
80826
80855
  /**
80827
80856
  * Error boundary for plugin scenes (dsh-tui-scenes). A scene component is
80828
80857
  * third-party code rendered inside Chat's tree: without a boundary a render
@@ -80848,7 +80877,7 @@ var PluginSceneBoundary = class extends import_react.Component {
80848
80877
  }
80849
80878
  };
80850
80879
  //#endregion
80851
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/LoadingState.js
80880
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/design-system/LoadingState.js
80852
80881
  const SPINNER_FRAMES = [...getDefaultCharacters(), ...[...getDefaultCharacters()].reverse()];
80853
80882
  /**
80854
80883
  * A spinner with a loading message for async operations, mirroring Claude Code's design-system/LoadingState.tsx (using the small animated glyph).
@@ -80879,7 +80908,7 @@ function LoadingState({ message, bold = false, dimColor = false, subtitle }) {
80879
80908
  });
80880
80909
  }
80881
80910
  //#endregion
80882
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SkillsPicker.js
80911
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SkillsPicker.js
80883
80912
  /** 来源桶 → 本地化标签(未知桶原样显示,SkillSource 对自定义桶开放)。 */
80884
80913
  function sourceLabel(source) {
80885
80914
  switch (source) {
@@ -80957,7 +80986,7 @@ function SkillsPickerLoading() {
80957
80986
  });
80958
80987
  }
80959
80988
  //#endregion
80960
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SearchBox.js
80989
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SearchBox.js
80961
80990
  /**
80962
80991
  * Window a single-line query around the caret so the visible slice fits
80963
80992
  * `avail` display cells (CJK display width, code-point safe — `[...s]`
@@ -81095,7 +81124,7 @@ function SearchBox({ query, placeholder = "Search…", isFocused, isTerminalFocu
81095
81124
  });
81096
81125
  }
81097
81126
  //#endregion
81098
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionListRow.js
81127
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionListRow.js
81099
81128
  /**
81100
81129
  * One session in the browser's list: a title line and a metadata line.
81101
81130
  *
@@ -81176,7 +81205,7 @@ function SessionListRow({ session, width, depth, focused, pinned, now, onClick,
81176
81205
  });
81177
81206
  }
81178
81207
  //#endregion
81179
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionPreview.js
81208
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/SessionPreview.js
81180
81209
  /** Role marker and colour for a preview entry. */
81181
81210
  const ROLE = {
81182
81211
  user: {
@@ -81267,7 +81296,7 @@ function SessionPreview({ session, entries, loading, width, height, home, now })
81267
81296
  });
81268
81297
  }
81269
81298
  //#endregion
81270
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/WorkspaceListRow.js
81299
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/sessions/WorkspaceListRow.js
81271
81300
  /** One two-line working-directory choice in the /resume browser. */
81272
81301
  function WorkspaceListRow({ workspace, all, totalProjects, totalSessions, width, focused, selected, home, now, onClick }) {
81273
81302
  const [hovered, setHovered] = (0, import_react.useState)(false);
@@ -81312,7 +81341,7 @@ function WorkspaceListRow({ workspace, all, totalProjects, totalSessions, width,
81312
81341
  });
81313
81342
  }
81314
81343
  //#endregion
81315
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/view.js
81344
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessions/view.js
81316
81345
  /** The browser's default view: this project, conversations only. */
81317
81346
  const DEFAULT_FILTERS = {
81318
81347
  query: "",
@@ -81601,7 +81630,7 @@ function windowEnd(rows, top, budget) {
81601
81630
  return at;
81602
81631
  }
81603
81632
  //#endregion
81604
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionPins.js
81633
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/sessionPins.js
81605
81634
  /**
81606
81635
  * Pinned sessions for the `/resume` browser, kept at
81607
81636
  * `~/.chatcode-cli/tui/session-pins.json` (a JSON array of session ids) so the pins
@@ -81750,7 +81779,7 @@ function setSessionPinned(id, pinned, dir = DATA_DIR) {
81750
81779
  }
81751
81780
  }
81752
81781
  //#endregion
81753
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionBrowser.js
81782
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionBrowser.js
81754
81783
  /**
81755
81784
  * Rows the layout cannot do without: the header, the four-row scope/search
81756
81785
  * card, the notice slot, and the hints. Everything else yields before these.
@@ -82636,7 +82665,7 @@ function SessionBrowser({ channel, home, sameProject, onClose }) {
82636
82665
  });
82637
82666
  }
82638
82667
  //#endregion
82639
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionTree.js
82668
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/SessionTree.js
82640
82669
  /** Local HH:MM (or MM/DD HH:MM when older than this year). */
82641
82670
  function formatTime(at, now) {
82642
82671
  const date = new Date(at);
@@ -83392,7 +83421,7 @@ function PreviewPane({ entry, meta, width, height, liveSessionId, now, compact }
83392
83421
  });
83393
83422
  }
83394
83423
  //#endregion
83395
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Settings.js
83424
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Settings.js
83396
83425
  /** Pick the provider-owned translation for the active language. */
83397
83426
  function pick(text, descriptions) {
83398
83427
  return descriptions?.[getLang()] ?? text;
@@ -84142,7 +84171,7 @@ function Settings({ channel, onClose, initialGroup }) {
84142
84171
  });
84143
84172
  }
84144
84173
  //#endregion
84145
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspacePicker.js
84174
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspacePicker.js
84146
84175
  const WINDOW$1 = 8;
84147
84176
  /** `/workspace` target picker contributed by local and optional providers. */
84148
84177
  function WorkspacePicker({ targets, focusIndex, currentCwd, onPick }) {
@@ -84180,7 +84209,7 @@ function WorkspacePicker({ targets, focusIndex, currentCwd, onPick }) {
84180
84209
  });
84181
84210
  }
84182
84211
  //#endregion
84183
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Select.js
84212
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/Select.js
84184
84213
  /**
84185
84214
  * A single-choice select list in the CC CustomSelect style (ported visual:
84186
84215
  * ListItem rows with ❯ focus pointer, ✓ selected checkmark, descriptions,
@@ -84207,7 +84236,7 @@ function Select({ options, focusIndex, selectedValue, visibleOptionCount = 5, on
84207
84236
  });
84208
84237
  }
84209
84238
  //#endregion
84210
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceMenuPicker.js
84239
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceMenuPicker.js
84211
84240
  /**
84212
84241
  * Bare `/workspace` action menu: the built-in subcommands (resume / rename /
84213
84242
  * open) plus any dynamically registered workspace extensions. Enter runs the
@@ -84248,7 +84277,7 @@ function WorkspaceMenuPicker({ options, focusIndex, onPick }) {
84248
84277
  });
84249
84278
  }
84250
84279
  //#endregion
84251
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceFlowPicker.js
84280
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/WorkspaceFlowPicker.js
84252
84281
  const WINDOW = 8;
84253
84282
  /** Generic nested choice surface returned by a workspace provider command. */
84254
84283
  function WorkspaceFlowPicker({ title, choices, focusIndex, busy = false, input = null, onPick }) {
@@ -84306,7 +84335,7 @@ function WorkspaceFlowPicker({ title, choices, focusIndex, busy = false, input =
84306
84335
  });
84307
84336
  }
84308
84337
  //#endregion
84309
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityPicker.js
84338
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ActivityPicker.js
84310
84339
  /**
84311
84340
  * Working-activity indicator picker in the CC ModelPicker style (ported
84312
84341
  * from the pi extension's `/activity` interactive select): a
@@ -84348,7 +84377,7 @@ function ActivityPicker({ focusIndex, currentPreset, onPick }) {
84348
84377
  });
84349
84378
  }
84350
84379
  //#endregion
84351
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ColorPicker.js
84380
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ColorPicker.js
84352
84381
  /**
84353
84382
  * Session accent color picker (bare `/color`): a permission-colored Pane
84354
84383
  * listing the whole palette with a colored swatch per row, `❯` focus
@@ -84392,7 +84421,7 @@ function ColorPicker({ focusIndex, currentColor, onPick }) {
84392
84421
  });
84393
84422
  }
84394
84423
  //#endregion
84395
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortSlider.js
84424
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/EffortSlider.js
84396
84425
  /**
84397
84426
  * Reasoning-effort slider (`/effort`): a rheostat row of the live route's
84398
84427
  * adapter-owned levels in adapter order, ←/→ moving focus (each move applies
@@ -84451,7 +84480,7 @@ function EffortSlider({ options, focusIndex, currentId, onPick }) {
84451
84480
  });
84452
84481
  }
84453
84482
  //#endregion
84454
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PresetPicker.js
84483
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PresetPicker.js
84455
84484
  /**
84456
84485
  * Agent-preset picker (issue #8) in the CC ModelPicker style — same chrome
84457
84486
  * as the ActivityPicker: a permission-colored Pane listing every roster
@@ -84495,7 +84524,7 @@ function PresetPicker({ presets, focusIndex, currentPreset, onPick }) {
84495
84524
  });
84496
84525
  }
84497
84526
  //#endregion
84498
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PermissionsPicker.js
84527
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PermissionsPicker.js
84499
84528
  /**
84500
84529
  * `/permission` sandbox-preset picker. The command itself is registered by
84501
84530
  * the harness side (dsh-sandbox-policy / dsh-base permission-presets row);
@@ -84542,7 +84571,7 @@ function PermissionsPicker({ options, focusIndex, currentValue, cwd, onPick }) {
84542
84571
  });
84543
84572
  }
84544
84573
  //#endregion
84545
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PlanPicker.js
84574
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/PlanPicker.js
84546
84575
  /**
84547
84576
  * `/plan` on/off picker. The command itself is registered by dsh-plan-mode
84548
84577
  * on the harness side; bare `/plan` opens this picker (with the current
@@ -84587,7 +84616,7 @@ function PlanPicker({ focusIndex, currentOn, onPick }) {
84587
84616
  });
84588
84617
  }
84589
84618
  //#endregion
84590
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LangPicker.js
84619
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/LangPicker.js
84591
84620
  /**
84592
84621
  * `/lang` en/zh picker: bare `/lang` opens this picker (the current language
84593
84622
  * marked) and Enter applies the choice through the same path as `/lang <id>`.
@@ -84626,7 +84655,7 @@ function LangPicker({ focusIndex, currentLang, onPick }) {
84626
84655
  });
84627
84656
  }
84628
84657
  //#endregion
84629
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThemePicker.js
84658
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThemePicker.js
84630
84659
  /** One double-block swatch character per preview key, in a row. */
84631
84660
  const SWATCH = "██";
84632
84661
  /** Theme keys previewed in the picker, chosen for visual contrast. */
@@ -84712,7 +84741,7 @@ function ThemePicker({ focusIndex, currentTheme, themeHost, onPick }) {
84712
84741
  });
84713
84742
  }
84714
84743
  //#endregion
84715
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThinkingToggle.js
84744
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ThinkingToggle.js
84716
84745
  /**
84717
84746
  * The `/thinking` display dialog: a permission-colored Pane with a bold
84718
84747
  * title, the Shown/Hidden select, and the Enter/Esc hint line.
@@ -84761,7 +84790,7 @@ function ThinkingToggle({ currentValue, focusIndex, onPick }) {
84761
84790
  });
84762
84791
  }
84763
84792
  //#endregion
84764
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HistorySearchDialog.js
84793
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/HistorySearchDialog.js
84765
84794
  /**
84766
84795
  * The ctrl+r history search dialog, in the shape of Claude Code's
84767
84796
  * HistorySearchDialog/FuzzyPicker: a permission-colored Pane with a bold
@@ -84824,7 +84853,7 @@ function formatRelativeAge(ts) {
84824
84853
  return t("time-days-ago", { n: Math.floor(elapsed / 864e5) });
84825
84854
  }
84826
84855
  //#endregion
84827
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RewindPicker.js
84856
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RewindPicker.js
84828
84857
  /**
84829
84858
  * Double-Esc rewind picker (CC's "Double-tap esc to rewind the code and/or
84830
84859
  * conversation to a previous point in time"): lists the user's past messages
@@ -84961,7 +84990,7 @@ function preview(text) {
84961
84990
  return flat.length <= 80 ? flat : `${flat.slice(0, 80)}…`;
84962
84991
  }
84963
84992
  //#endregion
84964
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/BtwPanel.js
84993
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/BtwPanel.js
84965
84994
  /**
84966
84995
  * /btw side-question panel (CC's btw.tsx, inline-pane form like the local
84967
84996
  * pickers): title line with the question, a scrollable answer body (error /
@@ -85045,7 +85074,7 @@ function BtwPanel({ question, answer, error, streaming, onClose, onCopy }) {
85045
85074
  });
85046
85075
  }
85047
85076
  //#endregion
85048
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ReleaseNotesPanel.js
85077
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ReleaseNotesPanel.js
85049
85078
  function ReleaseNotesPanel({ release, onClose }) {
85050
85079
  const scrollRef = import_react.useRef(null);
85051
85080
  const { rows } = useTerminalSize();
@@ -85090,7 +85119,7 @@ function ReleaseNotesPanel({ release, onClose }) {
85090
85119
  });
85091
85120
  }
85092
85121
  //#endregion
85093
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RecapPanel.js
85122
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/RecapPanel.js
85094
85123
  /**
85095
85124
  * `/recap` panel (pi-recap semantics), in the picker/dialog visual
85096
85125
  * language: a permission-colored Pane with a title bar (会话回顾), a
@@ -85211,7 +85240,7 @@ function RecapPanel({ summary, title, error, streaming, titleApplied, onClose, o
85211
85240
  });
85212
85241
  }
85213
85242
  //#endregion
85214
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/tips.js
85243
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/tips.js
85215
85244
  /**
85216
85245
  * 精简 Tips 池 —— 启动首屏轮换(LogoV2)与 `/tips` 命令面板共用。
85217
85246
  *
@@ -85925,7 +85954,7 @@ const TIPS = [
85925
85954
  }
85926
85955
  ];
85927
85956
  //#endregion
85928
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TipsPanel.js
85957
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/TipsPanel.js
85929
85958
  const GROUP_ORDER = [
85930
85959
  "keys",
85931
85960
  "commands",
@@ -86004,7 +86033,7 @@ function TipsPanel({ onClose }) {
86004
86033
  });
86005
86034
  }
86006
86035
  //#endregion
86007
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentCard.js
86036
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentCard.js
86008
86037
  function formatDuration$1(ms) {
86009
86038
  const seconds = Math.floor(ms / 1e3);
86010
86039
  return seconds < 60 ? `${seconds}s` : `${Math.floor(seconds / 60)}m${seconds % 60}s`;
@@ -86059,7 +86088,7 @@ function SubagentCard({ subagent, focused, onClick }) {
86059
86088
  });
86060
86089
  }
86061
86090
  //#endregion
86062
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDashboard.js
86091
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDashboard.js
86063
86092
  /** 可点击 ✕ 退出按钮:整屏/浮层场景的鼠标退出通道(Esc 等价)。 */
86064
86093
  function ExitButton({ onClick }) {
86065
86094
  const [hovered, setHovered] = import_react.useState(false);
@@ -86207,7 +86236,7 @@ function SubagentDashboard({ subagents, onClose, onSelect }) {
86207
86236
  });
86208
86237
  }
86209
86238
  //#endregion
86210
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/JobsPanel.js
86239
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/JobsPanel.js
86211
86240
  function statusInfo(status) {
86212
86241
  const minimal = isMinimalMode();
86213
86242
  switch (status) {
@@ -86495,7 +86524,7 @@ function JobsPanel({ jobs, onClose, onKill }) {
86495
86524
  });
86496
86525
  }
86497
86526
  //#endregion
86498
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDetailScene.js
86527
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/SubagentDetailScene.js
86499
86528
  function formatDuration(ms) {
86500
86529
  if (ms < 1e3) return `${ms}ms`;
86501
86530
  if (ms < 6e4) return `${(ms / 1e3).toFixed(1)}s`;
@@ -86953,7 +86982,7 @@ function FileActionsPanel({ path, isDir, focusIndex, onPick }) {
86953
86982
  });
86954
86983
  }
86955
86984
  //#endregion
86956
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ProductivityPickers.js
86985
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/ProductivityPickers.js
86957
86986
  function oneLine(text, max = 70) {
86958
86987
  const compact = text.replace(/\s+/gu, " ").trim();
86959
86988
  return compact.length > max ? `${compact.slice(0, max - 1)}…` : compact;
@@ -87045,7 +87074,7 @@ function DiffLoading() {
87045
87074
  });
87046
87075
  }
87047
87076
  //#endregion
87048
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/productivityCommands.js
87077
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/productivityCommands.js
87049
87078
  /** `/copy` argument is a one-based reply age; omission selects the latest. */
87050
87079
  function parseCopyIndex(raw, count) {
87051
87080
  const value = raw.trim();
@@ -87098,7 +87127,7 @@ function gitDiffLines(report, labels) {
87098
87127
  ];
87099
87128
  }
87100
87129
  //#endregion
87101
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sessionOrganizationCommands.js
87130
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/sessionOrganizationCommands.js
87102
87131
  /** Compact duration suitable for a terminal report row. */
87103
87132
  function formatStatsDuration(ms) {
87104
87133
  if (ms < 1e3) return `${Math.round(ms)} ms`;
@@ -87144,7 +87173,7 @@ function parsePresetManagement(input) {
87144
87173
  return { kind: "invalid" };
87145
87174
  }
87146
87175
  //#endregion
87147
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workflowCommands.js
87176
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/workflowCommands.js
87148
87177
  const ALIASES = {
87149
87178
  map: "inspect",
87150
87179
  fixit: "repair",
@@ -87199,7 +87228,7 @@ function buildWorkflowCommand(name, rawInput = "") {
87199
87228
  };
87200
87229
  }
87201
87230
  //#endregion
87202
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/urlGuard.js
87231
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/utils/urlGuard.js
87203
87232
  const EXTERNAL_SCHEME = /^https?:\/\//i;
87204
87233
  /**
87205
87234
  * Classify a clicked link target. Mirrors the previous handleOpenTarget
@@ -87224,7 +87253,7 @@ function classifyOpenTarget(url) {
87224
87253
  return { kind: "rejected" };
87225
87254
  }
87226
87255
  //#endregion
87227
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useExternalVersion.js
87256
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/hooks/useExternalVersion.js
87228
87257
  /**
87229
87258
  * Subscribe to an external store's version counter at DEFAULT lane.
87230
87259
  *
@@ -87273,7 +87302,7 @@ function useExternalVersion(subscribe, getVersion, enabled = true) {
87273
87302
  return version;
87274
87303
  }
87275
87304
  //#endregion
87276
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/WaveBand.js
87305
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/WaveBand.js
87277
87306
  /**
87278
87307
  * The wake — the whole session drawn as one row of glyphs.
87279
87308
  *
@@ -87410,7 +87439,7 @@ function toHex(colour) {
87410
87439
  return `#${hex(parsed.r)}${hex(parsed.g)}${hex(parsed.b)}`;
87411
87440
  }
87412
87441
  //#endregion
87413
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Ledger.js
87442
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Ledger.js
87414
87443
  /**
87415
87444
  * The ledger — one line per event, columns aligned across every row.
87416
87445
  *
@@ -87656,7 +87685,7 @@ function Ledger({ rows, start, height, cursor, width, tick, arrivalTick, arrival
87656
87685
  });
87657
87686
  }
87658
87687
  //#endregion
87659
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Inspector.js
87688
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/Inspector.js
87660
87689
  /**
87661
87690
  * The inspector — full detail for the focused row, in a fixed-height slot.
87662
87691
  *
@@ -87762,7 +87791,7 @@ function Inspector({ node, detail, height, width, expanded, scroll }) {
87762
87791
  });
87763
87792
  }
87764
87793
  //#endregion
87765
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/HotspotView.js
87794
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/components/trajectory/HotspotView.js
87766
87795
  /**
87767
87796
  * The hotspot view — the session ranked by cost instead of ordered by time.
87768
87797
  *
@@ -87925,7 +87954,7 @@ function HotspotView({ agg, sort, width, height, cursor, tick, switchTick, onRow
87925
87954
  });
87926
87955
  }
87927
87956
  //#endregion
87928
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/query.js
87957
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectory/query.js
87929
87958
  /**
87930
87959
  * Trajectory query — whole-session structured filtering.
87931
87960
  *
@@ -88121,7 +88150,7 @@ function applyQuery(nodes, query) {
88121
88150
  };
88122
88151
  }
88123
88152
  //#endregion
88124
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/TrajectoryScene.js
88153
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/TrajectoryScene.js
88125
88154
  /**
88126
88155
  * The trajectory scene — the session's own screen.
88127
88156
  *
@@ -88609,7 +88638,7 @@ function TrajectoryScene({ channel, build, onClose }) {
88609
88638
  });
88610
88639
  }
88611
88640
  //#endregion
88612
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/LoadedContextScene.js
88641
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/LoadedContextScene.js
88613
88642
  /** Build the non-empty pages shown by the loaded-context inspector. */
88614
88643
  function contextPages(context) {
88615
88644
  const pages = [];
@@ -88793,7 +88822,7 @@ function LoadedContextScene({ context, onClose }) {
88793
88822
  });
88794
88823
  }
88795
88824
  //#endregion
88796
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/AgentView.js
88825
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/AgentView.js
88797
88826
  /** Rows the layout cannot do without: header, model/cwd line, dispatch
88798
88827
  * input, hints. */
88799
88828
  const MANDATORY_LINES = 4;
@@ -89397,7 +89426,7 @@ function AgentView({ channel, home, approval, onApprove, returnSessionId, onClos
89397
89426
  });
89398
89427
  }
89399
89428
  //#endregion
89400
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectoryPrefs.js
89429
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/trajectoryPrefs.js
89401
89430
  /**
89402
89431
  * Persisted "the user has seen the trajectory" flag, at
89403
89432
  * `~/.chatcode-cli/tui/trajectory.json`.
@@ -89457,7 +89486,7 @@ function writeTrajectorySeen(dir = DATA_DIR) {
89457
89486
  }
89458
89487
  }
89459
89488
  //#endregion
89460
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/chatOverlay.js
89489
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/chatOverlay.js
89461
89490
  const NO_OVERLAY = { kind: "none" };
89462
89491
  /**
89463
89492
  * One-step wrap-around cursor move — the single source of the wrapping rule
@@ -89567,7 +89596,7 @@ function dialogOverlayVisible(overlay, gates) {
89567
89596
  }
89568
89597
  }
89569
89598
  //#endregion
89570
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Chat.js
89599
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/screens/Chat.js
89571
89600
  const LOGOUT_EXIT_DELAY_MS = 200;
89572
89601
  /** Shared empty snapshot for hosts whose channel has no event log. */
89573
89602
  const NO_EVENTS = [];
@@ -93365,7 +93394,7 @@ function ModelPickerLoading() {
93365
93394
  });
93366
93395
  }
93367
93396
  //#endregion
93368
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/webLauncher.js
93397
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/webLauncher.js
93369
93398
  const MAIN_CLI_PACKAGE = "@chatcode/chatcode-cli";
93370
93399
  function asError(value) {
93371
93400
  return value instanceof Error ? value : new Error(String(value));
@@ -93486,7 +93515,7 @@ function launchWebFrontend(cwd, options = {}) {
93486
93515
  }
93487
93516
  }
93488
93517
  //#endregion
93489
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/inject-channel.js
93518
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/inject-channel.js
93490
93519
  /**
93491
93520
  * External injection channel — lets an out-of-process editor integration
93492
93521
  * (e.g. the `dsh.nvim` Neovim plugin) push text into the running TUI's
@@ -93681,7 +93710,7 @@ function openInjectChannel(sessionId, cwd, handlers, onError) {
93681
93710
  };
93682
93711
  }
93683
93712
  //#endregion
93684
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-auth.js
93713
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-auth.js
93685
93714
  const CHATCODE_CLI_OAUTH_TOKEN = "CHATCODE_CLI_OAUTH_TOKEN";
93686
93715
  const DEFAULT_SERVICE_WAIT_MS = 75e3;
93687
93716
  function authService(ctx) {
@@ -93859,7 +93888,7 @@ async function requireChatCodeStartupLogin(ctx, options) {
93859
93888
  return "ready";
93860
93889
  }
93861
93890
  //#endregion
93862
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-api.js
93891
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/chatcode-api.js
93863
93892
  /** Bind authenticated statistics requests to one TUI lifetime. */
93864
93893
  function createChatCodeAuthorizedPost(ctx) {
93865
93894
  const lifetime = new AbortController();
@@ -93898,7 +93927,7 @@ function createChatCodeAuthorizedPost(ctx) {
93898
93927
  };
93899
93928
  }
93900
93929
  //#endregion
93901
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.15_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/plugin.js
93930
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.16_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/plugin.js
93902
93931
  /**
93903
93932
  * Interactive TUI front door for ChatCode CLI agents.
93904
93933
  *