@bittersmilezzz/dsh-model-selector 0.3.7 → 0.3.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSelect.d.ts","sourceRoot":"","sources":["../../../src/client/ModelSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AASzD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAGzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AACjH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAsBlE,mEAAmE;AACnE,KAAK,cAAc,GAAG,mBAAmB,CAAA;AAKzC,UAAU,iBAAiB;IACzB,KAAK,EAAE,cAAc,CAAA;IACrB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IAC/B,4DAA4D;IAC5D,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B;AA4BD,eAAO,MAAM,YAAY,oEAA2E,iBAAiB,8BA8SnH,CAAC;AA0GH,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;CAChC;AACD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,gBAAgB,4BAutB9F"}
1
+ {"version":3,"file":"ModelSelect.d.ts","sourceRoot":"","sources":["../../../src/client/ModelSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAUzD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAGzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AACjH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAsBlE,mEAAmE;AACnE,KAAK,cAAc,GAAG,mBAAmB,CAAA;AAKzC,UAAU,iBAAiB;IACzB,KAAK,EAAE,cAAc,CAAA;IACrB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IAC/B,4DAA4D;IAC5D,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B;AA4BD,eAAO,MAAM,YAAY,oEAA2E,iBAAiB,8BA8SnH,CAAC;AA0GH,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;CAChC;AACD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,gBAAgB,4BAwsB9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAmBnE;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,KAAK,CAAA;AAE/B,sHAAsH;AACtH,eAAO,MAAM,MAAM,UAOlB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAgD9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAmBnE;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,KAAK,CAAA;AAE/B,sHAAsH;AACtH,eAAO,MAAM,MAAM,UAOlB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAqD9C"}
@@ -2,41 +2,32 @@
2
2
  * dsh-model-selector — 菜单弹出方向与高度钳位的纯函数。
3
3
  *
4
4
  * 从 ModelSelect.tsx 原样搬出(无 JSX、无 DOM、无模块级副作用),以便用
5
- * node --test 直接跑源码:方向决策(向上 vs 向下弹)和向下弹的高度钳位都是
5
+ * node --test 直接跑源码:方向决策(向上 vs 向下弹)与两侧的高度钳位都是
6
6
  * 用户可见且曾在矮窗口/滚动场景出过 bug 的逻辑,留在 .tsx 里则无法脱离
7
7
  * 浏览器测试。
8
+ *
9
+ * 横向摆位已交给官方 `useAnchoredPosition`(0.2.1 起支持 `align: 'end'`),
10
+ * 这里只保留「选边」与「该边可用高度」两件事。
8
11
  */
9
- /** 菜单设计最大高度(px);实际由 useAnchoredMaxHeight 按视口可用空间钳位。
12
+ /** 菜单设计最大高度(px);实际按 trigger 上方/下方可用空间钳位。
10
13
  * 调法:调大允许更高菜单(矮视口下仍会被钳到视口内),调小菜单更矮。 */
11
14
  export declare const MENU_MAX_HEIGHT = 420;
12
15
  /** 与视口边缘保留的距离(px);对齐 primitives 里未导出的 MARGIN。
13
16
  *
14
- * 调用 `useAnchoredMaxHeight` 时**显式传这个值**作为 margin 参数(见
17
+ * 调用 `useAnchoredPosition` 时**显式传这个值**作为 margin 参数(见
15
18
  * ModelSelect.tsx 的调用点),而不是靠官方默认值恰好也是 12 的巧合:上游一旦把
16
19
  * 默认 MARGIN 改掉,隐式依赖会让本菜单的贴边距离跟着漂,而菜单自身毫无察觉。
17
- * `test/official-seat-shadow.test.mjs` 反向钉住「两边仍相等」——官方改了会红,
18
- * 那时再决定是跟随还是显式分叉。
19
- * 改动同时影响向上/向下弹与水平钳位的边距,需与官方 MARGIN 意图保持一致。 */
20
+ * `test/official-seat-shadow.test.mjs` 反向钉住「调用点显式传它」与官方 hook 的
21
+ * align/side/ResizeObserver 前提——官方收了能力会红,届时再决定跟随还是分叉。
22
+ * 改动同时影响向上/向下弹与官方 hook 的钳位边距,需与官方 MARGIN 意图保持一致。 */
20
23
  export declare const MENU_VIEWPORT_MARGIN = 12;
21
24
  /**
22
25
  * 向上弹当且仅当 trigger 上方可用空间不小于下方可用空间:
23
26
  * 取上下两侧中空间更大的一侧,避免矮窗口把面板挤到视口下沿外面。
24
27
  */
25
28
  export declare function dmsMenuAbove(triggerTop: number, triggerBottom: number, viewportHeight: number): boolean;
26
- /** 向下弹时按 trigger 下方空间钳位菜单高度(top-anchored,不能复用向上弹的 fit)。 */
29
+ /** 向上弹时按 trigger 上方空间钳位菜单高度(bottom-anchored,不能复用向下弹的公式)。 */
30
+ export declare function dmsAboveMaxHeight(triggerTop: number, cap: number): number;
31
+ /** 向下弹时按 trigger 下方空间钳位菜单高度(top-anchored,不能复用向上弹的公式)。 */
27
32
  export declare function dmsBelowMaxHeight(triggerBottom: number, viewportHeight: number, cap: number): number;
28
- /**
29
- * 菜单水平钳位:默认右锚定(right:0,与 seat 右缘对齐);seat 右缘左侧放不下
30
- * 整幅菜单(seat 靠输入区左下 + 窄窗口)、或 seat 右缘本身已越出视口右缘
31
- * (页面横向溢出/缩放时 rect.right 可大于 innerWidth,右锚定会把整幅菜单
32
- * 拖出屏外)时,返回钳到视口内的 left 值,调用方改用 left 锚定。
33
- * 返回 undefined 表示保持默认右锚定。
34
- * menuWidth 传菜单实际渲染宽度(offsetWidth),与 CSS `min(280px, 100vw-32px)` 解耦。
35
- *
36
- * **坐标系**:入参与返回值都是**视口坐标**。菜单是 .dms-root(position:
37
- * relative)内的 absolute 元素,left 的参考系是 root 的 padding box —— 调用方
38
- * 必须减去 root 的左缘再写进 style.left,否则窄窗口下菜单整体右移、横向溢出
39
- * 时整幅画到屏外。
40
- */
41
- export declare function dmsMenuLeft(rootRight: number, menuWidth: number, viewportWidth: number, margin: number): number | undefined;
42
33
  //# sourceMappingURL=menuFit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menuFit.d.ts","sourceRoot":"","sources":["../../../src/client/menuFit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;uCACuC;AACvC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC;;;;;;;8CAO8C;AAC9C,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAEvG;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM3H"}
1
+ {"version":3,"file":"menuFit.d.ts","sourceRoot":"","sources":["../../../src/client/menuFit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;uCACuC;AACvC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC;;;;;;;oDAOoD;AACpD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAEvG;AAED,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,yDAAyD;AACzD,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpG"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/client/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AACF,eAAO,MAAM,GAAG,EAAE,MA+mBjB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/client/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AACF,eAAO,MAAM,GAAG,EAAE,MA6mBjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bittersmilezzz/dsh-model-selector",
3
- "version": "0.3.7",
3
+ "version": "0.3.9",
4
4
  "description": "DeepSeek Harness 的增强模型选择器:单层菜单(搜索 + 分组)+ 底部内联推理强度(Effort)滑杆。",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -81,16 +81,16 @@
81
81
  }
82
82
  },
83
83
  "peerDependencies": {
84
- "@deepseek-ai/cordis": "^4.0.2",
85
- "@deepseek-ai/dsh-api-session-controller": "^0.1.7-rc.2",
86
- "@deepseek-ai/dsh-client-locale": "^0.1.7-rc.2",
87
- "@deepseek-ai/dsh-client-store": "^0.1.7-rc.2",
88
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-rc.2",
89
- "@deepseek-ai/dsh-client-ui-model-selection": "^0.1.7-rc.2",
90
- "@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.2",
91
- "@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.2",
92
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.2",
93
- "@deepseek-ai/dsh-session": "^0.1.7-rc.2",
84
+ "@deepseek-ai/cordis": "~4.0.5",
85
+ "@deepseek-ai/dsh-api-session-controller": "^0.2.1-rc.2",
86
+ "@deepseek-ai/dsh-client-locale": "^0.2.1-rc.2",
87
+ "@deepseek-ai/dsh-client-store": "^0.2.1-rc.2",
88
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.2.1-rc.2",
89
+ "@deepseek-ai/dsh-client-ui-model-selection": "^0.2.1-rc.2",
90
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.2.1-rc.2",
91
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.2.1-rc.2",
92
+ "@deepseek-ai/dsh-client-ui-slots": "^0.2.1-rc.2",
93
+ "@deepseek-ai/dsh-session": "^0.2.1-rc.2",
94
94
  "react": "^18.2.0",
95
95
  "react-dom": "^18.2.0"
96
96
  },
@@ -112,16 +112,16 @@
112
112
  }
113
113
  },
114
114
  "devDependencies": {
115
- "@deepseek-ai/cordis": "^4.0.3",
116
- "@deepseek-ai/dsh-api-session-controller": "^0.1.7-rc.2",
117
- "@deepseek-ai/dsh-client-locale": "^0.1.7-rc.2",
118
- "@deepseek-ai/dsh-client-store": "^0.1.7-rc.2",
119
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-rc.2",
120
- "@deepseek-ai/dsh-client-ui-model-selection": "^0.1.7-rc.2",
121
- "@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.2",
122
- "@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.2",
123
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.2",
124
- "@deepseek-ai/dsh-session": "^0.1.7-rc.2",
115
+ "@deepseek-ai/cordis": "~4.0.5",
116
+ "@deepseek-ai/dsh-api-session-controller": "^0.2.1-rc.2",
117
+ "@deepseek-ai/dsh-client-locale": "^0.2.1-rc.2",
118
+ "@deepseek-ai/dsh-client-store": "^0.2.1-rc.2",
119
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.2.1-rc.2",
120
+ "@deepseek-ai/dsh-client-ui-model-selection": "^0.2.1-rc.2",
121
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.2.1-rc.2",
122
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.2.1-rc.2",
123
+ "@deepseek-ai/dsh-client-ui-slots": "^0.2.1-rc.2",
124
+ "@deepseek-ai/dsh-session": "^0.2.1-rc.2",
125
125
  "@types/node": "^26.2.0",
126
126
  "@types/react": "~18.3.31",
127
127
  "@types/react-dom": "~18.3.7",