@cyanheads/secedgar-mcp-server 0.15.13 → 0.15.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +8 -6
- package/CLAUDE.md +8 -6
- package/Dockerfile +3 -3
- package/README.md +2 -2
- package/changelog/0.15.x/0.15.14.md +31 -0
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/definitions/company-search.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/company-search.tool.js +8 -10
- package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js +6 -4
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +6 -4
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.js +6 -4
- package/dist/mcp-server/tools/definitions/find-holders.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js +7 -5
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-filing.tool.js +59 -33
- package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.js +11 -8
- package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js +22 -20
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js +9 -11
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js +11 -12
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-material-events.tool.js +8 -10
- package/dist/mcp-server/tools/definitions/get-material-events.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +6 -4
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +30 -35
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts +3 -8
- package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.js +117 -59
- package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
- package/dist/services/edgar/call-scope.d.ts +41 -0
- package/dist/services/edgar/call-scope.d.ts.map +1 -0
- package/dist/services/edgar/call-scope.js +53 -0
- package/dist/services/edgar/call-scope.js.map +1 -0
- package/dist/services/edgar/edgar-api-service.d.ts +80 -50
- package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
- package/dist/services/edgar/edgar-api-service.js +483 -211
- package/dist/services/edgar/edgar-api-service.js.map +1 -1
- package/dist/services/edgar/filing-to-text.d.ts +53 -14
- package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
- package/dist/services/edgar/filing-to-text.js +181 -33
- package/dist/services/edgar/filing-to-text.js.map +1 -1
- package/dist/services/edgar/submissions-archive.d.ts +6 -3
- package/dist/services/edgar/submissions-archive.d.ts.map +1 -1
- package/dist/services/edgar/submissions-archive.js +6 -3
- package/dist/services/edgar/submissions-archive.js.map +1 -1
- package/package.json +4 -4
- package/server.json +3 -3
|
@@ -255,6 +255,17 @@ export function extractCacheSize() {
|
|
|
255
255
|
* #165). Without the decimal, the `.02` of `Item 5.02` broke every Item pattern.
|
|
256
256
|
*/
|
|
257
257
|
const ITEM_CODE = String.raw `\d{1,2}(?:\.\d{2}|[a-z])?`;
|
|
258
|
+
/**
|
|
259
|
+
* A title run straight into its Item code or Part numeral, with no period or
|
|
260
|
+
* space between (#180): a capital followed by a lowercase letter, matched
|
|
261
|
+
* case-sensitively inside the case-insensitive patterns (the `(?-i:)` modifier
|
|
262
|
+
* group). The title's shape is what ends the marker — `Item 1Financial
|
|
263
|
+
* Statements` is Item `1` and `Part IFinancial Information` Part `I`, while a
|
|
264
|
+
* lettered code (`Item 16KCybersecurity`) and a longer numeral (`Part IVExhibits`)
|
|
265
|
+
* read whole, and an all-caps run-in (`Item 1ARISK FACTORS`) matches nothing.
|
|
266
|
+
* A fixed-width lookahead, so it adds no quantifier to a scan.
|
|
267
|
+
*/
|
|
268
|
+
const TITLE_RUN_IN = '(?-i:(?=[A-Z][a-z]))';
|
|
258
269
|
/**
|
|
259
270
|
* Regexes that match SEC document headings, anchored to start-of-line:
|
|
260
271
|
* - All-caps forms — "ITEM N" / "ITEM NA" lines (10-K, 10-Q structure) and
|
|
@@ -272,9 +283,16 @@ const ITEM_CODE = String.raw `\d{1,2}(?:\.\d{2}|[a-z])?`;
|
|
|
272
283
|
* dotted 8-K marker may also abut its title or carry a paragraph suffix
|
|
273
284
|
* ("Item 9.01Financial Statements…", "Item 9.01(d). Financial…"), and then
|
|
274
285
|
* the title must start with a letter, so a bare "Item 5.02." line never matches
|
|
275
|
-
* on its own (#165).
|
|
276
|
-
*
|
|
277
|
-
*
|
|
286
|
+
* on its own (#165). Any other code may abut its title past its period ("Item
|
|
287
|
+
* 2.Management’s Discussion…", "Item 1A.Risk Factors"), the title again
|
|
288
|
+
* opening on a letter, while a digit there stays part of the code ("Item
|
|
289
|
+
* 2.02"; "Item 2.0 something" is no heading); with no period, a code or a Part
|
|
290
|
+
* numeral runs into a title only at {@link TITLE_RUN_IN}'s capital and
|
|
291
|
+
* lowercase letter ("Item 1Financial Statements", "Part IFinancial
|
|
292
|
+
* Information"), the shapes html-to-text leaves when marker and title are
|
|
293
|
+
* separate spans with no space between (#180). A Part line may carry a title
|
|
294
|
+
* after whitespace and an optional dash, colon, or period ("Part II — Other
|
|
295
|
+
* Information"), which must start uppercase (#170).
|
|
278
296
|
* - Bare Item markers — a marker alone on its line, title supplied further
|
|
279
297
|
* down (see {@link titleAfterMarkerLine}).
|
|
280
298
|
*
|
|
@@ -320,16 +338,18 @@ const ITEM_CODE = String.raw `\d{1,2}(?:\.\d{2}|[a-z])?`;
|
|
|
320
338
|
* Heuristics — best-effort, not guaranteed to match all or only headings.
|
|
321
339
|
*/
|
|
322
340
|
const ALL_CAPS_HEADING_RE = /^(?:\xA0(?=ITEM[^\S\n]+\d+[A-Z]?\b))?(ITEM[^\S\n]+\d+[A-Z]?\b[^\n]*|([A-Z][[A-Z0-9,\(\)\&.\/'’–—\-][\s--\n]]{8,}))$/gmv;
|
|
323
|
-
const ITEM_PART_HEADING_RE = new RegExp(String.raw `^(?:\xA0(?=item[^\S\n]))?(item[^\S\n]+(${ITEM_CODE})(?:\.?[^\S\n]+|(?<=\.\d{2})(?:\([a-z]\))?\.?[^\S\n]*(?=[a-z]))(\S[^\n]*)` +
|
|
324
|
-
String.raw `|part[^\S\n]+[ivx]{1,4}
|
|
341
|
+
const ITEM_PART_HEADING_RE = new RegExp(String.raw `^(?:\xA0(?=item[^\S\n]))?(item[^\S\n]+(${ITEM_CODE})(?:\.?[^\S\n]+|(?<=\.\d{2})(?:\([a-z]\))?\.?[^\S\n]*(?=[a-z])|\.(?=[a-z])|${TITLE_RUN_IN})(\S[^\n]*)` +
|
|
342
|
+
String.raw `|part[^\S\n]+[ivx]{1,4}(?:\b|${TITLE_RUN_IN})\.?(?:[^\S\n]*(?:[-–—:.][^\S\n]*)?([a-z][^\n]{0,140}))?)[^\S\n]*$`, 'gim');
|
|
325
343
|
/** The one leading character a same-line Item heading may open on (#176). */
|
|
326
344
|
const NBSP = '\xA0';
|
|
327
345
|
const BARE_ITEM_MARKER_RE = new RegExp(String.raw `^(item[^\S\n]+(${ITEM_CODE})\.?)[^\S\n]*$`, 'gim');
|
|
328
346
|
/**
|
|
329
347
|
* An Item marker with no period or colon after it, capturing the first
|
|
330
|
-
* character of what follows
|
|
348
|
+
* character of what follows — the title's capital when the title runs straight
|
|
349
|
+
* into the code ({@link TITLE_RUN_IN}, #180). Non-global: a predicate, not a
|
|
350
|
+
* scanner.
|
|
331
351
|
*/
|
|
332
|
-
const UNPUNCTUATED_ITEM_RE = new RegExp(String.raw `^item[^\S\n]+${ITEM_CODE}(?![.:\w])[^\S\n]
|
|
352
|
+
const UNPUNCTUATED_ITEM_RE = new RegExp(String.raw `^item[^\S\n]+${ITEM_CODE}(?:(?![.:\w])[^\S\n]*|${TITLE_RUN_IN})(\S)`, 'i');
|
|
333
353
|
/**
|
|
334
354
|
* A line that ends mid-sentence — on a comma or a semicolon. A line ending on a
|
|
335
355
|
* lowercase word is no evidence: running page headers end that way ("Table of
|
|
@@ -372,8 +392,14 @@ function isAllCapsHeadingText(line) {
|
|
|
372
392
|
}
|
|
373
393
|
return !/['’]/.test(heading.replace(HEADING_APOSTROPHE_RE, ''));
|
|
374
394
|
}
|
|
375
|
-
/**
|
|
376
|
-
|
|
395
|
+
/**
|
|
396
|
+
* A second Item marker after the one an Item line opens on: after whitespace, or
|
|
397
|
+
* abutting the period, digit, or parenthesis that ends the cell before it
|
|
398
|
+
* ("Item 2.Item 3.", "Item 9.01Item 9.02", "Properties 3Item 3.", #180). An
|
|
399
|
+
* opening quote or parenthesis before it is a title citing another Item ("(Item
|
|
400
|
+
* 408 of Regulation S-K)"), not a second cell. Non-global: a predicate.
|
|
401
|
+
*/
|
|
402
|
+
const LATER_ITEM_MARKER_RE = /(?:[^\S\n]|[.\d)])item[^\S\n]+\d/i;
|
|
377
403
|
/**
|
|
378
404
|
* A TOC page cell inside a line rather than at its end: a page number, a
|
|
379
405
|
* lettered page, or either after a `Page` word, set off by whitespace before it
|
|
@@ -443,8 +469,10 @@ function maxTitleChars(code) {
|
|
|
443
469
|
* occurrence, takes `section: "item 8"` ahead of the real heading (#136). A
|
|
444
470
|
* heading puts a period or colon after its marker, or a capitalized title ("Item 6
|
|
445
471
|
* Selected Financial Data", "Item 1 - Legal Proceedings"). An unpunctuated marker
|
|
446
|
-
*
|
|
447
|
-
* of
|
|
472
|
+
* — a title run straight into the code included ("…in Part II,\nItem 8Financial
|
|
473
|
+
* Statements of this report", #180) — reads as prose when the word after it
|
|
474
|
+
* starts lowercase ("Item 1 is the election of…") or when the line before it ends
|
|
475
|
+
* on a comma or semicolon.
|
|
448
476
|
*/
|
|
449
477
|
function isWrappedProse(text, lineStart, line) {
|
|
450
478
|
const marker = UNPUNCTUATED_ITEM_RE.exec(line);
|
|
@@ -522,9 +550,9 @@ const BARE_PART_HEADING_RE = /^part[^\S\n]+([ivx]{1,4})\.?$/i;
|
|
|
522
550
|
/**
|
|
523
551
|
* A Part heading with a title after its numeral ("PART II — OTHER INFORMATION",
|
|
524
552
|
* "Part I. Financial Information"), capturing the numeral and the title, which
|
|
525
|
-
* opens on a letter.
|
|
553
|
+
* opens on a letter, or runs straight into the numeral (#180).
|
|
526
554
|
*/
|
|
527
|
-
const TITLED_PART_HEADING_RE =
|
|
555
|
+
const TITLED_PART_HEADING_RE = new RegExp(String.raw `^part[^\S\n]+([ivx]{1,4})(?:\b|${TITLE_RUN_IN})\.?[^\S\n]*(?:[-–—:.][^\S\n]*)?([a-z][^\n]*)`, 'i');
|
|
528
556
|
/**
|
|
529
557
|
* Drop each bare Part entry that a later titled heading for the same numeral
|
|
530
558
|
* follows (#170). A 10-Q's TOC prints "Part II" as a bare row and its body prints
|
|
@@ -562,6 +590,22 @@ function stripPageNumberTail(heading) {
|
|
|
562
590
|
* bare marker captures an empty title.
|
|
563
591
|
*/
|
|
564
592
|
export const MARKER_TITLE_RE = /^(item \d{1,2}(?:\.\d{2}|[a-z])?(?:\([a-z]\))?|part [ivx]{1,4}\b)\.? ?(?:[-–—:.] ?)?(.*)$/;
|
|
593
|
+
/**
|
|
594
|
+
* An Item or Part marker whose title runs straight into it ({@link TITLE_RUN_IN}),
|
|
595
|
+
* capturing any leading whitespace and the marker as heading detection reads
|
|
596
|
+
* it. Anchored: one try per key.
|
|
597
|
+
*/
|
|
598
|
+
const RUN_IN_MARKER_RE = new RegExp(String.raw `^(\s*(?:item[^\S\n]+\d{1,2}[a-z]?|part[^\S\n]+[ivx]{1,4}))${TITLE_RUN_IN}`, 'i');
|
|
599
|
+
/**
|
|
600
|
+
* `heading` with a space read in where its Item or Part marker runs straight
|
|
601
|
+
* into its title ({@link RUN_IN_MARKER_RE}, #180) — "Part IFinancial
|
|
602
|
+
* Information" → "Part I Financial Information" — so a test written for a
|
|
603
|
+
* spaced marker reads the run-in one the way heading detection does. Any other
|
|
604
|
+
* heading comes back unchanged.
|
|
605
|
+
*/
|
|
606
|
+
export function spaceRunInMarker(heading) {
|
|
607
|
+
return heading.replace(RUN_IN_MARKER_RE, '$1 ');
|
|
608
|
+
}
|
|
565
609
|
/** Terminal sentence punctuation on a folded key. */
|
|
566
610
|
const TERMINAL_PUNCTUATION_RE = /(?<![.,;:])[.,;:]+$/;
|
|
567
611
|
/**
|
|
@@ -576,11 +620,15 @@ const TERMINAL_PUNCTUATION_RE = /(?<![.,;:])[.,;:]+$/;
|
|
|
576
620
|
* Factors" in its body, so both kept an entry and `section` landed on the TOC
|
|
577
621
|
* row (#174). A marker key is rebuilt as the marker, one space, and the title
|
|
578
622
|
* ("item 1a risk factors"), whatever period, dash, or colon stood between them.
|
|
623
|
+
* A title run straight into its marker gets the space read where heading
|
|
624
|
+
* detection ends the marker, before the fold lowercases the capital that marks
|
|
625
|
+
* it: "Item 1Financial Statements" keys as "item 1 financial statements", and
|
|
626
|
+
* dedups against a TOC row's "Item 1. Financial Statements" (#180).
|
|
579
627
|
*
|
|
580
628
|
* Key-only — the entry keeps the document's own heading text.
|
|
581
629
|
*/
|
|
582
630
|
export function headingKey(heading) {
|
|
583
|
-
const key = printedKey(heading);
|
|
631
|
+
const key = printedKey(spaceRunInMarker(heading));
|
|
584
632
|
const [, marker, title] = MARKER_TITLE_RE.exec(key) ?? [];
|
|
585
633
|
if (marker === undefined)
|
|
586
634
|
return key;
|
|
@@ -830,8 +878,12 @@ export function foldForHeadingMatch(value) {
|
|
|
830
878
|
* "Part iv" would read as a page cell.
|
|
831
879
|
*/
|
|
832
880
|
const PAGE_CELL_LINE_RE = /^[^\S\n]*(?:(?:Page|PAGE)[^\S\n]+)?(?:\d{1,4}|[A-Z]-\d{1,3}|[ivxlc]{1,7})[^\S\n]*$/;
|
|
833
|
-
/**
|
|
834
|
-
|
|
881
|
+
/**
|
|
882
|
+
* A line opening on an Item or Part marker, bare, titled, or run straight into
|
|
883
|
+
* its title ({@link TITLE_RUN_IN}, #180: "Item 1Financial Statements"). Non-global:
|
|
884
|
+
* a predicate.
|
|
885
|
+
*/
|
|
886
|
+
const MARKER_LINE_RE = new RegExp(String.raw `^(?:item[^\S\n]+${ITEM_CODE}|part[^\S\n]+[ivx]{1,4})(?:\b|${TITLE_RUN_IN})`, 'i');
|
|
835
887
|
/**
|
|
836
888
|
* The first line at or after `from` holding anything but whitespace (NBSP
|
|
837
889
|
* spacer rows count as whitespace), or undefined when none does. An HTML TOC
|
|
@@ -898,6 +950,21 @@ function isTocRow(text, line, after) {
|
|
|
898
950
|
* cell — a TOC title wrapped onto a second line (Aware's "Item 5. Market for…
|
|
899
951
|
* Issuer Purchases / of Equity Securities....... 12").
|
|
900
952
|
*
|
|
953
|
+
* A title can also wrap once with its page cell on a line of its own under the
|
|
954
|
+
* wrap (#183): DRDGOLD's "ITEM 14." / "MATERIAL MODIFICATIONS TO THE RIGHTS OF
|
|
955
|
+
* SECURITY HOLDERS AND USE OF" / "PROCEEDS" / "79". That reads as a TOC row only
|
|
956
|
+
* when the title line, the continuation, and a page-cell line
|
|
957
|
+
* ({@link PAGE_CELL_LINE_RE}) sit on three consecutive lines and the
|
|
958
|
+
* continuation keeps the title line's case — no lowercase letter under an
|
|
959
|
+
* all-caps title line, an opening lowercase one under a mixed-case title line
|
|
960
|
+
* ("of Equity Securities"). A body heading over one line of body text and a page
|
|
961
|
+
* number has the same three lines: across 26 sampled filings, the step without
|
|
962
|
+
* those two conditions flagged 47 body headings ("Item 4. Mine Safety
|
|
963
|
+
* Disclosures" / "Not applicable." / "31", spacer lines between or not), and
|
|
964
|
+
* with them only DRDGOLD's TOC row and its title cell. One body shape still
|
|
965
|
+
* reads as a TOC row: an all-caps heading over a one-word all-caps line and a
|
|
966
|
+
* page number ("ITEM 4. MINE SAFETY DISCLOSURES" / "NONE" / "31").
|
|
967
|
+
*
|
|
901
968
|
* Three TOC shapes survive dedup: a body heading worded apart from its TOC row
|
|
902
969
|
* (First Bancorp's 8-K: "Item 9.01 Financial Statements and Exhibits. Page 1"
|
|
903
970
|
* over the body's "…Pro Forma Financial Information and Exhibits."), a bare
|
|
@@ -924,7 +991,21 @@ export function isTocHeading(text, heading) {
|
|
|
924
991
|
if (isTocRow(text, title.line, title.end))
|
|
925
992
|
return true;
|
|
926
993
|
const below = nextContentLine(text, title.end);
|
|
927
|
-
|
|
994
|
+
if (below === undefined)
|
|
995
|
+
return false;
|
|
996
|
+
if (TOC_PAGE_TAIL_RE.test(below.line))
|
|
997
|
+
return true;
|
|
998
|
+
// The title wrapped once, its page cell on the line under the wrap (#183).
|
|
999
|
+
if (below.end - below.line.length - 1 !== title.end)
|
|
1000
|
+
return false;
|
|
1001
|
+
const continuation = below.line.trimStart();
|
|
1002
|
+
const sameCase = /\p{Ll}/u.test(title.line)
|
|
1003
|
+
? /^\p{Ll}/u.test(continuation)
|
|
1004
|
+
: !/\p{Ll}/u.test(continuation);
|
|
1005
|
+
if (!sameCase)
|
|
1006
|
+
return false;
|
|
1007
|
+
const pageEnd = text.indexOf('\n', below.end);
|
|
1008
|
+
return PAGE_CELL_LINE_RE.test(text.slice(below.end, pageEnd === -1 ? text.length : pageEnd));
|
|
928
1009
|
}
|
|
929
1010
|
/**
|
|
930
1011
|
* Whether a prefix line runs on past a one-word needle into a longer Title Case
|
|
@@ -958,12 +1039,71 @@ function startsWithTitle(line, key, needle) {
|
|
|
958
1039
|
!/[\p{L}\p{N}]/u.test(key.charAt(needle.length)) &&
|
|
959
1040
|
!continuesIntoLongerTitle(line, key, needle));
|
|
960
1041
|
}
|
|
1042
|
+
/** The longest row label: a figure row's own, or one {@link labelsTableRow} reads past. */
|
|
1043
|
+
const MAX_ROW_LABEL_CHARS = 60;
|
|
1044
|
+
/**
|
|
1045
|
+
* Whether a line is a table row's figure cells: a lone currency or nil cell
|
|
1046
|
+
* (`$`, `-`, `–`, `—`), or a line whose text after its last letter holds a
|
|
1047
|
+
* digit and — when the line has a letter — opens on a dotted leader, a tab, or
|
|
1048
|
+
* two or more spaces, behind a label of at most {@link MAX_ROW_LABEL_CHARS}
|
|
1049
|
+
* characters ("Product sales....... $4,759", "$ 7,746 $ `7,835" with a
|
|
1050
|
+
* stray backtick in a 2004 cell). One space never sets figures off: "The
|
|
1051
|
+
* effective rate was 21%." is prose. Past the label bound the line is a whole
|
|
1052
|
+
* table set on one line (AMC Robotics' S-1 MD&A "Revenue" over "Three months
|
|
1053
|
+
* ended June 30, 2026 2025 $ Change …"), which a heading may sit over. A nil
|
|
1054
|
+
* cell is the only figure some rows print (Worthington Steel's "Goodwill" over
|
|
1055
|
+
* "-"). One backward pass to the last letter.
|
|
1056
|
+
*/
|
|
1057
|
+
function isFigureRow(line) {
|
|
1058
|
+
const content = line.trim();
|
|
1059
|
+
if (/^[$€£\-–—]$/.test(content))
|
|
1060
|
+
return true;
|
|
1061
|
+
let lastLetter = content.length - 1;
|
|
1062
|
+
while (lastLetter >= 0 && !/\p{L}/u.test(content.charAt(lastLetter)))
|
|
1063
|
+
lastLetter--;
|
|
1064
|
+
const tail = content.slice(lastLetter + 1);
|
|
1065
|
+
if (!/\d/.test(tail))
|
|
1066
|
+
return false;
|
|
1067
|
+
if (lastLetter === -1)
|
|
1068
|
+
return true;
|
|
1069
|
+
return lastLetter < MAX_ROW_LABEL_CHARS && /^(?:\.{2,}|[^\S\n]{2,}|\t)/.test(tail);
|
|
1070
|
+
}
|
|
1071
|
+
/**
|
|
1072
|
+
* Whether the line whose newline ends just before `after` labels a table row
|
|
1073
|
+
* (#184): the next line with content, spacer lines passed over, is a figure row
|
|
1074
|
+
* ({@link isFigureRow}), or is a label — at most {@link MAX_ROW_LABEL_CHARS}
|
|
1075
|
+
* characters, opening uppercase, ending on no `.`, `:`, `;`, or `,`, closing
|
|
1076
|
+
* quotes and brackets passed over ("See “Item 18. Financial Statements.”") —
|
|
1077
|
+
* whose next line with content is one (Microsoft's 2004 segment table: "Revenue"
|
|
1078
|
+
* / "Client" / "$ 9,350 …"). Reads at most two content lines.
|
|
1079
|
+
*/
|
|
1080
|
+
function labelsTableRow(text, after) {
|
|
1081
|
+
const next = nextContentLine(text, after);
|
|
1082
|
+
if (next === undefined)
|
|
1083
|
+
return false;
|
|
1084
|
+
if (isFigureRow(next.line))
|
|
1085
|
+
return true;
|
|
1086
|
+
const label = next.line.trim();
|
|
1087
|
+
if (label.length > MAX_ROW_LABEL_CHARS ||
|
|
1088
|
+
!/^\p{Lu}/u.test(label) ||
|
|
1089
|
+
/[.:;,]["'”’)\]]*$/.test(label)) {
|
|
1090
|
+
return false;
|
|
1091
|
+
}
|
|
1092
|
+
const below = nextContentLine(text, next.end);
|
|
1093
|
+
return below !== undefined && isFigureRow(below.line);
|
|
1094
|
+
}
|
|
961
1095
|
/**
|
|
962
1096
|
* The document line `section` names — a mixed-case subheading ("Liquidity and
|
|
963
1097
|
* Capital Resources") that {@link detectHeadings} never lists (#166). Lines
|
|
964
|
-
* compare by {@link headingKey} on both sides, in
|
|
965
|
-
* 1. A line equal to the needle.
|
|
966
|
-
* 2. Only when
|
|
1098
|
+
* compare by {@link headingKey} on both sides, in three tiers:
|
|
1099
|
+
* 1. A line equal to the needle that labels no table row.
|
|
1100
|
+
* 2. Only when tier 1 finds none: an equal line that labels a table row
|
|
1101
|
+
* ({@link labelsTableRow}, #184). Every line equal to `revenue` in
|
|
1102
|
+
* Microsoft's 2004 10-K labels one (the selected-data row, a segment table's
|
|
1103
|
+
* label over a client label over figures), and as an equal line one took the
|
|
1104
|
+
* value from the MD&A heading containing it; demoted rather than skipped, the
|
|
1105
|
+
* income-statement "Total revenue" row still answers `total revenue`.
|
|
1106
|
+
* 3. Only when neither finds one: a line that starts with the needle at a word
|
|
967
1107
|
* boundary and runs at most {@link MAX_TITLE_CHARS} characters — a heading
|
|
968
1108
|
* with a date suffix ("Consolidated Schedule of Investments as of June 30,
|
|
969
1109
|
* 2026") — unless it runs on into a longer title
|
|
@@ -971,31 +1111,34 @@ function startsWithTitle(line, key, needle) {
|
|
|
971
1111
|
* tier alone would take a bullet such as "Competition among vendors…" ahead
|
|
972
1112
|
* of the "Competition" heading.
|
|
973
1113
|
*
|
|
974
|
-
* The result says which tier hit, because `section` ranks
|
|
975
|
-
*
|
|
976
|
-
*
|
|
977
|
-
* one scan.
|
|
1114
|
+
* The result says which tier hit, because `section` ranks them apart (#177): a
|
|
1115
|
+
* tier-1 line (`equal: true`) ahead of a heading that only contains the value,
|
|
1116
|
+
* a row label or prefix line (`equal: false`) after every heading. One pass
|
|
1117
|
+
* yields all three, so a caller needing each pays for one scan.
|
|
978
1118
|
*
|
|
979
|
-
*
|
|
1119
|
+
* Every tier also compares the line's key with a leading 20-F sub-item label
|
|
980
1120
|
* removed ({@link withoutSubItemLabel}, #175), so `risk factors` reaches "3D.
|
|
981
1121
|
* RISK FACTORS"; the longer-title test then judges the line after its label
|
|
982
1122
|
* ("B. Business Overview" keeps `business` out). The needle is never stripped,
|
|
983
1123
|
* so a labelled value still matches its own line. The landing is the line's
|
|
984
1124
|
* first character, label included.
|
|
985
1125
|
*
|
|
986
|
-
* In
|
|
1126
|
+
* In every tier a line is skipped when it opens on a lowercase letter (a
|
|
987
1127
|
* wrapped sentence or bullet: "competition in our market…", a lone "business."
|
|
988
1128
|
* ending a wrapped paragraph), sits under a line ending mid-sentence or opens on
|
|
989
1129
|
* an unpunctuated Item marker followed by a lowercase word (a wrapped
|
|
990
1130
|
* cross-reference, the guards heading detection applies: "…in Part II,\nItem 8
|
|
991
1131
|
* on this Form 10-K…"), or is a TOC row ({@link isTocRow}). The first remaining
|
|
992
|
-
* line wins; its offset is the line's first non-blank
|
|
993
|
-
* pass over the text
|
|
1132
|
+
* line of the best tier wins; its offset is the line's first non-blank
|
|
1133
|
+
* character. One forward pass over the text, the row-label test reading at most
|
|
1134
|
+
* two content lines past an equal line; a line too short to key as the needle is
|
|
1135
|
+
* never folded.
|
|
994
1136
|
*/
|
|
995
1137
|
export function matchSectionLine(text, section) {
|
|
996
1138
|
const needle = headingKey(section);
|
|
997
1139
|
if (needle.length === 0)
|
|
998
1140
|
return;
|
|
1141
|
+
let labelHit;
|
|
999
1142
|
let prefixHit;
|
|
1000
1143
|
for (let start = 0; start <= text.length;) {
|
|
1001
1144
|
const newline = text.indexOf('\n', start);
|
|
@@ -1003,7 +1146,8 @@ export function matchSectionLine(text, section) {
|
|
|
1003
1146
|
const line = text.slice(start, end);
|
|
1004
1147
|
const lineStart = start;
|
|
1005
1148
|
start = end + 1;
|
|
1006
|
-
|
|
1149
|
+
// The key of a line whose marker runs into its title gains a space (#180).
|
|
1150
|
+
if (line.length + 1 < needle.length)
|
|
1007
1151
|
continue;
|
|
1008
1152
|
const key = headingKey(line);
|
|
1009
1153
|
const unlabelled = withoutSubItemLabel(key);
|
|
@@ -1023,13 +1167,17 @@ export function matchSectionLine(text, section) {
|
|
|
1023
1167
|
if (isTocRow(text, line, start))
|
|
1024
1168
|
continue;
|
|
1025
1169
|
const offset = lineStart + line.length - content.length;
|
|
1026
|
-
if (equal)
|
|
1170
|
+
if (!equal)
|
|
1171
|
+
prefixHit = offset;
|
|
1172
|
+
else if (!labelsTableRow(text, start))
|
|
1027
1173
|
return { equal, offset };
|
|
1028
|
-
|
|
1174
|
+
else
|
|
1175
|
+
labelHit ??= offset;
|
|
1029
1176
|
}
|
|
1030
|
-
|
|
1177
|
+
const fallback = labelHit ?? prefixHit;
|
|
1178
|
+
return fallback === undefined ? undefined : { equal: false, offset: fallback };
|
|
1031
1179
|
}
|
|
1032
|
-
/** The offset of the line {@link matchSectionLine} lands on
|
|
1180
|
+
/** The offset of the line {@link matchSectionLine} lands on, from its best tier. */
|
|
1033
1181
|
export function findSectionLine(text, section) {
|
|
1034
1182
|
return matchSectionLine(text, section)?.offset;
|
|
1035
1183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filing-to-text.js","sourceRoot":"","sources":["../../../src/services/edgar/filing-to-text.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filing-to-text.js","sourceRoot":"","sources":["../../../src/services/edgar/filing-to-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* the scan reached and whether pages it selected went unread.
|
|
8
8
|
* @module services/edgar/submissions-archive
|
|
9
9
|
*/
|
|
10
|
+
import type { CallScope } from './call-scope.js';
|
|
10
11
|
import type { FilingsRecent, SubmissionsResponse } from './types.js';
|
|
11
12
|
/**
|
|
12
13
|
* Most archive pages one call reads. A page runs 200–360 KB and costs one request
|
|
@@ -18,7 +19,7 @@ export declare const ARCHIVE_PAGE_SCAN_CAP = 10;
|
|
|
18
19
|
export type ArchivePageEntry = SubmissionsResponse['filings']['files'][number];
|
|
19
20
|
/** Where pages are read from — `EdgarApiService`, whose page cache and pacer every read goes through. */
|
|
20
21
|
export interface ArchivePageSource {
|
|
21
|
-
fetchArchivePage(name: string): Promise<FilingsRecent>;
|
|
22
|
+
fetchArchivePage(name: string, scope: CallScope): Promise<FilingsRecent>;
|
|
22
23
|
}
|
|
23
24
|
/** Which pages a walk selects and the order it reads them in. */
|
|
24
25
|
export interface ArchiveWalkOptions {
|
|
@@ -59,14 +60,16 @@ export declare function selectArchivePages(files: readonly ArchivePageEntry[], o
|
|
|
59
60
|
* filing dated on or after that day.
|
|
60
61
|
*
|
|
61
62
|
* Iterate it with `for await`; breaking out after any page ends the walk there.
|
|
62
|
-
* Afterwards `scannedThrough` and `truncated` describe what was read.
|
|
63
|
+
* Afterwards `scannedThrough` and `truncated` describe what was read. Every page
|
|
64
|
+
* is read under the calling tool's `scope`, so a cancel ends the walk (#179).
|
|
63
65
|
*/
|
|
64
66
|
export declare class SubmissionsArchiveWalk implements AsyncIterable<ArchivePageRead> {
|
|
65
67
|
private readonly source;
|
|
68
|
+
private readonly scope;
|
|
66
69
|
private readonly pages;
|
|
67
70
|
private read;
|
|
68
71
|
private oldestRead;
|
|
69
|
-
constructor(source: ArchivePageSource, submissions: SubmissionsResponse, options: ArchiveWalkOptions);
|
|
72
|
+
constructor(source: ArchivePageSource, submissions: SubmissionsResponse, options: ArchiveWalkOptions, scope: CallScope);
|
|
70
73
|
/** Pages read so far. */
|
|
71
74
|
get pagesRead(): number;
|
|
72
75
|
/** Oldest filing date the pages read so far reach (their earliest `filingFrom`). Undefined before any read. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submissions-archive.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/submissions-archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,yGAAyG;AACzG,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"submissions-archive.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/submissions-archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,yGAAyG;AACzG,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC1E;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;;;OAKG;IACH,KAAK,EAAE,cAAc,GAAG,cAAc,CAAC;CACxC;AAED,gEAAgE;AAChE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,gBAAgB,CAAC;CACxB;AASD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAClC,OAAO,EAAE,kBAAkB,GAC1B,gBAAgB,EAAE,CAUpB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,YAAW,aAAa,CAAC,eAAe,CAAC;IAMzE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAGvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IARxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,UAAU,CAAqB;IAEvC,YACmB,MAAM,EAAE,iBAAiB,EAC1C,WAAW,EAAE,mBAAmB,EAChC,OAAO,EAAE,kBAAkB,EACV,KAAK,EAAE,SAAS,EAOlC;IAED,yBAAyB;IACzB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,+GAA+G;IAC/G,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,wGAAwG;IACxG,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,eAAe,CAAC,CAS/D;CACF"}
|
|
@@ -47,15 +47,18 @@ export function selectArchivePages(files, options) {
|
|
|
47
47
|
* filing dated on or after that day.
|
|
48
48
|
*
|
|
49
49
|
* Iterate it with `for await`; breaking out after any page ends the walk there.
|
|
50
|
-
* Afterwards `scannedThrough` and `truncated` describe what was read.
|
|
50
|
+
* Afterwards `scannedThrough` and `truncated` describe what was read. Every page
|
|
51
|
+
* is read under the calling tool's `scope`, so a cancel ends the walk (#179).
|
|
51
52
|
*/
|
|
52
53
|
export class SubmissionsArchiveWalk {
|
|
53
54
|
source;
|
|
55
|
+
scope;
|
|
54
56
|
pages;
|
|
55
57
|
read = 0;
|
|
56
58
|
oldestRead;
|
|
57
|
-
constructor(source, submissions, options) {
|
|
59
|
+
constructor(source, submissions, options, scope) {
|
|
58
60
|
this.source = source;
|
|
61
|
+
this.scope = scope;
|
|
59
62
|
const recentOldest = submissions.filings.recent.filingDate.at(-1);
|
|
60
63
|
const coveredByRecent = Boolean(options.filedAfter && recentOldest && options.filedAfter >= recentOldest);
|
|
61
64
|
this.pages = coveredByRecent ? [] : selectArchivePages(submissions.filings.files, options);
|
|
@@ -76,7 +79,7 @@ export class SubmissionsArchiveWalk {
|
|
|
76
79
|
const limit = Math.min(this.pages.length, ARCHIVE_PAGE_SCAN_CAP);
|
|
77
80
|
while (this.read < limit) {
|
|
78
81
|
const page = this.pages[this.read];
|
|
79
|
-
const block = await this.source.fetchArchivePage(page.name);
|
|
82
|
+
const block = await this.source.fetchArchivePage(page.name, this.scope);
|
|
80
83
|
this.read++;
|
|
81
84
|
if (!this.oldestRead || page.filingFrom < this.oldestRead)
|
|
82
85
|
this.oldestRead = page.filingFrom;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submissions-archive.js","sourceRoot":"","sources":["../../../src/services/edgar/submissions-archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"submissions-archive.js","sourceRoot":"","sources":["../../../src/services/edgar/submissions-archive.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/secedgar-mcp-server",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.14",
|
|
4
4
|
"description": "Query SEC EDGAR filings, XBRL financials, and company data via MCP. STDIO or Streamable HTTP.",
|
|
5
5
|
"mcpName": "io.github.cyanheads/secedgar-mcp-server",
|
|
6
6
|
"type": "module",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"bun": ">=1.4.0",
|
|
92
92
|
"node": ">=24.0.0"
|
|
93
93
|
},
|
|
94
|
-
"packageManager": "bun@1.4.
|
|
94
|
+
"packageManager": "bun@1.4.4",
|
|
95
95
|
"publishConfig": {
|
|
96
96
|
"access": "public"
|
|
97
97
|
},
|
|
@@ -114,8 +114,8 @@
|
|
|
114
114
|
"@types/html-to-text": "^9.0.4",
|
|
115
115
|
"@types/node": "^26.6.5",
|
|
116
116
|
"depcheck": "^1.4.7",
|
|
117
|
-
"ignore": "^7.0.
|
|
118
|
-
"tsc-alias": "^1.9.
|
|
117
|
+
"ignore": "^7.0.13",
|
|
118
|
+
"tsc-alias": "^1.9.8",
|
|
119
119
|
"typescript": "^7.0.2",
|
|
120
120
|
"vitest": "^5.0.5"
|
|
121
121
|
},
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/secedgar-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.15.
|
|
9
|
+
"version": "0.15.14",
|
|
10
10
|
"remotes": [
|
|
11
11
|
{
|
|
12
12
|
"type": "streamable-http",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
20
20
|
"identifier": "@cyanheads/secedgar-mcp-server",
|
|
21
21
|
"runtimeHint": "npx",
|
|
22
|
-
"version": "0.15.
|
|
22
|
+
"version": "0.15.14",
|
|
23
23
|
"environmentVariables": [
|
|
24
24
|
{
|
|
25
25
|
"name": "EDGAR_USER_AGENT",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
52
52
|
"identifier": "@cyanheads/secedgar-mcp-server",
|
|
53
53
|
"runtimeHint": "npx",
|
|
54
|
-
"version": "0.15.
|
|
54
|
+
"version": "0.15.14",
|
|
55
55
|
"environmentVariables": [
|
|
56
56
|
{
|
|
57
57
|
"name": "EDGAR_USER_AGENT",
|