@chatcode/chatcode-cli 3.0.2-rc.2 → 3.0.2-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +4 -4
- package/README.md +7 -1
- package/README.zh.md +7 -1
- package/lib/bin.js +11 -67
- package/lib/{command-errors-CIYn1nnW.js → command-errors-uo0j5Wi8.js} +12 -12
- package/lib/{command-trees-8o99Bws7.js → command-trees-D4SZ2sGk.js} +2 -2
- package/lib/{component-identity-CnmIKHEF.js → component-identity-C02l24iT.js} +3 -3
- package/lib/{dist-DxjlHHph.js → dist-w_sIm4VD.js} +203 -197
- package/lib/{dump-config-BSTrhTT_.js → dump-config-CauO75nE.js} +1 -1
- package/lib/dump-config-CijLv_kn.js +2 -0
- package/lib/{dump-config-schema-Cz4A13GB.js → dump-config-schema-CObLWWaW.js} +2 -2
- package/lib/{extension-events-DciGPKJa.js → extension-events-D6DbIdnG.js} +20 -20
- package/lib/{home-migration-DLaSvmfn.js → home-migration-BjDmRwBB.js} +23 -4
- package/lib/{host-access-CmD27uhQ.js → host-access-BdqThvw7.js} +1 -1
- package/lib/{keymap-CFChEJ2W.js → keymap-DFoC50J1.js} +2 -2
- package/lib/{plugin-jvd9PCVt.js → plugin-B37GhsdI.js} +458 -495
- package/lib/{plugin-DYHtreEd.js → plugin-Cn-hyYY8.js} +1 -1
- package/lib/{profile-boot-Blq7uqhx.js → profile-boot-SJGbpLgN.js} +13 -1
- package/lib/profile-boot.js +1 -1
- package/lib/{scenes-ai_8sHDs.js → scenes-Dk6DYkO9.js} +3 -3
- package/lib/{settings-sections-QQ1-2lhL.js → settings-sections-D4Ozrymr.js} +3 -3
- package/lib/startup-diagnostics-C_hRCp-q.js +91 -0
- package/lib/{themes-DTzG_9I_.js → themes-DDI83rNa.js} +12 -12
- package/lib/tui-compat-command-trees.js +1 -1
- package/lib/tui-compat-extensions.js +3 -3
- package/lib/tui-compat-plugin-host.js +5 -5
- package/lib/tui-compat-scenes.js +1 -1
- package/lib/tui-compat-settings-sections.js +1 -1
- package/lib/tui-compat-working-activity.js +1 -1
- package/lib/tui-compat-workspaces.js +1 -1
- package/lib/tui-compat.js +5 -5
- package/lib/{tuiDisplayPrefs-BCHRRcfe.js → tuiDisplayPrefs-CJ9aBVkB.js} +1 -1
- package/lib/types/home-migration.d.ts +8 -0
- package/lib/types/startup-diagnostics.d.ts +13 -0
- package/lib/{workspaces-CznCgVHv.js → workspaces-Dt_J35P0.js} +2 -2
- package/package.json +25 -25
- package/runtime/manifest.json +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-account/lib/client.js +2 -2
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-session-log-export/lib/client.js +3 -8
- package/runtime/node_modules/@deepseek-ai/dsh-session-log-export/lib/types/client/HeaderAction.d.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-app/presets/cordis.patch.yml +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-app/presets/ptc.patch.yml +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-app/presets/standard.patch.yml +2 -1
- package/lib/dump-config-DBW7YLx-.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as INSTALL_ANCHOR, t as CHATCODE_PROFILE_TEMPLATES } from "./profile-boot-
|
|
1
|
+
import { r as INSTALL_ANCHOR, t as CHATCODE_PROFILE_TEMPLATES } from "./profile-boot-SJGbpLgN.js";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { DEFAULT_PROFILE_BUNDLES, initProfile, readProfileCompatibility, resolveProfileDir } from "@deepseek-ai/dsh-app-boot";
|
|
4
4
|
import { join } from "node:path";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { i as synchronizeLegacyHomeEnvironment, r as resolveChatCodeCliHome } from "./chatcode-home-B93iESZd.js";
|
|
2
|
+
import { n as startStartupPhase, r as traceStartupPlugins } from "./startup-diagnostics-C_hRCp-q.js";
|
|
2
3
|
import { createRequire } from "node:module";
|
|
3
4
|
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
4
5
|
import { fileURLToPath } from "node:url";
|
|
@@ -478,9 +479,11 @@ async function composeProfile(name, patchFiles, fromDefaultProfile, resolvedProf
|
|
|
478
479
|
*/
|
|
479
480
|
async function runProfile(options) {
|
|
480
481
|
synchronizeLegacyHomeEnvironment();
|
|
482
|
+
const finishProxy = startStartupPhase("proxy-setup");
|
|
481
483
|
const disposeProxy = await installProxyFromEnvironment(options.environment, (message) => {
|
|
482
484
|
process.stderr.write(`${NAME}: ${message}\n`);
|
|
483
485
|
});
|
|
486
|
+
finishProxy();
|
|
484
487
|
const app = {};
|
|
485
488
|
let disposal;
|
|
486
489
|
const dispose = () => disposal ??= (async () => {
|
|
@@ -494,7 +497,9 @@ async function runProfile(options) {
|
|
|
494
497
|
if (failures.length > 1) throw new AggregateError(failures, "dsh: profile cleanup failed");
|
|
495
498
|
})();
|
|
496
499
|
try {
|
|
500
|
+
const finishComposition = startStartupPhase("profile-composition");
|
|
497
501
|
const composed = await composeProfile(options.profile, options.patchFiles, options.fromDefaultProfile, options.resolvedProfile);
|
|
502
|
+
finishComposition();
|
|
498
503
|
const appReady = createAppReady();
|
|
499
504
|
const shutdown = createProcessShutdown(dispose);
|
|
500
505
|
const signalShutdown = new AbortController();
|
|
@@ -525,7 +530,11 @@ async function runProfile(options) {
|
|
|
525
530
|
trustedVersionExemptions: CHATCODE_TRUSTED_VERSION_EXEMPTIONS,
|
|
526
531
|
telemetryDisabledEnv: process.env.DSH_TELEMETRY_DISABLED
|
|
527
532
|
};
|
|
528
|
-
const
|
|
533
|
+
const patches = resolveChatCodePackageAliases(readProfilePatches(NAME, profileContext, composed.profile));
|
|
534
|
+
const finishActivation = startStartupPhase("plugin-activation");
|
|
535
|
+
let stopPluginTrace;
|
|
536
|
+
const ctx = await boot(NAME, rootConfig, patches, async (hostCtx) => {
|
|
537
|
+
stopPluginTrace = traceStartupPlugins(hostCtx);
|
|
529
538
|
app.current = hostCtx;
|
|
530
539
|
installProfileInvocationAccessor(hostCtx);
|
|
531
540
|
hostCtx.provide("profileContext", profileContext);
|
|
@@ -536,7 +545,10 @@ async function runProfile(options) {
|
|
|
536
545
|
exit: (code) => void shutdown.shutdown(code),
|
|
537
546
|
ready: appReady.service
|
|
538
547
|
});
|
|
548
|
+
}).finally(() => {
|
|
549
|
+
stopPluginTrace?.();
|
|
539
550
|
});
|
|
551
|
+
finishActivation();
|
|
540
552
|
app.current = ctx;
|
|
541
553
|
if (!signalShutdown.signal.aborted && ctx.fiber.state === 2 && ctx.get("loader") !== void 0) appReady.commit();
|
|
542
554
|
return {
|
package/lib/profile-boot.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as chatCodeProfilePatchFiles, c as initializeProfileFromDefault, d as preferEmbeddedRuntimeResolution, f as prepareProfile, h as runProfile, i as PROFILE_ROOT_FILENAME, l as installProfileInvocationAccessor, m as restoreTrustedTuiLayer, n as CHATCODE_TRUSTED_VERSION_EXEMPTIONS, o as embeddedRuntimePackageDir, p as resolveChatCodePackageAliases, r as INSTALL_ANCHOR, s as homePatchPath, t as CHATCODE_PROFILE_TEMPLATES, u as preferEmbeddedProfileLayers } from "./profile-boot-
|
|
1
|
+
import { a as chatCodeProfilePatchFiles, c as initializeProfileFromDefault, d as preferEmbeddedRuntimeResolution, f as prepareProfile, h as runProfile, i as PROFILE_ROOT_FILENAME, l as installProfileInvocationAccessor, m as restoreTrustedTuiLayer, n as CHATCODE_TRUSTED_VERSION_EXEMPTIONS, o as embeddedRuntimePackageDir, p as resolveChatCodePackageAliases, r as INSTALL_ANCHOR, s as homePatchPath, t as CHATCODE_PROFILE_TEMPLATES, u as preferEmbeddedProfileLayers } from "./profile-boot-SJGbpLgN.js";
|
|
2
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 };
|
|
@@ -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-BdqThvw7.js";
|
|
2
|
+
import { n as componentIdentityOf } from "./component-identity-C02l24iT.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.12_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-BdqThvw7.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.12_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.12_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
|
*
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
4
|
+
import { inspect } from "node:util";
|
|
5
|
+
//#region lib/types/startup-diagnostics.js
|
|
6
|
+
/** Save original startup diagnostics while keeping the terminal report concise. */
|
|
7
|
+
/**
|
|
8
|
+
* Trace one startup phase to stderr when CHATCODE_CLI_STARTUP_TRACE=1.
|
|
9
|
+
* @param phase - launcher-owned label; exclude paths, arguments and configuration values.
|
|
10
|
+
* @returns a callback recording the elapsed milliseconds when the phase completes.
|
|
11
|
+
*/
|
|
12
|
+
function startStartupPhase(phase) {
|
|
13
|
+
if (process.env.CHATCODE_CLI_STARTUP_TRACE !== "1") return () => {};
|
|
14
|
+
const started = performance.now();
|
|
15
|
+
process.stderr.write(`[cco-startup] ${phase}: begin\n`);
|
|
16
|
+
return () => {
|
|
17
|
+
process.stderr.write(`[cco-startup] ${phase}: ${(performance.now() - started).toFixed(1)} ms\n`);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Trace plugin activation until the launcher's initial boot settles.
|
|
22
|
+
* @param ctx - the root context before profile entries mount.
|
|
23
|
+
* @returns the listener disposer; call before handing control to the interactive surface.
|
|
24
|
+
*/
|
|
25
|
+
function traceStartupPlugins(ctx) {
|
|
26
|
+
if (process.env.CHATCODE_CLI_STARTUP_TRACE !== "1") return () => {};
|
|
27
|
+
const pending = /* @__PURE__ */ new Map();
|
|
28
|
+
return ctx.on("internal/status", (fiber) => {
|
|
29
|
+
if (fiber.state === 1) pending.set(fiber, startStartupPhase(`plugin/${fiber.name}`));
|
|
30
|
+
else {
|
|
31
|
+
pending.get(fiber)?.();
|
|
32
|
+
pending.delete(fiber);
|
|
33
|
+
}
|
|
34
|
+
}, { global: true });
|
|
35
|
+
}
|
|
36
|
+
/** Wait for stderr to finish the write before the failed process exits. */
|
|
37
|
+
function writeStderr(text) {
|
|
38
|
+
return new Promise((resolve, reject) => {
|
|
39
|
+
process.stderr.write(text, (error) => {
|
|
40
|
+
if (error) reject(error);
|
|
41
|
+
else resolve();
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Print the startup summary and save a private, uniquely named report under DSH_HOME/logs.
|
|
47
|
+
* Failed writes print the complete report to stderr instead of claiming a saved path.
|
|
48
|
+
* @param error - startup audit failure retaining plugin metadata and original errors.
|
|
49
|
+
* @param context - resolved Harness home, application version, and selected profile.
|
|
50
|
+
* @param write - terminal output sink; awaited before returning, defaults to stderr.
|
|
51
|
+
* @returns after saving or printing the report and completing terminal writes.
|
|
52
|
+
*/
|
|
53
|
+
async function reportStartupFailure(error, context, write = writeStderr) {
|
|
54
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
55
|
+
const report = "WARNING: Raw diagnostics may contain configuration or credential values from plugin errors. Review before sharing.\n\n" + inspect({
|
|
56
|
+
timestamp: now,
|
|
57
|
+
dshVersion: context.version,
|
|
58
|
+
nodeVersion: process.version,
|
|
59
|
+
platform: process.platform,
|
|
60
|
+
arch: process.arch,
|
|
61
|
+
profile: context.profile,
|
|
62
|
+
error
|
|
63
|
+
}, {
|
|
64
|
+
depth: null,
|
|
65
|
+
maxArrayLength: null,
|
|
66
|
+
maxStringLength: null,
|
|
67
|
+
showHidden: true,
|
|
68
|
+
customInspect: false,
|
|
69
|
+
getters: false,
|
|
70
|
+
colors: false
|
|
71
|
+
}) + "\n";
|
|
72
|
+
await write(`${error.message}\n`);
|
|
73
|
+
const logDir = join(context.home, "logs");
|
|
74
|
+
const logPath = join(logDir, `startup-${now.replaceAll(":", "-")}-${randomUUID()}.log`);
|
|
75
|
+
try {
|
|
76
|
+
await mkdir(logDir, {
|
|
77
|
+
recursive: true,
|
|
78
|
+
mode: 448
|
|
79
|
+
});
|
|
80
|
+
await writeFile(logPath, report, {
|
|
81
|
+
flag: "wx",
|
|
82
|
+
mode: 384
|
|
83
|
+
});
|
|
84
|
+
} catch (writeError) {
|
|
85
|
+
await write(`\ndsh: warning: could not write startup diagnostics: ${String(writeError)}\nFull diagnostics:\n${report}`);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
await write(`\nFull diagnostics: ${logPath}\n`);
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
91
|
+
export { startStartupPhase as n, traceStartupPlugins as r, reportStartupFailure as t };
|
|
@@ -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-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";
|
|
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.
|
|
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
|
|
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.12_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.12_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.12_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.12_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.12_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.12_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.12_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-D4SZ2sGk.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-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";
|
|
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.12_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-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";
|
|
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.12_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-Dk6DYkO9.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-D4Ozrymr.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.
|
|
238
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_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-Dt_J35P0.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-
|
|
2
|
-
import { t as SHORTCUT_ACTIONS } from "./keymap-
|
|
1
|
+
import { n as DEFAULT_STATUS_BAR, s as normalizePageMargin } from "./tuiDisplayPrefs-CJ9aBVkB.js";
|
|
2
|
+
import { t as SHORTCUT_ACTIONS } from "./keymap-DFoC50J1.js";
|
|
3
3
|
import z from "@deepseek-ai/schemastery";
|
|
4
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
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
|
|
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.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/dsh-adapter/index.js
|
|
18
18
|
const name = "dsh-tui";
|
|
19
19
|
const inject = ["agents"];
|
|
20
20
|
const Config = z.object({
|
|
@@ -92,7 +92,7 @@ const Config = z.object({
|
|
|
92
92
|
* @returns a promise settling when the TUI teardown completes.
|
|
93
93
|
*/
|
|
94
94
|
async function apply(ctx, config) {
|
|
95
|
-
const { apply: ccTuiApply } = await import("./plugin-
|
|
95
|
+
const { apply: ccTuiApply } = await import("./plugin-B37GhsdI.js");
|
|
96
96
|
return ccTuiApply(ctx, config);
|
|
97
97
|
}
|
|
98
98
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.
|
|
1
|
+
//#region ../../node_modules/.pnpm/@chatcode+cco-tui@0.10.0-rc.12_08ea48c8555976e562c6368d51cb542b/node_modules/@chatcode/cco-tui/lib/types/tuiDisplayPrefs.js
|
|
2
2
|
/** Default footer is intentionally quiet: only the Yuanjing token dashboard. */
|
|
3
3
|
const DEFAULT_STATUS_BAR = Object.freeze({
|
|
4
4
|
compact: true,
|
|
@@ -49,6 +49,14 @@ export declare function isTransientMigrationPath(relativePath: string, kind: Hom
|
|
|
49
49
|
export declare function resolveHomeMigrationRoots(env?: Record<string, string | undefined>): HomeMigrationRoots;
|
|
50
50
|
/** Find legacy trees with durable entries that are still absent from the canonical home. */
|
|
51
51
|
export declare function detectPendingHomeMigrations(roots: HomeMigrationRoots): Promise<HomeMigrationPlan[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Probe the legacy roots for a startup reminder without descending or reading file contents.
|
|
54
|
+
* A positive result reports legacy data, not a claim that it still needs copying;
|
|
55
|
+
* the explicit migration command owns destination comparison and fingerprinting.
|
|
56
|
+
* @param roots - legacy directories and their canonical destinations.
|
|
57
|
+
* @returns whether either distinct, readable legacy root contains a durable entry.
|
|
58
|
+
*/
|
|
59
|
+
export declare function hasLegacyHomeData(roots: HomeMigrationRoots): Promise<boolean>;
|
|
52
60
|
/** Inspect both trees and return a deterministic, side-effect-free migration plan. */
|
|
53
61
|
export declare function planHomeMigration(source: string, destination: string): Promise<HomeMigrationPlan>;
|
|
54
62
|
/** Apply exactly one reviewed plan without overwriting destinations or removing legacy data. */
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Save original startup diagnostics while keeping the terminal report concise. */
|
|
2
|
+
import { type Context } from '@deepseek-ai/cordis';
|
|
2
3
|
import type { StartupError } from '@deepseek-ai/dsh-app-boot';
|
|
3
4
|
/** Launcher-owned context; no environment values or plugin configurations are collected. */
|
|
4
5
|
interface StartupDiagnosticContext {
|
|
@@ -6,6 +7,18 @@ interface StartupDiagnosticContext {
|
|
|
6
7
|
version: string;
|
|
7
8
|
profile: string;
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Trace one startup phase to stderr when CHATCODE_CLI_STARTUP_TRACE=1.
|
|
12
|
+
* @param phase - launcher-owned label; exclude paths, arguments and configuration values.
|
|
13
|
+
* @returns a callback recording the elapsed milliseconds when the phase completes.
|
|
14
|
+
*/
|
|
15
|
+
export declare function startStartupPhase(phase: string): () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Trace plugin activation until the launcher's initial boot settles.
|
|
18
|
+
* @param ctx - the root context before profile entries mount.
|
|
19
|
+
* @returns the listener disposer; call before handing control to the interactive surface.
|
|
20
|
+
*/
|
|
21
|
+
export declare function traceStartupPlugins(ctx: Context): () => void;
|
|
9
22
|
/**
|
|
10
23
|
* Print the startup summary and save a private, uniquely named report under DSH_HOME/logs.
|
|
11
24
|
* Failed writes print the complete report to stderr instead of claiming a saved path.
|
|
@@ -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-BdqThvw7.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.12_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
|
+
"version": "3.0.2-rc.4",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@agentclientprotocol/sdk": "1.4.0",
|
|
30
30
|
"@babel/code-frame": "^7.29.0",
|
|
31
|
-
"@chatcode/cco-better-sidebar": "0.18.0-rc.
|
|
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.
|
|
34
|
-
"@chatcode/cco-llm-chatcode-config": "0.1.4-rc.
|
|
33
|
+
"@chatcode/cco-chat-import": "0.14.1",
|
|
34
|
+
"@chatcode/cco-llm-chatcode-config": "0.1.4-rc.3",
|
|
35
35
|
"@chatcode/cco-market": "1.45.2-rc.3",
|
|
36
|
-
"@chatcode/cco-tui": "0.10.0-rc.
|
|
36
|
+
"@chatcode/cco-tui": "0.10.0-rc.12",
|
|
37
37
|
"@deepseek-ai/libreoffice-kit": "^0.1.1",
|
|
38
|
-
"@deepseek-harness-tui/dsh-tui": "npm:@chatcode/cco-tui@0.10.0-rc.
|
|
38
|
+
"@deepseek-harness-tui/dsh-tui": "npm:@chatcode/cco-tui@0.10.0-rc.12",
|
|
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",
|
|
@@ -57,10 +57,10 @@
|
|
|
57
57
|
"commander": "^15.0.0",
|
|
58
58
|
"compression": "^1.8.1",
|
|
59
59
|
"diff": "^9.0.0",
|
|
60
|
-
"dsh-better-sidebar": "npm:@chatcode/cco-better-sidebar@0.18.0-rc.
|
|
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.
|
|
63
|
-
"dsh-llm-chatcode-config": "npm:@chatcode/cco-llm-chatcode-config@0.1.4-rc.
|
|
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",
|
|
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-acp": "0.1.7-rc.2",
|
|
97
96
|
"@deepseek-ai/dsh-agent": "0.1.7-rc.2",
|
|
98
97
|
"@deepseek-ai/dsh-agent-loop": "0.1.7-rc.2",
|
|
99
|
-
"@deepseek-ai/dsh-
|
|
98
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-rc.2",
|
|
99
|
+
"@deepseek-ai/dsh-attachment-local": "0.1.7-rc.2",
|
|
100
100
|
"@deepseek-ai/dsh-credentials-local": "0.1.7-rc.2",
|
|
101
|
+
"@deepseek-ai/dsh-deepseek-llm-api-extensions": "0.1.7-rc.2",
|
|
101
102
|
"@deepseek-ai/dsh-experimental-agent-team": "0.1.7-rc.2",
|
|
102
103
|
"@deepseek-ai/dsh-bash-local": "0.1.7-rc.2",
|
|
103
|
-
"@deepseek-ai/dsh-
|
|
104
|
+
"@deepseek-ai/dsh-experimental-ptc-runtime-python": "0.1.7-rc.2",
|
|
104
105
|
"@deepseek-ai/dsh-experimental-tool-agent-team": "0.1.7-rc.2",
|
|
105
106
|
"@deepseek-ai/dsh-fs-sandbox": "0.1.7-rc.2",
|
|
106
|
-
"@deepseek-ai/dsh-attachment-local": "0.1.7-rc.2",
|
|
107
107
|
"@deepseek-ai/dsh-fs-observation-policy": "0.1.7-rc.2",
|
|
108
|
-
"@deepseek-ai/dsh-experimental-ptc-runtime-python": "0.1.7-rc.2",
|
|
109
108
|
"@deepseek-ai/dsh-host-frontend-static": "0.1.7-rc.2",
|
|
110
|
-
"@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
|
|
111
109
|
"@deepseek-ai/dsh-llm": "0.1.7-rc.2",
|
|
110
|
+
"@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
|
|
112
111
|
"@deepseek-ai/dsh-llm-deepseek": "0.1.7-rc.2",
|
|
113
112
|
"@deepseek-ai/dsh-llm-deepseek-api-key": "0.1.7-rc.2",
|
|
113
|
+
"@deepseek-ai/dsh-acp": "0.1.7-rc.2",
|
|
114
|
+
"@deepseek-ai/dsh-llm-deepseek-account": "0.1.7-rc.2",
|
|
114
115
|
"@deepseek-ai/dsh-llm-mock-server": "0.1.7-rc.2",
|
|
115
|
-
"@deepseek-ai/dsh-plugin-package-inventory-deepseek": "0.1.7-rc.2",
|
|
116
|
-
"@deepseek-ai/dsh-llm-replay": "0.1.7-rc.2",
|
|
117
116
|
"@deepseek-ai/dsh-llm-pi-ai": "0.1.7-rc.2",
|
|
118
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.2",
|
|
119
117
|
"@deepseek-ai/dsh-loader-smoke": "0.1.7-rc.2",
|
|
120
|
-
"@deepseek-ai/dsh-
|
|
118
|
+
"@deepseek-ai/dsh-plugin-package-inventory-deepseek": "0.1.7-rc.2",
|
|
121
119
|
"@deepseek-ai/dsh-sandbox-local": "0.1.7-rc.2",
|
|
122
120
|
"@deepseek-ai/dsh-sdk-client": "0.1.7-rc.2",
|
|
123
|
-
"@deepseek-ai/dsh-
|
|
124
|
-
"@deepseek-ai/dsh-session-log-deepseek": "0.1.7-rc.2",
|
|
121
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.2",
|
|
125
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",
|
|
126
125
|
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-rc.2",
|
|
127
126
|
"@deepseek-ai/dsh-session-query": "0.1.7-rc.2",
|
|
128
127
|
"@deepseek-ai/dsh-settings": "0.1.7-rc.2",
|
|
128
|
+
"@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
|
|
129
129
|
"@deepseek-ai/dsh-shell-env": "0.1.7-rc.2",
|
|
130
130
|
"@deepseek-ai/dsh-subagent-fork-in-process": "0.1.7-rc.2",
|
|
131
|
-
"@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
|
|
132
131
|
"@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.7-rc.2",
|
|
133
|
-
"@deepseek-ai/dsh-subprocess-local": "0.1.7-rc.2",
|
|
134
|
-
"@deepseek-ai/dsh-system-prompt": "0.1.7-rc.2",
|
|
135
132
|
"@deepseek-ai/dsh-tools": "0.1.7-rc.2",
|
|
136
|
-
"@deepseek-ai/dsh-
|
|
133
|
+
"@deepseek-ai/dsh-system-prompt": "0.1.7-rc.2",
|
|
134
|
+
"@deepseek-ai/dsh-subprocess-local": "0.1.7-rc.2",
|
|
135
|
+
"@deepseek-ai/dsh-user-approval": "0.1.7-rc.2",
|
|
136
|
+
"@deepseek-ai/dsh-llm-replay": "0.1.7-rc.2"
|
|
137
137
|
},
|
|
138
138
|
"exports": {
|
|
139
139
|
"./headless-compat": {
|
package/runtime/manifest.json
CHANGED
|
@@ -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.
|
|
4128
|
+
const client = () => accountClientMetadata(ctx.locale.getSnapshot().active, "3.0.2-rc.4");
|
|
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.
|
|
4259
|
+
version: "3.0.2-rc.4",
|
|
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.
|
|
660
|
+
children: t("general.currentVersion", { version: "3.0.2-rc.4" })
|
|
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.
|
|
170
|
+
return `3.0.2-rc.4-28b70e2-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 }) {
|
|
@@ -183,13 +183,12 @@ window.__ModuleLoader__.load({
|
|
|
183
183
|
//#endregion
|
|
184
184
|
//#region lib/types/client/HeaderAction.js
|
|
185
185
|
/**
|
|
186
|
-
* Render the Session Header
|
|
186
|
+
* Render the Session Header download menu.
|
|
187
187
|
* @param props - Session runtime, download controller, and localized copy.
|
|
188
188
|
* @returns the persistent Header action and Session-scoped dialog.
|
|
189
189
|
*/
|
|
190
190
|
function SessionLogDownloadHeaderAction(props) {
|
|
191
|
-
const { sessionId, useSessionLogDownload,
|
|
192
|
-
const feedbackAvailable = useFeedbackAvailable((value) => value);
|
|
191
|
+
const { sessionId, useSessionLogDownload, request, openFeedback, t } = props;
|
|
193
192
|
const busy = useSessionLogDownload((state) => state.bySession[String(sessionId)])?.status === "downloading";
|
|
194
193
|
const [open, setOpen] = (0, react.useState)(false);
|
|
195
194
|
return (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Menu, {
|
|
@@ -204,11 +203,7 @@ window.__ModuleLoader__.load({
|
|
|
204
203
|
label: t("menu.download"),
|
|
205
204
|
icon: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconDownloadOutlineRegular, {}),
|
|
206
205
|
disabled: busy
|
|
207
|
-
},
|
|
208
|
-
id: "feedback",
|
|
209
|
-
label: t("menu.feedback"),
|
|
210
|
-
icon: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconPaperPlaneOutlineRegular, {})
|
|
211
|
-
}] : []],
|
|
206
|
+
}],
|
|
212
207
|
onSelect: (id) => {
|
|
213
208
|
setOpen(false);
|
|
214
209
|
if (id === "feedback") openFeedback(sessionId);
|