@chatcode/chatcode-cli 3.0.2-rc.4 → 3.0.2-rc.5

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 (32) hide show
  1. package/README.i18n.yaml +4 -4
  2. package/README.md +4 -0
  3. package/README.zh.md +4 -0
  4. package/lib/{command-errors-uo0j5Wi8.js → command-errors-B-jCwfLt.js} +12 -12
  5. package/lib/{command-trees-D4SZ2sGk.js → command-trees-CdgUsoW4.js} +2 -2
  6. package/lib/{component-identity-C02l24iT.js → component-identity-ax93NpoH.js} +3 -3
  7. package/lib/{extension-events-D6DbIdnG.js → extension-events-DJTP1cCG.js} +20 -20
  8. package/lib/{host-access-BdqThvw7.js → host-access-D3lpiaUY.js} +1 -1
  9. package/lib/{keymap-DFoC50J1.js → keymap-DAr6MX8m.js} +2 -2
  10. package/lib/{plugin-B37GhsdI.js → plugin-BGw2QmPK.js} +1243 -524
  11. package/lib/{scenes-Dk6DYkO9.js → scenes-BeuL5ow2.js} +3 -3
  12. package/lib/{settings-sections-D4Ozrymr.js → settings-sections-dGk8gNU7.js} +3 -3
  13. package/lib/{themes-DDI83rNa.js → themes-O-UQAfC7.js} +12 -12
  14. package/lib/tui-compat-command-trees.js +1 -1
  15. package/lib/tui-compat-extensions.js +3 -3
  16. package/lib/tui-compat-plugin-host.js +5 -5
  17. package/lib/tui-compat-scenes.js +1 -1
  18. package/lib/tui-compat-settings-sections.js +1 -1
  19. package/lib/tui-compat-working-activity.js +1 -1
  20. package/lib/tui-compat-workspaces.js +1 -1
  21. package/lib/tui-compat.js +41 -9
  22. package/lib/{tuiDisplayPrefs-CJ9aBVkB.js → tuiDisplayPrefs-DdU4O_sF.js} +44 -2
  23. package/lib/types/tui-compat.d.ts +2 -0
  24. package/lib/{workspaces-Dt_J35P0.js → workspaces-CE18wA21.js} +2 -2
  25. package/package.json +25 -25
  26. package/runtime/manifest.json +1 -1
  27. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-account/lib/client.js +2 -2
  28. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
  29. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
  30. package/runtime/node_modules/@deepseek-ai/dsh-compaction-basic/lib/index.js +84 -8
  31. package/runtime/node_modules/@deepseek-ai/dsh-compaction-basic/lib/types/region.d.ts +9 -0
  32. package/runtime/node_modules/@deepseek-ai/dsh-compaction-basic/lib/types/summarizer.d.ts +7 -0
@@ -1,7 +1,7 @@
1
- import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-BdqThvw7.js";
2
- import { n as componentIdentityOf } from "./component-identity-C02l24iT.js";
1
+ import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-D3lpiaUY.js";
2
+ import { n as componentIdentityOf } from "./component-identity-ax93NpoH.js";
3
3
  import { Service } from "@deepseek-ai/cordis";
4
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/scenes.js
4
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/scenes.js
5
5
  /** Provider-neutral full-screen scene registry for terminal front doors. */
6
6
  const name = "dsh-tui-scenes";
7
7
  /**
@@ -1,6 +1,6 @@
1
- import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-BdqThvw7.js";
1
+ import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-D3lpiaUY.js";
2
2
  import { Service } from "@deepseek-ai/cordis";
3
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/credentialRefGuard.js
3
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/credentialRefGuard.js
4
4
  /**
5
5
  * Credential-ref reservation guard for the plugin settings-section seam.
6
6
  *
@@ -49,7 +49,7 @@ function vetSectionSecretRefs(section) {
49
49
  };
50
50
  }
51
51
  //#endregion
52
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/settings-sections.js
52
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/settings-sections.js
53
53
  /**
54
54
  * Plugin settings-section extension seam for terminal front doors.
55
55
  *
@@ -1,12 +1,12 @@
1
- import { c as parseCombo, i as comboMatchesStrict, r as canonicalCombo, s as fixedReservedCombos, u as reservedActionCombos } from "./keymap-DFoC50J1.js";
2
- import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, r as assertCallerContext, s as requirePluginCaller, t as activationContext } from "./host-access-BdqThvw7.js";
3
- import { n as componentIdentityOf } from "./component-identity-C02l24iT.js";
4
- import { S as DATA_DIR, f as cleanRenderText, p as cleanScalarText } from "./extension-events-D6DbIdnG.js";
1
+ import { c as parseCombo, i as comboMatchesStrict, r as canonicalCombo, s as fixedReservedCombos, u as reservedActionCombos } from "./keymap-DAr6MX8m.js";
2
+ import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, r as assertCallerContext, s as requirePluginCaller, t as activationContext } from "./host-access-D3lpiaUY.js";
3
+ import { n as componentIdentityOf } from "./component-identity-ax93NpoH.js";
4
+ import { S as DATA_DIR, f as cleanRenderText, p as cleanScalarText } from "./extension-events-DJTP1cCG.js";
5
5
  import { readFileSync, readdirSync } from "node:fs";
6
6
  import { join } from "node:path";
7
7
  import { KNOWN_SESSION_EVENT_TYPES } from "@deepseek-ai/dsh-session";
8
8
  import { Context, Service } from "@deepseek-ai/cordis";
9
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/dialogs.js
9
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/dialogs.js
10
10
  /**
11
11
  * Managed plugin dialogs — the pi `ctx.ui.select/confirm/input` seam for
12
12
  * ChatCode CLI TUI. Plugins hand the HOST a declarative request; the TUI renders the
@@ -279,7 +279,7 @@ function getHostDialogStore(runtime) {
279
279
  }
280
280
  }
281
281
  //#endregion
282
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/status.js
282
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/status.js
283
283
  /**
284
284
  * Keyed status-line contributions — pi's `ctx.ui.setStatus(key, text)`.
285
285
  * Each plugin owns a key; setting text shows it, setting undefined clears
@@ -503,7 +503,7 @@ function getHostStatusStore(runtime) {
503
503
  }
504
504
  }
505
505
  //#endregion
506
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/shortcuts.js
506
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/shortcuts.js
507
507
  /**
508
508
  * Plugin keyboard shortcuts — pi's `pi.registerShortcut`. A plugin binds a
509
509
  * combo (`ctrl+shift+p`, `alt+k`, …) to a handler; the chat screen matches
@@ -704,7 +704,7 @@ function getHostShortcuts(runtime) {
704
704
  }
705
705
  }
706
706
  //#endregion
707
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/renderers.js
707
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/renderers.js
708
708
  /**
709
709
  * Custom session-entry renderers — pi's `pi.registerMessageRenderer`. A
710
710
  * plugin that appends its own log-only session events (`session.append(
@@ -876,7 +876,7 @@ function getHostRenderers(runtime) {
876
876
  }
877
877
  }
878
878
  //#endregion
879
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/toast.js
879
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/toast.js
880
880
  /**
881
881
  * Plugin-facing transient notifications — a fire-and-forget toast shown on
882
882
  * the host's existing notification surface (the same toasts the channel
@@ -1011,7 +1011,7 @@ function getHostToastStore(runtime) {
1011
1011
  }
1012
1012
  }
1013
1013
  //#endregion
1014
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/theme.js
1014
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/theme.js
1015
1015
  /**
1016
1016
  * dsh-tui color themes — ChatCode CLI terminal family.
1017
1017
  *
@@ -1486,7 +1486,7 @@ function getActiveTheme() {
1486
1486
  return getTheme(activeThemeName);
1487
1487
  }
1488
1488
  //#endregion
1489
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/customTheme.js
1489
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/customTheme.js
1490
1490
  /**
1491
1491
  * User-defined color themes for dsh-tui.
1492
1492
  *
@@ -1716,7 +1716,7 @@ function indexCustomThemeNames() {
1716
1716
  nameIndexed = true;
1717
1717
  }
1718
1718
  //#endregion
1719
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/themes.js
1719
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/themes.js
1720
1720
  /**
1721
1721
  * Cordis-backed runtime theme contributions.
1722
1722
  *
@@ -1,2 +1,2 @@
1
- import { r as name, t as TuiCommandTreeRuntime } from "./command-trees-D4SZ2sGk.js";
1
+ import { r as name, t as TuiCommandTreeRuntime } from "./command-trees-CdgUsoW4.js";
2
2
  export { TuiCommandTreeRuntime, TuiCommandTreeRuntime as default, name };
@@ -1,9 +1,9 @@
1
- import { a as normalizeCancelDecision, c as installDecisionGuard, n as DECISION_TOTAL_TIMEOUT_MS, o as DECISION_EVENT_PERMISSIONS, t as DECISION_HANDLER_TIMEOUT_MS, x as readGrantStore } from "./extension-events-D6DbIdnG.js";
2
- import { A as TuiDialogRuntime, C as matchShortcut, D as getHostStatusStore, E as TuiStatusStore, O as DIALOG_DEFAULT_TIMEOUT_MS, T as TuiStatusRuntime, _ as TuiToastRuntime, j as TuiDialogStore, k as INPUT_CELLS, t as TuiThemeRuntime, w as parseShortcutCombo, x as TuiShortcutRuntime, y as TuiRendererRuntime } from "./themes-DDI83rNa.js";
1
+ import { a as normalizeCancelDecision, c as installDecisionGuard, n as DECISION_TOTAL_TIMEOUT_MS, o as DECISION_EVENT_PERMISSIONS, t as DECISION_HANDLER_TIMEOUT_MS, x as readGrantStore } from "./extension-events-DJTP1cCG.js";
2
+ import { A as TuiDialogRuntime, C as matchShortcut, D as getHostStatusStore, E as TuiStatusStore, O as DIALOG_DEFAULT_TIMEOUT_MS, T as TuiStatusRuntime, _ as TuiToastRuntime, j as TuiDialogStore, k as INPUT_CELLS, t as TuiThemeRuntime, w as parseShortcutCombo, x as TuiShortcutRuntime, y as TuiRendererRuntime } from "./themes-O-UQAfC7.js";
3
3
  import { appendFileSync, mkdirSync } from "node:fs";
4
4
  import { homedir } from "node:os";
5
5
  import { dirname, join } from "node:path";
6
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/extensions.js
6
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/extensions.js
7
7
  /**
8
8
  * The dsh-tui-extensions row: mounts every plugin-facing UI seam service in
9
9
  * one cordis plugin (one profile row, one patch-surface entry — see issue
@@ -1,10 +1,10 @@
1
- import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, r as assertCallerContext, t as activationContext } from "./host-access-BdqThvw7.js";
2
- import { c as requiresDecisionEvents, o as requireComponentIdentity, r as declaresCommand, s as requiresContract, t as bindComponentIdentity } from "./component-identity-C02l24iT.js";
3
- import { B as createAdmissionCatalog, F as verifyRegistry, I as DECISION_EVENTS_COORDINATE, J as parseManifest, L as TUI_DECISION_EVENT_NAMES, M as loadSpecData, P as verifyContractProfiles, R as TUI_EXTENSION_API_VERSION, Y as projectManifest, c as installDecisionGuard, l as registerDecisionHandler, n as DECISION_TOTAL_TIMEOUT_MS, o as DECISION_EVENT_PERMISSIONS, s as decisionHandlerMetadataOf, t as DECISION_HANDLER_TIMEOUT_MS, u as withDecisionRegistration, x as readGrantStore, z as TUI_EXTENSION_PERMISSION_NAMES } from "./extension-events-D6DbIdnG.js";
4
- import { A as validatePlugin, C as TuiPluginStorageRuntime, D as buildHostDescriptor, E as HOST_SUPPORTED_CONTRACTS, O as negotiate, S as STORAGE_MAX_KEYS, T as TuiEffectLedgerRuntime, b as STORAGE_KEY_MAX_LENGTH, c as OBSERVE_CALLBACK_QUEUE_LIMIT, d as OBSERVE_ID_MAX_CHARS, f as OBSERVE_IMAGE_BASE64_MAX_CHARS, g as TuiMessageObserverRuntime, h as OBSERVE_SUMMARY_CELLS, i as withCommandErrorMapping, k as createContractIndex, l as OBSERVE_CALLBACK_TIMEOUT_MS, m as OBSERVE_SCOPE_MAX_CHARS, n as hasCommandErrorCode, o as stampCommandOwner, p as OBSERVE_IMAGE_MAX_BYTES, r as mapCommandError, s as unstampCommandOwner, t as COMMAND_ERROR_CODES, u as OBSERVE_CONTENT_MAX_CHARS, x as STORAGE_MAX_BYTES, y as PluginStorageError } from "./command-errors-uo0j5Wi8.js";
1
+ import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, r as assertCallerContext, t as activationContext } from "./host-access-D3lpiaUY.js";
2
+ import { c as requiresDecisionEvents, o as requireComponentIdentity, r as declaresCommand, s as requiresContract, t as bindComponentIdentity } from "./component-identity-ax93NpoH.js";
3
+ import { B as createAdmissionCatalog, F as verifyRegistry, I as DECISION_EVENTS_COORDINATE, J as parseManifest, L as TUI_DECISION_EVENT_NAMES, M as loadSpecData, P as verifyContractProfiles, R as TUI_EXTENSION_API_VERSION, Y as projectManifest, c as installDecisionGuard, l as registerDecisionHandler, n as DECISION_TOTAL_TIMEOUT_MS, o as DECISION_EVENT_PERMISSIONS, s as decisionHandlerMetadataOf, t as DECISION_HANDLER_TIMEOUT_MS, u as withDecisionRegistration, x as readGrantStore, z as TUI_EXTENSION_PERMISSION_NAMES } from "./extension-events-DJTP1cCG.js";
4
+ import { A as validatePlugin, C as TuiPluginStorageRuntime, D as buildHostDescriptor, E as HOST_SUPPORTED_CONTRACTS, O as negotiate, S as STORAGE_MAX_KEYS, T as TuiEffectLedgerRuntime, b as STORAGE_KEY_MAX_LENGTH, c as OBSERVE_CALLBACK_QUEUE_LIMIT, d as OBSERVE_ID_MAX_CHARS, f as OBSERVE_IMAGE_BASE64_MAX_CHARS, g as TuiMessageObserverRuntime, h as OBSERVE_SUMMARY_CELLS, i as withCommandErrorMapping, k as createContractIndex, l as OBSERVE_CALLBACK_TIMEOUT_MS, m as OBSERVE_SCOPE_MAX_CHARS, n as hasCommandErrorCode, o as stampCommandOwner, p as OBSERVE_IMAGE_MAX_BYTES, r as mapCommandError, s as unstampCommandOwner, t as COMMAND_ERROR_CODES, u as OBSERVE_CONTENT_MAX_CHARS, x as STORAGE_MAX_BYTES, y as PluginStorageError } from "./command-errors-B-jCwfLt.js";
5
5
  import { randomUUID } from "node:crypto";
6
6
  import { Context, Service } from "@deepseek-ai/cordis";
7
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/plugin-host.js
7
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/plugin-host.js
8
8
  /**
9
9
  * The dsh-tui-plugin-host row: the plugin-interop anchor every later
10
10
  * contract surface hangs off (storage.local, messages.observe, effect
@@ -1,2 +1,2 @@
1
- import { r as name, t as TuiSceneRuntime } from "./scenes-Dk6DYkO9.js";
1
+ import { r as name, t as TuiSceneRuntime } from "./scenes-BeuL5ow2.js";
2
2
  export { TuiSceneRuntime, TuiSceneRuntime as default, name };
@@ -1,2 +1,2 @@
1
- import { i as name, t as TuiSettingsSectionsRuntime } from "./settings-sections-D4Ozrymr.js";
1
+ import { i as name, t as TuiSettingsSectionsRuntime } from "./settings-sections-dGk8gNU7.js";
2
2
  export { TuiSettingsSectionsRuntime, TuiSettingsSectionsRuntime as default, name };
@@ -235,7 +235,7 @@ function apply$1(ctx, config = {}) {
235
235
  }, "working-activity tick timer");
236
236
  }
237
237
  //#endregion
238
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/working-activity.js
238
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/working-activity.js
239
239
  /**
240
240
  * Re-export of the `dsh-working-activity` plugin under this package's own
241
241
  * name, so the bundle patch layer can mount the working-activity row as
@@ -1,2 +1,2 @@
1
- import { a as localWorkspaceUri, n as WORKSPACE_PROVIDER_TIMEOUT_MS, o as name, r as createLocalWorkspaceRuntime, s as parseLocalWorkspaceReference, t as TuiWorkspaceRuntime } from "./workspaces-Dt_J35P0.js";
1
+ import { a as localWorkspaceUri, n as WORKSPACE_PROVIDER_TIMEOUT_MS, o as name, r as createLocalWorkspaceRuntime, s as parseLocalWorkspaceReference, t as TuiWorkspaceRuntime } from "./workspaces-CE18wA21.js";
2
2
  export { TuiWorkspaceRuntime, TuiWorkspaceRuntime as default, WORKSPACE_PROVIDER_TIMEOUT_MS, createLocalWorkspaceRuntime, localWorkspaceUri, name, parseLocalWorkspaceReference };
package/lib/tui-compat.js CHANGED
@@ -1,7 +1,7 @@
1
- import { n as DEFAULT_STATUS_BAR, s as normalizePageMargin } from "./tuiDisplayPrefs-CJ9aBVkB.js";
2
- import { t as SHORTCUT_ACTIONS } from "./keymap-DFoC50J1.js";
1
+ import { _ as withLiveSettings, h as liveConfigValues, n as DEFAULT_STATUS_BAR, s as normalizePageMargin } from "./tuiDisplayPrefs-DdU4O_sF.js";
2
+ import { t as SHORTCUT_ACTIONS } from "./keymap-DAr6MX8m.js";
3
3
  import z from "@deepseek-ai/schemastery";
4
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/force-production-react.js
4
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/force-production-react.js
5
5
  /**
6
6
  * React-reconciler selects its dev/production build at require time from
7
7
  * NODE_ENV; the dev build records one performance.measure() per render into
@@ -14,10 +14,18 @@ import z from "@deepseek-ai/schemastery";
14
14
  */
15
15
  process.env.NODE_ENV ??= "production";
16
16
  //#endregion
17
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/index.js
17
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/index.js
18
+ /**
19
+ * dsh-tui plugin entry. The TUI implementation lives in `./plugin.tsx` (its
20
+ * render path is JSX); this module owns the plugin surface (`name`/`inject`/
21
+ * `Config`/`apply`) at the canonical `src/index.ts` location and delegates
22
+ * `apply` through a dynamic import so entry-scanning tooling and the Loader
23
+ * resolve a plain `.ts` module.
24
+ * @module @chatcode/cco-tui
25
+ */
18
26
  const name = "dsh-tui";
19
- const inject = ["agents"];
20
- const Config = z.object({
27
+ const inject$1 = ["agents"];
28
+ const Config = withLiveSettings(z.object({
21
29
  sessionId: z.string().required(false),
22
30
  provider: z.string().required(false),
23
31
  model: z.string().required(false),
@@ -51,6 +59,9 @@ const Config = z.object({
51
59
  promptSessionLabel: z.boolean().default(false),
52
60
  expandEditor: z.boolean().default(true),
53
61
  smoothStreaming: z.boolean().default(true),
62
+ whale: z.boolean().default(true),
63
+ minimal: z.boolean().default(false),
64
+ recapOnOpen: z.boolean().default(true),
54
65
  statusBar: z.object({
55
66
  compact: z.boolean().default(DEFAULT_STATUS_BAR.compact),
56
67
  tokenDashboard: z.boolean().default(DEFAULT_STATUS_BAR.tokenDashboard),
@@ -83,7 +94,24 @@ const Config = z.object({
83
94
  ]).required(false),
84
95
  approval: z.union(["ask", "never"]).required(false)
85
96
  })).required(false)
86
- });
97
+ }), [
98
+ "fullscreen",
99
+ "lang",
100
+ "diffLayout",
101
+ "thinkingFold",
102
+ "toolBackground",
103
+ "scrollGutter",
104
+ "pageMargin",
105
+ "foldTerminalCommand",
106
+ "promptSessionLabel",
107
+ "expandEditor",
108
+ "smoothStreaming",
109
+ "statusBar",
110
+ "shortcuts",
111
+ "whale",
112
+ "minimal",
113
+ "recapOnOpen"
114
+ ]);
87
115
  /**
88
116
  * Start the interactive TUI front door, delegating to the JSX implementation
89
117
  * in `./plugin.tsx` (see its module doc for the full contract).
@@ -92,8 +120,12 @@ const Config = z.object({
92
120
  * @returns a promise settling when the TUI teardown completes.
93
121
  */
94
122
  async function apply(ctx, config) {
95
- const { apply: ccTuiApply } = await import("./plugin-B37GhsdI.js");
96
- return ccTuiApply(ctx, config);
123
+ const { apply: ccTuiApply } = await import("./plugin-BGw2QmPK.js");
124
+ return ccTuiApply(ctx, liveConfigValues(config));
97
125
  }
98
126
  //#endregion
127
+ //#region lib/types/tui-compat.js
128
+ /** Wait for the shared model default before the TUI creates its first session. */
129
+ const inject = [...inject$1, "agentDefaultModel"];
130
+ //#endregion
99
131
  export { Config, apply, inject, name };
@@ -1,4 +1,46 @@
1
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/tuiDisplayPrefs.js
1
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/settingsCompat.js
2
+ /** Mark display fields editable on hosts that support volatile Config references. */
3
+ function withLiveSettings(schema, fields) {
4
+ for (const key of fields) {
5
+ const field = schema.dict?.[String(key)];
6
+ if (field?.volatile) schema.dict[String(key)] = field.volatile();
7
+ }
8
+ return schema;
9
+ }
10
+ /** Keep plain Config consumers reading the latest snapshots without exposing references. */
11
+ function liveConfigValues(config) {
12
+ return new Proxy(config, { get(target, key, receiver) {
13
+ const value = Reflect.get(target, key, receiver);
14
+ if (value && typeof value === "object" && Symbol.for("cosmokit.volatile.write") in value && "get" in value && typeof value.get === "function") return value.get();
15
+ return value;
16
+ } });
17
+ }
18
+ /** Observe display settings without remounting the TUI or creating another session. */
19
+ function displaySettingsScope(owner, settingsCtx, ns, schema, config) {
20
+ const settings = settingsCtx.settings;
21
+ if (typeof settings.register === "function") {
22
+ const scope = settings.register(ns, schema);
23
+ return {
24
+ get: () => scope.get(),
25
+ watch: (listener) => scope.watch(listener),
26
+ legacy: true
27
+ };
28
+ }
29
+ const get = () => Object.fromEntries(Object.keys(schema.dict ?? {}).map((key) => [key, Reflect.get(config, key)]));
30
+ const events = owner;
31
+ return {
32
+ get,
33
+ watch: (listener) => events.on("loader/volatile-update", () => listener(get())),
34
+ legacy: false
35
+ };
36
+ }
37
+ /** Read effective values on new hosts; retain support for older descriptor implementations. */
38
+ function settingsValue(settings, ns) {
39
+ const descriptor = settings.describe().find((row) => row.ns === ns);
40
+ return descriptor && "value" in descriptor ? descriptor.value : settings.get?.(ns);
41
+ }
42
+ //#endregion
43
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/tuiDisplayPrefs.js
2
44
  /** Default footer is intentionally quiet: only the Yuanjing token dashboard. */
3
45
  const DEFAULT_STATUS_BAR = Object.freeze({
4
46
  compact: true,
@@ -159,4 +201,4 @@ function applyPageMargin(setting) {
159
201
  return next;
160
202
  }
161
203
  //#endregion
162
- export { getPageMarginSetting as a, normalizeScrollGutter as c, parsePageMarginSpec as d, resolvePageMargin as f, formatContextUsage as i, normalizeStatusBar as l, DEFAULT_STATUS_BAR as n, isPageMarginMode as o, subscribePageMargin as p, applyPageMargin as r, normalizePageMargin as s, DEFAULT_PAGE_MARGIN as t, normalizeToolBackground as u };
204
+ export { withLiveSettings as _, getPageMarginSetting as a, normalizeScrollGutter as c, parsePageMarginSpec as d, resolvePageMargin as f, settingsValue as g, liveConfigValues as h, formatContextUsage as i, normalizeStatusBar as l, displaySettingsScope as m, DEFAULT_STATUS_BAR as n, isPageMarginMode as o, subscribePageMargin as p, applyPageMargin as r, normalizePageMargin as s, DEFAULT_PAGE_MARGIN as t, normalizeToolBackground as u };
@@ -1,3 +1,5 @@
1
1
  /** Exact-version TUI bridge owned by the ChatCode launcher. */
2
2
  export * from '@deepseek-harness-tui/dsh-tui';
3
+ /** Wait for the shared model default before the TUI creates its first session. */
4
+ export declare const inject: string[];
3
5
  //# sourceMappingURL=tui-compat.d.ts.map
@@ -1,8 +1,8 @@
1
- import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-BdqThvw7.js";
1
+ import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-D3lpiaUY.js";
2
2
  import { fileURLToPath, pathToFileURL } from "node:url";
3
3
  import { basename, isAbsolute, resolve } from "node:path";
4
4
  import { Service } from "@deepseek-ai/cordis";
5
- //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/workspaces.js
5
+ //#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.14_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/workspaces.js
6
6
  /**
7
7
  * Workspace-target extension seam for terminal front doors.
8
8
  *
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chatcode/chatcode-cli",
3
3
  "description": "ChatCode CLI: TUI-first coding agent, Web launcher, profiles, and legacy DSH-compatible plugins",
4
- "version": "3.0.2-rc.4",
4
+ "version": "3.0.2-rc.5",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -30,12 +30,12 @@
30
30
  "@babel/code-frame": "^7.29.0",
31
31
  "@chatcode/cco-better-sidebar": "0.18.0-rc.3",
32
32
  "@chatcode/cco-builtin-browser": "0.1.21",
33
- "@chatcode/cco-chat-import": "0.14.1",
34
- "@chatcode/cco-llm-chatcode-config": "0.1.4-rc.3",
33
+ "@chatcode/cco-chat-import": "0.15.0",
34
+ "@chatcode/cco-llm-chatcode-config": "0.1.4-rc.4",
35
35
  "@chatcode/cco-market": "1.45.2-rc.3",
36
- "@chatcode/cco-tui": "0.10.0-rc.12",
36
+ "@chatcode/cco-tui": "0.10.0-rc.14",
37
37
  "@deepseek-ai/libreoffice-kit": "^0.1.1",
38
- "@deepseek-harness-tui/dsh-tui": "npm:@chatcode/cco-tui@0.10.0-rc.12",
38
+ "@deepseek-harness-tui/dsh-tui": "npm:@chatcode/cco-tui@0.10.0-rc.14",
39
39
  "@earendil-works/pi-ai": "^0.85.1",
40
40
  "@eslint-community/regexpp": "^4.12.2",
41
41
  "@joplin/turndown-plugin-gfm": "^1.0.67",
@@ -59,8 +59,8 @@
59
59
  "diff": "^9.0.0",
60
60
  "dsh-better-sidebar": "npm:@chatcode/cco-better-sidebar@0.18.0-rc.3",
61
61
  "dsh-builtin-browser": "npm:@chatcode/cco-builtin-browser@0.1.21",
62
- "dsh-chat-import": "npm:@chatcode/cco-chat-import@0.14.1",
63
- "dsh-llm-chatcode-config": "npm:@chatcode/cco-llm-chatcode-config@0.1.4-rc.3",
62
+ "dsh-chat-import": "npm:@chatcode/cco-chat-import@0.15.0",
63
+ "dsh-llm-chatcode-config": "npm:@chatcode/cco-llm-chatcode-config@0.1.4-rc.4",
64
64
  "dshmarket": "npm:@chatcode/cco-market@1.45.2-rc.3",
65
65
  "eventsource-parser": "^3.1.0",
66
66
  "execa": "^10.0.0",
@@ -93,47 +93,47 @@
93
93
  "ajv": "^8.20.0",
94
94
  "execa": "^10.0.0",
95
95
  "ws": "8.21.0",
96
+ "@deepseek-ai/dsh-attachment-local": "0.1.7-rc.2",
97
+ "@deepseek-ai/dsh-acp": "0.1.7-rc.2",
96
98
  "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
97
99
  "@deepseek-ai/dsh-agent-loop": "0.1.7-rc.2",
100
+ "@deepseek-ai/dsh-bash-local": "0.1.7-rc.2",
98
101
  "@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-rc.2",
99
- "@deepseek-ai/dsh-attachment-local": "0.1.7-rc.2",
102
+ "@deepseek-ai/dsh-experimental-agent-team": "0.1.7-rc.2",
100
103
  "@deepseek-ai/dsh-credentials-local": "0.1.7-rc.2",
101
104
  "@deepseek-ai/dsh-deepseek-llm-api-extensions": "0.1.7-rc.2",
102
- "@deepseek-ai/dsh-experimental-agent-team": "0.1.7-rc.2",
103
- "@deepseek-ai/dsh-bash-local": "0.1.7-rc.2",
104
105
  "@deepseek-ai/dsh-experimental-ptc-runtime-python": "0.1.7-rc.2",
105
106
  "@deepseek-ai/dsh-experimental-tool-agent-team": "0.1.7-rc.2",
106
- "@deepseek-ai/dsh-fs-sandbox": "0.1.7-rc.2",
107
107
  "@deepseek-ai/dsh-fs-observation-policy": "0.1.7-rc.2",
108
- "@deepseek-ai/dsh-host-frontend-static": "0.1.7-rc.2",
109
108
  "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
110
- "@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
109
+ "@deepseek-ai/dsh-fs-sandbox": "0.1.7-rc.2",
111
110
  "@deepseek-ai/dsh-llm-deepseek": "0.1.7-rc.2",
111
+ "@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
112
+ "@deepseek-ai/dsh-host-frontend-static": "0.1.7-rc.2",
112
113
  "@deepseek-ai/dsh-llm-deepseek-api-key": "0.1.7-rc.2",
113
- "@deepseek-ai/dsh-acp": "0.1.7-rc.2",
114
114
  "@deepseek-ai/dsh-llm-deepseek-account": "0.1.7-rc.2",
115
115
  "@deepseek-ai/dsh-llm-mock-server": "0.1.7-rc.2",
116
- "@deepseek-ai/dsh-llm-pi-ai": "0.1.7-rc.2",
116
+ "@deepseek-ai/dsh-llm-replay": "0.1.7-rc.2",
117
117
  "@deepseek-ai/dsh-loader-smoke": "0.1.7-rc.2",
118
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.2",
118
119
  "@deepseek-ai/dsh-plugin-package-inventory-deepseek": "0.1.7-rc.2",
119
- "@deepseek-ai/dsh-sandbox-local": "0.1.7-rc.2",
120
+ "@deepseek-ai/dsh-llm-pi-ai": "0.1.7-rc.2",
120
121
  "@deepseek-ai/dsh-sdk-client": "0.1.7-rc.2",
121
- "@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.2",
122
122
  "@deepseek-ai/dsh-session": "0.1.7-rc.2",
123
- "@deepseek-ai/dsh-session-log-deepseek": "0.1.7-rc.2",
124
- "@deepseek-ai/dsh-session-checkpoint-policy": "0.1.7-rc.2",
125
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-rc.2",
123
+ "@deepseek-ai/dsh-sandbox-local": "0.1.7-rc.2",
126
124
  "@deepseek-ai/dsh-session-query": "0.1.7-rc.2",
127
- "@deepseek-ai/dsh-settings": "0.1.7-rc.2",
128
- "@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
125
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-rc.2",
126
+ "@deepseek-ai/dsh-session-checkpoint-policy": "0.1.7-rc.2",
129
127
  "@deepseek-ai/dsh-shell-env": "0.1.7-rc.2",
130
- "@deepseek-ai/dsh-subagent-fork-in-process": "0.1.7-rc.2",
128
+ "@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
129
+ "@deepseek-ai/dsh-settings": "0.1.7-rc.2",
130
+ "@deepseek-ai/dsh-session-log-deepseek": "0.1.7-rc.2",
131
131
  "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.7-rc.2",
132
- "@deepseek-ai/dsh-tools": "0.1.7-rc.2",
133
132
  "@deepseek-ai/dsh-system-prompt": "0.1.7-rc.2",
134
133
  "@deepseek-ai/dsh-subprocess-local": "0.1.7-rc.2",
135
134
  "@deepseek-ai/dsh-user-approval": "0.1.7-rc.2",
136
- "@deepseek-ai/dsh-llm-replay": "0.1.7-rc.2"
135
+ "@deepseek-ai/dsh-tools": "0.1.7-rc.2",
136
+ "@deepseek-ai/dsh-subagent-fork-in-process": "0.1.7-rc.2"
137
137
  },
138
138
  "exports": {
139
139
  "./headless-compat": {
@@ -281,5 +281,5 @@
281
281
  "@deepseek-ai/schemastery"
282
282
  ],
283
283
  "fileCount": 3555,
284
- "byteCount": 66576782
284
+ "byteCount": 66580738
285
285
  }
@@ -4125,7 +4125,7 @@ window.__ModuleLoader__.load({
4125
4125
  for (const listener of listeners) listener();
4126
4126
  };
4127
4127
  /** @returns the client identity for one account call, read at call time so it carries the language and zone in effect then. */
4128
- const client = () => accountClientMetadata(ctx.locale.getSnapshot().active, "3.0.2-rc.4");
4128
+ const client = () => accountClientMetadata(ctx.locale.getSnapshot().active, "3.0.2-rc.5");
4129
4129
  const notices = createBonusNoticeController({
4130
4130
  ackRetryDelayMs: config.bonusAckRetryDelayMs,
4131
4131
  ackRetryMaxDelayMs: config.bonusAckRetryMaxDelayMs,
@@ -4256,7 +4256,7 @@ window.__ModuleLoader__.load({
4256
4256
  refreshAccount,
4257
4257
  contactUs() {
4258
4258
  const url = contactUrl(config, {
4259
- version: "3.0.2-rc.4",
4259
+ version: "3.0.2-rc.5",
4260
4260
  locale: ctx.locale.getSnapshot().active === "zh" ? "zh-CN" : "en",
4261
4261
  width: window.screen.width,
4262
4262
  height: window.screen.height,
@@ -657,7 +657,7 @@ window.__ModuleLoader__.load({
657
657
  function CurrentVersionRow({ t }) {
658
658
  return (0, react_jsx_runtime.jsx)("div", {
659
659
  className: CurrentVersionRow_module_css_default.row,
660
- children: t("general.currentVersion", { version: "3.0.2-rc.4" })
660
+ children: t("general.currentVersion", { version: "3.0.2-rc.5" })
661
661
  });
662
662
  }
663
663
  //#endregion
@@ -167,7 +167,7 @@ window.__ModuleLoader__.load({
167
167
  const SCROLLBAR_LINGER_MS = 2e3;
168
168
  /** Format complete-build metadata for the local brand badge. */
169
169
  function localBuildVersion() {
170
- return `3.0.2-rc.4-28b70e2-dirty`;
170
+ return `3.0.2-rc.5-359d1b4-dirty`;
171
171
  }
172
172
  /** Each panel row subscribes only to its own selection state. */
173
173
  function PanelRow({ id, label, wide, usePanelInfo, selectPanel, renderSlot }) {