@cyanheads/secedgar-mcp-server 0.15.12 → 0.15.13

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 (74) hide show
  1. package/AGENTS.md +7 -6
  2. package/CLAUDE.md +7 -6
  3. package/README.md +36 -36
  4. package/changelog/0.15.x/0.15.13.md +33 -0
  5. package/dist/config/server-config.d.ts.map +1 -1
  6. package/dist/config/server-config.js +47 -0
  7. package/dist/config/server-config.js.map +1 -1
  8. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts +7 -0
  9. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/company-search.tool.js +8 -0
  11. package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
  12. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +7 -0
  13. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/compare-companies.tool.js +8 -0
  15. package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
  16. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +7 -0
  17. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
  18. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +8 -0
  19. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
  20. package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts +7 -0
  21. package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts.map +1 -1
  22. package/dist/mcp-server/tools/definitions/find-holders.tool.js +8 -0
  23. package/dist/mcp-server/tools/definitions/find-holders.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts +7 -0
  25. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts.map +1 -1
  26. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js +8 -0
  27. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js.map +1 -1
  28. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts +7 -0
  29. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
  30. package/dist/mcp-server/tools/definitions/get-filing.tool.js +177 -45
  31. package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
  32. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +7 -0
  33. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
  34. package/dist/mcp-server/tools/definitions/get-financials.tool.js +8 -0
  35. package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
  36. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts +7 -0
  37. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts.map +1 -1
  38. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js +8 -0
  39. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js.map +1 -1
  40. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts +7 -0
  41. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts.map +1 -1
  42. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js +8 -0
  43. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js.map +1 -1
  44. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts +7 -0
  45. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts.map +1 -1
  46. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js +8 -0
  47. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js.map +1 -1
  48. package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts +7 -0
  49. package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts.map +1 -1
  50. package/dist/mcp-server/tools/definitions/get-material-events.tool.js +8 -0
  51. package/dist/mcp-server/tools/definitions/get-material-events.tool.js.map +1 -1
  52. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +7 -0
  53. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
  54. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +8 -0
  55. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
  56. package/dist/mcp-server/tools/definitions/index.d.ts +91 -0
  57. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  58. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts +7 -0
  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 +8 -0
  61. package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
  62. package/dist/services/edgar/concept-series.d.ts.map +1 -1
  63. package/dist/services/edgar/concept-series.js +5 -1
  64. package/dist/services/edgar/concept-series.js.map +1 -1
  65. package/dist/services/edgar/edgar-api-service.d.ts +21 -11
  66. package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
  67. package/dist/services/edgar/edgar-api-service.js +132 -33
  68. package/dist/services/edgar/edgar-api-service.js.map +1 -1
  69. package/dist/services/edgar/filing-to-text.d.ts +73 -8
  70. package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
  71. package/dist/services/edgar/filing-to-text.js +179 -31
  72. package/dist/services/edgar/filing-to-text.js.map +1 -1
  73. package/package.json +3 -3
  74. package/server.json +3 -3
@@ -5,7 +5,7 @@
5
5
  import { tool, z } from '@cyanheads/mcp-ts-core';
6
6
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
7
  import { filingArchiveUrl, getEdgarApiService } from '../../../services/edgar/edgar-api-service.js';
8
- import { detectHeadings, filingToExtract, findSectionLine, foldForHeadingMatch, getExtractCache, headingKey, setExtractCache, windowText, } from '../../../services/edgar/filing-to-text.js';
8
+ import { detectHeadings, filingToExtract, foldForHeadingMatch, getExtractCache, headingKey, isTocHeading, MARKER_TITLE_RE, matchSectionLine, setExtractCache, windowText, withoutSubItemLabel, } from '../../../services/edgar/filing-to-text.js';
9
9
  const MAX_DOCUMENTS_IN_FORMAT = 10;
10
10
  /**
11
11
  * Per-category cap on the catalog rendered into an error message. Distinct from
@@ -43,7 +43,7 @@ const documentEntrySchema = z
43
43
  })
44
44
  .describe('One document entry from the filing.');
45
45
  export const getFilingTool = tool('secedgar_get_filing', {
46
- description: "Fetch a specific filing's metadata and document content by accession number. Returns the primary document as readable text. Use offset/next_offset for multi-page access to large filings (10-K, S-1 can exceed 1M chars): pass the next_offset from a truncated response to read the next page. Use section to jump directly to a heading (e.g. 'risk factors', 'item 7') without needing an offset.",
46
+ description: "Fetch a specific filing's metadata and document content by accession number. Returns the primary document as readable text. Use offset/next_offset for multi-page access to large filings (10-K, S-1 can exceed 1M chars): pass the next_offset from a truncated response as offset, without section, to read the next page. Use section to jump directly to a heading (e.g. 'risk factors', 'item 7') without needing an offset.",
47
47
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
48
48
  // Agent-facing disclosure of the content window. `content_truncated` types the
49
49
  // fact on the wire; this carries how much of the document the page actually
@@ -105,6 +105,14 @@ export const getFilingTool = tool('secedgar_get_filing', {
105
105
  retryable: true,
106
106
  thrownBy: 'service',
107
107
  },
108
+ {
109
+ reason: 'sec_unreachable',
110
+ code: JsonRpcErrorCode.ServiceUnavailable,
111
+ when: 'The last of three attempts to reach SEC EDGAR got no HTTP response — the connection failed, or no response headers arrived within 15 seconds',
112
+ recovery: 'Retry the same call in a minute — SEC EDGAR could not be reached, and nothing in the request needs to change.',
113
+ retryable: true,
114
+ thrownBy: 'service',
115
+ },
108
116
  ],
109
117
  input: z.object({
110
118
  accession_number: z
@@ -136,12 +144,12 @@ export const getFilingTool = tool('secedgar_get_filing', {
136
144
  .int()
137
145
  .min(0)
138
146
  .default(0)
139
- .describe('Character offset into the extracted document text. Pass next_offset from a truncated response to continue reading the next page. Default 0 reads from the beginning.'),
147
+ .describe('Character offset into the extracted document text. Pass next_offset from a truncated response to continue reading the next page, and leave section out: section takes precedence over offset. Default 0 reads from the beginning.'),
140
148
  section: z
141
149
  .string()
142
150
  .min(1)
143
151
  .optional()
144
- .describe("Jump to a named section, matched case-insensitively against every detected heading (e.g. 'risk factors', 'item 7', 'item 2.02', 'certain relationships'): a heading equal to the value, or whose title after its Item/Part marker equals it, wins first; otherwise the first heading containing it. A value ending in a number matches only that number: 'item 1' reaches Item 1 and Item 1A, never Items 10–16, and 'part i' never reaches Part II. With no heading match, a line of the document equal to the value, or else starting with it, is used — a subheading the outline omits ('Liquidity and Capital Resources') — and the notice says so; table-of-contents rows and wrapped cross-references are skipped. Matching also ignores whitespace and quote-style differences, so a heading copied from the outline resolves whether it carries the filing's non-breaking spaces and curly quotes or plain ones. Takes precedence over offset when both are provided. On a miss, the error message includes the detected outline so you can pick the correct heading."),
152
+ .describe("Jump to a named section, matched against every detected heading and the document's own lines (e.g. 'risk factors', 'item 7', 'item 2.02', 'certain relationships'). The first match wins, in this order: a heading equal to the value, or whose title after its Item/Part marker equals it; the first Item or Part heading containing it; a document line equal to it — a subheading the outline omits ('Liquidity and Capital Resources'); the first other heading containing it; a document line starting with it. In a proxy statement (DEF 14A and its variants), whose ITEM headings are ballot proposals, the first heading of any kind containing the value comes before both document-line steps. Within each heading step a body heading wins over a table-of-contents row, which lands only when nothing else at that step matches. A line landing says so in the notice; table-of-contents rows and wrapped cross-references are never line landings. A leading 20-F sub-item label on a heading or line ('3D.', 'B.') is ignored, so 'risk factors' reaches '3D. RISK FACTORS'; the value itself is matched as given. A value ending in a number matches only that number: 'item 1' reaches Item 1 and Item 1A, never Items 10–16, and 'part i' never reaches Part II. Every step ignores case, whitespace, and quote style, so a heading copied from the outline resolves whether it carries the filing's non-breaking spaces and curly quotes or plain ones; the steps comparing a whole heading or line (equal to, starting with) also ignore the punctuation between an Item or Part marker and its title, so 'Item 1A Risk Factors' reaches 'Item 1A. – Risk Factors'. Takes precedence over offset when both are provided, so leave it out when paging on with next_offset. On a miss, the error message includes the detected outline so you can pick the correct heading."),
145
153
  }),
146
154
  output: z.object({
147
155
  accession_number: z.string().describe('Filing accession number, normalized to dash format.'),
@@ -192,7 +200,7 @@ export const getFilingTool = tool('secedgar_get_filing', {
192
200
  next_offset: z
193
201
  .number()
194
202
  .optional()
195
- .describe('Offset of the next page, to pass as offset; present while content_truncated is true.'),
203
+ .describe('Offset of the next page, to pass as offset without section; present while content_truncated is true.'),
196
204
  outline: z
197
205
  .array(z
198
206
  .object({
@@ -331,6 +339,20 @@ export const getFilingTool = tool('secedgar_get_filing', {
331
339
  filingPrimaryName = cached.document;
332
340
  }
333
341
  }
342
+ // Form, filing date, and period come from the submissions feed's recent window when
343
+ // the accession sits in it. An older filing takes them from its own SEC header: the
344
+ // index-headers page already fetched above, or — only when that page is missing —
345
+ // the bare `.hdr.sgml` header, the one extra request this path can cost (#126).
346
+ // Read before `section` resolves, which ranks a proxy statement's headings apart.
347
+ const { submissions, headers } = records;
348
+ const recent = submissions.filings.recent;
349
+ const idx = recent.accessionNumber.indexOf(accn);
350
+ const header = idx >= 0
351
+ ? undefined
352
+ : (headers?.submission ?? (await api.tryGetSubmissionHeader(resolvedCik, accn)));
353
+ const form = idx >= 0 ? recent.form[idx] : header?.form;
354
+ const filingDate = idx >= 0 ? recent.filingDate[idx] : header?.filingDate;
355
+ const periodEnding = idx >= 0 ? recent.reportDate[idx] : header?.periodOfReport;
334
356
  // Determine effective offset (section wins over raw offset)
335
357
  let effectiveOffset = input.offset ?? 0;
336
358
  let lineNotice;
@@ -338,12 +360,19 @@ export const getFilingTool = tool('secedgar_get_filing', {
338
360
  // Every detected heading is a candidate; the 50-entry cap is the
339
361
  // rendered outline's alone (#169).
340
362
  const headings = detectHeadings(fullText);
341
- // A heading always wins; only then the document's own lines (#166).
342
- const headingLanding = resolveSectionHeading(headings, input.section)?.offset;
343
- const landing = headingLanding ?? findSectionLine(fullText, input.section);
344
- if (headingLanding === undefined && landing !== undefined) {
363
+ // A value of whitespace alone folds to an empty needle, which every
364
+ // heading contains and every line starts with, so it fails before
365
+ // resolution rather than landing unasked on whatever comes first.
366
+ const blank = foldForHeadingMatch(input.section) === '';
367
+ const landing = blank
368
+ ? undefined
369
+ : resolveSection(fullText, headings, input.section, PROXY_FORM_RE.test(form ?? ''));
370
+ if (landing?.source === 'line') {
345
371
  lineNotice = `No detected heading matches section '${input.section}', so this page starts at the first document line that does.`;
346
372
  }
373
+ else if (landing?.source === 'line-over-heading') {
374
+ lineNotice = `No detected heading equals section '${input.section}', so this page starts at the first document line that does, ahead of headings that only contain it.`;
375
+ }
347
376
  if (landing === undefined) {
348
377
  // Render the outline into the message itself — clients reliably see only
349
378
  // message + recovery hint, not error data (#70).
@@ -355,13 +384,16 @@ export const getFilingTool = tool('secedgar_get_filing', {
355
384
  const hint = headings.length > 0
356
385
  ? 'Pick a heading from the outline above and pass it as section; a subheading the outline omits matches when passed exactly as the document prints it.'
357
386
  : 'No headings were detected in this document — use offset paging instead.';
358
- throw ctx.fail('section_not_found', `Section '${input.section}' not found in this document.${outlineBlock}`, {
387
+ const problem = blank
388
+ ? `Section is blank: ${describeBlankSection(input.section)}, leaving nothing to match.`
389
+ : `Section '${input.section}' not found in this document.`;
390
+ throw ctx.fail('section_not_found', `${problem}${outlineBlock}`, {
359
391
  section: input.section,
360
392
  outline,
361
393
  recovery: { hint },
362
394
  });
363
395
  }
364
- effectiveOffset = landing;
396
+ effectiveOffset = landing.offset;
365
397
  }
366
398
  // Validate offset
367
399
  if (effectiveOffset >= fullText.length && fullText.length > 0) {
@@ -383,7 +415,11 @@ export const getFilingTool = tool('secedgar_get_filing', {
383
415
  ? `The filing index names ${unservedPrimary} as the primary document, but the SEC archive does not serve it, so this text is the full submission file ${targetName}.`
384
416
  : undefined;
385
417
  if (truncated) {
386
- const paging = `Showing ${text.length} of ${totalLength} characters. Pass next_offset (${nextOffset ?? '?'}) as offset to read the next page, or jump with section.`;
418
+ // section outranks offset, so a caller who keeps it reads this page again.
419
+ const nextPage = input.section
420
+ ? 'as offset without section to read the next page — section takes precedence over offset.'
421
+ : 'as offset to read the next page, or jump with section.';
422
+ const paging = `Showing ${text.length} of ${totalLength} characters. Pass next_offset (${nextOffset ?? '?'}) ${nextPage}`;
387
423
  const outlineCut = detected && outline && outlineCutNote(outline, detected);
388
424
  ctx.enrich.truncated({
389
425
  shown: text.length,
@@ -396,20 +432,7 @@ export const getFilingTool = tool('secedgar_get_filing', {
396
432
  }
397
433
  // Headers give canonical document types; without them categorization falls
398
434
  // back to name-pattern inference.
399
- const { submissions, headers } = records;
400
435
  const documents = categorizeDocuments(index.directory.item, filingPrimaryName, headers?.documents ?? null, input.include_xbrl);
401
- // Form, filing date, and period come from the submissions feed's recent window when
402
- // the accession sits in it. An older filing takes them from its own SEC header: the
403
- // index-headers page already fetched above, or — only when that page is missing —
404
- // the bare `.hdr.sgml` header, the one extra request this path can cost (#126).
405
- const recent = submissions.filings.recent;
406
- const idx = recent.accessionNumber.indexOf(accn);
407
- const header = idx >= 0
408
- ? undefined
409
- : (headers?.submission ?? (await api.tryGetSubmissionHeader(resolvedCik, accn)));
410
- const form = idx >= 0 ? recent.form[idx] : header?.form;
411
- const filingDate = idx >= 0 ? recent.filingDate[idx] : header?.filingDate;
412
- const periodEnding = idx >= 0 ? recent.reportDate[idx] : header?.periodOfReport;
413
436
  ctx.log.info('Filing retrieved', {
414
437
  accessionNumber: accn,
415
438
  cik: resolvedCik,
@@ -484,45 +507,154 @@ function sectionMatches(heading, needle) {
484
507
  : /(?:^|\s)[ivx]{1,4}$/.test(needle)
485
508
  ? /[\p{L}\p{N}]/u
486
509
  : undefined;
487
- for (let at = heading.indexOf(needle); at !== -1; at = heading.indexOf(needle, at + 1)) {
488
- if (!continuation?.test(heading.charAt(at + needle.length)))
489
- return true;
510
+ const at = heading.indexOf(needle);
511
+ if (at === -1)
512
+ return false;
513
+ if (continuation === undefined || !continuation.test(heading.charAt(at + needle.length))) {
514
+ return true;
490
515
  }
491
- return false;
516
+ return occursBeforeBoundary(heading, needle, at + 1, continuation);
492
517
  }
493
518
  /**
494
- * A folded heading key's Item or Part marker — an Item code with an optional
495
- * 8-K paragraph suffix, or a Part numeral — capturing the marker and the title
496
- * after it, past an optional period and a dash, colon, or period separator. A
497
- * bare marker captures an empty title.
519
+ * Whether `needle` occurs in `heading` at or after `from` with no `continuation`
520
+ * character after it, over every occurrence in one Knuth–Morris–Pratt pass.
521
+ * Reached only after a first occurrence that runs on.
498
522
  */
499
- const MARKER_TITLE_RE = /^(item \d{1,2}(?:\.\d{2}|[a-z])?(?:\([a-z]\))?|part [ivx]{1,4}\b)\.? ?(?:[-–—:.] ?)?(.*)$/;
523
+ function occursBeforeBoundary(heading, needle, from, continuation) {
524
+ const fallback = new Int32Array(needle.length);
525
+ for (let i = 1, k = 0; i < needle.length; i++) {
526
+ while (k > 0 && needle[i] !== needle[k])
527
+ k = fallback[k - 1] ?? 0;
528
+ if (needle[i] === needle[k])
529
+ k++;
530
+ fallback[i] = k;
531
+ }
532
+ for (let i = from, k = 0; i < heading.length; i++) {
533
+ while (k > 0 && heading[i] !== needle[k])
534
+ k = fallback[k - 1] ?? 0;
535
+ if (heading[i] === needle[k])
536
+ k++;
537
+ if (k === needle.length) {
538
+ if (!continuation.test(heading.charAt(i + 1)))
539
+ return true;
540
+ k = fallback[k - 1] ?? 0;
541
+ }
542
+ }
543
+ return false;
544
+ }
500
545
  /**
501
- * The heading `section` lands on, searching every detected heading (#169):
546
+ * Where `section` lands, over every detected heading (#169) and the document's
547
+ * own lines (#166), in five tiers — first hit wins (#177):
502
548
  * 1. Exact — the first heading whose {@link headingKey} equals the needle's, or
503
- * whose title after its Item/Part marker does. A bare marker ("ITEM 1.",
504
- * "Part II") has no title and is never a candidate here. This tier keeps
505
- * "risk factors" on "Item 1A. Risk Factors." when an earlier all-caps heading
549
+ * whose title after its Item/Part marker does; failing that, the first equal
550
+ * once a leading 20-F sub-item label is removed ("D. RISK FACTORS", #175), so
551
+ * an earlier "A. RISK FACTORS" never takes "risk factors" from "Item 1A. Risk
552
+ * Factors". The needle is compared as given. A bare marker ("ITEM 1.", "Part
553
+ * II") has no title and is never a candidate here. This tier keeps "risk
554
+ * factors" on "Item 1A. Risk Factors." when an earlier all-caps heading
506
555
  * merely contains the words.
507
- * 2. Substring — the first heading by offset that {@link sectionMatches}.
556
+ * 2. The first Item or Part heading that {@link sectionMatches}: a value inside
557
+ * an Item title names that Item ("compensation" → "Item 11. Executive
558
+ * Compensation"), where a line equal to it is often a table-row label.
559
+ * 3. A document line equal to the value ({@link matchSectionLine}).
560
+ * 4. The first other heading that {@link sectionMatches}. One that merely holds
561
+ * the word ("NOTE 3. BUSINESS COMBINATIONS" for "business", "COST OF
562
+ * REVENUES" for "revenue") ranks after a line printing the value alone.
563
+ * 5. A document line starting with the value.
564
+ *
565
+ * Inside each heading tier, a heading on a table-of-contents row
566
+ * ({@link isTocHeading}) ranks after every body heading of the tier, and lands
567
+ * only when it is the tier's one match (#174) — in tier 1, after the labelled
568
+ * body headings too, so a TOC row equal as printed never outranks a body "D.
569
+ * RISK FACTORS". TOC rows that survive dedup — a bare marker over its title and
570
+ * page cells, a row worded apart from its body heading — otherwise came first
571
+ * by offset and took every `item N` in a 20-F whose TOC prints one cell per
572
+ * line. They are not pushed behind the line tiers: a body heading over a page
573
+ * number reads as a TOC row too, and behind the line tiers CCC's `item 6` left
574
+ * its body "Item 6. Reserved." for a bare TOC marker line. The line tiers skip
575
+ * TOC rows already.
576
+ *
577
+ * The line tiers share one pass over the text, run only when tiers 1 and 2 miss.
578
+ *
579
+ * A proxy statement (`proxy`) keeps tier 1, then every heading containing the
580
+ * value, then the line tiers: its ITEM headings are ballot proposals, not the
581
+ * Regulation S-K item taxonomy, and its lines equal to a value are mostly table
582
+ * cells. Tiers 2–4 there took Goldman Sachs' DEF 14A `compensation` from the
583
+ * CD&A to "ITEM 2. … SAY ON PAY" 151,000 characters on, and `summary` from
584
+ * "EXECUTIVE SUMMARY" to a Pay versus Performance column header.
508
585
  */
509
- function resolveSectionHeading(headings, section) {
586
+ function resolveSection(text, headings, section, proxy) {
587
+ /**
588
+ * The earliest heading of the best rank `rank` gives (0, then 1; undefined is
589
+ * no match), every body heading ahead of every TOC row.
590
+ */
591
+ const best = (rank) => {
592
+ const earliest = [];
593
+ for (const h of headings) {
594
+ const r = rank(h);
595
+ if (r === undefined)
596
+ continue;
597
+ const slot = r + (isTocHeading(text, h) ? 2 : 0);
598
+ if (slot === 0)
599
+ return h;
600
+ earliest[slot] ??= h;
601
+ }
602
+ return earliest.find((h) => h !== undefined);
603
+ };
604
+ /** The first heading `matches` accepts, a body heading ahead of every TOC row. */
605
+ const first = (matches) => best((h) => (matches(h) ? 0 : undefined));
510
606
  const exactNeedle = headingKey(section);
511
- const exact = headings.find((h) => {
607
+ const exact = best((h) => {
512
608
  const key = headingKey(h.heading);
513
609
  const title = MARKER_TITLE_RE.exec(key)?.[2];
514
610
  if (title === '')
515
- return false;
516
- return key === exactNeedle || title === exactNeedle;
611
+ return;
612
+ if (key === exactNeedle || title === exactNeedle)
613
+ return 0;
614
+ const labelled = [key, title].some((k) => k !== undefined && withoutSubItemLabel(k) === exactNeedle);
615
+ return labelled ? 1 : undefined;
517
616
  });
518
617
  if (exact)
519
- return exact;
618
+ return { offset: exact.offset, source: 'heading' };
520
619
  // Fold both operands (Unicode whitespace runs, typographic quotes) so a
521
620
  // heading re-sent from a rendered outline still matches the bytes it came
522
621
  // from (#106).
523
622
  const needle = foldForHeadingMatch(section);
524
- return headings.find((h) => sectionMatches(foldForHeadingMatch(h.heading), needle));
623
+ const contains = (h) => sectionMatches(foldForHeadingMatch(h.heading), needle);
624
+ if (proxy) {
625
+ const heading = first(contains);
626
+ if (heading)
627
+ return { offset: heading.offset, source: 'heading' };
628
+ const line = matchSectionLine(text, section);
629
+ return line ? { offset: line.offset, source: 'line' } : undefined;
630
+ }
631
+ const itemOrPart = first((h) => STRUCTURAL_HEADING_RE.test(h.heading) && contains(h));
632
+ if (itemOrPart)
633
+ return { offset: itemOrPart.offset, source: 'heading' };
634
+ const line = matchSectionLine(text, section);
635
+ // Tier 2 missed, so any heading containing the value is a non-Item one.
636
+ const other = first(contains);
637
+ if (line?.equal)
638
+ return { offset: line.offset, source: other ? 'line-over-heading' : 'line' };
639
+ if (other)
640
+ return { offset: other.offset, source: 'heading' };
641
+ if (line)
642
+ return { offset: line.offset, source: 'line' };
643
+ return;
644
+ }
645
+ /**
646
+ * A blank `section` described by its length and the code points it holds, each
647
+ * named once in order of first appearance ("its 2 characters are all whitespace
648
+ * (U+0009, U+000A)"), since the value itself prints as nothing. Every character
649
+ * a fold strips is in the BMP, so a code unit is its code point.
650
+ */
651
+ function describeBlankSection(section) {
652
+ const codes = new Set(Array.from(section, (c) => `U+${c.charCodeAt(0).toString(16).toUpperCase().padStart(4, '0')}`));
653
+ const count = section.length === 1 ? 'its 1 character is' : `its ${section.length} characters are all`;
654
+ return `${count} whitespace (${[...codes].join(', ')})`;
525
655
  }
656
+ /** A proxy or information statement form: DEF 14A, DEFA14A, DEFM14A, PRE 14A, PREM14C, … */
657
+ const PROXY_FORM_RE = /^(?:DEF|PRE)[ACMNR]? ?14[AC]\b/;
526
658
  /** Most headings an outline renders, on the first page and in a section_not_found message. */
527
659
  const OUTLINE_MAX_ENTRIES = 50;
528
660
  /** An Item or Part heading, bare marker included — the document's structure. */
@@ -1 +1 @@
1
- {"version":3,"file":"get-filing.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-filing.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-filing.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-filing.tool.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,13 @@ export declare const getFinancialsTool: import("@cyanheads/mcp-ts-core").ToolDef
88
88
  readonly recovery: "Wait the retryAfter seconds the error carries, then retry — SEC lifts the block only once requests stop for ten minutes.";
89
89
  readonly retryable: true;
90
90
  readonly thrownBy: "service";
91
+ }, {
92
+ readonly reason: "sec_unreachable";
93
+ readonly code: JsonRpcErrorCode.ServiceUnavailable;
94
+ readonly when: "The last of three attempts to reach SEC EDGAR got no HTTP response — the connection failed, or no response headers arrived within 15 seconds";
95
+ readonly recovery: "Retry the same call in a minute — SEC EDGAR could not be reached, and nothing in the request needs to change.";
96
+ readonly retryable: true;
97
+ readonly thrownBy: "service";
91
98
  }], {
92
99
  readonly notice: z.ZodOptional<z.ZodString>;
93
100
  readonly truncated: z.ZodOptional<z.ZodBoolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"get-financials.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-financials.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA0FjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAutB5B,CAAC"}
1
+ {"version":3,"file":"get-financials.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-financials.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA0FjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAguB5B,CAAC"}
@@ -125,6 +125,14 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
125
125
  retryable: true,
126
126
  thrownBy: 'service',
127
127
  },
128
+ {
129
+ reason: 'sec_unreachable',
130
+ code: JsonRpcErrorCode.ServiceUnavailable,
131
+ when: 'The last of three attempts to reach SEC EDGAR got no HTTP response — the connection failed, or no response headers arrived within 15 seconds',
132
+ recovery: 'Retry the same call in a minute — SEC EDGAR could not be reached, and nothing in the request needs to change.',
133
+ retryable: true,
134
+ thrownBy: 'service',
135
+ },
128
136
  ],
129
137
  input: z.object({
130
138
  company: z