@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
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { CallScope } from '../../../services/edgar/call-scope.js';
|
|
7
8
|
import { filingArchiveUrl, getEdgarApiService } from '../../../services/edgar/edgar-api-service.js';
|
|
8
|
-
import { detectHeadings, filingToExtract, foldForHeadingMatch, getExtractCache, headingKey, isTocHeading, MARKER_TITLE_RE, matchSectionLine, setExtractCache, windowText, withoutSubItemLabel, } from '../../../services/edgar/filing-to-text.js';
|
|
9
|
+
import { detectHeadings, filingToExtract, foldForHeadingMatch, getExtractCache, headingKey, isTocHeading, MARKER_TITLE_RE, matchSectionLine, setExtractCache, spaceRunInMarker, windowText, withoutSubItemLabel, } from '../../../services/edgar/filing-to-text.js';
|
|
9
10
|
const MAX_DOCUMENTS_IN_FORMAT = 10;
|
|
10
11
|
/**
|
|
11
12
|
* Per-category cap on the catalog rendered into an error message. Distinct from
|
|
@@ -108,8 +109,8 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
108
109
|
{
|
|
109
110
|
reason: 'sec_unreachable',
|
|
110
111
|
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
111
|
-
when:
|
|
112
|
-
recovery: 'Retry the same call in a minute — SEC EDGAR
|
|
112
|
+
when: "SEC EDGAR gave no complete, readable response — on the last attempt made (the third, or an earlier one once this call's 40-second budget for SEC failures ran out) the connection failed, no response headers arrived within 15 seconds, or the body broke off or stalled for 15 seconds, each wait capped at what was left of that budget; a 200 body was not the JSON SEC serves; or earlier SEC failures had spent that budget, so the request was never sent",
|
|
113
|
+
recovery: 'Retry the same call in a minute — SEC EDGAR did not deliver a complete, readable response, and nothing in the request needs to change.',
|
|
113
114
|
retryable: true,
|
|
114
115
|
thrownBy: 'service',
|
|
115
116
|
},
|
|
@@ -149,7 +150,7 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
149
150
|
.string()
|
|
150
151
|
.min(1)
|
|
151
152
|
.optional()
|
|
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."),
|
|
153
|
+
.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') — unless the line labels a table row; the first other heading containing it; a table-row label equal to it, else 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."),
|
|
153
154
|
}),
|
|
154
155
|
output: z.object({
|
|
155
156
|
accession_number: z.string().describe('Filing accession number, normalized to dash format.'),
|
|
@@ -216,6 +217,7 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
216
217
|
}),
|
|
217
218
|
async handler(input, ctx) {
|
|
218
219
|
const api = getEdgarApiService();
|
|
220
|
+
const scope = new CallScope(ctx.signal);
|
|
219
221
|
const accn = normalizeAccessionNumber(input.accession_number);
|
|
220
222
|
const documentKey = input.document ?? PRIMARY_SENTINEL;
|
|
221
223
|
const cacheKey = `${accn}:${documentKey}`;
|
|
@@ -230,7 +232,7 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
230
232
|
let records;
|
|
231
233
|
if (cached === undefined) {
|
|
232
234
|
// Cache miss — fetch, convert, and cache.
|
|
233
|
-
const resolved = await resolveFilingArchive(api, accn, input.cik, input.document);
|
|
235
|
+
const resolved = await resolveFilingArchive(api, scope, accn, input.cik, input.document);
|
|
234
236
|
if (!resolved.ok) {
|
|
235
237
|
if (resolved.kind === 'document_not_found') {
|
|
236
238
|
// Render candidates into the message itself — clients reliably see only
|
|
@@ -318,7 +320,7 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
318
320
|
// archive served the cached text (no candidate search, no document body fetch).
|
|
319
321
|
// A resolution failure here is a real failure (EDGAR index unavailable or the
|
|
320
322
|
// filing gone): fail honestly rather than fabricating placeholder metadata.
|
|
321
|
-
const metaResolved = await resolveFilingMeta(api, accn, cached.cik, input.document);
|
|
323
|
+
const metaResolved = await resolveFilingMeta(api, scope, accn, cached.cik, input.document);
|
|
322
324
|
if (!metaResolved.ok) {
|
|
323
325
|
throw ctx.fail('filing_not_found', `Filing '${accn}' could not be resolved.`, {
|
|
324
326
|
accession_number: accn,
|
|
@@ -349,7 +351,7 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
349
351
|
const idx = recent.accessionNumber.indexOf(accn);
|
|
350
352
|
const header = idx >= 0
|
|
351
353
|
? undefined
|
|
352
|
-
: (headers?.submission ?? (await api.tryGetSubmissionHeader(resolvedCik, accn)));
|
|
354
|
+
: (headers?.submission ?? (await api.tryGetSubmissionHeader(resolvedCik, accn, scope)));
|
|
353
355
|
const form = idx >= 0 ? recent.form[idx] : header?.form;
|
|
354
356
|
const filingDate = idx >= 0 ? recent.filingDate[idx] : header?.filingDate;
|
|
355
357
|
const periodEnding = idx >= 0 ? recent.reportDate[idx] : header?.periodOfReport;
|
|
@@ -488,6 +490,17 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
488
490
|
];
|
|
489
491
|
},
|
|
490
492
|
});
|
|
493
|
+
/**
|
|
494
|
+
* A heading or `section` value folded for {@link sectionMatches}: Unicode
|
|
495
|
+
* whitespace runs and typographic quotes folded on both operands, so a heading
|
|
496
|
+
* re-sent from a rendered outline still matches the bytes it came from (#106),
|
|
497
|
+
* with a space read in where a marker runs straight into its title
|
|
498
|
+
* ({@link spaceRunInMarker}, #180) before the fold lowercases the capital that
|
|
499
|
+
* marks it.
|
|
500
|
+
*/
|
|
501
|
+
function foldForSectionMatch(value) {
|
|
502
|
+
return foldForHeadingMatch(spaceRunInMarker(value));
|
|
503
|
+
}
|
|
491
504
|
/**
|
|
492
505
|
* Whether a folded `section` needle matches a folded heading: a substring match,
|
|
493
506
|
* except that a needle ending in a number never continues into a longer one.
|
|
@@ -500,6 +513,9 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
500
513
|
* `part i` never matches `PART II`, `PART III`, or `PART IV` — a 10-Q printing
|
|
501
514
|
* Part I only in its table of contents otherwise landed `part i` on its body
|
|
502
515
|
* `PART II - OTHER INFORMATION`. Every occurrence is checked, not just the first.
|
|
516
|
+
* Both operands arrive folded with a run-in marker spaced
|
|
517
|
+
* ({@link foldForSectionMatch}), so the numeral of "Part IFinancial Information"
|
|
518
|
+
* ends where heading detection ends it (#180).
|
|
503
519
|
*/
|
|
504
520
|
function sectionMatches(heading, needle) {
|
|
505
521
|
const continuation = /\d$/.test(needle)
|
|
@@ -556,11 +572,15 @@ function occursBeforeBoundary(heading, needle, from, continuation) {
|
|
|
556
572
|
* 2. The first Item or Part heading that {@link sectionMatches}: a value inside
|
|
557
573
|
* an Item title names that Item ("compensation" → "Item 11. Executive
|
|
558
574
|
* Compensation"), where a line equal to it is often a table-row label.
|
|
559
|
-
* 3. A document line equal to the value ({@link matchSectionLine})
|
|
575
|
+
* 3. A document line equal to the value ({@link matchSectionLine}) that labels
|
|
576
|
+
* no table row.
|
|
560
577
|
* 4. The first other heading that {@link sectionMatches}. One that merely holds
|
|
561
578
|
* the word ("NOTE 3. BUSINESS COMBINATIONS" for "business", "COST OF
|
|
562
579
|
* REVENUES" for "revenue") ranks after a line printing the value alone.
|
|
563
|
-
* 5. A document line
|
|
580
|
+
* 5. A document line equal to the value that labels a table row, else one
|
|
581
|
+
* starting with the value. A row label ranks after every heading containing
|
|
582
|
+
* the value (#184): every line equal to `revenue` in Microsoft's 2004 10-K
|
|
583
|
+
* labels a row, and in tier 3 one took the value from its MD&A heading.
|
|
564
584
|
*
|
|
565
585
|
* Inside each heading tier, a heading on a table-of-contents row
|
|
566
586
|
* ({@link isTocHeading}) ranks after every body heading of the tier, and lands
|
|
@@ -616,11 +636,8 @@ function resolveSection(text, headings, section, proxy) {
|
|
|
616
636
|
});
|
|
617
637
|
if (exact)
|
|
618
638
|
return { offset: exact.offset, source: 'heading' };
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
// from (#106).
|
|
622
|
-
const needle = foldForHeadingMatch(section);
|
|
623
|
-
const contains = (h) => sectionMatches(foldForHeadingMatch(h.heading), needle);
|
|
639
|
+
const needle = foldForSectionMatch(section);
|
|
640
|
+
const contains = (h) => sectionMatches(foldForSectionMatch(h.heading), needle);
|
|
624
641
|
if (proxy) {
|
|
625
642
|
const heading = first(contains);
|
|
626
643
|
if (heading)
|
|
@@ -628,7 +645,7 @@ function resolveSection(text, headings, section, proxy) {
|
|
|
628
645
|
const line = matchSectionLine(text, section);
|
|
629
646
|
return line ? { offset: line.offset, source: 'line' } : undefined;
|
|
630
647
|
}
|
|
631
|
-
const itemOrPart = first((h) =>
|
|
648
|
+
const itemOrPart = first((h) => isStructuralHeading(h) && contains(h));
|
|
632
649
|
if (itemOrPart)
|
|
633
650
|
return { offset: itemOrPart.offset, source: 'heading' };
|
|
634
651
|
const line = matchSectionLine(text, section);
|
|
@@ -657,8 +674,17 @@ function describeBlankSection(section) {
|
|
|
657
674
|
const PROXY_FORM_RE = /^(?:DEF|PRE)[ACMNR]? ?14[AC]\b/;
|
|
658
675
|
/** Most headings an outline renders, on the first page and in a section_not_found message. */
|
|
659
676
|
const OUTLINE_MAX_ENTRIES = 50;
|
|
660
|
-
/** An Item or Part heading, bare marker included
|
|
677
|
+
/** An Item or Part heading's opening, bare marker included. Non-global: a predicate. */
|
|
661
678
|
const STRUCTURAL_HEADING_RE = /^(?:items?\s+\d|part\s+[ivx]{1,4}\b)/i;
|
|
679
|
+
/**
|
|
680
|
+
* Whether a heading is an Item or Part heading — the document's structure. Read
|
|
681
|
+
* with its run-in marker spaced ({@link spaceRunInMarker}), so "Part
|
|
682
|
+
* IFinancial Information" is Part I's heading (#180), while a numeral running on
|
|
683
|
+
* into a lowercase letter ("Part Ivory") stays out.
|
|
684
|
+
*/
|
|
685
|
+
function isStructuralHeading(h) {
|
|
686
|
+
return STRUCTURAL_HEADING_RE.test(spaceRunInMarker(h.heading));
|
|
687
|
+
}
|
|
662
688
|
/**
|
|
663
689
|
* The Item and Part headings an outline keeps. Past {@link OUTLINE_MAX_ENTRIES}
|
|
664
690
|
* of them, each bare marker that a later titled heading for the same Item or
|
|
@@ -668,7 +694,7 @@ const STRUCTURAL_HEADING_RE = /^(?:items?\s+\d|part\s+[ivx]{1,4}\b)/i;
|
|
|
668
694
|
* Items 16A–19 out. A bare marker no titled heading repeats stays.
|
|
669
695
|
*/
|
|
670
696
|
function outlineStructuralHeadings(headings) {
|
|
671
|
-
const structural = headings.filter(
|
|
697
|
+
const structural = headings.filter(isStructuralHeading);
|
|
672
698
|
if (structural.length <= OUTLINE_MAX_ENTRIES)
|
|
673
699
|
return structural;
|
|
674
700
|
const titledLater = new Set();
|
|
@@ -699,7 +725,7 @@ function selectOutline(headings) {
|
|
|
699
725
|
for (const h of headings) {
|
|
700
726
|
if (structural.has(h))
|
|
701
727
|
outline.push(h);
|
|
702
|
-
else if (otherSlots > 0 && !
|
|
728
|
+
else if (otherSlots > 0 && !isStructuralHeading(h)) {
|
|
703
729
|
outline.push(h);
|
|
704
730
|
otherSlots--;
|
|
705
731
|
}
|
|
@@ -715,7 +741,7 @@ function outlineCutNote(outline, detected) {
|
|
|
715
741
|
if (outline.length === detected.length)
|
|
716
742
|
return;
|
|
717
743
|
const kept = outlineStructuralHeadings(detected).length;
|
|
718
|
-
const structural = detected.filter(
|
|
744
|
+
const structural = detected.filter(isStructuralHeading).length;
|
|
719
745
|
const scope = kept > OUTLINE_MAX_ENTRIES
|
|
720
746
|
? ''
|
|
721
747
|
: kept < structural
|
|
@@ -783,20 +809,20 @@ function normalizeAccessionNumber(input) {
|
|
|
783
809
|
* Resolve filing archive: fetch index + primary document HTML.
|
|
784
810
|
* Used on cache misses to get both the document content and index metadata.
|
|
785
811
|
*/
|
|
786
|
-
async function resolveFilingArchive(api, accessionNumber, providedCik, requestedDocument) {
|
|
787
|
-
const candidateCiks = await resolveCandidateCiks(api, accessionNumber, providedCik);
|
|
812
|
+
async function resolveFilingArchive(api, scope, accessionNumber, providedCik, requestedDocument) {
|
|
813
|
+
const candidateCiks = await resolveCandidateCiks(api, scope, accessionNumber, providedCik);
|
|
788
814
|
/** The last archive path whose index exists, with its records, for the error catalog. */
|
|
789
815
|
let lastIndexed;
|
|
790
816
|
/** First archive path whose index named a primary the archive answered 404 for. */
|
|
791
817
|
let unserved;
|
|
792
818
|
let requestedNotServed = false;
|
|
793
819
|
for (const cik of candidateCiks) {
|
|
794
|
-
const index = await api.tryGetFilingIndex(cik, accessionNumber);
|
|
820
|
+
const index = await api.tryGetFilingIndex(cik, accessionNumber, scope);
|
|
795
821
|
if (!index)
|
|
796
822
|
continue;
|
|
797
823
|
// Records name the primary every outcome below reports, error catalogs included.
|
|
798
824
|
const items = index.directory.item;
|
|
799
|
-
const records = await readFilingRecords(api, cik, accessionNumber);
|
|
825
|
+
const records = await readFilingRecords(api, scope, cik, accessionNumber);
|
|
800
826
|
lastIndexed = { items, records };
|
|
801
827
|
if (requestedDocument && !items.some((item) => item.name === requestedDocument))
|
|
802
828
|
continue;
|
|
@@ -823,7 +849,7 @@ async function resolveFilingArchive(api, accessionNumber, providedCik, requested
|
|
|
823
849
|
documents,
|
|
824
850
|
};
|
|
825
851
|
}
|
|
826
|
-
const html = await api.tryGetFilingDocument(cik, accessionNumber, targetName);
|
|
852
|
+
const html = await api.tryGetFilingDocument(cik, accessionNumber, targetName, scope);
|
|
827
853
|
if (html)
|
|
828
854
|
return { ok: true, cik, html, index, targetName, filingPrimaryName, records };
|
|
829
855
|
if (requestedDocument)
|
|
@@ -841,7 +867,7 @@ async function resolveFilingArchive(api, accessionNumber, providedCik, requested
|
|
|
841
867
|
*/
|
|
842
868
|
const submission = `${accessionNumber}.txt`;
|
|
843
869
|
if (unserved && unserved.primary !== submission) {
|
|
844
|
-
const html = await api.tryGetFilingDocument(unserved.cik, accessionNumber, submission);
|
|
870
|
+
const html = await api.tryGetFilingDocument(unserved.cik, accessionNumber, submission, scope);
|
|
845
871
|
if (html) {
|
|
846
872
|
return {
|
|
847
873
|
ok: true,
|
|
@@ -877,15 +903,15 @@ async function resolveFilingArchive(api, accessionNumber, providedCik, requested
|
|
|
877
903
|
* document body. Used on cache hits, with the CIK whose archive served the cached
|
|
878
904
|
* text, to get metadata while skipping the expensive document fetch.
|
|
879
905
|
*/
|
|
880
|
-
async function resolveFilingMeta(api, accessionNumber, cik, requestedDocument) {
|
|
881
|
-
const index = await api.tryGetFilingIndex(cik, accessionNumber);
|
|
906
|
+
async function resolveFilingMeta(api, scope, accessionNumber, cik, requestedDocument) {
|
|
907
|
+
const index = await api.tryGetFilingIndex(cik, accessionNumber, scope);
|
|
882
908
|
if (!index)
|
|
883
909
|
return { ok: false };
|
|
884
910
|
const items = index.directory.item;
|
|
885
911
|
if (requestedDocument && !items.some((item) => item.name === requestedDocument)) {
|
|
886
912
|
return { ok: false };
|
|
887
913
|
}
|
|
888
|
-
const records = await readFilingRecords(api, cik, accessionNumber);
|
|
914
|
+
const records = await readFilingRecords(api, scope, cik, accessionNumber);
|
|
889
915
|
const filingPrimaryName = findPrimaryDocument(items, accessionNumber, records);
|
|
890
916
|
if (!filingPrimaryName)
|
|
891
917
|
return { ok: false };
|
|
@@ -896,17 +922,17 @@ async function resolveFilingMeta(api, accessionNumber, cik, requestedDocument) {
|
|
|
896
922
|
* missing header page is `null`; the feed is required for the response metadata,
|
|
897
923
|
* so its failure fails the call as it always has.
|
|
898
924
|
*/
|
|
899
|
-
async function readFilingRecords(api, cik, accessionNumber) {
|
|
925
|
+
async function readFilingRecords(api, scope, cik, accessionNumber) {
|
|
900
926
|
const [submissions, headers] = await Promise.all([
|
|
901
|
-
api.getSubmissions(cik),
|
|
902
|
-
api.tryGetFilingHeaders(cik, accessionNumber),
|
|
927
|
+
api.getSubmissions(cik, scope),
|
|
928
|
+
api.tryGetFilingHeaders(cik, accessionNumber, scope),
|
|
903
929
|
]);
|
|
904
930
|
return { headers, submissions };
|
|
905
931
|
}
|
|
906
|
-
async function resolveCandidateCiks(api, accessionNumber, providedCik) {
|
|
932
|
+
async function resolveCandidateCiks(api, scope, accessionNumber, providedCik) {
|
|
907
933
|
if (providedCik)
|
|
908
934
|
return [providedCik.padStart(10, '0')];
|
|
909
|
-
const ciks = await api.findFilingCiks(accessionNumber);
|
|
935
|
+
const ciks = await api.findFilingCiks(accessionNumber, scope);
|
|
910
936
|
const prefixCik = (accessionNumber.split('-')[0] ?? accessionNumber.slice(0, 10)).padStart(10, '0');
|
|
911
937
|
return [...new Set([...ciks, prefixCik])];
|
|
912
938
|
}
|
|
@@ -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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"}
|
|
@@ -91,8 +91,8 @@ export declare const getFinancialsTool: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
91
91
|
}, {
|
|
92
92
|
readonly reason: "sec_unreachable";
|
|
93
93
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
94
|
-
readonly when: "
|
|
95
|
-
readonly recovery: "Retry the same call in a minute — SEC EDGAR
|
|
94
|
+
readonly when: "SEC EDGAR gave no complete, readable response — on the last attempt made (the third, or an earlier one once this call's 40-second budget for SEC failures ran out) the connection failed, no response headers arrived within 15 seconds, or the body broke off or stalled for 15 seconds, each wait capped at what was left of that budget; a 200 body was not the JSON SEC serves; or earlier SEC failures had spent that budget, so the request was never sent";
|
|
95
|
+
readonly recovery: "Retry the same call in a minute — SEC EDGAR did not deliver a complete, readable response, and nothing in the request needs to change.";
|
|
96
96
|
readonly retryable: true;
|
|
97
97
|
readonly thrownBy: "service";
|
|
98
98
|
}], {
|
|
@@ -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;
|
|
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;AA2FjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkuB5B,CAAC"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
7
7
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
8
8
|
import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
|
|
9
|
+
import { CallScope } from '../../../services/edgar/call-scope.js';
|
|
9
10
|
import { describeUnknownConcepts, findUnknownConcept, resolveConcept, resolveConceptTarget, } from '../../../services/edgar/concept-map.js';
|
|
10
11
|
import { describingTag, filerFiscalYearEnds, filerFiscalYearEndsWithComparatives, isQuarterlyForm, matchesPeriodType, rankSeriesUnits, resolveFrameSeriesByUnit, seriesStalenessCaveats, } from '../../../services/edgar/concept-series.js';
|
|
11
12
|
import { getEdgarApiService } from '../../../services/edgar/edgar-api-service.js';
|
|
@@ -128,8 +129,8 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
|
|
|
128
129
|
{
|
|
129
130
|
reason: 'sec_unreachable',
|
|
130
131
|
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
131
|
-
when:
|
|
132
|
-
recovery: 'Retry the same call in a minute — SEC EDGAR
|
|
132
|
+
when: "SEC EDGAR gave no complete, readable response — on the last attempt made (the third, or an earlier one once this call's 40-second budget for SEC failures ran out) the connection failed, no response headers arrived within 15 seconds, or the body broke off or stalled for 15 seconds, each wait capped at what was left of that budget; a 200 body was not the JSON SEC serves; or earlier SEC failures had spent that budget, so the request was never sent",
|
|
133
|
+
recovery: 'Retry the same call in a minute — SEC EDGAR did not deliver a complete, readable response, and nothing in the request needs to change.',
|
|
133
134
|
retryable: true,
|
|
134
135
|
thrownBy: 'service',
|
|
135
136
|
},
|
|
@@ -243,8 +244,9 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
|
|
|
243
244
|
});
|
|
244
245
|
}
|
|
245
246
|
const api = getEdgarApiService();
|
|
247
|
+
const scope = new CallScope(ctx.signal);
|
|
246
248
|
// Resolve company to CIK
|
|
247
|
-
const resolved = await api.resolveCik(input.company);
|
|
249
|
+
const resolved = await api.resolveCik(input.company, scope);
|
|
248
250
|
if (Array.isArray(resolved) && resolved.length === 0) {
|
|
249
251
|
throw ctx.fail('company_not_found', `Company '${input.company}' not found.`);
|
|
250
252
|
}
|
|
@@ -303,7 +305,7 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
|
|
|
303
305
|
const servedEmpty = [];
|
|
304
306
|
for (const [tagIndex, tag] of tags.entries()) {
|
|
305
307
|
tagsTried.push(tag);
|
|
306
|
-
const resp = await api.tryGetCompanyConcept(match.cik, taxonomy, tag);
|
|
308
|
+
const resp = await api.tryGetCompanyConcept(match.cik, taxonomy, tag, scope);
|
|
307
309
|
if (!resp)
|
|
308
310
|
continue;
|
|
309
311
|
if (Object.keys(resp.units).length === 0) {
|
|
@@ -326,7 +328,7 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
|
|
|
326
328
|
/** Set when the fiscal-year-end read below fails, leaving those frames untested (#148). */
|
|
327
329
|
let yearEndsUnread = false;
|
|
328
330
|
if (servedEmpty.length > 0) {
|
|
329
|
-
facts = await api.tryGetCompanyFacts(match.cik);
|
|
331
|
+
facts = await api.tryGetCompanyFacts(match.cik, scope);
|
|
330
332
|
const namespace = facts?.facts[taxonomy];
|
|
331
333
|
for (const { tag, tagIndex } of servedEmpty) {
|
|
332
334
|
const concept = namespace?.[tag];
|
|
@@ -343,13 +345,14 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
|
|
|
343
345
|
* Reads companyfacts for the filer's fiscal-year ends unless a payload is
|
|
344
346
|
* already in hand. Best-effort: a failed read is logged and sets
|
|
345
347
|
* `yearEndsUnread`, which also stops a second attempt, and each caller falls
|
|
346
|
-
* back to the answer it gives without the ends
|
|
348
|
+
* back to the answer it gives without the ends — a read the call's spent failure
|
|
349
|
+
* budget refused included; a cancelled call still fails (#179).
|
|
347
350
|
*/
|
|
348
351
|
const readFactsForYearEnds = async () => {
|
|
349
352
|
if (facts !== undefined || yearEndsUnread)
|
|
350
353
|
return;
|
|
351
354
|
try {
|
|
352
|
-
facts = await api.tryGetCompanyFacts(match.cik);
|
|
355
|
+
facts = await api.tryGetCompanyFacts(match.cik, scope);
|
|
353
356
|
}
|
|
354
357
|
catch (err) {
|
|
355
358
|
if (ctx.signal.aborted)
|
|
@@ -402,7 +405,7 @@ export const getFinancialsTool = tool('secedgar_get_financials', {
|
|
|
402
405
|
// and which other taxonomy carries the concept (#164). Only on the error path — one
|
|
403
406
|
// extra request, never on the happy path.
|
|
404
407
|
if (facts === undefined)
|
|
405
|
-
facts = await api.tryGetCompanyFacts(match.cik);
|
|
408
|
+
facts = await api.tryGetCompanyFacts(match.cik, scope);
|
|
406
409
|
const availableNamespaces = facts ? Object.keys(facts.facts) : [];
|
|
407
410
|
let hint;
|
|
408
411
|
if (facts && availableNamespaces.length > 0) {
|