@insightsentry/mcp 1.4.1 → 1.4.2
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/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/cli.d.ts +5 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +213 -73
- package/dist/cli.js.map +1 -1
- package/dist/history.d.ts +63 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +632 -0
- package/dist/history.js.map +1 -0
- package/dist/index.js +95 -12
- package/dist/index.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 +76 -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 +2 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare function coerceArgs(args: Record<string, any>, schema: Record<string, z.ZodTypeAny>): Record<string, any>;
|
|
3
|
+
export declare function flexibleInputSchema(schema: Record<string, z.ZodTypeAny>): Record<string, z.ZodTypeAny>;
|
|
4
|
+
export declare function getZodTypeName(t: z.ZodTypeAny): string;
|
|
5
|
+
export declare function isOptionalZodType(t: z.ZodTypeAny): boolean;
|
|
6
|
+
export declare function getZodEnumValues(t: z.ZodTypeAny): string[];
|
|
7
|
+
//# sourceMappingURL=arg-coercion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arg-coercion.d.ts","sourceRoot":"","sources":["../src/arg-coercion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CASrB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAI9B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,CAEtD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAK1D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,EAAE,CAM1D"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export function coerceArgs(args, schema) {
|
|
3
|
+
const result = {};
|
|
4
|
+
for (const [key, value] of Object.entries(args)) {
|
|
5
|
+
const zodType = schema[key];
|
|
6
|
+
result[key] = zodType ? coerceValue(value, zodType) : value;
|
|
7
|
+
}
|
|
8
|
+
return result;
|
|
9
|
+
}
|
|
10
|
+
export function flexibleInputSchema(schema) {
|
|
11
|
+
return Object.fromEntries(Object.entries(schema).map(([key, zodType]) => [key, makeFlexibleZodType(zodType)]));
|
|
12
|
+
}
|
|
13
|
+
export function getZodTypeName(t) {
|
|
14
|
+
return resolveZodDef(t).type;
|
|
15
|
+
}
|
|
16
|
+
export function isOptionalZodType(t) {
|
|
17
|
+
const def = getZodDef(t);
|
|
18
|
+
const type = getDefType(def);
|
|
19
|
+
if (type === "optional" || type === "default")
|
|
20
|
+
return true;
|
|
21
|
+
return typeof t.isOptional === "function" && t.isOptional();
|
|
22
|
+
}
|
|
23
|
+
export function getZodEnumValues(t) {
|
|
24
|
+
const { type, def } = resolveZodDef(t);
|
|
25
|
+
if (type === "enum" && def.entries) {
|
|
26
|
+
return Object.values(def.entries);
|
|
27
|
+
}
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
function makeFlexibleZodType(t) {
|
|
31
|
+
const def = getZodDef(t);
|
|
32
|
+
const type = getDefType(def);
|
|
33
|
+
if ((type === "optional" || type === "default") && def.innerType) {
|
|
34
|
+
const inner = makeFlexibleZodType(def.innerType);
|
|
35
|
+
if (type === "default") {
|
|
36
|
+
return inner.default(def.defaultValue);
|
|
37
|
+
}
|
|
38
|
+
return inner.optional();
|
|
39
|
+
}
|
|
40
|
+
if (["number", "boolean", "array", "string", "enum"].includes(type)) {
|
|
41
|
+
return z.preprocess((value) => coerceValue(value, t), t);
|
|
42
|
+
}
|
|
43
|
+
return t;
|
|
44
|
+
}
|
|
45
|
+
function coerceValue(value, zodType) {
|
|
46
|
+
if (value === undefined || value === null)
|
|
47
|
+
return value;
|
|
48
|
+
const typeName = getZodTypeName(zodType);
|
|
49
|
+
if (typeName === "number")
|
|
50
|
+
return coerceNumber(value);
|
|
51
|
+
if (typeName === "boolean")
|
|
52
|
+
return coerceBoolean(value);
|
|
53
|
+
if (typeName === "array")
|
|
54
|
+
return coerceArray(value);
|
|
55
|
+
if (typeName === "string" || typeName === "enum")
|
|
56
|
+
return coerceString(value);
|
|
57
|
+
return value;
|
|
58
|
+
}
|
|
59
|
+
function coerceNumber(value) {
|
|
60
|
+
if (typeof value === "number")
|
|
61
|
+
return value;
|
|
62
|
+
if (typeof value !== "string")
|
|
63
|
+
return value;
|
|
64
|
+
const trimmed = value.trim();
|
|
65
|
+
if (!trimmed)
|
|
66
|
+
return value;
|
|
67
|
+
const numeric = Number(trimmed);
|
|
68
|
+
return Number.isNaN(numeric) ? value : numeric;
|
|
69
|
+
}
|
|
70
|
+
function coerceBoolean(value) {
|
|
71
|
+
if (typeof value === "boolean")
|
|
72
|
+
return value;
|
|
73
|
+
if (typeof value !== "string")
|
|
74
|
+
return value;
|
|
75
|
+
switch (value.trim().toLowerCase()) {
|
|
76
|
+
case "true":
|
|
77
|
+
case "1":
|
|
78
|
+
case "yes":
|
|
79
|
+
return true;
|
|
80
|
+
case "false":
|
|
81
|
+
case "0":
|
|
82
|
+
case "no":
|
|
83
|
+
return false;
|
|
84
|
+
default:
|
|
85
|
+
return value;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function coerceArray(value) {
|
|
89
|
+
if (Array.isArray(value))
|
|
90
|
+
return value;
|
|
91
|
+
if (typeof value !== "string")
|
|
92
|
+
return value;
|
|
93
|
+
const trimmed = value.trim();
|
|
94
|
+
if (trimmed.startsWith("[")) {
|
|
95
|
+
try {
|
|
96
|
+
return JSON.parse(trimmed);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Fall through to comma splitting.
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return value.split(",").map((part) => part.trim());
|
|
103
|
+
}
|
|
104
|
+
function coerceString(value) {
|
|
105
|
+
if (typeof value === "string")
|
|
106
|
+
return value;
|
|
107
|
+
return String(value);
|
|
108
|
+
}
|
|
109
|
+
function resolveZodDef(t) {
|
|
110
|
+
const def = getZodDef(t);
|
|
111
|
+
const type = getDefType(def);
|
|
112
|
+
if ((type === "optional" || type === "default") && def.innerType) {
|
|
113
|
+
return resolveZodDef(def.innerType);
|
|
114
|
+
}
|
|
115
|
+
return { type, def };
|
|
116
|
+
}
|
|
117
|
+
function getZodDef(t) {
|
|
118
|
+
return t._zod?.def ?? t._def ?? {};
|
|
119
|
+
}
|
|
120
|
+
function getDefType(def) {
|
|
121
|
+
return def.type ?? def.typeName ?? "";
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=arg-coercion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arg-coercion.js","sourceRoot":"","sources":["../src/arg-coercion.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import { type ToolDefinition } from "./tool-definitions.js";
|
|
2
|
+
export { coerceArgs } from "./arg-coercion.js";
|
|
3
3
|
interface ParsedArgs {
|
|
4
4
|
toolName: string | null;
|
|
5
5
|
args: Record<string, string>;
|
|
6
6
|
help: boolean;
|
|
7
7
|
}
|
|
8
8
|
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
9
|
-
export declare function coerceArgs(args: Record<string, string>, schema: Record<string, z.ZodTypeAny>): Record<string, any>;
|
|
10
9
|
export declare function buildHelp(): string;
|
|
10
|
+
export declare function buildDownloadHistoryHelp(): string;
|
|
11
11
|
export declare function buildToolHelp(tool: ToolDefinition): string;
|
|
12
12
|
type RequestFn = (method: string, pathTemplate: string, params: Record<string, any>) => Promise<any>;
|
|
13
13
|
interface CliIO {
|
|
14
14
|
write: (s: string) => void;
|
|
15
15
|
exit: (code: number) => void;
|
|
16
16
|
request?: RequestFn;
|
|
17
|
+
progress?: (s: string) => void;
|
|
18
|
+
prompt?: (question: string) => Promise<string>;
|
|
19
|
+
isInteractive?: boolean;
|
|
17
20
|
}
|
|
18
21
|
export declare function runCli(argv: string[], io: CliIO): Promise<void>;
|
|
19
22
|
export declare function main(): void;
|
|
20
|
-
export {};
|
|
21
23
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAU7E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoCpD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAoClC;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CA6BjD;AA8GD,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAgC1D;AAkBD,KAAK,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAErG,UAAU,KAAK;IACb,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAKD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHrE;AA+HD,wBAAgB,IAAI,SASnB"}
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createInterface } from "node:readline/promises";
|
|
2
|
+
import { stdin as input, stdout as output } from "node:process";
|
|
2
3
|
import { ApiClient } from "./api-client.js";
|
|
3
4
|
import { toolDefinitions } from "./tool-definitions.js";
|
|
4
5
|
import { saveConfig, deleteConfig, resolveApiKey, getConfigLocation } from "./config.js";
|
|
6
|
+
import { downloadHistory } from "./history.js";
|
|
7
|
+
import { runApiTool } from "./tool-runner.js";
|
|
8
|
+
import { coerceArgs, getZodEnumValues, getZodTypeName, isOptionalZodType, } from "./arg-coercion.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,11 +55,13 @@ 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
66
|
lines.push(' insight get_earnings --c US');
|
|
109
67
|
lines.push(' insight list_options --code "NASDAQ:AAPL" --type call --range 10');
|
|
@@ -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"',
|
|
@@ -235,13 +223,16 @@ export function buildToolHelp(tool) {
|
|
|
235
223
|
"Parameters:",
|
|
236
224
|
];
|
|
237
225
|
for (const [key, zodType] of Object.entries(tool.schema)) {
|
|
238
|
-
const optional = zodType
|
|
226
|
+
const optional = isOptionalZodType(zodType) ? " [optional]" : "";
|
|
239
227
|
const desc = getZodDescription(zodType);
|
|
240
228
|
const typeName = formatTypeName(zodType);
|
|
241
229
|
lines.push(` --${key.padEnd(24)} ${typeName}${optional} ${desc}`);
|
|
242
230
|
}
|
|
243
231
|
// filter is always available
|
|
244
232
|
lines.push(` --${"filter".padEnd(24)} string [optional] JSONata expression to transform the response`);
|
|
233
|
+
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.`);
|
|
234
|
+
lines.push(` --${"output_file".padEnd(24)} string [optional] File path for stored response.`);
|
|
235
|
+
lines.push(` --${"output_dir".padEnd(24)} string [optional] Directory for stored response when output_file is not set.`);
|
|
245
236
|
const examples = toolExamples[tool.name];
|
|
246
237
|
if (examples?.length) {
|
|
247
238
|
lines.push("");
|
|
@@ -268,6 +259,7 @@ function formatTypeName(t) {
|
|
|
268
259
|
}
|
|
269
260
|
return name || "string";
|
|
270
261
|
}
|
|
262
|
+
const REQUIRED_DOWNLOAD_HISTORY_ARGS = ["symbol", "bar_type", "from", "to", "output_dir"];
|
|
271
263
|
export async function runCli(argv, io) {
|
|
272
264
|
const { toolName, args, help } = parseArgs(argv);
|
|
273
265
|
if (!toolName) {
|
|
@@ -277,7 +269,7 @@ export async function runCli(argv, io) {
|
|
|
277
269
|
}
|
|
278
270
|
// Built-in commands
|
|
279
271
|
if (toolName === "login") {
|
|
280
|
-
const key = args
|
|
272
|
+
const key = await resolveLoginKey(args, io);
|
|
281
273
|
if (!key) {
|
|
282
274
|
io.write("Usage: insight login --key <your-api-key>\n\nGet your API key from https://insightsentry.com/dashboard");
|
|
283
275
|
io.exit(1);
|
|
@@ -294,6 +286,41 @@ export async function runCli(argv, io) {
|
|
|
294
286
|
io.exit(0);
|
|
295
287
|
return;
|
|
296
288
|
}
|
|
289
|
+
if (toolName === DOWNLOAD_HISTORY_COMMAND) {
|
|
290
|
+
if (help) {
|
|
291
|
+
io.write(buildDownloadHistoryHelp());
|
|
292
|
+
io.exit(0);
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
const request = resolveRequest(io);
|
|
296
|
+
if (!request) {
|
|
297
|
+
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");
|
|
298
|
+
io.exit(1);
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
try {
|
|
302
|
+
const historyArgs = await resolveDownloadHistoryArgs(args, io);
|
|
303
|
+
if (!historyArgs) {
|
|
304
|
+
io.write(`Error: Missing required options for download_history: ${missingDownloadHistoryArgs(args).join(", ")}\n\nRun: insight download_history --help`);
|
|
305
|
+
io.exit(1);
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
const result = await downloadHistory(parseDownloadHistoryArgs(historyArgs), {
|
|
309
|
+
request,
|
|
310
|
+
onProgress: (event) => {
|
|
311
|
+
const target = event.files.length ? ` -> ${event.files.join(", ")}` : "";
|
|
312
|
+
const error = event.error ? ` (${event.error})` : "";
|
|
313
|
+
io.progress?.(`[${event.completed}/${event.total}] ${event.status} ${event.symbol} ${event.start_date}${target}${error}`);
|
|
314
|
+
},
|
|
315
|
+
});
|
|
316
|
+
io.write(JSON.stringify(result, null, 2));
|
|
317
|
+
}
|
|
318
|
+
catch (error) {
|
|
319
|
+
io.write(`Error: ${error.message}\n`);
|
|
320
|
+
io.exit(1);
|
|
321
|
+
}
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
297
324
|
// Find tool
|
|
298
325
|
const tool = toolDefinitions.find((t) => t.name === toolName);
|
|
299
326
|
if (!tool) {
|
|
@@ -308,28 +335,27 @@ export async function runCli(argv, io) {
|
|
|
308
335
|
return;
|
|
309
336
|
}
|
|
310
337
|
// Resolve request function
|
|
311
|
-
|
|
312
|
-
if (
|
|
313
|
-
|
|
338
|
+
const request = resolveRequest(io);
|
|
339
|
+
if (!request) {
|
|
340
|
+
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");
|
|
341
|
+
io.exit(1);
|
|
342
|
+
return;
|
|
314
343
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
return;
|
|
321
|
-
}
|
|
322
|
-
const client = new ApiClient(apiKey);
|
|
323
|
-
request = (method, path, params) => client.request(method, path, params);
|
|
344
|
+
const resolvedArgs = await resolveToolArgs(args, tool, io);
|
|
345
|
+
if (!resolvedArgs) {
|
|
346
|
+
io.write(`Error: Missing required options for ${tool.name}: ${missingToolArgs(args, tool).join(", ")}\n\nRun: insight ${tool.name} --help`);
|
|
347
|
+
io.exit(1);
|
|
348
|
+
return;
|
|
324
349
|
}
|
|
325
|
-
const { filter: filterExpr, ...apiArgs } = coerceArgs(args, tool.schema);
|
|
326
350
|
try {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
351
|
+
const outputValue = await runApiTool({
|
|
352
|
+
toolName: tool.name,
|
|
353
|
+
method: tool.method,
|
|
354
|
+
pathTemplate: tool.pathTemplate,
|
|
355
|
+
args: coerceArgs(resolvedArgs, tool.schema),
|
|
356
|
+
request,
|
|
357
|
+
});
|
|
358
|
+
const output = typeof outputValue === "string" ? outputValue : JSON.stringify(outputValue, null, 2);
|
|
333
359
|
io.write(output);
|
|
334
360
|
}
|
|
335
361
|
catch (error) {
|
|
@@ -337,10 +363,124 @@ export async function runCli(argv, io) {
|
|
|
337
363
|
io.exit(1);
|
|
338
364
|
}
|
|
339
365
|
}
|
|
366
|
+
async function resolveLoginKey(args, io) {
|
|
367
|
+
if (args.key?.trim())
|
|
368
|
+
return args.key.trim();
|
|
369
|
+
if (io.isInteractive !== true || !io.prompt)
|
|
370
|
+
return null;
|
|
371
|
+
const answer = (await io.prompt("API key: ")).trim();
|
|
372
|
+
return answer || null;
|
|
373
|
+
}
|
|
374
|
+
function resolveRequest(io) {
|
|
375
|
+
if (io.request)
|
|
376
|
+
return io.request;
|
|
377
|
+
const apiKey = resolveApiKey();
|
|
378
|
+
if (!apiKey)
|
|
379
|
+
return null;
|
|
380
|
+
const client = new ApiClient(apiKey);
|
|
381
|
+
return (method, path, params) => client.request(method, path, params);
|
|
382
|
+
}
|
|
383
|
+
function missingToolArgs(args, tool) {
|
|
384
|
+
return Object.entries(tool.schema)
|
|
385
|
+
.filter(([_key, zodType]) => !isOptionalZodType(zodType))
|
|
386
|
+
.map(([key]) => key)
|
|
387
|
+
.filter((key) => !args[key]);
|
|
388
|
+
}
|
|
389
|
+
async function resolveToolArgs(args, tool, io) {
|
|
390
|
+
const resolved = { ...args };
|
|
391
|
+
const missing = missingToolArgs(resolved, tool);
|
|
392
|
+
if (missing.length > 0) {
|
|
393
|
+
if (io.isInteractive !== true || !io.prompt)
|
|
394
|
+
return null;
|
|
395
|
+
for (const key of missing) {
|
|
396
|
+
const answer = (await io.prompt(`${toolPromptLabel(key)}: `)).trim();
|
|
397
|
+
if (answer)
|
|
398
|
+
resolved[key] = answer;
|
|
399
|
+
}
|
|
400
|
+
if (missingToolArgs(resolved, tool).length > 0)
|
|
401
|
+
return null;
|
|
402
|
+
}
|
|
403
|
+
if (io.isInteractive === true &&
|
|
404
|
+
io.prompt &&
|
|
405
|
+
isStoreEnabled(resolved.store) &&
|
|
406
|
+
!resolved.output_file &&
|
|
407
|
+
!resolved.output_dir) {
|
|
408
|
+
const answer = (await io.prompt("Output file: ")).trim();
|
|
409
|
+
if (answer)
|
|
410
|
+
resolved.output_file = answer;
|
|
411
|
+
}
|
|
412
|
+
return resolved;
|
|
413
|
+
}
|
|
414
|
+
function isStoreEnabled(value) {
|
|
415
|
+
return value === "json" || value === "csv";
|
|
416
|
+
}
|
|
417
|
+
function toolPromptLabel(key) {
|
|
418
|
+
return key
|
|
419
|
+
.split("_")
|
|
420
|
+
.filter(Boolean)
|
|
421
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
422
|
+
.join(" ");
|
|
423
|
+
}
|
|
424
|
+
function missingDownloadHistoryArgs(args) {
|
|
425
|
+
return REQUIRED_DOWNLOAD_HISTORY_ARGS.filter((key) => !args[key]);
|
|
426
|
+
}
|
|
427
|
+
async function resolveDownloadHistoryArgs(args, io) {
|
|
428
|
+
const missing = missingDownloadHistoryArgs(args);
|
|
429
|
+
if (missing.length === 0)
|
|
430
|
+
return args;
|
|
431
|
+
if (io.isInteractive !== true || !io.prompt)
|
|
432
|
+
return null;
|
|
433
|
+
const resolved = { ...args };
|
|
434
|
+
for (const key of missing) {
|
|
435
|
+
const answer = (await io.prompt(`${downloadHistoryPromptLabel(key)}: `)).trim();
|
|
436
|
+
if (answer)
|
|
437
|
+
resolved[key] = answer;
|
|
438
|
+
}
|
|
439
|
+
return missingDownloadHistoryArgs(resolved).length === 0 ? resolved : null;
|
|
440
|
+
}
|
|
441
|
+
function downloadHistoryPromptLabel(key) {
|
|
442
|
+
switch (key) {
|
|
443
|
+
case "symbol":
|
|
444
|
+
return "Symbol";
|
|
445
|
+
case "bar_type":
|
|
446
|
+
return "Bar type (second/minute/hour/day/week/month)";
|
|
447
|
+
case "from":
|
|
448
|
+
return "From";
|
|
449
|
+
case "to":
|
|
450
|
+
return "To";
|
|
451
|
+
case "output_dir":
|
|
452
|
+
return "Output directory";
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
function parseDownloadHistoryArgs(args) {
|
|
456
|
+
const options = {
|
|
457
|
+
symbol: args.symbol,
|
|
458
|
+
from: args.from,
|
|
459
|
+
to: args.to,
|
|
460
|
+
bar_type: args.bar_type,
|
|
461
|
+
output_dir: args.output_dir,
|
|
462
|
+
};
|
|
463
|
+
for (const key of ["bar_interval", "concurrency", "contract_lookback_months"]) {
|
|
464
|
+
if (args[key] !== undefined)
|
|
465
|
+
options[key] = Number(args[key]);
|
|
466
|
+
}
|
|
467
|
+
for (const key of ["overwrite", "merge", "keep_chunks", "extended", "dadj", "badj", "settlement"]) {
|
|
468
|
+
if (args[key] !== undefined)
|
|
469
|
+
options[key] = args[key] === "true";
|
|
470
|
+
}
|
|
471
|
+
if (args.format !== undefined) {
|
|
472
|
+
options.format = args.format;
|
|
473
|
+
}
|
|
474
|
+
return options;
|
|
475
|
+
}
|
|
340
476
|
export function main() {
|
|
477
|
+
const rl = createInterface({ input, output });
|
|
341
478
|
runCli(process.argv.slice(2), {
|
|
342
479
|
write: (s) => process.stdout.write(s + "\n"),
|
|
480
|
+
progress: (s) => process.stderr.write(s + "\n"),
|
|
481
|
+
prompt: (question) => rl.question(question),
|
|
482
|
+
isInteractive: process.stdin.isTTY && process.stdout.isTTY && process.env.CI !== "true",
|
|
343
483
|
exit: (code) => process.exit(code),
|
|
344
|
-
});
|
|
484
|
+
}).finally(() => rl.close());
|
|
345
485
|
}
|
|
346
486
|
//# 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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"}
|