@chatcode/chatcode-cli 3.0.2 → 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 +26 -1
- package/README.zh.md +26 -1
- package/lib/bin.js +70 -75
- package/lib/{command-errors-CIYn1nnW.js → command-errors-BkCHTQHj.js} +12 -12
- package/lib/{command-trees-8o99Bws7.js → command-trees-5HFyC5sI.js} +2 -2
- package/lib/{component-identity-CnmIKHEF.js → component-identity-De91VHwW.js} +3 -3
- package/lib/{dist-DxjlHHph.js → dist-CsDWUvQ4.js} +238 -232
- package/lib/dsh-ecosystem-spec/protocols/profile-definitions.d.ts +13 -0
- package/lib/dsh-ecosystem-spec/protocols/profile-definitions.js +59 -0
- package/lib/dsh-ecosystem-spec/protocols/tui-channel-http.d.ts +15 -0
- package/lib/dsh-ecosystem-spec/protocols/tui-channel-http.js +32 -0
- package/lib/dsh-ecosystem-spec/protocols/tui-channel.d.ts +59 -0
- package/lib/dsh-ecosystem-spec/protocols/tui-channel.js +166 -0
- package/lib/dsh-ecosystem-spec/protocols/tui-contributions.d.ts +42 -0
- package/lib/dsh-ecosystem-spec/protocols/tui-contributions.js +143 -0
- package/lib/dsh-ecosystem-spec/registry/README.md +14 -0
- package/lib/dsh-ecosystem-spec/registry/contracts/decision-events-v1alpha1.json +13 -0
- package/lib/dsh-ecosystem-spec/registry/contracts/scene-v1alpha1.json +13 -0
- package/lib/dsh-ecosystem-spec/registry/contracts/settings-section-v1alpha1.json +13 -0
- package/lib/dsh-ecosystem-spec/registry/contracts/tui-channel-v1alpha1.json +30 -0
- package/lib/dsh-ecosystem-spec/registry/contracts/workspace-provider-v1alpha1.json +6 -0
- package/lib/dsh-ecosystem-spec/registry/host-descriptor.tui.example.json +56 -0
- package/lib/dsh-ecosystem-spec/registry/permissions-0.1.json +13 -0
- package/lib/dsh-ecosystem-spec/registry/registry-0.15.json +149 -0
- package/lib/dsh-ecosystem-spec/schemas/conformance-claim.schema.json +15 -0
- package/lib/dsh-ecosystem-spec/schemas/effect-ledger-record.schema.json +16 -0
- package/lib/dsh-ecosystem-spec/schemas/host-descriptor.schema.json +26 -0
- package/lib/{dump-config-BSTrhTT_.js → dump-config-BcH-VYuv.js} +5 -5
- package/lib/dump-config-CyopmD85.js +2 -0
- package/lib/{dump-config-schema-Cz4A13GB.js → dump-config-schema-DM0fb6Ns.js} +2 -2
- package/lib/{extension-events-DciGPKJa.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/{home-migration-DLaSvmfn.js → home-migration-BjDmRwBB.js} +23 -4
- package/lib/{host-access-CmD27uhQ.js → host-access-Bk4xps5E.js} +1 -1
- package/lib/{keymap-CFChEJ2W.js → keymap-CJ1kvLR2.js} +17 -16
- package/lib/{plugin-jvd9PCVt.js → plugin-XR7ncbnW.js} +3767 -2331
- package/lib/{plugin-DYHtreEd.js → plugin-eJjD6r12.js} +1 -1
- package/lib/{profile-boot-Blq7uqhx.js → profile-boot-BNQry1NM.js} +109 -14
- package/lib/profile-boot.js +2 -2
- package/lib/{scenes-ai_8sHDs.js → scenes-CAmWncZD.js} +3 -3
- package/lib/{settings-sections-QQ1-2lhL.js → settings-sections-CakcvBv9.js} +7 -3
- package/lib/startup-diagnostics-C_hRCp-q.js +91 -0
- package/lib/statusBarSettings-BPPS_Usm.js +382 -0
- package/lib/{supports-color-CcW-FGjr.js → supports-color-DyChQwlI.js} +2 -2
- package/lib/{themes-DTzG_9I_.js → themes-OjcUpZzw.js} +13 -13
- package/lib/tui-compat-command-trees.js +1 -1
- package/lib/tui-compat-extensions.js +4 -4
- 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 +44 -29
- package/lib/types/args.d.ts +2 -0
- package/lib/types/home-migration.d.ts +8 -0
- package/lib/types/permission-bypass.d.ts +16 -0
- package/lib/types/profile-boot.d.ts +12 -0
- package/lib/types/startup-diagnostics.d.ts +13 -0
- package/lib/types/tui-compat.d.ts +6 -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-CznCgVHv.js → workspaces-XY7UdfXp.js} +2 -2
- package/package.json +40 -32
- package/runtime/manifest.json +4 -6
- 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-compaction-basic/lib/index.js +84 -8
- package/runtime/node_modules/@deepseek-ai/dsh-compaction-basic/lib/types/region.d.ts +9 -0
- package/runtime/node_modules/@deepseek-ai/dsh-compaction-basic/lib/types/summarizer.d.ts +7 -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-session-log-export/lib/client.js +3 -8
- package/runtime/node_modules/@deepseek-ai/dsh-session-log-export/lib/types/client/HeaderAction.d.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-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-skill/lib/types/index.d.ts +1 -1
- package/runtime/node_modules/@deepseek-ai/dsh-skill-filesystem/lib/index.js +7 -1
- 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-app/presets/cordis.patch.yml +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-app/presets/ptc.patch.yml +2 -1
- package/runtime/node_modules/@deepseek-ai/dsh-web-app/presets/standard.patch.yml +2 -1
- package/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-DBW7YLx-.js +0 -2
- package/lib/tuiDisplayPrefs-BCHRRcfe.js +0 -162
- 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
- package/runtime/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.md +0 -9
- package/runtime/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/bin/system.node +0 -0
- package/runtime/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/package.json +0 -31
- package/runtime/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/prebuilds.json +0 -6
- package/runtime/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.md +0 -9
- package/runtime/node_modules/@deepseek-ai/node-addon-system-darwin-x64/package.json +0 -31
- package/runtime/node_modules/@deepseek-ai/node-addon-system-darwin-x64/prebuilds.json +0 -6
- package/runtime/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.md +0 -11
- package/runtime/node_modules/@deepseek-ai/node-addon-system-linux-arm64/package.json +0 -31
- package/runtime/node_modules/@deepseek-ai/node-addon-system-linux-arm64/prebuilds.json +0 -24
- package/runtime/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.md +0 -11
- package/runtime/node_modules/@deepseek-ai/node-addon-system-linux-x64/package.json +0 -31
- package/runtime/node_modules/@deepseek-ai/node-addon-system-linux-x64/prebuilds.json +0 -24
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chatcode/chatcode-cli",
|
|
3
3
|
"description": "ChatCode CLI: TUI-first coding agent, Web launcher, profiles, and legacy DSH-compatible plugins",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.4-rc.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
18
|
"lib/*.js",
|
|
19
|
+
"lib/dsh-ecosystem-spec",
|
|
19
20
|
"lib/types/*.d.ts",
|
|
20
21
|
"scripts/*.mjs",
|
|
21
22
|
"runtime/manifest.json",
|
|
@@ -27,14 +28,15 @@
|
|
|
27
28
|
"dependencies": {
|
|
28
29
|
"@agentclientprotocol/sdk": "1.4.0",
|
|
29
30
|
"@babel/code-frame": "^7.29.0",
|
|
30
|
-
"@chatcode/cco-better-sidebar": "0.18.0-rc.
|
|
31
|
+
"@chatcode/cco-better-sidebar": "0.18.0-rc.4",
|
|
31
32
|
"@chatcode/cco-builtin-browser": "0.1.21",
|
|
32
|
-
"@chatcode/cco-chat-import": "0.
|
|
33
|
-
"@chatcode/cco-
|
|
34
|
-
"@chatcode/cco-
|
|
35
|
-
"@chatcode/cco-
|
|
33
|
+
"@chatcode/cco-chat-import": "0.16.0",
|
|
34
|
+
"@chatcode/cco-computer-use": "0.3.2",
|
|
35
|
+
"@chatcode/cco-llm-chatcode-config": "0.1.4-rc.7",
|
|
36
|
+
"@chatcode/cco-market": "1.45.2-rc.4",
|
|
37
|
+
"@chatcode/cco-tui": "0.10.0-rc.17",
|
|
36
38
|
"@deepseek-ai/libreoffice-kit": "^0.1.1",
|
|
37
|
-
"@deepseek-harness-tui/dsh-tui": "npm:@chatcode/cco-tui@0.10.0-rc.
|
|
39
|
+
"@deepseek-harness-tui/dsh-tui": "npm:@chatcode/cco-tui@0.10.0-rc.17",
|
|
38
40
|
"@earendil-works/pi-ai": "^0.85.1",
|
|
39
41
|
"@eslint-community/regexpp": "^4.12.2",
|
|
40
42
|
"@joplin/turndown-plugin-gfm": "^1.0.67",
|
|
@@ -56,11 +58,12 @@
|
|
|
56
58
|
"commander": "^15.0.0",
|
|
57
59
|
"compression": "^1.8.1",
|
|
58
60
|
"diff": "^9.0.0",
|
|
59
|
-
"dsh-better-sidebar": "npm:@chatcode/cco-better-sidebar@0.18.0-rc.
|
|
61
|
+
"dsh-better-sidebar": "npm:@chatcode/cco-better-sidebar@0.18.0-rc.4",
|
|
60
62
|
"dsh-builtin-browser": "npm:@chatcode/cco-builtin-browser@0.1.21",
|
|
61
|
-
"dsh-chat-import": "npm:@chatcode/cco-chat-import@0.
|
|
62
|
-
"dsh-
|
|
63
|
-
"
|
|
63
|
+
"dsh-chat-import": "npm:@chatcode/cco-chat-import@0.16.0",
|
|
64
|
+
"dsh-computer-use": "npm:@chatcode/cco-computer-use@0.3.2",
|
|
65
|
+
"dsh-llm-chatcode-config": "npm:@chatcode/cco-llm-chatcode-config@0.1.4-rc.7",
|
|
66
|
+
"dshmarket": "npm:@chatcode/cco-market@1.45.2-rc.4",
|
|
64
67
|
"eventsource-parser": "^3.1.0",
|
|
65
68
|
"execa": "^10.0.0",
|
|
66
69
|
"fflate": "^0.8.2",
|
|
@@ -92,47 +95,47 @@
|
|
|
92
95
|
"ajv": "^8.20.0",
|
|
93
96
|
"execa": "^10.0.0",
|
|
94
97
|
"ws": "8.21.0",
|
|
95
|
-
"@deepseek-ai/dsh-
|
|
98
|
+
"@deepseek-ai/dsh-acp": "0.1.7-rc.2",
|
|
96
99
|
"@deepseek-ai/dsh-agent-loop": "0.1.7-rc.2",
|
|
100
|
+
"@deepseek-ai/dsh-agent": "0.1.7-rc.2",
|
|
101
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-rc.2",
|
|
102
|
+
"@deepseek-ai/dsh-bash-local": "0.1.7-rc.2",
|
|
97
103
|
"@deepseek-ai/dsh-attachment-local": "0.1.7-rc.2",
|
|
98
|
-
"@deepseek-ai/dsh-acp": "0.1.7-rc.2",
|
|
99
104
|
"@deepseek-ai/dsh-credentials-local": "0.1.7-rc.2",
|
|
100
|
-
"@deepseek-ai/dsh-bash-local": "0.1.7-rc.2",
|
|
101
|
-
"@deepseek-ai/dsh-deepseek-llm-api-extensions": "0.1.7-rc.2",
|
|
102
105
|
"@deepseek-ai/dsh-experimental-agent-team": "0.1.7-rc.2",
|
|
103
|
-
"@deepseek-ai/dsh-
|
|
104
|
-
"@deepseek-ai/dsh-fs-sandbox": "0.1.7-rc.2",
|
|
106
|
+
"@deepseek-ai/dsh-experimental-ptc-runtime-python": "0.1.7-rc.2",
|
|
105
107
|
"@deepseek-ai/dsh-fs-observation-policy": "0.1.7-rc.2",
|
|
106
108
|
"@deepseek-ai/dsh-host-frontend-static": "0.1.7-rc.2",
|
|
107
|
-
"@deepseek-ai/dsh-
|
|
109
|
+
"@deepseek-ai/dsh-deepseek-llm-api-extensions": "0.1.7-rc.2",
|
|
110
|
+
"@deepseek-ai/dsh-fs-sandbox": "0.1.7-rc.2",
|
|
108
111
|
"@deepseek-ai/dsh-llm": "0.1.7-rc.2",
|
|
109
|
-
"@deepseek-ai/dsh-llm-deepseek": "0.1.7-rc.2",
|
|
110
|
-
"@deepseek-ai/dsh-experimental-ptc-runtime-python": "0.1.7-rc.2",
|
|
111
112
|
"@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
|
|
113
|
+
"@deepseek-ai/dsh-llm-deepseek": "0.1.7-rc.2",
|
|
112
114
|
"@deepseek-ai/dsh-llm-deepseek-api-key": "0.1.7-rc.2",
|
|
113
|
-
"@deepseek-ai/dsh-llm-replay": "0.1.7-rc.2",
|
|
114
115
|
"@deepseek-ai/dsh-llm-mock-server": "0.1.7-rc.2",
|
|
116
|
+
"@deepseek-ai/dsh-llm-deepseek-account": "0.1.7-rc.2",
|
|
117
|
+
"@deepseek-ai/dsh-llm-replay": "0.1.7-rc.2",
|
|
115
118
|
"@deepseek-ai/dsh-llm-pi-ai": "0.1.7-rc.2",
|
|
116
|
-
"@deepseek-ai/dsh-plugin-package-inventory-deepseek": "0.1.7-rc.2",
|
|
117
119
|
"@deepseek-ai/dsh-loader-smoke": "0.1.7-rc.2",
|
|
118
|
-
"@deepseek-ai/dsh-
|
|
120
|
+
"@deepseek-ai/dsh-plugin-package-inventory-deepseek": "0.1.7-rc.2",
|
|
121
|
+
"@deepseek-ai/dsh-sandbox-local": "0.1.7-rc.2",
|
|
119
122
|
"@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.2",
|
|
120
123
|
"@deepseek-ai/dsh-sdk-client": "0.1.7-rc.2",
|
|
121
|
-
"@deepseek-ai/dsh-
|
|
122
|
-
"@deepseek-ai/dsh-
|
|
124
|
+
"@deepseek-ai/dsh-session-log-deepseek": "0.1.7-rc.2",
|
|
125
|
+
"@deepseek-ai/dsh-session": "0.1.7-rc.2",
|
|
123
126
|
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-rc.2",
|
|
124
|
-
"@deepseek-ai/dsh-session-checkpoint-policy": "0.1.7-rc.2",
|
|
125
127
|
"@deepseek-ai/dsh-session-query": "0.1.7-rc.2",
|
|
126
|
-
"@deepseek-ai/dsh-session-
|
|
128
|
+
"@deepseek-ai/dsh-session-checkpoint-policy": "0.1.7-rc.2",
|
|
127
129
|
"@deepseek-ai/dsh-shell-env": "0.1.7-rc.2",
|
|
128
130
|
"@deepseek-ai/dsh-settings": "0.1.7-rc.2",
|
|
129
|
-
"@deepseek-ai/dsh-
|
|
131
|
+
"@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
|
|
132
|
+
"@deepseek-ai/dsh-experimental-tool-agent-team": "0.1.7-rc.2",
|
|
130
133
|
"@deepseek-ai/dsh-subagent-fork-in-process": "0.1.7-rc.2",
|
|
131
|
-
"@deepseek-ai/dsh-tools": "0.1.7-rc.2",
|
|
132
134
|
"@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.7-rc.2",
|
|
133
|
-
"@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
|
|
134
135
|
"@deepseek-ai/dsh-system-prompt": "0.1.7-rc.2",
|
|
135
|
-
"@deepseek-ai/dsh-
|
|
136
|
+
"@deepseek-ai/dsh-tools": "0.1.7-rc.2",
|
|
137
|
+
"@deepseek-ai/dsh-user-approval": "0.1.7-rc.2",
|
|
138
|
+
"@deepseek-ai/dsh-subprocess-local": "0.1.7-rc.2"
|
|
136
139
|
},
|
|
137
140
|
"exports": {
|
|
138
141
|
"./headless-compat": {
|
|
@@ -151,6 +154,11 @@
|
|
|
151
154
|
"./lib/*": "./lib/*",
|
|
152
155
|
"./package.json": "./package.json"
|
|
153
156
|
},
|
|
154
|
-
"optionalDependencies": {
|
|
157
|
+
"optionalDependencies": {
|
|
158
|
+
"@deepseek-ai/node-addon-system-darwin-arm64": "0.1.2",
|
|
159
|
+
"@deepseek-ai/node-addon-system-darwin-x64": "0.1.2",
|
|
160
|
+
"@deepseek-ai/node-addon-system-linux-arm64": "0.1.2",
|
|
161
|
+
"@deepseek-ai/node-addon-system-linux-x64": "0.1.2"
|
|
162
|
+
},
|
|
155
163
|
"scripts": {}
|
|
156
164
|
}
|
package/runtime/manifest.json
CHANGED
|
@@ -104,6 +104,7 @@
|
|
|
104
104
|
"@deepseek-ai/dsh-compaction-basic",
|
|
105
105
|
"@deepseek-ai/dsh-compaction-image-offload",
|
|
106
106
|
"@deepseek-ai/dsh-compaction-tool-result-pruner",
|
|
107
|
+
"@deepseek-ai/dsh-computer-use",
|
|
107
108
|
"@deepseek-ai/dsh-config-editor",
|
|
108
109
|
"@deepseek-ai/dsh-cordis-client-runner",
|
|
109
110
|
"@deepseek-ai/dsh-cordis-host-runner",
|
|
@@ -230,6 +231,7 @@
|
|
|
230
231
|
"@deepseek-ai/dsh-system-prompt",
|
|
231
232
|
"@deepseek-ai/dsh-terminal",
|
|
232
233
|
"@deepseek-ai/dsh-terminal-bash",
|
|
234
|
+
"@deepseek-ai/dsh-tianti",
|
|
233
235
|
"@deepseek-ai/dsh-time-context",
|
|
234
236
|
"@deepseek-ai/dsh-timeout",
|
|
235
237
|
"@deepseek-ai/dsh-tmux-context",
|
|
@@ -278,12 +280,8 @@
|
|
|
278
280
|
"@deepseek-ai/dsh-workspace",
|
|
279
281
|
"@deepseek-ai/dsh-workspace-changes",
|
|
280
282
|
"@deepseek-ai/node-addon-system",
|
|
281
|
-
"@deepseek-ai/node-addon-system-darwin-arm64",
|
|
282
|
-
"@deepseek-ai/node-addon-system-darwin-x64",
|
|
283
|
-
"@deepseek-ai/node-addon-system-linux-arm64",
|
|
284
|
-
"@deepseek-ai/node-addon-system-linux-x64",
|
|
285
283
|
"@deepseek-ai/schemastery"
|
|
286
284
|
],
|
|
287
|
-
"fileCount":
|
|
288
|
-
"byteCount":
|
|
285
|
+
"fileCount": 3603,
|
|
286
|
+
"byteCount": 68549295
|
|
289
287
|
}
|
|
@@ -17,17 +17,22 @@ function selection(settings) {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
/** Parse one product-wide model preference without accepting partial records. */
|
|
20
|
-
function
|
|
20
|
+
function sharedPreference(path) {
|
|
21
21
|
try {
|
|
22
22
|
const parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
23
23
|
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) return void 0;
|
|
24
24
|
const record = parsed;
|
|
25
25
|
if (typeof record.provider !== "string" || record.provider.length === 0 || typeof record.model !== "string" || record.model.length === 0) return void 0;
|
|
26
|
-
|
|
26
|
+
const route = selection({
|
|
27
27
|
provider: record.provider,
|
|
28
28
|
model: record.model,
|
|
29
29
|
...typeof record.reasoningEffort === "string" && record.reasoningEffort.length > 0 ? { reasoningEffort: record.reasoningEffort } : {}
|
|
30
30
|
});
|
|
31
|
+
const displayName = typeof record.displayName === "string" ? record.displayName.trim() : "";
|
|
32
|
+
return {
|
|
33
|
+
selection: route,
|
|
34
|
+
...displayName === "" ? {} : { displayName }
|
|
35
|
+
};
|
|
31
36
|
} catch (_error) {
|
|
32
37
|
return;
|
|
33
38
|
}
|
|
@@ -53,7 +58,7 @@ var AgentDefaultModelConfig = class extends Service {
|
|
|
53
58
|
this.ownerContext = ownerContext;
|
|
54
59
|
this.config = config;
|
|
55
60
|
this.sharedPath = process.env[PRODUCT_VERSION_ENV]?.trim() ? join(resolveChatCodeCliHome(), SHARED_MODEL_FILENAME) : void 0;
|
|
56
|
-
if (this.sharedPath !== void 0) this.shared =
|
|
61
|
+
if (this.sharedPath !== void 0) this.shared = sharedPreference(existsSync(this.sharedPath) ? this.sharedPath : join(resolveChatCodeCliHome(), "tui", SHARED_MODEL_FILENAME))?.selection;
|
|
57
62
|
ownerContext.inject(["settings"], (child) => {
|
|
58
63
|
child.effect(() => child.settings.configure({ auto: false }, ownerContext.fiber));
|
|
59
64
|
});
|
|
@@ -71,10 +76,24 @@ var AgentDefaultModelConfig = class extends Service {
|
|
|
71
76
|
...reasoningEffort === void 0 ? {} : { reasoningEffort }
|
|
72
77
|
});
|
|
73
78
|
}
|
|
79
|
+
/** Read the latest shared display name without changing this process's model selection.
|
|
80
|
+
* @returns The saved provider/model/name tuple, or undefined for missing or invalid name metadata.
|
|
81
|
+
*/
|
|
82
|
+
sharedDisplayName() {
|
|
83
|
+
if (this.sharedPath === void 0) return void 0;
|
|
84
|
+
const stored = sharedPreference(this.sharedPath);
|
|
85
|
+
if (stored?.displayName === void 0) return void 0;
|
|
86
|
+
return {
|
|
87
|
+
provider: stored.selection.provider,
|
|
88
|
+
model: stored.selection.model,
|
|
89
|
+
name: stored.displayName
|
|
90
|
+
};
|
|
91
|
+
}
|
|
74
92
|
/**
|
|
75
93
|
* Save the complete default model selection to the shared ChatCode Home file,
|
|
76
94
|
* or the owning profile entry in other deployments. Saves commit in submission
|
|
77
95
|
* order; a failed save rejects its caller without blocking later saves.
|
|
96
|
+
* A shared save also retains an available catalog name; metadata failures do not reject the route save.
|
|
78
97
|
* @param next - resolved selection accepted by an entry point.
|
|
79
98
|
* @returns fulfillment after the preference or optional profile write settles.
|
|
80
99
|
*/
|
|
@@ -89,7 +108,18 @@ var AgentDefaultModelConfig = class extends Service {
|
|
|
89
108
|
if ((entry === void 0 || editor === void 0) && this.sharedPath === void 0) return;
|
|
90
109
|
const saved = this.saves.then(async () => {
|
|
91
110
|
if (this.sharedPath !== void 0) {
|
|
92
|
-
|
|
111
|
+
const previous = this.sharedDisplayName();
|
|
112
|
+
let displayName = previous?.provider === config.provider && previous.model === config.model ? previous.name : void 0;
|
|
113
|
+
const llm = this.ctx.get("llm");
|
|
114
|
+
if (llm !== void 0) try {
|
|
115
|
+
const name = (await llm.listModels(config.provider)).find((model) => model.id === config.model)?.name.trim();
|
|
116
|
+
if (name !== void 0 && name !== "" && (name !== config.model || displayName === void 0)) displayName = name;
|
|
117
|
+
} catch (_error) {}
|
|
118
|
+
const preference = {
|
|
119
|
+
...config,
|
|
120
|
+
...displayName === void 0 ? {} : { displayName }
|
|
121
|
+
};
|
|
122
|
+
await writeFileAtomic(this.sharedPath, `${JSON.stringify(preference, null, 2)}\n`, {
|
|
93
123
|
mode: 384,
|
|
94
124
|
dirMode: 448
|
|
95
125
|
});
|
|
@@ -43,10 +43,19 @@ export declare class AgentDefaultModelConfig extends Service {
|
|
|
43
43
|
* @returns a detached provider, model, and optional reasoning selection.
|
|
44
44
|
*/
|
|
45
45
|
currentSelection(): ModelSelection;
|
|
46
|
+
/** Read the latest shared display name without changing this process's model selection.
|
|
47
|
+
* @returns The saved provider/model/name tuple, or undefined for missing or invalid name metadata.
|
|
48
|
+
*/
|
|
49
|
+
sharedDisplayName(): {
|
|
50
|
+
provider: string;
|
|
51
|
+
model: string;
|
|
52
|
+
name: string;
|
|
53
|
+
} | undefined;
|
|
46
54
|
/**
|
|
47
55
|
* Save the complete default model selection to the shared ChatCode Home file,
|
|
48
56
|
* or the owning profile entry in other deployments. Saves commit in submission
|
|
49
57
|
* order; a failed save rejects its caller without blocking later saves.
|
|
58
|
+
* A shared save also retains an available catalog name; metadata failures do not reject the route save.
|
|
50
59
|
* @param next - resolved selection accepted by an entry point.
|
|
51
60
|
* @returns fulfillment after the preference or optional profile write settles.
|
|
52
61
|
*/
|
|
@@ -34,7 +34,7 @@ Every package below exports a Cordis plugin that a bundle patch can name in a Lo
|
|
|
34
34
|
|
|
35
35
|
| Package | Config | Description |
|
|
36
36
|
|---|---|---|
|
|
37
|
-
| `@deepseek-ai/dsh-config-editor` |
|
|
37
|
+
| `@deepseek-ai/dsh-config-editor` | yes | Persist plugin configuration through profile patches and Loader reconciliation |
|
|
38
38
|
| `@deepseek-ai/dsh-hmr` | yes | Coordinated module and profile configuration hot reload |
|
|
39
39
|
| `@deepseek-ai/dsh-plugin-manager` | yes | Current-profile plugin and bundle management shared by dsh CLI, Web and agent tools |
|
|
40
40
|
|
|
@@ -493,6 +493,7 @@ Every package below exports a Cordis plugin that a bundle patch can name in a Lo
|
|
|
493
493
|
|
|
494
494
|
| Package | Config | Description |
|
|
495
495
|
|---|---|---|
|
|
496
|
+
| `@deepseek-ai/dsh-tianti` | yes | Tianti commands, resource tools, and guided development delivery for ChatCode CLI |
|
|
496
497
|
| `@deepseek-ai/dsh-tool-ralph` | yes | Model-facing fresh-agent Ralph loop over the workflow and subagent seams |
|
|
497
498
|
| `@deepseek-ai/dsh-tool-workflow` | yes | Model-facing workflow tool: run a JavaScript orchestration script over ctx.workflowEngine |
|
|
498
499
|
| `@deepseek-ai/dsh-workflow-ptc` | yes | Workflow orchestration in the shared sandboxed Node PTC runtime |
|
|
@@ -1069,6 +1069,8 @@ window.__ModuleLoader__.load({
|
|
|
1069
1069
|
if (!generationAbort.signal.aborted) generationAbort.abort(/* @__PURE__ */ new Error(`${this.options.name} generation ended`));
|
|
1070
1070
|
}
|
|
1071
1071
|
}
|
|
1072
|
+
} catch (error) {
|
|
1073
|
+
throw terminalStreamFailure(error);
|
|
1072
1074
|
} finally {
|
|
1073
1075
|
if (!this.lifetime.signal.aborted) this.lifetime.abort(/* @__PURE__ */ new Error(`${this.options.name} consumer closed`));
|
|
1074
1076
|
this.generationAbort?.abort(this.lifetime.signal.reason);
|
|
@@ -135,6 +135,10 @@ export class RemoteStream {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
// Setup failures need the same marked outcome as failures from an opened stream.
|
|
140
|
+
throw terminalStreamFailure(error);
|
|
141
|
+
}
|
|
138
142
|
finally {
|
|
139
143
|
if (!this.lifetime.signal.aborted) {
|
|
140
144
|
this.lifetime.abort(new Error(`${this.options.name} consumer closed`));
|
|
@@ -5340,6 +5340,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5340
5340
|
})),
|
|
5341
5341
|
"revision": number()
|
|
5342
5342
|
});
|
|
5343
|
+
let _deepseek_ai_dsh_api_settings_controller_settings_openNamespaceDocument_parameter_0$schema$value;
|
|
5344
|
+
const _deepseek_ai_dsh_api_settings_controller_settings_openNamespaceDocument_parameter_0$schema = () => _deepseek_ai_dsh_api_settings_controller_settings_openNamespaceDocument_parameter_0$schema$value ??= string();
|
|
5345
|
+
let _deepseek_ai_dsh_api_settings_controller_settings_openNamespaceDocument_result$schema$value;
|
|
5346
|
+
const _deepseek_ai_dsh_api_settings_controller_settings_openNamespaceDocument_result$schema = () => _deepseek_ai_dsh_api_settings_controller_settings_openNamespaceDocument_result$schema$value ??= object({ "opened": literal(true).readonly() });
|
|
5343
5347
|
let _deepseek_ai_dsh_api_settings_controller_settings_openSettingsDocument_result$schema$value;
|
|
5344
5348
|
const _deepseek_ai_dsh_api_settings_controller_settings_openSettingsDocument_result$schema = () => _deepseek_ai_dsh_api_settings_controller_settings_openSettingsDocument_result$schema$value ??= object({ "opened": literal(true).readonly() });
|
|
5345
5349
|
let _deepseek_ai_dsh_api_settings_controller_settings_replace_parameter_0$schema$value;
|
|
@@ -5625,6 +5629,34 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5625
5629
|
"column": 9
|
|
5626
5630
|
}
|
|
5627
5631
|
},
|
|
5632
|
+
{
|
|
5633
|
+
id: "@deepseek-ai/dsh-api-settings-controller#settings/openNamespaceDocument",
|
|
5634
|
+
service: "settingsController",
|
|
5635
|
+
namespace: "settings",
|
|
5636
|
+
method: "openNamespaceDocument",
|
|
5637
|
+
invocation: { kind: "direct" },
|
|
5638
|
+
parameters: [{
|
|
5639
|
+
name: "ns",
|
|
5640
|
+
wire: "ns",
|
|
5641
|
+
source: "json",
|
|
5642
|
+
codec: {
|
|
5643
|
+
mode: "strict",
|
|
5644
|
+
typeSymbol: "@deepseek-ai/dsh-api-settings-controller#settings/openNamespaceDocument:ns",
|
|
5645
|
+
create: _deepseek_ai_dsh_api_settings_controller_settings_openNamespaceDocument_parameter_0$schema
|
|
5646
|
+
}
|
|
5647
|
+
}],
|
|
5648
|
+
cancellation: { parameter: "signal" },
|
|
5649
|
+
result: {
|
|
5650
|
+
mode: "strict",
|
|
5651
|
+
typeSymbol: "@deepseek-ai/dsh-api-settings-controller/types#SettingsDocumentOpenValue",
|
|
5652
|
+
create: _deepseek_ai_dsh_api_settings_controller_settings_openNamespaceDocument_result$schema
|
|
5653
|
+
},
|
|
5654
|
+
sourceLocation: {
|
|
5655
|
+
"file": "packages/api/settings-controller/src/index.ts",
|
|
5656
|
+
"line": 178,
|
|
5657
|
+
"column": 9
|
|
5658
|
+
}
|
|
5659
|
+
},
|
|
5628
5660
|
{
|
|
5629
5661
|
id: "@deepseek-ai/dsh-api-settings-controller#settings/openSettingsDocument",
|
|
5630
5662
|
service: "settingsController",
|
|
@@ -10357,13 +10389,20 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
10357
10389
|
"model": string().readonly(),
|
|
10358
10390
|
"reasoningEffort": string().readonly().optional()
|
|
10359
10391
|
}).readonly(),
|
|
10392
|
+
"savedDisplayName": object({
|
|
10393
|
+
"provider": string().readonly(),
|
|
10394
|
+
"model": string().readonly(),
|
|
10395
|
+
"name": string().readonly()
|
|
10396
|
+
}).readonly().optional(),
|
|
10360
10397
|
"routableProviders": array(string()).readonly(),
|
|
10361
10398
|
"groups": array(object({
|
|
10362
10399
|
"id": string().readonly(),
|
|
10363
10400
|
"name": string().readonly(),
|
|
10401
|
+
"custom": boolean().readonly().optional(),
|
|
10364
10402
|
"models": array(object({
|
|
10365
10403
|
"id": string().readonly(),
|
|
10366
10404
|
"name": string().readonly(),
|
|
10405
|
+
"inputModalities": array(union([literal("text"), literal("image")])).readonly().optional(),
|
|
10367
10406
|
"description": string().readonly().optional(),
|
|
10368
10407
|
"reasoning": object({
|
|
10369
10408
|
"efforts": array(object({
|
|
@@ -499,6 +499,7 @@ function agentModelSelection(selection) {
|
|
|
499
499
|
*/
|
|
500
500
|
async function buildModelCatalog(ctx, defaultSelection = ctx.agentDefaultModel.currentSelection()) {
|
|
501
501
|
const providers = ctx.llm.listProviders();
|
|
502
|
+
const customProviders = new Set(ctx.llm.listConfigurableProviders().filter((provider) => provider.settingsNs === "llm-pi-ai" && provider.declared === true).map((provider) => provider.provider));
|
|
502
503
|
const catalog = await Promise.all(providers.map(async (provider) => {
|
|
503
504
|
try {
|
|
504
505
|
const models = await ctx.llm.listModels(provider.id);
|
|
@@ -515,6 +516,7 @@ async function buildModelCatalog(ctx, defaultSelection = ctx.agentDefaultModel.c
|
|
|
515
516
|
return {
|
|
516
517
|
id: model.id,
|
|
517
518
|
name: model.name,
|
|
519
|
+
...resolved.inputModalities === void 0 ? {} : { inputModalities: [...resolved.inputModalities] },
|
|
518
520
|
...model.description === void 0 ? {} : { description: model.description },
|
|
519
521
|
...reasoning === void 0 ? {} : { reasoning }
|
|
520
522
|
};
|
|
@@ -524,7 +526,8 @@ async function buildModelCatalog(ctx, defaultSelection = ctx.agentDefaultModel.c
|
|
|
524
526
|
group: {
|
|
525
527
|
id: provider.id,
|
|
526
528
|
name: provider.name,
|
|
527
|
-
models: entries
|
|
529
|
+
models: entries,
|
|
530
|
+
...customProviders.has(provider.id) ? { custom: true } : {}
|
|
528
531
|
}
|
|
529
532
|
};
|
|
530
533
|
} catch (error) {
|
|
@@ -539,8 +542,10 @@ async function buildModelCatalog(ctx, defaultSelection = ctx.agentDefaultModel.c
|
|
|
539
542
|
}
|
|
540
543
|
}));
|
|
541
544
|
const groups = catalog.flatMap((item) => item.kind === "group" ? [item.group] : []).filter((group) => group.models.length > 0);
|
|
545
|
+
const savedDisplayName = ctx.agentDefaultModel.sharedDisplayName();
|
|
542
546
|
return {
|
|
543
547
|
default: { ...defaultSelection },
|
|
548
|
+
...savedDisplayName === void 0 ? {} : { savedDisplayName },
|
|
544
549
|
routableProviders: groups.map((group) => group.id),
|
|
545
550
|
groups,
|
|
546
551
|
failures: catalog.flatMap((item) => item.kind === "failure" ? [item.failure] : [])
|
|
@@ -492,13 +492,20 @@ const _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema
|
|
|
492
492
|
'model': z.string().readonly(),
|
|
493
493
|
'reasoningEffort': z.string().readonly().optional(),
|
|
494
494
|
}).readonly(),
|
|
495
|
+
'savedDisplayName': z.object({
|
|
496
|
+
'provider': z.string().readonly(),
|
|
497
|
+
'model': z.string().readonly(),
|
|
498
|
+
'name': z.string().readonly(),
|
|
499
|
+
}).readonly().optional(),
|
|
495
500
|
'routableProviders': z.array(z.string()).readonly(),
|
|
496
501
|
'groups': z.array(z.object({
|
|
497
502
|
'id': z.string().readonly(),
|
|
498
503
|
'name': z.string().readonly(),
|
|
504
|
+
'custom': z.boolean().readonly().optional(),
|
|
499
505
|
'models': z.array(z.object({
|
|
500
506
|
'id': z.string().readonly(),
|
|
501
507
|
'name': z.string().readonly(),
|
|
508
|
+
'inputModalities': z.array(z.union([z.literal("text"), z.literal("image")])).readonly().optional(),
|
|
502
509
|
'description': z.string().readonly().optional(),
|
|
503
510
|
'reasoning': z.object({
|
|
504
511
|
'efforts': z.array(z.object({
|
|
@@ -1778,7 +1785,7 @@ export const TYPERT = {
|
|
|
1778
1785
|
},
|
|
1779
1786
|
{
|
|
1780
1787
|
"name": "ModelCatalog",
|
|
1781
|
-
"declaration": "export interface ModelCatalog {\n readonly default: ModelSelection;\n readonly routableProviders: readonly string[];\n readonly groups: readonly ModelProviderGroup[];\n readonly failures: readonly ModelCatalogFailure[];\n}"
|
|
1788
|
+
"declaration": "export interface ModelCatalog {\n readonly default: ModelSelection;\n readonly savedDisplayName?: { readonly provider: string; readonly model: string; readonly name: string; };\n readonly routableProviders: readonly string[];\n readonly groups: readonly ModelProviderGroup[];\n readonly failures: readonly ModelCatalogFailure[];\n}"
|
|
1782
1789
|
},
|
|
1783
1790
|
{
|
|
1784
1791
|
"name": "ModelCatalogFailure",
|
|
@@ -1786,7 +1793,7 @@ export const TYPERT = {
|
|
|
1786
1793
|
},
|
|
1787
1794
|
{
|
|
1788
1795
|
"name": "ModelCatalogModel",
|
|
1789
|
-
"declaration": "export interface ModelCatalogModel {\n readonly id: string;\n readonly name: string;\n readonly description?: string;\n readonly reasoning?: ModelReasoning;\n}"
|
|
1796
|
+
"declaration": "export interface ModelCatalogModel {\n readonly id: string;\n readonly name: string;\n readonly inputModalities?: readonly ('text' | 'image')[];\n readonly description?: string;\n readonly reasoning?: ModelReasoning;\n}"
|
|
1790
1797
|
},
|
|
1791
1798
|
{
|
|
1792
1799
|
"name": "ModelMessageSource",
|
|
@@ -1794,7 +1801,7 @@ export const TYPERT = {
|
|
|
1794
1801
|
},
|
|
1795
1802
|
{
|
|
1796
1803
|
"name": "ModelProviderGroup",
|
|
1797
|
-
"declaration": "export interface ModelProviderGroup {\n readonly id: string;\n readonly name: string;\n readonly models: readonly ModelCatalogModel[];\n}"
|
|
1804
|
+
"declaration": "export interface ModelProviderGroup {\n readonly id: string;\n readonly name: string;\n readonly custom?: boolean;\n readonly models: readonly ModelCatalogModel[];\n}"
|
|
1798
1805
|
},
|
|
1799
1806
|
{
|
|
1800
1807
|
"name": "ModelReasoning",
|
package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.remote-client.js
CHANGED
|
@@ -492,13 +492,20 @@ const _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema
|
|
|
492
492
|
'model': z.string().readonly(),
|
|
493
493
|
'reasoningEffort': z.string().readonly().optional(),
|
|
494
494
|
}).readonly(),
|
|
495
|
+
'savedDisplayName': z.object({
|
|
496
|
+
'provider': z.string().readonly(),
|
|
497
|
+
'model': z.string().readonly(),
|
|
498
|
+
'name': z.string().readonly(),
|
|
499
|
+
}).readonly().optional(),
|
|
495
500
|
'routableProviders': z.array(z.string()).readonly(),
|
|
496
501
|
'groups': z.array(z.object({
|
|
497
502
|
'id': z.string().readonly(),
|
|
498
503
|
'name': z.string().readonly(),
|
|
504
|
+
'custom': z.boolean().readonly().optional(),
|
|
499
505
|
'models': z.array(z.object({
|
|
500
506
|
'id': z.string().readonly(),
|
|
501
507
|
'name': z.string().readonly(),
|
|
508
|
+
'inputModalities': z.array(z.union([z.literal("text"), z.literal("image")])).readonly().optional(),
|
|
502
509
|
'description': z.string().readonly().optional(),
|
|
503
510
|
'reasoning': z.object({
|
|
504
511
|
'efforts': z.array(z.object({
|
|
@@ -9,6 +9,9 @@ import { credentialRef } from '@deepseek-ai/dsh-credentials';
|
|
|
9
9
|
*/
|
|
10
10
|
export async function buildModelCatalog(ctx, defaultSelection = ctx.agentDefaultModel.currentSelection()) {
|
|
11
11
|
const providers = ctx.llm.listProviders();
|
|
12
|
+
const customProviders = new Set(ctx.llm.listConfigurableProviders()
|
|
13
|
+
.filter(provider => provider.settingsNs === 'llm-pi-ai' && provider.declared === true)
|
|
14
|
+
.map(provider => provider.provider));
|
|
12
15
|
const catalog = await Promise.all(providers.map(async (provider) => {
|
|
13
16
|
try {
|
|
14
17
|
const models = await ctx.llm.listModels(provider.id);
|
|
@@ -29,13 +32,15 @@ export async function buildModelCatalog(ctx, defaultSelection = ctx.agentDefault
|
|
|
29
32
|
return {
|
|
30
33
|
id: model.id,
|
|
31
34
|
name: model.name,
|
|
35
|
+
...(resolved.inputModalities === undefined ? {} : { inputModalities: [...resolved.inputModalities] }),
|
|
32
36
|
...(model.description === undefined ? {} : { description: model.description }),
|
|
33
37
|
...(reasoning === undefined ? {} : { reasoning }),
|
|
34
38
|
};
|
|
35
39
|
}));
|
|
36
40
|
return {
|
|
37
41
|
kind: 'group',
|
|
38
|
-
group: { id: provider.id, name: provider.name, models: entries
|
|
42
|
+
group: { id: provider.id, name: provider.name, models: entries,
|
|
43
|
+
...(customProviders.has(provider.id) ? { custom: true } : {}) },
|
|
39
44
|
};
|
|
40
45
|
}
|
|
41
46
|
catch (error) {
|
|
@@ -51,8 +56,10 @@ export async function buildModelCatalog(ctx, defaultSelection = ctx.agentDefault
|
|
|
51
56
|
}));
|
|
52
57
|
const groups = catalog.flatMap(item => item.kind === 'group' ? [item.group] : [])
|
|
53
58
|
.filter(group => group.models.length > 0);
|
|
59
|
+
const savedDisplayName = ctx.agentDefaultModel.sharedDisplayName();
|
|
54
60
|
return {
|
|
55
61
|
default: { ...defaultSelection },
|
|
62
|
+
...savedDisplayName === undefined ? {} : { savedDisplayName },
|
|
56
63
|
routableProviders: groups.map(group => group.id),
|
|
57
64
|
groups,
|
|
58
65
|
failures: catalog.flatMap(item => item.kind === 'failure' ? [item.failure] : []),
|
|
@@ -122,6 +122,8 @@ export interface ModelReasoning {
|
|
|
122
122
|
export interface ModelCatalogModel {
|
|
123
123
|
readonly id: string;
|
|
124
124
|
readonly name: string;
|
|
125
|
+
/** Input types accepted by the exact model route; omission leaves capability unspecified. */
|
|
126
|
+
readonly inputModalities?: readonly ('text' | 'image')[];
|
|
125
127
|
readonly description?: string;
|
|
126
128
|
readonly reasoning?: ModelReasoning;
|
|
127
129
|
}
|
|
@@ -129,6 +131,8 @@ export interface ModelCatalogModel {
|
|
|
129
131
|
export interface ModelProviderGroup {
|
|
130
132
|
readonly id: string;
|
|
131
133
|
readonly name: string;
|
|
134
|
+
/** User-declared route; presentation groups these without changing provider identities. */
|
|
135
|
+
readonly custom?: boolean;
|
|
132
136
|
readonly models: readonly ModelCatalogModel[];
|
|
133
137
|
}
|
|
134
138
|
/** One provider whose model catalog lookup failed. */
|
|
@@ -140,6 +144,12 @@ export interface ModelCatalogFailure {
|
|
|
140
144
|
/** Host-generation model catalog and the default used by unconfigured Sessions. */
|
|
141
145
|
export interface ModelCatalog {
|
|
142
146
|
readonly default: ModelSelection;
|
|
147
|
+
/** Latest shared display name; presentation may use it only for the exact provider/model pair. */
|
|
148
|
+
readonly savedDisplayName?: {
|
|
149
|
+
readonly provider: string;
|
|
150
|
+
readonly model: string;
|
|
151
|
+
readonly name: string;
|
|
152
|
+
};
|
|
143
153
|
/** Provider routes with at least one currently available catalog model. */
|
|
144
154
|
readonly routableProviders: readonly string[];
|
|
145
155
|
readonly groups: readonly ModelProviderGroup[];
|
|
@@ -301,6 +301,7 @@ let SettingsController = (() => {
|
|
|
301
301
|
let _replace_decorators;
|
|
302
302
|
let _mutate_decorators;
|
|
303
303
|
let _openSettingsDocument_decorators;
|
|
304
|
+
let _openNamespaceDocument_decorators;
|
|
304
305
|
return class SettingsController extends _classSuper {
|
|
305
306
|
static {
|
|
306
307
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
@@ -309,6 +310,7 @@ let SettingsController = (() => {
|
|
|
309
310
|
_replace_decorators = [Remote];
|
|
310
311
|
_mutate_decorators = [Remote];
|
|
311
312
|
_openSettingsDocument_decorators = [Remote];
|
|
313
|
+
_openNamespaceDocument_decorators = [Remote];
|
|
312
314
|
__esDecorate(this, null, _describe_decorators, {
|
|
313
315
|
kind: "method",
|
|
314
316
|
name: "describe",
|
|
@@ -364,6 +366,17 @@ let SettingsController = (() => {
|
|
|
364
366
|
},
|
|
365
367
|
metadata: _metadata
|
|
366
368
|
}, null, _instanceExtraInitializers);
|
|
369
|
+
__esDecorate(this, null, _openNamespaceDocument_decorators, {
|
|
370
|
+
kind: "method",
|
|
371
|
+
name: "openNamespaceDocument",
|
|
372
|
+
static: false,
|
|
373
|
+
private: false,
|
|
374
|
+
access: {
|
|
375
|
+
has: (obj) => "openNamespaceDocument" in obj,
|
|
376
|
+
get: (obj) => obj.openNamespaceDocument
|
|
377
|
+
},
|
|
378
|
+
metadata: _metadata
|
|
379
|
+
}, null, _instanceExtraInitializers);
|
|
367
380
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
368
381
|
enumerable: true,
|
|
369
382
|
configurable: true,
|
|
@@ -439,11 +452,25 @@ let SettingsController = (() => {
|
|
|
439
452
|
* @throws RemoteError when no document exists, preparation fails, or opening fails.
|
|
440
453
|
*/
|
|
441
454
|
async openSettingsDocument(signal) {
|
|
455
|
+
return this.openDocument(void 0, signal);
|
|
456
|
+
}
|
|
457
|
+
/** Open the document owning a registered namespace, including shared home-level model configuration.
|
|
458
|
+
* @param ns Registered settings namespace; the Host resolves its owning path.
|
|
459
|
+
* @param signal Caller lifetime before native handoff.
|
|
460
|
+
* @returns Confirmation once the native editor accepts the document.
|
|
461
|
+
* @throws RemoteError for invalid namespaces, preparation failure or rejected native handoff.
|
|
462
|
+
*/
|
|
463
|
+
async openNamespaceDocument(ns, signal) {
|
|
464
|
+
const parsed = settingsNamespaceRequestSchema.safeParse({ ns });
|
|
465
|
+
if (!parsed.success) throw new RemoteError("gateway/bad-request", "invalid settings namespace", {});
|
|
466
|
+
return this.openDocument(parsed.data.ns, signal);
|
|
467
|
+
}
|
|
468
|
+
async openDocument(namespace, signal) {
|
|
442
469
|
const settings = this.provider();
|
|
443
470
|
if (isAborted(signal)) throw new RemoteError("gateway/cancelled", "settings document open was aborted", {});
|
|
444
471
|
let path;
|
|
445
472
|
try {
|
|
446
|
-
path = await settings.prepareDocument();
|
|
473
|
+
path = await settings.prepareDocument(namespace);
|
|
447
474
|
} catch (error) {
|
|
448
475
|
if (isAborted(signal)) throw new RemoteError("gateway/cancelled", "settings document preparation was aborted", {});
|
|
449
476
|
throw new RemoteError("gateway/internal", `settings document preparation failed: ${messageOf(error)}`, {}, { cause: error });
|