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,58 +1,4 @@
|
|||
exit: 0
|
||||
--- stdout
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "entity:14",
|
||||
"label": "DWIMURIA INVESTAMA ANDALAN",
|
||||
"node_type": "entity"
|
||||
},
|
||||
{
|
||||
"id": "entity:15",
|
||||
"label": "CATURGUWIRATNA SUMAPALA",
|
||||
"node_type": "entity"
|
||||
},
|
||||
{
|
||||
"id": "entity:16",
|
||||
"label": "TRICIPTA MANDHALA GUMILANG",
|
||||
"node_type": "entity"
|
||||
},
|
||||
{
|
||||
"id": "entity:17",
|
||||
"label": "ANTHONI SALIM",
|
||||
"node_type": "entity"
|
||||
},
|
||||
{
|
||||
"id": "ticker:BBCA",
|
||||
"label": "BBCA",
|
||||
"node_type": "ticker"
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"from": "entity:17",
|
||||
"to": "ticker:BBCA",
|
||||
"percentage_bps": 115,
|
||||
"source": "ksei"
|
||||
},
|
||||
{
|
||||
"from": "entity:15",
|
||||
"to": "ticker:BBCA",
|
||||
"percentage_bps": 102,
|
||||
"source": "ksei"
|
||||
},
|
||||
{
|
||||
"from": "entity:14",
|
||||
"to": "ticker:BBCA",
|
||||
"percentage_bps": 5494,
|
||||
"source": "ksei"
|
||||
},
|
||||
{
|
||||
"from": "entity:16",
|
||||
"to": "ticker:BBCA",
|
||||
"percentage_bps": 107,
|
||||
"source": "ksei"
|
||||
}
|
||||
]
|
||||
}
|
||||
{"nodes":[{"id":"entity:14","label":"DWIMURIA INVESTAMA ANDALAN","node_type":"entity"},{"id":"entity:15","label":"CATURGUWIRATNA SUMAPALA","node_type":"entity"},{"id":"entity:16","label":"TRICIPTA MANDHALA GUMILANG","node_type":"entity"},{"id":"entity:17","label":"ANTHONI SALIM","node_type":"entity"},{"id":"ticker:BBCA","label":"BBCA","node_type":"ticker"}],"edges":[{"from":"entity:17","to":"ticker:BBCA","percentage_bps":115,"source":"ksei"},{"from":"entity:15","to":"ticker:BBCA","percentage_bps":102,"source":"ksei"},{"from":"entity:14","to":"ticker:BBCA","percentage_bps":5494,"source":"ksei"},{"from":"entity:16","to":"ticker:BBCA","percentage_bps":107,"source":"ksei"}]}
|
||||
--- stderr
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue