@chatcode/chatcode-cli 3.0.3 → 3.0.4-rc.2
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-CScdshCl.js} +12 -12
- package/lib/{command-trees-Dvq4C7a4.js → command-trees-Dc17MYfV.js} +2 -2
- package/lib/{component-identity-DPdJglJO.js → component-identity-DFJD_d-P.js} +3 -3
- 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-qXmhzmHo.js} +20 -20
- package/lib/{frames-7PAg0Q9b.js → frames-B89znn_0.js} +4 -4
- package/lib/headless-compat.js +2 -2
- package/lib/{host-access-DeCjoRQP.js → host-access-B0CRAwsX.js} +1 -1
- package/lib/{keymap-CRUxM_qn.js → keymap-CIoVICBI.js} +17 -16
- package/lib/{plugin-CDFSDE_y.js → plugin-BKQsL2xn.js} +3264 -2301
- 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-BRf-zMpF.js} +3 -3
- package/lib/{settings-sections-DJQRNBo9.js → settings-sections-4gMhveN_.js} +7 -3
- package/lib/statusBarSettings-CnmdSHkO.js +382 -0
- package/lib/{themes-BCly4_y9.js → themes-Ce97Zsri.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-1xrm-e3V.js} +2 -2
- package/package.json +36 -33
- package/runtime/manifest.json +4 -2
- package/runtime/node_modules/@deepseek-ai/dsh-agent-default-model/lib/index.js +137 -11
- package/runtime/node_modules/@deepseek-ai/dsh-agent-default-model/lib/types/index.d.ts +27 -1
- 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 +152 -39
- package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/index.js +4 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/types/remote-events.d.ts +3 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/types/remote-events.js +1 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/index.js +179 -35
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.host.js +57 -30
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.remote-client.js +31 -19
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/agent.d.ts +9 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/agent.js +36 -6
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/archived-session-gate.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/catalog.js +12 -2
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/service.d.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/commands.d.ts +2 -2
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/commands.js +24 -8
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/index.d.ts +4 -3
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/index.js +31 -14
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/list.d.ts +6 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/list.js +89 -4
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/remote-events.d.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/types.d.ts +27 -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/client.js +30 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/index.js +111 -2
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/typert.host.js +104 -11
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/typert.remote-client.d.ts +5 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/typert.remote-client.js +78 -11
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/model.d.ts +14 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/model.js +17 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/service.d.ts +15 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/service.js +12 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/commands.d.ts +13 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/commands.js +44 -2
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/feed.js +17 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/index.d.ts +13 -1
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/index.js +22 -0
- package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/types.d.ts +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-hmr/lib/client.js +931 -7
- package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/index.js +57 -19
- package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/client/index.d.ts +5 -2
- package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/config.d.ts +12 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/events.d.ts +4 -4
- package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/index.d.ts +3 -8
- package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/package.json +6 -2
- 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-commands/lib/client.js +10 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/types/client/present-open.d.ts +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 +68 -16
- 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 +3 -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 +1925 -207
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/ArchivedSessions.d.ts +13 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/contract/slots.d.ts +4 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/locales.d.ts +42 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/recent.d.ts +11 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/rows/RecentList.d.ts +15 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/rows/Rows.d.ts +6 -1
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/session-actions/DeleteSession.d.ts +24 -0
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/stores.d.ts +2 -2
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/tree.d.ts +15 -13
- package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +3 -1
- package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/index.js +16 -0
- package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/typert.host.js +7 -3
- package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/typert.remote-client.js +6 -2
- package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/types/index.js +20 -0
- package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/types/types.d.ts +5 -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-cordis-client-runner/lib/client.js +5 -2
- 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-schedule/lib/index.js +4 -0
- package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/typert.host.js +5 -5
- package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/typert.remote-client.js +5 -5
- package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/types/index.js +5 -0
- package/runtime/node_modules/@deepseek-ai/dsh-session/lib/types/index.d.ts +21 -0
- package/runtime/node_modules/@deepseek-ai/dsh-session-persistence/lib/index.js +12 -0
- package/runtime/node_modules/@deepseek-ai/dsh-session-persistence/lib/types/index.d.ts +15 -0
- package/runtime/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/lib/index.js +95 -2
- package/runtime/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/lib/types/index.d.ts +3 -1
- package/runtime/node_modules/@deepseek-ai/dsh-session-projection-cache/lib/index.js +25 -1
- package/runtime/node_modules/@deepseek-ai/dsh-session-projection-cache/lib/types/index.d.ts +1 -0
- package/runtime/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-session-query/lib/index.js +13 -0
- package/runtime/node_modules/@deepseek-ai/dsh-session-query/lib/types/observation.d.ts +5 -0
- package/runtime/node_modules/@deepseek-ai/dsh-session-query-sqlite/lib/index.js +26 -0
- package/runtime/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +2 -1
- 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 +65 -1
- package/runtime/node_modules/@deepseek-ai/dsh-storage-domain/lib/types/domain.d.ts +17 -2
- 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-subagent/lib/types/control.d.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/index.js +5522 -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 +13 -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 +22 -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 +57 -0
- package/runtime/node_modules/@deepseek-ai/dsh-tool-cordis/lib/types/api-catalog.js +157 -22
- 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 +325 -37
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/invariant.js +6 -1
- 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 +41 -0
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/index.js +314 -23
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/spec.d.ts +4 -0
- package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/spec.js +4 -0
- 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
|
@@ -44,6 +44,23 @@ export class WorkspaceFeed {
|
|
|
44
44
|
this.archived = ctx.workspaceRegistry.archivedSessionIds.map(String);
|
|
45
45
|
this.pinned = ctx.workspaceRegistry.pinnedSessionIds.map(String);
|
|
46
46
|
ctx.on('domain/changed', (change) => { this.changed(change); });
|
|
47
|
+
ctx.on('workspace/refreshed', () => {
|
|
48
|
+
const baseline = this.baseline();
|
|
49
|
+
const ids = new Set(baseline.items.map(item => String(item.workspaceId)));
|
|
50
|
+
for (const id of this.knownIds) {
|
|
51
|
+
if (!ids.has(id))
|
|
52
|
+
this.publish({ type: 'remove', workspaceId: WorkspaceId(id) });
|
|
53
|
+
}
|
|
54
|
+
this.knownIds = ids;
|
|
55
|
+
for (const workspace of baseline.items)
|
|
56
|
+
this.publish({ type: 'upsert', workspace });
|
|
57
|
+
this.order = baseline.items.map(item => String(item.workspaceId));
|
|
58
|
+
this.archived = baseline.archivedSessionIds.map(String);
|
|
59
|
+
this.pinned = baseline.pinnedSessionIds.map(String);
|
|
60
|
+
this.publish({ type: 'order', workspaceIds: baseline.items.map(item => item.workspaceId) });
|
|
61
|
+
this.publish({ type: 'archived', archivedSessionIds: baseline.archivedSessionIds });
|
|
62
|
+
this.publish({ type: 'pinned', pinnedSessionIds: baseline.pinnedSessionIds });
|
|
63
|
+
});
|
|
47
64
|
ctx.effect(() => () => {
|
|
48
65
|
for (const follower of this.followers)
|
|
49
66
|
follower.close();
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Context } from '@deepseek-ai/cordis';
|
|
3
3
|
import z from '@deepseek-ai/schemastery';
|
|
4
4
|
import { TypertRemoteService } from '@deepseek-ai/dsh-typert-protocol';
|
|
5
|
-
import type { WorkspaceArchiveSessionRequest, WorkspaceArchiveValue, WorkspaceCreateRequest, WorkspaceCreateValue, WorkspaceDeleteRequest, WorkspaceDeleteValue, WorkspaceFollowFrame, WorkspaceInsertBeforeRequest, WorkspaceInsertSessionBeforeRequest, WorkspaceOrderValue, WorkspacePinSessionRequest, WorkspacePinValue, WorkspaceRenameRequest, WorkspaceUnarchiveSessionRequest, WorkspaceUnpinSessionRequest, WorkspaceValue } from './types.ts';
|
|
5
|
+
import type { WorkspaceArchiveSessionRequest, WorkspaceArchiveValue, WorkspaceCreateRequest, WorkspaceCreateValue, WorkspaceDeleteRequest, WorkspaceDeleteValue, WorkspaceFollowFrame, WorkspaceInsertBeforeRequest, WorkspaceInsertSessionBeforeRequest, WorkspaceOrderValue, WorkspacePinSessionRequest, WorkspacePinValue, WorkspaceRenameRequest, WorkspaceUnarchiveSessionRequest, WorkspaceSessionDeletionPreviewRequest, WorkspaceSessionDeletionRequest, WorkspaceSessionDeletionValue, WorkspaceUnpinSessionRequest, WorkspaceValue } from './types.ts';
|
|
6
6
|
export type * from './types.ts';
|
|
7
7
|
export { DirectoryPickerController } from './directory-picker.ts';
|
|
8
8
|
/** First-use directory policy for the Host account. */
|
|
@@ -85,6 +85,18 @@ export declare class WorkspaceController extends TypertRemoteService {
|
|
|
85
85
|
* @returns the complete resulting archive set.
|
|
86
86
|
*/
|
|
87
87
|
unarchiveSession(request: WorkspaceUnarchiveSessionRequest): Promise<WorkspaceArchiveValue>;
|
|
88
|
+
/**
|
|
89
|
+
* Preview the archived root and owned subagent Sessions covered by deletion.
|
|
90
|
+
* @param request - archived root to preview.
|
|
91
|
+
* @returns complete deletion scope for confirmation.
|
|
92
|
+
*/
|
|
93
|
+
sessionDeletionScope(request: WorkspaceSessionDeletionPreviewRequest): Promise<WorkspaceSessionDeletionValue>;
|
|
94
|
+
/**
|
|
95
|
+
* Permanently remove an archived Session and its confirmed owned subagents.
|
|
96
|
+
* @param request - archived root and confirmed scope.
|
|
97
|
+
* @returns identities permanently removed.
|
|
98
|
+
*/
|
|
99
|
+
deleteSession(request: WorkspaceSessionDeletionRequest): Promise<WorkspaceSessionDeletionValue>;
|
|
88
100
|
/**
|
|
89
101
|
* Surface one known unarchived Session ahead of unpinned Sessions.
|
|
90
102
|
* @param request - Session identity to pin.
|
|
@@ -52,6 +52,8 @@ let WorkspaceController = (() => {
|
|
|
52
52
|
let _insertSessionBefore_decorators;
|
|
53
53
|
let _archiveSession_decorators;
|
|
54
54
|
let _unarchiveSession_decorators;
|
|
55
|
+
let _sessionDeletionScope_decorators;
|
|
56
|
+
let _deleteSession_decorators;
|
|
55
57
|
let _pinSession_decorators;
|
|
56
58
|
let _unpinSession_decorators;
|
|
57
59
|
let _follow_decorators;
|
|
@@ -66,6 +68,8 @@ let WorkspaceController = (() => {
|
|
|
66
68
|
_insertSessionBefore_decorators = [Remote('insertSessionBefore')];
|
|
67
69
|
_archiveSession_decorators = [Remote('archiveSession')];
|
|
68
70
|
_unarchiveSession_decorators = [Remote('unarchiveSession')];
|
|
71
|
+
_sessionDeletionScope_decorators = [Remote('sessionDeletionScope')];
|
|
72
|
+
_deleteSession_decorators = [Remote('deleteSession')];
|
|
69
73
|
_pinSession_decorators = [Remote('pinSession')];
|
|
70
74
|
_unpinSession_decorators = [Remote('unpinSession')];
|
|
71
75
|
_follow_decorators = [Remote({ mode: 'stream' })];
|
|
@@ -77,6 +81,8 @@ let WorkspaceController = (() => {
|
|
|
77
81
|
__esDecorate(this, null, _insertSessionBefore_decorators, { kind: "method", name: "insertSessionBefore", static: false, private: false, access: { has: obj => "insertSessionBefore" in obj, get: obj => obj.insertSessionBefore }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
78
82
|
__esDecorate(this, null, _archiveSession_decorators, { kind: "method", name: "archiveSession", static: false, private: false, access: { has: obj => "archiveSession" in obj, get: obj => obj.archiveSession }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
79
83
|
__esDecorate(this, null, _unarchiveSession_decorators, { kind: "method", name: "unarchiveSession", static: false, private: false, access: { has: obj => "unarchiveSession" in obj, get: obj => obj.unarchiveSession }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
84
|
+
__esDecorate(this, null, _sessionDeletionScope_decorators, { kind: "method", name: "sessionDeletionScope", static: false, private: false, access: { has: obj => "sessionDeletionScope" in obj, get: obj => obj.sessionDeletionScope }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
85
|
+
__esDecorate(this, null, _deleteSession_decorators, { kind: "method", name: "deleteSession", static: false, private: false, access: { has: obj => "deleteSession" in obj, get: obj => obj.deleteSession }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
80
86
|
__esDecorate(this, null, _pinSession_decorators, { kind: "method", name: "pinSession", static: false, private: false, access: { has: obj => "pinSession" in obj, get: obj => obj.pinSession }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
81
87
|
__esDecorate(this, null, _unpinSession_decorators, { kind: "method", name: "unpinSession", static: false, private: false, access: { has: obj => "unpinSession" in obj, get: obj => obj.unpinSession }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
82
88
|
__esDecorate(this, null, _follow_decorators, { kind: "method", name: "follow", static: false, private: false, access: { has: obj => "follow" in obj, get: obj => obj.follow }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
@@ -178,6 +184,22 @@ let WorkspaceController = (() => {
|
|
|
178
184
|
unarchiveSession(request) {
|
|
179
185
|
return this.commands.unarchiveSession(request);
|
|
180
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Preview the archived root and owned subagent Sessions covered by deletion.
|
|
189
|
+
* @param request - archived root to preview.
|
|
190
|
+
* @returns complete deletion scope for confirmation.
|
|
191
|
+
*/
|
|
192
|
+
sessionDeletionScope(request) {
|
|
193
|
+
return this.commands.sessionDeletionScope(request);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Permanently remove an archived Session and its confirmed owned subagents.
|
|
197
|
+
* @param request - archived root and confirmed scope.
|
|
198
|
+
* @returns identities permanently removed.
|
|
199
|
+
*/
|
|
200
|
+
deleteSession(request) {
|
|
201
|
+
return this.commands.deleteSession(request);
|
|
202
|
+
}
|
|
181
203
|
/**
|
|
182
204
|
* Surface one known unarchived Session ahead of unpinned Sessions.
|
|
183
205
|
* @param request - Session identity to pin.
|
|
@@ -42,6 +42,11 @@ declare module '@deepseek-ai/dsh-typert-protocol' {
|
|
|
42
42
|
readonly sessionId: SessionId;
|
|
43
43
|
readonly activity: readonly SessionActivity[];
|
|
44
44
|
};
|
|
45
|
+
/** Permanent deletion was refused before storage mutation. */
|
|
46
|
+
'workspace/session-delete-refused': {
|
|
47
|
+
readonly sessionId: SessionId;
|
|
48
|
+
readonly reason: 'not-archived' | 'in-use' | 'deleted' | 'scope-changed';
|
|
49
|
+
};
|
|
45
50
|
/** The Session or its anchor is not in the Workspace's manual order. */
|
|
46
51
|
'workspace/move-invalid': {
|
|
47
52
|
readonly workspaceId: WorkspaceId;
|
|
@@ -123,6 +128,18 @@ export interface WorkspaceArchiveSessionRequest {
|
|
|
123
128
|
export interface WorkspaceUnarchiveSessionRequest {
|
|
124
129
|
readonly sessionId: SessionId;
|
|
125
130
|
}
|
|
131
|
+
/** Archived root whose deletion scope is requested. */
|
|
132
|
+
export interface WorkspaceSessionDeletionPreviewRequest {
|
|
133
|
+
readonly sessionId: SessionId;
|
|
134
|
+
}
|
|
135
|
+
/** Archived root and the exact scope confirmed by the user. */
|
|
136
|
+
export interface WorkspaceSessionDeletionRequest extends WorkspaceSessionDeletionPreviewRequest {
|
|
137
|
+
readonly expectedSessionIds: readonly SessionId[];
|
|
138
|
+
}
|
|
139
|
+
/** Root and owned subagent identities; independent forks are excluded. */
|
|
140
|
+
export interface WorkspaceSessionDeletionValue {
|
|
141
|
+
readonly sessionIds: readonly SessionId[];
|
|
142
|
+
}
|
|
126
143
|
/** Complete archived Session set after a mutation. */
|
|
127
144
|
export interface WorkspaceArchiveValue {
|
|
128
145
|
readonly archivedSessionIds: readonly SessionId[];
|
|
@@ -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:~"
|