New:Socket for Asana Is Now Available.Learn more
Get Started

dsh-plugin-astock-chart

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dsh-plugin-astock-chart

Draws the candlesticks in the reply: a web-client card that renders astock_data results as an OHLC chart with volume, instead of a table of numbers.

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

dsh-plugin-astock-chart

English | 中文

Draws the candlesticks in the reply. An astock_data result renders as an OHLC chart with a volume band instead of a table of numbers.

dsh plugin --profile web add dsh-plugin-astock-chart

Needs dsh-plugin-astock for the data, and the web client for the card. Restart the service after installing; the browser picks the bundle up on the next load.

[!IMPORTANT] The agent must be able to call astock_data natively. Under a pure Code Mode preset every call goes through run_code, and a code-dispatched sub-call has no card — the runtime skips presentationMeta for it, so no series ever reaches the browser and you get the generic row instead of a chart. Use a preset whose tool presentation is native or both; both keeps run_code available for batch work while single-stock lookups stay native and drawable. What that choice costs the rest of your plugins is in tool presentation modes.

How it renders

The card registers into the web client's tool.call.toolview slot, keyed by the wire tool name astock_data. Where a tool has no registered view, ui-tool renders its generic card — so this plugin adds a view rather than replacing machinery, and a result it cannot draw falls back to that generic card instead of a blank box.

Bars reach the browser through presentationMeta. The canonical value is execution-local — it never reaches a card and never survives replay — so the card's data has to be projected onto the result, which is persisted. That bound is why the projection carries a screen's worth of candles (120) rather than the whole history a caller may have requested.

Chart decisions

The price scale spans the visible highs and lows, not zero. A stock that moved 2% would otherwise render as a flat line at the top of an empty chart. A flat range — one bar, or a limit-locked stretch — is padded so the candle stays visible instead of collapsing to nothing.

Rising is red and falling is green, the A-share convention, which is the inverse of most Western charts.

Volume is scaled against its own peak in the window, so the band shows relative activity rather than a value the price axis cannot express.

A missing price drops the bar. The packed series marks an unreported field with an empty token, and Number('') is 0 — a bar coerced that way would draw a candle crashing to zero.

No build step

This package ships a hand-written client bundle in the module loader's documented factory form (window.__ModuleLoader__.load({ id, factory })). The card has no npm dependencies of its own — React arrives through the host-injected require table — so a bundler would add a toolchain, a build step, and a build-authorization prompt on git installs in order to concatenate one file with nothing.

The tests load that exact shipped file with a stand-in loader table, so they exercise the published artifact rather than a copy of its logic.

License

MIT

Keywords

dsh

FAQs

Package last updated on 20 Aug 2026

Related posts