@cyanheads/secedgar-mcp-server 0.12.5 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +37 -5
  2. package/dist/index.js +5 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/mcp-server/resources/definitions/concepts.resource.d.ts.map +1 -1
  5. package/dist/mcp-server/resources/definitions/concepts.resource.js +6 -1
  6. package/dist/mcp-server/resources/definitions/concepts.resource.js.map +1 -1
  7. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +89 -0
  8. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -0
  9. package/dist/mcp-server/tools/definitions/compare-companies.tool.js +451 -0
  10. package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -0
  11. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
  12. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +1 -24
  13. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts +9 -0
  15. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/get-filing.tool.js +91 -6
  17. package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +1 -0
  19. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/get-financials.tool.js +44 -56
  21. package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +81 -0
  23. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -0
  24. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +262 -0
  25. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -0
  26. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts +1 -0
  27. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/search-concepts.tool.js +9 -1
  29. package/dist/mcp-server/tools/definitions/search-concepts.tool.js.map +1 -1
  30. package/dist/services/edgar/concept-map.d.ts +21 -1
  31. package/dist/services/edgar/concept-map.d.ts.map +1 -1
  32. package/dist/services/edgar/concept-map.js +143 -1
  33. package/dist/services/edgar/concept-map.js.map +1 -1
  34. package/dist/services/edgar/concept-series.d.ts +80 -0
  35. package/dist/services/edgar/concept-series.d.ts.map +1 -0
  36. package/dist/services/edgar/concept-series.js +120 -0
  37. package/dist/services/edgar/concept-series.js.map +1 -0
  38. package/dist/services/edgar/edgar-api-service.d.ts +8 -6
  39. package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
  40. package/dist/services/edgar/edgar-api-service.js +7 -3
  41. package/dist/services/edgar/edgar-api-service.js.map +1 -1
  42. package/dist/services/edgar/fiscal-periods.d.ts +42 -0
  43. package/dist/services/edgar/fiscal-periods.d.ts.map +1 -0
  44. package/dist/services/edgar/fiscal-periods.js +129 -0
  45. package/dist/services/edgar/fiscal-periods.js.map +1 -0
  46. package/dist/services/edgar/mirror/companyfacts-sync.d.ts +7 -10
  47. package/dist/services/edgar/mirror/companyfacts-sync.d.ts.map +1 -1
  48. package/dist/services/edgar/mirror/companyfacts-sync.js.map +1 -1
  49. package/dist/services/edgar/mirror/edgar-mirror.d.ts +10 -1
  50. package/dist/services/edgar/mirror/edgar-mirror.d.ts.map +1 -1
  51. package/dist/services/edgar/mirror/edgar-mirror.js +35 -1
  52. package/dist/services/edgar/mirror/edgar-mirror.js.map +1 -1
  53. package/dist/services/edgar/types.d.ts +20 -0
  54. package/dist/services/edgar/types.d.ts.map +1 -1
  55. package/package.json +1 -1
  56. package/server.json +3 -3
@@ -0,0 +1,262 @@
1
+ /**
2
+ * @fileoverview One-call financial profile for a company. Reads the filer's
3
+ * whole XBRL fact set once and resolves every mapped friendly concept against
4
+ * it, instead of one upstream request per concept. Values come from the same
5
+ * frame dedup and tag priority `secedgar_get_financials` uses, so the two agree
6
+ * for any concept they both report.
7
+ * @module mcp-server/tools/definitions/get-snapshot
8
+ */
9
+ import { tool, z } from '@cyanheads/mcp-ts-core';
10
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
11
+ import { listConcepts, resolveConceptTarget } from '../../../services/edgar/concept-map.js';
12
+ import { deprecatedTagCaveats, seriesFromCompanyFacts, } from '../../../services/edgar/concept-series.js';
13
+ import { getEdgarApiService } from '../../../services/edgar/edgar-api-service.js';
14
+ import { missingQuarterCaveats } from '../../../services/edgar/fiscal-periods.js';
15
+ /** Full-year duration frame — `CY2024`. */
16
+ const ANNUAL = /^CY\d{4}$/;
17
+ /** Single-quarter duration frame — `CY2024Q2`. Excludes instants. */
18
+ const QUARTER = /^CY\d{4}Q[1-4]$/;
19
+ /** Point-in-time frame — `CY2024Q2I`. Balance-sheet and entity-info concepts. */
20
+ const INSTANT = /^CY\d{4}Q[1-4]I$/;
21
+ /** One reported value, trimmed to what a profile line needs. */
22
+ const pointSchema = z
23
+ .object({
24
+ period: z.string().describe('Calendar period label (e.g. "CY2024", "CY2025Q2", "CY2025Q2I").'),
25
+ value: z.number().describe("Reported value, in the line's unit."),
26
+ period_end: z.string().describe('Period end date (YYYY-MM-DD).'),
27
+ form: z.string().describe('Source filing type (10-K, 10-Q, 20-F).'),
28
+ accession_number: z
29
+ .string()
30
+ .describe('Source filing accession number — pass to secedgar_get_filing.'),
31
+ })
32
+ .describe('One reported value with its period and source filing.');
33
+ /** Most recent value whose frame matches `pattern`, or undefined when none does. */
34
+ function latest(series, pattern) {
35
+ const hit = series.find((u) => pattern.test(u.frame));
36
+ return hit
37
+ ? {
38
+ period: hit.frame,
39
+ value: hit.val,
40
+ period_end: hit.end,
41
+ form: hit.form,
42
+ accession_number: hit.accn,
43
+ }
44
+ : undefined;
45
+ }
46
+ export const getSnapshotTool = tool('secedgar_get_snapshot', {
47
+ description: 'Build a company financial profile in one call: the latest value of every supported XBRL concept, grouped by statement. Reads the filer\'s complete companyfacts payload once rather than one request per concept, so it replaces a run of secedgar_get_financials calls when the question is "what do this company\'s financials look like right now". Values use the same frame dedup and tag priority as secedgar_get_financials, so the two agree for any concept they both cover. Duration concepts (income statement, cash flow, per-share) report their latest full year and latest single quarter; balance-sheet and entity-info concepts report their latest point-in-time value, since that is the only form they are filed in. A concept the filer does not report is listed under gaps with the XBRL tags that were tried — never zero-filled or interpolated. Use secedgar_get_financials for a full time series of one concept, and secedgar_compare_companies to put several companies side by side.',
48
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
49
+ errors: [
50
+ {
51
+ reason: 'company_not_found',
52
+ code: JsonRpcErrorCode.NotFound,
53
+ when: 'The company input does not resolve to a CIK',
54
+ recovery: 'Use a ticker symbol or 10-digit CIK number for an exact match.',
55
+ },
56
+ {
57
+ reason: 'ambiguous_company',
58
+ code: JsonRpcErrorCode.ValidationError,
59
+ when: 'The company input resolves to multiple entities and the target is ambiguous',
60
+ recovery: 'Use a ticker symbol or 10-digit CIK from the matches list for an exact match.',
61
+ },
62
+ {
63
+ reason: 'no_company_facts',
64
+ code: JsonRpcErrorCode.NotFound,
65
+ when: 'The filer has no XBRL facts at all — pre-XBRL, foreign private issuer, or a non-operating registrant',
66
+ recovery: 'Check the filer files XBRL financial statements, or read the filings directly with secedgar_search_filings.',
67
+ },
68
+ ],
69
+ input: z.object({
70
+ company: z
71
+ .string()
72
+ .min(1)
73
+ .describe('Ticker symbol (e.g. "AAPL") or CIK number. Ticker is preferred.'),
74
+ taxonomy: z
75
+ .enum(['us-gaap', 'ifrs-full'])
76
+ .default('us-gaap')
77
+ .describe('XBRL taxonomy to resolve concepts under. Every concept is looked up in this one taxonomy, so ifrs-full covers only the concepts with confirmed IFRS tag variants and the rest — including the dei entity-info concepts — come back under gaps. Leave at us-gaap for domestic filers, where each concept uses its own preferred taxonomy.'),
78
+ period_type: z
79
+ .enum(['annual', 'quarterly', 'both'])
80
+ .default('both')
81
+ .describe('Which duration periods to report per concept: the latest full year, the latest single quarter, or both (default). Balance-sheet and entity-info concepts are point-in-time and always report their latest instant value regardless of this setting.'),
82
+ }),
83
+ output: z.object({
84
+ company: z.string().describe('Resolved entity name (SEC-conformed).'),
85
+ cik: z.string().describe('Resolved CIK, zero-padded to 10 digits.'),
86
+ taxonomy: z.string().describe('Taxonomy the concepts were resolved under, echoed from input.'),
87
+ period_type: z.string().describe('Duration periods reported, echoed from input.'),
88
+ concepts_resolved: z.number().describe('Concepts that produced at least one value.'),
89
+ concepts_total: z.number().describe('Concepts in the supported catalog that were attempted.'),
90
+ lines: z
91
+ .array(z
92
+ .object({
93
+ concept: z.string().describe('Friendly concept name (e.g. "revenue").'),
94
+ label: z.string().describe('Human-readable concept label.'),
95
+ group: z
96
+ .string()
97
+ .describe('Statement group: income_statement, balance_sheet, cash_flow, per_share, or entity_info.'),
98
+ taxonomy: z.string().describe('Taxonomy the value was read from.'),
99
+ tag: z.string().describe('XBRL tag that produced the value.'),
100
+ unit: z.string().describe('Unit of measure (e.g. "USD", "USD/shares", "shares").'),
101
+ annual: pointSchema
102
+ .optional()
103
+ .describe('Latest full-year (CY####) value. Absent for point-in-time concepts and when period_type excludes it.'),
104
+ quarterly: pointSchema
105
+ .optional()
106
+ .describe('Latest single-quarter (CY####Q#) value. Absent for point-in-time concepts and when period_type excludes it.'),
107
+ instant: pointSchema
108
+ .optional()
109
+ .describe('Latest point-in-time (CY####Q#I) value. Present for balance-sheet and entity-info concepts.'),
110
+ })
111
+ .describe('One resolved concept with its latest value per period kind.'))
112
+ .describe('Resolved concepts, ordered by statement group then concept name.'),
113
+ gaps: z
114
+ .array(z
115
+ .object({
116
+ concept: z.string().describe('Friendly concept name that produced no value.'),
117
+ label: z.string().describe('Human-readable concept label.'),
118
+ group: z.string().describe('Statement group the concept belongs to.'),
119
+ tags_tried: z
120
+ .array(z.string())
121
+ .describe('XBRL tags attempted, in priority order, before giving up.'),
122
+ })
123
+ .describe('One concept the filer does not report, with the tags that were tried.'))
124
+ .describe('Concepts with no value for this filer. Deliberately explicit — a missing concept is never zero-filled or interpolated.'),
125
+ caveats: z
126
+ .array(z.string())
127
+ .describe("Data-completeness warnings. One entry when one or two calendar quarters are absent from every recent qualifying year, because SEC reports a filer's fiscal Q4 as the 10-K residual rather than a discrete quarterly fact — this applies to calendar-year filers (no discrete Q4) as much as to off-calendar ones, and a filer whose other fiscal quarters span non-calendar durations loses a second quarter the same way. One further entry per line that resolved to an XBRL tag SEC has retired from the taxonomy, whose values may stop years short of the filer's latest report. Empty when nothing needs flagging."),
128
+ }),
129
+ async handler(input, ctx) {
130
+ const api = getEdgarApiService();
131
+ const resolved = await api.resolveCik(input.company);
132
+ if (Array.isArray(resolved) && resolved.length === 0) {
133
+ throw ctx.fail('company_not_found', `Company '${input.company}' not found.`, {
134
+ ...ctx.recoveryFor('company_not_found'),
135
+ });
136
+ }
137
+ if (Array.isArray(resolved) && resolved.length > 1) {
138
+ const shown = resolved.slice(0, 10);
139
+ const list = shown
140
+ .map((m) => `${m.cik} ${m.name ?? 'Unknown'}${m.ticker ? ` (${m.ticker})` : ''}`)
141
+ .join(', ');
142
+ throw ctx.fail('ambiguous_company', `'${input.company}' matches multiple companies: ${list}. Retry with one of these tickers or 10-digit CIKs.`, {
143
+ ...ctx.recoveryFor('ambiguous_company'),
144
+ matches: shown.map((m) => ({ cik: m.cik, name: m.name, ticker: m.ticker })),
145
+ });
146
+ }
147
+ const match = Array.isArray(resolved) ? resolved[0] : resolved;
148
+ if (!match) {
149
+ throw ctx.fail('company_not_found', `Company '${input.company}' not found.`, {
150
+ ...ctx.recoveryFor('company_not_found'),
151
+ });
152
+ }
153
+ const facts = await api.tryGetCompanyFacts(match.cik);
154
+ if (!facts || Object.keys(facts.facts).length === 0) {
155
+ throw ctx.fail('no_company_facts', `No XBRL facts on file for CIK ${match.cik}.`, {
156
+ ...ctx.recoveryFor('no_company_facts'),
157
+ cik: match.cik,
158
+ });
159
+ }
160
+ const wantAnnual = input.period_type !== 'quarterly';
161
+ const wantQuarterly = input.period_type !== 'annual';
162
+ const lines = [];
163
+ const gaps = [];
164
+ const quarterFrames = [];
165
+ /** One entry per line whose winning tag is retired from the taxonomy (#98). */
166
+ const staleTagCaveats = [];
167
+ for (const entry of listConcepts()) {
168
+ const target = resolveConceptTarget(entry.name, input.taxonomy);
169
+ const series = seriesFromCompanyFacts(facts, target.taxonomy, target.tags);
170
+ if (!series) {
171
+ gaps.push({
172
+ concept: entry.name,
173
+ label: target.label,
174
+ group: entry.group,
175
+ tags_tried: target.tags,
176
+ });
177
+ continue;
178
+ }
179
+ const annual = wantAnnual ? latest(series.series, ANNUAL) : undefined;
180
+ const quarterly = wantQuarterly ? latest(series.series, QUARTER) : undefined;
181
+ const instant = latest(series.series, INSTANT);
182
+ if (!annual && !quarterly && !instant) {
183
+ gaps.push({
184
+ concept: entry.name,
185
+ label: target.label,
186
+ group: entry.group,
187
+ tags_tried: series.tagsTried,
188
+ });
189
+ continue;
190
+ }
191
+ for (const unit of series.series) {
192
+ if (QUARTER.test(unit.frame))
193
+ quarterFrames.push(unit.frame);
194
+ }
195
+ for (const caveat of deprecatedTagCaveats(series.tag, series.label)) {
196
+ staleTagCaveats.push(`${entry.name}: ${caveat}`);
197
+ }
198
+ lines.push({
199
+ concept: entry.name,
200
+ label: series.label || target.label,
201
+ group: entry.group,
202
+ taxonomy: series.taxonomy,
203
+ tag: series.tag,
204
+ unit: series.unit || target.unit || '',
205
+ ...(annual ? { annual } : {}),
206
+ ...(quarterly ? { quarterly } : {}),
207
+ ...(instant ? { instant } : {}),
208
+ });
209
+ }
210
+ const caveats = [
211
+ ...(wantQuarterly ? missingQuarterCaveats(quarterFrames) : []),
212
+ ...staleTagCaveats,
213
+ ];
214
+ ctx.log.info('Snapshot built', {
215
+ company: match.cik,
216
+ resolved: lines.length,
217
+ gaps: gaps.length,
218
+ });
219
+ return {
220
+ company: match.name || input.company,
221
+ cik: match.cik,
222
+ taxonomy: input.taxonomy,
223
+ period_type: input.period_type,
224
+ concepts_resolved: lines.length,
225
+ concepts_total: lines.length + gaps.length,
226
+ lines,
227
+ gaps,
228
+ caveats,
229
+ };
230
+ },
231
+ format: (result) => {
232
+ const out = [
233
+ `**Financial snapshot** — ${result.company} (CIK ${result.cik}, ${result.taxonomy}, periods: ${result.period_type})`,
234
+ `${result.concepts_resolved} of ${result.concepts_total} concepts resolved`,
235
+ ];
236
+ const point = (kind, p) => ` ${kind} ${p.period} = ${p.value} | ends ${p.period_end} | ${p.form} [${p.accession_number}]`;
237
+ let group = '';
238
+ for (const line of result.lines) {
239
+ if (line.group !== group) {
240
+ group = line.group;
241
+ out.push('', `### ${group}`);
242
+ }
243
+ out.push(`- ${line.label} [${line.concept} → ${line.taxonomy}:${line.tag}, ${line.unit}]`);
244
+ if (line.annual)
245
+ out.push(point('annual', line.annual));
246
+ if (line.quarterly)
247
+ out.push(point('quarterly', line.quarterly));
248
+ if (line.instant)
249
+ out.push(point('instant', line.instant));
250
+ }
251
+ if (result.gaps.length > 0) {
252
+ out.push('', `### Not reported (${result.gaps.length})`);
253
+ for (const gap of result.gaps) {
254
+ out.push(`- ${gap.label} [${gap.concept}, ${gap.group}] — tried: ${gap.tags_tried.join(', ')}`);
255
+ }
256
+ }
257
+ for (const caveat of result.caveats)
258
+ out.push('', `Caveat: ${caveat}`);
259
+ return [{ type: 'text', text: out.join('\n') }];
260
+ },
261
+ });
262
+ //# sourceMappingURL=get-snapshot.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-snapshot.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-snapshot.tool.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare const searchConceptsTool: import("@cyanheads/mcp-ts-core").ToolDe
25
25
  name: z.ZodString;
26
26
  label: z.ZodString;
27
27
  tags: z.ZodArray<z.ZodString>;
28
+ ifrs_tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
29
  related_tags: z.ZodOptional<z.ZodArray<z.ZodObject<{
29
30
  tag: z.ZodString;
30
31
  note: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"search-concepts.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-concepts.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAkBjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoK7B,CAAC"}
1
+ {"version":3,"file":"search-concepts.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-concepts.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAkBjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8K7B,CAAC"}
@@ -54,7 +54,11 @@ export const searchConceptsTool = tool('secedgar_search_concepts', {
54
54
  label: z.string().describe('Human-readable concept label.'),
55
55
  tags: z
56
56
  .array(z.string())
57
- .describe('XBRL tags this friendly name resolves to, tried in order. Multiple tags cover historical naming changes (e.g., pre- vs post-ASC 606 revenue).'),
57
+ .describe('XBRL tags this friendly name resolves to under us-gaap, tried in order. Multiple tags cover historical naming changes (e.g., pre- vs post-ASC 606 revenue) and can include a tag SEC has since retired, kept as a last-resort fallback for filers whose history predates its replacement.'),
58
+ ifrs_tags: z
59
+ .array(z.string())
60
+ .optional()
61
+ .describe('XBRL tags this friendly name resolves to under taxonomy "ifrs-full", tried in order — a different element set from tags, not a synonym list. Each one is confirmed present in a live 20-F filing. Absent when the concept has no IFRS equivalent, in which case taxonomy "ifrs-full" does not resolve it.'),
58
62
  related_tags: z
59
63
  .array(z
60
64
  .object({
@@ -115,6 +119,7 @@ export const searchConceptsTool = tool('secedgar_search_concepts', {
115
119
  name: c.name,
116
120
  label: c.label,
117
121
  tags: c.tags,
122
+ ...(c.ifrsTags?.length ? { ifrs_tags: c.ifrsTags } : {}),
118
123
  ...(c.relatedTags?.length ? { related_tags: c.relatedTags } : {}),
119
124
  taxonomy: c.taxonomy,
120
125
  unit: c.unit,
@@ -137,6 +142,9 @@ export const searchConceptsTool = tool('secedgar_search_concepts', {
137
142
  }
138
143
  const tagList = c.tags.map((t) => `\`${t}\``).join(', ');
139
144
  lines.push(`- \`${c.name}\` — ${c.label} (${c.taxonomy}, ${c.unit}) → ${tagList}`);
145
+ if (c.ifrs_tags?.length) {
146
+ lines.push(` ifrs-full: ${c.ifrs_tags.map((t) => `\`${t}\``).join(', ')}`);
147
+ }
140
148
  if (c.related_tags?.length) {
141
149
  const rel = c.related_tags.map((r) => `\`${r.tag}\` (${r.note})`).join('; ');
142
150
  lines.push(` related (alternate definition): ${rel}`);
@@ -1 +1 @@
1
- {"version":3,"file":"search-concepts.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-concepts.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-concepts.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-concepts.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,MAAM,YAAY,GAAG;IACnB,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,WAAW;IACX,aAAa;CAC6B,CAAC;AAE7C,MAAM,eAAe,GAAG;IACtB,SAAS;IACT,WAAW;IACX,KAAK;CACwC,CAAC;AAEhD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,EAAE;IACjE,WAAW,EACT,6UAA6U;IAC/U,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAE/E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yPAAyP,CAC1P;QACH,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,YAAY,CAAC;aAClB,QAAQ,EAAE;aACV,QAAQ,CACP,uRAAuR,CACxR;QACH,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,eAAe,CAAC;aACrB,QAAQ,EAAE;aACV,QAAQ,CACP,6GAA6G,CAC9G;KACJ,CAAC;IAEF,8EAA8E;IAC9E,mFAAmF;IACnF,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,uFAAuF,CACxF;KACJ;IAED,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACtE,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,oGAAoG,CACrG;YACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC3D,IAAI,EAAE,CAAC;iBACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CACP,2RAA2R,CAC5R;YACH,SAAS,EAAE,CAAC;iBACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,2SAA2S,CAC5S;YACH,YAAY,EAAE,CAAC;iBACZ,KAAK,CACJ,CAAC;iBACE,MAAM,CAAC;gBACN,GAAG,EAAE,CAAC;qBACH,MAAM,EAAE;qBACR,QAAQ,CACP,sEAAsE,CACvE;gBACH,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,CAAC,0DAA0D,CAAC;aACxE,CAAC;iBACD,QAAQ,CAAC,yDAAyD,CAAC,CACvE;iBACA,QAAQ,EAAE;iBACV,QAAQ,CACP,kaAAka,CACna;YACH,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,eAAe,CAAC;iBACrB,QAAQ,CACP,6GAA6G,CAC9G;YACH,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,6GAA6G,CAC9G;YACH,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,YAAY,CAAC;iBAClB,QAAQ,CACP,mHAAmH,CACpH;SACJ,CAAC;aACD,QAAQ,CAAC,sEAAsE,CAAC,CACpF;aACA,QAAQ,CAAC,gEAAgE,CAAC;KAC9E,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,GAAG;QAChB,2EAA2E;QAC3E,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEjE,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACrD,0EAA0E;YAC1E,uEAAuE;YACvE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACvC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,OAAO,CAAC,MAAM;SACxB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,wBAAwB,KAAK,CAAC,MAAM,IAAI,OAAO,IAAI,YAAY,kGAAkG,CAClK,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;QAErF,IAAI,YAAgC,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;gBAC7B,IAAI,YAAY;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;gBAC1D,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC;YACzB,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,OAAO,OAAO,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7E,KAAK,CAAC,IAAI,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,KAAmB;IACtC,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
@@ -2,12 +2,32 @@
2
2
  * @fileoverview Static mapping of friendly financial concept names to XBRL tags.
3
3
  * @module services/edgar/concept-map
4
4
  */
5
- import type { ConceptMapping } from './types.js';
5
+ import type { ConceptMapping, ConceptTaxonomy } from './types.js';
6
6
  /**
7
7
  * Resolve a concept input to its mapping. Accepts friendly names or raw XBRL tags.
8
8
  * Returns undefined if the input is not a known friendly name (caller should treat it as a raw tag).
9
9
  */
10
10
  export declare function resolveConcept(input: string): ConceptMapping | undefined;
11
+ /** What a caller-supplied concept resolves to before any lookup runs. */
12
+ export interface ConceptTarget {
13
+ /** Human-readable label — the mapping's label, or the raw tag itself. */
14
+ label: string;
15
+ /** Tags to try in priority order. Index 0 is the preferred total. */
16
+ tags: string[];
17
+ /** Taxonomy to look the tags up under. */
18
+ taxonomy: ConceptTaxonomy;
19
+ /** Expected unit of measure. Absent for raw XBRL tags. */
20
+ unit?: string;
21
+ }
22
+ /**
23
+ * Resolve a concept input plus a requested taxonomy into the taxonomy and tag
24
+ * list to query. A friendly name that prefers its own taxonomy (`dei` for
25
+ * shares_outstanding) keeps it unless the caller asked for something other than
26
+ * the `us-gaap` default; `ifrs-full` uses the mapping's confirmed IFRS variants
27
+ * when it has them and falls back to the standard tags otherwise. Unknown input
28
+ * passes through as a raw XBRL tag under the requested taxonomy.
29
+ */
30
+ export declare function resolveConceptTarget(input: string, requestedTaxonomy: ConceptTaxonomy): ConceptTarget;
11
31
  /** Get all concept mappings for reference resource generation. */
12
32
  export declare function getAllConcepts(): Record<string, ConceptMapping>;
13
33
  /** Entry returned by search/list operations — friendly name paired with its mapping. */
@@ -1 +1 @@
1
- {"version":3,"file":"concept-map.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/concept-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA8SjD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAGxE;AAED,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAE/D;AAED,wFAAwF;AACxF,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAI7C;AAUD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAqB/E"}
1
+ {"version":3,"file":"concept-map.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/concept-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA4alE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAGxE;AAED,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,0CAA0C;IAC1C,QAAQ,EAAE,eAAe,CAAC;IAC1B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,eAAe,GACjC,aAAa,CAQf;AAED,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAE/D;AAED,wFAAwF;AACxF,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAI7C;AAUD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAqB/E"}