@openvulcan/dsh-vulcancode 0.4.0 → 0.4.3

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.
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@openvulcan/dsh-vulcan-reasoning",
3
+ "version": "0.4.3",
4
+ "description": "Edit per-model thinking levels for pi-ai providers in DeepSeek Harness.",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/OpenVulcan/dsh-vulcancode.git",
9
+ "directory": "packages/dsh-vulcan-reasoning"
10
+ },
11
+ "type": "module",
12
+ "main": "lib/index.js",
13
+ "types": "lib/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./lib/index.d.ts",
17
+ "default": "./lib/index.js"
18
+ },
19
+ "./client": "./lib/client.js",
20
+ "./package.json": "./package.json"
21
+ },
22
+ "files": [
23
+ "lib",
24
+ "!lib/**/*.test.*"
25
+ ],
26
+ "engines": {
27
+ "dsh": ">=0.2.1-rc.2 <0.3.0"
28
+ },
29
+ "dsh": {
30
+ "client": {
31
+ "platform": "web",
32
+ "inject": [
33
+ "@deepseek-ai/dsh-api-remotes",
34
+ "@deepseek-ai/dsh-client-locale",
35
+ "@deepseek-ai/dsh-client-ui-settings-models"
36
+ ]
37
+ }
38
+ },
39
+ "publishConfig": {
40
+ "access": "public"
41
+ }
42
+ }
@@ -764,6 +764,12 @@ window.__ModuleLoader__.load({
764
764
  const V = `html[${controller_1.THEME_ATTRIBUTE}]`;
765
765
  /** The settings dialog. */
766
766
  const SETTINGS = `${V} [data-shortcut-modal="settings"]`;
767
+ // The labelled settings title is inside the navigation in dsh 0.2.1 and beside it in 0.2.2.
768
+ // dsh 0.2.1 的设置标题位于导航栏内,0.2.2 的标题与导航栏并列。
769
+ const SETTINGS_TITLE = `:is(${SETTINGS}, ${SETTINGS} > nav:first-child) > [id][tabindex="-1"]`;
770
+ // The actions header is inside the content column in the 0.2.1 flex layout and beside the nav in the 0.2.2 grid.
771
+ // 0.2.1 的操作栏在弹性布局的内容列内,0.2.2 的操作栏与导航栏同属网格的直接子项。
772
+ const SETTINGS_ACTIONS = `:is(${SETTINGS} > nav:first-child + div > div:first-child, ${SETTINGS} > nav:nth-child(2) + div)`;
767
773
  /** The workspace tree in the sidebar. */
768
774
  const TREE = `${V} [data-slot="sidebar.workspaces"] [role="tree"]`;
769
775
  const VULCAN = `
@@ -815,14 +821,64 @@ window.__ModuleLoader__.load({
815
821
  ${V} [role="dialog"][aria-modal="true"] { box-shadow: 0 0 0 1px var(--vulcan-line-strong), var(--vulcan-shadow-2); }
816
822
  ${V} [aria-hidden="true"]:has(+ [role="dialog"][aria-modal="true"]) { background: var(--vulcan-scrim); backdrop-filter: blur(3px) saturate(1.05); }
817
823
 
818
- /* Settings: an ember corner tick and a navigation well whose current page carries the ember edge. */
824
+ /* Settings uses VulcanCode's framed navigation, fixed header and independently scrolling body. */
825
+ /* 设置使用 VulcanCode 的带边框导航、固定页头和独立滚动正文。 */
819
826
  ${SETTINGS}::before { content: ""; position: absolute; z-index: 1; top: -1px; left: -1px; width: var(--vulcan-tick-w); height: 2px; background: var(--vulcan-ember); pointer-events: none; }
820
827
  ${SETTINGS} > nav { background: var(--vulcan-ground-2); box-shadow: inset -1px 0 0 var(--vulcan-line); }
821
828
  ${SETTINGS} > nav button { color: var(--vulcan-ink-2); }
822
829
  ${SETTINGS} > nav button:hover { background: var(--vulcan-hover); color: var(--vulcan-ink); }
823
- ${SETTINGS} > nav button[aria-current="true"] { background: var(--vulcan-panel); color: var(--vulcan-ink); box-shadow: inset 2px 0 0 var(--vulcan-ember), 0 0 0 1px var(--vulcan-line); }
830
+ ${SETTINGS} > nav button[aria-current="true"] { background: var(--vulcan-panel); color: var(--vulcan-ink); box-shadow: inset 2px 0 0 var(--vulcan-ember), inset 0 0 0 1px var(--vulcan-line); }
824
831
  ${SETTINGS} > nav button[aria-current="true"] svg { color: var(--vulcan-ember); }
825
- ${V} [data-slot="settings.header"] { color: var(--vulcan-ink-3); font-family: var(--vulcan-label-font); font-size: 12px; font-weight: 500; letter-spacing: var(--vulcan-label-track); text-transform: var(--vulcan-label-case); }
832
+ ${SETTINGS} > nav button:focus-visible { outline: 2px solid var(--vulcan-ink-3); outline-offset: -3px; }
833
+ ${SETTINGS} [data-slot="settings.header"] { color: var(--vulcan-ink); font-family: var(--vulcan-label-font); font-size: 14px; font-weight: 600; letter-spacing: var(--vulcan-label-track); text-transform: var(--vulcan-label-case); }
834
+ ${SETTINGS_ACTIONS} + div { overscroll-behavior: contain; }
835
+
836
+ /* Preference pages use a readable measure; management pages use the available width. */
837
+ /* 偏好设置页采用便于阅读的列宽,管理页使用可用的完整宽度。 */
838
+ ${V} [data-vulcan-settings-width] { width: 100%; min-width: 0; }
839
+ ${V} [data-vulcan-settings-width="readable"] { max-width: 44rem; margin-inline: auto; }
840
+ ${V} [data-vulcan-settings-width="full"] { max-width: none; }
841
+ ${V} [data-vulcan-settings-header] { display: grid; justify-items: start; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid var(--vulcan-line); }
842
+ ${V} [data-vulcan-settings-header] > h2 { margin: 0; color: var(--vulcan-ink); font-size: 20px; font-weight: 600; line-height: 1.25; }
843
+ ${V} [data-vulcan-settings-header] > p { max-width: 70ch; margin: 0; color: var(--vulcan-ink-2); }
844
+
845
+ /* Match dsh's wide-layout breakpoint so its compact navigation remains usable on narrow screens. */
846
+ /* 沿用 dsh 的宽屏断点,使窄屏上的紧凑导航保持可用。 */
847
+ @media (min-width: 768px) {
848
+ ${SETTINGS} {
849
+ --vulcan-settings-nav: clamp(188px, 20vw, 228px);
850
+ --vulcan-settings-gutter: clamp(20px, 3vw, 36px);
851
+ width: min(1160px, calc(100vw - 48px));
852
+ }
853
+ ${SETTINGS}:has(> nav:nth-child(2)) { grid-template-columns: var(--vulcan-settings-nav) minmax(0, 1fr); }
854
+ ${SETTINGS} > nav { padding-block-end: 12px; }
855
+ ${SETTINGS} > nav:first-child { width: var(--vulcan-settings-nav); gap: 10px; padding-block-start: 0; }
856
+ ${SETTINGS_TITLE}, ${SETTINGS_ACTIONS} {
857
+ box-sizing: border-box;
858
+ height: 60px;
859
+ align-items: center;
860
+ border-bottom: 1px solid var(--vulcan-line);
861
+ }
862
+ ${SETTINGS_TITLE} {
863
+ display: flex;
864
+ flex: none;
865
+ padding: 0 18px;
866
+ background: var(--vulcan-ground-2);
867
+ box-shadow: inset -1px 0 0 var(--vulcan-line);
868
+ }
869
+ ${SETTINGS} > nav:first-child > [id][tabindex="-1"] { margin-inline: -12px; }
870
+ ${SETTINGS_ACTIONS} { padding: 0 var(--vulcan-settings-gutter); background: var(--vulcan-panel); }
871
+ ${SETTINGS_ACTIONS} + div { padding: 20px var(--vulcan-settings-gutter) 28px; background: var(--vulcan-panel); }
872
+ /* The native settings pages and the nested built-in plugin tabs each own a width cap. */
873
+ /* dsh 原生设置页和内置插件的嵌套标签页各自带有宽度上限。 */
874
+ ${SETTINGS_ACTIONS} + div > [data-slot="settings.section"] > :not([data-vulcan-settings-width]),
875
+ ${SETTINGS_ACTIONS} + div > [data-slot="settings.section"] [data-slot="settings.plugins.tab"] > :not([data-vulcan-settings-width]) {
876
+ box-sizing: border-box;
877
+ inline-size: 100%;
878
+ min-inline-size: 0;
879
+ max-inline-size: none;
880
+ }
881
+ }
826
882
  `;
827
883
  const ROW = `
828
884
  .vst { display: flex; flex-direction: column; gap: 12px; padding: 16px 0; border-bottom: 0.5px solid var(--dsw-alias-border-l2); }
@@ -846,6 +902,10 @@ window.__ModuleLoader__.load({
846
902
  .vst-switch:disabled { cursor: default; opacity: .6; }
847
903
  html[${controller_1.SQUARE_ATTRIBUTE}] .vst-switch,
848
904
  html[${controller_1.SQUARE_ATTRIBUTE}] .vst-switch::after { border-radius: 0; }
905
+
906
+ /* The Windows frame defines its own radius for the main column and fullscreen panels. */
907
+ /* Windows 框架为主内容列和全屏面板定义了独立的圆角。 */
908
+ html[${controller_1.SQUARE_ATTRIBUTE}][data-windows-titlebar] :has(> [data-shell-overlay]) { --dsh-windows-content-radius: 0px; }
849
909
  `;
850
910
  /** Add the stylesheet once per page; returns a function that removes it again. */
851
911
  function installStyle() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openvulcan/dsh-vulcan-style",
3
- "version": "0.4.0",
3
+ "version": "0.4.3",
4
4
  "description": "The VulcanCode look for DeepSeek Harness: Vulcan light, dark and command themes with square corners.",
5
5
  "license": "MIT",
6
6
  "icon": "./assets/style-icon.png",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openvulcan/openvulcan-account",
3
- "version": "0.4.0",
3
+ "version": "0.4.3",
4
4
  "description": "OpenVulcan account: device sign-in, credential storage and refresh, shared by the Vulcan tools.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openvulcan/vulcan-decision",
3
- "version": "0.4.0",
3
+ "version": "0.4.3",
4
4
  "description": "Vulcan Decision: judge AI coding tool calls before they run, with OpenVulcan cloud endpoints or an optional local model runtime.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -35,6 +35,6 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@openvulcan/openvulcan-account": "0.4.0"
38
+ "@openvulcan/openvulcan-account": "0.4.3"
39
39
  }
40
40
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@openvulcan/dsh-vulcancode",
3
- "version": "0.4.0",
4
- "description": "VulcanCode for DeepSeek Harness (dsh): OpenVulcan account, Vulcan Decision permission guard, interactive answers, LuaSkills, long-term memory and the VulcanCode look. Community plugins, not affiliated with DeepSeek.",
3
+ "version": "0.4.3",
4
+ "description": "VulcanCode for DeepSeek Harness (dsh): OpenVulcan account, Vulcan Decision permission guard, interactive answers, LuaSkills, long-term memory, custom thinking levels and the VulcanCode look. Community plugins, not affiliated with DeepSeek.",
5
5
  "license": "MIT",
6
6
  "icon": "./assets/openvulcan-icon.svg",
7
7
  "repository": {
@@ -27,17 +27,18 @@
27
27
  }
28
28
  },
29
29
  "dependencies": {
30
- "@openvulcan/dsh-decision-guard": "0.4.0",
31
- "@openvulcan/dsh-vulcan-account": "0.4.0",
32
- "@openvulcan/dsh-vulcan-answers": "0.4.0",
33
- "@openvulcan/dsh-vulcan-luaskills": "0.4.0",
34
- "@openvulcan/dsh-vulcan-memory": "0.4.0",
35
- "@openvulcan/dsh-vulcan-style": "0.4.0",
30
+ "@openvulcan/dsh-decision-guard": "0.4.3",
31
+ "@openvulcan/dsh-vulcan-account": "0.4.3",
32
+ "@openvulcan/dsh-vulcan-answers": "0.4.3",
33
+ "@openvulcan/dsh-vulcan-luaskills": "0.4.3",
34
+ "@openvulcan/dsh-vulcan-memory": "0.4.3",
35
+ "@openvulcan/dsh-vulcan-reasoning": "0.4.3",
36
+ "@openvulcan/dsh-vulcan-style": "0.4.3",
36
37
  "fflate": "^0.8.3",
37
38
  "mdast-util-from-markdown": "^2.0.2",
38
39
  "zod": "4.4.3",
39
- "@openvulcan/openvulcan-account": "0.4.0",
40
- "@openvulcan/vulcan-decision": "0.4.0"
40
+ "@openvulcan/openvulcan-account": "0.4.3",
41
+ "@openvulcan/vulcan-decision": "0.4.3"
41
42
  },
42
43
  "publishConfig": {
43
44
  "access": "public"
@@ -48,6 +49,7 @@
48
49
  "@openvulcan/dsh-vulcan-answers",
49
50
  "@openvulcan/dsh-vulcan-luaskills",
50
51
  "@openvulcan/dsh-vulcan-memory",
52
+ "@openvulcan/dsh-vulcan-reasoning",
51
53
  "@openvulcan/dsh-vulcan-style",
52
54
  "@openvulcan/openvulcan-account",
53
55
  "@openvulcan/vulcan-decision"