mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
feat(cli): agent-native output, stdin symbols, and exit-code classes
Phase 1 of docs/DESIGN.md: - Output format resolves -o > IDX_OUTPUT > general.output > auto; auto is a table on a terminal and JSON when stdout is piped or captured. `config init` now writes output = "auto". - JSON is pretty only on a terminal and compact otherwise. New `-o jsonl` prints one array item per line with the same key order. - No ANSI color when stdout is not a terminal (direct owo-colors calls now go through output::style). - `stocks quote -` and `stocks compare -` read symbols from stdin. - Exit codes by class: 2 invalid input/config, 3 not found or cache miss, 4 upstream unavailable, 5 unsupported, 1 other. Golden changes are limited to those documented kinds and were verified mechanically: JSON goldens are semantically identical, tables differ only by removed ANSI codes and the column padding comfy-table had reserved for them (cell contents identical), exit codes match each error's class, and help/completions only gain the new --output values. 17 new golden cases cover auto, jsonl, stdin, and the new errors. tests/cli.rs now pins IDX_OUTPUT=table in its harness (its tests assert table text and run piped) and parses discover JSON instead of matching pretty-printed whitespace. Live A/B against main: 16/16 stocks cases identical; ownership discover got IDX 403 on both binaries, now exiting 4 instead of 1 as intended. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
fe627496dd
commit
22b6dabaeb
119 changed files with 920 additions and 1896 deletions
|
|
@ -1,109 +1,4 @@
|
|||
exit: 0
|
||||
--- stdout
|
||||
[
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE LOCAL ID",
|
||||
"change_type": "decreased",
|
||||
"old_bps": 2400,
|
||||
"new_bps": 2334,
|
||||
"delta_bps": -66
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE LOCAL IS",
|
||||
"change_type": "increased",
|
||||
"old_bps": 75,
|
||||
"new_bps": 129,
|
||||
"delta_bps": 54
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE LOCAL MF",
|
||||
"change_type": "increased",
|
||||
"old_bps": 117,
|
||||
"new_bps": 152,
|
||||
"delta_bps": 35
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE FOREIGN MF",
|
||||
"change_type": "increased",
|
||||
"old_bps": 307,
|
||||
"new_bps": 337,
|
||||
"delta_bps": 30
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE FOREIGN OT",
|
||||
"change_type": "decreased",
|
||||
"old_bps": 91,
|
||||
"new_bps": 64,
|
||||
"delta_bps": -27
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE FOREIGN PF",
|
||||
"change_type": "decreased",
|
||||
"old_bps": 76,
|
||||
"new_bps": 56,
|
||||
"delta_bps": -20
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE FOREIGN CP",
|
||||
"change_type": "increased",
|
||||
"old_bps": 72,
|
||||
"new_bps": 86,
|
||||
"delta_bps": 14
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE LOCAL CP",
|
||||
"change_type": "decreased",
|
||||
"old_bps": 6481,
|
||||
"new_bps": 6467,
|
||||
"delta_bps": -14
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE LOCAL SC",
|
||||
"change_type": "decreased",
|
||||
"old_bps": 36,
|
||||
"new_bps": 29,
|
||||
"delta_bps": -7
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE FOREIGN IB",
|
||||
"change_type": "decreased",
|
||||
"old_bps": 267,
|
||||
"new_bps": 263,
|
||||
"delta_bps": -4
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE FOREIGN SC",
|
||||
"change_type": "increased",
|
||||
"old_bps": 51,
|
||||
"new_bps": 55,
|
||||
"delta_bps": 4
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE LOCAL PF",
|
||||
"change_type": "increased",
|
||||
"old_bps": 17,
|
||||
"new_bps": 20,
|
||||
"delta_bps": 3
|
||||
},
|
||||
{
|
||||
"ticker_code": "AADI",
|
||||
"entity_name": "KSEI AGGREGATE FOREIGN ID",
|
||||
"change_type": "decreased",
|
||||
"old_bps": 3,
|
||||
"new_bps": 2,
|
||||
"delta_bps": -1
|
||||
}
|
||||
]
|
||||
[{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE LOCAL ID","change_type":"decreased","old_bps":2400,"new_bps":2334,"delta_bps":-66},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE LOCAL IS","change_type":"increased","old_bps":75,"new_bps":129,"delta_bps":54},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE LOCAL MF","change_type":"increased","old_bps":117,"new_bps":152,"delta_bps":35},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE FOREIGN MF","change_type":"increased","old_bps":307,"new_bps":337,"delta_bps":30},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE FOREIGN OT","change_type":"decreased","old_bps":91,"new_bps":64,"delta_bps":-27},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE FOREIGN PF","change_type":"decreased","old_bps":76,"new_bps":56,"delta_bps":-20},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE FOREIGN CP","change_type":"increased","old_bps":72,"new_bps":86,"delta_bps":14},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE LOCAL CP","change_type":"decreased","old_bps":6481,"new_bps":6467,"delta_bps":-14},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE LOCAL SC","change_type":"decreased","old_bps":36,"new_bps":29,"delta_bps":-7},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE FOREIGN IB","change_type":"decreased","old_bps":267,"new_bps":263,"delta_bps":-4},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE FOREIGN SC","change_type":"increased","old_bps":51,"new_bps":55,"delta_bps":4},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE LOCAL PF","change_type":"increased","old_bps":17,"new_bps":20,"delta_bps":3},{"ticker_code":"AADI","entity_name":"KSEI AGGREGATE FOREIGN ID","change_type":"decreased","old_bps":3,"new_bps":2,"delta_bps":-1}]
|
||||
--- stderr
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue