@cyanheads/secedgar-mcp-server 0.15.11 → 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.
- package/AGENTS.md +14 -12
- package/CLAUDE.md +14 -12
- package/Dockerfile +4 -4
- package/README.md +39 -39
- package/changelog/0.15.x/0.15.12.md +33 -0
- package/changelog/0.15.x/0.15.13.md +33 -0
- package/dist/config/server-config.d.ts.map +1 -1
- package/dist/config/server-config.js +47 -0
- package/dist/config/server-config.js.map +1 -1
- package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js +1 -1
- package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js.map +1 -1
- package/dist/mcp-server/tools/definitions/company-search.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/company-search.tool.js +76 -19
- package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js +132 -38
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts +10 -4
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +11 -4
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +8 -0
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.js +8 -0
- 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 +7 -0
- 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 +8 -0
- 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 +9 -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 +308 -54
- package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +10 -3
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.js +110 -41
- 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 +7 -0
- 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 +8 -0
- 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 +7 -0
- 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 +8 -0
- 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 +7 -0
- 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 +8 -0
- 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 +7 -0
- 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 -0
- 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 +7 -0
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +8 -0
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +104 -7
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts +7 -0
- package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.js +8 -0
- package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
- package/dist/services/canvas-bridge/canvas-bridge.d.ts +2 -2
- package/dist/services/canvas-bridge/canvas-bridge.js +2 -2
- package/dist/services/edgar/concept-series.d.ts +20 -8
- package/dist/services/edgar/concept-series.d.ts.map +1 -1
- package/dist/services/edgar/concept-series.js +74 -23
- package/dist/services/edgar/concept-series.js.map +1 -1
- package/dist/services/edgar/edgar-api-service.d.ts +21 -11
- package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
- package/dist/services/edgar/edgar-api-service.js +133 -34
- package/dist/services/edgar/edgar-api-service.js.map +1 -1
- package/dist/services/edgar/filing-to-text.d.ts +106 -6
- package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
- package/dist/services/edgar/filing-to-text.js +570 -66
- package/dist/services/edgar/filing-to-text.js.map +1 -1
- package/package.json +9 -9
- package/server.json +4 -4
|
@@ -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, foldForHeadingMatch, getExtractCache, 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
|
|
@@ -52,7 +52,7 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
52
52
|
notice: z
|
|
53
53
|
.string()
|
|
54
54
|
.optional()
|
|
55
|
-
.describe('How to read the next page,
|
|
55
|
+
.describe('How to read the next page, which file was read when the archive does not serve the indexed primary, when section landed on a document line rather than a detected heading, and how many headings were detected when the outline lists fewer.'),
|
|
56
56
|
truncated: z
|
|
57
57
|
.boolean()
|
|
58
58
|
.optional()
|
|
@@ -94,8 +94,8 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
94
94
|
{
|
|
95
95
|
reason: 'section_not_found',
|
|
96
96
|
code: JsonRpcErrorCode.NotFound,
|
|
97
|
-
when: 'The section string
|
|
98
|
-
recovery: 'Pick a heading from the outline in the error message, or use offset paging instead.',
|
|
97
|
+
when: 'The section string matched no detected heading and no line of the document',
|
|
98
|
+
recovery: 'Pick a heading from the outline in the error message, pass a subheading exactly as the document prints it, or use offset paging instead.',
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
101
|
reason: 'rate_limited',
|
|
@@ -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
|
|
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({
|
|
@@ -203,7 +211,7 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
203
211
|
})
|
|
204
212
|
.describe('One detected heading with its offset.'))
|
|
205
213
|
.optional()
|
|
206
|
-
.describe('Up to 50 headings, on the first page of a truncated response (offset=0, no section);
|
|
214
|
+
.describe('Up to 50 detected headings, on the first page of a truncated response (offset=0, no section). Past 50, Item and Part headings come first (bare TOC copies of titled ones dropped), then the earliest others; the notice gives the detected count. Pass a heading offset as offset, or its text as section.'),
|
|
207
215
|
filing_url: z.string().describe('Direct URL to the filing on SEC.gov.'),
|
|
208
216
|
}),
|
|
209
217
|
async handler(input, ctx) {
|
|
@@ -331,29 +339,61 @@ 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;
|
|
358
|
+
let lineNotice;
|
|
336
359
|
if (input.section) {
|
|
337
|
-
|
|
338
|
-
//
|
|
339
|
-
|
|
340
|
-
//
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
360
|
+
// Every detected heading is a candidate; the 50-entry cap is the
|
|
361
|
+
// rendered outline's alone (#169).
|
|
362
|
+
const headings = detectHeadings(fullText);
|
|
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') {
|
|
371
|
+
lineNotice = `No detected heading matches section '${input.section}', so this page starts at the first document line that does.`;
|
|
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
|
+
}
|
|
376
|
+
if (landing === undefined) {
|
|
344
377
|
// Render the outline into the message itself — clients reliably see only
|
|
345
378
|
// message + recovery hint, not error data (#70).
|
|
346
|
-
const
|
|
379
|
+
const outline = selectOutline(headings);
|
|
380
|
+
const outlineLabel = outline.length < headings.length
|
|
381
|
+
? `Outline (${outline.length} of ${headings.length} detected headings):`
|
|
382
|
+
: 'Outline:';
|
|
383
|
+
const outlineBlock = outline.length > 0 ? `\n\n${outlineLabel}\n${renderOutline(outline)}` : '';
|
|
347
384
|
const hint = headings.length > 0
|
|
348
|
-
? 'Pick a heading from the outline above and pass it as section.'
|
|
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.'
|
|
349
386
|
: 'No headings were detected in this document — use offset paging instead.';
|
|
350
|
-
|
|
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}`, {
|
|
351
391
|
section: input.section,
|
|
352
|
-
outline
|
|
392
|
+
outline,
|
|
353
393
|
recovery: { hint },
|
|
354
394
|
});
|
|
355
395
|
}
|
|
356
|
-
effectiveOffset =
|
|
396
|
+
effectiveOffset = landing.offset;
|
|
357
397
|
}
|
|
358
398
|
// Validate offset
|
|
359
399
|
if (effectiveOffset >= fullText.length && fullText.length > 0) {
|
|
@@ -363,41 +403,36 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
363
403
|
});
|
|
364
404
|
}
|
|
365
405
|
const { text, truncated, totalLength, nextOffset } = windowText(fullText, effectiveOffset, input.content_limit);
|
|
366
|
-
//
|
|
367
|
-
|
|
406
|
+
// Emit outline on first-page truncated responses (not on subsequent pages or section jumps)
|
|
407
|
+
const shouldEmitOutline = truncated && effectiveOffset === 0 && !input.section;
|
|
408
|
+
const detected = shouldEmitOutline ? detectHeadings(fullText) : undefined;
|
|
409
|
+
const outline = detected && selectOutline(detected);
|
|
410
|
+
// `notice` is last-wins across notice/truncated, so the fallback disclosure,
|
|
411
|
+
// the line-landing note, and the outline cut ride inside the truncation
|
|
412
|
+
// guidance. The outline is emitted only on a truncated page, so the cut
|
|
413
|
+
// always has guidance to join.
|
|
368
414
|
const fallbackNotice = unservedPrimary
|
|
369
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}.`
|
|
370
416
|
: undefined;
|
|
371
417
|
if (truncated) {
|
|
372
|
-
|
|
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}`;
|
|
423
|
+
const outlineCut = detected && outline && outlineCutNote(outline, detected);
|
|
373
424
|
ctx.enrich.truncated({
|
|
374
425
|
shown: text.length,
|
|
375
426
|
cap: input.content_limit,
|
|
376
|
-
guidance: fallbackNotice
|
|
427
|
+
guidance: [fallbackNotice, lineNotice, paging, outlineCut].filter(Boolean).join(' '),
|
|
377
428
|
});
|
|
378
429
|
}
|
|
379
|
-
else if (fallbackNotice) {
|
|
380
|
-
ctx.enrich.notice(fallbackNotice);
|
|
430
|
+
else if (fallbackNotice || lineNotice) {
|
|
431
|
+
ctx.enrich.notice([fallbackNotice, lineNotice].filter(Boolean).join(' '));
|
|
381
432
|
}
|
|
382
|
-
// Emit outline on first-page truncated responses (not on subsequent pages or section jumps)
|
|
383
|
-
const shouldEmitOutline = truncated && effectiveOffset === 0 && !input.section;
|
|
384
|
-
const outline = shouldEmitOutline ? detectHeadings(fullText, 50) : undefined;
|
|
385
433
|
// Headers give canonical document types; without them categorization falls
|
|
386
434
|
// back to name-pattern inference.
|
|
387
|
-
const { submissions, headers } = records;
|
|
388
435
|
const documents = categorizeDocuments(index.directory.item, filingPrimaryName, headers?.documents ?? null, input.include_xbrl);
|
|
389
|
-
// Form, filing date, and period come from the submissions feed's recent window when
|
|
390
|
-
// the accession sits in it. An older filing takes them from its own SEC header: the
|
|
391
|
-
// index-headers page already fetched above, or — only when that page is missing —
|
|
392
|
-
// the bare `.hdr.sgml` header, the one extra request this path can cost (#126).
|
|
393
|
-
const recent = submissions.filings.recent;
|
|
394
|
-
const idx = recent.accessionNumber.indexOf(accn);
|
|
395
|
-
const header = idx >= 0
|
|
396
|
-
? undefined
|
|
397
|
-
: (headers?.submission ?? (await api.tryGetSubmissionHeader(resolvedCik, accn)));
|
|
398
|
-
const form = idx >= 0 ? recent.form[idx] : header?.form;
|
|
399
|
-
const filingDate = idx >= 0 ? recent.filingDate[idx] : header?.filingDate;
|
|
400
|
-
const periodEnding = idx >= 0 ? recent.reportDate[idx] : header?.periodOfReport;
|
|
401
436
|
ctx.log.info('Filing retrieved', {
|
|
402
437
|
accessionNumber: accn,
|
|
403
438
|
cik: resolvedCik,
|
|
@@ -455,25 +490,244 @@ export const getFilingTool = tool('secedgar_get_filing', {
|
|
|
455
490
|
});
|
|
456
491
|
/**
|
|
457
492
|
* Whether a folded `section` needle matches a folded heading: a substring match,
|
|
458
|
-
* except that a needle ending in a
|
|
459
|
-
* `item 1` matches `Item 1.`
|
|
460
|
-
*
|
|
461
|
-
* dedup leaves them), and a TOC
|
|
462
|
-
*
|
|
463
|
-
*
|
|
493
|
+
* except that a needle ending in a number never continues into a longer one.
|
|
494
|
+
* A trailing digit never runs on into another digit — `item 1` matches `Item 1.`
|
|
495
|
+
* and `Item 1A`, never `Item 12`. Plain-text outlines keep their TOC rows (they
|
|
496
|
+
* are worded differently from the body heading, so dedup leaves them), and a TOC
|
|
497
|
+
* row for Item 10–16 precedes the body Item 1, so a bare substring test landed
|
|
498
|
+
* `item 1` on the wrong Item (#136). A trailing roman numeral (`part i`, a word
|
|
499
|
+
* of `i`, `v`, and `x`) ends at a space, punctuation, or the heading's end, so
|
|
500
|
+
* `part i` never matches `PART II`, `PART III`, or `PART IV` — a 10-Q printing
|
|
501
|
+
* Part I only in its table of contents otherwise landed `part i` on its body
|
|
502
|
+
* `PART II - OTHER INFORMATION`. Every occurrence is checked, not just the first.
|
|
464
503
|
*/
|
|
465
504
|
function sectionMatches(heading, needle) {
|
|
466
|
-
const
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
505
|
+
const continuation = /\d$/.test(needle)
|
|
506
|
+
? /\d/
|
|
507
|
+
: /(?:^|\s)[ivx]{1,4}$/.test(needle)
|
|
508
|
+
? /[\p{L}\p{N}]/u
|
|
509
|
+
: undefined;
|
|
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;
|
|
515
|
+
}
|
|
516
|
+
return occursBeforeBoundary(heading, needle, at + 1, continuation);
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
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.
|
|
522
|
+
*/
|
|
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
|
+
}
|
|
470
542
|
}
|
|
471
543
|
return false;
|
|
472
544
|
}
|
|
545
|
+
/**
|
|
546
|
+
* Where `section` lands, over every detected heading (#169) and the document's
|
|
547
|
+
* own lines (#166), in five tiers — first hit wins (#177):
|
|
548
|
+
* 1. Exact — the first heading whose {@link headingKey} equals the needle's, or
|
|
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
|
|
555
|
+
* merely contains the words.
|
|
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.
|
|
585
|
+
*/
|
|
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));
|
|
606
|
+
const exactNeedle = headingKey(section);
|
|
607
|
+
const exact = best((h) => {
|
|
608
|
+
const key = headingKey(h.heading);
|
|
609
|
+
const title = MARKER_TITLE_RE.exec(key)?.[2];
|
|
610
|
+
if (title === '')
|
|
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;
|
|
616
|
+
});
|
|
617
|
+
if (exact)
|
|
618
|
+
return { offset: exact.offset, source: 'heading' };
|
|
619
|
+
// Fold both operands (Unicode whitespace runs, typographic quotes) so a
|
|
620
|
+
// heading re-sent from a rendered outline still matches the bytes it came
|
|
621
|
+
// from (#106).
|
|
622
|
+
const needle = foldForHeadingMatch(section);
|
|
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(', ')})`;
|
|
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/;
|
|
658
|
+
/** Most headings an outline renders, on the first page and in a section_not_found message. */
|
|
659
|
+
const OUTLINE_MAX_ENTRIES = 50;
|
|
660
|
+
/** An Item or Part heading, bare marker included — the document's structure. */
|
|
661
|
+
const STRUCTURAL_HEADING_RE = /^(?:items?\s+\d|part\s+[ivx]{1,4}\b)/i;
|
|
662
|
+
/**
|
|
663
|
+
* The Item and Part headings an outline keeps. Past {@link OUTLINE_MAX_ENTRIES}
|
|
664
|
+
* of them, each bare marker that a later titled heading for the same Item or
|
|
665
|
+
* Part repeats is left out — the table-of-contents copy of a body heading. A
|
|
666
|
+
* 20-F whose TOC renders every Item as a bare marker (31 of them in DRDGOLD's
|
|
667
|
+
* FY2026 20-F) otherwise filled the cut with TOC copies and pushed the body's
|
|
668
|
+
* Items 16A–19 out. A bare marker no titled heading repeats stays.
|
|
669
|
+
*/
|
|
670
|
+
function outlineStructuralHeadings(headings) {
|
|
671
|
+
const structural = headings.filter((h) => STRUCTURAL_HEADING_RE.test(h.heading));
|
|
672
|
+
if (structural.length <= OUTLINE_MAX_ENTRIES)
|
|
673
|
+
return structural;
|
|
674
|
+
const titledLater = new Set();
|
|
675
|
+
const kept = [];
|
|
676
|
+
for (const h of [...structural].reverse()) {
|
|
677
|
+
const [, marker, title] = MARKER_TITLE_RE.exec(headingKey(h.heading)) ?? [];
|
|
678
|
+
if (marker !== undefined && title === '' && titledLater.has(marker))
|
|
679
|
+
continue;
|
|
680
|
+
if (marker !== undefined && title)
|
|
681
|
+
titledLater.add(marker);
|
|
682
|
+
kept.push(h);
|
|
683
|
+
}
|
|
684
|
+
return kept.reverse();
|
|
685
|
+
}
|
|
686
|
+
/**
|
|
687
|
+
* The outline for a document's detected headings: all of them up to
|
|
688
|
+
* {@link OUTLINE_MAX_ENTRIES}; past it, every Item and Part heading the outline
|
|
689
|
+
* keeps ({@link outlineStructuralHeadings}) plus the earliest other headings up
|
|
690
|
+
* to the cap, in offset order. A cut by offset alone let a heavy 10-K's
|
|
691
|
+
* financial-statement captions push Items 9B–16 out (#169).
|
|
692
|
+
*/
|
|
693
|
+
function selectOutline(headings) {
|
|
694
|
+
if (headings.length <= OUTLINE_MAX_ENTRIES)
|
|
695
|
+
return headings;
|
|
696
|
+
const structural = new Set(outlineStructuralHeadings(headings));
|
|
697
|
+
let otherSlots = OUTLINE_MAX_ENTRIES - structural.size;
|
|
698
|
+
const outline = [];
|
|
699
|
+
for (const h of headings) {
|
|
700
|
+
if (structural.has(h))
|
|
701
|
+
outline.push(h);
|
|
702
|
+
else if (otherSlots > 0 && !STRUCTURAL_HEADING_RE.test(h.heading)) {
|
|
703
|
+
outline.push(h);
|
|
704
|
+
otherSlots--;
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
return outline.slice(0, OUTLINE_MAX_ENTRIES);
|
|
708
|
+
}
|
|
709
|
+
/**
|
|
710
|
+
* The guidance sentence disclosing an outline cut, or undefined when nothing was
|
|
711
|
+
* cut. It claims every Item and Part heading only when the outline holds them,
|
|
712
|
+
* and names the bare TOC copies {@link outlineStructuralHeadings} left out.
|
|
713
|
+
*/
|
|
714
|
+
function outlineCutNote(outline, detected) {
|
|
715
|
+
if (outline.length === detected.length)
|
|
716
|
+
return;
|
|
717
|
+
const kept = outlineStructuralHeadings(detected).length;
|
|
718
|
+
const structural = detected.filter((h) => STRUCTURAL_HEADING_RE.test(h.heading)).length;
|
|
719
|
+
const scope = kept > OUTLINE_MAX_ENTRIES
|
|
720
|
+
? ''
|
|
721
|
+
: kept < structural
|
|
722
|
+
? ', every Item and Part heading among them, bare table-of-contents copies of titled ones aside'
|
|
723
|
+
: ', every Item and Part heading among them';
|
|
724
|
+
return `The outline lists ${outline.length} of ${detected.length} detected headings${scope}; section matches all of them.`;
|
|
725
|
+
}
|
|
473
726
|
/**
|
|
474
727
|
* Render outline entries as ` [offset] HEADING` lines. Shared by format()
|
|
475
728
|
* and the section_not_found error message, so both surfaces read identically.
|
|
476
|
-
*
|
|
729
|
+
* Both render a {@link selectOutline} cut, which bounds the block at
|
|
730
|
+
* {@link OUTLINE_MAX_ENTRIES} entries.
|
|
477
731
|
*/
|
|
478
732
|
function renderOutline(outline) {
|
|
479
733
|
return outline.map((h) => ` [${h.offset}] ${h.heading}`).join('\n');
|
|
@@ -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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"}
|