dsh-hyperliquid 0.4.0 → 0.4.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/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.1 — 2026-10-17
4
+
5
+ - 屏幕外剔除:完全位于可视区之外的有限范围画线不再渲染(会延伸到边缘、超出锚点,或带标签 / 提醒 / 同步徽章的画线不剔除;选中的画线不剔除)。
6
+ - 经 codex 审核:撤销成交量分布的独立命中区域,保持区间空白处可拖动平移、价位文字可点击。
7
+
3
8
  ## 0.4.0 — 2026-10-16
4
9
 
5
10
  - 首次见面先交付价值:系统提示按状态动态出现(档案为空时先做交易体检或市场雷达、实盘持仓没有足量止损时列为最高优先、连亏 3 笔时建议冷静期),并附一张交易卡模板;整段约 1000 token。
package/client.js CHANGED
@@ -18686,6 +18686,37 @@ function cssVar(el, name, fallback) {
18686
18686
  function chartData(points2) {
18687
18687
  return points2.map((point) => ({ time: point.time, value: point.value }));
18688
18688
  }
18689
+ var FINITE_KINDS = /* @__PURE__ */ new Set([
18690
+ "trend",
18691
+ "rect",
18692
+ "measure",
18693
+ "fib",
18694
+ "long",
18695
+ "short",
18696
+ "text",
18697
+ "arrow",
18698
+ "triangle",
18699
+ "brush",
18700
+ "infoline",
18701
+ "trendangle",
18702
+ "pricerange",
18703
+ "daterange",
18704
+ "elliott",
18705
+ "elliottabc",
18706
+ "xabcd",
18707
+ "abcd",
18708
+ "gannbox",
18709
+ "gannsquare",
18710
+ "icon",
18711
+ "vprofile",
18712
+ "regression"
18713
+ ]);
18714
+ function offscreen(points2, view) {
18715
+ if (!points2.length) return false;
18716
+ const xs = points2.map((point) => view.project(point.time, point.price)?.x);
18717
+ if (xs.some((x) => x == null)) return false;
18718
+ return xs.every((x) => x < -320) || xs.every((x) => x > view.width + 320);
18719
+ }
18689
18720
  var profileCache = /* @__PURE__ */ new WeakMap();
18690
18721
  function cachedProfile(candles, from, to, options = {}) {
18691
18722
  let byRange = profileCache.get(candles);
@@ -19837,6 +19868,8 @@ function CandleChart({ candles, marks, indicators, expanded, resetToken, drawMod
19837
19868
  const live = draft?.id === mark.id ? draft.points : groupDraft?.get(mark.id) ?? points2;
19838
19869
  const shown = mark.kind === "level" ? [{ time: lastTime, price: live[0].price }] : live;
19839
19870
  const selected = selectedId === mark.id || group.includes(mark.id);
19871
+ const clampedDecoration = !(mark.source === "user" || mark.kind === "level") || Boolean(mark.alert) || Boolean(mark.shared);
19872
+ if (!selected && !clampedDecoration && FINITE_KINDS.has(mark.kind) && offscreen(shown, view)) return null;
19840
19873
  return /* @__PURE__ */ React10.createElement(
19841
19874
  DrawingShape,
19842
19875
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-hyperliquid",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Hyperliquid trading desk for the DeepSeek Harness (dsh) - market workspace, native agent conversation and guarded live / paper trading over the Hyperliquid API.",
5
5
  "icon": "./icon.svg",
6
6
  "type": "module",