@cyanheads/secedgar-mcp-server 0.15.8 → 0.15.9

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/AGENTS.md +10 -7
  2. package/CLAUDE.md +10 -7
  3. package/README.md +11 -6
  4. package/changelog/0.15.x/0.15.9.md +32 -0
  5. package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js +2 -2
  6. package/dist/mcp-server/prompts/definitions/company-analysis.prompt.js.map +1 -1
  7. package/dist/mcp-server/resources/definitions/concepts.resource.d.ts +2 -1
  8. package/dist/mcp-server/resources/definitions/concepts.resource.d.ts.map +1 -1
  9. package/dist/mcp-server/resources/definitions/concepts.resource.js +5 -4
  10. package/dist/mcp-server/resources/definitions/concepts.resource.js.map +1 -1
  11. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +10 -0
  12. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/definitions/compare-companies.tool.js +143 -14
  14. package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +6 -1
  16. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +93 -32
  18. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +6 -0
  20. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
  21. package/dist/mcp-server/tools/definitions/get-financials.tool.js +130 -60
  22. package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
  23. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +3 -0
  24. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
  25. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +16 -7
  26. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
  27. package/dist/mcp-server/tools/definitions/index.d.ts +81 -57
  28. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  29. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts +2 -1
  30. package/dist/mcp-server/tools/definitions/search-concepts.tool.d.ts.map +1 -1
  31. package/dist/mcp-server/tools/definitions/search-concepts.tool.js +5 -4
  32. package/dist/mcp-server/tools/definitions/search-concepts.tool.js.map +1 -1
  33. package/dist/services/edgar/concept-map.d.ts +38 -4
  34. package/dist/services/edgar/concept-map.d.ts.map +1 -1
  35. package/dist/services/edgar/concept-map.js +196 -9
  36. package/dist/services/edgar/concept-map.js.map +1 -1
  37. package/dist/services/edgar/concept-series.d.ts +79 -18
  38. package/dist/services/edgar/concept-series.d.ts.map +1 -1
  39. package/dist/services/edgar/concept-series.js +175 -25
  40. package/dist/services/edgar/concept-series.js.map +1 -1
  41. package/dist/services/edgar/edgar-api-service.d.ts +4 -6
  42. package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
  43. package/dist/services/edgar/edgar-api-service.js +34 -38
  44. package/dist/services/edgar/edgar-api-service.js.map +1 -1
  45. package/dist/services/edgar/mirror/edgar-mirror.d.ts +10 -1
  46. package/dist/services/edgar/mirror/edgar-mirror.d.ts.map +1 -1
  47. package/dist/services/edgar/mirror/edgar-mirror.js +52 -13
  48. package/dist/services/edgar/mirror/edgar-mirror.js.map +1 -1
  49. package/dist/services/edgar/trigram-similarity.d.ts +13 -0
  50. package/dist/services/edgar/trigram-similarity.d.ts.map +1 -0
  51. package/dist/services/edgar/trigram-similarity.js +40 -0
  52. package/dist/services/edgar/trigram-similarity.js.map +1 -0
  53. package/dist/services/edgar/types.d.ts +12 -2
  54. package/dist/services/edgar/types.d.ts.map +1 -1
  55. package/package.json +2 -2
  56. package/server.json +3 -3
@@ -10,11 +10,19 @@
10
10
  import { tool, z } from '@cyanheads/mcp-ts-core';
11
11
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
12
12
  import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
13
- import { resolveConcept } from '../../../services/edgar/concept-map.js';
13
+ import { describeUnknownConcepts, findUnknownConcept, resolveConcept, resolveConceptTarget, } from '../../../services/edgar/concept-map.js';
14
14
  import { getEdgarApiService } from '../../../services/edgar/edgar-api-service.js';
15
15
  import { fiscalQ4Caveats } from '../../../services/edgar/fiscal-periods.js';
16
+ /**
17
+ * A frame row's business location, or `undefined` when SEC has none. SEC writes
18
+ * `loc` as `<country>-<state>` and a bare `-` when it knows neither; the mirror
19
+ * writes an empty string.
20
+ */
21
+ function businessLocation(loc) {
22
+ return loc && loc !== '-' ? loc : undefined;
23
+ }
16
24
  export const fetchFramesTool = tool('secedgar_fetch_frames', {
17
- description: 'Fetch SEC XBRL frames for one concept × one period across all reporting companies. Inline response returns a page of the ranked companies — start at the top or pass offset/next_offset to walk further down the ranking; the full frames response (all reporters) is materialized as df_<id> when a canvas is available — inspect it with secedgar_dataframe_describe, then analyze it with secedgar_dataframe_query. Accepts friendly names like "revenue" or "assets" (discover via secedgar_search_concepts) or raw XBRL tags. One call hits one XBRL tag — when a friendly name maps to multiple same-meaning tags, the response\'s `unqueried_tags` lists the others; call again per tag and UNION/COALESCE in SQL with an analysis-specific priority (e.g. SalesRevenueGoodsNet is goods-only). The response\'s `related_tags` separately flags alternate-DEFINITION tags a meaningful share of filers use as their primary line (e.g. cash incl. restricted cash, equity incl. noncontrolling interest) — a whole-universe screen on the base tag silently omits those filers; query them separately, but do not blindly union (the semantics differ). Response includes `value_distribution` and `period_end_range` to flag XBRL scale-factor anomalies and fiscal-year mixing.',
25
+ description: 'Fetch SEC XBRL frames for one concept × one period across all reporting companies. Inline response returns a page of the ranked companies — start at the top or pass offset/next_offset to walk further down the ranking; the full frames response (all reporters) is materialized as df_<id> when a canvas is available — inspect it with secedgar_dataframe_describe, then analyze it with secedgar_dataframe_query. Accepts friendly names like "revenue" or "assets" (discover via secedgar_search_concepts) or raw XBRL tags. One call hits one XBRL tag — when a friendly name maps to multiple same-meaning tags, the response\'s `unqueried_tags` lists the others; call again per tag and UNION/COALESCE in SQL with an analysis-specific priority (e.g. SalesRevenueGoodsNet is goods-only). The response\'s `related_tags` separately flags alternate-DEFINITION tags a meaningful share of filers use as their primary line (e.g. cash incl. restricted cash, equity incl. noncontrolling interest) — a whole-universe screen on the base tag silently omits those filers; query them separately, but do not blindly union (the semantics differ). Response includes `value_distribution` and `period_end_range` to flag XBRL scale-factor anomalies and fiscal-year mixing. SEC publishes frames for us-gaap and dei tags only, and `taxonomy` picks which of the two a raw tag is read from (dei for cover-page tags such as EntityCommonStockSharesOutstanding); a friendly name keeps its own mapped taxonomy. There are no ifrs-full frames, so IFRS (20-F) filers are absent from every frame; read them per company with secedgar_get_financials or secedgar_compare_companies under taxonomy ifrs-full.',
18
26
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
19
27
  enrichment: {
20
28
  notice: z
@@ -29,7 +37,7 @@ export const fetchFramesTool = tool('secedgar_fetch_frames', {
29
37
  {
30
38
  reason: 'unknown_concept',
31
39
  code: JsonRpcErrorCode.NotFound,
32
- when: 'The concept input does not match a friendly name and SEC frames returned no data',
40
+ when: 'The concept input is neither a supported friendly name nor shaped like an XBRL tag, so no request is sent',
33
41
  recovery: 'Use a friendly name from secedgar_search_concepts or a valid raw XBRL tag.',
34
42
  },
35
43
  {
@@ -52,6 +60,10 @@ export const fetchFramesTool = tool('secedgar_fetch_frames', {
52
60
  .string()
53
61
  .min(1)
54
62
  .describe('Financial concept — same friendly names as secedgar_get_financials (e.g., "revenue", "assets", "eps_basic") or raw XBRL tag.'),
63
+ taxonomy: z
64
+ .enum(['us-gaap', 'dei'])
65
+ .default('us-gaap')
66
+ .describe('Frames namespace a raw XBRL tag is read from: us-gaap for financial-statement tags, dei for cover-page entity tags such as EntityCommonStockSharesOutstanding. SEC publishes frames for no other taxonomy. A friendly name keeps its own mapped taxonomy (shares_outstanding reads dei) unless dei is passed, which reads its tags from dei instead — the same rule as secedgar_get_financials.'),
55
67
  period: z
56
68
  .string()
57
69
  .min(1)
@@ -77,6 +89,9 @@ export const fetchFramesTool = tool('secedgar_fetch_frames', {
77
89
  concept: z
78
90
  .string()
79
91
  .describe('XBRL tag the data was actually fetched against (after resolving any friendly name).'),
92
+ taxonomy: z
93
+ .string()
94
+ .describe('Frames namespace the tag was read from (us-gaap or dei) — a friendly name mapped to dei reads dei under the us-gaap default.'),
80
95
  period: z.string().describe('Calendar period the data was fetched for, echoed from input.'),
81
96
  unit: z
82
97
  .string()
@@ -148,36 +163,54 @@ export const fetchFramesTool = tool('secedgar_fetch_frames', {
148
163
  .describe('Range of period_end dates across the frame. SEC normalizes to calendar periods but filers report against their own fiscal year-ends, so a "CY2023" duration frame can contain period_ends from 2023-01-31 (January-FY filers like Walmart) to 2024-12-31 (calendar-FY filers reported late). Wide ranges mean cross-comparison mixes fiscal periods.'),
149
164
  caveats: z
150
165
  .array(z.string())
151
- .describe("Data-completeness warnings specific to this query. Currently populated for duration periods 'CY####Q[1-4]', where SEC XBRL omits filers' fiscal Q4 (reported only as the 10-K residual) — affected filers are silently absent from the frame. Empty for annual ('CY####') and instant ('CY####Q#I') periods, where the underlying facts exist and the frame is complete."),
166
+ .describe("Data-completeness warnings specific to this query. Populated for duration periods 'CY####Q[1-4]', where SEC XBRL omits filers' fiscal Q4 (reported only as the 10-K residual) — affected filers are silently absent from the frame. Populated for annual ('CY####') NetIncomeLoss frames, where a filer's row can be its proxy statement's pay-versus-performance figure rather than the 10-K's. Populated for an annual frame whose calendar year is still open or inside its 10-K filing window, where a filer's row can be a trailing-twelve-month figure from a 10-Q rather than a fiscal year. Also flags a value distribution whose top rows look like split or scale-factor artifacts. Otherwise empty."),
152
167
  }),
153
168
  async handler(input, ctx) {
169
+ /**
170
+ * A name that is neither a catalog entry nor tag-shaped fails before the
171
+ * frames request, which interpolates the tag into its path (#128). What
172
+ * passes is a friendly name or a well-formed tag, so a 404 below is always
173
+ * `no_data` — a deprecated or unreported tag, never a malformed one (#45).
174
+ */
175
+ const unknown = findUnknownConcept(input.concept);
176
+ if (unknown) {
177
+ const { message, hint } = describeUnknownConcepts([unknown]);
178
+ throw ctx.fail('unknown_concept', message, {
179
+ recovery: { hint },
180
+ concept: unknown.concept,
181
+ suggestions: unknown.suggestions,
182
+ ...(unknown.derivation ? { derivation: unknown.derivation } : {}),
183
+ });
184
+ }
154
185
  const api = getEdgarApiService();
155
- const mapping = resolveConcept(input.concept);
156
- const tag = mapping?.tags[0] ?? input.concept;
157
- const taxonomy = mapping?.taxonomy ?? 'us-gaap';
158
- const label = mapping?.label ?? input.concept;
159
- const unit = (mapping?.unit ?? input.unit).replace('/', '-per-');
186
+ const concept = input.concept.trim();
187
+ const mapping = resolveConcept(concept);
188
+ /**
189
+ * The taxonomy rule `get_financials` applies: a catalog name keeps its own
190
+ * mapped taxonomy under the `us-gaap` default (`dei` for shares_outstanding),
191
+ * an explicit `dei` reads its tags from `dei`, and a raw tag reads from the
192
+ * requested namespace (#143).
193
+ */
194
+ const target = resolveConceptTarget(concept, input.taxonomy);
195
+ const tag = target.tags[0] ?? concept;
196
+ const { label, taxonomy } = target;
197
+ const unit = (target.unit ?? input.unit).replace('/', '-per-');
160
198
  const framesResponse = await api.tryGetFrames(taxonomy, tag, unit, input.period);
161
199
  if (!framesResponse) {
162
- /**
163
- * Distinguish between malformed input and valid-but-empty XBRL tags (#45).
164
- *
165
- * A well-formed XBRL tag (letter followed by alphanumerics — e.g. `SalesRevenueNet`,
166
- * `RevenueFromContractsWithCustomers`) may return 404 because the tag is deprecated or
167
- * has no data for the requested period/unit. This is `no_data`, not `unknown_concept`.
168
- * `unknown_concept` is reserved for genuinely malformed input (e.g. "foo bar", "123abc").
169
- */
170
- if (!mapping && !/^[A-Za-z][A-Za-z0-9]*$/.test(input.concept)) {
171
- throw ctx.fail('unknown_concept', `Unknown concept '${input.concept}'.`, {
172
- ...ctx.recoveryFor('unknown_concept'),
173
- concept: input.concept,
174
- });
175
- }
176
- throw ctx.fail('no_data', `No data for ${label}/${unit}/${input.period}.`, {
200
+ /** A tag SEC frames only in the other namespace 404s here too, so say which one was read. */
201
+ const namespaceNote = mapping
202
+ ? mapping.taxonomy === taxonomy
203
+ ? ''
204
+ : ` '${concept}' maps to ${mapping.taxonomy} tags; omit taxonomy to read them from ${mapping.taxonomy}.`
205
+ : taxonomy === 'dei'
206
+ ? ' This read the dei frames; a financial-statement tag needs taxonomy: us-gaap.'
207
+ : ' This read the us-gaap frames; a cover-page tag such as EntityCommonStockSharesOutstanding needs taxonomy: dei.';
208
+ throw ctx.fail('no_data', `No data for ${label}/${unit}/${input.period} in the ${taxonomy} frames.`, {
177
209
  recovery: {
178
- hint: 'Check duration vs. instant period (add "I" for balance sheet items), correct unit (USD-per-shares for EPS), and period exists (data starts ~CY2009).',
210
+ hint: `Check duration vs. instant period (add "I" for balance sheet items), correct unit (USD-per-shares for EPS), and period exists (data starts ~CY2009).${namespaceNote}`,
179
211
  },
180
212
  concept: tag,
213
+ taxonomy,
181
214
  period: input.period,
182
215
  unit,
183
216
  });
@@ -185,7 +218,7 @@ export const fetchFramesTool = tool('secedgar_fetch_frames', {
185
218
  const enriched = await Promise.all(framesResponse.data.map(async (entry) => {
186
219
  const cik = String(entry.cik).padStart(10, '0');
187
220
  const ticker = await api.cikToTicker(cik);
188
- return { entry, cik, ticker };
221
+ return { entry, cik, ticker, location: businessLocation(entry.loc) };
189
222
  }));
190
223
  const sorted = [...enriched].sort((a, b) => input.sort === 'desc' ? b.entry.val - a.entry.val : a.entry.val - b.entry.val);
191
224
  // Offset paging over the whole sorted frame — the retrieval path for ranks past
@@ -194,25 +227,25 @@ export const fetchFramesTool = tool('secedgar_fetch_frames', {
194
227
  const pageEnd = input.offset + input.limit;
195
228
  const sliced = sorted.slice(input.offset, pageEnd);
196
229
  const nextOffset = pageEnd < sorted.length ? pageEnd : undefined;
197
- const data = sliced.map(({ entry, cik, ticker }, i) => ({
230
+ const data = sliced.map(({ entry, cik, ticker, location }, i) => ({
198
231
  rank: input.offset + i + 1,
199
232
  company_name: entry.entityName,
200
233
  cik,
201
234
  ticker: ticker || undefined,
202
235
  value: entry.val,
203
- location: entry.loc || undefined,
236
+ location,
204
237
  period_end: entry.end,
205
238
  accession_number: entry.accn,
206
239
  }));
207
240
  let dataset;
208
241
  const bridge = getCanvasBridge();
209
242
  if (bridge) {
210
- const allRows = enriched.map(({ entry, cik, ticker }) => ({
243
+ const allRows = enriched.map(({ entry, cik, ticker, location }) => ({
211
244
  cik,
212
245
  entity_name: entry.entityName,
213
246
  ticker: ticker ?? null,
214
247
  value: entry.val,
215
- location: entry.loc || null,
248
+ location: location ?? null,
216
249
  period_start: entry.start ?? null,
217
250
  period_end: entry.end,
218
251
  accession_number: entry.accn,
@@ -264,9 +297,36 @@ export const fetchFramesTool = tool('secedgar_fetch_frames', {
264
297
  min: sortedEnds[0] ?? '',
265
298
  max: sortedEnds[sortedEnds.length - 1] ?? '',
266
299
  };
267
- const unqueriedTags = mapping ? mapping.tags.slice(1) : [];
300
+ const unqueriedTags = target.tags.slice(1);
268
301
  const relatedTags = mapping?.relatedTags ?? [];
269
302
  const caveats = fiscalQ4Caveats(input.period);
303
+ /**
304
+ * SEC frames the latest-filed fact for a period, and since the
305
+ * pay-versus-performance rule a DEF 14A re-tags five years of annual
306
+ * `NetIncomeLoss` — so the frame row is often the proxy's figure, and the
307
+ * frames API carries no form to detect it by. The mirror's assembly reads the
308
+ * form and has already answered those rows with the 10-K (#123).
309
+ */
310
+ const annualYear = /^CY(\d{4})$/.exec(input.period)?.[1];
311
+ if (tag === 'NetIncomeLoss' && annualYear && !framesResponse.holderFormsResolved) {
312
+ caveats.push("SEC assigns an annual NetIncomeLoss frame to the latest-filed fact for the period, and since the pay-versus-performance rule a filer's DEF 14A proxy statement re-tags five years of net income — so for many filers this frame row is the proxy's figure, often rounded and sometimes mis-scaled or sign-flipped, not the 10-K's. The frames endpoint does not say which form a row came from; check a company's value with secedgar_get_financials, which answers the period from the filer's own report, before relying on a ranking.");
313
+ }
314
+ /**
315
+ * SEC frames any year-long duration as `CY####`, including the
316
+ * trailing-twelve-month figure a 10-Q discloses, and the frames API carries
317
+ * no form to tell one apart. That row holds a filer's annual frame while its
318
+ * fiscal year for the calendar year is still open — through the year itself
319
+ * and the 10-K deadline after it (90 days, plus SEC's framing lag), so until
320
+ * the end of April. Closed years are left alone: a TTM row survives there
321
+ * only in rare non-statement tags, and a caveat on every annual frame would
322
+ * drown the ones that matter. The mirror reads the form and drops those rows
323
+ * itself (#142).
324
+ */
325
+ if (annualYear &&
326
+ !framesResponse.holderFormsResolved &&
327
+ new Date().toISOString().slice(0, 10) < `${Number(annualYear) + 1}-05-01`) {
328
+ caveats.push(`${input.period} has not closed for every filer: until a filer files its annual report for the calendar year, its row can be a trailing-twelve-month figure from a quarterly report (10-Q) rather than a fiscal year, and the frames endpoint does not say which. Check a company's annual value with secedgar_get_financials, which leaves a 10-Q trailing-twelve-month figure out of the annual series.`);
329
+ }
270
330
  /**
271
331
  * Artifact caveat (#49): when max/p95 ratio is suspiciously high, warn that
272
332
  * top values may be reverse-split or tiny-denominator artifacts. Use a lower
@@ -287,6 +347,7 @@ export const fetchFramesTool = tool('secedgar_fetch_frames', {
287
347
  });
288
348
  return {
289
349
  concept: tag,
350
+ taxonomy,
290
351
  period: input.period,
291
352
  unit,
292
353
  label: framesResponse.label || label,
@@ -304,7 +365,7 @@ export const fetchFramesTool = tool('secedgar_fetch_frames', {
304
365
  },
305
366
  format: (result) => {
306
367
  const lines = [
307
- `**${result.label}** [XBRL: ${result.concept}] — ${result.period} (${result.unit}, ${result.total_companies} companies)`,
368
+ `**${result.label}** [XBRL: ${result.taxonomy}:${result.concept}] — ${result.period} (${result.unit}, ${result.total_companies} companies)`,
308
369
  ];
309
370
  lines.push(`Page offset: ${result.offset} (${result.data.length} shown)`);
310
371
  if (result.next_offset !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-frames.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fetch-frames.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,EAAE;IAC3D,WAAW,EACT,0tCAA0tC;IAC5tC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAE9E,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2EAA2E,CAAC;QACxF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QAC9F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC1E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KAC9D;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,kFAAkF;YACxF,QAAQ,EAAE,4EAA4E;SACvF;QACD;YACE,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,wFAAwF;YAC9F,QAAQ,EAAE,iFAAiF;SAC5F;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,yIAAyI;YAC/I,QAAQ,EACN,0HAA0H;YAC5H,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,8HAA8H,CAC/H;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,KAAK,CAAC,sBAAsB,EAAE,yCAAyC,CAAC;aACxE,QAAQ,CACP,gOAAgO,CACjO;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;aAC/D,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,iMAAiM,CAClM;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC9F,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CACP,+QAA+Q,CAChR;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aACrB,OAAO,CAAC,MAAM,CAAC;aACf,QAAQ,CACP,yGAAyG,CAC1G;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,qFAAqF,CACtF;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;QAC3F,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CACP,gGAAgG,CACjG;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC3D,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QAC9F,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,CAAC,2EAA2E,CAAC;QACxF,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,4HAA4H,CAC7H;QACH,IAAI,EAAE,CAAC;aACJ,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAClD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACjD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC7C,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,uFAAuF,CACxF;YACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAChE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SAChF,CAAC;aACD,QAAQ,CAAC,0DAA0D,CAAC,CACxE;aACA,QAAQ,CAAC,mCAAmC,CAAC;QAChD,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,wIAAwI,CACzI;YACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SAC9D,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,wHAAwH,CACzH;QACH,cAAc,EAAE,CAAC;aACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,0dAA0d,CAC3d;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,CACP,mFAAmF,CACpF;YACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;SACtF,CAAC;aACD,QAAQ,CAAC,yDAAyD,CAAC,CACvE;aACA,QAAQ,CACP,ytBAAytB,CAC1tB;QACH,kBAAkB,EAAE,CAAC;aAClB,MAAM,CAAC;YACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YACvF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC3D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACnD,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CACP,mbAAmb,CACpb;SACJ,CAAC;aACD,QAAQ,CACP,wMAAwM,CACzM;QACH,gBAAgB,EAAE,CAAC;aAChB,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YAC7E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC5E,CAAC;aACD,QAAQ,CACP,sVAAsV,CACvV;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,0WAA0W,CAC3W;KACJ,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QAEjC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC;QAC9C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,SAAS,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEjE,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB;;;;;;;eAOG;YACH,IAAI,CAAC,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,KAAK,CAAC,OAAO,IAAI,EAAE;oBACvE,GAAG,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC;oBACrC,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;gBACzE,QAAQ,EAAE;oBACR,IAAI,EAAE,sJAAsJ;iBAC7J;gBACD,OAAO,EAAE,GAAG;gBACZ,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAC9E,CAAC;QAEF,gFAAgF;QAChF,+EAA+E;QAC/E,sEAAsE;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;YAC1B,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,GAAG;YACH,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,KAAK,EAAE,KAAK,CAAC,GAAG;YAChB,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,SAAS;YAChC,UAAU,EAAE,KAAK,CAAC,GAAG;YACrB,gBAAgB,EAAE,KAAK,CAAC,IAAI;SAC7B,CAAC,CAAC,CAAC;QAEJ,IAAI,OAA4E,CAAC;QACjF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxD,GAAG;gBACH,WAAW,EAAE,KAAK,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,IAAI,IAAI;gBACtB,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;gBAC3B,YAAY,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;gBACjC,UAAU,EAAE,KAAK,CAAC,GAAG;gBACrB,gBAAgB,EAAE,KAAK,CAAC,IAAI;aAC7B,CAAC,CAAC,CAAC;YAEJ,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;gBACrD,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,uBAAuB;gBACnC,WAAW,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,QAAQ;oBACR,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI;iBACL;aACF,CAAC,CAAC;YACH,IAAI,UAAU;gBAAE,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,gCAAgC;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,WAAW,KAAK,CAAC,MAAM,uBAAuB,MAAM,CAAC,MAAM,oGAAoG;gBAC7J,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,GAAG,EAAE,KAAK,CAAC,KAAK;gBAChB,GAAG,CAAC,OAAO,IAAI,EAAE,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;aACzD,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG;YACxB,MAAM;YACN,GAAG;YACH,GAAG,EAAE,MAAM;YACX,gBAAgB,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SACrE,CAAC;QAEF,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,cAAc,GAAG;YACrB,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE;YACxB,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;SAC7C,CAAC;QAEF,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9C;;;;;WAKG;QACH,MAAM,iBAAiB,GAAG,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/D,IAAI,iBAAiB,CAAC,gBAAgB,GAAG,iBAAiB,EAAE,CAAC;YAC3D,OAAO,CAAC,IAAI,CACV,8GAA8G,CAC/G,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC7B,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,cAAc,EAAE,cAAc,CAAC,GAAG;YAClC,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,WAAW,EAAE,OAAO,EAAE,IAAI;YAC1B,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;SAClD,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI;YACJ,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,KAAK;YACpC,eAAe,EAAE,cAAc,CAAC,GAAG;YACnC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,UAAU;YACvB,IAAI;YACJ,OAAO;YACP,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,WAAW;YACzB,kBAAkB,EAAE,iBAAiB;YACrC,gBAAgB,EAAE,cAAc;YAChC,OAAO;SACR,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG;YACZ,KAAK,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,eAAe,aAAa;SACzH,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,WAAW,0CAA0C,CAAC,CAAC;QAC3F,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,KAAK,KAAK;gBACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;gBAC7C,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB;oBAChC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC1B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,YAAY,GAAG,MAAM,UAAU,CAAC,CAAC,GAAG,KAAK,SAAS,SAAS,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,UAAU,GAAG,QAAQ,KAAK,CAAC,CAAC,gBAAgB,GAAG,CACtJ,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CACR,cAAc,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,SAAS,kBAAkB,MAAM,CAAC,OAAO,CAAC,UAAU,yFAAyF,CACnM,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GACb,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,KAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,qBAAqB,SAAS,EAAE,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,KAAK,CAAC,IAAI,CACR,iGAAiG,GAAG,EAAE,CACvG,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CACR,4BAA4B,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,CACtP,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC/B,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"}
1
+ {"version":3,"file":"fetch-frames.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fetch-frames.tool.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ export declare const getFinancialsTool: import("@cyanheads/mcp-ts-core").ToolDef
36
36
  form: z.ZodString;
37
37
  filed: z.ZodString;
38
38
  accession_number: z.ZodString;
39
+ tag: z.ZodString;
39
40
  }, z.core.$strip>>;
40
41
  tags_tried: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
42
  dataset: z.ZodOptional<z.ZodObject<{
@@ -54,6 +55,11 @@ export declare const getFinancialsTool: import("@cyanheads/mcp-ts-core").ToolDef
54
55
  readonly code: JsonRpcErrorCode.ValidationError;
55
56
  readonly when: "The company input resolves to multiple entities and the target is ambiguous";
56
57
  readonly recovery: "Use a ticker symbol or 10-digit CIK from the matches list for an exact match.";
58
+ }, {
59
+ readonly reason: "unknown_concept";
60
+ readonly code: JsonRpcErrorCode.NotFound;
61
+ readonly when: "The concept input is neither a supported friendly name nor shaped like an XBRL tag, so no request is sent";
62
+ readonly recovery: "Use a friendly name from secedgar_search_concepts or a valid raw XBRL tag.";
57
63
  }, {
58
64
  readonly reason: "no_concept_data";
59
65
  readonly code: JsonRpcErrorCode.NotFound;
@@ -1 +1 @@
1
- {"version":3,"file":"get-financials.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-financials.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAmBjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAihB5B,CAAC"}
1
+ {"version":3,"file":"get-financials.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-financials.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAuBjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAklB5B,CAAC"}