@chatcode/chatcode-cli 3.0.4-rc.5 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +4 -4
- package/README.md +4 -2
- package/README.zh.md +4 -2
- package/lib/bin.js +3 -3
- package/lib/{command-errors-BJ_ZWzUU.js → command-errors-Ca64Lgba.js} +12 -12
- package/lib/{command-trees-C9b7-bci.js → command-trees-CVc4Xu_z.js} +2 -2
- package/lib/{component-identity-Jb1DYjke.js → component-identity-6aEut5Yt.js} +3 -3
- package/lib/dump-config-CDixiJNt.js +2 -0
- package/lib/{dump-config-BcH-VYuv.js → dump-config-ZzrfvtnX.js} +10 -6
- package/lib/{dump-config-schema-DM0fb6Ns.js → dump-config-schema-BlO-eZ-J.js} +2 -2
- package/lib/{extension-events-DKX4LXOd.js → extension-events-C7MUpqVE.js} +20 -20
- package/lib/headless-compat.js +31 -31
- package/lib/{host-access-CMg6rsWt.js → host-access-CLbyAGT5.js} +1 -1
- package/lib/{keymap-CrC4pSNH.js → keymap-82JwLLHe.js} +2 -2
- package/lib/{plugin-eJjD6r12.js → plugin-BZdazFXS.js} +1 -1
- package/lib/{plugin-CmyMCGfb.js → plugin-BlQlWIR5.js} +425 -451
- package/lib/{profile-boot-BNQry1NM.js → profile-boot-B0aEEQIR.js} +40 -11
- package/lib/profile-boot.js +2 -2
- package/lib/{scenes-Cil9RnwU.js → scenes-BNS0ZFyQ.js} +3 -3
- package/lib/{settings-sections-jVCqXwdH.js → settings-sections-CXH24cu5.js} +3 -3
- package/lib/{statusBarSettings-DNoBH3Cq.js → statusBarSettings-BAMzn8fX.js} +6 -6
- package/lib/{themes-BdgeY3It.js → themes-DXUIvP7m.js} +12 -12
- package/lib/tui-compat-command-trees.js +1 -1
- package/lib/tui-compat-extensions.js +3 -3
- package/lib/tui-compat-plugin-host.js +5 -5
- package/lib/tui-compat-scenes.js +1 -1
- package/lib/tui-compat-settings-sections.js +1 -1
- package/lib/tui-compat-working-activity.js +17 -17
- package/lib/tui-compat-workspaces.js +1 -1
- package/lib/tui-compat.js +39 -39
- package/lib/types/dump-config.d.ts +3 -3
- package/lib/types/profile-boot.d.ts +13 -3
- package/lib/{workspaces-DOatJRYr.js → workspaces-CUJXNU5W.js} +2 -2
- package/package.json +23 -23
- package/runtime/manifest.json +1 -1
- package/runtime/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js +1 -1
- package/runtime/node_modules/@deepseek-ai/cordis-plugin-loader/src/config/entry.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js +5 -1
- package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/types/profile-context.d.ts +2 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-account/lib/client.js +2 -2
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +17 -159
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/ArchivedSessions.d.ts +1 -2
- package/runtime/node_modules/@deepseek-ai/dsh-config-editor/lib/index.js +5 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/{index-Dz_cDcce.js → index-D-8yUukj.js} +24 -24
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/{index-Dz_cDcce.js.map → index-D-8yUukj.js.map} +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/index.html +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/preview.html +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/index.js +32 -29
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/index.d.ts +0 -2
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/index.js +39 -30
- package/lib/dump-config-CyopmD85.js +0 -2
|
@@ -6,6 +6,7 @@ import { existsSync, mkdirSync, readFileSync, realpathSync, rmSync, writeFileSyn
|
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { PROFILE_PATCH_FILENAME, PROFILE_TEMPLATES, PluginPackages, boot, bundlePatchPaths, createRuntimeResolution, getDshRuntimeVersion, initProfile, installFailLoud, loadOverlayPatches, loadProfile, readProfileManifest, readProfilePatches, reportSkippedBundles, resolveProfileDir, writeProfileManifest } from "@deepseek-ai/dsh-app-boot";
|
|
8
8
|
import { dirname, extname, join, resolve } from "node:path";
|
|
9
|
+
import Schema from "@deepseek-ai/schemastery";
|
|
9
10
|
import { installProxyFromEnvironment } from "@deepseek-ai/dsh-http-proxy";
|
|
10
11
|
import { DSH_LAUNCH_ENVIRONMENT_KEY } from "@deepseek-ai/dsh-launch-environment";
|
|
11
12
|
import { provideCmdline } from "@deepseek-ai/dsh-cmdline";
|
|
@@ -110,8 +111,8 @@ function installPermissionBypass(ctx) {
|
|
|
110
111
|
//#region lib/types/profile-boot.js
|
|
111
112
|
/**
|
|
112
113
|
* Shared profile boot for every ChatCode CLI surface: resolve the profile, stack its
|
|
113
|
-
* patch layers (bundle layers in `dsh.profile.bundles` order,
|
|
114
|
-
*
|
|
114
|
+
* patch layers (bundle layers in `dsh.profile.bundles` order, product defaults,
|
|
115
|
+
* profile and home patches, `--patch` overlays, the telemetry switch), mount the
|
|
115
116
|
* tree over the profile's empty root config, and wire fail-loud plus bounded shutdown.
|
|
116
117
|
*
|
|
117
118
|
* App flags are not the launcher's business: the invocation's inner arguments
|
|
@@ -204,6 +205,14 @@ function installProfileInvocationAccessor(ctx) {
|
|
|
204
205
|
if (Object.hasOwn(ctx.reflect.props, "invocation")) return;
|
|
205
206
|
ctx.accessor("invocation", { get: () => void 0 });
|
|
206
207
|
}
|
|
208
|
+
/** Keep the published sidebar's live fields on the host schema runtime without changing its module identity. */
|
|
209
|
+
function installSidebarSchemaCompatibility(ctx) {
|
|
210
|
+
ctx.on("internal/plugin", (fiber) => {
|
|
211
|
+
const runtime = fiber.runtime;
|
|
212
|
+
if (fiber.entry?.options.name !== "dsh-better-sidebar" || runtime?.name !== "dsh-better-sidebar" || runtime.Config === void 0 || runtime.Config instanceof Schema) return;
|
|
213
|
+
runtime.Config = new Schema(runtime.Config.toJSON());
|
|
214
|
+
});
|
|
215
|
+
}
|
|
207
216
|
/** Launcher-owned readiness signal committed only after boot and host setup succeed. */
|
|
208
217
|
function createAppReady() {
|
|
209
218
|
let ready = false;
|
|
@@ -374,7 +383,7 @@ function restoreTrustedTuiLayer(profile, installAnchor = INSTALL_ANCHOR, runtime
|
|
|
374
383
|
return profile;
|
|
375
384
|
}
|
|
376
385
|
}
|
|
377
|
-
/** Product
|
|
386
|
+
/** Product defaults that are part of ChatCode CLI rather than the upstream runtime profile ABI. */
|
|
378
387
|
const CHATCODE_PROFILE_PATCHES = {
|
|
379
388
|
web: [
|
|
380
389
|
["dsh-better-sidebar", "cordis.patch.yml"],
|
|
@@ -392,7 +401,7 @@ const CHATCODE_PROFILE_PATCHES = {
|
|
|
392
401
|
],
|
|
393
402
|
headless: [["@chatcode/chatcode-cli-test", "headless-compat.cordis.patch.yml"], ["dsh-llm-chatcode-config", "cordis.patch.yml"]]
|
|
394
403
|
};
|
|
395
|
-
/** Resolve installed ChatCode product
|
|
404
|
+
/** Resolve installed ChatCode product defaults without changing persisted profiles. */
|
|
396
405
|
function chatCodeProfilePatchFiles(profile, installAnchor = INSTALL_ANCHOR) {
|
|
397
406
|
return (CHATCODE_PROFILE_PATCHES[profile] ?? []).map(([packageName, patch]) => {
|
|
398
407
|
const path = join(dirname(packageName === "@chatcode/chatcode-cli-test" ? installAnchor : installedPackageManifest(packageName, installAnchor)), patch);
|
|
@@ -415,6 +424,19 @@ function uniqueProfilePatchFiles(files) {
|
|
|
415
424
|
}
|
|
416
425
|
return [...unique.values()];
|
|
417
426
|
}
|
|
427
|
+
/** Separate product defaults from user overlays, applying each physical file once.
|
|
428
|
+
* @param profile - Profile selecting the installed product defaults.
|
|
429
|
+
* @param patchFiles - Command-line patch paths, including source-launcher mounts.
|
|
430
|
+
* @param installAnchor - Launcher manifest used to resolve product packages.
|
|
431
|
+
* @returns Default paths below profile edits and distinct user overlays above home edits.
|
|
432
|
+
*/
|
|
433
|
+
function chatCodeProfilePatchLayers(profile, patchFiles, installAnchor = INSTALL_ANCHOR) {
|
|
434
|
+
const defaults = uniqueProfilePatchFiles(chatCodeProfilePatchFiles(profile, installAnchor));
|
|
435
|
+
return {
|
|
436
|
+
defaults,
|
|
437
|
+
overlays: uniqueProfilePatchFiles([...defaults, ...patchFiles]).slice(defaults.length)
|
|
438
|
+
};
|
|
439
|
+
}
|
|
418
440
|
/** Resolve embedded compatibility plugins from the active source or built CLI tree. */
|
|
419
441
|
function resolveEmbeddedHeadlessCompat(patches) {
|
|
420
442
|
const extension = extname(fileURLToPath(import.meta.url)) === ".ts" ? ".ts" : ".js";
|
|
@@ -519,7 +541,7 @@ function prepareProfile(name, userLayer = true, fromDefaultProfile) {
|
|
|
519
541
|
/**
|
|
520
542
|
* Load `name` and compose its effective patch stack: bundle layers in
|
|
521
543
|
* `dsh.profile.bundles` order (a base-backed profile gets the base bundle's
|
|
522
|
-
* platform-gated shell rows), the profile's user layer, the home-level user
|
|
544
|
+
* platform-gated shell rows), product defaults, the profile's user layer, the home-level user
|
|
523
545
|
* layer (`$DSH_HOME/cordis.patch.yml` — machine-local preferences that apply
|
|
524
546
|
* to every profile, so it outranks the per-profile layer), `--patch` overlays,
|
|
525
547
|
* then the telemetry switch.
|
|
@@ -537,15 +559,20 @@ async function composeProfile(name, patchFiles, fromDefaultProfile, resolvedProf
|
|
|
537
559
|
profile
|
|
538
560
|
};
|
|
539
561
|
const resolution = preferEmbeddedRuntimeResolution(await createRuntimeResolution(resolutionOptions), resolutionOptions.installAnchor);
|
|
540
|
-
const
|
|
562
|
+
const files = resolvedProfile === void 0 ? chatCodeProfilePatchLayers(name, patchFiles) : {
|
|
563
|
+
defaults: [],
|
|
564
|
+
overlays: uniqueProfilePatchFiles(patchFiles)
|
|
565
|
+
};
|
|
541
566
|
const ownCompatPatch = resolve(join(dirname(INSTALL_ANCHOR), "headless-compat.cordis.patch.yml"));
|
|
567
|
+
const loadPatches = (file) => {
|
|
568
|
+
const patches = loadOverlayPatches(NAME, file);
|
|
569
|
+
return file === ownCompatPatch ? resolveEmbeddedHeadlessCompat(patches) : patches;
|
|
570
|
+
};
|
|
542
571
|
return {
|
|
543
572
|
profile,
|
|
544
573
|
resolution,
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
return file === ownCompatPatch ? resolveEmbeddedHeadlessCompat(patches) : patches;
|
|
548
|
-
})
|
|
574
|
+
defaults: files.defaults.flatMap(loadPatches),
|
|
575
|
+
overlays: files.overlays.flatMap(loadPatches)
|
|
549
576
|
};
|
|
550
577
|
}
|
|
551
578
|
/**
|
|
@@ -604,6 +631,7 @@ async function runProfile(options) {
|
|
|
604
631
|
startedBundles: composed.profile.layers.map((layer) => layer.packageName),
|
|
605
632
|
cwd: process.cwd(),
|
|
606
633
|
home: resolveChatCodeCliHome(),
|
|
634
|
+
defaults: composed.defaults,
|
|
607
635
|
overlays: composed.overlays,
|
|
608
636
|
transformPatches: resolveChatCodePackageAliases,
|
|
609
637
|
trustedVersionExemptions: CHATCODE_TRUSTED_VERSION_EXEMPTIONS,
|
|
@@ -616,6 +644,7 @@ async function runProfile(options) {
|
|
|
616
644
|
stopPluginTrace = traceStartupPlugins(hostCtx);
|
|
617
645
|
app.current = hostCtx;
|
|
618
646
|
installProfileInvocationAccessor(hostCtx);
|
|
647
|
+
installSidebarSchemaCompatibility(hostCtx);
|
|
619
648
|
if (options.dangerouslySkipPermissions === true) installPermissionBypass(hostCtx);
|
|
620
649
|
hostCtx.provide("profileContext", profileContext);
|
|
621
650
|
hostCtx.provide(DSH_LAUNCH_ENVIRONMENT_KEY, options.environment);
|
|
@@ -648,4 +677,4 @@ async function runProfile(options) {
|
|
|
648
677
|
}
|
|
649
678
|
}
|
|
650
679
|
//#endregion
|
|
651
|
-
export { chatCodeProfilePatchFiles as a,
|
|
680
|
+
export { uniqueProfilePatchFiles as _, chatCodeProfilePatchFiles as a, homePatchPath as c, preferEmbeddedProfileLayers as d, preferEmbeddedRuntimeResolution as f, runProfile as g, restoreTrustedTuiLayer as h, PROFILE_ROOT_FILENAME as i, initializeProfileFromDefault as l, resolveChatCodePackageAliases as m, CHATCODE_TRUSTED_VERSION_EXEMPTIONS as n, chatCodeProfilePatchLayers as o, prepareProfile as p, INSTALL_ANCHOR as r, embeddedRuntimePackageDir as s, CHATCODE_PROFILE_TEMPLATES as t, installProfileInvocationAccessor as u };
|
package/lib/profile-boot.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as chatCodeProfilePatchFiles, c as
|
|
2
|
-
export { CHATCODE_PROFILE_TEMPLATES, CHATCODE_TRUSTED_VERSION_EXEMPTIONS, INSTALL_ANCHOR, PROFILE_ROOT_FILENAME, chatCodeProfilePatchFiles, embeddedRuntimePackageDir, homePatchPath, initializeProfileFromDefault, installProfileInvocationAccessor, preferEmbeddedProfileLayers, preferEmbeddedRuntimeResolution, prepareProfile, resolveChatCodePackageAliases, restoreTrustedTuiLayer, runProfile, uniqueProfilePatchFiles };
|
|
1
|
+
import { _ as uniqueProfilePatchFiles, a as chatCodeProfilePatchFiles, c as homePatchPath, d as preferEmbeddedProfileLayers, f as preferEmbeddedRuntimeResolution, g as runProfile, h as restoreTrustedTuiLayer, i as PROFILE_ROOT_FILENAME, l as initializeProfileFromDefault, m as resolveChatCodePackageAliases, n as CHATCODE_TRUSTED_VERSION_EXEMPTIONS, o as chatCodeProfilePatchLayers, p as prepareProfile, r as INSTALL_ANCHOR, s as embeddedRuntimePackageDir, t as CHATCODE_PROFILE_TEMPLATES, u as installProfileInvocationAccessor } from "./profile-boot-B0aEEQIR.js";
|
|
2
|
+
export { CHATCODE_PROFILE_TEMPLATES, CHATCODE_TRUSTED_VERSION_EXEMPTIONS, INSTALL_ANCHOR, PROFILE_ROOT_FILENAME, chatCodeProfilePatchFiles, chatCodeProfilePatchLayers, embeddedRuntimePackageDir, homePatchPath, initializeProfileFromDefault, installProfileInvocationAccessor, preferEmbeddedProfileLayers, preferEmbeddedRuntimeResolution, prepareProfile, resolveChatCodePackageAliases, restoreTrustedTuiLayer, runProfile, uniqueProfilePatchFiles };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-
|
|
2
|
-
import { n as componentIdentityOf } from "./component-identity-
|
|
1
|
+
import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-CLbyAGT5.js";
|
|
2
|
+
import { n as componentIdentityOf } from "./component-identity-6aEut5Yt.js";
|
|
3
3
|
import { Service } from "@deepseek-ai/cordis";
|
|
4
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
4
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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-
|
|
1
|
+
import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-CLbyAGT5.js";
|
|
2
2
|
import { Service } from "@deepseek-ai/cordis";
|
|
3
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
3
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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.
|
|
52
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1
|
+
import Schema from "@deepseek-ai/schemastery";
|
|
2
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/settingsCompat.js
|
|
3
3
|
/** Mark display fields editable on hosts that support volatile Config references. */
|
|
4
4
|
function withLiveSettings(schema, fields) {
|
|
5
5
|
for (const key of fields) {
|
|
@@ -43,7 +43,7 @@ function settingsValue(settings, ns) {
|
|
|
43
43
|
return descriptor && "value" in descriptor ? descriptor.value : settings.get?.(ns);
|
|
44
44
|
}
|
|
45
45
|
//#endregion
|
|
46
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
46
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/tuiDisplayPrefs.js
|
|
47
47
|
/** Default footer shows account-wide tokens today and current context usage. */
|
|
48
48
|
const DEFAULT_STATUS_BAR = Object.freeze({
|
|
49
49
|
compact: true,
|
|
@@ -203,15 +203,15 @@ function applyPageMargin(setting) {
|
|
|
203
203
|
return next;
|
|
204
204
|
}
|
|
205
205
|
//#endregion
|
|
206
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
206
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/statusBarSettings.js
|
|
207
207
|
/** Shared status-footer settings declarations and validation. */
|
|
208
208
|
/**
|
|
209
209
|
* Build the complete footer schema for both composition and live settings.
|
|
210
210
|
* @returns A schema retaining every supported status field.
|
|
211
211
|
*/
|
|
212
212
|
function createStatusBarSchema() {
|
|
213
|
-
const fields = Object.fromEntries(Object.entries(DEFAULT_STATUS_BAR).map(([key, value]) => [key,
|
|
214
|
-
return
|
|
213
|
+
const fields = Object.fromEntries(Object.entries(DEFAULT_STATUS_BAR).map(([key, value]) => [key, Schema.boolean().default(value)]));
|
|
214
|
+
return Schema.object(fields).default({ ...DEFAULT_STATUS_BAR });
|
|
215
215
|
}
|
|
216
216
|
/** Fields shown by the status-bar settings group. */
|
|
217
217
|
const STATUS_BAR_FIELDS = [
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { c as parseCombo, i as comboMatchesStrict, r as canonicalCombo, s as fixedReservedCombos, u as reservedActionCombos } from "./keymap-
|
|
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-
|
|
3
|
-
import { n as componentIdentityOf } from "./component-identity-
|
|
4
|
-
import { S as DATA_DIR, f as cleanRenderText, p as cleanScalarText } from "./extension-events-
|
|
1
|
+
import { c as parseCombo, i as comboMatchesStrict, r as canonicalCombo, s as fixedReservedCombos, u as reservedActionCombos } from "./keymap-82JwLLHe.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-CLbyAGT5.js";
|
|
3
|
+
import { n as componentIdentityOf } from "./component-identity-6aEut5Yt.js";
|
|
4
|
+
import { S as DATA_DIR, f as cleanRenderText, p as cleanScalarText } from "./extension-events-C7MUpqVE.js";
|
|
5
5
|
import { readFileSync, readdirSync } from "node:fs";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { Context, Service } from "@deepseek-ai/cordis";
|
|
8
8
|
import { KNOWN_SESSION_EVENT_TYPES } from "@deepseek-ai/dsh-session";
|
|
9
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
9
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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.
|
|
282
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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.
|
|
506
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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.
|
|
707
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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.
|
|
879
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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.
|
|
1014
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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.
|
|
1489
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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.
|
|
1719
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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-
|
|
1
|
+
import { r as name, t as TuiCommandTreeRuntime } from "./command-trees-CVc4Xu_z.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-
|
|
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-
|
|
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-C7MUpqVE.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-DXUIvP7m.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.
|
|
6
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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-
|
|
2
|
-
import { c as requiresDecisionEvents, o as requireComponentIdentity, r as declaresCommand, s as requiresContract, t as bindComponentIdentity } from "./component-identity-
|
|
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-
|
|
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-
|
|
1
|
+
import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, r as assertCallerContext, t as activationContext } from "./host-access-CLbyAGT5.js";
|
|
2
|
+
import { c as requiresDecisionEvents, o as requireComponentIdentity, r as declaresCommand, s as requiresContract, t as bindComponentIdentity } from "./component-identity-6aEut5Yt.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-C7MUpqVE.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-Ca64Lgba.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.
|
|
7
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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
|
package/lib/tui-compat-scenes.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { r as name, t as TuiSceneRuntime } from "./scenes-
|
|
1
|
+
import { r as name, t as TuiSceneRuntime } from "./scenes-BNS0ZFyQ.js";
|
|
2
2
|
export { TuiSceneRuntime, TuiSceneRuntime as default, name };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as name, t as TuiSettingsSectionsRuntime } from "./settings-sections-
|
|
1
|
+
import { i as name, t as TuiSettingsSectionsRuntime } from "./settings-sections-CXH24cu5.js";
|
|
2
2
|
export { TuiSettingsSectionsRuntime, TuiSettingsSectionsRuntime as default, name };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as t, o as ActivityTracker, s as setLangOverride, t as DEFAULT_PRESET } from "./frames-B89znn_0.js";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import { realpathSync } from "node:fs";
|
|
4
|
-
import
|
|
4
|
+
import Schema from "@deepseek-ai/schemastery";
|
|
5
5
|
//#region ../../node_modules/.pnpm/dsh-working-activity@0.4.0_@deepseek-ai+cordis@vendor+cordis_@deepseek-ai+dsh-agent@pac_cc26372355f83f2cd8d6ec6474483321/node_modules/dsh-working-activity/lib/types/registration.js
|
|
6
6
|
/**
|
|
7
7
|
* Runtime registration of the `activity/status` session-event type.
|
|
@@ -98,25 +98,25 @@ function registerSessionCopy(req, registered) {
|
|
|
98
98
|
* @module @deepseek-ai/dsh-working-activity
|
|
99
99
|
*/
|
|
100
100
|
const name = "working-activity";
|
|
101
|
-
const Config =
|
|
102
|
-
phrases:
|
|
103
|
-
publish:
|
|
104
|
-
tickMs:
|
|
105
|
-
publishIntervalMs:
|
|
106
|
-
detailLimit:
|
|
107
|
-
customActions:
|
|
108
|
-
narrate:
|
|
109
|
-
lang:
|
|
101
|
+
const Config = Schema.object({
|
|
102
|
+
phrases: Schema.boolean().default(true),
|
|
103
|
+
publish: Schema.boolean().default(false),
|
|
104
|
+
tickMs: Schema.number().step(50).min(100).max(5e3).default(500),
|
|
105
|
+
publishIntervalMs: Schema.number().step(500).min(500).max(3e4).default(2e3),
|
|
106
|
+
detailLimit: Schema.number().step(1).min(8).max(120).default(40),
|
|
107
|
+
customActions: Schema.dict(Schema.array(Schema.string())).default({}),
|
|
108
|
+
narrate: Schema.boolean().default(true),
|
|
109
|
+
lang: Schema.union([
|
|
110
110
|
"auto",
|
|
111
111
|
"zh",
|
|
112
112
|
"en"
|
|
113
113
|
]).default("auto"),
|
|
114
|
-
frames:
|
|
115
|
-
mode:
|
|
116
|
-
features:
|
|
117
|
-
customPhrases:
|
|
118
|
-
showTokPerSec:
|
|
119
|
-
workRemindAt:
|
|
114
|
+
frames: Schema.string().default(DEFAULT_PRESET),
|
|
115
|
+
mode: Schema.union(["lively", "minimal"]).default("lively"),
|
|
116
|
+
features: Schema.dict(Schema.boolean()).default({}),
|
|
117
|
+
customPhrases: Schema.array(Schema.string()).default([]),
|
|
118
|
+
showTokPerSec: Schema.boolean().default(false),
|
|
119
|
+
workRemindAt: Schema.number().min(0).max(24).default(0)
|
|
120
120
|
});
|
|
121
121
|
/**
|
|
122
122
|
* Wire the working-activity plugin.
|
|
@@ -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.
|
|
238
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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-
|
|
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-CUJXNU5W.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 { c as normalizePageMargin, g as liveConfigValues, n as createStatusBarSchema, v as withLiveSettings } from "./statusBarSettings-
|
|
2
|
-
import { t as SHORTCUT_ACTIONS } from "./keymap-
|
|
3
|
-
import
|
|
4
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1
|
+
import { c as normalizePageMargin, g as liveConfigValues, n as createStatusBarSchema, v as withLiveSettings } from "./statusBarSettings-BAMzn8fX.js";
|
|
2
|
+
import { t as SHORTCUT_ACTIONS } from "./keymap-82JwLLHe.js";
|
|
3
|
+
import Schema from "@deepseek-ai/schemastery";
|
|
4
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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,7 +14,7 @@ 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.
|
|
17
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/index.js
|
|
18
18
|
/**
|
|
19
19
|
* dsh-tui plugin entry. The TUI implementation lives in `./plugin.tsx` (its
|
|
20
20
|
* render path is JSX); this module owns the plugin surface (`name`/`inject`/
|
|
@@ -25,55 +25,55 @@ process.env.NODE_ENV ??= "production";
|
|
|
25
25
|
*/
|
|
26
26
|
const name = "dsh-tui";
|
|
27
27
|
const inject$1 = ["agents"];
|
|
28
|
-
const Config$1 = withLiveSettings(
|
|
29
|
-
sessionId:
|
|
30
|
-
provider:
|
|
31
|
-
model:
|
|
32
|
-
cwd:
|
|
33
|
-
workspace:
|
|
34
|
-
effort:
|
|
35
|
-
activity:
|
|
36
|
-
activityFrames:
|
|
37
|
-
contextBar:
|
|
38
|
-
fullscreen:
|
|
39
|
-
lang:
|
|
40
|
-
preset:
|
|
41
|
-
diffLayout:
|
|
28
|
+
const Config$1 = withLiveSettings(Schema.object({
|
|
29
|
+
sessionId: Schema.string().required(false),
|
|
30
|
+
provider: Schema.string().required(false),
|
|
31
|
+
model: Schema.string().required(false),
|
|
32
|
+
cwd: Schema.string().required(false),
|
|
33
|
+
workspace: Schema.string().required(false),
|
|
34
|
+
effort: Schema.string().required(false),
|
|
35
|
+
activity: Schema.boolean().default(true),
|
|
36
|
+
activityFrames: Schema.string().required(false),
|
|
37
|
+
contextBar: Schema.boolean().default(true),
|
|
38
|
+
fullscreen: Schema.boolean().default(true),
|
|
39
|
+
lang: Schema.string().required(false),
|
|
40
|
+
preset: Schema.string().required(false),
|
|
41
|
+
diffLayout: Schema.union([
|
|
42
42
|
"auto",
|
|
43
43
|
"split",
|
|
44
44
|
"unified"
|
|
45
45
|
]).default("auto"),
|
|
46
|
-
thinkingFold:
|
|
47
|
-
toolBackground:
|
|
46
|
+
thinkingFold: Schema.union(["preview", "full"]).default("preview"),
|
|
47
|
+
toolBackground: Schema.union([
|
|
48
48
|
"none",
|
|
49
49
|
"subtle",
|
|
50
50
|
"strong"
|
|
51
51
|
]).default("none"),
|
|
52
|
-
scrollGutter:
|
|
52
|
+
scrollGutter: Schema.union([
|
|
53
53
|
"timeline",
|
|
54
54
|
"scrollbar",
|
|
55
55
|
"hidden"
|
|
56
56
|
]).default("timeline"),
|
|
57
|
-
pageMargin:
|
|
58
|
-
foldTerminalCommand:
|
|
59
|
-
promptSessionLabel:
|
|
60
|
-
expandEditor:
|
|
61
|
-
smoothStreaming:
|
|
62
|
-
whale:
|
|
63
|
-
minimal:
|
|
64
|
-
recapOnOpen:
|
|
57
|
+
pageMargin: Schema.transform(Schema.string().default("normal"), (value) => normalizePageMargin(value)),
|
|
58
|
+
foldTerminalCommand: Schema.boolean().default(false),
|
|
59
|
+
promptSessionLabel: Schema.boolean().default(false),
|
|
60
|
+
expandEditor: Schema.boolean().default(true),
|
|
61
|
+
smoothStreaming: Schema.boolean().default(true),
|
|
62
|
+
whale: Schema.boolean().default(true),
|
|
63
|
+
minimal: Schema.boolean().default(false),
|
|
64
|
+
recapOnOpen: Schema.boolean().default(true),
|
|
65
65
|
statusBar: createStatusBarSchema(),
|
|
66
|
-
shortcuts:
|
|
67
|
-
modes:
|
|
68
|
-
id:
|
|
69
|
-
label:
|
|
70
|
-
plan:
|
|
71
|
-
sandbox:
|
|
66
|
+
shortcuts: Schema.object(Object.fromEntries(SHORTCUT_ACTIONS.map((action) => [action.id, Schema.string().required(false)]))).required(false),
|
|
67
|
+
modes: Schema.array(Schema.object({
|
|
68
|
+
id: Schema.string(),
|
|
69
|
+
label: Schema.string().required(false),
|
|
70
|
+
plan: Schema.boolean().required(false),
|
|
71
|
+
sandbox: Schema.union([
|
|
72
72
|
"read-only",
|
|
73
73
|
"workspace-write",
|
|
74
74
|
"danger-full-access"
|
|
75
75
|
]).required(false),
|
|
76
|
-
approval:
|
|
76
|
+
approval: Schema.union(["ask", "never"]).required(false)
|
|
77
77
|
})).required(false)
|
|
78
78
|
}), [
|
|
79
79
|
"fullscreen",
|
|
@@ -101,13 +101,13 @@ const Config$1 = withLiveSettings(z.object({
|
|
|
101
101
|
* @returns a promise settling when the TUI teardown completes.
|
|
102
102
|
*/
|
|
103
103
|
async function apply(ctx, config) {
|
|
104
|
-
const { apply: ccTuiApply } = await import("./plugin-
|
|
104
|
+
const { apply: ccTuiApply } = await import("./plugin-BlQlWIR5.js");
|
|
105
105
|
return ccTuiApply(ctx, liveConfigValues(config));
|
|
106
106
|
}
|
|
107
107
|
//#endregion
|
|
108
108
|
//#region lib/types/tui-compat.js
|
|
109
109
|
/** Validate the TUI's declared live fields using the launcher's own schema runtime. */
|
|
110
|
-
const Config = new
|
|
110
|
+
const Config = new Schema(Config$1.toJSON());
|
|
111
111
|
/** Wait for the shared model default before the TUI creates its first session. */
|
|
112
112
|
const inject = [...inject$1, "agentDefaultModel"];
|
|
113
113
|
//#endregion
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Config-dump entry for `dsh --profile <name> --dump-config`: compose the
|
|
3
3
|
* profile's patch layers through the include plugin's patch algorithm without
|
|
4
4
|
* booting or evaluating `!!js`, with one source layer per bundle, the
|
|
5
|
-
* profile and home patch files,
|
|
5
|
+
* ChatCode product defaults, profile and home patch files, and each `--patch`
|
|
6
6
|
* overlay.
|
|
7
7
|
* @module @deepseek-ai/dsh/dump-config
|
|
8
8
|
*/
|
|
@@ -18,8 +18,8 @@ import { type ConfigDumpLayer, type Profile } from '@deepseek-ai/dsh-app-boot';
|
|
|
18
18
|
*/
|
|
19
19
|
export declare function runDumpConfig(profile: string, defaultOnly: boolean, patches: readonly string[], fromDefaultProfile?: string): void;
|
|
20
20
|
/**
|
|
21
|
-
* Read dump layers in bundle, profile, home, then argv order without composing them.
|
|
22
|
-
* @param profileName - the profile name used to select ChatCode product
|
|
21
|
+
* Read dump layers in bundle, product defaults, profile, home, then argv order without composing them.
|
|
22
|
+
* @param profileName - the profile name used to select ChatCode product defaults.
|
|
23
23
|
* @param loaded - prepared profile and parsed bundle and profile patches.
|
|
24
24
|
* @param defaultOnly - omit profile, home, and argv layers without reading their files.
|
|
25
25
|
* @param patches - overlay paths relative to the invoking directory, in argv order.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared profile boot for every ChatCode CLI surface: resolve the profile, stack its
|
|
3
|
-
* patch layers (bundle layers in `dsh.profile.bundles` order,
|
|
4
|
-
*
|
|
3
|
+
* patch layers (bundle layers in `dsh.profile.bundles` order, product defaults,
|
|
4
|
+
* profile and home patches, `--patch` overlays, the telemetry switch), mount the
|
|
5
5
|
* tree over the profile's empty root config, and wire fail-loud plus bounded shutdown.
|
|
6
6
|
*
|
|
7
7
|
* App flags are not the launcher's business: the invocation's inner arguments
|
|
@@ -54,7 +54,7 @@ export declare function preferEmbeddedRuntimeResolution(resolution: RuntimeResol
|
|
|
54
54
|
* and cannot admit another package version or another profile.
|
|
55
55
|
*/
|
|
56
56
|
export declare function restoreTrustedTuiLayer(profile: Profile, installAnchor?: string, runtimeVersion?: string): Profile;
|
|
57
|
-
/** Resolve installed ChatCode product
|
|
57
|
+
/** Resolve installed ChatCode product defaults without changing persisted profiles. */
|
|
58
58
|
export declare function chatCodeProfilePatchFiles(profile: string, installAnchor?: string): string[];
|
|
59
59
|
/**
|
|
60
60
|
* Deduplicate overlay files shared by startup, YAML dumps, and schema dumps.
|
|
@@ -63,6 +63,16 @@ export declare function chatCodeProfilePatchFiles(profile: string, installAnchor
|
|
|
63
63
|
* missing files remain in the result for the patch loader to diagnose.
|
|
64
64
|
*/
|
|
65
65
|
export declare function uniqueProfilePatchFiles(files: readonly string[]): string[];
|
|
66
|
+
/** Separate product defaults from user overlays, applying each physical file once.
|
|
67
|
+
* @param profile - Profile selecting the installed product defaults.
|
|
68
|
+
* @param patchFiles - Command-line patch paths, including source-launcher mounts.
|
|
69
|
+
* @param installAnchor - Launcher manifest used to resolve product packages.
|
|
70
|
+
* @returns Default paths below profile edits and distinct user overlays above home edits.
|
|
71
|
+
*/
|
|
72
|
+
export declare function chatCodeProfilePatchLayers(profile: string, patchFiles: readonly string[], installAnchor?: string): {
|
|
73
|
+
defaults: string[];
|
|
74
|
+
overlays: string[];
|
|
75
|
+
};
|
|
66
76
|
/** Root config filename inside a profile directory. */
|
|
67
77
|
export declare const PROFILE_ROOT_FILENAME = "cordis.yml";
|
|
68
78
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-
|
|
1
|
+
import { a as compositionRoot, i as bindCallerEffect, n as activationFiber, o as concreteService, s as requirePluginCaller } from "./host-access-CLbyAGT5.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.
|
|
5
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.21_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
|
*
|