@chatcode/chatcode-cli 3.0.3 → 3.0.4-rc.1
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 +10 -10
- package/README.md +16 -1
- package/README.zh.md +16 -1
- package/lib/bin.js +62 -11
- package/lib/{command-errors-CBJRI2gy.js → command-errors-BkCHTQHj.js} +12 -12
- package/lib/{command-trees-Dvq4C7a4.js → command-trees-5HFyC5sI.js} +2 -2
- package/lib/{component-identity-DPdJglJO.js → component-identity-De91VHwW.js} +3 -3
- package/lib/{dist-w_sIm4VD.js → dist-CsDWUvQ4.js} +231 -231
- package/lib/{dump-config-CauO75nE.js → dump-config-BcH-VYuv.js} +5 -5
- package/lib/dump-config-CyopmD85.js +2 -0
- package/lib/{dump-config-schema-CObLWWaW.js → dump-config-schema-DM0fb6Ns.js} +2 -2
- package/lib/{extension-events-Be9LWvHD.js → extension-events-CdYCRP0o.js} +26 -26
- package/lib/{frames-7PAg0Q9b.js → frames-DOX-Jgk8.js} +4 -4
- package/lib/headless-compat.js +2 -2
- package/lib/{host-access-DeCjoRQP.js → host-access-Bk4xps5E.js} +1 -1
- package/lib/{keymap-CRUxM_qn.js → keymap-CJ1kvLR2.js} +17 -16
- package/lib/{plugin-CDFSDE_y.js → plugin-XR7ncbnW.js} +2928 -2240
- package/lib/{plugin-Cn-hyYY8.js → plugin-eJjD6r12.js} +1 -1
- package/lib/{profile-boot-SJGbpLgN.js → profile-boot-BNQry1NM.js} +97 -14
- package/lib/profile-boot.js +2 -2
- package/lib/{scenes-D6jV1EEi.js → scenes-CAmWncZD.js} +3 -3
- package/lib/{settings-sections-DJQRNBo9.js → settings-sections-CakcvBv9.js} +7 -3
- package/lib/statusBarSettings-BPPS_Usm.js +382 -0
- package/lib/{supports-color-CcW-FGjr.js → supports-color-DyChQwlI.js} +2 -2
- package/lib/{themes-BCly4_y9.js → themes-OjcUpZzw.js} +13 -13
- 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 +4 -4
- package/lib/tui-compat-workspaces.js +1 -1
- package/lib/tui-compat.js +9 -26
- package/lib/types/args.d.ts +2 -0
- package/lib/types/permission-bypass.d.ts +16 -0
- package/lib/types/profile-boot.d.ts +12 -0
- package/lib/types/tui-compat.d.ts +4 -0
- package/lib/types/web-browser.d.ts +6 -0
- package/lib/types/web-instance.d.ts +42 -0
- package/lib/web-browser-Vcgfdsv_.js +46 -0
- package/lib/web-instance-B0jec7cq.js +2 -0
- package/lib/web-instance-DbP7IHPv.js +280 -0
- package/lib/{workspaces-Bb3kCAFb.js → workspaces-XY7UdfXp.js} +2 -2
- package/package.json +34 -32
- package/runtime/manifest.json +4 -2
- package/runtime/node_modules/@deepseek-ai/dsh-agent-default-model/lib/index.js +34 -4
- package/runtime/node_modules/@deepseek-ai/dsh-agent-default-model/lib/types/index.d.ts +9 -0
- package/runtime/node_modules/@deepseek-ai/dsh-agent-preset/skills/cordis-composition-reference/references/packages.md +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-gateway/lib/client.js +2 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-gateway/lib/types/client/remote-stream.js +4 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/client.js +39 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/index.js +6 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.host.js +10 -3
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.remote-client.js +7 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/catalog.js +8 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/types.d.ts +10 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/index.js +28 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/typert.host.js +39 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/typert.remote-client.d.ts +2 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/typert.remote-client.js +32 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/types/index.d.ts +8 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/types/index.js +19 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/index.js +28 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/feed.js +17 -0
- package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js +67 -19
- package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/types/index.d.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/types/profile-context.d.ts +11 -1
- package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/worker/profile-resolution-bootstrap.js +22 -3
- package/runtime/node_modules/@deepseek-ai/dsh-base/cordis.patch.yml +9 -3
- package/runtime/node_modules/@deepseek-ai/dsh-base/package.json +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-chat/lib/client.js +3 -2
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-chat/lib/types/index.d.ts +2 -2
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-goal/lib/client.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +60 -12
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/types/client/directory.d.ts +3 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/types/client/locales.d.ts +6 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css +3 -5
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css +23 -27
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings/lib/types/client/contract/slots.d.ts +3 -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-account/lib/types/index.d.ts +2 -2
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +8 -7
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/types/client/SettingsDocumentAction.d.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/types/client/settings-document-store.d.ts +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +33 -12
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/types/client/locales.d.ts +2 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/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-theme/lib/client.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +8 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/locales.d.ts +2 -0
- package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/index.js +35 -0
- package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/types/brand.d.ts +11 -0
- package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/types/brand.js +10 -0
- package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/types/index.d.ts +28 -0
- package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/types/index.js +36 -0
- package/runtime/node_modules/@deepseek-ai/dsh-computer-use/package.json +42 -0
- package/runtime/node_modules/@deepseek-ai/dsh-config-editor/lib/index.js +102 -14
- package/runtime/node_modules/@deepseek-ai/dsh-config-editor/lib/types/index.d.ts +34 -4
- package/runtime/node_modules/@deepseek-ai/dsh-config-editor/package.json +1 -0
- package/runtime/node_modules/@deepseek-ai/dsh-host-webserver/lib/index.js +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-native-command/lib/index.js +21 -8
- package/runtime/node_modules/@deepseek-ai/dsh-native-command/lib/types/path-opener.d.ts +4 -6
- package/runtime/node_modules/@deepseek-ai/dsh-native-command/lib/types/path-opener.js +18 -7
- package/runtime/node_modules/@deepseek-ai/dsh-settings/lib/index.js +5 -4
- package/runtime/node_modules/@deepseek-ai/dsh-settings/lib/types/index.d.ts +4 -3
- package/runtime/node_modules/@deepseek-ai/dsh-settings/lib/types/index.js +4 -3
- package/runtime/node_modules/@deepseek-ai/dsh-storage/lib/types/backend.d.ts +4 -0
- package/runtime/node_modules/@deepseek-ai/dsh-storage-domain/lib/index.js +60 -0
- package/runtime/node_modules/@deepseek-ai/dsh-storage-domain/lib/types/domain.d.ts +15 -0
- package/runtime/node_modules/@deepseek-ai/dsh-storage-json/lib/index.js +25 -0
- package/runtime/node_modules/@deepseek-ai/dsh-storage-json/package.json +1 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/index.js +5472 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/command-args.d.ts +17 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/commands/tianti/cicd.d.ts +8 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/commands/tianti/tianti.d.ts +7 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/commands/tianti-deliver/tianti-deliver.d.ts +8 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/config.d.ts +27 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/index.d.ts +12 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/memory-config.d.ts +10 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/runtime.d.ts +105 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/aliases.d.ts +11 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/auth.d.ts +20 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/client.d.ts +206 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/config.d.ts +20 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/index.d.ts +6 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/log.d.ts +16 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/types.d.ts +136 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/codebase.d.ts +19 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/dynamicWorkflow.d.ts +10 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/engine.d.ts +8 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/executor.d.ts +11 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/executors.d.ts +15 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/index.d.ts +23 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/memorySuggestions.d.ts +12 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/openspec.d.ts +31 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/recommend.d.ts +8 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/render.d.ts +8 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/requirementContext.d.ts +12 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/scenarioUpgrade.d.ts +24 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/state.d.ts +16 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/store.d.ts +33 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/templates.d.ts +8 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/types.d.ts +385 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/writeReviewSync.d.ts +6 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/writeReview/index.d.ts +29 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/writeReview/store.d.ts +20 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/writeReview/types.d.ts +49 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/tools.d.ts +12 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/package.json +55 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tool-cordis/lib/types/api-catalog.js +57 -13
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-D5kpKf--.css +1 -0
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-Dz_cDcce.js +133 -0
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-Dz_cDcce.js.map +1 -0
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/chatcode-apple-touch-icon.png +0 -0
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/chatcode-icon-32.png +0 -0
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/chatcode-mask-icon.svg +1 -0
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/favicon-dark.svg +1 -3
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/favicon.ico +0 -0
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/favicon.svg +1 -3
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/index.html +8 -4
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/preview.html +8 -4
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/package.json +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/index.js +110 -33
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/entity.d.ts +6 -0
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/entity.js +23 -17
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/index.d.ts +10 -0
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/index.js +95 -21
- package/lib/dump-config-CijLv_kn.js +0 -2
- package/lib/tuiDisplayPrefs-Dm_fULiR.js +0 -204
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-DUvMhLle.css +0 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-Q6zc2uHV.js +0 -127
- package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-Q6zc2uHV.js.map +0 -1
|
@@ -540,13 +540,15 @@ const PROFILE_TEMPLATES = {
|
|
|
540
540
|
web: { bundles: [
|
|
541
541
|
"@deepseek-ai/dsh-base",
|
|
542
542
|
"@deepseek-ai/dsh-web-app",
|
|
543
|
-
"dshmarket"
|
|
543
|
+
"dshmarket",
|
|
544
|
+
"dsh-computer-use"
|
|
544
545
|
] },
|
|
545
546
|
cli: { bundles: [
|
|
546
547
|
"@deepseek-ai/dsh-base",
|
|
547
548
|
"@deepseek-harness-tui/dsh-tui",
|
|
548
549
|
"dsh-llm-chatcode-config",
|
|
549
|
-
"dshmarket"
|
|
550
|
+
"dshmarket",
|
|
551
|
+
"dsh-computer-use"
|
|
550
552
|
] },
|
|
551
553
|
headless: { bundles: ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-headless"] },
|
|
552
554
|
sdk: { bundles: ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-sdk-app"] },
|
|
@@ -554,16 +556,26 @@ const PROFILE_TEMPLATES = {
|
|
|
554
556
|
};
|
|
555
557
|
/** Installation-owned bundle tuples normalized to the shipped template. */
|
|
556
558
|
const INSTALLATION_OWNED_PROFILE_TUPLES = {
|
|
557
|
-
|
|
559
|
+
web: [[
|
|
560
|
+
"@deepseek-ai/dsh-base",
|
|
561
|
+
"@deepseek-ai/dsh-web-app",
|
|
562
|
+
"dshmarket"
|
|
563
|
+
]],
|
|
564
|
+
cli: [[
|
|
558
565
|
"@deepseek-ai/dsh-base",
|
|
559
566
|
"@deepseek-harness-tui/dsh-tui",
|
|
560
567
|
"dsh-llm-chatcode-config"
|
|
561
|
-
],
|
|
562
|
-
|
|
568
|
+
], [
|
|
569
|
+
"@deepseek-ai/dsh-base",
|
|
570
|
+
"@deepseek-harness-tui/dsh-tui",
|
|
571
|
+
"dsh-llm-chatcode-config",
|
|
572
|
+
"dshmarket"
|
|
573
|
+
]],
|
|
574
|
+
headless: [[
|
|
563
575
|
"@deepseek-ai/dsh-base",
|
|
564
576
|
"@deepseek-ai/dsh-web-app",
|
|
565
577
|
"@deepseek-ai/dsh-headless"
|
|
566
|
-
]
|
|
578
|
+
]]
|
|
567
579
|
};
|
|
568
580
|
/** The bundle list a `dsh plugin` init uses for a name with no shipped template. */
|
|
569
581
|
const DEFAULT_PROFILE_BUNDLES = ["@deepseek-ai/dsh-base"];
|
|
@@ -882,7 +894,7 @@ function normalizeShippedProfile(name, dir, manifest) {
|
|
|
882
894
|
const template = PROFILE_TEMPLATES[name];
|
|
883
895
|
const bundles = manifest.dsh?.profile?.bundles;
|
|
884
896
|
if (template === void 0 || bundles === void 0) return manifest;
|
|
885
|
-
if (!(installationOwned
|
|
897
|
+
if (!(installationOwned?.some((tuple) => sameBundles(bundles, tuple)) ?? false)) return manifest;
|
|
886
898
|
const normalized = {
|
|
887
899
|
...manifest,
|
|
888
900
|
dsh: {
|
|
@@ -1024,6 +1036,43 @@ function composeEntries(layers, warn = () => {}) {
|
|
|
1024
1036
|
//#region lib/types/profile-context.js
|
|
1025
1037
|
/** Launcher-owned profile locations and composition inputs. */
|
|
1026
1038
|
const TELEMETRY_ROW_ID = "session-telemetry-otel";
|
|
1039
|
+
function findEntry(rows, id) {
|
|
1040
|
+
for (const row of rows) {
|
|
1041
|
+
if (row.id === id) return row;
|
|
1042
|
+
if (row.group && Array.isArray(row.config)) {
|
|
1043
|
+
const nested = findEntry(row.config, id);
|
|
1044
|
+
if (nested !== void 0) return nested;
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
}
|
|
1048
|
+
function configObject(value) {
|
|
1049
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
1050
|
+
}
|
|
1051
|
+
/** Resolve shared home field overrides without replacing inherited deployment fields.
|
|
1052
|
+
* @param binName Diagnostic prefix for malformed configuration.
|
|
1053
|
+
* @param inherited Bundle and profile patches beneath the home layer.
|
|
1054
|
+
* @param homePatches Parsed home layer, including optional mergeConfig markers.
|
|
1055
|
+
* @returns Detached home patches ready for Loader composition or configuration dumps.
|
|
1056
|
+
*/
|
|
1057
|
+
function resolveHomePatchConfigs(binName, inherited, homePatches) {
|
|
1058
|
+
const patches = structuredClone([...inherited]);
|
|
1059
|
+
for (const patch of structuredClone(homePatches)) {
|
|
1060
|
+
if (patch.mergeConfig === true) {
|
|
1061
|
+
if (typeof patch.id !== "string" || patch.insert !== void 0 || !configObject(patch.config)) throw new TypeError(`${binName}: mergeConfig requires an id-targeted object config in the home patch`);
|
|
1062
|
+
const target = findEntry(composeEntries([patches]), patch.id);
|
|
1063
|
+
if (target !== void 0 && (!patch.name || patch.name === target.name)) {
|
|
1064
|
+
if (target.config !== void 0 && !configObject(target.config)) throw new TypeError(`${binName}: cannot merge non-object config for ${patch.id}`);
|
|
1065
|
+
patch.config = {
|
|
1066
|
+
...target.config,
|
|
1067
|
+
...patch.config
|
|
1068
|
+
};
|
|
1069
|
+
}
|
|
1070
|
+
Reflect.deleteProperty(patch, "mergeConfig");
|
|
1071
|
+
}
|
|
1072
|
+
patches.push(patch);
|
|
1073
|
+
}
|
|
1074
|
+
return patches.slice(inherited.length);
|
|
1075
|
+
}
|
|
1027
1076
|
/**
|
|
1028
1077
|
* Resolve the telemetry opt-out switch into its boot patch. ANY non-empty
|
|
1029
1078
|
* value (including `'0'`/`'false'`) disables: a privacy switch prefers
|
|
@@ -1046,22 +1095,20 @@ function resolveTelemetryPatch(disabledEnv, hasRow) {
|
|
|
1046
1095
|
* @param binName Diagnostic prefix for malformed or missing configuration.
|
|
1047
1096
|
* @param context Data supplied by the profile launcher.
|
|
1048
1097
|
* @param initialProfile Already loaded startup profile; omitted reads the current files.
|
|
1098
|
+
* @param homePatches Candidate home layer for an edit; omitted reads the home patch.
|
|
1049
1099
|
* @returns Detached ordered patches; this function does not update the Loader.
|
|
1050
1100
|
*/
|
|
1051
|
-
function readProfilePatches(binName, context, initialProfile) {
|
|
1101
|
+
function readProfilePatches(binName, context, initialProfile, homePatches) {
|
|
1052
1102
|
const profile = initialProfile ?? loadProfileDirectory(binName, context.dir, context.installAnchor, {
|
|
1053
1103
|
...context.trustedVersionExemptions === void 0 ? {} : { trustedVersionExemptions: context.trustedVersionExemptions },
|
|
1054
1104
|
userLayer: false
|
|
1055
1105
|
});
|
|
1056
|
-
const patches = structuredClone([
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
...loadOptionalPatches(binName, join(context.home, "cordis.patch.yml")) ?? [],
|
|
1060
|
-
...context.overlays
|
|
1061
|
-
]);
|
|
1106
|
+
const patches = structuredClone([...profile.layers.flatMap((layer) => layer.patches), ...initialProfile?.patches ?? loadOptionalPatches(binName, context.patchPath) ?? []]);
|
|
1107
|
+
patches.push(...resolveHomePatchConfigs(binName, patches, homePatches ?? loadOptionalPatches(binName, join(context.home, "cordis.patch.yml")) ?? []));
|
|
1108
|
+
patches.push(...structuredClone(context.overlays));
|
|
1062
1109
|
const telemetryPatch = resolveTelemetryPatch(context.telemetryDisabledEnv, composeEntries([patches]).some((row) => row.id === TELEMETRY_ROW_ID));
|
|
1063
1110
|
if (telemetryPatch !== void 0) patches.push(telemetryPatch);
|
|
1064
|
-
return patches;
|
|
1111
|
+
return context.transformPatches?.(patches) ?? patches;
|
|
1065
1112
|
}
|
|
1066
1113
|
//#endregion
|
|
1067
1114
|
//#region lib/types/profile-plugins.js
|
|
@@ -1203,7 +1250,7 @@ function barePackageName(request) {
|
|
|
1203
1250
|
}
|
|
1204
1251
|
function canonicalPath(path) {
|
|
1205
1252
|
try {
|
|
1206
|
-
return
|
|
1253
|
+
return realModuleDirectory(path);
|
|
1207
1254
|
} catch {
|
|
1208
1255
|
return resolve(path);
|
|
1209
1256
|
}
|
|
@@ -1214,14 +1261,15 @@ function prefixes(path) {
|
|
|
1214
1261
|
return canonical === configured ? [configured] : [configured, canonical];
|
|
1215
1262
|
}
|
|
1216
1263
|
function compileResolution(resolution) {
|
|
1264
|
+
const linkedPaths = resolution.linkedRoots.flatMap((root) => prefixes(root.realPath));
|
|
1217
1265
|
return {
|
|
1218
1266
|
entries: new Map(resolution.entries.map((entry) => [entry.name, entry])),
|
|
1219
1267
|
profilesDir: resolution.profilesDir,
|
|
1220
1268
|
profileDir: resolution.profileDir,
|
|
1221
1269
|
profilePaths: prefixes(resolution.profilesDir),
|
|
1222
1270
|
profile: resolution.profileDir === void 0 ? [] : prefixes(resolution.profileDir),
|
|
1223
|
-
installationPaths: [...new Set(resolution.entries.filter((entry) => entry.scope === "installation").flatMap((entry) => prefixes(entry.packageDir)))],
|
|
1224
|
-
linkedPaths
|
|
1271
|
+
installationPaths: linkedPaths.length === 0 ? [] : [...new Set(resolution.entries.filter((entry) => entry.scope === "installation").flatMap((entry) => prefixes(entry.packageDir)))],
|
|
1272
|
+
linkedPaths,
|
|
1225
1273
|
localPackageNames: new Set(resolution.localPackageNames),
|
|
1226
1274
|
esmRoutes: /* @__PURE__ */ new Map(),
|
|
1227
1275
|
cjsRoutes: /* @__PURE__ */ new Map()
|
|
@@ -4168,4 +4216,4 @@ function addHarnessSourceSection(ctx, sourceRoot) {
|
|
|
4168
4216
|
});
|
|
4169
4217
|
}
|
|
4170
4218
|
//#endregion
|
|
4171
|
-
export { DEFAULT_PROFILE_BUNDLES, FAIL_LOUD_RELEASE_TIMEOUT_MS, HARNESS_SOURCE_SECTION, LOADER_EXPRESSION_SCHEMA, OPTIONAL_BUNDLES, PROFILES_DIR, PROFILE_COMPATIBILITY_FILENAME, PROFILE_PATCH_FILENAME, PROFILE_TEMPLATES, PluginPackages, StartupError, addHarnessSourceSection, auditStartupEntries, boot, bundlePatchFiles, bundlePatchPaths, composeEntries, createConfigProjector, createRuntimeResolution, evaluatePluginCompatibility, generateConfigSchema, getDshRuntimeVersion, initProfile, installFailLoud, isNativeConfigSchema, loadEnv, loadLayeredEnv, loadOptionalPatches, loadOverlayPatches, loadProfile, loadProfileDirectory, mergeVersionExemptions, mountRootInclude, pluginCompatibilityWarning, prepareProfileEntries, prepareProfilePatches, readPluginMeta, readProfileCompatibility, readProfileManifest, readProfilePatches, readProfilePlugins, readProfileVersionExemptions, reconcileProfilePatches, reconcileProfilePlugins, removeLinkProjections, renderConfigDump, reportSkippedBundles, resolveBundleDir, resolveConfigPath, resolveProfileDir, resolveTelemetryPatch, sanitizeProfile, setProfileVersionExemption, writeProfileBundles, writeProfileManifest };
|
|
4219
|
+
export { DEFAULT_PROFILE_BUNDLES, FAIL_LOUD_RELEASE_TIMEOUT_MS, HARNESS_SOURCE_SECTION, LOADER_EXPRESSION_SCHEMA, OPTIONAL_BUNDLES, PROFILES_DIR, PROFILE_COMPATIBILITY_FILENAME, PROFILE_PATCH_FILENAME, PROFILE_TEMPLATES, PluginPackages, StartupError, addHarnessSourceSection, auditStartupEntries, boot, bundlePatchFiles, bundlePatchPaths, composeEntries, createConfigProjector, createRuntimeResolution, evaluatePluginCompatibility, generateConfigSchema, getDshRuntimeVersion, initProfile, installFailLoud, isNativeConfigSchema, loadEnv, loadLayeredEnv, loadOptionalPatches, loadOverlayPatches, loadProfile, loadProfileDirectory, mergeVersionExemptions, mountRootInclude, pluginCompatibilityWarning, prepareProfileEntries, prepareProfilePatches, readPluginMeta, readProfileCompatibility, readProfileManifest, readProfilePatches, readProfilePlugins, readProfileVersionExemptions, reconcileProfilePatches, reconcileProfilePlugins, removeLinkProjections, renderConfigDump, reportSkippedBundles, resolveBundleDir, resolveConfigPath, resolveHomePatchConfigs, resolveProfileDir, resolveTelemetryPatch, sanitizeProfile, setProfileVersionExemption, writeProfileBundles, writeProfileManifest };
|
|
@@ -10,7 +10,7 @@ import { type Entry } from '@deepseek-ai/cordis-plugin-loader';
|
|
|
10
10
|
import { type PatchOptions } from '@deepseek-ai/cordis-plugin-include';
|
|
11
11
|
import { dshHomePath } from '@deepseek-ai/dsh-home-paths';
|
|
12
12
|
import { type LaunchEnvironmentSnapshot } from '@deepseek-ai/dsh-launch-environment';
|
|
13
|
-
export { readProfilePatches, resolveTelemetryPatch, type ProfileContext, type ProfilePnpmInvocation } from './profile-context.ts';
|
|
13
|
+
export { readProfilePatches, resolveHomePatchConfigs, resolveTelemetryPatch, type ProfileContext, type ProfilePnpmInvocation, } from './profile-context.ts';
|
|
14
14
|
export { sanitizeProfile } from './profile-sanitize.ts';
|
|
15
15
|
export { getDshRuntimeVersion, evaluatePluginCompatibility, pluginCompatibilityWarning, type PluginCompatibility } from './plugin-compatibility.ts';
|
|
16
16
|
export { PROFILE_COMPATIBILITY_FILENAME, readProfileCompatibility, readProfileVersionExemptions, mergeVersionExemptions, setProfileVersionExemption, type ProfileCompatibility, } from './profile-compatibility.ts';
|
|
@@ -20,6 +20,8 @@ export interface ProfileContext {
|
|
|
20
20
|
readonly startedBundles: readonly string[];
|
|
21
21
|
/** Parsed command-line overlays, applied above profile and home patches. */
|
|
22
22
|
readonly overlays: readonly PatchOptions[];
|
|
23
|
+
/** Launcher package aliases applied identically at startup and on every reload. */
|
|
24
|
+
readonly transformPatches?: (patches: PatchOptions[]) => PatchOptions[];
|
|
23
25
|
/** Distributor-reviewed exact plugin/runtime pairs, additive to user-owned profile exemptions. */
|
|
24
26
|
readonly trustedVersionExemptions?: Readonly<Record<string, readonly string[]>>;
|
|
25
27
|
/** Launch-time CHATCODE_CLI_TELEMETRY_DISABLED value; any non-empty value opts out. */
|
|
@@ -31,6 +33,13 @@ declare module '@deepseek-ai/cordis' {
|
|
|
31
33
|
profileContext: ProfileContext;
|
|
32
34
|
}
|
|
33
35
|
}
|
|
36
|
+
/** Resolve shared home field overrides without replacing inherited deployment fields.
|
|
37
|
+
* @param binName Diagnostic prefix for malformed configuration.
|
|
38
|
+
* @param inherited Bundle and profile patches beneath the home layer.
|
|
39
|
+
* @param homePatches Parsed home layer, including optional mergeConfig markers.
|
|
40
|
+
* @returns Detached home patches ready for Loader composition or configuration dumps.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveHomePatchConfigs(binName: string, inherited: readonly PatchOptions[], homePatches: readonly PatchOptions[]): PatchOptions[];
|
|
34
43
|
/**
|
|
35
44
|
* Resolve the telemetry opt-out switch into its boot patch. ANY non-empty
|
|
36
45
|
* value (including `'0'`/`'false'`) disables: a privacy switch prefers
|
|
@@ -47,7 +56,8 @@ export declare function resolveTelemetryPatch(disabledEnv: string | undefined, h
|
|
|
47
56
|
* @param binName Diagnostic prefix for malformed or missing configuration.
|
|
48
57
|
* @param context Data supplied by the profile launcher.
|
|
49
58
|
* @param initialProfile Already loaded startup profile; omitted reads the current files.
|
|
59
|
+
* @param homePatches Candidate home layer for an edit; omitted reads the home patch.
|
|
50
60
|
* @returns Detached ordered patches; this function does not update the Loader.
|
|
51
61
|
*/
|
|
52
|
-
export declare function readProfilePatches(binName: string, context: ProfileContext, initialProfile?: Profile): PatchOptions[];
|
|
62
|
+
export declare function readProfilePatches(binName: string, context: ProfileContext, initialProfile?: Profile, homePatches?: readonly PatchOptions[]): PatchOptions[];
|
|
53
63
|
//# sourceMappingURL=profile-context.d.ts.map
|
package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/worker/profile-resolution-bootstrap.js
CHANGED
|
@@ -41,6 +41,24 @@ function f(e, r, t) {
|
|
|
41
41
|
if (e.imports) return n(e.name, e.imports, r, t);
|
|
42
42
|
}
|
|
43
43
|
//#endregion
|
|
44
|
+
//#region lib/types/profile-resolution/legacy-links.js
|
|
45
|
+
/** Package directory canonicalization through the active runtime carrier's filesystem. */
|
|
46
|
+
/**
|
|
47
|
+
* Return whether the process reads application modules from pkg's virtual filesystem.
|
|
48
|
+
* @returns whether pkg owns the module filesystem.
|
|
49
|
+
*/
|
|
50
|
+
function isPackagedExecutable() {
|
|
51
|
+
return process.pkg !== void 0;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Resolve a directory through the active carrier's filesystem implementation.
|
|
55
|
+
* @param path - directory path to canonicalize.
|
|
56
|
+
* @returns the canonical directory path.
|
|
57
|
+
*/
|
|
58
|
+
function realModuleDirectory(path) {
|
|
59
|
+
return isPackagedExecutable() ? realpathSync(path) : realpathSync.native(path);
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
44
62
|
//#region lib/types/profile-resolution/resolver.js
|
|
45
63
|
/** In-memory profile package routing for Node's default ESM and CommonJS loaders. */
|
|
46
64
|
const EMPTY_ATTRIBUTES = Object.freeze({});
|
|
@@ -59,7 +77,7 @@ function barePackageName(request) {
|
|
|
59
77
|
}
|
|
60
78
|
function canonicalPath(path) {
|
|
61
79
|
try {
|
|
62
|
-
return
|
|
80
|
+
return realModuleDirectory(path);
|
|
63
81
|
} catch {
|
|
64
82
|
return resolve(path);
|
|
65
83
|
}
|
|
@@ -70,14 +88,15 @@ function prefixes(path) {
|
|
|
70
88
|
return canonical === configured ? [configured] : [configured, canonical];
|
|
71
89
|
}
|
|
72
90
|
function compileResolution(resolution) {
|
|
91
|
+
const linkedPaths = resolution.linkedRoots.flatMap((root) => prefixes(root.realPath));
|
|
73
92
|
return {
|
|
74
93
|
entries: new Map(resolution.entries.map((entry) => [entry.name, entry])),
|
|
75
94
|
profilesDir: resolution.profilesDir,
|
|
76
95
|
profileDir: resolution.profileDir,
|
|
77
96
|
profilePaths: prefixes(resolution.profilesDir),
|
|
78
97
|
profile: resolution.profileDir === void 0 ? [] : prefixes(resolution.profileDir),
|
|
79
|
-
installationPaths: [...new Set(resolution.entries.filter((entry) => entry.scope === "installation").flatMap((entry) => prefixes(entry.packageDir)))],
|
|
80
|
-
linkedPaths
|
|
98
|
+
installationPaths: linkedPaths.length === 0 ? [] : [...new Set(resolution.entries.filter((entry) => entry.scope === "installation").flatMap((entry) => prefixes(entry.packageDir)))],
|
|
99
|
+
linkedPaths,
|
|
81
100
|
localPackageNames: new Set(resolution.localPackageNames),
|
|
82
101
|
esmRoutes: /* @__PURE__ */ new Map(),
|
|
83
102
|
cjsRoutes: /* @__PURE__ */ new Map()
|
|
@@ -97,6 +97,8 @@
|
|
|
97
97
|
- id: config-editor
|
|
98
98
|
name: '@deepseek-ai/dsh-config-editor'
|
|
99
99
|
disabled: !!js "!ctx.get('profileContext')"
|
|
100
|
+
config:
|
|
101
|
+
sharedEntries: [llm-pi-ai]
|
|
100
102
|
|
|
101
103
|
- id: settings
|
|
102
104
|
name: '@deepseek-ai/dsh-settings'
|
|
@@ -204,7 +206,7 @@
|
|
|
204
206
|
- id: session-telemetry-otel
|
|
205
207
|
name: '@deepseek-ai/dsh-session-telemetry-otel'
|
|
206
208
|
config:
|
|
207
|
-
mode: !!js process.env.DSH_TELEMETRY_MODE || 'FEEDBACK_ONLY'
|
|
209
|
+
mode: !!js process.env.CHATCODE_CLI_TELEMETRY_MODE || process.env.DSH_TELEMETRY_MODE || 'FEEDBACK_ONLY'
|
|
208
210
|
shutdownTimeoutMillis: 3000
|
|
209
211
|
exporter:
|
|
210
212
|
url: !!js process.env.DSH_TELEMETRY_OTLP_URL ?? 'https://harness-telemetry.deepseeksvc.com/v1/logs'
|
|
@@ -228,7 +230,7 @@
|
|
|
228
230
|
- id: sandbox-policy
|
|
229
231
|
name: '@deepseek-ai/dsh-sandbox-policy'
|
|
230
232
|
config:
|
|
231
|
-
mode: !!js process.env.DSH_PERMISSION_MODE
|
|
233
|
+
mode: !!js process.env.CHATCODE_CLI_PERMISSION_MODE || process.env.DSH_PERMISSION_MODE || 'workspace-write'
|
|
232
234
|
workspaceRoot: !!js process.cwd()
|
|
233
235
|
|
|
234
236
|
- id: bash-sandbox
|
|
@@ -244,7 +246,7 @@
|
|
|
244
246
|
- id: approval
|
|
245
247
|
name: '@deepseek-ai/dsh-user-approval'
|
|
246
248
|
config:
|
|
247
|
-
policy: !!js "(process.env.DSH_PERMISSION_MODE
|
|
249
|
+
policy: !!js "(process.env.CHATCODE_CLI_PERMISSION_MODE || process.env.DSH_PERMISSION_MODE || 'workspace-write') === 'danger-full-access' ? 'never' : 'ask'"
|
|
248
250
|
|
|
249
251
|
- id: permission
|
|
250
252
|
name: '@deepseek-ai/dsh-permission-presets'
|
|
@@ -340,6 +342,10 @@
|
|
|
340
342
|
- id: compaction-basic
|
|
341
343
|
name: '@deepseek-ai/dsh-compaction-basic'
|
|
342
344
|
|
|
345
|
+
# Shared ChatCode login is consumed only when a Tianti command or tool runs.
|
|
346
|
+
- id: tianti
|
|
347
|
+
name: '@deepseek-ai/dsh-tianti'
|
|
348
|
+
|
|
343
349
|
# Human `/compact`: one useful reduction below the automatic threshold. Backend
|
|
344
350
|
# independent, so it follows whichever compaction service this leaf mounts.
|
|
345
351
|
- id: command-compact
|
|
@@ -124,7 +124,8 @@
|
|
|
124
124
|
"@deepseek-ai/dsh-authorization": "workspace:*",
|
|
125
125
|
"@deepseek-ai/dsh-deepseek-account-platform": "workspace:*",
|
|
126
126
|
"@deepseek-ai/dsh-config-editor": "workspace:*",
|
|
127
|
-
"@deepseek-ai/dsh-settings": "workspace:*"
|
|
127
|
+
"@deepseek-ai/dsh-settings": "workspace:*",
|
|
128
|
+
"@deepseek-ai/dsh-tianti": "workspace:*"
|
|
128
129
|
},
|
|
129
130
|
"peerDependencies": {
|
|
130
131
|
"@deepseek-ai/cordis": "workspace:~"
|
|
@@ -211,7 +211,7 @@ window.__ModuleLoader__.load({
|
|
|
211
211
|
}
|
|
212
212
|
//#endregion
|
|
213
213
|
//#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-chat/src/client/chat/MessageItem.module.css.mjs
|
|
214
|
-
const css$17 = ".b0VkcW_userRow{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.b0VkcW_userStack{min-width:0;max-width:min(calc(var(--dsh-chat-content-width,748px) * .702), 82%);flex-direction:column;align-items:flex-end;gap:8px;display:flex}.b0VkcW_bubble{background:var(--dsw-specific-bubble);border-radius:var(--dsw-radius-xl);max-width:100%;font
|
|
214
|
+
const css$17 = ".b0VkcW_userRow{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.b0VkcW_userStack{min-width:0;max-width:min(calc(var(--dsh-chat-content-width,748px) * .702), 82%);flex-direction:column;align-items:flex-end;gap:8px;display:flex}.b0VkcW_bubble{background:var(--dsw-specific-bubble);border-radius:var(--dsw-radius-xl);max-width:100%;font:var(--dsw-font-markdown-base);color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;padding:10px 16px}.b0VkcW_referenceSummary{color:var(--dsw-alias-label-tertiary);font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(18px + var(--dsh-content-font-delta-secondary,0px))}.b0VkcW_contextRow{padding:2px 0}.b0VkcW_compactionRow{--dsh-compaction-header-height:calc(24px + var(--dsh-content-font-delta,0px));padding:2px 0}.b0VkcW_compactionButton{width:100%;height:var(--dsh-compaction-header-height);border-radius:var(--dsw-radius-sm);min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:none;align-items:center;padding:0;display:flex}.b0VkcW_compactionRow:has(.b0VkcW_compactionBody) .b0VkcW_compactionButton{z-index:7;background:var(--dsw-alias-bg-base);border-radius:0;position:sticky;top:0}.b0VkcW_compactionBody :has(>[data-code-block-banner]){top:var(--dsh-compaction-header-height)}.b0VkcW_compactionRow:has(.b0VkcW_compactionBody) .b0VkcW_compactionButton:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.b0VkcW_compactionButton:not(:disabled){cursor:pointer}.b0VkcW_compactionButton:not(:disabled):hover{background:var(--dsw-alias-interactive-bg-hover)}.b0VkcW_compactionLeading{width:calc(16px + var(--dsh-content-font-delta,0px));height:calc(16px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-secondary);flex:none;place-items:center;margin-right:6px;display:inline-grid}.b0VkcW_compactionLeading svg{width:calc(14px + var(--dsh-content-font-delta,0px));height:calc(14px + var(--dsh-content-font-delta,0px))}.b0VkcW_compactionContextIcon,.b0VkcW_compactionDisclosureIcon{grid-area:1/1;justify-content:center;align-items:center;display:inline-flex}.b0VkcW_compactionDisclosureIcon,.b0VkcW_compactionButton:not(:disabled):hover .b0VkcW_compactionContextIcon,.b0VkcW_compactionButton:not(:disabled):focus-visible .b0VkcW_compactionContextIcon{opacity:0}.b0VkcW_compactionButton:not(:disabled):hover .b0VkcW_compactionDisclosureIcon,.b0VkcW_compactionButton:not(:disabled):focus-visible .b0VkcW_compactionDisclosureIcon{opacity:1}.b0VkcW_compactionTitle{font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(24px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-primary-dimmed);flex:none}.b0VkcW_compactionSep{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.b0VkcW_compactionSummary{min-width:0;color:var(--dsw-alias-label-tertiary);font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(24px + var(--dsh-content-font-delta,0px));text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.b0VkcW_compactionBody{padding:4px 0 4px calc(22px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-tertiary);font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(24px + var(--dsh-content-font-delta,0px))}.b0VkcW_retryRow{color:var(--dsw-alias-label-tertiary);font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(20px + var(--dsh-content-font-delta-secondary,0px))}.b0VkcW_retrySummary{border-radius:var(--dsw-radius-sm);width:fit-content;color:inherit;cursor:pointer;user-select:none;align-items:center;gap:7px;padding:2px 0;list-style:none;display:inline-flex}.b0VkcW_retrySummary::-webkit-details-marker{display:none}.b0VkcW_retrySummary:after{content:\"\";opacity:.8;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .12s;transform:rotate(-45deg)}.b0VkcW_retrySummary:hover{color:var(--dsw-alias-label-secondary)}.b0VkcW_retrySummary:focus-visible{outline:1.5px solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:2px}.b0VkcW_retryText{color:inherit}.b0VkcW_retryRow[data-active] .b0VkcW_retryText{background:linear-gradient(90deg, var(--dsw-alias-label-tertiary) 0%, var(--dsw-alias-label-tertiary) 40%, var(--dsw-alias-label-secondary) 50%, var(--dsw-alias-label-tertiary) 60%, var(--dsw-alias-label-tertiary) 100%);color:#0000;background-position:100%;background-size:200% 100%;background-clip:text;animation:1.6s ease-in-out infinite b0VkcW_retry-shimmer}.b0VkcW_retryRow[open] .b0VkcW_retrySummary:after{transform:rotate(45deg)}.b0VkcW_retryDetails{overflow-wrap:anywhere;font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(18px + var(--dsh-content-font-delta-secondary,0px));gap:2px;margin-top:3px;padding-left:14px;display:grid}.b0VkcW_retryDetailLabel{color:var(--dsw-alias-label-secondary)}.b0VkcW_turnErrorRow{font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(20px + var(--dsh-content-font-delta-secondary,0px));grid-template-columns:10px minmax(0,1fr) auto;align-items:start;gap:8px;padding:2px 0;display:grid}.b0VkcW_turnErrorDot{margin-top:5px}.b0VkcW_turnErrorCopy{overflow-wrap:anywhere;min-width:0}.b0VkcW_turnErrorTitle{color:var(--dsw-alias-state-error-primary);margin-right:6px;font-weight:600}.b0VkcW_turnErrorMessage{color:var(--dsw-alias-label-secondary)}.b0VkcW_turnErrorCode{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-markdown-code-block-small)}.b0VkcW_maxTokensTitle{color:var(--dsw-alias-state-warn-primary);margin-right:6px;font-weight:600}@keyframes b0VkcW_retry-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.b0VkcW_retryRow[data-active] .b0VkcW_retryText{color:inherit;background:0 0;animation:none}}.b0VkcW_attachmentRow{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:100%;display:flex}.b0VkcW_fileCard{border:.5px solid var(--dsw-alias-border-l2,#0000001f);border-radius:var(--dsw-radius-xl);background:var(--dsw-specific-input-major,transparent);box-sizing:border-box;flex:0 0 240px;align-items:center;gap:10px;width:240px;min-height:64px;padding:8px 12px;display:inline-flex}.b0VkcW_fileIcon{flex:none;width:28px;height:28px}.b0VkcW_fileContent{flex-direction:column;flex:1;min-width:0;display:flex}.b0VkcW_fileName{white-space:nowrap;text-overflow:ellipsis;color:var(--dsw-alias-label-primary);font-size:14px;font-weight:500;line-height:22px;overflow:hidden}.b0VkcW_fileMeta{white-space:nowrap;text-overflow:ellipsis;color:var(--dsw-alias-label-tertiary,#00000073);font-size:12px;line-height:15px;overflow:hidden}";
|
|
215
215
|
const tagId$17 = "@deepseek-ai/dsh-client-ui-chat/MessageItem.module.css";
|
|
216
216
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$17) + "]") === null) {
|
|
217
217
|
const tag = document.createElement("style");
|
|
@@ -5773,7 +5773,7 @@ window.__ModuleLoader__.load({
|
|
|
5773
5773
|
});
|
|
5774
5774
|
//#endregion
|
|
5775
5775
|
//#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-chat/src/client/chat/AssistantMarkdown.module.css.mjs
|
|
5776
|
-
const css$8 = ".LSXNsa_root{font
|
|
5776
|
+
const css$8 = ".LSXNsa_root{font:var(--dsw-font-markdown-base);color:var(--dsw-alias-label-primary);flex-direction:column;display:flex}.LSXNsa_body{--dsh-assistant-block-gap:16px;gap:var(--dsh-assistant-block-gap);flex-direction:column;display:flex}.LSXNsa_body .md-table-wide{--dsh-table-spare:max(0px, calc((100cqw - var(--dsh-chat-content-width)) / 2));--dsh-table-lead:calc(var(--dsh-table-spare) + min(var(--dsh-chat-content-width), 100cqw) - 100%);box-sizing:border-box;width:calc(100% + var(--dsh-table-lead) + var(--dsh-table-spare));max-width:none;margin-left:calc(-1 * var(--dsh-table-lead));padding-left:var(--dsh-table-lead)}.LSXNsa_body .md-table-wide>table{z-index:1;position:relative}.LSXNsa_body>[data-turn-process-inline][hidden]{margin-bottom:calc(-1 * var(--dsh-assistant-block-gap))}.LSXNsa_stopped{border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-tertiary);align-self:flex-start;padding:0 6px;font-size:11px;line-height:18px}.LSXNsa_actions{margin-top:16px;margin-left:-6px}";
|
|
5777
5777
|
const tagId$8 = "@deepseek-ai/dsh-client-ui-chat/AssistantMarkdown.module.css";
|
|
5778
5778
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$8) + "]") === null) {
|
|
5779
5779
|
const tag = document.createElement("style");
|
|
@@ -5874,6 +5874,7 @@ window.__ModuleLoader__.load({
|
|
|
5874
5874
|
"data-streaming": streaming || void 0,
|
|
5875
5875
|
children: (0, react_jsx_runtime.jsxs)("div", {
|
|
5876
5876
|
className: AssistantMarkdown_module_css_default.body,
|
|
5877
|
+
"data-assistant-body": true,
|
|
5877
5878
|
children: [rendered, interrupted && (groupPart === void 0 || groupPart === "response" || !blocks.some((block) => block.kind !== "reasoning" && block.kind !== "tool-call")) && (0, react_jsx_runtime.jsx)("span", {
|
|
5878
5879
|
className: AssistantMarkdown_module_css_default.stopped,
|
|
5879
5880
|
children: t("message.stopped")
|
|
@@ -13,11 +13,11 @@ export interface Config {
|
|
|
13
13
|
}
|
|
14
14
|
/** Live preferences projected to the browser. */
|
|
15
15
|
export declare const Config: z<Schemastery.ObjectS<NoInfer<{
|
|
16
|
-
transcriptView: z<"compact" | "
|
|
16
|
+
transcriptView: z<"compact" | "detailed" | "standard" | "verbose" | "normal" | "expanded", "compact" | "detailed" | "standard" | "verbose" | "normal" | "expanded", "volatile-defined">;
|
|
17
17
|
performanceUsage: z<"compact" | "detailed", "compact" | "detailed", "volatile-defined">;
|
|
18
18
|
linkOpening: z<"sidebar" | "new-tab", "sidebar" | "new-tab", "volatile-defined">;
|
|
19
19
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
20
|
-
transcriptView: z<"compact" | "
|
|
20
|
+
transcriptView: z<"compact" | "detailed" | "standard" | "verbose" | "normal" | "expanded", "compact" | "detailed" | "standard" | "verbose" | "normal" | "expanded", "volatile-defined">;
|
|
21
21
|
performanceUsage: z<"compact" | "detailed", "compact" | "detailed", "volatile-defined">;
|
|
22
22
|
linkOpening: z<"sidebar" | "new-tab", "sidebar" | "new-tab", "volatile-defined">;
|
|
23
23
|
}>>, "plain">;
|
|
@@ -17092,7 +17092,7 @@ window.__ModuleLoader__.load({
|
|
|
17092
17092
|
}
|
|
17093
17093
|
//#endregion
|
|
17094
17094
|
//#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-conversation/src/client/skeleton/InputBar.module.css.mjs
|
|
17095
|
-
const css$1 = ".k_Uu_G_root{padding:0 var(--dsh-composer-side-clearance) 4px;flex-direction:column;align-items:center;display:flex}.k_Uu_G_dock{justify-content:center;align-items:center;gap:12px;max-width:100%;padding-top:4px;display:flex}.k_Uu_G_hero .k_Uu_G_dock:empty{display:none}.k_Uu_G_hero{padding:0 var(--dsh-composer-side-clearance)}.k_Uu_G_notice{width:100%;max-width:var(--dsh-composer-card-max-width);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);margin-bottom:6px;padding:4px 8px;font-size:12px;line-height:18px}.k_Uu_G_card{box-sizing:border-box;width:100%;max-width:var(--dsh-composer-card-max-width);--dsw-elevation-stroke-color:var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-panel);background:var(--dsw-specific-input-major);box-shadow:var(--dsw-elevation-soft);font
|
|
17095
|
+
const css$1 = ".k_Uu_G_root{padding:0 var(--dsh-composer-side-clearance) 4px;flex-direction:column;align-items:center;display:flex}.k_Uu_G_dock{justify-content:center;align-items:center;gap:12px;max-width:100%;padding-top:4px;display:flex}.k_Uu_G_hero .k_Uu_G_dock:empty{display:none}.k_Uu_G_hero{padding:0 var(--dsh-composer-side-clearance)}.k_Uu_G_notice{width:100%;max-width:var(--dsh-composer-card-max-width);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);margin-bottom:6px;padding:4px 8px;font-size:12px;line-height:18px}.k_Uu_G_card{box-sizing:border-box;width:100%;max-width:var(--dsh-composer-card-max-width);--dsw-elevation-stroke-color:var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-panel);background:var(--dsw-specific-input-major);box-shadow:var(--dsw-elevation-soft);font:var(--dsw-font-markdown-base);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border:0;flex-direction:column;gap:12px;padding-top:8px;display:flex;position:relative}.k_Uu_G_cardWorkspaceTrigger{--dsw-elevation-stroke-color:transparent;cursor:pointer}.k_Uu_G_cardWorkspaceTrigger:after{content:\"\";box-sizing:border-box;border-radius:var(--dsw-radius-panel);color:var(--dsw-alias-border-l4);pointer-events:none;border:1px dashed;transition:color .1s;position:absolute;inset:0}.k_Uu_G_cardWorkspaceTrigger :disabled{pointer-events:none}.k_Uu_G_cardWorkspaceTrigger:hover:after{color:var(--dsw-alias-state-business-primary)}.k_Uu_G_accessory{align-items:center;gap:8px;padding:10px 12px 0;display:flex}.k_Uu_G_overlayAnchor{height:0;position:absolute;inset:0 0 auto}.k_Uu_G_scroll{max-height:var(--dsh-composer-text-max-height);margin-right:4px;overflow-y:auto}.k_Uu_G_scroll::-webkit-scrollbar-track{margin-top:8px}.k_Uu_G_grow{position:relative}.k_Uu_G_pending{corner-shape:round;background:var(--dsw-alias-state-business-primary);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite alternate k_Uu_G_input-pending}@keyframes k_Uu_G_input-pending{0%{opacity:.35}to{opacity:1}}.k_Uu_G_input{box-sizing:border-box;min-height:36px;font-family:var(--dsw-font-family);font-size:inherit;line-height:inherit;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);caret-color:var(--dsw-alias-state-business-primary);outline:none;padding:4px 8px 0 14px}.k_Uu_G_input p{margin:0}.k_Uu_G_input p:last-child:after{content:var(--dsh-composer-hint);color:var(--dsw-alias-label-caption)}.k_Uu_G_input[data-composer-composing] p:last-child:after{content:none}.k_Uu_G_input[data-composer-composing]+.k_Uu_G_placeholder{visibility:hidden}.k_Uu_G_placeholder{color:var(--dsw-alias-label-caption);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;user-select:none;position:absolute;inset:4px 8px auto 14px;overflow:hidden}.k_Uu_G_inputDisabled{color:var(--dsw-alias-label-tertiary);cursor:not-allowed}.k_Uu_G_input[aria-haspopup=menu]{cursor:pointer}.k_Uu_G_hero .k_Uu_G_input{min-height:52px}.k_Uu_G_hero .k_Uu_G_placeholder{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.k_Uu_G_row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:2px 8px 6px;display:flex;container-type:inline-size}.k_Uu_G_row[data-model-compact]{--dsh-composer-model-text-display:none;--dsh-composer-model-icon-display:block}.k_Uu_G_tools,.k_Uu_G_modes,.k_Uu_G_trailing{align-items:center;min-width:0;display:flex}.k_Uu_G_tools,.k_Uu_G_modes{gap:12px}.k_Uu_G_trailing{flex:none;gap:12px;margin-left:auto}@container (width<=560px){.k_Uu_G_tools,.k_Uu_G_modes,.k_Uu_G_trailing{gap:8px}}.k_Uu_G_add{corner-shape:round;background:var(--dsw-specific-selector);width:28px;height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:999px;flex:none;place-items:center;display:grid}.k_Uu_G_add:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-solid)}.k_Uu_G_add:disabled{opacity:.5;cursor:default}.k_Uu_G_select{border-radius:var(--dsw-radius-sm);max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;appearance:none;background-color:#0000;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2381858C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");background-position:right 4px center;background-repeat:no-repeat;background-size:12px 12px;border:none;outline:none;padding:0 20px 0 8px;font-size:13px;font-weight:500;line-height:20px}.k_Uu_G_select:hover:not(:disabled){background-color:var(--dsw-alias-interactive-bg-hover)}.k_Uu_G_select:disabled{opacity:.5;cursor:default}.k_Uu_G_primary{corner-shape:round;background:var(--dsw-alias-button-info-fill);color:#fff;cursor:pointer;border:none;border-radius:999px;flex:none;place-items:center;width:34px;height:34px;transition:background-color .1s;display:grid;transform:translateY(-2px)}.k_Uu_G_primary:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}.k_Uu_G_primary:disabled{opacity:.4;cursor:default}.k_Uu_G_retry{border-radius:var(--dsw-radius-sm);color:inherit;cursor:pointer;background:0 0;border:1px solid;margin-left:8px;padding:1px 8px;font-size:12px}.k_Uu_G_standardControls{align-items:center;gap:12px;min-width:0;display:flex}.k_Uu_G_tools[hidden],.k_Uu_G_standardControls[hidden]{display:none}.k_Uu_G_trailingActive{flex:1;margin-left:0}.k_Uu_G_activity{flex:none;align-items:center;display:flex}.k_Uu_G_activity:empty{display:none}.k_Uu_G_activityExpanded{flex:1;min-width:0}";
|
|
17096
17096
|
const tagId$1 = "@deepseek-ai/dsh-client-ui-conversation/InputBar.module.css";
|
|
17097
17097
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
17098
17098
|
const tag = document.createElement("style");
|
|
@@ -435,7 +435,7 @@ window.__ModuleLoader__.load({
|
|
|
435
435
|
};
|
|
436
436
|
//#endregion
|
|
437
437
|
//#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/deepseek-harness/packages/client/ui-goal/src/client/GoalCommandInputView.module.css.mjs
|
|
438
|
-
const css = ".qGV2Nq_row{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.qGV2Nq_stack{min-width:0;max-width:min(calc(var(--dsh-chat-content-width,748px) * .702), 82%);flex-direction:column;align-items:flex-end;display:flex}.qGV2Nq_bubble{overflow-wrap:anywhere;border-radius:var(--dsw-radius-xl);background:var(--dsw-specific-bubble);max-width:100%;color:var(--dsw-alias-label-primary);font
|
|
438
|
+
const css = ".qGV2Nq_row{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.qGV2Nq_stack{min-width:0;max-width:min(calc(var(--dsh-chat-content-width,748px) * .702), 82%);flex-direction:column;align-items:flex-end;display:flex}.qGV2Nq_bubble{overflow-wrap:anywhere;border-radius:var(--dsw-radius-xl);background:var(--dsw-specific-bubble);max-width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-markdown-base);white-space:pre-wrap;padding:10px 16px}";
|
|
439
439
|
const tagId = "@deepseek-ai/dsh-client-ui-goal/GoalCommandInputView.module.css";
|
|
440
440
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
441
441
|
const tag = document.createElement("style");
|