@insightsentry/mcp 1.4.13 → 1.4.15

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/cli.d.ts CHANGED
@@ -11,15 +11,26 @@ export declare function buildHelp(): string;
11
11
  export declare function buildDownloadHistoryHelp(): string;
12
12
  export declare function buildToolHelp(tool: ToolDefinition): string;
13
13
  type RequestFn = (method: string, pathTemplate: string, params: Record<string, any>) => Promise<any>;
14
+ type RunCommandFn = (command: string, args: string[]) => Promise<{
15
+ stdout?: string;
16
+ stderr?: string;
17
+ }>;
14
18
  interface CliIO {
15
19
  write: (s: string) => void;
16
20
  exit: (code: number) => void;
17
21
  request?: RequestFn;
22
+ createRequestFromApiKey?: (apiKey: string) => RequestFn;
23
+ runCommand?: RunCommandFn;
18
24
  progress?: (s: string) => void;
19
25
  prompt?: (question: string) => Promise<string>;
26
+ selectTool?: (options: ToolSelectionOption[]) => Promise<string | null>;
20
27
  isInteractive?: boolean;
21
28
  getAuthStatus?: () => AuthStatus;
22
29
  }
30
+ interface ToolSelectionOption {
31
+ name: string;
32
+ description: string;
33
+ }
23
34
  export declare function runCli(argv: string[], io: CliIO): Promise<void>;
24
35
  export declare function main(): void;
25
36
  //# 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":"AAKA,OAAO,EAAE,KAAK,UAAU,EAAyC,MAAM,kBAAkB,CAAC;AAY1F,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAY/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,CA6ClC;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CA8BjD;AAyFD,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAsC1D;AAyBD,KAAK,SAAS,GAAG,CACf,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,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;IACxB,aAAa,CAAC,EAAE,MAAM,UAAU,CAAC;CAClC;AAKD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAiMrE;AA+jBD,wBAAgB,IAAI,SASnB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAyC,MAAM,kBAAkB,CAAC;AAgB1F,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA8B/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,CA8ClC;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CA8BjD;AAyFD,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAsC1D;AAkCD,KAAK,SAAS,GAAG,CACf,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,OAAO,CAAC,GAAG,CAAC,CAAC;AAClB,KAAK,YAAY,GAAG,CAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,KACX,OAAO,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnD,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,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC;IACxD,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,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,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,UAAU,CAAC;CAClC;AAKD,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAOD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA+OrE;AA04BD,wBAAgB,IAAI,SAWnB"}
package/dist/cli.js CHANGED
@@ -1,5 +1,8 @@
1
+ import { execFile } from "node:child_process";
1
2
  import { stdin as input, stdout as output } from "node:process";
3
+ import { emitKeypressEvents } from "node:readline";
2
4
  import { createInterface } from "node:readline/promises";
5
+ import { promisify } from "node:util";
3
6
  import { z } from "zod";
4
7
  import { ApiClient } from "./api-client.js";
5
8
  import { coerceArgs, getZodEnumValues, getZodTypeName, isOptionalZodType } from "./arg-coercion.js";
@@ -8,14 +11,16 @@ import { deleteConfig, getConfigLocation, resolveApiKey, saveConfig } from "./co
8
11
  import { downloadHistorySchema } from "./download-history-schema.js";
9
12
  import { downloadHistory, validateOutputDirectory, } from "./history.js";
10
13
  import { validateHistoryIntervalArgs } from "./history-validation.js";
11
- import { validateResponseStorageTarget } from "./response-storage.js";
14
+ import { supportsCsvStorage, validateResponseStorageTarget, } from "./response-storage.js";
12
15
  import { analyzeSymbolCodes, shouldPromptSymbolScopedParam } from "./symbol-param-applicability.js";
13
16
  import { validateSymbolLikeArg } from "./symbol-validation.js";
14
17
  import { toolDefinitions } from "./tool-definitions.js";
15
- import { runApiTool } from "./tool-runner.js";
18
+ import { runApiTool, validateFilterExpression } from "./tool-runner.js";
16
19
  export { coerceArgs } from "./arg-coercion.js";
17
20
  const DOWNLOAD_HISTORY_COMMAND = "download_history";
21
+ const UPDATE_COMMAND = "update";
18
22
  const MAX_INTERACTIVE_PROMPT_ATTEMPTS = 3;
23
+ const execFileAsync = promisify(execFile);
19
24
  const STORAGE_DESTINATION_SCHEMA = {
20
25
  output_file: z.string().describe("File path for stored response.").optional(),
21
26
  output_dir: z
@@ -23,6 +28,20 @@ const STORAGE_DESTINATION_SCHEMA = {
23
28
  .describe("Directory for stored response when output_file is not set.")
24
29
  .optional(),
25
30
  };
31
+ const JSON_STORE_SCHEMA = z
32
+ .enum(["none", "json"])
33
+ .default("none")
34
+ .optional()
35
+ .describe("Store original API response before filtering. Default: none.");
36
+ const CSV_STORE_SCHEMA = z
37
+ .enum(["none", "json", "csv"])
38
+ .default("none")
39
+ .optional()
40
+ .describe("Store original API response before filtering. CSV is available for series/history responses. Default: none.");
41
+ const FILTER_SCHEMA = z
42
+ .string()
43
+ .optional()
44
+ .describe("JSONata expression to transform the response. Leave empty for no filter.");
26
45
  export function parseArgs(argv) {
27
46
  const args = {};
28
47
  let toolName = null;
@@ -81,13 +100,14 @@ export function buildHelp() {
81
100
  lines.push(" insight get_earnings --c US");
82
101
  lines.push(' insight list_options --code "NASDAQ:AAPL" --type call --range 10');
83
102
  lines.push("");
84
- lines.push("All tools support --filter <jsonata> to transform the response.");
103
+ lines.push("API tools support --filter <jsonata> to transform the response.");
85
104
  lines.push("Use: insight <tool> --help for tool-specific parameters.");
86
105
  lines.push("");
87
106
  lines.push("Authentication:");
88
107
  lines.push(" insight login --key <your-api-key> Save API key (persisted across sessions)");
89
108
  lines.push(" insight whoami Print the logged-in user's email");
90
109
  lines.push(" insight logout Remove saved API key");
110
+ lines.push(" insight update Update this CLI with npm");
91
111
  lines.push("");
92
112
  lines.push(" Or set INSIGHTSENTRY_API_KEY environment variable (takes priority over saved key).");
93
113
  lines.push(" Get your API key from https://insightsentry.com/dashboard");
@@ -226,7 +246,7 @@ export function buildToolHelp(tool) {
226
246
  }
227
247
  // filter is always available
228
248
  lines.push(` --${"filter".padEnd(24)} string [optional] JSONata expression applied to the response.`);
229
- lines.push(` --${"store".padEnd(24)} enum(none|json|csv) [optional] Store the response locally. csv only supports get_symbol_series. Default: none.`);
249
+ lines.push(` --${"store".padEnd(24)} ${formatStoreTypeName(tool.name)} [optional] ${formatStoreHelpDescription(tool.name)}`);
230
250
  lines.push(` --${"output_file".padEnd(24)} string [optional] File path for stored response.`);
231
251
  lines.push(` --${"output_dir".padEnd(24)} string [optional] Directory for stored response when output_file is not set.`);
232
252
  const examples = toolExamples[tool.name];
@@ -239,6 +259,13 @@ export function buildToolHelp(tool) {
239
259
  }
240
260
  return lines.join("\n");
241
261
  }
262
+ function formatStoreTypeName(toolName) {
263
+ return supportsCsvStorage(toolName) ? "enum(none|json|csv)" : "enum(none|json)";
264
+ }
265
+ function formatStoreHelpDescription(toolName) {
266
+ const suffix = supportsCsvStorage(toolName) ? " CSV writes series/history rows." : "";
267
+ return `Store original API response before filtering.${suffix} Default: none.`;
268
+ }
242
269
  function getZodDescription(t) {
243
270
  if (t.description)
244
271
  return t.description;
@@ -264,7 +291,24 @@ function formatTypeName(t) {
264
291
  }
265
292
  const REQUIRED_DOWNLOAD_HISTORY_ARGS = ["symbol", "bar_type", "from", "to", "output_dir"];
266
293
  export async function runCli(argv, io) {
267
- const { toolName, args, help } = parseArgs(argv);
294
+ let { toolName, args, help } = parseArgs(argv);
295
+ let sessionApiKey;
296
+ if (!toolName) {
297
+ if (!help && io.isInteractive === true && io.prompt) {
298
+ const selected = await resolveInteractiveToolName(io);
299
+ if (!selected) {
300
+ io.exit(1);
301
+ return;
302
+ }
303
+ toolName = selected.toolName;
304
+ sessionApiKey = selected.apiKey;
305
+ }
306
+ else {
307
+ io.write(buildHelp());
308
+ io.exit(0);
309
+ return;
310
+ }
311
+ }
268
312
  if (!toolName) {
269
313
  io.write(buildHelp());
270
314
  io.exit(0);
@@ -295,6 +339,10 @@ export async function runCli(argv, io) {
295
339
  io.exit(0);
296
340
  return;
297
341
  }
342
+ if (toolName === UPDATE_COMMAND) {
343
+ await runUpdateCommand(io);
344
+ return;
345
+ }
298
346
  if (toolName === "whoami") {
299
347
  const status = (io.getAuthStatus ?? getAuthStatus)();
300
348
  if (status.subject) {
@@ -313,22 +361,26 @@ export async function runCli(argv, io) {
313
361
  io.exit(0);
314
362
  return;
315
363
  }
316
- const request = resolveRequest(io);
317
- if (!request) {
318
- 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");
319
- io.exit(1);
320
- return;
321
- }
322
364
  try {
323
- const providedValidationError = validateDownloadHistoryArgs(args);
324
- if (providedValidationError) {
325
- io.write(`Invalid ${downloadHistoryPromptLabel(providedValidationError.key)}: ${providedValidationError.error}\n`);
326
- io.exit(1);
327
- return;
365
+ const inputArgs = { ...args };
366
+ const interactive = io.isInteractive === true && Boolean(io.prompt);
367
+ if (interactive) {
368
+ for (const error of collectInvalidProvidedDownloadHistoryArgs(inputArgs)) {
369
+ io.write(`Invalid ${downloadHistoryPromptLabel(error.key)}: ${error.error}\n`);
370
+ delete inputArgs[error.key];
371
+ }
328
372
  }
329
- const historyArgs = await resolveDownloadHistoryArgs(args, io);
373
+ else {
374
+ const providedValidationError = validateDownloadHistoryArgs(inputArgs);
375
+ if (providedValidationError) {
376
+ io.write(`Invalid ${downloadHistoryPromptLabel(providedValidationError.key)}: ${providedValidationError.error}\n`);
377
+ io.exit(1);
378
+ return;
379
+ }
380
+ }
381
+ const historyArgs = await resolveDownloadHistoryArgs(inputArgs, io);
330
382
  if (!historyArgs) {
331
- io.write(`Error: Missing required options for download_history: ${missingDownloadHistoryArgs(args).join(", ")}\n\nRun: insight download_history --help`);
383
+ io.write(`Error: Missing required options for download_history: ${missingDownloadHistoryArgs(inputArgs).join(", ")}\n\nRun: insight download_history --help`);
332
384
  io.exit(1);
333
385
  return;
334
386
  }
@@ -338,6 +390,12 @@ export async function runCli(argv, io) {
338
390
  io.exit(1);
339
391
  return;
340
392
  }
393
+ const request = resolveRequest(io, sessionApiKey);
394
+ if (!request) {
395
+ 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");
396
+ io.exit(1);
397
+ return;
398
+ }
341
399
  const result = await downloadHistory(parseDownloadHistoryArgs(historyArgs), {
342
400
  request,
343
401
  onProgress: (event) => {
@@ -367,13 +425,6 @@ export async function runCli(argv, io) {
367
425
  io.exit(0);
368
426
  return;
369
427
  }
370
- // Resolve request function
371
- const request = resolveRequest(io);
372
- if (!request) {
373
- 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");
374
- io.exit(1);
375
- return;
376
- }
377
428
  const inputArgs = { ...args };
378
429
  const interactive = io.isInteractive === true && Boolean(io.prompt);
379
430
  if (interactive) {
@@ -394,9 +445,27 @@ export async function runCli(argv, io) {
394
445
  }
395
446
  const storeModeError = validateStoreMode(tool.name, inputArgs.store);
396
447
  if (storeModeError) {
397
- io.write(`Invalid Store: ${storeModeError}\n`);
398
- io.exit(1);
399
- return;
448
+ if (interactive) {
449
+ io.write(`Invalid Store: ${storeModeError}\n`);
450
+ delete inputArgs.store;
451
+ }
452
+ else {
453
+ io.write(`Invalid Store: ${storeModeError}\n`);
454
+ io.exit(1);
455
+ return;
456
+ }
457
+ }
458
+ const filterError = validateFilterExpression(inputArgs.filter);
459
+ if (filterError) {
460
+ if (interactive) {
461
+ io.write(`Invalid Filter: ${filterError}\n`);
462
+ delete inputArgs.filter;
463
+ }
464
+ else {
465
+ io.write(`Invalid Filter: ${filterError}\n`);
466
+ io.exit(1);
467
+ return;
468
+ }
400
469
  }
401
470
  const resolvedArgs = await resolveToolArgs(inputArgs, tool, io);
402
471
  if (!resolvedArgs) {
@@ -411,6 +480,13 @@ export async function runCli(argv, io) {
411
480
  io.exit(1);
412
481
  return;
413
482
  }
483
+ // Resolve request function
484
+ const request = resolveRequest(io, sessionApiKey);
485
+ if (!request) {
486
+ 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");
487
+ io.exit(1);
488
+ return;
489
+ }
414
490
  try {
415
491
  const outputValue = await runApiTool({
416
492
  toolName: tool.name,
@@ -427,6 +503,91 @@ export async function runCli(argv, io) {
427
503
  io.exit(1);
428
504
  }
429
505
  }
506
+ async function resolveInteractiveToolName(io) {
507
+ let apiKey;
508
+ const status = (io.getAuthStatus ?? getAuthStatus)();
509
+ if (!status.authenticated) {
510
+ io.write(status.message);
511
+ apiKey = (await resolveLoginKey({}, io)) ?? undefined;
512
+ if (!apiKey) {
513
+ io.write("Usage: insight login --key <your-api-key>\n\nGet your API key from https://insightsentry.com/dashboard");
514
+ return null;
515
+ }
516
+ saveConfig({ apiKey });
517
+ io.write(`API key saved to ${getConfigLocation()}`);
518
+ }
519
+ const options = interactiveToolOptions();
520
+ if (io.selectTool) {
521
+ const selected = await io.selectTool(options);
522
+ if (!selected)
523
+ io.write("No tool selected.");
524
+ return selected ? { toolName: selected, apiKey } : null;
525
+ }
526
+ io.write(buildInteractiveToolList(options));
527
+ for (let attempt = 0; attempt < MAX_INTERACTIVE_PROMPT_ATTEMPTS; attempt++) {
528
+ const answer = (await io.prompt?.("Choose tool (number or name): "))?.trim() ?? "";
529
+ const selected = parseToolSelection(answer, options);
530
+ if (selected)
531
+ return { toolName: selected, apiKey };
532
+ io.write("Invalid tool selection.");
533
+ }
534
+ io.write("No tool selected.");
535
+ return null;
536
+ }
537
+ async function runUpdateCommand(io) {
538
+ const runCommand = io.runCommand ?? defaultRunCommand;
539
+ io.write("Updating InsightSentry MCP CLI with: npm install -g @insightsentry/mcp");
540
+ try {
541
+ const result = await runCommand("npm", ["install", "-g", "@insightsentry/mcp"]);
542
+ const details = [result.stdout?.trim(), result.stderr?.trim()].filter(Boolean).join("\n");
543
+ if (details)
544
+ io.write(details);
545
+ io.write("InsightSentry MCP CLI updated.");
546
+ io.exit(0);
547
+ }
548
+ catch (error) {
549
+ io.write(`Error: ${error?.message ?? String(error)}`);
550
+ io.exit(1);
551
+ }
552
+ }
553
+ async function defaultRunCommand(command, args) {
554
+ return execFileAsync(command, args);
555
+ }
556
+ function interactiveToolOptions() {
557
+ return [
558
+ ...toolDefinitions.map((tool) => ({
559
+ name: tool.name,
560
+ description: summarizeToolDescription(tool.description),
561
+ })),
562
+ {
563
+ name: DOWNLOAD_HISTORY_COMMAND,
564
+ description: "Download historical ranges to JSON/CSV files",
565
+ },
566
+ ];
567
+ }
568
+ function buildInteractiveToolList(options) {
569
+ return [
570
+ "Choose a tool:",
571
+ "",
572
+ ...options.map((option, index) => `${index + 1}. ${option.name} - ${option.description}`),
573
+ "",
574
+ "Use arrow keys in a TTY, or type a number/name.",
575
+ ].join("\n");
576
+ }
577
+ function summarizeToolDescription(description) {
578
+ return description.split("→")[0].split(".")[0].trim();
579
+ }
580
+ function parseToolSelection(rawSelection, options) {
581
+ const selection = rawSelection.trim();
582
+ if (!selection)
583
+ return null;
584
+ const number = Number(selection);
585
+ if (Number.isInteger(number) && number >= 1 && number <= options.length) {
586
+ return options[number - 1].name;
587
+ }
588
+ const normalized = selection.toLowerCase();
589
+ return options.find((option) => option.name.toLowerCase() === normalized)?.name ?? null;
590
+ }
430
591
  async function resolveLoginKey(args, io) {
431
592
  if (args.key?.trim())
432
593
  return args.key.trim();
@@ -443,12 +604,14 @@ async function resolveLoginKey(args, io) {
443
604
  }
444
605
  return null;
445
606
  }
446
- function resolveRequest(io) {
607
+ function resolveRequest(io, apiKeyOverride) {
447
608
  if (io.request)
448
609
  return io.request;
449
- const apiKey = resolveApiKey();
610
+ const apiKey = apiKeyOverride?.trim() || resolveApiKey();
450
611
  if (!apiKey)
451
612
  return null;
613
+ if (io.createRequestFromApiKey)
614
+ return io.createRequestFromApiKey(apiKey);
452
615
  const client = new ApiClient(apiKey);
453
616
  return (method, path, params) => client.request(method, path, params);
454
617
  }
@@ -487,7 +650,13 @@ async function resolveToolArgs(args, tool, io) {
487
650
  resolved[key] = answer;
488
651
  }
489
652
  }
653
+ const storageAnswer = await resolveInteractiveStorageMode(resolved, tool.name, io);
654
+ if (storageAnswer === null)
655
+ return null;
490
656
  await resolveStorageDestination(resolved, tool.name, io);
657
+ const filterAnswer = await resolveInteractiveFilter(resolved, io);
658
+ if (filterAnswer === null)
659
+ return null;
491
660
  }
492
661
  else if (missingToolArgs(resolved, tool).length > 0) {
493
662
  return null;
@@ -496,6 +665,41 @@ async function resolveToolArgs(args, tool, io) {
496
665
  return null;
497
666
  return resolved;
498
667
  }
668
+ async function resolveInteractiveStorageMode(resolved, toolName, io) {
669
+ if (resolved.store !== undefined)
670
+ return;
671
+ const answer = await promptForOptionalToolArg("store", storeModeSchema(toolName), io);
672
+ if (answer === null)
673
+ return null;
674
+ if (answer !== undefined)
675
+ resolved.store = answer;
676
+ }
677
+ function storeModeSchema(toolName) {
678
+ return supportsCsvStorage(toolName) ? CSV_STORE_SCHEMA : JSON_STORE_SCHEMA;
679
+ }
680
+ async function resolveInteractiveFilter(resolved, io) {
681
+ if (resolved.filter !== undefined)
682
+ return;
683
+ const answer = await promptForOptionalFilterArg(io);
684
+ if (answer === null)
685
+ return null;
686
+ if (answer !== undefined)
687
+ resolved.filter = answer;
688
+ }
689
+ async function promptForOptionalFilterArg(io) {
690
+ const label = "Filter";
691
+ const question = optionalPromptQuestion(label, FILTER_SCHEMA);
692
+ for (let attempt = 0; attempt < MAX_INTERACTIVE_PROMPT_ATTEMPTS; attempt++) {
693
+ const answer = (await io.prompt?.(question))?.trim() ?? "";
694
+ if (!answer)
695
+ return undefined;
696
+ const error = validateFilterExpression(answer);
697
+ if (!error)
698
+ return answer;
699
+ io.write(`Invalid ${label}: ${error}\n`);
700
+ }
701
+ return null;
702
+ }
499
703
  function shouldSkipInteractiveToolArg(toolName, key, args) {
500
704
  if (toolName === "screen_crypto" && key === "countries")
501
705
  return true;
@@ -531,11 +735,28 @@ async function resolveStorageDestination(resolved, toolName, io) {
531
735
  resolved.output_file = answer;
532
736
  }
533
737
  if (!resolved.output_file && !resolved.output_dir) {
534
- const answer = await promptForOptionalStorageDestinationArg("output_dir", STORAGE_DESTINATION_SCHEMA.output_dir, resolved, toolName, io);
535
- if (answer !== null && answer !== undefined)
738
+ const answer = await promptForStorageDestinationArg("output_dir", STORAGE_DESTINATION_SCHEMA.output_dir, resolved, toolName, io);
739
+ if (answer !== null)
536
740
  resolved.output_dir = answer;
537
741
  }
538
742
  }
743
+ async function promptForStorageDestinationArg(key, zodType, resolved, toolName, io) {
744
+ const label = toolPromptLabel(key);
745
+ const question = promptQuestion(label, zodType, "required");
746
+ for (let attempt = 0; attempt < MAX_INTERACTIVE_PROMPT_ATTEMPTS; attempt++) {
747
+ const answer = (await io.prompt?.(question))?.trim() ?? "";
748
+ const error = validateToolArgAnswer(key, zodType, answer);
749
+ if (error) {
750
+ io.write(`Invalid ${label}: ${error}\n`);
751
+ continue;
752
+ }
753
+ const storageError = await validateStorageDestinationAnswer(key, resolved, toolName, answer);
754
+ if (!storageError)
755
+ return answer;
756
+ io.write(`Invalid ${label}: ${storageError}\n`);
757
+ }
758
+ return null;
759
+ }
539
760
  async function promptForOptionalStorageDestinationArg(key, zodType, resolved, toolName, io) {
540
761
  const label = toolPromptLabel(key);
541
762
  const question = optionalPromptQuestion(label, zodType);
@@ -591,7 +812,7 @@ async function resolveDownloadHistoryArgs(args, io) {
591
812
  if (resolved[key] !== undefined)
592
813
  continue;
593
814
  if (REQUIRED_DOWNLOAD_HISTORY_ARGS.includes(key)) {
594
- const answer = await promptForDownloadHistoryArg(key, io);
815
+ const answer = await promptForDownloadHistoryArg(key, resolved, io);
595
816
  if (!answer)
596
817
  return null;
597
818
  resolved[key] = answer;
@@ -732,16 +953,23 @@ function validateStoreMode(toolName, store) {
732
953
  return null;
733
954
  if (!["none", "json", "csv"].includes(store))
734
955
  return "store must be none, json, or csv";
735
- if (store === "csv" && toolName !== "get_symbol_series") {
736
- return "csv storage is only supported for get_symbol_series";
956
+ if (store === "csv" && !supportsCsvStorage(toolName)) {
957
+ return "csv storage is only supported for get_symbol_series and get_symbol_history";
737
958
  }
738
959
  return null;
739
960
  }
740
- async function promptForDownloadHistoryArg(key, io) {
961
+ async function promptForDownloadHistoryArg(key, resolved, io) {
741
962
  const label = downloadHistoryPromptLabel(key);
742
- const question = promptQuestion(label, downloadHistorySchema[key], "required");
963
+ const defaultAnswer = getDownloadHistoryPromptDefault(key, resolved);
964
+ const question = defaultAnswer
965
+ ? promptQuestion(label, downloadHistorySchema[key], "required", {
966
+ blankInstruction: "press Enter to use default",
967
+ value: defaultAnswer,
968
+ })
969
+ : promptQuestion(label, downloadHistorySchema[key], "required");
743
970
  for (let attempt = 0; attempt < MAX_INTERACTIVE_PROMPT_ATTEMPTS; attempt++) {
744
- const answer = (await io.prompt?.(question))?.trim() ?? "";
971
+ const rawAnswer = (await io.prompt?.(question))?.trim() ?? "";
972
+ const answer = rawAnswer || defaultAnswer || "";
745
973
  const error = validateDownloadHistoryArgAnswer(key, answer);
746
974
  if (error) {
747
975
  io.write(`Invalid ${label}: ${error}\n`);
@@ -754,6 +982,20 @@ async function promptForDownloadHistoryArg(key, io) {
754
982
  }
755
983
  return null;
756
984
  }
985
+ function getDownloadHistoryPromptDefault(key, resolved) {
986
+ if (key !== "to")
987
+ return null;
988
+ return resolved.bar_type === "second" ? currentUtcDay() : currentUtcMonth();
989
+ }
990
+ function currentUtcDay(date = new Date()) {
991
+ return `${date.getUTCFullYear()}-${pad2(date.getUTCMonth() + 1)}-${pad2(date.getUTCDate())}`;
992
+ }
993
+ function currentUtcMonth(date = new Date()) {
994
+ return `${date.getUTCFullYear()}-${pad2(date.getUTCMonth() + 1)}`;
995
+ }
996
+ function pad2(value) {
997
+ return String(value).padStart(2, "0");
998
+ }
757
999
  async function validateDownloadHistoryStorageAnswer(key, answer) {
758
1000
  if (key !== "output_dir")
759
1001
  return null;
@@ -810,6 +1052,22 @@ function validateDownloadHistoryArgs(args) {
810
1052
  return historyIntervalError;
811
1053
  return null;
812
1054
  }
1055
+ function collectInvalidProvidedDownloadHistoryArgs(args) {
1056
+ const errors = [];
1057
+ for (const key of Object.keys(downloadHistorySchema)) {
1058
+ if (args[key] === undefined)
1059
+ continue;
1060
+ const error = validateDownloadHistoryArgAnswer(key, args[key]);
1061
+ if (error)
1062
+ errors.push({ key, error });
1063
+ }
1064
+ if (!errors.some((error) => error.key === "bar_interval")) {
1065
+ const historyIntervalError = validateHistoryIntervalArgs(DOWNLOAD_HISTORY_COMMAND, args);
1066
+ if (historyIntervalError)
1067
+ errors.push(historyIntervalError);
1068
+ }
1069
+ return errors;
1070
+ }
813
1071
  function downloadHistoryPromptLabel(key) {
814
1072
  switch (key) {
815
1073
  case "symbol":
@@ -870,7 +1128,7 @@ function parseDownloadHistoryArgs(args) {
870
1128
  function optionalPromptQuestion(label, zodType) {
871
1129
  return promptQuestion(label, zodType, "optional");
872
1130
  }
873
- function promptQuestion(label, zodType, requirement) {
1131
+ function promptQuestion(label, zodType, requirement, defaultOverride) {
874
1132
  const parts = [requirement];
875
1133
  const enumValues = getZodEnumValues(zodType);
876
1134
  if (enumValues.length > 0)
@@ -880,12 +1138,16 @@ function promptQuestion(label, zodType, requirement) {
880
1138
  if (typeName && typeName !== "string")
881
1139
  parts.push(`type: ${typeName}`);
882
1140
  }
883
- const defaultValue = getPromptDefault(zodType);
1141
+ const defaultValue = defaultOverride?.value ?? getPromptDefault(zodType);
884
1142
  if (defaultValue !== null)
885
1143
  parts.push(`Default: ${defaultValue}`);
886
1144
  const hint = getPromptHint(zodType);
887
- if (requirement !== "required")
1145
+ if (defaultOverride) {
1146
+ parts.push(defaultOverride.blankInstruction);
1147
+ }
1148
+ else if (requirement !== "required") {
888
1149
  parts.push("press Enter to skip");
1150
+ }
889
1151
  const description = hint ? `${label}: ${hint}\n` : "";
890
1152
  return `${description}${label} (${parts.join(", ")}): `;
891
1153
  }
@@ -924,15 +1186,116 @@ function getPromptHint(zodType) {
924
1186
  .trim();
925
1187
  if (!hint)
926
1188
  return null;
927
- return hint.length > 120 ? `${hint.slice(0, 117).trimEnd()}...` : hint;
1189
+ return hint;
1190
+ }
1191
+ function canUseKeyboardToolSelection() {
1192
+ return (input.isTTY === true &&
1193
+ output.isTTY === true &&
1194
+ typeof input.setRawMode === "function" &&
1195
+ process.env.CI !== "true");
1196
+ }
1197
+ function selectToolWithKeyboard(options) {
1198
+ return new Promise((resolve) => {
1199
+ let selectedIndex = 0;
1200
+ let typed = "";
1201
+ let error = "";
1202
+ let closed = false;
1203
+ const wasRaw = input.isRaw;
1204
+ const render = () => {
1205
+ output.write("\x1B[2J\x1B[H\x1B[?25l");
1206
+ output.write("Choose a tool:\n\n");
1207
+ for (const [index, option] of options.entries()) {
1208
+ const marker = index === selectedIndex ? ">" : " ";
1209
+ output.write(`${marker} ${index + 1}. ${option.name} - ${option.description}\n`);
1210
+ }
1211
+ output.write("\nUse Up/Down, Enter, or type a number/name.");
1212
+ output.write(`\nChoose tool: ${typed}`);
1213
+ if (error)
1214
+ output.write(`\n${error}`);
1215
+ };
1216
+ const cleanup = () => {
1217
+ if (closed)
1218
+ return;
1219
+ closed = true;
1220
+ input.off("keypress", onKeypress);
1221
+ input.setRawMode(Boolean(wasRaw));
1222
+ output.write("\x1B[?25h\n");
1223
+ };
1224
+ const finish = (toolName) => {
1225
+ cleanup();
1226
+ resolve(toolName);
1227
+ };
1228
+ const updateSelectedFromTyped = () => {
1229
+ const selected = parseToolSelection(typed, options);
1230
+ if (!selected)
1231
+ return;
1232
+ selectedIndex = options.findIndex((option) => option.name === selected);
1233
+ };
1234
+ const onKeypress = (value, key) => {
1235
+ if (key.ctrl && key.name === "c") {
1236
+ finish(null);
1237
+ return;
1238
+ }
1239
+ if (key.name === "escape") {
1240
+ finish(null);
1241
+ return;
1242
+ }
1243
+ if (key.name === "up") {
1244
+ selectedIndex = selectedIndex === 0 ? options.length - 1 : selectedIndex - 1;
1245
+ typed = "";
1246
+ error = "";
1247
+ render();
1248
+ return;
1249
+ }
1250
+ if (key.name === "down") {
1251
+ selectedIndex = selectedIndex === options.length - 1 ? 0 : selectedIndex + 1;
1252
+ typed = "";
1253
+ error = "";
1254
+ render();
1255
+ return;
1256
+ }
1257
+ if (key.name === "return" || key.name === "enter") {
1258
+ const selected = typed.trim()
1259
+ ? parseToolSelection(typed, options)
1260
+ : options[selectedIndex].name;
1261
+ if (selected) {
1262
+ finish(selected);
1263
+ return;
1264
+ }
1265
+ error = "Invalid tool selection.";
1266
+ render();
1267
+ return;
1268
+ }
1269
+ if (key.name === "backspace") {
1270
+ typed = typed.slice(0, -1);
1271
+ error = "";
1272
+ updateSelectedFromTyped();
1273
+ render();
1274
+ return;
1275
+ }
1276
+ if (value && value >= " " && !key.ctrl && key.sequence !== "\x7F") {
1277
+ typed += value;
1278
+ error = "";
1279
+ updateSelectedFromTyped();
1280
+ render();
1281
+ }
1282
+ };
1283
+ emitKeypressEvents(input);
1284
+ input.setRawMode(true);
1285
+ input.resume();
1286
+ input.on("keypress", onKeypress);
1287
+ render();
1288
+ });
928
1289
  }
929
1290
  export function main() {
930
1291
  const rl = createInterface({ input, output });
1292
+ const interactive = process.stdin.isTTY && process.stdout.isTTY && process.env.CI !== "true";
931
1293
  runCli(process.argv.slice(2), {
932
1294
  write: (s) => process.stdout.write(`${s}\n`),
933
1295
  progress: (s) => process.stderr.write(`${s}\n`),
934
1296
  prompt: (question) => rl.question(question),
935
- isInteractive: process.stdin.isTTY && process.stdout.isTTY && process.env.CI !== "true",
1297
+ selectTool: canUseKeyboardToolSelection() ? selectToolWithKeyboard : undefined,
1298
+ isInteractive: interactive,
936
1299
  exit: (code) => process.exit(code),
937
1300
  }).finally(() => rl.close());
938
1301
  }
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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"}
@@ -10,6 +10,7 @@ export interface StoredResponse {
10
10
  stored_file: string;
11
11
  format: Exclude<ResponseStoreFormat, "none">;
12
12
  }
13
+ export declare function supportsCsvStorage(toolName: string): boolean;
13
14
  export declare function validateResponseStorage(options: ResponseStoreOptions): void;
14
15
  export declare function validateResponseStorageTarget(options: ResponseStoreOptions): Promise<void>;
15
16
  export declare function storeResponse(response: any, options: ResponseStoreOptions): Promise<StoredResponse | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"response-storage.d.ts","sourceRoot":"","sources":["../src/response-storage.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAY3E;AAED,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAahG;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAUhC"}
1
+ {"version":3,"file":"response-storage.d.ts","sourceRoot":"","sources":["../src/response-storage.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAY3E;AAED,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAahG;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAUhC"}
@@ -3,6 +3,9 @@ import { constants } from "node:fs";
3
3
  import { access, mkdir, stat, unlink, writeFile } from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import { responseToCsv } from "./history.js";
6
+ export function supportsCsvStorage(toolName) {
7
+ return toolName === "get_symbol_series" || toolName === "get_symbol_history";
8
+ }
6
9
  export function validateResponseStorage(options) {
7
10
  const format = options.store ?? "none";
8
11
  if (!["none", "json", "csv"].includes(format)) {
@@ -10,8 +13,8 @@ export function validateResponseStorage(options) {
10
13
  }
11
14
  if (format === "none")
12
15
  return;
13
- if (format === "csv" && options.toolName !== "get_symbol_series") {
14
- throw new Error("csv storage is only supported for get_symbol_series");
16
+ if (format === "csv" && !supportsCsvStorage(options.toolName)) {
17
+ throw new Error("csv storage is only supported for get_symbol_series and get_symbol_history");
15
18
  }
16
19
  if (!options.output_file && !options.output_dir) {
17
20
  throw new Error("output_file or output_dir is required when store is json or csv");
@@ -1 +1 @@
1
- {"version":3,"file":"response-storage.js","sourceRoot":"","sources":["../src/response-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-storage.js","sourceRoot":"","sources":["../src/response-storage.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,6 @@ export interface RunApiToolOptions {
6
6
  args: Record<string, any>;
7
7
  request: ApiToolRequestFn;
8
8
  }
9
+ export declare function validateFilterExpression(filterExpr: string | undefined): string | null;
9
10
  export declare function runApiTool(options: RunApiToolOptions): Promise<any>;
10
11
  //# sourceMappingURL=tool-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-runner.d.ts","sourceRoot":"","sources":["../src/tool-runner.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CA4BzE"}
1
+ {"version":3,"file":"tool-runner.d.ts","sourceRoot":"","sources":["../src/tool-runner.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAID,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAQtF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAgDzE"}
@@ -2,8 +2,29 @@ import jsonata from "jsonata";
2
2
  import { validateHistoryIntervalArgs } from "./history-validation.js";
3
3
  import { storeResponse, validateResponseStorageTarget, } from "./response-storage.js";
4
4
  import { validateSymbolLikeArgs } from "./symbol-validation.js";
5
+ const DEFAULT_FILTER_ORIGINAL_OUTPUT_DIR = "./.tmp/insight";
6
+ export function validateFilterExpression(filterExpr) {
7
+ if (!filterExpr?.trim())
8
+ return null;
9
+ try {
10
+ jsonata(filterExpr);
11
+ return null;
12
+ }
13
+ catch (error) {
14
+ return error?.message ?? String(error);
15
+ }
16
+ }
5
17
  export async function runApiTool(options) {
6
18
  const { filter: filterExpr, store, output_file, output_dir, ...apiArgs } = options.args;
19
+ let filter = null;
20
+ if (filterExpr && typeof filterExpr === "string") {
21
+ try {
22
+ filter = jsonata(filterExpr);
23
+ }
24
+ catch (error) {
25
+ throw new Error(`Invalid filter: ${error?.message ?? String(error)}`);
26
+ }
27
+ }
7
28
  const storeOptions = {
8
29
  toolName: options.toolName,
9
30
  store: store,
@@ -22,10 +43,50 @@ export async function runApiTool(options) {
22
43
  await validateResponseStorageTarget(storeOptions);
23
44
  const result = await options.request(options.method, options.pathTemplate, apiArgs);
24
45
  const stored = await storeResponse(result, storeOptions);
25
- if (filterExpr && typeof filterExpr === "string") {
26
- const expr = jsonata(filterExpr);
27
- return await expr.evaluate(result);
46
+ if (filter) {
47
+ const filtered = await filter.evaluate(result);
48
+ if (!isEmptyFilteredResult(filtered))
49
+ return filtered;
50
+ const original = stored ?? (await tryStoreEmptyFilterOriginalResponse(result, options.toolName, apiArgs));
51
+ const emptyFiltered = filtered === undefined ? null : filtered;
52
+ if (!original)
53
+ return emptyFiltered;
54
+ return {
55
+ filtered: emptyFiltered,
56
+ message: `Filtered data is empty. Original response stored at ${original.stored_file}.`,
57
+ original_response_file: original.stored_file,
58
+ };
28
59
  }
29
60
  return stored ?? result;
30
61
  }
62
+ function isEmptyFilteredResult(value) {
63
+ if (value === null || value === undefined)
64
+ return true;
65
+ if (Array.isArray(value))
66
+ return value.length === 0;
67
+ if (typeof value === "string")
68
+ return value.length === 0;
69
+ if (typeof value === "object")
70
+ return Object.keys(value).length === 0;
71
+ return false;
72
+ }
73
+ async function tryStoreEmptyFilterOriginalResponse(response, toolName, requestParams) {
74
+ try {
75
+ return await storeEmptyFilterOriginalResponse(response, toolName, requestParams);
76
+ }
77
+ catch {
78
+ return null;
79
+ }
80
+ }
81
+ async function storeEmptyFilterOriginalResponse(response, toolName, requestParams) {
82
+ const stored = await storeResponse(response, {
83
+ toolName,
84
+ store: "json",
85
+ output_dir: DEFAULT_FILTER_ORIGINAL_OUTPUT_DIR,
86
+ requestParams,
87
+ });
88
+ if (!stored)
89
+ throw new Error("failed to store original response for empty filtered data");
90
+ return stored;
91
+ }
31
92
  //# sourceMappingURL=tool-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-runner.js","sourceRoot":"","sources":["../src/tool-runner.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAEL,aAAa,EACb,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAgBhE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IACxF,MAAM,YAAY,GAAG;QACnB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,KAAwC;QAC/C,WAAW;QACX,UAAU;QACV,aAAa,EAAE,OAAO;KACvB,CAAC;IAEF,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,WAAW,qBAAqB,CAAC,GAAG,KAAK,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpF,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,WAAW,oBAAoB,CAAC,GAAG,KAAK,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEzD,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,IAAI,MAAM,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"tool-runner.js","sourceRoot":"","sources":["../src/tool-runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@insightsentry/mcp",
3
3
  "mcpName": "io.github.rezmeplxrf/insightsentry_mcp",
4
- "version": "1.4.13",
4
+ "version": "1.4.15",
5
5
  "description": "MCP server for InsightSentry financial data API - provides AI-accessible tools for market data, screening, options, and comprehensive API documentation resources",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",