@cyanheads/secedgar-mcp-server 0.13.0 → 0.14.0
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/README.md +40 -9
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js +2 -2
- package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js.map +1 -1
- package/dist/mcp-server/resources/definitions/concepts.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/concepts.resource.js +6 -1
- package/dist/mcp-server/resources/definitions/concepts.resource.js.map +1 -1
- package/dist/mcp-server/resources/definitions/filing-types.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/filing-types.resource.js +18 -2
- package/dist/mcp-server/resources/definitions/filing-types.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js +27 -4
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts +61 -0
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/find-holders.tool.js +396 -0
- package/dist/mcp-server/tools/definitions/find-holders.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts +9 -0
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-filing.tool.js +91 -6
- package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.js +39 -14
- package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts +3 -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 -6
- 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 +63 -0
- package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-material-events.tool.js +380 -0
- package/dist/mcp-server/tools/definitions/get-material-events.tool.js.map +1 -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 +34 -4
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts +1 -0
- package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-concepts.tool.js +9 -1
- package/dist/mcp-server/tools/definitions/search-concepts.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.js +3 -15
- package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
- package/dist/services/edgar/concept-map.d.ts +3 -1
- package/dist/services/edgar/concept-map.d.ts.map +1 -1
- package/dist/services/edgar/concept-map.js +171 -5
- package/dist/services/edgar/concept-map.js.map +1 -1
- package/dist/services/edgar/concept-series.d.ts +98 -11
- package/dist/services/edgar/concept-series.d.ts.map +1 -1
- package/dist/services/edgar/concept-series.js +186 -19
- package/dist/services/edgar/concept-series.js.map +1 -1
- package/dist/services/edgar/edgar-api-service.d.ts +7 -0
- package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
- package/dist/services/edgar/edgar-api-service.js +13 -0
- package/dist/services/edgar/edgar-api-service.js.map +1 -1
- package/dist/services/edgar/eight-k-items.d.ts +62 -0
- package/dist/services/edgar/eight-k-items.d.ts.map +1 -0
- package/dist/services/edgar/eight-k-items.js +131 -0
- package/dist/services/edgar/eight-k-items.js.map +1 -0
- package/dist/services/edgar/fiscal-periods.d.ts +10 -5
- package/dist/services/edgar/fiscal-periods.d.ts.map +1 -1
- package/dist/services/edgar/fiscal-periods.js +33 -10
- package/dist/services/edgar/fiscal-periods.js.map +1 -1
- package/dist/services/edgar/types.d.ts +39 -0
- package/dist/services/edgar/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Form 8-K item-code decode tables for both numbering regimes.
|
|
3
|
+
* SEC replaced the original single-integer item numbering with the current
|
|
4
|
+
* `x.xx` scheme in Release 33-8400, effective 2004-08-23, so EDGAR carries two
|
|
5
|
+
* disjoint vocabularies in the same `items` field. Decoding is driven by the
|
|
6
|
+
* code's SHAPE, not the filing date: a dotted code is always current-regime, a
|
|
7
|
+
* bare integer is always legacy. That makes a mis-decode impossible for filings
|
|
8
|
+
* straddling the changeover, where filers reported pre-changeover events under
|
|
9
|
+
* the old numbers for months after the effective date.
|
|
10
|
+
* @module services/edgar/eight-k-items
|
|
11
|
+
*/
|
|
12
|
+
/** Which Form 8-K item-numbering regime a code belongs to. */
|
|
13
|
+
export type EightKItemRegime = 'current' | 'legacy';
|
|
14
|
+
/**
|
|
15
|
+
* Effective date of SEC Release 33-8400, which introduced the current `x.xx`
|
|
16
|
+
* item numbering. Reported as context on legacy-coded filings; never used to
|
|
17
|
+
* pick a decode table (see the module header).
|
|
18
|
+
*/
|
|
19
|
+
export declare const EIGHT_K_RENUMBERING_DATE = "2004-08-23";
|
|
20
|
+
/** Current-regime section headings, keyed by the code's leading digit. */
|
|
21
|
+
export declare const EIGHT_K_SECTIONS: Record<string, string>;
|
|
22
|
+
/**
|
|
23
|
+
* Current Form 8-K items (filings numbered under the post-2004-08-23 scheme),
|
|
24
|
+
* transcribed from the item headings of SEC's Form 8-K.
|
|
25
|
+
*/
|
|
26
|
+
export declare const CURRENT_EIGHT_K_ITEMS: Record<string, string>;
|
|
27
|
+
/**
|
|
28
|
+
* Legacy Form 8-K items — the single-integer numbering used before
|
|
29
|
+
* 2004-08-23. Items 10-12 were added in 2002-2003 and retired along with the
|
|
30
|
+
* rest at the changeover; item 12 (results of operations) is the direct
|
|
31
|
+
* ancestor of today's 2.02, and item 9 of today's 7.01.
|
|
32
|
+
*/
|
|
33
|
+
export declare const LEGACY_EIGHT_K_ITEMS: Record<string, string>;
|
|
34
|
+
/**
|
|
35
|
+
* Every filterable item code across both regimes. Backs the `items` input enum,
|
|
36
|
+
* so a caller reads the whole vocabulary off the JSON Schema and an unknown code
|
|
37
|
+
* is rejected before any fetch. Declared current-first, but the schema serves the
|
|
38
|
+
* bare integers first regardless: Zod keys its enum by value, and a JS object
|
|
39
|
+
* orders integer-like keys ahead of the rest. The `items` describe text carries
|
|
40
|
+
* which shape belongs to which regime, since the order cannot.
|
|
41
|
+
*/
|
|
42
|
+
export declare const EIGHT_K_ITEM_CODES: [string, ...string[]];
|
|
43
|
+
/** One decoded item code. `label` is absent for a code neither table defines. */
|
|
44
|
+
export interface DecodedEightKItem {
|
|
45
|
+
code: string;
|
|
46
|
+
label?: string | undefined;
|
|
47
|
+
regime?: EightKItemRegime | undefined;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Decode one item code by shape — dotted (`2.02`) is current-regime, a bare
|
|
51
|
+
* integer (`12`) is legacy. A code matching neither shape, or matching a shape
|
|
52
|
+
* but absent from that regime's table, comes back with the code alone so the
|
|
53
|
+
* caller sees exactly what EDGAR reported instead of a guessed label.
|
|
54
|
+
*/
|
|
55
|
+
export declare function decodeEightKItem(code: string): DecodedEightKItem;
|
|
56
|
+
/**
|
|
57
|
+
* Split the submissions API's `items` field (a comma-separated code list, e.g.
|
|
58
|
+
* `"2.02,9.01"`) into codes. An absent or empty field yields no codes — most
|
|
59
|
+
* 8-K filings carry items, but EDGAR leaves the field blank on some older ones.
|
|
60
|
+
*/
|
|
61
|
+
export declare function parseEightKItems(raw: string | undefined): string[];
|
|
62
|
+
//# sourceMappingURL=eight-k-items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eight-k-items.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/eight-k-items.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwCxD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAavD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAG1B,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAE3B,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAUhE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAMlE"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Form 8-K item-code decode tables for both numbering regimes.
|
|
3
|
+
* SEC replaced the original single-integer item numbering with the current
|
|
4
|
+
* `x.xx` scheme in Release 33-8400, effective 2004-08-23, so EDGAR carries two
|
|
5
|
+
* disjoint vocabularies in the same `items` field. Decoding is driven by the
|
|
6
|
+
* code's SHAPE, not the filing date: a dotted code is always current-regime, a
|
|
7
|
+
* bare integer is always legacy. That makes a mis-decode impossible for filings
|
|
8
|
+
* straddling the changeover, where filers reported pre-changeover events under
|
|
9
|
+
* the old numbers for months after the effective date.
|
|
10
|
+
* @module services/edgar/eight-k-items
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Effective date of SEC Release 33-8400, which introduced the current `x.xx`
|
|
14
|
+
* item numbering. Reported as context on legacy-coded filings; never used to
|
|
15
|
+
* pick a decode table (see the module header).
|
|
16
|
+
*/
|
|
17
|
+
export const EIGHT_K_RENUMBERING_DATE = '2004-08-23';
|
|
18
|
+
/** Current-regime section headings, keyed by the code's leading digit. */
|
|
19
|
+
export const EIGHT_K_SECTIONS = {
|
|
20
|
+
'1': "Registrant's Business and Operations",
|
|
21
|
+
'2': 'Financial Information',
|
|
22
|
+
'3': 'Securities and Trading Markets',
|
|
23
|
+
'4': 'Matters Related to Accountants and Financial Statements',
|
|
24
|
+
'5': 'Corporate Governance and Management',
|
|
25
|
+
'6': 'Asset-Backed Securities',
|
|
26
|
+
'7': 'Regulation FD',
|
|
27
|
+
'8': 'Other Events',
|
|
28
|
+
'9': 'Financial Statements and Exhibits',
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Current Form 8-K items (filings numbered under the post-2004-08-23 scheme),
|
|
32
|
+
* transcribed from the item headings of SEC's Form 8-K.
|
|
33
|
+
*/
|
|
34
|
+
export const CURRENT_EIGHT_K_ITEMS = {
|
|
35
|
+
'1.01': 'Entry into a Material Definitive Agreement',
|
|
36
|
+
'1.02': 'Termination of a Material Definitive Agreement',
|
|
37
|
+
'1.03': 'Bankruptcy or Receivership',
|
|
38
|
+
'1.04': 'Mine Safety — Reporting of Shutdowns and Patterns of Violations',
|
|
39
|
+
'1.05': 'Material Cybersecurity Incidents',
|
|
40
|
+
'2.01': 'Completion of Acquisition or Disposition of Assets',
|
|
41
|
+
'2.02': 'Results of Operations and Financial Condition',
|
|
42
|
+
'2.03': 'Creation of a Direct Financial Obligation or an Obligation under an Off-Balance Sheet Arrangement of a Registrant',
|
|
43
|
+
'2.04': 'Triggering Events That Accelerate or Increase a Direct Financial Obligation or an Obligation under an Off-Balance Sheet Arrangement',
|
|
44
|
+
'2.05': 'Costs Associated with Exit or Disposal Activities',
|
|
45
|
+
'2.06': 'Material Impairments',
|
|
46
|
+
'3.01': 'Notice of Delisting or Failure to Satisfy a Continued Listing Rule or Standard; Transfer of Listing',
|
|
47
|
+
'3.02': 'Unregistered Sales of Equity Securities',
|
|
48
|
+
'3.03': 'Material Modification to Rights of Security Holders',
|
|
49
|
+
'4.01': "Changes in Registrant's Certifying Accountant",
|
|
50
|
+
'4.02': 'Non-Reliance on Previously Issued Financial Statements or a Related Audit Report or Completed Interim Review',
|
|
51
|
+
'5.01': 'Changes in Control of Registrant',
|
|
52
|
+
'5.02': 'Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers; Compensatory Arrangements of Certain Officers',
|
|
53
|
+
'5.03': 'Amendments to Articles of Incorporation or Bylaws; Change in Fiscal Year',
|
|
54
|
+
'5.04': "Temporary Suspension of Trading Under Registrant's Employee Benefit Plans",
|
|
55
|
+
'5.05': "Amendments to the Registrant's Code of Ethics, or Waiver of a Provision of the Code of Ethics",
|
|
56
|
+
'5.06': 'Change in Shell Company Status',
|
|
57
|
+
'5.07': 'Submission of Matters to a Vote of Security Holders',
|
|
58
|
+
'5.08': 'Shareholder Director Nominations',
|
|
59
|
+
'6.01': 'ABS Informational and Computational Material',
|
|
60
|
+
'6.02': 'Change of Servicer or Trustee',
|
|
61
|
+
'6.03': 'Change in Credit Enhancement or Other External Support',
|
|
62
|
+
'6.04': 'Failure to Make a Required Distribution',
|
|
63
|
+
'6.05': 'Securities Act Updating Disclosure',
|
|
64
|
+
'6.06': 'Static Pool',
|
|
65
|
+
'7.01': 'Regulation FD Disclosure',
|
|
66
|
+
'8.01': 'Other Events',
|
|
67
|
+
'9.01': 'Financial Statements and Exhibits',
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Legacy Form 8-K items — the single-integer numbering used before
|
|
71
|
+
* 2004-08-23. Items 10-12 were added in 2002-2003 and retired along with the
|
|
72
|
+
* rest at the changeover; item 12 (results of operations) is the direct
|
|
73
|
+
* ancestor of today's 2.02, and item 9 of today's 7.01.
|
|
74
|
+
*/
|
|
75
|
+
export const LEGACY_EIGHT_K_ITEMS = {
|
|
76
|
+
'1': 'Changes in Control of Registrant',
|
|
77
|
+
'2': 'Acquisition or Disposition of Assets',
|
|
78
|
+
'3': 'Bankruptcy or Receivership',
|
|
79
|
+
'4': "Changes in Registrant's Certifying Accountant",
|
|
80
|
+
'5': 'Other Events',
|
|
81
|
+
'6': "Resignations of Registrant's Directors",
|
|
82
|
+
'7': 'Financial Statements, Pro Forma Financial Information and Exhibits',
|
|
83
|
+
'8': 'Change in Fiscal Year',
|
|
84
|
+
'9': 'Regulation FD Disclosure',
|
|
85
|
+
'10': "Amendments to the Registrant's Code of Ethics, or Waiver of a Provision of the Code of Ethics",
|
|
86
|
+
'11': "Temporary Suspension of Trading Under Registrant's Employee Benefit Plans",
|
|
87
|
+
'12': 'Results of Operations and Financial Condition',
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Every filterable item code across both regimes. Backs the `items` input enum,
|
|
91
|
+
* so a caller reads the whole vocabulary off the JSON Schema and an unknown code
|
|
92
|
+
* is rejected before any fetch. Declared current-first, but the schema serves the
|
|
93
|
+
* bare integers first regardless: Zod keys its enum by value, and a JS object
|
|
94
|
+
* orders integer-like keys ahead of the rest. The `items` describe text carries
|
|
95
|
+
* which shape belongs to which regime, since the order cannot.
|
|
96
|
+
*/
|
|
97
|
+
export const EIGHT_K_ITEM_CODES = [
|
|
98
|
+
...Object.keys(CURRENT_EIGHT_K_ITEMS),
|
|
99
|
+
...Object.keys(LEGACY_EIGHT_K_ITEMS),
|
|
100
|
+
];
|
|
101
|
+
/**
|
|
102
|
+
* Decode one item code by shape — dotted (`2.02`) is current-regime, a bare
|
|
103
|
+
* integer (`12`) is legacy. A code matching neither shape, or matching a shape
|
|
104
|
+
* but absent from that regime's table, comes back with the code alone so the
|
|
105
|
+
* caller sees exactly what EDGAR reported instead of a guessed label.
|
|
106
|
+
*/
|
|
107
|
+
export function decodeEightKItem(code) {
|
|
108
|
+
if (/^\d\.\d{2}$/.test(code)) {
|
|
109
|
+
const label = CURRENT_EIGHT_K_ITEMS[code];
|
|
110
|
+
return label ? { code, label, regime: 'current' } : { code, regime: 'current' };
|
|
111
|
+
}
|
|
112
|
+
if (/^\d{1,2}$/.test(code)) {
|
|
113
|
+
const label = LEGACY_EIGHT_K_ITEMS[code];
|
|
114
|
+
return label ? { code, label, regime: 'legacy' } : { code, regime: 'legacy' };
|
|
115
|
+
}
|
|
116
|
+
return { code };
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Split the submissions API's `items` field (a comma-separated code list, e.g.
|
|
120
|
+
* `"2.02,9.01"`) into codes. An absent or empty field yields no codes — most
|
|
121
|
+
* 8-K filings carry items, but EDGAR leaves the field blank on some older ones.
|
|
122
|
+
*/
|
|
123
|
+
export function parseEightKItems(raw) {
|
|
124
|
+
if (!raw)
|
|
125
|
+
return [];
|
|
126
|
+
return raw
|
|
127
|
+
.split(',')
|
|
128
|
+
.map((code) => code.trim())
|
|
129
|
+
.filter((code) => code.length > 0);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=eight-k-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eight-k-items.js","sourceRoot":"","sources":["../../../src/services/edgar/eight-k-items.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export declare function fiscalQ4Caveats(period: string): string[];
|
|
21
21
|
/**
|
|
22
|
-
* Caveat for one filer's frame-tagged quarterly series: name
|
|
22
|
+
* Caveat for one filer's frame-tagged quarterly series: name every calendar
|
|
23
23
|
* quarter that never appears, so a caller can tell "the company did not report"
|
|
24
24
|
* apart from "the frame tagging does not expose it".
|
|
25
25
|
*
|
|
@@ -28,10 +28,15 @@ export declare function fiscalQ4Caveats(period: string): string[];
|
|
|
28
28
|
* inside it a year counts only when it reports at least
|
|
29
29
|
* {@link MIN_QUARTERS_PER_YEAR} of the four calendar quarters (partial first/last
|
|
30
30
|
* years carry no signal), and a caveat is emitted only when at least
|
|
31
|
-
* {@link MIN_YEARS} of the counting years
|
|
32
|
-
* year inside the window that reports all four quarters,
|
|
33
|
-
*
|
|
34
|
-
* suppress the caveat.
|
|
31
|
+
* {@link MIN_YEARS} of the counting years agree on a non-empty set of absent
|
|
32
|
+
* quarters. A year inside the window that reports all four quarters, years that
|
|
33
|
+
* disagree so no quarter is absent from all of them, or a window too sparse to
|
|
34
|
+
* reach the quorum all suppress the caveat.
|
|
35
|
+
*
|
|
36
|
+
* One or two quarters can be absent — the per-year quorum bounds it there. A
|
|
37
|
+
* single absent quarter is the fiscal-Q4 residual; a second one means the
|
|
38
|
+
* filer's fiscal quarters do not line up with calendar quarters at all, so
|
|
39
|
+
* further durations match no `CY####Q#` frame.
|
|
35
40
|
*/
|
|
36
41
|
export declare function missingQuarterCaveats(frames: Iterable<string>): string[];
|
|
37
42
|
//# sourceMappingURL=fiscal-periods.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fiscal-periods.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/fiscal-periods.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"fiscal-periods.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/fiscal-periods.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA8CH;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAOxD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CA2CxE"}
|
|
@@ -23,8 +23,17 @@ const FISCAL_Q4_EXAMPLES = {
|
|
|
23
23
|
};
|
|
24
24
|
/** Duration quarterly frame (`CY2024Q2`). Instant frames (`CY2024Q2I`) are excluded. */
|
|
25
25
|
const DURATION_QUARTER_FRAME = /^CY(\d{4})Q([1-4])$/;
|
|
26
|
-
/**
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* A year needs at least this many reported quarters before its gaps carry
|
|
28
|
+
* signal. Two, not three: a filer can lose more than one calendar quarter to
|
|
29
|
+
* frame tagging — Costco's fiscal Q2 and fiscal Q4 durations both fall outside
|
|
30
|
+
* the quarters SEC frames, leaving a steady two per year — and a three-of-four
|
|
31
|
+
* quorum reads that as a sparse year and suppresses the caveat entirely. Two is
|
|
32
|
+
* also the floor at which a year still carries signal: it bounds the absent set
|
|
33
|
+
* at two quarters, so a year reporting a single quarter (a stub, a first year of
|
|
34
|
+
* filings) cannot drag three quarters into the caveat.
|
|
35
|
+
*/
|
|
36
|
+
const MIN_QUARTERS_PER_YEAR = 2;
|
|
28
37
|
/** At least this many qualifying years must agree before a gap is called systematic. */
|
|
29
38
|
const MIN_YEARS = 2;
|
|
30
39
|
/**
|
|
@@ -57,7 +66,7 @@ export function fiscalQ4Caveats(period) {
|
|
|
57
66
|
];
|
|
58
67
|
}
|
|
59
68
|
/**
|
|
60
|
-
* Caveat for one filer's frame-tagged quarterly series: name
|
|
69
|
+
* Caveat for one filer's frame-tagged quarterly series: name every calendar
|
|
61
70
|
* quarter that never appears, so a caller can tell "the company did not report"
|
|
62
71
|
* apart from "the frame tagging does not expose it".
|
|
63
72
|
*
|
|
@@ -66,10 +75,15 @@ export function fiscalQ4Caveats(period) {
|
|
|
66
75
|
* inside it a year counts only when it reports at least
|
|
67
76
|
* {@link MIN_QUARTERS_PER_YEAR} of the four calendar quarters (partial first/last
|
|
68
77
|
* years carry no signal), and a caveat is emitted only when at least
|
|
69
|
-
* {@link MIN_YEARS} of the counting years
|
|
70
|
-
* year inside the window that reports all four quarters,
|
|
71
|
-
*
|
|
72
|
-
* suppress the caveat.
|
|
78
|
+
* {@link MIN_YEARS} of the counting years agree on a non-empty set of absent
|
|
79
|
+
* quarters. A year inside the window that reports all four quarters, years that
|
|
80
|
+
* disagree so no quarter is absent from all of them, or a window too sparse to
|
|
81
|
+
* reach the quorum all suppress the caveat.
|
|
82
|
+
*
|
|
83
|
+
* One or two quarters can be absent — the per-year quorum bounds it there. A
|
|
84
|
+
* single absent quarter is the fiscal-Q4 residual; a second one means the
|
|
85
|
+
* filer's fiscal quarters do not line up with calendar quarters at all, so
|
|
86
|
+
* further durations match no `CY####Q#` frame.
|
|
73
87
|
*/
|
|
74
88
|
export function missingQuarterCaveats(frames) {
|
|
75
89
|
const quartersByYear = new Map();
|
|
@@ -96,11 +110,20 @@ export function missingQuarterCaveats(frames) {
|
|
|
96
110
|
for (const quarter of quarters)
|
|
97
111
|
absent.delete(quarter);
|
|
98
112
|
}
|
|
99
|
-
|
|
100
|
-
if (absent.size !== 1 || !missing)
|
|
113
|
+
if (absent.size === 0)
|
|
101
114
|
return [];
|
|
115
|
+
const missing = [...absent].sort();
|
|
116
|
+
const subject = missing.length === 1
|
|
117
|
+
? `Calendar Q${missing[0]} carries`
|
|
118
|
+
: `Calendar ${missing.map((q) => `Q${q}`).join(' and ')} carry`;
|
|
119
|
+
const cause = missing.length === 1
|
|
120
|
+
? 'SEC XBRL reports fiscal Q4 as the 10-K residual rather than a discrete quarterly fact, so the calendar quarter that fiscal Q4 spans drops out of the quarterly series — the period was reported, the frame tagging does not expose it.'
|
|
121
|
+
: "SEC XBRL reports fiscal Q4 as the 10-K residual rather than a discrete quarterly fact, and this filer's remaining fiscal quarters span durations that no standard calendar quarter matches, so both drop out of the quarterly series — the periods were reported, the frame tagging does not expose them.";
|
|
122
|
+
const recovery = missing.length === 1
|
|
123
|
+
? "Use period_type='annual' for the full-year figure, or derive the missing quarter as the annual total minus the three reported quarters."
|
|
124
|
+
: "Use period_type='annual' for the full-year figure; the absent quarters can only be derived together, as the annual total minus the reported quarters, never one at a time.";
|
|
102
125
|
return [
|
|
103
|
-
|
|
126
|
+
`${subject} no frame-tagged value in any of this filer's recent qualifying years. ${cause} ${recovery}`,
|
|
104
127
|
];
|
|
105
128
|
}
|
|
106
129
|
//# sourceMappingURL=fiscal-periods.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fiscal-periods.js","sourceRoot":"","sources":["../../../src/services/edgar/fiscal-periods.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,MAAM,kBAAkB,GAA2B;IACjD,GAAG,EAAE,6CAA6C;IAClD,GAAG,EAAE,yCAAyC;IAC9C,GAAG,EAAE,sCAAsC;IAC3C,GAAG,EAAE,6DAA6D;CACnE,CAAC;AAEF,wFAAwF;AACxF,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"fiscal-periods.js","sourceRoot":"","sources":["../../../src/services/edgar/fiscal-periods.ts"],"names":[],"mappings":"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"}
|
|
@@ -247,9 +247,48 @@ export interface RelatedTag {
|
|
|
247
247
|
/** XBRL tag a meaningful share of filers report this metric under instead. */
|
|
248
248
|
tag: string;
|
|
249
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* How a concept's tag array is walked when a filer reports more than one of its
|
|
252
|
+
* tags.
|
|
253
|
+
*
|
|
254
|
+
* `priority` — the declared order is semantic: index 0 is the preferred
|
|
255
|
+
* definition and wins every frame it reports, lower tags only filling frames it
|
|
256
|
+
* does not cover. Correct whenever the tags mean different things and one of
|
|
257
|
+
* them is the answer to the concept (revenue's gross/net variants, the
|
|
258
|
+
* trade-only vs trade-and-other receivable captions).
|
|
259
|
+
*
|
|
260
|
+
* `coverage` — the tags are interchangeable alternates that filers choose
|
|
261
|
+
* between rather than a ladder, so the one this filer actually maintains wins:
|
|
262
|
+
* whichever covers the most standard calendar periods, with the declared order
|
|
263
|
+
* breaking a tie. The losers then drop out rather than filling the winner's
|
|
264
|
+
* gaps: alternates are not interchangeable value by value, and the filers
|
|
265
|
+
* reporting both disagree on the years they overlap. Only correct when no fixed
|
|
266
|
+
* order can be right, because filers split in both directions (#101).
|
|
267
|
+
*
|
|
268
|
+
* `priority` stays the default and coverage is opt-in per concept, because
|
|
269
|
+
* coverage is wrong as a general rule and SEC's own data says so. Molson Coors
|
|
270
|
+
* (TAP) tags eleven calendar years under `SalesRevenueGoodsNet`, which SEC
|
|
271
|
+
* retired in 2018, and ten under the assessed-tax-inclusive element against five
|
|
272
|
+
* under `Revenues` — so ranking `revenue` by coverage hands that filer either an
|
|
273
|
+
* eight-year-dead tag or its gross-of-excise line, replacing the continuous net
|
|
274
|
+
* series (CY2016-CY2019 at 6,597 / 13,472 / 13,338 / 13,009 million) with values
|
|
275
|
+
* roughly a fifth lower. Smucker (SJM) and Spotify (SPOT) survive it only on a
|
|
276
|
+
* coincidental tie in period count. Coverage answers "which element does this
|
|
277
|
+
* filer maintain", which is the question only when the elements mean the same
|
|
278
|
+
* thing; where they mean different things, the array order is the answer and
|
|
279
|
+
* period count is noise.
|
|
280
|
+
*/
|
|
281
|
+
export type TagSelection = 'coverage' | 'priority';
|
|
250
282
|
/** Friendly concept name mapping. */
|
|
251
283
|
export interface ConceptMapping {
|
|
252
284
|
group: ConceptGroup;
|
|
285
|
+
/**
|
|
286
|
+
* How to pick among `ifrsTags` for a filer reporting several of them. Defaults
|
|
287
|
+
* to `priority`. Scoped to the IFRS array on purpose — the us-gaap `tags` of
|
|
288
|
+
* the same concept can be a genuine priority ladder even when its IFRS
|
|
289
|
+
* counterparts are alternates.
|
|
290
|
+
*/
|
|
291
|
+
ifrsTagSelection?: TagSelection;
|
|
253
292
|
/**
|
|
254
293
|
* IFRS tag variants for this concept (used when taxonomy === 'ifrs-full').
|
|
255
294
|
* When present, these replace `tags` for IFRS lookups so friendly names resolve
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/types.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.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.",
|
|
5
5
|
"mcpName": "io.github.cyanheads/secedgar-mcp-server",
|
|
6
6
|
"type": "module",
|
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.
|
|
9
|
+
"version": "0.14.0",
|
|
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": "bun",
|
|
22
|
-
"version": "0.
|
|
22
|
+
"version": "0.14.0",
|
|
23
23
|
"environmentVariables": [
|
|
24
24
|
{
|
|
25
25
|
"name": "EDGAR_USER_AGENT",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
45
45
|
"identifier": "@cyanheads/secedgar-mcp-server",
|
|
46
46
|
"runtimeHint": "bun",
|
|
47
|
-
"version": "0.
|
|
47
|
+
"version": "0.14.0",
|
|
48
48
|
"environmentVariables": [
|
|
49
49
|
{
|
|
50
50
|
"name": "EDGAR_USER_AGENT",
|