@cyanheads/secedgar-mcp-server 0.15.7 → 0.15.9

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 (106) hide show
  1. package/AGENTS.md +25 -14
  2. package/CLAUDE.md +25 -14
  3. package/README.md +117 -162
  4. package/changelog/0.15.x/0.15.8.md +29 -0
  5. package/changelog/0.15.x/0.15.9.md +32 -0
  6. package/dist/config/server-config.d.ts.map +1 -1
  7. package/dist/config/server-config.js +1 -1
  8. package/dist/config/server-config.js.map +1 -1
  9. package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js +2 -2
  10. package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js.map +1 -1
  11. package/dist/mcp-server/resources/definitions/concepts.resource.d.ts +2 -1
  12. package/dist/mcp-server/resources/definitions/concepts.resource.d.ts.map +1 -1
  13. package/dist/mcp-server/resources/definitions/concepts.resource.js +5 -4
  14. package/dist/mcp-server/resources/definitions/concepts.resource.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/company-search.tool.js +15 -26
  17. package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +10 -0
  19. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/compare-companies.tool.js +143 -14
  21. package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
  23. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +7 -1
  24. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
  25. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +6 -1
  26. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
  27. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +93 -32
  28. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
  29. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js +1 -1
  30. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js.map +1 -1
  31. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
  32. package/dist/mcp-server/tools/definitions/get-filing.tool.js +16 -11
  33. package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
  34. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +6 -0
  35. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
  36. package/dist/mcp-server/tools/definitions/get-financials.tool.js +130 -60
  37. package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
  38. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts +5 -2
  39. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts.map +1 -1
  40. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js +151 -28
  41. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js.map +1 -1
  42. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts +1 -1
  43. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts.map +1 -1
  44. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js +89 -41
  45. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js.map +1 -1
  46. package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts.map +1 -1
  47. package/dist/mcp-server/tools/definitions/get-material-events.tool.js +29 -33
  48. package/dist/mcp-server/tools/definitions/get-material-events.tool.js.map +1 -1
  49. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +3 -0
  50. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
  51. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +16 -7
  52. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
  53. package/dist/mcp-server/tools/definitions/index.d.ts +87 -60
  54. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  55. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts +2 -1
  56. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts.map +1 -1
  57. package/dist/mcp-server/tools/definitions/search-concepts.tool.js +5 -4
  58. package/dist/mcp-server/tools/definitions/search-concepts.tool.js.map +1 -1
  59. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
  60. package/dist/mcp-server/tools/definitions/search-filings.tool.js +12 -20
  61. package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
  62. package/dist/services/edgar/concept-map.d.ts +38 -4
  63. package/dist/services/edgar/concept-map.d.ts.map +1 -1
  64. package/dist/services/edgar/concept-map.js +196 -9
  65. package/dist/services/edgar/concept-map.js.map +1 -1
  66. package/dist/services/edgar/concept-series.d.ts +79 -18
  67. package/dist/services/edgar/concept-series.d.ts.map +1 -1
  68. package/dist/services/edgar/concept-series.js +175 -25
  69. package/dist/services/edgar/concept-series.js.map +1 -1
  70. package/dist/services/edgar/edgar-api-service.d.ts +57 -47
  71. package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
  72. package/dist/services/edgar/edgar-api-service.js +247 -182
  73. package/dist/services/edgar/edgar-api-service.js.map +1 -1
  74. package/dist/services/edgar/filing-headers.d.ts +37 -9
  75. package/dist/services/edgar/filing-headers.d.ts.map +1 -1
  76. package/dist/services/edgar/filing-headers.js +40 -11
  77. package/dist/services/edgar/filing-headers.js.map +1 -1
  78. package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
  79. package/dist/services/edgar/filing-to-text.js +24 -2
  80. package/dist/services/edgar/filing-to-text.js.map +1 -1
  81. package/dist/services/edgar/mirror/edgar-mirror.d.ts +10 -1
  82. package/dist/services/edgar/mirror/edgar-mirror.d.ts.map +1 -1
  83. package/dist/services/edgar/mirror/edgar-mirror.js +52 -13
  84. package/dist/services/edgar/mirror/edgar-mirror.js.map +1 -1
  85. package/dist/services/edgar/mirror/tickers-sync.d.ts +4 -2
  86. package/dist/services/edgar/mirror/tickers-sync.d.ts.map +1 -1
  87. package/dist/services/edgar/mirror/tickers-sync.js +4 -2
  88. package/dist/services/edgar/mirror/tickers-sync.js.map +1 -1
  89. package/dist/services/edgar/mirror/types.d.ts +6 -2
  90. package/dist/services/edgar/mirror/types.d.ts.map +1 -1
  91. package/dist/services/edgar/ownership-parser.d.ts +16 -0
  92. package/dist/services/edgar/ownership-parser.d.ts.map +1 -1
  93. package/dist/services/edgar/ownership-parser.js +19 -0
  94. package/dist/services/edgar/ownership-parser.js.map +1 -1
  95. package/dist/services/edgar/submissions-archive.d.ts +78 -0
  96. package/dist/services/edgar/submissions-archive.d.ts.map +1 -0
  97. package/dist/services/edgar/submissions-archive.js +87 -0
  98. package/dist/services/edgar/submissions-archive.js.map +1 -0
  99. package/dist/services/edgar/trigram-similarity.d.ts +13 -0
  100. package/dist/services/edgar/trigram-similarity.d.ts.map +1 -0
  101. package/dist/services/edgar/trigram-similarity.js +40 -0
  102. package/dist/services/edgar/trigram-similarity.js.map +1 -0
  103. package/dist/services/edgar/types.d.ts +12 -2
  104. package/dist/services/edgar/types.d.ts.map +1 -1
  105. package/package.json +2 -2
  106. package/server.json +3 -3
@@ -6,8 +6,8 @@
6
6
  import { tool, z } from '@cyanheads/mcp-ts-core';
7
7
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
8
8
  import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
9
- import { resolveConceptTarget } from '../../../services/edgar/concept-map.js';
10
- import { matchesPeriodType, preferredTagIndex, resolveFrameSeries, seriesStalenessCaveats, } from '../../../services/edgar/concept-series.js';
9
+ import { describeUnknownConcepts, findUnknownConcept, resolveConceptTarget, } from '../../../services/edgar/concept-map.js';
10
+ import { describingTag, matchesPeriodType, resolveFrameSeries, seriesStalenessCaveats, } from '../../../services/edgar/concept-series.js';
11
11
  import { getEdgarApiService } from '../../../services/edgar/edgar-api-service.js';
12
12
  import { missingQuarterCaveats } from '../../../services/edgar/fiscal-periods.js';
13
13
  export const getFinancialsTool = tool('secedgar_get_financials', {
@@ -39,6 +39,12 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
39
39
  when: 'The company input resolves to multiple entities and the target is ambiguous',
40
40
  recovery: 'Use a ticker symbol or 10-digit CIK from the matches list for an exact match.',
41
41
  },
42
+ {
43
+ reason: 'unknown_concept',
44
+ code: JsonRpcErrorCode.NotFound,
45
+ when: 'The concept input is neither a supported friendly name nor shaped like an XBRL tag, so no request is sent',
46
+ recovery: 'Use a friendly name from secedgar_search_concepts or a valid raw XBRL tag.',
47
+ },
42
48
  {
43
49
  reason: 'no_concept_data',
44
50
  code: JsonRpcErrorCode.NotFound,
@@ -96,13 +102,17 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
96
102
  output: z.object({
97
103
  company: z.string().describe('Resolved entity name (SEC-conformed).'),
98
104
  cik: z.string().describe('Resolved CIK, zero-padded to 10 digits.'),
99
- concept: z.string().describe('XBRL tag name used.'),
100
- label: z.string().describe('Human-readable label for the concept.'),
105
+ concept: z
106
+ .string()
107
+ .describe('XBRL tag behind the newest value. A friendly name can walk several tags, so each row names its own.'),
108
+ label: z.string().describe('Human-readable taxonomy label of the concept tag.'),
101
109
  description: z
102
110
  .string()
103
111
  .optional()
104
- .describe('XBRL taxonomy description for this concept. Often absent for company-extension tags or older concepts.'),
105
- unit: z.string().describe('Unit of measure (e.g., "USD", "shares", "USD/shares").'),
112
+ .describe('XBRL taxonomy description of the concept tag. Often absent for company-extension tags or older concepts.'),
113
+ unit: z
114
+ .string()
115
+ .describe('Unit of measure of the newest value (e.g., "USD", "shares", "USD/shares").'),
106
116
  data: z
107
117
  .array(z
108
118
  .object({
@@ -126,9 +136,12 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
126
136
  accession_number: z
127
137
  .string()
128
138
  .describe('Source filing accession number for secedgar_get_filing.'),
139
+ tag: z
140
+ .string()
141
+ .describe('XBRL tag this value was reported under — differs from concept when an older or successor tag in the friendly name answers this period.'),
129
142
  })
130
- .describe('One reported value with its period, fiscal context, and source filing.'))
131
- .describe('Deduplicated time series, newest first.'),
143
+ .describe('One reported value with its period, fiscal context, source filing, and source tag.'))
144
+ .describe("Deduplicated time series, newest first — one value per calendar period. Where SEC's period frame sits on a proxy statement's figure (the pay-versus-performance table re-tags net income), the value comes from the filer's own report of the same period; an annual period SEC framed on a 10-Q's trailing-twelve-month figure is left out, since the filer has not closed that year."),
132
145
  tags_tried: z
133
146
  .array(z.string())
134
147
  .optional()
@@ -149,6 +162,21 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
149
162
  .describe("Data-completeness warnings about the returned series. Two kinds. On quarterly results, one entry when one or two calendar quarters are absent from every recent qualifying year — SEC reports a filer's fiscal Q4 as the 10-K residual rather than a discrete quarterly fact, so the calendar quarter fiscal Q4 spans has no frame-tagged value, and a filer whose other fiscal quarters span non-calendar durations loses a second quarter the same way. Applies to calendar-year filers (no discrete Q4) as much as to off-calendar ones. On any result, one entry when the series stops well short of today — either because the concept resolved to an XBRL tag SEC has retired from the taxonomy (the current tags reported nothing), or because a current tag's series ends more than two years plus a filing window back, which is what a filer migrating to a different element or dropping the disclosure looks like. Absent when the series has nothing to flag."),
150
163
  }),
151
164
  async handler(input, ctx) {
165
+ /**
166
+ * A name that is neither a catalog entry nor tag-shaped can match nothing
167
+ * SEC holds, so it fails here — before company resolution, and before the
168
+ * tag is interpolated into a request path (#128).
169
+ */
170
+ const unknown = findUnknownConcept(input.concept);
171
+ if (unknown) {
172
+ const { message, hint } = describeUnknownConcepts([unknown]);
173
+ throw ctx.fail('unknown_concept', message, {
174
+ recovery: { hint },
175
+ concept: unknown.concept,
176
+ suggestions: unknown.suggestions,
177
+ ...(unknown.derivation ? { derivation: unknown.derivation } : {}),
178
+ });
179
+ }
152
180
  const api = getEdgarApiService();
153
181
  // Resolve company to CIK
154
182
  const resolved = await api.resolveCik(input.company);
@@ -184,52 +212,95 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
184
212
  // Resolve concept to taxonomy + XBRL tag(s). The mapping's own taxonomy wins
185
213
  // over the `us-gaap` default (e.g. `dei` for shares_outstanding); ifrs-full
186
214
  // uses the confirmed IFRS variants when the mapping has them.
187
- const { label, tagSelection, tags, taxonomy, unit: mappedUnit, } = resolveConceptTarget(input.concept, input.taxonomy);
215
+ const { label, tagSelection, tags, taxonomy } = resolveConceptTarget(input.concept, input.taxonomy);
188
216
  // Default to "annual" for unset period_type; post-fetch fallback handles instant concepts (#48).
189
217
  const effectivePeriodType = input.period_type ?? 'annual';
190
218
  // Try each tag until we get data. `tryGetCompanyConcept` returns null for 404
191
219
  // (tag not reported by this company); other errors propagate.
192
- /** Responding tags keyed by array position, in declared order. */
220
+ /** Taxonomy metadata of every tag that carried values, keyed by tag. */
193
221
  const responses = new Map();
194
222
  const tagsTried = [];
195
223
  /**
196
- * Each unit is augmented with its source-tag index so the frame dedup can
197
- * resolve collisions by tag priority (#44). Index 0 = preferred total.
224
+ * Each value is augmented with its source tag, the tag's array position, and
225
+ * its unit key: the position resolves collisions by tag priority (#44, index
226
+ * 0 = preferred total), the tag and unit key are the value's provenance and
227
+ * scope the proxy-frame swap (#123, #125).
198
228
  */
199
229
  const allUnits = [];
230
+ const collect = (tag, tagIndex, units, meta) => {
231
+ responses.set(tag, meta);
232
+ for (const [unit, values] of Object.entries(units)) {
233
+ for (const value of values)
234
+ allUnits.push({ ...value, tag, tagIndex, unit });
235
+ }
236
+ };
237
+ /**
238
+ * Tags whose companyconcept payload named the tag but carried no values. SEC
239
+ * serves some filers' units as an object where an array belongs, and the
240
+ * service edge drops those; a well-formed payload always carries a unit, since
241
+ * SEC answers an unreported tag with a 404 (#141).
242
+ */
243
+ const servedEmpty = [];
200
244
  for (const [tagIndex, tag] of tags.entries()) {
201
245
  tagsTried.push(tag);
202
246
  const resp = await api.tryGetCompanyConcept(match.cik, taxonomy, tag);
203
247
  if (!resp)
204
248
  continue;
205
- responses.set(tagIndex, {
206
- units: resp.units,
249
+ if (Object.keys(resp.units).length === 0) {
250
+ servedEmpty.push({ tag, tagIndex });
251
+ continue;
252
+ }
253
+ collect(tag, tagIndex, resp.units, {
207
254
  label: resp.label,
208
255
  description: resp.description ?? undefined,
209
- tag: resp.tag,
210
256
  });
211
- for (const units of Object.values(resp.units)) {
212
- for (const u of units) {
213
- allUnits.push({ ...u, tagIndex });
214
- }
257
+ }
258
+ /**
259
+ * The filer's companyfacts payload, read at most once: it answers every tag
260
+ * companyconcept served empty — the same filer's companyfacts carries those
261
+ * facts well-formed — and backs the no-data probe below. `undefined` until read.
262
+ */
263
+ let facts;
264
+ if (servedEmpty.length > 0) {
265
+ facts = await api.tryGetCompanyFacts(match.cik);
266
+ const namespace = facts?.facts[taxonomy];
267
+ for (const { tag, tagIndex } of servedEmpty) {
268
+ const concept = namespace?.[tag];
269
+ if (!concept)
270
+ continue;
271
+ // An absent label falls back to the concept's own at the return below.
272
+ collect(tag, tagIndex, concept.units, {
273
+ label: concept.label ?? '',
274
+ description: concept.description,
275
+ });
215
276
  }
216
277
  }
217
278
  /**
218
- * The concept is described by the tag that won for this filer, which under a
219
- * `coverage` selection is not the first one to respond (#101).
279
+ * Collapse to one value per standard calendar period — frame-bearing entries
280
+ * only, a proxy-held frame answered by the filer's reporting-form fact,
281
+ * same-frame collisions resolved by tag priority then latest `filed` (#44,
282
+ * #123). An empty map means the concept exists but has no frame-aligned entries.
220
283
  */
221
- const winningTagIndex = preferredTagIndex(allUnits, tagSelection);
222
- const conceptResponse = winningTagIndex !== undefined ? responses.get(winningTagIndex) : undefined;
223
- if (!conceptResponse || allUnits.length === 0) {
284
+ const byFrameClean = resolveFrameSeries(allUnits, tagSelection);
285
+ /**
286
+ * The concept is described by the tag behind its newest value: a successor
287
+ * behind an older leader answers the recent frames (#125), and under a
288
+ * `coverage` selection only the winner contributes at all (#101).
289
+ */
290
+ const conceptTag = describingTag([...byFrameClean.values()], allUnits, tagSelection);
291
+ const conceptResponse = conceptTag !== undefined ? responses.get(conceptTag) : undefined;
292
+ if (conceptTag === undefined || !conceptResponse) {
224
293
  // Probe companyfacts to discover what namespaces and tags this filer actually reports.
225
294
  // Only on the error path — one extra request, never on the happy path.
226
- const facts = await api.tryGetCompanyFacts(match.cik);
295
+ if (facts === undefined)
296
+ facts = await api.tryGetCompanyFacts(match.cik);
227
297
  const availableNamespaces = facts ? Object.keys(facts.facts) : [];
228
298
  let hint;
229
299
  if (facts && availableNamespaces.length > 0) {
300
+ const { facts: namespaces } = facts;
230
301
  const namespaceSummary = availableNamespaces
231
302
  .map((ns) => {
232
- const nsTags = Object.keys(facts.facts[ns] ?? {});
303
+ const nsTags = Object.keys(namespaces[ns] ?? {});
233
304
  const searchTerm = tagsTried[0]?.toLowerCase().replace(/_/g, '') ?? '';
234
305
  // Surface a few matching tags when the requested concept overlaps with this namespace
235
306
  const matchingTags = searchTerm
@@ -257,15 +328,16 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
257
328
  });
258
329
  }
259
330
  /**
260
- * Collapse to one value per standard calendar period — frame-bearing entries
261
- * only, same-frame collisions resolved by tag priority then latest `filed`
262
- * (#44). An empty map means the concept exists but has no frame-aligned entries.
331
+ * Read from the full deduped set, not the period-filtered slice: an annual
332
+ * view that stops a year behind a still-current quarterly series is a
333
+ * property of the filter, not of the concept. Undefined exactly when no
334
+ * value carried a frame.
263
335
  */
264
- const byFrameClean = resolveFrameSeries(allUnits, tagSelection);
265
- if (byFrameClean.size === 0) {
266
- throw ctx.fail('no_frame_data', `'${conceptResponse.tag}' exists for this company but has no standard-period data.`, {
336
+ const newestFramed = [...byFrameClean.values()].reduce((newest, unit) => (!newest || unit.end > newest.end ? unit : newest), undefined);
337
+ if (!newestFramed) {
338
+ throw ctx.fail('no_frame_data', `'${conceptTag}' exists for this company but has no standard-period data.`, {
267
339
  ...ctx.recoveryFor('no_frame_data'),
268
- tag: conceptResponse.tag,
340
+ tag: conceptTag,
269
341
  });
270
342
  }
271
343
  // Filter by period type using frame pattern (fp reflects the filing, not the data point)
@@ -292,21 +364,15 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
292
364
  : effectivePeriodType === 'annual'
293
365
  ? 'No annual data found — try period_type: "quarterly" or "all".'
294
366
  : 'No quarterly data found — try period_type: "annual" or "all".';
295
- throw ctx.fail('no_period_data', `No ${effectivePeriodType} data for '${conceptResponse.tag}'.`, {
367
+ throw ctx.fail('no_period_data', `No ${effectivePeriodType} data for '${conceptTag}'.`, {
296
368
  recovery: { hint },
297
- tag: conceptResponse.tag,
369
+ tag: conceptTag,
298
370
  period_type: effectivePeriodType,
299
371
  });
300
372
  }
301
373
  }
302
374
  // Sort newest first
303
375
  filtered.sort((a, b) => b.end.localeCompare(a.end));
304
- /**
305
- * Read from the full deduped set, not the period-filtered slice: an annual
306
- * view that stops a year behind a still-current quarterly series is a
307
- * property of the filter, not of the concept.
308
- */
309
- const newestFramed = [...byFrameClean.values()].reduce((newest, unit) => (!newest || unit.end > newest.end ? unit : newest), undefined);
310
376
  /**
311
377
  * Off-calendar filers lose a whole calendar quarter from the frame-tagged
312
378
  * series — SEC reports fiscal Q4 as the 10-K residual, never as a discrete
@@ -326,13 +392,13 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
326
392
  * today is the signal — one companyconcept payload is all this tool reads,
327
393
  * and it holds no filer-wide period to compare against (#102).
328
394
  */
329
- ...seriesStalenessCaveats(conceptResponse.tag, conceptResponse.label, newestFramed, {
395
+ ...seriesStalenessCaveats(conceptTag, conceptResponse.label, newestFramed, {
330
396
  date: new Date().toISOString().slice(0, 10),
331
397
  kind: 'current-date',
332
398
  }),
333
399
  ];
334
- // Determine unit string
335
- const unitKey = Object.keys(conceptResponse.units)[0] ?? mappedUnit ?? 'USD';
400
+ /** The newest value's unit key, alongside its tag describing the line. */
401
+ const unitKey = newestFramed.unit;
336
402
  const data = filtered.map((u) => ({
337
403
  period: u.frame,
338
404
  value: u.val,
@@ -343,28 +409,30 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
343
409
  form: u.form,
344
410
  filed: u.filed,
345
411
  accession_number: u.accn,
412
+ tag: u.tag,
346
413
  }));
347
414
  let dataset;
348
415
  const bridge = getCanvasBridge();
349
416
  if (bridge && data.length > 0) {
350
- const rows = data.map((d) => ({
417
+ const rows = filtered.map((u) => ({
351
418
  cik: match.cik,
352
419
  entity_name: match.name ?? null,
353
- concept: conceptResponse.tag,
420
+ concept: conceptTag,
421
+ tag: u.tag,
354
422
  taxonomy,
355
- unit: unitKey,
356
- period: d.period,
357
- value: d.value,
358
- period_start: d.start ?? null,
359
- period_end: d.end,
423
+ unit: u.unit,
424
+ period: u.frame,
425
+ value: u.val,
426
+ period_start: u.start || null,
427
+ period_end: u.end,
360
428
  // Named for what they are — the SOURCE FILING's fy/fp, not the data
361
429
  // period. Bare fiscal_year/fiscal_period invited ORDER BY/GROUP BY
362
430
  // against the wrong key; period_end is the time key (#72).
363
- source_filing_fy: d.fiscal_year,
364
- source_filing_fp: d.fiscal_period,
365
- form: d.form,
366
- filed: d.filed,
367
- accession_number: d.accession_number,
431
+ source_filing_fy: u.fy,
432
+ source_filing_fp: u.fp,
433
+ form: u.form,
434
+ filed: u.filed,
435
+ accession_number: u.accn,
368
436
  }));
369
437
  const registered = await bridge.registerDataframe(ctx, {
370
438
  rows,
@@ -372,7 +440,7 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
372
440
  queryParams: {
373
441
  company: input.company,
374
442
  cik: match.cik,
375
- concept: conceptResponse.tag,
443
+ concept: conceptTag,
376
444
  taxonomy,
377
445
  period_type: resolvedPeriodType,
378
446
  },
@@ -395,14 +463,14 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
395
463
  }
396
464
  ctx.log.info('Financials retrieved', {
397
465
  company: match.cik,
398
- concept: conceptResponse.tag,
466
+ concept: conceptTag,
399
467
  dataPoints: data.length,
400
468
  datasetName: dataset?.name,
401
469
  });
402
470
  return {
403
471
  company: match.name || input.company,
404
472
  cik: match.cik,
405
- concept: conceptResponse.tag,
473
+ concept: conceptTag,
406
474
  label: conceptResponse.label || label,
407
475
  description: conceptResponse.description || undefined,
408
476
  unit: unitKey,
@@ -434,7 +502,9 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
434
502
  const filingCtx = fiscalCtx
435
503
  ? `${d.form} (${fiscalCtx}) filed ${d.filed} [${d.accession_number}]`
436
504
  : `${d.form} filed ${d.filed} [${d.accession_number}]`;
437
- lines.push(`${d.period}: ${formatted} (raw ${d.value}) | ${range} | ${filingCtx}`);
505
+ // Rows from the concept tag carry it in the header line above.
506
+ const tagCtx = d.tag === result.concept ? '' : ` | tag ${d.tag}`;
507
+ lines.push(`${d.period}: ${formatted} (raw ${d.value}) | ${range} | ${filingCtx}${tagCtx}`);
438
508
  }
439
509
  if (result.dataset) {
440
510
  const sliceNote = result.dataset.row_count > result.data.length
@@ -1 +1 @@
1
- {"version":3,"file":"get-financials.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-financials.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-financials.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-financials.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,aAAa,EAEb,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,EAAE;IAC/D,WAAW,EACT,sbAAsb;IACxb,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAE9E,UAAU,EAAE;QACV,wEAAwE;QACxE,4EAA4E;QAC5E,yEAAyE;QACzE,sCAAsC;QACtC,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+FAA+F,CAChG;QACH,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QAC9F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACxE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KAC9D;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,6CAA6C;YACnD,QAAQ,EAAE,gEAAgE;SAC3E;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,6EAA6E;YACnF,QAAQ,EAAE,+EAA+E;SAC1F;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,2GAA2G;YACjH,QAAQ,EAAE,4EAA4E;SACvF;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,iFAAiF;YACvF,QAAQ,EAAE,6EAA6E;SACxF;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,4EAA4E;YAClF,QAAQ,EAAE,uEAAuE;SAClF;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,gEAAgE;YACtE,QAAQ,EAAE,qEAAqE;SAChF;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,yIAAyI;YAC/I,QAAQ,EACN,0HAA0H;YAC5H,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,kEAAkE,CAAC;QAC/E,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,sOAAsO,CACvO;QACH,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;aACrC,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CACP,kHAAkH,CACnH;QACH,WAAW,EAAE,CAAC;aACX,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;aACpC,QAAQ,EAAE;aACV,QAAQ,CACP,+PAA+P,CAChQ;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2OAA2O,CAC5O;KACJ,CAAC;IACF,uEAAuE;IACvE,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE;IAE7E,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACrE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACnE,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,qGAAqG,CACtG;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC/E,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,0GAA0G,CAC3G;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CAAC,4EAA4E,CAAC;QACzF,IAAI,EAAE,CAAC;aACJ,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YAClF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC7C,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;YACnE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACzD,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,mPAAmP,CACpP;YACH,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,2IAA2I,CAC5I;YACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YAChF,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CAAC,yDAAyD,CAAC;YACtE,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,CACP,wIAAwI,CACzI;SACJ,CAAC;aACD,QAAQ,CACP,oFAAoF,CACrF,CACJ;aACA,QAAQ,CACP,wXAAwX,CACzX;QACH,UAAU,EAAE,CAAC;aACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,4FAA4F,CAC7F;QACH,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,wIAAwI,CACzI;YACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SAC9D,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,wSAAwS,CACzS;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,46BAA46B,CAC76B;KACJ,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB;;;;WAIG;QACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE;gBACzC,QAAQ,EAAE,EAAE,IAAI,EAAE;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QAEjC,yBAAyB;QACzB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,KAAK,CAAC,OAAO,cAAc,EAAE;gBAC3E,GAAG,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,4EAA4E;YAC5E,0EAA0E;YAC1E,oEAAoE;YACpE,8EAA8E;YAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;iBAChF,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,GAAG,CAAC,IAAI,CACZ,mBAAmB,EACnB,IAAI,KAAK,CAAC,OAAO,iCAAiC,IAAI,qDAAqD,EAC3G;gBACE,GAAG,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC;gBACvC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzB,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB,CAAC,CAAC;aACJ,CACF,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,KAAK,CAAC,OAAO,cAAc,EAAE;gBAC3E,GAAG,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,8DAA8D;QAC9D,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAClE,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,CACf,CAAC;QAEF,iGAAiG;QACjG,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC;QAE1D,8EAA8E;QAC9E,8DAA8D;QAC9D,wEAAwE;QACxE,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8D,CAAC;QACxF,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B;;;;;WAKG;QACH,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,CACd,GAAW,EACX,QAAgB,EAChB,KAA2C,EAC3C,IAAwD,EACxD,EAAE;YACF,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,KAAK,MAAM,KAAK,IAAI,MAAM;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC,CAAC;QACF;;;;;WAKG;QACH,MAAM,WAAW,GAA6C,EAAE,CAAC;QAEjE,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;aAC3C,CAAC,CAAC;QACL,CAAC;QAED;;;;WAIG;QACH,IAAI,KAA8C,CAAC;QACnD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,uEAAuE;gBACvE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE;oBACpC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;oBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED;;;;;WAKG;QACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChE;;;;WAIG;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACrF,MAAM,eAAe,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzF,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YACjD,uFAAuF;YACvF,uEAAuE;YACvE,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzE,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAElE,IAAI,IAAY,CAAC;YACjB,IAAI,KAAK,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;gBACpC,MAAM,gBAAgB,GAAG,mBAAmB;qBACzC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oBACV,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;oBACvE,sFAAsF;oBACtF,MAAM,YAAY,GAAG,UAAU;wBAC7B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBACxE,CAAC,CAAC,EAAE,CAAC;oBACP,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC;wBAC5B,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,eAAe,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBAClE,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,QAAQ,CAAC;gBACtC,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,GAAG,6BAA6B,gBAAgB,iFAAiF,CAAC;YACxI,CAAC;iBAAM,CAAC;gBACN,IAAI;oBACF,QAAQ,KAAK,WAAW;wBACtB,CAAC,CAAC,gFAAgF;wBAClF,CAAC,CAAC,uFAAuF,CAAC;YAChG,CAAC;YAED,MAAM,GAAG,CAAC,IAAI,CACZ,iBAAiB,EACjB,qBAAqB,KAAK,CAAC,OAAO,WAAW,QAAQ,oBAAoB,EACzE;gBACE,QAAQ,EAAE,EAAE,IAAI,EAAE;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ;gBACR,UAAU,EAAE,SAAS;gBACrB,oBAAoB,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;aACvF,CACF,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACpE,SAAS,CACV,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,GAAG,CAAC,IAAI,CACZ,eAAe,EACf,IAAI,UAAU,4DAA4D,EAC1E;gBACE,GAAG,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;gBACnC,GAAG,EAAE,UAAU;aAChB,CACF,CAAC;QACJ,CAAC;QAED,yFAAyF;QACzF,qFAAqF;QACrF,IAAI,kBAAkB,GAAG,mBAAmB,CAAC;QAC7C,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5D,iBAAiB,CAAC,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAChD,CAAC;QAEF,qFAAqF;QACrF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAClD,MAAM,UAAU,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAErD;;;;;eAKG;YACH,IAAI,UAAU,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAClD,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7C,kBAAkB,GAAG,KAAK,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,UAAU;oBACrB,CAAC,CAAC,iFAAiF;oBACnF,CAAC,CAAC,mBAAmB,KAAK,QAAQ;wBAChC,CAAC,CAAC,+DAA+D;wBACjE,CAAC,CAAC,+DAA+D,CAAC;gBACtE,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,mBAAmB,cAAc,UAAU,IAAI,EAAE;oBACtF,QAAQ,EAAE,EAAE,IAAI,EAAE;oBAClB,GAAG,EAAE,UAAU;oBACf,WAAW,EAAE,mBAAmB;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEpD;;;;;;;;WAQG;QACH,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YACtF;;;;;;;eAOG;YACH,GAAG,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE;gBACzE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,EAAE,cAAc;aACrB,CAAC;SACH,CAAC;QAEF,0EAA0E;QAC1E,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC;QAElC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,MAAM,EAAE,CAAC,CAAC,KAAK;YACf,KAAK,EAAE,CAAC,CAAC,GAAG;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;YAC3B,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,WAAW,EAAE,CAAC,CAAC,EAAE;YACjB,aAAa,EAAE,CAAC,CAAC,EAAE;YACnB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,gBAAgB,EAAE,CAAC,CAAC,IAAI;YACxB,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,CAAC,CAAC,CAAC;QAEJ,IAAI,OAA4E,CAAC;QACjF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChC,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,WAAW,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBAC/B,OAAO,EAAE,UAAU;gBACnB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,QAAQ;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,KAAK;gBACf,KAAK,EAAE,CAAC,CAAC,GAAG;gBACZ,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBAC7B,UAAU,EAAE,CAAC,CAAC,GAAG;gBACjB,oEAAoE;gBACpE,mEAAmE;gBACnE,2DAA2D;gBAC3D,gBAAgB,EAAE,CAAC,CAAC,EAAE;gBACtB,gBAAgB,EAAE,CAAC,CAAC,EAAE;gBACtB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,gBAAgB,EAAE,CAAC,CAAC,IAAI;aACzB,CAAC,CAAC,CAAC;YACJ,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;gBACrD,IAAI;gBACJ,UAAU,EAAE,yBAAyB;gBACrC,WAAW,EAAE;oBACX,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,OAAO,EAAE,UAAU;oBACnB,QAAQ;oBACR,WAAW,EAAE,kBAAkB;iBAChC;aACF,CAAC,CAAC;YACH,IAAI,UAAU;gBAAE,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,wEAAwE;QACxE,+EAA+E;QAC/E,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,UAAU,CAAC,MAAM;gBACxB,GAAG,EAAE,KAAK,CAAC,KAAK;gBAChB,QAAQ,EAAE,eAAe,UAAU,CAAC,MAAM,mBAAmB,IAAI,CAAC,MAAM,aACtE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iCACzC,EAAE;aACH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACnC,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,WAAW,EAAE,OAAO,EAAE,IAAI;SAC3B,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO;YACpC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,eAAe,CAAC,KAAK,IAAI,KAAK;YACrC,WAAW,EAAE,eAAe,CAAC,WAAW,IAAI,SAAS;YACrD,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACxD,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,KAAK,KAAK;gBACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;gBACzC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;oBAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC1B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;YACnC,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACxD,MAAM,SAAS,GAAG,SAAS;gBACzB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,WAAW,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,gBAAgB,GAAG;gBACrE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,gBAAgB,GAAG,CAAC;YACzD,+DAA+D;YAC/D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,SAAS,CAAC,CAAC,KAAK,OAAO,KAAK,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,SAAS,GACb,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;gBAC3C,CAAC,CAAC,kBAAkB,MAAM,CAAC,IAAI,CAAC,MAAM,mBAAmB,MAAM,CAAC,OAAO,CAAC,SAAS,+CAA+C;gBAChI,CAAC,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CACR,cAAc,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,SAAS,kBAAkB,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS,yCAAyC,CAChK,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
@@ -13,6 +13,8 @@ export declare const getInsiderTransactionsTool: import("@cyanheads/mcp-ts-core"
13
13
  sale: "sale";
14
14
  }>>;
15
15
  limit: z.ZodDefault<z.ZodNumber>;
16
+ filed_after: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
17
+ filed_before: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
16
18
  }, z.core.$strip>, z.ZodObject<{
17
19
  issuer_name: z.ZodString;
18
20
  issuer_cik: z.ZodString;
@@ -42,6 +44,7 @@ export declare const getInsiderTransactionsTool: import("@cyanheads/mcp-ts-core"
42
44
  ownership_nature: z.ZodOptional<z.ZodString>;
43
45
  }, z.core.$strip>>;
44
46
  filings_scanned: z.ZodNumber;
47
+ history_scanned_through: z.ZodOptional<z.ZodString>;
45
48
  dataset: z.ZodOptional<z.ZodObject<{
46
49
  name: z.ZodString;
47
50
  row_count: z.ZodNumber;
@@ -56,8 +59,8 @@ export declare const getInsiderTransactionsTool: import("@cyanheads/mcp-ts-core"
56
59
  }, {
57
60
  readonly reason: "no_filings_found";
58
61
  readonly code: JsonRpcErrorCode.NotFound;
59
- readonly when: "No Form 4 filings exist for this company in the recent submissions window";
60
- readonly recovery: "Use secedgar_search_filings with forms=[\"4\"] for broader historical coverage.";
62
+ readonly when: "A call without a date window finds no Form 4 filings in the recent submissions window";
63
+ readonly recovery: "Pass filed_after / filed_before to read an older period, or use secedgar_search_filings with forms=[\"4\"] to find the filings.";
61
64
  }, {
62
65
  readonly reason: "rate_limited";
63
66
  readonly code: JsonRpcErrorCode.RateLimited;
@@ -1 +1 @@
1
- {"version":3,"file":"get-insider-transactions.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-insider-transactions.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AA6C3E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6crC,CAAC"}
1
+ {"version":3,"file":"get-insider-transactions.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-insider-transactions.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAqF3E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2jBrC,CAAC"}