kwery-cli 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/README.md +87 -0
- package/dist/client.d.ts +6 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +41 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/account.d.ts +3 -0
- package/dist/commands/account.d.ts.map +1 -0
- package/dist/commands/account.js +34 -0
- package/dist/commands/account.js.map +1 -0
- package/dist/commands/binance.d.ts +3 -0
- package/dist/commands/binance.d.ts.map +1 -0
- package/dist/commands/binance.js +166 -0
- package/dist/commands/binance.js.map +1 -0
- package/dist/commands/candles.d.ts +3 -0
- package/dist/commands/candles.d.ts.map +1 -0
- package/dist/commands/candles.js +35 -0
- package/dist/commands/candles.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +35 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/hyperliquid.d.ts +3 -0
- package/dist/commands/hyperliquid.d.ts.map +1 -0
- package/dist/commands/hyperliquid.js +161 -0
- package/dist/commands/hyperliquid.js.map +1 -0
- package/dist/commands/kalshi.d.ts +3 -0
- package/dist/commands/kalshi.d.ts.map +1 -0
- package/dist/commands/kalshi.js +121 -0
- package/dist/commands/kalshi.js.map +1 -0
- package/dist/commands/limits.d.ts +3 -0
- package/dist/commands/limits.d.ts.map +1 -0
- package/dist/commands/limits.js +51 -0
- package/dist/commands/limits.js.map +1 -0
- package/dist/commands/markets.d.ts +3 -0
- package/dist/commands/markets.d.ts.map +1 -0
- package/dist/commands/markets.js +53 -0
- package/dist/commands/markets.js.map +1 -0
- package/dist/commands/polymarket.d.ts +3 -0
- package/dist/commands/polymarket.d.ts.map +1 -0
- package/dist/commands/polymarket.js +145 -0
- package/dist/commands/polymarket.js.map +1 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +15 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/output.d.ts +10 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +55 -0
- package/dist/output.js.map +1 -0
- package/package.json +72 -0
package/CHANGELOG.md
ADDED
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Kwery
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# kwery-cli
|
|
2
|
+
|
|
3
|
+
CLI for [Kwery](https://kwery.xyz) — unified crypto and prediction market data
|
|
4
|
+
across Polymarket, Kalshi, Hyperliquid, Binance, and Chainlink.
|
|
5
|
+
|
|
6
|
+
76 commands. Outputs JSON, CSV, or table. Pipes cleanly into Python/pandas.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install -g kwery-cli
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Setup
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
kwery login your_api_key_here
|
|
18
|
+
kwery limits
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Get your API key at [kwery.xyz/dashboard](https://kwery.xyz/dashboard).
|
|
22
|
+
|
|
23
|
+
## Quick Examples
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Polymarket candles — pipe to CSV
|
|
27
|
+
kwery polymarket candles BTC 1h --format csv > btc_polymarket.csv
|
|
28
|
+
|
|
29
|
+
# Kalshi probability history
|
|
30
|
+
kwery kalshi prices BTC --interval 1h --format json
|
|
31
|
+
|
|
32
|
+
# Binance funding rates
|
|
33
|
+
kwery binance funding BTC --start 2024-01-01T00:00:00Z --format csv
|
|
34
|
+
|
|
35
|
+
# Hyperliquid liquidations
|
|
36
|
+
kwery binance liquidations BTC --side long --min-usd 100000
|
|
37
|
+
|
|
38
|
+
# Check ingestion health
|
|
39
|
+
kwery status
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Commands
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
kwery login <key> Save API key
|
|
46
|
+
kwery limits Show plan, credits, features
|
|
47
|
+
kwery status Ingestion health
|
|
48
|
+
|
|
49
|
+
kwery sources Available data sources
|
|
50
|
+
kwery symbols Available symbols
|
|
51
|
+
|
|
52
|
+
kwery polymarket markets List Polymarket markets
|
|
53
|
+
kwery polymarket candles OHLCV candles
|
|
54
|
+
kwery polymarket trades Trade ticks
|
|
55
|
+
kwery polymarket snapshots Order book history
|
|
56
|
+
kwery polymarket snapshot-at Point-in-time order book
|
|
57
|
+
|
|
58
|
+
kwery kalshi markets List Kalshi markets
|
|
59
|
+
kwery kalshi prices Probability price history
|
|
60
|
+
kwery kalshi snapshots Snapshot history
|
|
61
|
+
|
|
62
|
+
kwery hyperliquid candles OHLCV with funding + OI
|
|
63
|
+
kwery hyperliquid funding Funding rate history
|
|
64
|
+
kwery hyperliquid oi Open interest history
|
|
65
|
+
kwery hyperliquid trades Trade ticks
|
|
66
|
+
|
|
67
|
+
kwery binance candles Spot + futures OHLCV
|
|
68
|
+
kwery binance flow Directional buy/sell pressure
|
|
69
|
+
kwery binance funding Futures funding rates
|
|
70
|
+
kwery binance oi Futures open interest
|
|
71
|
+
kwery binance liquidations Liquidation events
|
|
72
|
+
kwery binance ticker 1-second bid/ask (Pro+)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
All data commands support `--format json|csv|table`, `--limit`, `--start`, `--end`,
|
|
76
|
+
and `--after` for cursor pagination.
|
|
77
|
+
|
|
78
|
+
## Requirements
|
|
79
|
+
|
|
80
|
+
- Node.js 20+
|
|
81
|
+
- Kwery API key ([free tier available](https://kwery.xyz))
|
|
82
|
+
|
|
83
|
+
## Links
|
|
84
|
+
|
|
85
|
+
- [Full docs](https://kwery.xyz/docs/cli)
|
|
86
|
+
- [GitHub](https://github.com/KweryAPI/kwery-agents)
|
|
87
|
+
- [Pricing](https://kwery.xyz/pricing)
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,MAAM;IASrB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAM,GACjE,OAAO,CAAC,CAAC,CAAC;CAoCd"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const BASE_URL = process.env.KWERY_BASE_URL ?? "https://kwery-api.com";
|
|
2
|
+
export class KweryClient {
|
|
3
|
+
apiKey;
|
|
4
|
+
constructor(apiKey) {
|
|
5
|
+
const key = apiKey ?? process.env.KWERY_API_KEY;
|
|
6
|
+
if (!key)
|
|
7
|
+
throw new Error("KWERY_API_KEY is required. Set it as an environment variable.\n" +
|
|
8
|
+
"Get a key at https://kwery.xyz");
|
|
9
|
+
this.apiKey = key;
|
|
10
|
+
}
|
|
11
|
+
async get(path, params = {}) {
|
|
12
|
+
const url = new URL(path, BASE_URL);
|
|
13
|
+
Object.entries(params).forEach(([k, v]) => {
|
|
14
|
+
if (v !== undefined) {
|
|
15
|
+
url.searchParams.set(k, String(v));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
const res = await fetch(url.toString(), {
|
|
19
|
+
headers: {
|
|
20
|
+
"X-API-Key": this.apiKey,
|
|
21
|
+
"User-Agent": "kwery-cli/0.1.0",
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
if (!res.ok) {
|
|
25
|
+
const body = await res.json().catch(() => ({}));
|
|
26
|
+
const message = body?.detail || body?.message || res.statusText;
|
|
27
|
+
if (res.status === 403) {
|
|
28
|
+
throw new Error(`Plan upgrade required: ${message}. Upgrade at https://kwery.xyz/pricing`);
|
|
29
|
+
}
|
|
30
|
+
if (res.status === 429) {
|
|
31
|
+
throw new Error("Rate limit exceeded. Slow down requests or upgrade your plan.");
|
|
32
|
+
}
|
|
33
|
+
if (res.status === 401) {
|
|
34
|
+
throw new Error("Invalid or missing API key. Check your KWERY_API_KEY.");
|
|
35
|
+
}
|
|
36
|
+
throw new Error(`Kwery API error ${res.status}: ${message}`);
|
|
37
|
+
}
|
|
38
|
+
return res.json();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,uBAAuB,CAAC;AAEvE,MAAM,OAAO,WAAW;IACd,MAAM,CAAS;IAEvB,YAAY,MAAe;QACzB,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAChD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CACvB,iEAAiE;gBACjE,gCAAgC,CACjC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,SAAgE,EAAE;QAElE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEpC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtC,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,YAAY,EAAE,iBAAiB;aAChC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,OAAO,GAAI,IAAY,EAAE,MAAM,IAAK,IAAY,EAAE,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC;YAElF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,0BAA0B,OAAO,wCAAwC,CAC1E,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAO,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/commands/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+BtD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { KweryClient } from "../client.js";
|
|
2
|
+
import { printOutput, printError } from "../output.js";
|
|
3
|
+
export function accountCommands(program) {
|
|
4
|
+
program
|
|
5
|
+
.command("login")
|
|
6
|
+
.description("Save your Kwery API key to the local config")
|
|
7
|
+
.argument("<api-key>", "Your API key from https://kwery.xyz/dashboard")
|
|
8
|
+
.action((apiKey) => {
|
|
9
|
+
process.env.KWERY_API_KEY = apiKey;
|
|
10
|
+
console.log("API key saved. Set KWERY_API_KEY in your environment or .env file.");
|
|
11
|
+
});
|
|
12
|
+
program
|
|
13
|
+
.command("logout")
|
|
14
|
+
.description("Remove the saved Kwery API key from the local config")
|
|
15
|
+
.action(() => {
|
|
16
|
+
console.log("Logged out. Unset KWERY_API_KEY from your environment.");
|
|
17
|
+
});
|
|
18
|
+
program
|
|
19
|
+
.command("symbols")
|
|
20
|
+
.description("List all supported symbols across data sources")
|
|
21
|
+
.option("-f, --format <format>", "Output format: json | table | csv", "json")
|
|
22
|
+
.action(async (opts) => {
|
|
23
|
+
try {
|
|
24
|
+
const client = new KweryClient();
|
|
25
|
+
const data = await client.get("/v1/symbols");
|
|
26
|
+
printOutput(data, opts.format);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
printError(err.message);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/commands/account.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AAE1E,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,QAAQ,CAAC,WAAW,EAAE,+CAA+C,CAAC;SACtE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,CAAC;SAC5E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC7C,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAsB,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binance.d.ts","sourceRoot":"","sources":["../../src/commands/binance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkKrD"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { KweryClient } from "../client.js";
|
|
2
|
+
import { printOutput, printError } from "../output.js";
|
|
3
|
+
export function binanceCommand(program) {
|
|
4
|
+
const bn = program
|
|
5
|
+
.command("binance")
|
|
6
|
+
.description("Binance spot and futures market data");
|
|
7
|
+
bn.command("candles <symbol> <interval>")
|
|
8
|
+
.description("Fetch OHLCV candle history from Binance spot or futures")
|
|
9
|
+
.option("--source <source>", "binance | binance_futures", "binance")
|
|
10
|
+
.option("--start <datetime>", "ISO 8601 start time")
|
|
11
|
+
.option("--end <datetime>", "ISO 8601 end time")
|
|
12
|
+
.option("-l, --limit <n>", "Max rows to return", "500")
|
|
13
|
+
.option("--after <cursor>", "Pagination cursor")
|
|
14
|
+
.option("-f, --format <format>", "Output format: json | table | csv", "json")
|
|
15
|
+
.action(async (symbol, interval, opts) => {
|
|
16
|
+
try {
|
|
17
|
+
const client = new KweryClient();
|
|
18
|
+
const data = await client.get("/v1/candles", {
|
|
19
|
+
symbol,
|
|
20
|
+
interval,
|
|
21
|
+
source: opts.source,
|
|
22
|
+
start: opts.start,
|
|
23
|
+
end: opts.end,
|
|
24
|
+
limit: Number(opts.limit),
|
|
25
|
+
after: opts.after,
|
|
26
|
+
});
|
|
27
|
+
printOutput(data, opts.format);
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
printError(err.message);
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
bn.command("ticker <symbol>")
|
|
35
|
+
.description("Fetch 1-second best bid/ask ticker snapshots. Requires Pro plan.")
|
|
36
|
+
.option("--source <source>", "binance | binance_futures", "binance")
|
|
37
|
+
.option("--start <datetime>", "ISO 8601 start time")
|
|
38
|
+
.option("--end <datetime>", "ISO 8601 end time")
|
|
39
|
+
.option("-l, --limit <n>", "Max rows to return", "60")
|
|
40
|
+
.option("--after <cursor>", "Pagination cursor")
|
|
41
|
+
.option("-f, --format <format>", "Output format: json | table | csv", "json")
|
|
42
|
+
.action(async (symbol, opts) => {
|
|
43
|
+
try {
|
|
44
|
+
const client = new KweryClient();
|
|
45
|
+
const data = await client.get("/v1/ticker", {
|
|
46
|
+
symbol,
|
|
47
|
+
source: opts.source,
|
|
48
|
+
start: opts.start,
|
|
49
|
+
end: opts.end,
|
|
50
|
+
limit: Number(opts.limit),
|
|
51
|
+
after: opts.after,
|
|
52
|
+
});
|
|
53
|
+
printOutput(data, opts.format);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
printError(err.message);
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
bn.command("flow <symbol> <interval>")
|
|
61
|
+
.description("Fetch time-bucketed directional buy/sell pressure from Binance spot")
|
|
62
|
+
.option("--start <datetime>", "ISO 8601 start time")
|
|
63
|
+
.option("--end <datetime>", "ISO 8601 end time")
|
|
64
|
+
.option("-l, --limit <n>", "Max rows to return", "500")
|
|
65
|
+
.option("--after <cursor>", "Pagination cursor")
|
|
66
|
+
.option("-f, --format <format>", "Output format: json | table | csv", "json")
|
|
67
|
+
.action(async (symbol, interval, opts) => {
|
|
68
|
+
try {
|
|
69
|
+
const client = new KweryClient();
|
|
70
|
+
const data = await client.get("/v1/flow", {
|
|
71
|
+
symbol,
|
|
72
|
+
interval,
|
|
73
|
+
start: opts.start,
|
|
74
|
+
end: opts.end,
|
|
75
|
+
limit: Number(opts.limit),
|
|
76
|
+
after: opts.after,
|
|
77
|
+
});
|
|
78
|
+
printOutput(data, opts.format);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
printError(err.message);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
bn.command("funding <symbol>")
|
|
86
|
+
.description("Fetch perpetual funding rate history from Binance futures")
|
|
87
|
+
.option("--start <datetime>", "ISO 8601 start time")
|
|
88
|
+
.option("--end <datetime>", "ISO 8601 end time")
|
|
89
|
+
.option("-l, --limit <n>", "Max rows to return", "500")
|
|
90
|
+
.option("--after <cursor>", "Pagination cursor")
|
|
91
|
+
.option("-f, --format <format>", "Output format: json | table | csv", "json")
|
|
92
|
+
.action(async (symbol, opts) => {
|
|
93
|
+
try {
|
|
94
|
+
const client = new KweryClient();
|
|
95
|
+
const data = await client.get("/v1/funding", {
|
|
96
|
+
source: "binance_futures",
|
|
97
|
+
symbol,
|
|
98
|
+
start: opts.start,
|
|
99
|
+
end: opts.end,
|
|
100
|
+
limit: Number(opts.limit),
|
|
101
|
+
after: opts.after,
|
|
102
|
+
});
|
|
103
|
+
printOutput(data, opts.format);
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
printError(err.message);
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
bn.command("oi <symbol>")
|
|
111
|
+
.description("Fetch open interest history from Binance futures")
|
|
112
|
+
.option("-i, --interval <interval>", "Interval", "1h")
|
|
113
|
+
.option("--start <datetime>", "ISO 8601 start time")
|
|
114
|
+
.option("--end <datetime>", "ISO 8601 end time")
|
|
115
|
+
.option("-l, --limit <n>", "Max rows to return", "500")
|
|
116
|
+
.option("--after <cursor>", "Pagination cursor")
|
|
117
|
+
.option("-f, --format <format>", "Output format: json | table | csv", "json")
|
|
118
|
+
.action(async (symbol, opts) => {
|
|
119
|
+
try {
|
|
120
|
+
const client = new KweryClient();
|
|
121
|
+
const data = await client.get("/v1/open-interest", {
|
|
122
|
+
source: "binance_futures",
|
|
123
|
+
symbol,
|
|
124
|
+
interval: opts.interval,
|
|
125
|
+
start: opts.start,
|
|
126
|
+
end: opts.end,
|
|
127
|
+
limit: Number(opts.limit),
|
|
128
|
+
after: opts.after,
|
|
129
|
+
});
|
|
130
|
+
printOutput(data, opts.format);
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
printError(err.message);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
bn.command("liquidations <symbol>")
|
|
138
|
+
.description("Fetch Binance perpetual liquidation events")
|
|
139
|
+
.option("--side <side>", "long | short")
|
|
140
|
+
.option("--min-usd <n>", "Minimum liquidation size in USD")
|
|
141
|
+
.option("--start <datetime>", "ISO 8601 start time")
|
|
142
|
+
.option("--end <datetime>", "ISO 8601 end time")
|
|
143
|
+
.option("-l, --limit <n>", "Max rows to return", "500")
|
|
144
|
+
.option("--after <cursor>", "Pagination cursor")
|
|
145
|
+
.option("-f, --format <format>", "Output format: json | table | csv", "json")
|
|
146
|
+
.action(async (symbol, opts) => {
|
|
147
|
+
try {
|
|
148
|
+
const client = new KweryClient();
|
|
149
|
+
const data = await client.get("/v1/liquidations", {
|
|
150
|
+
symbol,
|
|
151
|
+
side: opts.side,
|
|
152
|
+
min_usd: opts.minUsd ? Number(opts.minUsd) : undefined,
|
|
153
|
+
start: opts.start,
|
|
154
|
+
end: opts.end,
|
|
155
|
+
limit: Number(opts.limit),
|
|
156
|
+
after: opts.after,
|
|
157
|
+
});
|
|
158
|
+
printOutput(data, opts.format);
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
printError(err.message);
|
|
162
|
+
process.exit(1);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=binance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binance.js","sourceRoot":"","sources":["../../src/commands/binance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candles.d.ts","sourceRoot":"","sources":["../../src/commands/candles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8BrD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { KweryClient } from "../client.js";
|
|
2
|
+
import { printOutput, printError } from "../output.js";
|
|
3
|
+
export function candlesCommand(program) {
|
|
4
|
+
program
|
|
5
|
+
.command("candles")
|
|
6
|
+
.description("Fetch OHLCV candles from Binance, Chainlink, or Polymarket")
|
|
7
|
+
.requiredOption("-s, --symbol <symbol>", "Symbol: BTC | ETH | SOL | XRP")
|
|
8
|
+
.requiredOption("-i, --interval <interval>", "Interval: 1s | 5m | 15m | 1h | 4h | 1d | 24h")
|
|
9
|
+
.option("--source <source>", "Data source", "binance")
|
|
10
|
+
.option("--start <datetime>", "ISO 8601 start time")
|
|
11
|
+
.option("--end <datetime>", "ISO 8601 end time")
|
|
12
|
+
.option("-l, --limit <n>", "Max rows to return", "500")
|
|
13
|
+
.option("--after <cursor>", "Pagination cursor")
|
|
14
|
+
.option("-f, --format <format>", "Output format: json | table | csv", "json")
|
|
15
|
+
.action(async (opts) => {
|
|
16
|
+
try {
|
|
17
|
+
const client = new KweryClient();
|
|
18
|
+
const data = await client.get("/v1/candles", {
|
|
19
|
+
symbol: opts.symbol,
|
|
20
|
+
interval: opts.interval,
|
|
21
|
+
source: opts.source,
|
|
22
|
+
start: opts.start,
|
|
23
|
+
end: opts.end,
|
|
24
|
+
limit: Number(opts.limit),
|
|
25
|
+
after: opts.after,
|
|
26
|
+
});
|
|
27
|
+
printOutput(data, opts.format);
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
printError(err.message);
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=candles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candles.js","sourceRoot":"","sources":["../../src/commands/candles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AAE1E,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,4DAA4D,CAAC;SACzE,cAAc,CAAC,uBAAuB,EAAE,+BAA+B,CAAC;SACxE,cAAc,CAAC,2BAA2B,EAAE,8CAA8C,CAAC;SAC3F,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,SAAS,CAAC;SACrD,MAAM,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;SACnD,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC/C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,KAAK,CAAC;SACtD,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC/C,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,CAAC;SAC5E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE;gBAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAsB,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoCpD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { config } from "../config.js";
|
|
2
|
+
export function configCommand(program) {
|
|
3
|
+
const cfg = program
|
|
4
|
+
.command("config")
|
|
5
|
+
.description("Manage Kwery configuration");
|
|
6
|
+
cfg.command("set <key> <value>")
|
|
7
|
+
.description("Set a configuration value")
|
|
8
|
+
.action((key, value) => {
|
|
9
|
+
config.set(key, value);
|
|
10
|
+
console.log(`Set ${key} = ${value}`);
|
|
11
|
+
});
|
|
12
|
+
cfg.command("get <key>")
|
|
13
|
+
.description("Get a configuration value")
|
|
14
|
+
.action((key) => {
|
|
15
|
+
const value = config.get(key);
|
|
16
|
+
if (value === undefined) {
|
|
17
|
+
console.error(`Key '${key}' not found`);
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
console.log(String(value));
|
|
21
|
+
});
|
|
22
|
+
cfg.command("list")
|
|
23
|
+
.description("List all configuration values")
|
|
24
|
+
.action(() => {
|
|
25
|
+
const all = config.store;
|
|
26
|
+
console.log(JSON.stringify(all, null, 2));
|
|
27
|
+
});
|
|
28
|
+
cfg.command("reset")
|
|
29
|
+
.description("Reset all configuration to defaults")
|
|
30
|
+
.action(() => {
|
|
31
|
+
config.clear();
|
|
32
|
+
console.log("Configuration reset.");
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE7C,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC;SAC7B,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,CAAC,GAAG,CAAC,GAAU,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEL,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;SACrB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAU,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEL,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;SAChB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEL,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperliquid.d.ts","sourceRoot":"","sources":["../../src/commands/hyperliquid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6JzD"}
|