mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
Second Codex (gpt-6.1-sol, xhigh) pass over 60634d3, each item verified
before fixing:
- new: the sync recheck hashed an existing empty database before schema
setup, so the first sync falsely reported an external change. Hash
after setup; a published snapshot already has the schema and keeps
its bytes.
- sync, import, and entity edits now hold a cross-process lock
(<db>.lock, std File::lock), so a sync cannot replace the database
under an import running in another process. Import validates and
downloads before taking the lock, keeping its error order. MSRV
1.85 -> 1.89 for File::lock.
- the row-count rebuild branch also never downgrades history.
- cache reads no longer delete corrupt entries (a concurrent writer may
have just replaced them); the next put overwrites atomically.
- idx-mcp validates the changes limit before querying and runs each
requested section or analysis once.
- XLSX parsing bounds total cell text, so one large shared string
referenced from many cells cannot exhaust memory.
- PDF/archive percentages must be 0-100%; HHI uses saturating math.
CLI goldens unchanged. Live A/B vs 0.2.4: 16 passed, discover hits the
IDX 403 on both builds (exit 4 vs 1, intended).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
30 lines
963 B
TOML
30 lines
963 B
TOML
[package]
|
|
name = "idx-mcp"
|
|
description = "MCP server for Indonesian stock market (IDX) market, financial, and ownership data"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
readme = "../../README.md"
|
|
keywords = ["idx", "stocks", "indonesia", "mcp", "finance"]
|
|
categories = ["finance"]
|
|
include = ["/Cargo.toml", "/LICENSE", "/src/**"]
|
|
|
|
[[bin]]
|
|
name = "idx-mcp"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
idx-core.workspace = true
|
|
clap.workspace = true
|
|
rmcp = { version = "3.5", default-features = false, features = ["server", "macros", "transport-io"] }
|
|
schemars = "1"
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
tokio = { version = "1", features = ["macros", "rt-multi-thread", "io-std", "sync"] }
|
|
|
|
[dev-dependencies]
|
|
# Tests drive the binary with the mock provider; release builds exclude it.
|
|
idx-core = { workspace = true, features = ["testing"] }
|