@insightsentry/mcp 1.4.1 → 1.4.3
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/bin/insight.js +1 -0
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +3 -8
- package/dist/api-client.js.map +1 -1
- package/dist/arg-coercion.d.ts +7 -0
- package/dist/arg-coercion.d.ts.map +1 -0
- package/dist/arg-coercion.js +123 -0
- package/dist/arg-coercion.js.map +1 -0
- package/dist/chart.d.ts.map +1 -1
- package/dist/chart.js +3 -3
- package/dist/chart.js.map +1 -1
- package/dist/cli.d.ts +5 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +236 -109
- package/dist/cli.js.map +1 -1
- package/dist/config.js +4 -4
- package/dist/config.js.map +1 -1
- package/dist/history.d.ts +63 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +625 -0
- package/dist/history.js.map +1 -0
- package/dist/index.js +129 -51
- package/dist/index.js.map +1 -1
- package/dist/resources.d.ts.map +1 -1
- package/dist/resources.js +1 -1
- package/dist/resources.js.map +1 -1
- package/dist/response-storage.d.ts +15 -0
- package/dist/response-storage.d.ts.map +1 -0
- package/dist/response-storage.js +80 -0
- package/dist/response-storage.js.map +1 -0
- package/dist/tool-definitions.d.ts.map +1 -1
- package/dist/tool-definitions.js +7 -3
- package/dist/tool-definitions.js.map +1 -1
- package/dist/tool-runner.d.ts +10 -0
- package/dist/tool-runner.d.ts.map +1 -0
- package/dist/tool-runner.js +21 -0
- package/dist/tool-runner.js.map +1 -0
- package/package.json +8 -1
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { stdin as input, stdout as output } from "node:process";
|
|
2
|
+
import { createInterface } from "node:readline/promises";
|
|
2
3
|
import { ApiClient } from "./api-client.js";
|
|
4
|
+
import { coerceArgs, getZodEnumValues, getZodTypeName, isOptionalZodType } from "./arg-coercion.js";
|
|
5
|
+
import { deleteConfig, getConfigLocation, resolveApiKey, saveConfig } from "./config.js";
|
|
6
|
+
import { downloadHistory } from "./history.js";
|
|
3
7
|
import { toolDefinitions } from "./tool-definitions.js";
|
|
4
|
-
import {
|
|
8
|
+
import { runApiTool } from "./tool-runner.js";
|
|
9
|
+
export { coerceArgs } from "./arg-coercion.js";
|
|
10
|
+
const DOWNLOAD_HISTORY_COMMAND = "download_history";
|
|
5
11
|
export function parseArgs(argv) {
|
|
6
12
|
const args = {};
|
|
7
13
|
let toolName = null;
|
|
@@ -37,56 +43,6 @@ export function parseArgs(argv) {
|
|
|
37
43
|
}
|
|
38
44
|
return { toolName, args, help };
|
|
39
45
|
}
|
|
40
|
-
export function coerceArgs(args, schema) {
|
|
41
|
-
const result = {};
|
|
42
|
-
for (const [key, value] of Object.entries(args)) {
|
|
43
|
-
const zodType = schema[key];
|
|
44
|
-
if (!zodType) {
|
|
45
|
-
result[key] = value;
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
const typeName = getZodTypeName(zodType);
|
|
49
|
-
if (typeName === "number") {
|
|
50
|
-
result[key] = Number(value);
|
|
51
|
-
}
|
|
52
|
-
else if (typeName === "boolean") {
|
|
53
|
-
result[key] = value === "true";
|
|
54
|
-
}
|
|
55
|
-
else if (typeName === "array") {
|
|
56
|
-
if (value.startsWith("[")) {
|
|
57
|
-
try {
|
|
58
|
-
result[key] = JSON.parse(value);
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
catch { /* fall through to comma split */ }
|
|
62
|
-
}
|
|
63
|
-
result[key] = value.split(",").map((s) => s.trim());
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
result[key] = value;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return result;
|
|
70
|
-
}
|
|
71
|
-
/** Unwrap optional/default wrappers and return the base Zod def (works across Zod v3 and v4) */
|
|
72
|
-
function resolveZodDef(t) {
|
|
73
|
-
const def = t._zod?.def ?? t._def ?? {};
|
|
74
|
-
const type = def.type ?? def.typeName ?? "";
|
|
75
|
-
if ((type === "optional" || type === "default") && def.innerType) {
|
|
76
|
-
return resolveZodDef(def.innerType);
|
|
77
|
-
}
|
|
78
|
-
return { type, def };
|
|
79
|
-
}
|
|
80
|
-
function getZodTypeName(t) {
|
|
81
|
-
return resolveZodDef(t).type;
|
|
82
|
-
}
|
|
83
|
-
function getZodEnumValues(t) {
|
|
84
|
-
const { type, def } = resolveZodDef(t);
|
|
85
|
-
if (type === "enum" && def.entries) {
|
|
86
|
-
return Object.values(def.entries);
|
|
87
|
-
}
|
|
88
|
-
return [];
|
|
89
|
-
}
|
|
90
46
|
export function buildHelp() {
|
|
91
47
|
const lines = [
|
|
92
48
|
"insight — CLI for the InsightSentry financial data API",
|
|
@@ -99,13 +55,15 @@ export function buildHelp() {
|
|
|
99
55
|
const desc = tool.description.split(".")[0]; // first sentence
|
|
100
56
|
lines.push(` ${tool.name.padEnd(32)} ${desc}`);
|
|
101
57
|
}
|
|
58
|
+
lines.push(` ${DOWNLOAD_HISTORY_COMMAND.padEnd(32)} Download historical ranges to JSON/CSV files with concurrency and progress`);
|
|
102
59
|
lines.push("");
|
|
103
60
|
lines.push("Quick Start:");
|
|
104
61
|
lines.push(' insight search_symbols --query "apple"');
|
|
105
62
|
lines.push(' insight get_quotes --codes "NASDAQ:AAPL,NASDAQ:MSFT"');
|
|
106
63
|
lines.push(' insight get_symbol_series --symbol "NASDAQ:AAPL" --bar_type day --dp 30');
|
|
64
|
+
lines.push(' insight download_history --symbol "NASDAQ:AAPL" --bar_type minute --from 2024-01 --to 2024-03 --output_dir ./data --format csv');
|
|
107
65
|
lines.push(' insight screen_stocks --fields "close,volume,market_cap" --exchanges "NYSE,NASDAQ" --sortBy market_cap --sortOrder desc');
|
|
108
|
-
lines.push(
|
|
66
|
+
lines.push(" insight get_earnings --c US");
|
|
109
67
|
lines.push(' insight list_options --code "NASDAQ:AAPL" --type call --range 10');
|
|
110
68
|
lines.push("");
|
|
111
69
|
lines.push("All tools support --filter <jsonata> to transform the response.");
|
|
@@ -119,6 +77,36 @@ export function buildHelp() {
|
|
|
119
77
|
lines.push(" Get your API key from https://insightsentry.com/dashboard");
|
|
120
78
|
return lines.join("\n");
|
|
121
79
|
}
|
|
80
|
+
export function buildDownloadHistoryHelp() {
|
|
81
|
+
return [
|
|
82
|
+
`insight ${DOWNLOAD_HISTORY_COMMAND}`,
|
|
83
|
+
"",
|
|
84
|
+
"Download historical data for a date range and save files locally. second/minute/hour use /history. day/week/month use /series. Continuous futures ending in 1! or 2! are expanded through the contracts endpoint into specific contract codes for second/minute/hour.",
|
|
85
|
+
"",
|
|
86
|
+
"Parameters:",
|
|
87
|
+
" --symbol string Required. Symbol code, e.g. NASDAQ:AAPL or CME_MINI:NQ1!",
|
|
88
|
+
" --bar_type enum(second|minute|hour|day|week|month) Required. second uses daily /history requests; minute/hour use monthly /history requests; day/week/month use /series.",
|
|
89
|
+
" --from string Required. Start date, YYYY-MM or YYYY-MM-DD.",
|
|
90
|
+
" --to string Required. End date, YYYY-MM or YYYY-MM-DD.",
|
|
91
|
+
" --output_dir string Required. Directory where files will be written.",
|
|
92
|
+
" --format enum(json|csv|both) [optional] Default: csv.",
|
|
93
|
+
" --merge boolean [optional] Write one merged CSV when format is csv or both. Default: true.",
|
|
94
|
+
" --keep_chunks boolean [optional] Keep per-request CSV chunk files after merge. Default: false.",
|
|
95
|
+
" --concurrency number [optional] Concurrent history requests, 1-10. Default: 5.",
|
|
96
|
+
" --bar_interval number [optional] Bar interval, 1-1440. Default: 1.",
|
|
97
|
+
" --contract_lookback_months number [optional] Futures contract months ending at settlement. Default: 6.",
|
|
98
|
+
" --overwrite boolean [optional] Replace existing output files. Default: false.",
|
|
99
|
+
" --extended boolean [optional] Pass through to the request.",
|
|
100
|
+
" --dadj boolean [optional] Pass through to the request.",
|
|
101
|
+
" --badj boolean [optional] Pass through to the request.",
|
|
102
|
+
" --settlement boolean [optional] Pass through to the request.",
|
|
103
|
+
"",
|
|
104
|
+
"Examples:",
|
|
105
|
+
' insight download_history --symbol "NASDAQ:AAPL" --bar_type minute --from 2024-01 --to 2024-06 --output_dir ./history --format csv --merge',
|
|
106
|
+
' insight download_history --symbol "NASDAQ:AAPL" --bar_type second --from 2024-06-01 --to 2024-06-14 --output_dir ./history --concurrency 5',
|
|
107
|
+
' insight download_history --symbol "CME_MINI:NQ1!" --bar_type hour --from 2025-01 --to 2025-12 --output_dir ./futures --format both',
|
|
108
|
+
].join("\n");
|
|
109
|
+
}
|
|
122
110
|
const toolExamples = {
|
|
123
111
|
search_symbols: [
|
|
124
112
|
'insight search_symbols --query "tesla"',
|
|
@@ -139,18 +127,14 @@ const toolExamples = {
|
|
|
139
127
|
'insight get_symbol_history --symbol "NASDAQ:AAPL" --bar_type minute --start_date "2025-01"',
|
|
140
128
|
'insight get_symbol_history --symbol "NASDAQ:AAPL" --bar_type hour --start_date "2025-06" --bar_interval 4',
|
|
141
129
|
],
|
|
142
|
-
get_symbol_contracts: [
|
|
143
|
-
'insight get_symbol_contracts --symbol "CME_MINI:NQ1!"',
|
|
144
|
-
],
|
|
130
|
+
get_symbol_contracts: ['insight get_symbol_contracts --symbol "CME_MINI:NQ1!"'],
|
|
145
131
|
get_symbol_info: [
|
|
146
132
|
'insight get_symbol_info --symbol "NASDAQ:AAPL"',
|
|
147
133
|
`insight get_symbol_info --symbol "NASDAQ:AAPL" --filter '{ "sector": sector, "market_cap": market_cap, "pe": price_earnings_ttm }'`,
|
|
148
134
|
],
|
|
149
|
-
get_symbol_session: [
|
|
150
|
-
'insight get_symbol_session --symbol "NASDAQ:AAPL"',
|
|
151
|
-
],
|
|
135
|
+
get_symbol_session: ['insight get_symbol_session --symbol "NASDAQ:AAPL"'],
|
|
152
136
|
get_symbol_fundamentals: [
|
|
153
|
-
|
|
137
|
+
"insight get_symbol_fundamentals --symbol \"NASDAQ:AAPL\" --filter '$distinct(data.category)'",
|
|
154
138
|
`insight get_symbol_fundamentals --symbol "NASDAQ:AAPL" --filter 'data[category="Valuation"].{ "id": id, "name": name, "value": value }'`,
|
|
155
139
|
],
|
|
156
140
|
get_fundamentals_series: [
|
|
@@ -173,21 +157,12 @@ const toolExamples = {
|
|
|
173
157
|
'insight get_options_strike --code "NASDAQ:AAPL" --range 5 --sortBy delta --sort desc',
|
|
174
158
|
],
|
|
175
159
|
get_dividends: [
|
|
176
|
-
|
|
160
|
+
"insight get_dividends --c US",
|
|
177
161
|
'insight get_dividends --code "NASDAQ:AAPL" --w 4',
|
|
178
162
|
],
|
|
179
|
-
get_earnings: [
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
],
|
|
183
|
-
get_ipos: [
|
|
184
|
-
'insight get_ipos --c US',
|
|
185
|
-
'insight get_ipos --w 4',
|
|
186
|
-
],
|
|
187
|
-
get_events: [
|
|
188
|
-
'insight get_events --c US',
|
|
189
|
-
'insight get_events --w 2',
|
|
190
|
-
],
|
|
163
|
+
get_earnings: ["insight get_earnings --c US", 'insight get_earnings --code "NASDAQ:AAPL"'],
|
|
164
|
+
get_ipos: ["insight get_ipos --c US", "insight get_ipos --w 4"],
|
|
165
|
+
get_events: ["insight get_events --c US", "insight get_events --w 2"],
|
|
191
166
|
get_newsfeed: [
|
|
192
167
|
'insight get_newsfeed --keywords "tesla,apple" --limit 10',
|
|
193
168
|
`insight get_newsfeed --keywords "bitcoin" --filter 'data[[0..4]].{ "title": title, "published_at": published_at }'`,
|
|
@@ -206,25 +181,17 @@ const toolExamples = {
|
|
|
206
181
|
'insight screen_crypto --fields "close,volume,market_cap" --sortBy market_cap --sortOrder desc',
|
|
207
182
|
],
|
|
208
183
|
get_stock_screener_params: [
|
|
209
|
-
|
|
184
|
+
"insight get_stock_screener_params",
|
|
210
185
|
`insight get_stock_screener_params --filter 'available_fields[$contains($, "volume")]'`,
|
|
211
186
|
],
|
|
212
|
-
get_etf_screener_params: [
|
|
213
|
-
|
|
214
|
-
],
|
|
215
|
-
get_bond_screener_params: [
|
|
216
|
-
'insight get_bond_screener_params',
|
|
217
|
-
],
|
|
218
|
-
get_crypto_screener_params: [
|
|
219
|
-
'insight get_crypto_screener_params',
|
|
220
|
-
],
|
|
187
|
+
get_etf_screener_params: ["insight get_etf_screener_params"],
|
|
188
|
+
get_bond_screener_params: ["insight get_bond_screener_params"],
|
|
189
|
+
get_crypto_screener_params: ["insight get_crypto_screener_params"],
|
|
221
190
|
get_documents: [
|
|
222
191
|
'insight get_documents --code "NASDAQ:AAPL"',
|
|
223
192
|
`insight get_documents --code "NASDAQ:AAPL" --filter '$[form="10-K" or form="10-Q"].{ "id": id, "title": title, "form": form }'`,
|
|
224
193
|
],
|
|
225
|
-
get_document: [
|
|
226
|
-
'insight get_document --id "transcripts:2133670" --code "NASDAQ:AAPL" --text',
|
|
227
|
-
],
|
|
194
|
+
get_document: ['insight get_document --id "transcripts:2133670" --code "NASDAQ:AAPL" --text'],
|
|
228
195
|
};
|
|
229
196
|
export function buildToolHelp(tool) {
|
|
230
197
|
const lines = [
|
|
@@ -235,13 +202,16 @@ export function buildToolHelp(tool) {
|
|
|
235
202
|
"Parameters:",
|
|
236
203
|
];
|
|
237
204
|
for (const [key, zodType] of Object.entries(tool.schema)) {
|
|
238
|
-
const optional = zodType
|
|
205
|
+
const optional = isOptionalZodType(zodType) ? " [optional]" : "";
|
|
239
206
|
const desc = getZodDescription(zodType);
|
|
240
207
|
const typeName = formatTypeName(zodType);
|
|
241
208
|
lines.push(` --${key.padEnd(24)} ${typeName}${optional} ${desc}`);
|
|
242
209
|
}
|
|
243
210
|
// filter is always available
|
|
244
211
|
lines.push(` --${"filter".padEnd(24)} string [optional] JSONata expression to transform the response`);
|
|
212
|
+
lines.push(` --${"store".padEnd(24)} enum(none|json|csv) [optional] Store the response instead of printing it. Default is none. csv is only for get_symbol_series.`);
|
|
213
|
+
lines.push(` --${"output_file".padEnd(24)} string [optional] File path for stored response.`);
|
|
214
|
+
lines.push(` --${"output_dir".padEnd(24)} string [optional] Directory for stored response when output_file is not set.`);
|
|
245
215
|
const examples = toolExamples[tool.name];
|
|
246
216
|
if (examples?.length) {
|
|
247
217
|
lines.push("");
|
|
@@ -268,6 +238,7 @@ function formatTypeName(t) {
|
|
|
268
238
|
}
|
|
269
239
|
return name || "string";
|
|
270
240
|
}
|
|
241
|
+
const REQUIRED_DOWNLOAD_HISTORY_ARGS = ["symbol", "bar_type", "from", "to", "output_dir"];
|
|
271
242
|
export async function runCli(argv, io) {
|
|
272
243
|
const { toolName, args, help } = parseArgs(argv);
|
|
273
244
|
if (!toolName) {
|
|
@@ -277,7 +248,7 @@ export async function runCli(argv, io) {
|
|
|
277
248
|
}
|
|
278
249
|
// Built-in commands
|
|
279
250
|
if (toolName === "login") {
|
|
280
|
-
const key = args
|
|
251
|
+
const key = await resolveLoginKey(args, io);
|
|
281
252
|
if (!key) {
|
|
282
253
|
io.write("Usage: insight login --key <your-api-key>\n\nGet your API key from https://insightsentry.com/dashboard");
|
|
283
254
|
io.exit(1);
|
|
@@ -294,6 +265,41 @@ export async function runCli(argv, io) {
|
|
|
294
265
|
io.exit(0);
|
|
295
266
|
return;
|
|
296
267
|
}
|
|
268
|
+
if (toolName === DOWNLOAD_HISTORY_COMMAND) {
|
|
269
|
+
if (help) {
|
|
270
|
+
io.write(buildDownloadHistoryHelp());
|
|
271
|
+
io.exit(0);
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
const request = resolveRequest(io);
|
|
275
|
+
if (!request) {
|
|
276
|
+
io.write("Error: No API key found.\n\nSet it with: insight login --key <your-api-key>\nOr export: export INSIGHTSENTRY_API_KEY=your-api-key\n\nGet your API key from https://insightsentry.com/dashboard");
|
|
277
|
+
io.exit(1);
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
try {
|
|
281
|
+
const historyArgs = await resolveDownloadHistoryArgs(args, io);
|
|
282
|
+
if (!historyArgs) {
|
|
283
|
+
io.write(`Error: Missing required options for download_history: ${missingDownloadHistoryArgs(args).join(", ")}\n\nRun: insight download_history --help`);
|
|
284
|
+
io.exit(1);
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
const result = await downloadHistory(parseDownloadHistoryArgs(historyArgs), {
|
|
288
|
+
request,
|
|
289
|
+
onProgress: (event) => {
|
|
290
|
+
const target = event.files.length ? ` -> ${event.files.join(", ")}` : "";
|
|
291
|
+
const error = event.error ? ` (${event.error})` : "";
|
|
292
|
+
io.progress?.(`[${event.completed}/${event.total}] ${event.status} ${event.symbol} ${event.start_date}${target}${error}`);
|
|
293
|
+
},
|
|
294
|
+
});
|
|
295
|
+
io.write(JSON.stringify(result, null, 2));
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
io.write(`Error: ${error.message}\n`);
|
|
299
|
+
io.exit(1);
|
|
300
|
+
}
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
297
303
|
// Find tool
|
|
298
304
|
const tool = toolDefinitions.find((t) => t.name === toolName);
|
|
299
305
|
if (!tool) {
|
|
@@ -308,28 +314,27 @@ export async function runCli(argv, io) {
|
|
|
308
314
|
return;
|
|
309
315
|
}
|
|
310
316
|
// Resolve request function
|
|
311
|
-
|
|
312
|
-
if (
|
|
313
|
-
|
|
317
|
+
const request = resolveRequest(io);
|
|
318
|
+
if (!request) {
|
|
319
|
+
io.write("Error: No API key found.\n\nSet it with: insight login --key <your-api-key>\nOr export: export INSIGHTSENTRY_API_KEY=your-api-key\n\nGet your API key from https://insightsentry.com/dashboard");
|
|
320
|
+
io.exit(1);
|
|
321
|
+
return;
|
|
314
322
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
return;
|
|
321
|
-
}
|
|
322
|
-
const client = new ApiClient(apiKey);
|
|
323
|
-
request = (method, path, params) => client.request(method, path, params);
|
|
323
|
+
const resolvedArgs = await resolveToolArgs(args, tool, io);
|
|
324
|
+
if (!resolvedArgs) {
|
|
325
|
+
io.write(`Error: Missing required options for ${tool.name}: ${missingToolArgs(args, tool).join(", ")}\n\nRun: insight ${tool.name} --help`);
|
|
326
|
+
io.exit(1);
|
|
327
|
+
return;
|
|
324
328
|
}
|
|
325
|
-
const { filter: filterExpr, ...apiArgs } = coerceArgs(args, tool.schema);
|
|
326
329
|
try {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
330
|
+
const outputValue = await runApiTool({
|
|
331
|
+
toolName: tool.name,
|
|
332
|
+
method: tool.method,
|
|
333
|
+
pathTemplate: tool.pathTemplate,
|
|
334
|
+
args: coerceArgs(resolvedArgs, tool.schema),
|
|
335
|
+
request,
|
|
336
|
+
});
|
|
337
|
+
const output = typeof outputValue === "string" ? outputValue : JSON.stringify(outputValue, null, 2);
|
|
333
338
|
io.write(output);
|
|
334
339
|
}
|
|
335
340
|
catch (error) {
|
|
@@ -337,10 +342,132 @@ export async function runCli(argv, io) {
|
|
|
337
342
|
io.exit(1);
|
|
338
343
|
}
|
|
339
344
|
}
|
|
345
|
+
async function resolveLoginKey(args, io) {
|
|
346
|
+
if (args.key?.trim())
|
|
347
|
+
return args.key.trim();
|
|
348
|
+
if (io.isInteractive !== true || !io.prompt)
|
|
349
|
+
return null;
|
|
350
|
+
const answer = (await io.prompt("API key: ")).trim();
|
|
351
|
+
return answer || null;
|
|
352
|
+
}
|
|
353
|
+
function resolveRequest(io) {
|
|
354
|
+
if (io.request)
|
|
355
|
+
return io.request;
|
|
356
|
+
const apiKey = resolveApiKey();
|
|
357
|
+
if (!apiKey)
|
|
358
|
+
return null;
|
|
359
|
+
const client = new ApiClient(apiKey);
|
|
360
|
+
return (method, path, params) => client.request(method, path, params);
|
|
361
|
+
}
|
|
362
|
+
function missingToolArgs(args, tool) {
|
|
363
|
+
return Object.entries(tool.schema)
|
|
364
|
+
.filter(([_key, zodType]) => !isOptionalZodType(zodType))
|
|
365
|
+
.map(([key]) => key)
|
|
366
|
+
.filter((key) => !args[key]);
|
|
367
|
+
}
|
|
368
|
+
async function resolveToolArgs(args, tool, io) {
|
|
369
|
+
const resolved = { ...args };
|
|
370
|
+
const missing = missingToolArgs(resolved, tool);
|
|
371
|
+
if (missing.length > 0) {
|
|
372
|
+
if (io.isInteractive !== true || !io.prompt)
|
|
373
|
+
return null;
|
|
374
|
+
for (const key of missing) {
|
|
375
|
+
const answer = (await io.prompt(`${toolPromptLabel(key)}: `)).trim();
|
|
376
|
+
if (answer)
|
|
377
|
+
resolved[key] = answer;
|
|
378
|
+
}
|
|
379
|
+
if (missingToolArgs(resolved, tool).length > 0)
|
|
380
|
+
return null;
|
|
381
|
+
}
|
|
382
|
+
if (io.isInteractive === true &&
|
|
383
|
+
io.prompt &&
|
|
384
|
+
isStoreEnabled(resolved.store) &&
|
|
385
|
+
!resolved.output_file &&
|
|
386
|
+
!resolved.output_dir) {
|
|
387
|
+
const answer = (await io.prompt("Output file: ")).trim();
|
|
388
|
+
if (answer)
|
|
389
|
+
resolved.output_file = answer;
|
|
390
|
+
}
|
|
391
|
+
return resolved;
|
|
392
|
+
}
|
|
393
|
+
function isStoreEnabled(value) {
|
|
394
|
+
return value === "json" || value === "csv";
|
|
395
|
+
}
|
|
396
|
+
function toolPromptLabel(key) {
|
|
397
|
+
return key
|
|
398
|
+
.split("_")
|
|
399
|
+
.filter(Boolean)
|
|
400
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
401
|
+
.join(" ");
|
|
402
|
+
}
|
|
403
|
+
function missingDownloadHistoryArgs(args) {
|
|
404
|
+
return REQUIRED_DOWNLOAD_HISTORY_ARGS.filter((key) => !args[key]);
|
|
405
|
+
}
|
|
406
|
+
async function resolveDownloadHistoryArgs(args, io) {
|
|
407
|
+
const missing = missingDownloadHistoryArgs(args);
|
|
408
|
+
if (missing.length === 0)
|
|
409
|
+
return args;
|
|
410
|
+
if (io.isInteractive !== true || !io.prompt)
|
|
411
|
+
return null;
|
|
412
|
+
const resolved = { ...args };
|
|
413
|
+
for (const key of missing) {
|
|
414
|
+
const answer = (await io.prompt(`${downloadHistoryPromptLabel(key)}: `)).trim();
|
|
415
|
+
if (answer)
|
|
416
|
+
resolved[key] = answer;
|
|
417
|
+
}
|
|
418
|
+
return missingDownloadHistoryArgs(resolved).length === 0 ? resolved : null;
|
|
419
|
+
}
|
|
420
|
+
function downloadHistoryPromptLabel(key) {
|
|
421
|
+
switch (key) {
|
|
422
|
+
case "symbol":
|
|
423
|
+
return "Symbol";
|
|
424
|
+
case "bar_type":
|
|
425
|
+
return "Bar type (second/minute/hour/day/week/month)";
|
|
426
|
+
case "from":
|
|
427
|
+
return "From";
|
|
428
|
+
case "to":
|
|
429
|
+
return "To";
|
|
430
|
+
case "output_dir":
|
|
431
|
+
return "Output directory";
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
function parseDownloadHistoryArgs(args) {
|
|
435
|
+
const options = {
|
|
436
|
+
symbol: args.symbol,
|
|
437
|
+
from: args.from,
|
|
438
|
+
to: args.to,
|
|
439
|
+
bar_type: args.bar_type,
|
|
440
|
+
output_dir: args.output_dir,
|
|
441
|
+
};
|
|
442
|
+
for (const key of ["bar_interval", "concurrency", "contract_lookback_months"]) {
|
|
443
|
+
if (args[key] !== undefined)
|
|
444
|
+
options[key] = Number(args[key]);
|
|
445
|
+
}
|
|
446
|
+
for (const key of [
|
|
447
|
+
"overwrite",
|
|
448
|
+
"merge",
|
|
449
|
+
"keep_chunks",
|
|
450
|
+
"extended",
|
|
451
|
+
"dadj",
|
|
452
|
+
"badj",
|
|
453
|
+
"settlement",
|
|
454
|
+
]) {
|
|
455
|
+
if (args[key] !== undefined)
|
|
456
|
+
options[key] = args[key] === "true";
|
|
457
|
+
}
|
|
458
|
+
if (args.format !== undefined) {
|
|
459
|
+
options.format = args.format;
|
|
460
|
+
}
|
|
461
|
+
return options;
|
|
462
|
+
}
|
|
340
463
|
export function main() {
|
|
464
|
+
const rl = createInterface({ input, output });
|
|
341
465
|
runCli(process.argv.slice(2), {
|
|
342
|
-
write: (s) => process.stdout.write(s
|
|
466
|
+
write: (s) => process.stdout.write(`${s}\n`),
|
|
467
|
+
progress: (s) => process.stderr.write(`${s}\n`),
|
|
468
|
+
prompt: (question) => rl.question(question),
|
|
469
|
+
isInteractive: process.stdin.isTTY && process.stdout.isTTY && process.env.CI !== "true",
|
|
343
470
|
exit: (code) => process.exit(code),
|
|
344
|
-
});
|
|
471
|
+
}).finally(() => rl.close());
|
|
345
472
|
}
|
|
346
473
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { homedir, platform } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
4
|
function getConfigDir() {
|
|
5
5
|
const p = platform();
|
|
6
6
|
if (p === "win32") {
|
|
@@ -26,7 +26,7 @@ export function loadConfig() {
|
|
|
26
26
|
export function saveConfig(config) {
|
|
27
27
|
const dir = getConfigDir();
|
|
28
28
|
mkdirSync(dir, { recursive: true });
|
|
29
|
-
writeFileSync(getConfigPath(), JSON.stringify(config, null, 2)
|
|
29
|
+
writeFileSync(getConfigPath(), `${JSON.stringify(config, null, 2)}\n`, { mode: 0o600 });
|
|
30
30
|
}
|
|
31
31
|
export function deleteConfig() {
|
|
32
32
|
try {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMjC,SAAS,YAAY;IACnB,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;IACrB,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,eAAe,CAAC,CAAC;IAC5E,CAAC;IACD,+CAA+C;IAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,aAAa,CAAC,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export type HistoryBarType = "second" | "minute" | "hour" | "day" | "week" | "month";
|
|
2
|
+
export type HistoryOutputFormat = "json" | "csv" | "both";
|
|
3
|
+
export type RequestFn = (method: string, pathTemplate: string, params: Record<string, any>) => Promise<any>;
|
|
4
|
+
export interface DownloadHistoryOptions {
|
|
5
|
+
symbol: string;
|
|
6
|
+
from: string;
|
|
7
|
+
to: string;
|
|
8
|
+
bar_type: HistoryBarType;
|
|
9
|
+
output_dir: string;
|
|
10
|
+
bar_interval?: number;
|
|
11
|
+
format?: HistoryOutputFormat;
|
|
12
|
+
merge?: boolean;
|
|
13
|
+
keep_chunks?: boolean;
|
|
14
|
+
concurrency?: number;
|
|
15
|
+
contract_lookback_months?: number;
|
|
16
|
+
overwrite?: boolean;
|
|
17
|
+
extended?: boolean;
|
|
18
|
+
dadj?: boolean;
|
|
19
|
+
badj?: boolean;
|
|
20
|
+
settlement?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface HistoryProgressEvent {
|
|
23
|
+
completed: number;
|
|
24
|
+
total: number;
|
|
25
|
+
status: "saved" | "skipped" | "failed";
|
|
26
|
+
symbol: string;
|
|
27
|
+
start_date: string;
|
|
28
|
+
files: string[];
|
|
29
|
+
error?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface DownloadHistoryDeps {
|
|
32
|
+
request: RequestFn;
|
|
33
|
+
onProgress?: (event: HistoryProgressEvent) => void;
|
|
34
|
+
}
|
|
35
|
+
export interface PlannedHistoryRequest {
|
|
36
|
+
method: "history" | "series";
|
|
37
|
+
params: Record<string, any>;
|
|
38
|
+
outputBasePath: string;
|
|
39
|
+
}
|
|
40
|
+
export interface HistoryPlan {
|
|
41
|
+
mode: "regular" | "futures";
|
|
42
|
+
requests: PlannedHistoryRequest[];
|
|
43
|
+
}
|
|
44
|
+
export interface DownloadHistoryResult {
|
|
45
|
+
mode: "regular" | "futures";
|
|
46
|
+
total: number;
|
|
47
|
+
completed: number;
|
|
48
|
+
skipped: number;
|
|
49
|
+
failed: number;
|
|
50
|
+
concurrency: number;
|
|
51
|
+
output_dir: string;
|
|
52
|
+
files: string[];
|
|
53
|
+
merged_file?: string;
|
|
54
|
+
errors: Array<{
|
|
55
|
+
symbol: string;
|
|
56
|
+
start_date: string;
|
|
57
|
+
message: string;
|
|
58
|
+
}>;
|
|
59
|
+
}
|
|
60
|
+
export declare function planHistoryRequests(options: DownloadHistoryOptions, deps: Pick<DownloadHistoryDeps, "request">): Promise<HistoryPlan>;
|
|
61
|
+
export declare function downloadHistory(options: DownloadHistoryOptions, deps: DownloadHistoryDeps): Promise<DownloadHistoryResult>;
|
|
62
|
+
export declare function responseToCsv(response: any): string;
|
|
63
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
|