@insightsentry/mcp 1.4.43 → 1.4.45

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.
Files changed (51) hide show
  1. package/README.md +44 -3
  2. package/dist/api-client.d.ts +17 -5
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +125 -70
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/arg-coercion.js +10 -5
  7. package/dist/arg-coercion.js.map +1 -1
  8. package/dist/cancellation.d.ts +7 -0
  9. package/dist/cancellation.d.ts.map +1 -0
  10. package/dist/cancellation.js +48 -0
  11. package/dist/cancellation.js.map +1 -0
  12. package/dist/chart.d.ts +1 -1
  13. package/dist/chart.d.ts.map +1 -1
  14. package/dist/chart.js +96 -23
  15. package/dist/chart.js.map +1 -1
  16. package/dist/cli.d.ts +3 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +66 -15
  19. package/dist/cli.js.map +1 -1
  20. package/dist/csv.d.ts +14 -0
  21. package/dist/csv.d.ts.map +1 -0
  22. package/dist/csv.js +88 -0
  23. package/dist/csv.js.map +1 -0
  24. package/dist/history-merge.d.ts +2 -0
  25. package/dist/history-merge.d.ts.map +1 -0
  26. package/dist/history-merge.js +238 -0
  27. package/dist/history-merge.js.map +1 -0
  28. package/dist/history.d.ts +3 -1
  29. package/dist/history.d.ts.map +1 -1
  30. package/dist/history.js +59 -100
  31. package/dist/history.js.map +1 -1
  32. package/dist/index.js +22 -11
  33. package/dist/index.js.map +1 -1
  34. package/dist/response-storage.d.ts +7 -0
  35. package/dist/response-storage.d.ts.map +1 -1
  36. package/dist/response-storage.js +15 -2
  37. package/dist/response-storage.js.map +1 -1
  38. package/dist/tool-definitions.d.ts.map +1 -1
  39. package/dist/tool-definitions.js +19 -4
  40. package/dist/tool-definitions.js.map +1 -1
  41. package/dist/tool-runner.d.ts +3 -1
  42. package/dist/tool-runner.d.ts.map +1 -1
  43. package/dist/tool-runner.js +23 -3
  44. package/dist/tool-runner.js.map +1 -1
  45. package/dist/version-status.d.ts +4 -2
  46. package/dist/version-status.d.ts.map +1 -1
  47. package/dist/version-status.js +83 -33
  48. package/dist/version-status.js.map +1 -1
  49. package/dist/websocket-stream.js +2 -2
  50. package/dist/websocket-stream.js.map +1 -1
  51. package/package.json +2 -2
package/README.md CHANGED
@@ -77,7 +77,10 @@ Examples:
77
77
 
78
78
  ```bash
79
79
  insight whoami
80
+ insight list_exchanges
80
81
  insight search_symbols --query "tesla"
82
+ insight search_symbols --exchange NASDAQ --type stock
83
+ insight list_sip_symbols --filter 'symbols[code="SIP:AAPL"]'
81
84
  insight get_quotes --codes "NASDAQ:AAPL,NASDAQ:MSFT"
82
85
  insight get_symbol_series --symbol "NASDAQ:AAPL" --bar_type day --dp 30
83
86
  insight get_options_snapshot --code "CBOE:VIX_W" --range 10
@@ -87,7 +90,20 @@ insight stream_live --symbols "NASDAQ:AAPL,NASDAQ:MSFT" --type both --bar_type m
87
90
  insight stream_newsfeed --output_file ./news.ndjson --append --duration_seconds 30
88
91
  ```
89
92
 
90
- Symbol codes must use `EXCHANGE:SYMBOL` format. Use `search_symbols` before calling symbol tools.
93
+ Futures second-bar downloads request only the selected dates for each applicable contract. Date ranges must run from an earlier date to the same or a later date. MCP tools advertise required inputs and defaults while accepting the same flexible numeric and boolean inputs as the CLI.
94
+
95
+ Symbol codes must use `EXCHANGE:SYMBOL` format. Use `search_symbols` for standard codes and
96
+ `list_sip_symbols` for SIP codes; use `--filter` when you only need matching catalog rows.
97
+ `list_exchanges` returns valid exchange prefixes for the
98
+ `exchange` filter on `search_symbols`.
99
+
100
+ Built-in commands support `--help` without changing saved credentials or installing updates.
101
+
102
+ REST requests and history downloads stop on cancellation or Ctrl+C. Transient failures use bounded retries; quota exhaustion and waits beyond the retry budget return the server error promptly. Ordinary REST calls have a two-minute total deadline. Archive calls allow five minutes per attempt and forty minutes overall, including their existing concurrency backoff.
103
+
104
+ History downloads return a nonzero CLI exit code or an MCP error when any chunk fails. Failed runs keep their chunks for resuming and preserve the last complete merged CSV. CSV merging uses bounded memory and temporary disk space, preserves the first occurrence order with the latest duplicate row winning, and replaces the completed file atomically. Temporary merge files are removed on completion, failure, or cancellation.
105
+
106
+ Automatic upgrade notices use cached results while refreshing during tool work; slow lookups do not delay completed output. Concurrent lookups are shared and registry failures are cached briefly. `insight version` and `insight update` can wait for a version lookup. Automatically named response files use unique names; an explicit `output_file` retains its overwrite behavior.
91
107
 
92
108
  All API tools support:
93
109
 
@@ -103,6 +119,10 @@ All API tools support:
103
119
  insight get_symbol_series --symbol "NASDAQ:AAPL" --bar_type day --store csv --output_file ./aapl.csv
104
120
  ```
105
121
 
122
+ ### Documents
123
+
124
+ `get_document` extracts text by default and returns `{title, published_at, content}`. To save a PDF, use `--text false --output_file ./report.pdf` or `--output_dir ./documents`; the result is `{stored_file, format: "pdf", mime_type: "application/pdf"}`. Without a destination, PDF files go under `./.tmp/insight`. Non-PDF documents still return JSON. Filtering and JSON/CSV storage require text mode.
125
+
106
126
  ### WebSocket Streams
107
127
 
108
128
  The long-running WebSocket commands are available through the terminal CLI:
@@ -141,7 +161,7 @@ insight stream_live --symbols "NASDAQ:AAPL" --type quote \
141
161
  --max_messages 20 --duration_seconds 30 --quiet | jq -c .
142
162
  ```
143
163
 
144
- The CLI answers WebSocket control pings, reconnects with bounded exponential backoff, and resends
164
+ The CLI retries temporary HTTP handshake failures, answers WebSocket control pings, reconnects with bounded exponential backoff, and resends
145
165
  the complete request after reconnecting. It does not reconnect when the server returns an error that
146
166
  requires user action; that error is retained in the NDJSON output and reported on stderr before the
147
167
  command exits unsuccessfully. Advanced subscription JSON rejects unknown fields instead of silently
@@ -165,6 +185,8 @@ Quote updates can be sparse. Merge updates by `code` when maintaining a current
165
185
  Run `insight stream_live --help` or `insight stream_newsfeed --help` for every flag. Continuous
166
186
  WebSocket streaming is CLI-only; use the bounded MCP collection tools from an AI client.
167
187
 
188
+ Charts use a fixed renderer pool, write unique PNG files asynchronously, and bound queued rendering work. Cancelling a queued render releases its place.
189
+
168
190
  ## MCP Tools
169
191
 
170
192
  Auth and files:
@@ -180,7 +202,9 @@ Market data:
180
202
 
181
203
  | Tool | Purpose |
182
204
  |------|---------|
183
- | `search_symbols` | Find valid `EXCHANGE:SYMBOL` codes |
205
+ | `list_exchanges` | List exchange prefixes and supported asset types |
206
+ | `search_symbols` | Find valid standard `EXCHANGE:SYMBOL` codes, optionally by exchange |
207
+ | `list_sip_symbols` | List all supported `SIP:` symbol codes |
184
208
  | `get_quotes` | Latest quotes |
185
209
  | `get_symbol_series` | Recent OHLCV series |
186
210
  | `get_symbol_history_period` | Intraday history for a specific period |
@@ -210,3 +234,20 @@ Fundamentals, options, screeners, calendars, documents:
210
234
  | `get_newsfeed` | Financial news |
211
235
  | `get_newsfeed_sources` | Available news source names |
212
236
  | `get_documents`, `get_document` | Filings and transcripts |
237
+
238
+
239
+ ## Development
240
+
241
+ `npm run build` compiles the checked-in tool definitions. A standalone checkout needs no neighboring website directory.
242
+
243
+ Regenerate definitions from an explicitly selected public OpenAPI file, then verify drift before releasing:
244
+
245
+ ```bash
246
+ npm run generate -- --openapi /path/to/openapi.json
247
+ npm run generate -- --openapi /path/to/openapi.json --check
248
+ npm run check
249
+ npm run build
250
+ npm pack --dry-run
251
+ ```
252
+
253
+ The generator applies CLI/MCP document text defaults in addition to the public API schema. Commit the generated definitions with any generator or contract change. `--check` reports stale definitions without rewriting them.
@@ -1,3 +1,8 @@
1
+ export declare class BinaryResponse {
2
+ readonly bytes: Uint8Array;
3
+ readonly mimeType: string;
4
+ constructor(bytes: Uint8Array, mimeType: string);
5
+ }
1
6
  export declare class ApiError extends Error {
2
7
  readonly status: number;
3
8
  readonly apiMessage: string;
@@ -7,7 +12,14 @@ export declare class ApiError extends Error {
7
12
  get retryable(): boolean;
8
13
  get terminal(): boolean;
9
14
  }
15
+ export interface ApiRequestOptions {
16
+ signal?: AbortSignal;
17
+ timeoutMs?: number;
18
+ }
10
19
  export interface ApiClientOptions {
20
+ requestTimeoutMs?: number;
21
+ historyRequestTimeoutMs?: number;
22
+ retryBudgetMs?: number;
11
23
  retryDelaysMs?: readonly number[];
12
24
  historyRateLimitRetryDelayMs?: number;
13
25
  sleep?: (delayMs: number) => Promise<void>;
@@ -26,12 +38,12 @@ export declare class ApiClient {
26
38
  private retryDelaysMs;
27
39
  private historyRateLimitRetryDelayMs;
28
40
  private historyRateLimitPause;
29
- private sleep;
41
+ private sleep?;
42
+ private options;
30
43
  private onRetry?;
31
44
  constructor(apiKey: string, options?: ApiClientOptions);
32
- request(method: string, pathTemplate: string, params: Record<string, any>): Promise<any>;
33
- private waitForRetry;
34
- private waitForHistoryRateLimitPause;
35
- private sleepWithRetryNotice;
45
+ request(method: string, pathTemplate: string, params: Record<string, any>, options?: ApiRequestOptions): Promise<any>;
46
+ private performRequest;
47
+ private retryFor;
36
48
  }
37
49
  //# sourceMappingURL=api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAaA,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;gBAGnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,OAAc,EACpB,YAAY,GAAE,MAAM,GAAG,IAAW;IAUpC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAItB;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK1D;AA4CD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,OAAO,CAAC,CAAiC;gBAErC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IASpD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;YAuEhF,YAAY;YAmDZ,4BAA4B;YAsB5B,oBAAoB;CAgBnC"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAeA,qBAAa,cAAc;IAEvB,QAAQ,CAAC,KAAK,EAAE,UAAU;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBADhB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM;CAE5B;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;gBAGnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,OAAc,EACpB,YAAY,GAAE,MAAM,GAAG,IAAW;IAUpC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAKtB;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK1D;AAwCD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,qBAAqB,CAIb;IAChB,OAAO,CAAC,KAAK,CAAC,CAAqC;IACnD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAC,CAAiC;gBAErC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAUpD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,GAAG,CAAC;YAiBD,cAAc;IAiI5B,OAAO,CAAC,QAAQ;CAqCjB"}
@@ -1,3 +1,4 @@
1
+ import { abortable, deadline, delay } from "./cancellation.js";
1
2
  const BASE_URL = "https://api.insightsentry.com";
2
3
  const DEFAULT_RETRY_DELAYS_MS = [500, 1000];
3
4
  const HISTORY_RATE_LIMIT_RETRY_DELAY_MS = 60_000;
@@ -8,6 +9,14 @@ const RETRYABLE_TERMINAL_STATUSES = new Set([408, 429]);
8
9
  const SYMBOL_CODE_PATTERN = /^[A-Z0-9_./-]+:[A-Z0-9_./!-]+$/;
9
10
  // Parameter names that expect a symbol code
10
11
  const SYMBOL_PARAM_NAMES = new Set(["symbol", "code", "codes"]);
12
+ export class BinaryResponse {
13
+ bytes;
14
+ mimeType;
15
+ constructor(bytes, mimeType) {
16
+ this.bytes = bytes;
17
+ this.mimeType = mimeType;
18
+ }
19
+ }
11
20
  export class ApiError extends Error {
12
21
  status;
13
22
  apiMessage;
@@ -25,7 +34,8 @@ export class ApiError extends Error {
25
34
  return this.status >= 500 && this.status <= 599;
26
35
  }
27
36
  get terminal() {
28
- return (this.status >= 400 && this.status <= 499 && !RETRYABLE_TERMINAL_STATUSES.has(this.status));
37
+ return (this.body?.error === "quota_exceeded" ||
38
+ (this.status >= 400 && this.status <= 499 && !RETRYABLE_TERMINAL_STATUSES.has(this.status)));
29
39
  }
30
40
  }
31
41
  function validateSymbolParams(params) {
@@ -74,7 +84,7 @@ function parseRetryAfterMs(value) {
74
84
  if (!value?.trim())
75
85
  return null;
76
86
  const seconds = Number(value);
77
- if (Number.isFinite(seconds) && seconds > 0) {
87
+ if (Number.isFinite(seconds) && seconds >= 0) {
78
88
  return Math.ceil(seconds * 1000);
79
89
  }
80
90
  const dateMs = Date.parse(value);
@@ -82,9 +92,6 @@ function parseRetryAfterMs(value) {
82
92
  return null;
83
93
  return Math.max(0, dateMs - Date.now());
84
94
  }
85
- function sleep(delayMs) {
86
- return new Promise((resolve) => setTimeout(resolve, delayMs));
87
- }
88
95
  function isRetryableHistoryRateLimitMessage(message) {
89
96
  return message === "Rate limit exceeded";
90
97
  }
@@ -98,16 +105,33 @@ export class ApiClient {
98
105
  historyRateLimitRetryDelayMs;
99
106
  historyRateLimitPause = null;
100
107
  sleep;
108
+ options;
101
109
  onRetry;
102
110
  constructor(apiKey, options = {}) {
103
111
  this.apiKey = apiKey;
112
+ this.options = options;
104
113
  this.retryDelaysMs = options.retryDelaysMs ?? DEFAULT_RETRY_DELAYS_MS;
105
114
  this.historyRateLimitRetryDelayMs =
106
115
  options.historyRateLimitRetryDelayMs ?? HISTORY_RATE_LIMIT_RETRY_DELAY_MS;
107
- this.sleep = options.sleep ?? sleep;
116
+ this.sleep = options.sleep;
108
117
  this.onRetry = options.onRetry;
109
118
  }
110
- async request(method, pathTemplate, params) {
119
+ async request(method, pathTemplate, params, options = {}) {
120
+ const history = isHistoryEndpoint(pathTemplate);
121
+ // Preserve the existing archive concurrency retry window, with a finite total deadline.
122
+ const scope = deadline(options.signal, options.timeoutMs ??
123
+ (history
124
+ ? (this.options.historyRequestTimeoutMs ?? 40 * 60_000)
125
+ : (this.options.requestTimeoutMs ?? 120_000)));
126
+ try {
127
+ return await this.performRequest(method, pathTemplate, params, scope.signal);
128
+ }
129
+ finally {
130
+ scope.close();
131
+ }
132
+ }
133
+ async performRequest(method, pathTemplate, params, signal) {
134
+ signal.throwIfAborted();
111
135
  // Validate symbol codes before making the request
112
136
  const symbolError = validateSymbolParams(params);
113
137
  if (symbolError) {
@@ -147,83 +171,114 @@ export class ApiClient {
147
171
  else {
148
172
  init.body = JSON.stringify(remaining);
149
173
  }
174
+ const retryBudget = this.options.retryBudgetMs ?? (isHistoryEndpoint(pathTemplate) ? 35 * 60_000 : 60_000);
175
+ let waitedMs = 0;
176
+ const started = Date.now();
150
177
  for (let attempt = 0;; attempt += 1) {
151
- let response;
178
+ signal.throwIfAborted();
179
+ let failure;
180
+ const attemptScope = deadline(signal, isHistoryEndpoint(pathTemplate) ? 300_000 : 120_000);
152
181
  try {
153
- response = await fetch(url, init);
182
+ const response = await abortable(fetch(url, { ...init, signal: attemptScope.signal }), attemptScope.signal);
183
+ if (response.ok) {
184
+ const mimeType = response.headers
185
+ .get("content-type")
186
+ ?.split(";", 1)[0]
187
+ .trim()
188
+ .toLowerCase();
189
+ if (mimeType === "application/pdf" || mimeType === "application/octet-stream") {
190
+ const body = await abortable(response.arrayBuffer(), attemptScope.signal);
191
+ return new BinaryResponse(new Uint8Array(body), mimeType);
192
+ }
193
+ return await abortable(mimeType?.includes("application/json") ? response.json() : response.text(), attemptScope.signal);
194
+ }
195
+ failure = await abortable(apiErrorFromResponse(response), attemptScope.signal);
154
196
  }
155
197
  catch (error) {
156
- const retryDelay = this.retryDelaysMs[attempt];
157
- if (retryDelay !== undefined) {
158
- await this.sleep(retryDelay);
159
- continue;
160
- }
161
- throw error;
198
+ signal.throwIfAborted();
199
+ attemptScope.signal.throwIfAborted();
200
+ failure = error;
201
+ }
202
+ finally {
203
+ attemptScope.close();
162
204
  }
163
- if (response.ok) {
164
- const contentType = response.headers.get("content-type") || "";
165
- if (contentType.includes("application/json")) {
166
- return response.json();
205
+ signal.throwIfAborted();
206
+ const retry = failure instanceof ApiError
207
+ ? this.retryFor(failure, pathTemplate, attempt)
208
+ : this.retryDelaysMs[attempt] !== undefined
209
+ ? { delayMs: this.retryDelaysMs[attempt] }
210
+ : null;
211
+ if (!retry || retry.delayMs > retryBudget - Math.max(waitedMs, Date.now() - started))
212
+ throw failure;
213
+ waitedMs += retry.delayMs;
214
+ if (retry.reason && failure instanceof ApiError) {
215
+ this.onRetry?.({
216
+ status: failure.status,
217
+ delayMs: retry.delayMs,
218
+ attempt,
219
+ pathTemplate,
220
+ reason: retry.reason,
221
+ });
222
+ }
223
+ if (retry.shared) {
224
+ if (!this.historyRateLimitPause) {
225
+ const controller = new AbortController();
226
+ const promise = this.sleep
227
+ ? abortable(this.sleep(retry.delayMs), controller.signal)
228
+ : delay(retry.delayMs, controller.signal);
229
+ this.historyRateLimitPause = { promise, controller, waiters: 0 };
230
+ }
231
+ const pause = this.historyRateLimitPause;
232
+ pause.waiters++;
233
+ try {
234
+ await abortable(pause.promise, signal);
235
+ }
236
+ finally {
237
+ if (--pause.waiters === 0) {
238
+ if (this.historyRateLimitPause === pause)
239
+ this.historyRateLimitPause = null;
240
+ pause.controller.abort();
241
+ }
167
242
  }
168
- return response.text();
169
243
  }
170
- const error = await apiErrorFromResponse(response);
171
- if (await this.waitForRetry(error, pathTemplate, attempt)) {
172
- continue;
244
+ else {
245
+ await (this.sleep
246
+ ? abortable(this.sleep(retry.delayMs), signal)
247
+ : delay(retry.delayMs, signal));
173
248
  }
174
- throw error;
175
249
  }
176
250
  }
177
- async waitForRetry(error, pathTemplate, attempt) {
251
+ retryFor(error, pathTemplate, attempt) {
252
+ if (error.terminal)
253
+ return null;
178
254
  const retryDelay = this.retryDelaysMs[attempt];
179
255
  if (error.status === 429 && error.retryAfterMs !== null && attempt < RETRY_AFTER_MAX_RETRIES) {
180
- await this.sleepWithRetryNotice(error, pathTemplate, attempt, error.retryAfterMs, "rate limited");
181
- return true;
182
- }
183
- if (error.retryable && retryDelay !== undefined) {
184
- await this.sleep(retryDelay);
185
- return true;
186
- }
187
- if (isHistoryEndpoint(pathTemplate) && error.status === 408 && retryDelay !== undefined) {
188
- await this.sleep(retryDelay);
189
- return true;
190
- }
191
- if (isHistoryEndpoint(pathTemplate) &&
192
- error.status === 429 &&
193
- isHistoryConcurrencyMessage(error.apiMessage) &&
194
- attempt < HISTORY_CONCURRENCY_MAX_RETRIES) {
195
- await this.sleepWithRetryNotice(error, pathTemplate, attempt, this.historyRateLimitRetryDelayMs * 2 ** attempt, "history concurrency limit");
196
- return true;
197
- }
198
- if (attempt === 0 &&
199
- isHistoryEndpoint(pathTemplate) &&
200
- error.status === 429 &&
201
- isRetryableHistoryRateLimitMessage(error.apiMessage)) {
202
- await this.waitForHistoryRateLimitPause(error, pathTemplate, attempt);
203
- return true;
256
+ return { delayMs: error.retryAfterMs, reason: "rate limited" };
204
257
  }
205
- return false;
206
- }
207
- async waitForHistoryRateLimitPause(error, pathTemplate, attempt) {
208
- if (!this.historyRateLimitPause) {
209
- const pause = this.sleepWithRetryNotice(error, pathTemplate, attempt, this.historyRateLimitRetryDelayMs, "history rate limit").finally(() => {
210
- if (this.historyRateLimitPause === pause) {
211
- this.historyRateLimitPause = null;
212
- }
213
- });
214
- this.historyRateLimitPause = pause;
258
+ if (error.retryable && retryDelay !== undefined)
259
+ return { delayMs: retryDelay };
260
+ if (isHistoryEndpoint(pathTemplate)) {
261
+ if (error.status === 408 && retryDelay !== undefined)
262
+ return { delayMs: retryDelay };
263
+ if (error.status === 429 &&
264
+ isHistoryConcurrencyMessage(error.apiMessage) &&
265
+ attempt < HISTORY_CONCURRENCY_MAX_RETRIES) {
266
+ return {
267
+ delayMs: this.historyRateLimitRetryDelayMs * 2 ** attempt,
268
+ reason: "history concurrency limit",
269
+ };
270
+ }
271
+ if (attempt === 0 &&
272
+ error.status === 429 &&
273
+ isRetryableHistoryRateLimitMessage(error.apiMessage)) {
274
+ return {
275
+ delayMs: this.historyRateLimitRetryDelayMs,
276
+ reason: "history rate limit",
277
+ shared: true,
278
+ };
279
+ }
215
280
  }
216
- await this.historyRateLimitPause;
217
- }
218
- async sleepWithRetryNotice(error, pathTemplate, attempt, delayMs, reason) {
219
- this.onRetry?.({
220
- status: error.status,
221
- delayMs,
222
- attempt,
223
- pathTemplate,
224
- reason,
225
- });
226
- await this.sleep(delayMs);
281
+ return null;
227
282
  }
228
283
  }
229
284
  //# sourceMappingURL=api-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -30,17 +30,22 @@ export function getZodEnumValues(t) {
30
30
  function makeFlexibleZodType(t) {
31
31
  const def = getZodDef(t);
32
32
  const type = getDefType(def);
33
+ let result = t;
33
34
  if ((type === "optional" || type === "default") && def.innerType) {
34
35
  const inner = makeFlexibleZodType(def.innerType);
35
36
  if (type === "default") {
36
- return inner.default(def.defaultValue);
37
+ // Input defaults remain visible in JSON Schema even through preprocessing.
38
+ result = inner.prefault(def.defaultValue);
39
+ }
40
+ else {
41
+ // prefault already accepts missing input; optional would skip its default.
42
+ result = getDefType(getZodDef(def.innerType)) === "default" ? inner : inner.optional();
37
43
  }
38
- return inner.optional();
39
44
  }
40
- if (["number", "boolean", "array", "string", "enum"].includes(type)) {
41
- return z.preprocess((value) => coerceValue(value, t), t);
45
+ else if (["number", "boolean", "array", "string", "enum"].includes(type)) {
46
+ result = z.preprocess((value) => coerceValue(value, t), t).nonoptional();
42
47
  }
43
- return t;
48
+ return t.description ? result.describe(t.description) : result;
44
49
  }
45
50
  function coerceValue(value, zodType) {
46
51
  if (value === undefined || value === null)
@@ -1 +1 @@
1
- {"version":3,"file":"arg-coercion.js","sourceRoot":"","sources":["../src/arg-coercion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arg-coercion.js","sourceRoot":"","sources":["../src/arg-coercion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function abortable<T>(promise: Promise<T>, signal?: AbortSignal): Promise<T>;
2
+ export declare function delay(ms: number, signal?: AbortSignal): Promise<void>;
3
+ export declare function deadline(parent: AbortSignal | undefined, timeoutMs: number): {
4
+ signal: AbortSignal;
5
+ close: () => void;
6
+ };
7
+ //# sourceMappingURL=cancellation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../src/cancellation.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAWlF;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAarE;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM;;;EAmB1E"}
@@ -0,0 +1,48 @@
1
+ export function abortable(promise, signal) {
2
+ if (!signal)
3
+ return promise;
4
+ return new Promise((resolve, reject) => {
5
+ const abort = () => {
6
+ signal.removeEventListener("abort", abort);
7
+ reject(signal.reason);
8
+ };
9
+ signal.addEventListener("abort", abort, { once: true });
10
+ if (signal.aborted)
11
+ abort();
12
+ promise.then(resolve, reject).finally(() => signal.removeEventListener("abort", abort));
13
+ });
14
+ }
15
+ export function delay(ms, signal) {
16
+ signal?.throwIfAborted();
17
+ return new Promise((resolve, reject) => {
18
+ const abort = () => {
19
+ clearTimeout(timer);
20
+ reject(signal?.reason);
21
+ };
22
+ const timer = setTimeout(() => {
23
+ signal?.removeEventListener("abort", abort);
24
+ resolve();
25
+ }, ms);
26
+ signal?.addEventListener("abort", abort, { once: true });
27
+ });
28
+ }
29
+ export function deadline(parent, timeoutMs) {
30
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0 || timeoutMs > 2_147_483_647) {
31
+ throw new Error("Request timeout must be between 1 and 2147483647 milliseconds");
32
+ }
33
+ const controller = new AbortController();
34
+ const abort = () => controller.abort(parent?.reason);
35
+ if (parent?.aborted)
36
+ abort();
37
+ else
38
+ parent?.addEventListener("abort", abort, { once: true });
39
+ const timer = setTimeout(() => controller.abort(new DOMException("API request timed out", "TimeoutError")), timeoutMs);
40
+ return {
41
+ signal: controller.signal,
42
+ close: () => {
43
+ clearTimeout(timer);
44
+ parent?.removeEventListener("abort", abort);
45
+ },
46
+ };
47
+ }
48
+ //# sourceMappingURL=cancellation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../src/cancellation.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAI,OAAmB,EAAE,MAAoB;IACpE,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,MAAoB;IACpD,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAA+B,EAAE,SAAiB;IACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,MAAM,EAAE,OAAO;QAAE,KAAK,EAAE,CAAC;;QACxB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC,EACjF,SAAS,CACV,CAAC;IACF,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,KAAK,EAAE,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/chart.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ChartConfiguration } from "chart.js";
2
- export declare function renderChart(config: ChartConfiguration, width?: number, height?: number): Promise<{
2
+ export declare function renderChart(config: ChartConfiguration, width?: number, height?: number, signal?: AbortSignal): Promise<{
3
3
  base64: string;
4
4
  filePath: string;
5
5
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../src/chart.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAuBnD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,KAAK,GAAE,MAAsB,EAC7B,MAAM,GAAE,MAAuB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAW/C"}
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../src/chart.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAa,MAAM,UAAU,CAAC;AAiF9D,wBAAsB,WAAW,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,KAAK,GAAE,MAAsB,EAC7B,MAAM,GAAE,MAAuB,EAC/B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAe/C"}