mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
fix: mark only IDX quotes behind the session; test the wiring
Review findings on #71: - The IDX session rule flagged non-IDX data: US screen rows on Monday evening WIB, and JP/HK/SG rows on their own holidays. Only `.JK` quotes and `--region id` screens are marked now. - Nothing tested the marking call sites. A screen test checks IDX rows online and offline, and US rows unmarked. A quote test reads a cache entry in 0.3.3's format (no field) offline. - The get_quotes description now says the flag also means the stock did not trade, or an exchange holiday; screen_stocks mentions the field. - latest_session is pub(crate). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V3syn2fN2LNo5pvTSqc6eh
This commit is contained in:
parent
a0a2cac7cf
commit
834e47b336
7 changed files with 85 additions and 20 deletions
|
|
@ -116,7 +116,8 @@ impl IdxServer {
|
|||
#[tool(
|
||||
description = "Latest quotes (price, change, volume, 52-week range, market cap) \
|
||||
for one or more IDX tickers. `as_of` is the last trade in WIB; `behind_session` is true \
|
||||
when that is before the latest IDX session, so the price is not that session's close."
|
||||
when that is before the latest IDX session, so the price is not that session's close: the \
|
||||
provider lags, the stock did not trade, or the day was an exchange holiday."
|
||||
)]
|
||||
async fn get_quotes(&self, params: Parameters<SymbolsParams>) -> ToolResult {
|
||||
let symbols = match checked_symbols(params.0.symbols) {
|
||||
|
|
@ -149,7 +150,8 @@ when that is before the latest IDX session, so the price is not that session's c
|
|||
|
||||
#[tool(
|
||||
description = "Run a stock screen (top/worst performers, high dividend, low P/E, \
|
||||
52-week highs/lows, high volume, large cap)."
|
||||
52-week highs/lows, high volume, large cap). Rows carry `as_of` and, for the IDX region, \
|
||||
`behind_session` as in get_quotes."
|
||||
)]
|
||||
async fn screen_stocks(&self, params: Parameters<ScreenParams>) -> ToolResult {
|
||||
let ScreenParams {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue