@cyanheads/secedgar-mcp-server 0.15.8 → 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 (56) hide show
  1. package/AGENTS.md +10 -7
  2. package/CLAUDE.md +10 -7
  3. package/README.md +11 -6
  4. package/changelog/0.15.x/0.15.9.md +32 -0
  5. package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js +2 -2
  6. package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js.map +1 -1
  7. package/dist/mcp-server/resources/definitions/concepts.resource.d.ts +2 -1
  8. package/dist/mcp-server/resources/definitions/concepts.resource.d.ts.map +1 -1
  9. package/dist/mcp-server/resources/definitions/concepts.resource.js +5 -4
  10. package/dist/mcp-server/resources/definitions/concepts.resource.js.map +1 -1
  11. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +10 -0
  12. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/definitions/compare-companies.tool.js +143 -14
  14. package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +6 -1
  16. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +93 -32
  18. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +6 -0
  20. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
  21. package/dist/mcp-server/tools/definitions/get-financials.tool.js +130 -60
  22. package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
  23. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +3 -0
  24. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
  25. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +16 -7
  26. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
  27. package/dist/mcp-server/tools/definitions/index.d.ts +81 -57
  28. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  29. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts +2 -1
  30. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts.map +1 -1
  31. package/dist/mcp-server/tools/definitions/search-concepts.tool.js +5 -4
  32. package/dist/mcp-server/tools/definitions/search-concepts.tool.js.map +1 -1
  33. package/dist/services/edgar/concept-map.d.ts +38 -4
  34. package/dist/services/edgar/concept-map.d.ts.map +1 -1
  35. package/dist/services/edgar/concept-map.js +196 -9
  36. package/dist/services/edgar/concept-map.js.map +1 -1
  37. package/dist/services/edgar/concept-series.d.ts +79 -18
  38. package/dist/services/edgar/concept-series.d.ts.map +1 -1
  39. package/dist/services/edgar/concept-series.js +175 -25
  40. package/dist/services/edgar/concept-series.js.map +1 -1
  41. package/dist/services/edgar/edgar-api-service.d.ts +4 -6
  42. package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
  43. package/dist/services/edgar/edgar-api-service.js +34 -38
  44. package/dist/services/edgar/edgar-api-service.js.map +1 -1
  45. package/dist/services/edgar/mirror/edgar-mirror.d.ts +10 -1
  46. package/dist/services/edgar/mirror/edgar-mirror.d.ts.map +1 -1
  47. package/dist/services/edgar/mirror/edgar-mirror.js +52 -13
  48. package/dist/services/edgar/mirror/edgar-mirror.js.map +1 -1
  49. package/dist/services/edgar/trigram-similarity.d.ts +13 -0
  50. package/dist/services/edgar/trigram-similarity.d.ts.map +1 -0
  51. package/dist/services/edgar/trigram-similarity.js +40 -0
  52. package/dist/services/edgar/trigram-similarity.js.map +1 -0
  53. package/dist/services/edgar/types.d.ts +12 -2
  54. package/dist/services/edgar/types.d.ts.map +1 -1
  55. package/package.json +2 -2
  56. package/server.json +3 -3
@@ -10,7 +10,7 @@
10
10
  import { tool, z } from '@cyanheads/mcp-ts-core';
11
11
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
12
12
  import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
13
- import { resolveConceptTarget } from '../../../services/edgar/concept-map.js';
13
+ import { describeUnknownConcepts, findUnknownConcept, resolveConcept, resolveConceptTarget, unknownConceptHint, } from '../../../services/edgar/concept-map.js';
14
14
  import { newestReportedPeriod, seriesFromCompanyFacts, seriesStalenessCaveats, } from '../../../services/edgar/concept-series.js';
15
15
  import { getEdgarApiService } from '../../../services/edgar/edgar-api-service.js';
16
16
  import { missingQuarterCaveats } from '../../../services/edgar/fiscal-periods.js';
@@ -28,6 +28,8 @@ const INSTANT_FRAME = /^CY(\d{4})(Q[1-4])I$/;
28
28
  * enrichment.
29
29
  */
30
30
  const MAX_INLINE_CELLS = 120;
31
+ /** Most recent periods the inline matrix can be asked for (`periods`). */
32
+ const MAX_PERIODS = 12;
31
33
  /**
32
34
  * Map a frame to the calendar period key the matrix aligns on, or undefined when
33
35
  * the frame does not belong in this period type.
@@ -53,7 +55,7 @@ function periodKey(frame, periodType) {
53
55
  return instant?.[1] && instant[2] ? `CY${instant[1]}${instant[2]}` : undefined;
54
56
  }
55
57
  export const compareCompaniesTool = tool('secedgar_compare_companies', {
56
- description: 'Compare 2-10 named companies across 1-8 XBRL concepts, aligned on calendar periods. This is the middle shape between secedgar_get_financials (one company, one concept, full history) and secedgar_fetch_frames (one concept, one period, every reporting company) — reach for it when the question names the companies. One companyfacts read per company, resolved through the same frame dedup and tag priority as secedgar_get_financials so the numbers agree. Balance-sheet and entity-info concepts are filed as point-in-time values and align on the calendar year (annual) or quarter (quarterly) their snapshot falls in, so they sit in the same matrix as income-statement lines. The inline matrix covers the most recent periods up to `periods`, trimmed further when companies x concepts x periods is too large to return in one response; the full aligned series is materialized as df_<id> for growth rates and spreads — inspect it with secedgar_dataframe_describe, then analyze it with secedgar_dataframe_query. A company that fails to resolve is reported in failed_companies and the comparison proceeds with the rest, and a company that does not report a concept is reported in gaps with the tags that were tried — never interpolated or zero-filled. Off-calendar filers and unit mismatches are surfaced in caveats rather than silently mixed.',
58
+ description: 'Compare 2-10 named companies across 1-8 XBRL concepts, aligned on calendar periods. This is the middle shape between secedgar_get_financials (one company, one concept, full history) and secedgar_fetch_frames (one concept, one period, every reporting company) — reach for it when the question names the companies. One companyfacts read per company, resolved through the same frame dedup and tag priority as secedgar_get_financials so the numbers agree. Balance-sheet and entity-info concepts are filed as point-in-time values and align on the calendar year (annual) or quarter (quarterly) their snapshot falls in, so they sit in the same matrix as income-statement lines. The inline matrix covers the most recent periods up to `periods`, trimmed further when companies x concepts x periods is too large to return in one response; the full aligned series is materialized as df_<id> for growth rates and spreads — inspect it with secedgar_dataframe_describe, then analyze it with secedgar_dataframe_query. A company that fails to resolve is reported in failed_companies and the comparison proceeds with the rest, and a company that does not report a concept is reported in gaps with the tags that were tried — never interpolated or zero-filled. A company that reports a concept only for periods older than the inline window is named in caveats with its newest period. A concept that is neither a friendly name nor an XBRL tag is reported once in unknown_concepts with the closest supported names, and fails the call only when every concept is one. Off-calendar filers and unit mismatches are surfaced in caveats rather than silently mixed.',
57
59
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
58
60
  enrichment: {
59
61
  // Declared so the staged-dataframe pointer reaches the wire at all: the
@@ -84,6 +86,12 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
84
86
  when: 'Companies resolved but not one of them reports any of the requested concepts for the requested period type',
85
87
  recovery: 'Switch period_type, or discover reported concept names with secedgar_search_concepts.',
86
88
  },
89
+ {
90
+ reason: 'unknown_concept',
91
+ code: JsonRpcErrorCode.NotFound,
92
+ when: 'Every requested concept is neither a supported friendly name nor shaped like an XBRL tag, so no request is sent',
93
+ recovery: 'Use a friendly name from secedgar_search_concepts or a valid raw XBRL tag.',
94
+ },
87
95
  {
88
96
  reason: 'rate_limited',
89
97
  code: JsonRpcErrorCode.RateLimited,
@@ -116,7 +124,7 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
116
124
  .number()
117
125
  .int()
118
126
  .min(1)
119
- .max(12)
127
+ .max(MAX_PERIODS)
120
128
  .default(4)
121
129
  .describe('Upper bound on how many recent periods the inline matrix covers, newest first — not a guarantee. The matrix is companies x concepts x periods cells, and the inline window drops further older periods when that product is too large to return in one response. The full aligned series is always registered to the dataframe, so dropped periods stay queryable via secedgar_dataframe_query.'),
122
130
  }),
@@ -157,7 +165,7 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
157
165
  .describe('Distinct units this concept resolved to across the companies. More than one means the values are not directly comparable — see caveats.'),
158
166
  })
159
167
  .describe('One requested concept and the units it resolved to.'))
160
- .describe('Concepts covered, in the order supplied.'),
168
+ .describe('Concepts covered, in the order supplied. Inputs that name the same concept (revenue and Revenue, or one raw tag spelled twice) appear once, under the first spelling.'),
161
169
  cells: z
162
170
  .array(z
163
171
  .object({
@@ -168,7 +176,9 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
168
176
  value: z.number().describe('Reported value.'),
169
177
  unit: z.string().describe('Unit of measure for this value.'),
170
178
  taxonomy: z.string().describe('Taxonomy the value was read from.'),
171
- tag: z.string().describe('XBRL tag that produced the value.'),
179
+ tag: z
180
+ .string()
181
+ .describe('XBRL tag this value was reported under — one concept can walk several tags, so it can differ between periods of the same company.'),
172
182
  frame: z
173
183
  .string()
174
184
  .describe('Underlying XBRL frame, which differs from period for point-in-time concepts (e.g. frame CY2024Q3I under period CY2024).'),
@@ -193,10 +203,26 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
193
203
  .describe('XBRL tags attempted, in priority order, before giving up.'),
194
204
  })
195
205
  .describe('One company-concept pair with no reported value.'))
196
- .describe('Company-concept pairs with no data. Deliberately explicit — a missing value is never interpolated or zero-filled.'),
206
+ .describe('Company-concept pairs with no value in any period. Deliberately explicit — a missing value is never interpolated or zero-filled. A pair with values only in periods older than the inline window is not a gap; caveats names it.'),
207
+ unknown_concepts: z
208
+ .array(z
209
+ .object({
210
+ concept: z
211
+ .string()
212
+ .describe('Concept as supplied (trimmed) — neither a supported friendly name nor an XBRL tag.'),
213
+ derivation: z
214
+ .string()
215
+ .optional()
216
+ .describe('How to build it from supported concepts when it is a standard combination, e.g. "operating_cash_flow − capex".'),
217
+ suggestions: z
218
+ .array(z.string())
219
+ .describe('Up to three closest supported friendly names. Empty when a derivation applies or no name is close.'),
220
+ })
221
+ .describe('One requested concept that was not queried for any company.'))
222
+ .describe('Requested concepts that are neither a supported friendly name nor an XBRL tag (UpperCamelCase, e.g. NetIncomeLoss), reported once each rather than as a gap per company — secedgar_search_concepts lists every supported name. Empty when every concept resolved.'),
197
223
  caveats: z
198
224
  .array(z.string())
199
- .describe("Comparability warnings: a filer missing one or two calendar quarters from the frame-tagged series, a concept whose values stop at least two full years behind the rest of that company's reporting (either an XBRL tag SEC has retired, or a current tag the filer stopped using), period ends that differ inside one aligned period, and concepts whose unit differs across companies. Company-specific warnings are prefixed with the company name. Empty when nothing needs flagging."),
225
+ .describe("Comparability warnings: a filer missing one or two calendar quarters from the frame-tagged series, a concept whose values stop at least two full years behind the rest of that company's reporting (either an XBRL tag SEC has retired, or a current tag the filer stopped using), period ends that differ inside one aligned period, concepts whose unit differs across companies, and — one line per concept — the companies that report a concept but have no value inside the inline periods, each with its newest period (its values are in the dataframe), and the concept inputs merged because they name the same concept. Company-specific warnings are prefixed with the company name. Empty when nothing needs flagging."),
200
226
  dataset: z
201
227
  .object({
202
228
  name: z
@@ -209,6 +235,45 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
209
235
  .describe('Canvas dataframe holding the full aligned series across every period, not just the inline window. Columns match cells[]. Absent when canvas is unavailable.'),
210
236
  }),
211
237
  async handler(input, ctx) {
238
+ /**
239
+ * A name that is neither a catalog entry nor tag-shaped is reported once,
240
+ * apart from the per-company gaps it would otherwise fill with "reports no
241
+ * X" rows. Only a call whose every concept is unknown fails, and it fails
242
+ * before any company is resolved (#128).
243
+ */
244
+ const unknownConcepts = [];
245
+ /**
246
+ * Each concept is compared once, keyed by what it resolves to — the catalog
247
+ * entry, or the trimmed raw tag — under the first spelling supplied, so
248
+ * `revenue` and `Revenue` do not double every cell, gap, and caveat. A
249
+ * catalog name and a raw tag it walks stay separate: they are different
250
+ * concepts that share a tag (#145).
251
+ */
252
+ const knownByIdentity = new Map();
253
+ for (const concept of input.concepts) {
254
+ const unknown = findUnknownConcept(concept);
255
+ if (unknown) {
256
+ if (!unknownConcepts.some((u) => u.concept === unknown.concept)) {
257
+ unknownConcepts.push(unknown);
258
+ }
259
+ continue;
260
+ }
261
+ const identity = resolveConcept(concept) ?? concept.trim();
262
+ const known = knownByIdentity.get(identity);
263
+ if (!known)
264
+ knownByIdentity.set(identity, { concept, merged: [] });
265
+ else if (concept !== known.concept && !known.merged.includes(concept)) {
266
+ known.merged.push(concept);
267
+ }
268
+ }
269
+ const knownConcepts = [...knownByIdentity.values()];
270
+ if (knownConcepts.length === 0) {
271
+ const { message, hint } = describeUnknownConcepts(unknownConcepts);
272
+ throw ctx.fail('unknown_concept', message, {
273
+ recovery: { hint },
274
+ unknown_concepts: unknownConcepts,
275
+ });
276
+ }
212
277
  const api = getEdgarApiService();
213
278
  const resolvedCompanies = [];
214
279
  const failed = [];
@@ -241,7 +306,7 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
241
306
  if (resolvedCompanies.length === 0) {
242
307
  throw ctx.fail('no_companies_resolved', `None of the ${input.companies.length} supplied companies resolved to a CIK.`, { ...ctx.recoveryFor('no_companies_resolved'), failed_companies: failed });
243
308
  }
244
- const targets = input.concepts.map((concept) => ({
309
+ const targets = knownConcepts.map(({ concept }) => ({
245
310
  concept,
246
311
  target: resolveConceptTarget(concept, input.taxonomy),
247
312
  }));
@@ -251,6 +316,12 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
251
316
  const unitsByConcept = new Map();
252
317
  /** Deduped so a caveat shared by several concepts is stated once. */
253
318
  const caveatSet = new Set();
319
+ for (const { concept, merged } of knownConcepts) {
320
+ if (merged.length === 0)
321
+ continue;
322
+ const one = merged.length === 1;
323
+ caveatSet.add(`${merged.map((m) => `'${m}'`).join(' and ')} ${one ? 'resolves' : 'resolve'} to the same concept as '${concept}', so the comparison reads ${one ? 'it' : 'them'} once, under '${concept}'.`);
324
+ }
254
325
  for (const company of resolvedCompanies) {
255
326
  const facts = await api.tryGetCompanyFacts(company.cik);
256
327
  const name = company.name || company.input;
@@ -288,6 +359,7 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
288
359
  * instant beats an interim snapshot inside the same calendar year.
289
360
  */
290
361
  const seen = new Set();
362
+ const units = unitsByConcept.get(concept) ?? new Set();
291
363
  for (const unit of series.series) {
292
364
  if (QUARTER_FRAME.test(unit.frame))
293
365
  quarterFrames.push(unit.frame);
@@ -295,15 +367,16 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
295
367
  if (!period || seen.has(period))
296
368
  continue;
297
369
  seen.add(period);
370
+ units.add(unit.unit);
298
371
  cells.push({
299
372
  cik: company.cik,
300
373
  company: name,
301
374
  concept,
302
375
  period,
303
376
  value: unit.val,
304
- unit: series.unit || target.unit || '',
377
+ unit: unit.unit,
305
378
  taxonomy: series.taxonomy,
306
- tag: series.tag,
379
+ tag: unit.tag,
307
380
  frame: unit.frame,
308
381
  period_end: unit.end,
309
382
  form: unit.form,
@@ -319,8 +392,6 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
319
392
  });
320
393
  continue;
321
394
  }
322
- const units = unitsByConcept.get(concept) ?? new Set();
323
- units.add(series.unit || target.unit || '');
324
395
  unitsByConcept.set(concept, units);
325
396
  // series[] is sorted newest-first by period end.
326
397
  const newest = series.series[0];
@@ -356,7 +427,12 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
356
427
  }
357
428
  }
358
429
  if (cells.length === 0) {
359
- throw ctx.fail('no_comparable_data', `None of the ${included.length} resolved companies report any of the requested concepts for ${input.period_type} periods.`, { ...ctx.recoveryFor('no_comparable_data'), gaps });
430
+ const unknownNote = unknownConcepts.length > 0 ? ` ${describeUnknownConcepts(unknownConcepts).message}` : '';
431
+ throw ctx.fail('no_comparable_data', `None of the ${included.length} resolved companies report any of the requested concepts for ${input.period_type} periods.${unknownNote}`, {
432
+ ...ctx.recoveryFor('no_comparable_data'),
433
+ gaps,
434
+ ...(unknownConcepts.length > 0 ? { unknown_concepts: unknownConcepts } : {}),
435
+ });
360
436
  }
361
437
  const allPeriods = [...new Set(cells.map((c) => c.period))].sort((a, b) => b.localeCompare(a));
362
438
  const cellsPerPeriod = new Map();
@@ -400,6 +476,24 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
400
476
  caveatSet.add(`Concept '${concept}' resolved to more than one unit across these companies (${[...units].join(', ')}). Values in different units are not directly comparable — each cell carries its own unit.`);
401
477
  }
402
478
  }
479
+ /**
480
+ * The window follows whichever filer has reached the newest period, so a
481
+ * company reporting a concept only for older periods has no value inline —
482
+ * and, since it does report the concept, no gap either (#144). Each such
483
+ * pair keeps its newest aligned period; companies stay in input order.
484
+ */
485
+ const inlinePairs = new Set(inlineCells.map((c) => `${c.cik}|${c.concept}`));
486
+ const outsideWindow = new Map();
487
+ for (const cell of cells) {
488
+ if (inlinePairs.has(`${cell.cik}|${cell.concept}`))
489
+ continue;
490
+ const byCompany = outsideWindow.get(cell.concept) ?? new Map();
491
+ const known = byCompany.get(cell.cik);
492
+ if (!known || cell.period.localeCompare(known.newest) > 0) {
493
+ byCompany.set(cell.cik, { company: cell.company, newest: cell.period });
494
+ }
495
+ outsideWindow.set(cell.concept, byCompany);
496
+ }
403
497
  let dataset;
404
498
  const bridge = getCanvasBridge();
405
499
  if (bridge) {
@@ -416,6 +510,33 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
416
510
  if (registered)
417
511
  dataset = toDatasetField(registered);
418
512
  }
513
+ /**
514
+ * What would widen the inline window, when anything would: the cell ceiling
515
+ * stopped it short of `periods` (narrowing the call helps, raising `periods`
516
+ * does not), or `periods` itself bounded it and can still go up. Read only
517
+ * when the window dropped periods.
518
+ */
519
+ const widen = inlinePeriods.length < input.periods
520
+ ? 'narrow companies or concepts'
521
+ : input.periods < MAX_PERIODS
522
+ ? 'raise periods'
523
+ : undefined;
524
+ // One line per concept in input order, after registration so it can name a table that exists.
525
+ const reach = dataset
526
+ ? `those values are in dataframe ${dataset.name} — query it with secedgar_dataframe_query${widen ? ` — or ${widen} to bring them inline` : ''}`
527
+ : widen
528
+ ? `${widen} to bring those values inline`
529
+ : 'secedgar_get_financials returns each company’s full history of the concept';
530
+ for (const { concept } of targets) {
531
+ const byCompany = outsideWindow.get(concept);
532
+ if (!byCompany)
533
+ continue;
534
+ const named = [...byCompany.values()]
535
+ .map((m) => `${m.company} (newest ${m.newest})`)
536
+ .join(', ');
537
+ const subject = byCompany.size === 1 ? 'It' : 'Each';
538
+ caveatSet.add(`${concept}: no value inside the inline periods (${inlinePeriods.join(', ')}) for ${named}. ${subject} reports ${concept} for earlier periods only; ${reach}.`);
539
+ }
419
540
  // Emitted after registration so the pointer names a table that exists (#104).
420
541
  if (allPeriods.length > inlinePeriods.length) {
421
542
  ctx.enrich.truncated({
@@ -423,7 +544,11 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
423
544
  cap: input.periods,
424
545
  guidance: `Showing the ${inlinePeriods.length} most-recent of ${allPeriods.length} aligned periods. ${dataset
425
546
  ? dataframeGuidance(dataset)
426
- : 'Narrow companies or concepts to fit more periods inline.'}`,
547
+ : widen === 'raise periods'
548
+ ? `Raise periods (up to ${MAX_PERIODS}) to fit more periods inline.`
549
+ : widen
550
+ ? 'Narrow companies or concepts to fit more periods inline.'
551
+ : `${MAX_PERIODS} is the most periods the inline matrix shows; secedgar_get_financials returns one company’s full history of a concept.`}`,
427
552
  });
428
553
  }
429
554
  else if (dataset) {
@@ -448,6 +573,7 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
448
573
  })),
449
574
  cells: inlineCells,
450
575
  gaps,
576
+ unknown_concepts: unknownConcepts,
451
577
  caveats: [...caveatSet],
452
578
  dataset,
453
579
  };
@@ -464,6 +590,9 @@ export const compareCompaniesTool = tool('secedgar_compare_companies', {
464
590
  for (const concept of result.concepts) {
465
591
  out.push(`Concept: ${concept.label} [${concept.concept}] — units: ${concept.units.join(', ') || 'none'}`);
466
592
  }
593
+ for (const unknown of result.unknown_concepts) {
594
+ out.push(`Unknown concept: ${unknown.concept} — not queried. ${unknownConceptHint(unknown)}`);
595
+ }
467
596
  // Cells are rendered as a flat, sorted list rather than a lookup grid: every
468
597
  // value carries its own provenance, and a company-concept-period with no
469
598
  // value is already accounted for under gaps.
@@ -1 +1 @@
1
- {"version":3,"file":"compare-companies.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/compare-companies.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;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,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAEL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,2CAA2C;AAC3C,MAAM,YAAY,GAAG,aAAa,CAAC;AACnC,kDAAkD;AAClD,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,yCAAyC;AACzC,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;;;;;;;;GASG;AACH,SAAS,SAAS,CAAC,KAAa,EAAE,UAAkC;IAClE,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,MAAM;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,OAAO;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAkBD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,4BAA4B,EAAE;IACrE,WAAW,EACT,uzCAAuzC;IACzzC,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,4GAA4G,CAC7G;QACH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,6EAA6E,CAAC;QAC1F,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,0BAA0B,CAAC;KAChE;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,uBAAuB;YAC/B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,uDAAuD;YAC7D,QAAQ,EAAE,+DAA+D;SAC1E;QACD;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,4GAA4G;YAClH,QAAQ,EACN,uFAAuF;SAC1F;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,SAAS,EAAE,CAAC;aACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;aACjE,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,CACP,gLAAgL,CACjL;QACH,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAC;aAC3E,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,qIAAqI,CACtI;QACH,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aAC9B,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CACP,sMAAsM,CACvM;QACH,WAAW,EAAE,CAAC;aACX,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;aAC7B,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CACP,wLAAwL,CACzL;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CACP,iYAAiY,CAClY;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAC7E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;QAC9F,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,gMAAgM,CACjM;QACH,SAAS,EAAE,CAAC;aACT,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC7D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SAC5E,CAAC;aACD,QAAQ,CAAC,0DAA0D,CAAC,CACxE;aACA,QAAQ,CAAC,uCAAuC,CAAC;QACpD,gBAAgB,EAAE,CAAC;aAChB,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC7D,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;iBACpD,QAAQ,CACP,+NAA+N,CAChO;YACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;SAC/E,CAAC;aACD,QAAQ,CAAC,yEAAyE,CAAC,CACvF;aACA,QAAQ,CACP,+GAA+G,CAChH;QACH,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC3D,KAAK,EAAE,CAAC;iBACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CACP,yIAAyI,CAC1I;SACJ,CAAC;aACD,QAAQ,CAAC,qDAAqD,CAAC,CACnE;aACA,QAAQ,CAAC,0CAA0C,CAAC;QACvD,KAAK,EAAE,CAAC;aACL,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAClE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YACvF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAClE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC7D,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CACP,yHAAyH,CAC1H;YACH,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CACP,6FAA6F,CAC9F;YACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YACnE,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CAAC,+DAA+D,CAAC;SAC7E,CAAC;aACD,QAAQ,CAAC,mCAAmC,CAAC,CACjD;aACA,QAAQ,CAAC,iEAAiE,CAAC;QAC9E,IAAI,EAAE,CAAC;aACJ,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YAC9E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACvE,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CAAC,2DAA2D,CAAC;SACzE,CAAC;aACD,QAAQ,CAAC,kDAAkD,CAAC,CAChE;aACA,QAAQ,CACP,mHAAmH,CACpH;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,0dAA0d,CAC3d;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,6JAA6J,CAC9J;KACJ,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QAEjC,MAAM,iBAAiB,GAAwC,EAAE,CAAC;QAClE,MAAM,MAAM,GAIP,EAAE,CAAC;QAER,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,IAAI,QAAQ,kEAAkE;iBACxF,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,GAAG,QAAQ;qBAClB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qBACX,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;qBAChF,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,IAAI,QAAQ,iCAAiC,IAAI,qDAAqD;iBAChH,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/D,IAAI,KAAK;gBAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC,IAAI,CACZ,uBAAuB,EACvB,eAAe,KAAK,CAAC,SAAS,CAAC,MAAM,wCAAwC,EAC7E,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,uBAAuB,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAC1E,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC/C,OAAO;YACP,MAAM,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;SACtD,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,IAAI,GAAmF,EAAE,CAAC;QAChG,MAAM,QAAQ,GAAyE,EAAE,CAAC;QAC1F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;QACtD,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,kBAAkB;oBAC1B,OAAO,EAAE,IAAI,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,GAAG,sFAAsF;iBACtI,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI;gBACJ,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CAAC,CAAC;YAEH,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,iFAAiF;YACjF,MAAM,aAAa,GAKd,EAAE,CAAC;YACR,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,sBAAsB,CACnC,KAAK,EACL,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,YAAY,CACpB,CAAC;gBACF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC;wBACR,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,OAAO,EAAE,IAAI;wBACb,OAAO;wBACP,UAAU,EAAE,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,IAAI;qBAC7C,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED;;;;mBAIG;gBACH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wBAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;oBACxD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;wBAAE,SAAS;oBAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC;wBACT,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,OAAO,EAAE,IAAI;wBACb,OAAO;wBACP,MAAM;wBACN,KAAK,EAAE,IAAI,CAAC,GAAG;wBACf,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE;wBACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,UAAU,EAAE,IAAI,CAAC,GAAG;wBACpB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,gBAAgB,EAAE,IAAI,CAAC,IAAI;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC;wBACR,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,OAAO,EAAE,IAAI;wBACb,OAAO;wBACP,UAAU,EAAE,MAAM,CAAC,SAAS;qBAC7B,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;gBAC/D,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC5C,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAEnC,iDAAiD;gBACjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,MAAM;oBAAE,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5F,CAAC;YAED;;;;;;;eAOG;YACH,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,KAAK,MAAM,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;oBAC7E,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,iBAAiB;iBACxB,CAAC,EAAE,CAAC;oBACH,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAED;;;;eAIG;YACH,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;gBACtC,KAAK,MAAM,MAAM,IAAI,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC1D,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,IAAI,CACZ,oBAAoB,EACpB,eAAe,QAAQ,CAAC,MAAM,gEAAgE,KAAK,CAAC,WAAW,WAAW,EAC1H,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,iFAAiF;QACjF,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,gBAAgB,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM;gBAAE,MAAM;YACtD,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjE;;;;;;WAMG;QACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4C,CAAC;QAC/E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAS;YACnF,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;iBAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;iBACxC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,SAAS,CAAC,GAAG,CACX,6BAA6B,aAAa,CAAC,CAAC,CAAC,MAAM,MAAM,gLAAgL,CAC1O,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,cAAc,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACnB,SAAS,CAAC,GAAG,CACX,YAAY,OAAO,4DAA4D,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4FAA4F,CACjM,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,OAA4E,CAAC;QACjF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;gBACrD,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClC,UAAU,EAAE,4BAA4B;gBACxC,WAAW,EAAE;oBACX,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B;aACF,CAAC,CAAC;YACH,IAAI,UAAU;gBAAE,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,8EAA8E;QAC9E,IAAI,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,aAAa,CAAC,MAAM;gBAC3B,GAAG,EAAE,KAAK,CAAC,OAAO;gBAClB,QAAQ,EAAE,eAAe,aAAa,CAAC,MAAM,mBAAmB,UAAU,CAAC,MAAM,qBAC/E,OAAO;oBACL,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC;oBAC5B,CAAC,CAAC,0DACN,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,kBAAkB,EAAE;YAC/B,SAAS,EAAE,QAAQ,CAAC,MAAM;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,WAAW,EAAE,OAAO,EAAE,IAAI;SAC3B,CAAC,CAAC;QAEH,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,QAAQ;YACnB,gBAAgB,EAAE,MAAM;YACxB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC9C,OAAO;gBACP,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;aAChD,CAAC,CAAC;YACH,KAAK,EAAE,WAAW;YAClB,IAAI;YACJ,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;YACvB,OAAO;SACR,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG;YACV,4BAA4B,MAAM,CAAC,SAAS,CAAC,MAAM,gBAAgB,MAAM,CAAC,QAAQ,CAAC,MAAM,cAAc,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,WAAW,GAAG;YAChJ,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACvC,cAAc,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClI,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CACN,YAAY,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,cAAc,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAChG,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,yEAAyE;QACzE,6CAA6C;QAC7C,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;YAClC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CACnC,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CACN,KAAK,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,GAAG,CAC/N,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CACN,KAAK,GAAG,CAAC,OAAO,SAAS,GAAG,CAAC,GAAG,gBAAgB,GAAG,CAAC,OAAO,aAAa,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CACN,EAAE,EACF,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,SAAS,kBAAkB,MAAM,CAAC,OAAO,CAAC,UAAU,+DAA+D,CACvK,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,MAAM,EAAE,CAAC,CAAC;QAEvE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"compare-companies.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/compare-companies.tool.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ import { z } from '@cyanheads/mcp-ts-core';
11
11
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
12
12
  export declare const fetchFramesTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
13
13
  concept: z.ZodString;
14
+ taxonomy: z.ZodDefault<z.ZodEnum<{
15
+ dei: "dei";
16
+ "us-gaap": "us-gaap";
17
+ }>>;
14
18
  period: z.ZodString;
15
19
  unit: z.ZodDefault<z.ZodEnum<{
16
20
  USD: "USD";
@@ -27,6 +31,7 @@ export declare const fetchFramesTool: import("@cyanheads/mcp-ts-core").ToolDefin
27
31
  }>>;
28
32
  }, z.core.$strip>, z.ZodObject<{
29
33
  concept: z.ZodString;
34
+ taxonomy: z.ZodString;
30
35
  period: z.ZodString;
31
36
  unit: z.ZodString;
32
37
  label: z.ZodString;
@@ -67,7 +72,7 @@ export declare const fetchFramesTool: import("@cyanheads/mcp-ts-core").ToolDefin
67
72
  }, z.core.$strip>, readonly [{
68
73
  readonly reason: "unknown_concept";
69
74
  readonly code: JsonRpcErrorCode.NotFound;
70
- readonly when: "The concept input does not match a friendly name and SEC frames returned no data";
75
+ readonly when: "The concept input is neither a supported friendly name nor shaped like an XBRL tag, so no request is sent";
71
76
  readonly recovery: "Use a friendly name from secedgar_search_concepts or a valid raw XBRL tag.";
72
77
  }, {
73
78
  readonly reason: "no_data";
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-frames.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fetch-frames.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAUjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmZ1B,CAAC"}
1
+ {"version":3,"file":"fetch-frames.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fetch-frames.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwBjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyd1B,CAAC"}