@cyanheads/secedgar-mcp-server 0.12.2 → 0.12.4

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 (29) hide show
  1. package/README.md +5 -2
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/mcp-server/resources/definitions/filing-types.resource.d.ts.map +1 -1
  5. package/dist/mcp-server/resources/definitions/filing-types.resource.js +3 -2
  6. package/dist/mcp-server/resources/definitions/filing-types.resource.js.map +1 -1
  7. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts +9 -0
  8. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
  9. package/dist/mcp-server/tools/definitions/company-search.tool.js +145 -21
  10. package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
  11. package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts +5 -0
  12. package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +6 -0
  14. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts +29 -2
  16. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/search-filings.tool.js +377 -39
  18. package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
  19. package/dist/services/canvas-bridge/canvas-bridge.d.ts.map +1 -1
  20. package/dist/services/canvas-bridge/canvas-bridge.js +14 -2
  21. package/dist/services/canvas-bridge/canvas-bridge.js.map +1 -1
  22. package/dist/services/edgar/edgar-api-service.d.ts +63 -1
  23. package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
  24. package/dist/services/edgar/edgar-api-service.js +134 -2
  25. package/dist/services/edgar/edgar-api-service.js.map +1 -1
  26. package/dist/services/edgar/types.d.ts +42 -1
  27. package/dist/services/edgar/types.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/server.json +3 -3
package/README.md CHANGED
@@ -34,7 +34,7 @@ Eight tools for querying SEC EDGAR data, plus three for SQL analytics over the D
34
34
  | Tool | Description |
35
35
  |:---|:---|
36
36
  | `secedgar_company_search` | Find companies and retrieve entity info with optional recent filings |
37
- | `secedgar_search_filings` | Full-text search across all EDGAR filing documents since 1993 |
37
+ | `secedgar_search_filings` | Search EDGAR filings since 1993 — full-text (2001+) plus archive-backed browse for pre-2001 ranges |
38
38
  | `secedgar_get_filing` | Fetch a specific filing's metadata and document content |
39
39
  | `secedgar_get_financials` | Get historical XBRL financial data for a company |
40
40
  | `secedgar_get_insider_transactions` | Form 3/4/5 insider transactions (buys, sells, grants, exercises) parsed from ownership XML |
@@ -54,16 +54,19 @@ Entry point for most EDGAR workflows — resolve tickers, names, or CIKs to enti
54
54
  - Current and former company names both resolve (`Facebook` → Meta Platforms, `Square` → Block)
55
55
  - Near-match suggestions on zero-result name search (e.g. `Microsfot` → `MICROSOFT CORP / MSFT`)
56
56
  - Optionally includes recent filings with form type filtering
57
+ - Date filtering (`filed_after` / `filed_before`) and under-filled form filters page into the older submissions archive, reaching filings that predate the ~1000-entry recent window (e.g. a 2005 10-K); `history_scanned_through` discloses the scan depth, and the full filtered history materializes as a `df_<id>` dataframe when it exceeds the inline `filing_limit`
57
58
  - Returns entity metadata: SIC code, exchanges, fiscal year end, state of incorporation
58
59
 
59
60
  ---
60
61
 
61
62
  ### `secedgar_search_filings`
62
63
 
63
- Full-text search across all EDGAR filing documents since 1993.
64
+ Search EDGAR filings since 1993. Full-text search covers 2001-present (the EFTS index floor); pre-2001 date ranges are served from the archives — pre-2001 full-text matching requires entity scope.
64
65
 
65
66
  - Exact phrases (`"material weakness"`), boolean operators (`revenue OR income`), wildcards (`account*`)
66
67
  - Entity targeting within query string (`cik:320193` or `ticker:AAPL`) — scoped server-side by CIK, so filings made under a former company name (same CIK) are included
68
+ - Browse mode: omit `query` to list filings by form type (`forms=["S-1"]`) and/or entity (`ticker:`/`cik:`), optionally narrowed by date — a bare date range is not a valid search and must be paired with forms or entity targeting
69
+ - Pre-2001 date ranges (back to 1993) route to the archives: an entity-scoped range reads the filer's full submissions history; an unscoped forms/date range browses the quarterly full-index. A range straddling 2001-01-01 is rejected with a split instruction, and pre-2001 full-text (no entity scope) is unsupported. Each row carries a `source` field (`efts` / `submissions` / `full-index`), preserved into the `df_<id>` dataframe
67
70
  - Date range filtering, form type filtering, pagination up to 10,000 results
68
71
  - Returns form distribution for narrowing follow-up searches
69
72
  - When the entity-scoped window exceeds the inline limit, the already-fetched EFTS window is materialized as a `df_<id>` dataframe — query it with `secedgar_dataframe_query`
package/dist/index.js CHANGED
@@ -50,7 +50,7 @@ await createApp({
50
50
  ],
51
51
  resources: [conceptsResource, filingTypesResource],
52
52
  prompts: [companyAnalysisPrompt],
53
- instructions: 'Use the secedgar_* tools to query SEC EDGAR — US public-company filings since 1993 plus historical XBRL financials. Resolve companies with secedgar_company_search (accepts ticker, name, or CIK), fetch document text with secedgar_get_filing by accession number, and run full-text search across all filings with secedgar_search_filings (supports boolean operators and inline ticker:AAPL / cik:320193 targeting). For financials, secedgar_get_financials and secedgar_fetch_frames accept friendly names like "revenue" or "eps_diluted" (discover them with secedgar_search_concepts) or raw XBRL tags. Data-returning tools also materialize their full upstream response as a df_<id> handle for downstream SQL via secedgar_dataframe_query — list dataframes with secedgar_dataframe_describe.',
53
+ instructions: 'Use the secedgar_* tools to query SEC EDGAR — US public-company filings since 1993 plus historical XBRL financials. Resolve companies with secedgar_company_search (accepts ticker, name, or CIK), fetch document text with secedgar_get_filing by accession number, and search filings with secedgar_search_filings (full-text covers 2001-present; pre-2001 date ranges browse the archives by form and entity/date, so pre-2001 full-text matching requires ticker:/cik: entity scope; supports boolean operators and inline ticker:AAPL / cik:320193 targeting). For financials, secedgar_get_financials and secedgar_fetch_frames accept friendly names like "revenue" or "eps_diluted" (discover them with secedgar_search_concepts) or raw XBRL tags. Data-returning tools also materialize their full upstream response as a df_<id> handle for downstream SQL via secedgar_dataframe_query — list dataframes with secedgar_dataframe_describe.',
54
54
  async setup(core) {
55
55
  initEdgarApiService();
56
56
  initCanvasBridge(core.canvas);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filing-types.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/filing-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsEH,eAAO,MAAM,mBAAmB;;wDA8B9B,CAAC"}
1
+ {"version":3,"file":"filing-types.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/filing-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsEH,eAAO,MAAM,mBAAmB;;wDAkC9B,CAAC"}
@@ -41,13 +41,13 @@ const FILING_TYPES = [
41
41
  use_cases: 'Insider trading activity, management confidence signals',
42
42
  },
43
43
  {
44
- form: 'SC 13D',
44
+ form: 'SCHEDULE 13D',
45
45
  cadence: 'Threshold',
46
46
  description: 'Beneficial ownership report for 5%+ activist investors.',
47
47
  use_cases: 'Activist investor tracking, ownership changes',
48
48
  },
49
49
  {
50
- form: 'SC 13G',
50
+ form: 'SCHEDULE 13G',
51
51
  cadence: 'Threshold',
52
52
  description: 'Beneficial ownership report for 5%+ passive investors.',
53
53
  use_cases: 'Passive institutional ownership tracking',
@@ -77,6 +77,7 @@ export const filingTypesResource = resource('secedgar://filing-types', {
77
77
  for (const ft of FILING_TYPES) {
78
78
  lines.push(`| **${ft.form}** | ${ft.cadence} | ${ft.description} | ${ft.use_cases} |`);
79
79
  }
80
+ lines.push('', '> **Beneficial-ownership form names (December 2024 transition):** 5%+ ownership filings now use the structured form names `SCHEDULE 13D` / `SCHEDULE 13G` (with a `primary_doc.xml`). The legacy `SC 13D` / `SC 13G` names stopped appearing on new filings, so filter EFTS (`secedgar_search_filings` forms) on the current names to reach recent filings.');
80
81
  return lines.join('\n');
81
82
  },
82
83
  list: async () => ({
@@ -1 +1 @@
1
- {"version":3,"file":"filing-types.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/filing-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,QAAQ;QACjB,WAAW,EACT,mFAAmF;QACrF,SAAS,EAAE,yDAAyD;KACrE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,qEAAqE;QAClF,SAAS,EAAE,oDAAoD;KAChE;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,uFAAuF;QACzF,SAAS,EAAE,wDAAwD;KACpE;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,wFAAwF;QAC1F,SAAS,EAAE,sDAAsD;KAClE;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,yDAAyD;QACtE,SAAS,EAAE,sDAAsD;KAClE;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,qEAAqE;QAClF,SAAS,EAAE,yDAAyD;KACrE;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,yDAAyD;QACtE,SAAS,EAAE,+CAA+C;KAC3D;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,0CAA0C;KACtD;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,2EAA2E;QACxF,SAAS,EAAE,qCAAqC;KACjD;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,4DAA4D;QACzE,SAAS,EAAE,gCAAgC;KAC5C;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,yBAAyB,EAAE;IACrE,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,iNAAiN;IACnN,QAAQ,EAAE,eAAe;IAEzB,OAAO,CAAC,OAAO,EAAE,IAAI;QACnB,MAAM,KAAK,GAAa,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CACR,uHAAuH,EACvH,EAAE,CACH,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC3D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,WAAW,MAAM,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,yBAAyB;gBAC9B,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,yDAAyD;gBACtE,QAAQ,EAAE,eAAe;aAC1B;SACF;KACF,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"filing-types.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/filing-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,QAAQ;QACjB,WAAW,EACT,mFAAmF;QACrF,SAAS,EAAE,yDAAyD;KACrE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,qEAAqE;QAClF,SAAS,EAAE,oDAAoD;KAChE;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,uFAAuF;QACzF,SAAS,EAAE,wDAAwD;KACpE;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,wFAAwF;QAC1F,SAAS,EAAE,sDAAsD;KAClE;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,yDAAyD;QACtE,SAAS,EAAE,sDAAsD;KAClE;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,qEAAqE;QAClF,SAAS,EAAE,yDAAyD;KACrE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,yDAAyD;QACtE,SAAS,EAAE,+CAA+C;KAC3D;IACD;QACE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,0CAA0C;KACtD;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,2EAA2E;QACxF,SAAS,EAAE,qCAAqC;KACjD;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,4DAA4D;QACzE,SAAS,EAAE,gCAAgC;KAC5C;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,yBAAyB,EAAE;IACrE,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,iNAAiN;IACnN,QAAQ,EAAE,eAAe;IAEzB,OAAO,CAAC,OAAO,EAAE,IAAI;QACnB,MAAM,KAAK,GAAa,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CACR,uHAAuH,EACvH,EAAE,CACH,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC3D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,WAAW,MAAM,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC;QACzF,CAAC;QACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,6VAA6V,CAC9V,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,yBAAyB;gBAC9B,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,yDAAyD;gBACtE,QAAQ,EAAE,eAAe;aAC1B;SACF;KACF,CAAC;CACH,CAAC,CAAC"}
@@ -10,6 +10,8 @@ export declare const companySearchTool: import("@cyanheads/mcp-ts-core").ToolDef
10
10
  include_filings: z.ZodDefault<z.ZodBoolean>;
11
11
  form_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
12
  filing_limit: z.ZodDefault<z.ZodNumber>;
13
+ filed_after: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
14
+ filed_before: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
13
15
  }, z.core.$strip>, z.ZodObject<{
14
16
  cik: z.ZodString;
15
17
  name: z.ZodString;
@@ -30,6 +32,13 @@ export declare const companySearchTool: import("@cyanheads/mcp-ts-core").ToolDef
30
32
  description: z.ZodOptional<z.ZodString>;
31
33
  }, z.core.$strip>>>;
32
34
  total_filings: z.ZodOptional<z.ZodNumber>;
35
+ history_scanned_through: z.ZodOptional<z.ZodString>;
36
+ dataset: z.ZodOptional<z.ZodObject<{
37
+ name: z.ZodString;
38
+ row_count: z.ZodNumber;
39
+ expires_at: z.ZodString;
40
+ truncated: z.ZodBoolean;
41
+ }, z.core.$strip>>;
33
42
  }, z.core.$strip>, readonly [{
34
43
  readonly reason: "no_match";
35
44
  readonly code: JsonRpcErrorCode.NotFound;
@@ -1 +1 @@
1
- {"version":3,"file":"company-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/company-search.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAoB3E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6Q5B,CAAC"}
1
+ {"version":3,"file":"company-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/company-search.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAkD3E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4Y5B,CAAC"}
@@ -5,7 +5,15 @@
5
5
  */
6
6
  import { tool, z } from '@cyanheads/mcp-ts-core';
7
7
  import { JsonRpcErrorCode, McpError } from '@cyanheads/mcp-ts-core/errors';
8
- import { getEdgarApiService, suggestCompanies } from '../../../services/edgar/edgar-api-service.js';
8
+ import { getCanvasBridge, toDatasetField } from '../../../services/canvas-bridge/canvas-bridge.js';
9
+ import { getEdgarApiService, selectArchivePages, suggestCompanies, } from '../../../services/edgar/edgar-api-service.js';
10
+ /**
11
+ * Cap on submissions archive pages fetched in one call — bounds latency and the
12
+ * rate-limited request budget for prolific multi-decade filers. Hitting the cap
13
+ * sets the dataframe's `truncated` flag (#78). Most filers have 0–3 archive pages,
14
+ * so the cap rarely binds.
15
+ */
16
+ const ARCHIVE_PAGE_SCAN_CAP = 10;
9
17
  /** Format SEC's MMDD fiscal year end string as MM-DD (e.g., "0926" → "09-26"). */
10
18
  function formatFiscalYearEnd(raw) {
11
19
  if (/^\d{4}$/.test(raw)) {
@@ -13,6 +21,21 @@ function formatFiscalYearEnd(raw) {
13
21
  }
14
22
  return raw;
15
23
  }
24
+ /** Zip a submissions parallel-array block (recent window or archive page) into filing rows. */
25
+ function zipFilings(block) {
26
+ const rows = [];
27
+ for (let i = 0; i < block.accessionNumber.length; i++) {
28
+ rows.push({
29
+ accession_number: block.accessionNumber[i] ?? '',
30
+ form: block.form[i] ?? '',
31
+ filing_date: block.filingDate[i] ?? '',
32
+ report_date: block.reportDate[i] || undefined,
33
+ primary_document: block.primaryDocument[i] ?? '',
34
+ description: block.primaryDocDescription[i] || undefined,
35
+ });
36
+ }
37
+ return rows;
38
+ }
16
39
  export const companySearchTool = tool('secedgar_company_search', {
17
40
  description: 'Find companies and retrieve entity info with optional recent filings. Entry point for most EDGAR workflows — resolves tickers, names, or CIKs to entity details, with accession numbers in the result feeding secedgar_get_filing for document content.',
18
41
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
@@ -59,7 +82,27 @@ export const companySearchTool = tool('secedgar_company_search', {
59
82
  .min(1)
60
83
  .max(50)
61
84
  .default(10)
62
- .describe('Maximum number of filings to return.'),
85
+ .describe('Maximum number of filings to return in the inline list.'),
86
+ filed_after: z
87
+ .union([
88
+ z.literal(''),
89
+ z
90
+ .string()
91
+ .regex(/^\d{4}-\d{2}-\d{2}$/, 'Expected YYYY-MM-DD')
92
+ .describe('YYYY-MM-DD'),
93
+ ])
94
+ .optional()
95
+ .describe("Only include filings filed on or after this date (YYYY-MM-DD). A date filter routes the scan into the older submissions archive pages, so it reaches filings that predate the ~1000-filing recent window (e.g. a company's 2005 10-K)."),
96
+ filed_before: z
97
+ .union([
98
+ z.literal(''),
99
+ z
100
+ .string()
101
+ .regex(/^\d{4}-\d{2}-\d{2}$/, 'Expected YYYY-MM-DD')
102
+ .describe('YYYY-MM-DD'),
103
+ ])
104
+ .optional()
105
+ .describe('Only include filings filed on or before this date (YYYY-MM-DD). Use alone or with filed_after; together they bound the archive-page scan.'),
63
106
  }),
64
107
  output: z.object({
65
108
  cik: z.string().describe('Central Index Key, zero-padded to 10 digits.'),
@@ -108,7 +151,24 @@ export const companySearchTool = tool('secedgar_company_search', {
108
151
  total_filings: z
109
152
  .number()
110
153
  .optional()
111
- .describe('Total filings matching the filter (may exceed filing_limit).'),
154
+ .describe('Total filings matching the filter across everything scanned (recent window + any archive pages), which may exceed filing_limit and the inline list.'),
155
+ history_scanned_through: z
156
+ .string()
157
+ .optional()
158
+ .describe('Oldest filing date reached by the scan (YYYY-MM-DD). Filings older than this were not examined: the recent window caps at ~1000 filings, and older filings live in archive pages fetched only when a date filter or an under-filled form filter requires them. Absent when no filings were scanned.'),
159
+ dataset: z
160
+ .object({
161
+ name: z
162
+ .string()
163
+ .describe('Dataframe handle (df_XXXXX_XXXXX) — pass to secedgar_dataframe_query.'),
164
+ row_count: z.number().describe('Rows materialized in the dataframe.'),
165
+ expires_at: z.string().describe('ISO 8601 expiry timestamp.'),
166
+ truncated: z
167
+ .boolean()
168
+ .describe('True when the archive scan hit its page cap before exhausting the manifest — older matching filings exist beyond the dataframe.'),
169
+ })
170
+ .optional()
171
+ .describe('Canvas dataframe holding the full filtered filing history (recent + archive pages), registered only when the scan reached beyond the recent window and the history exceeds filing_limit. Query the complete history — filings by form by year — with secedgar_dataframe_query; the inline `filings` list stays capped at filing_limit.'),
112
172
  }),
113
173
  async handler(input, ctx) {
114
174
  const api = getEdgarApiService();
@@ -171,26 +231,79 @@ export const companySearchTool = tool('secedgar_company_search', {
171
231
  });
172
232
  let filings;
173
233
  let totalFilings;
234
+ let historyScannedThrough;
235
+ let dataset;
174
236
  if (input.include_filings) {
175
- const recent = submissions.filings.recent;
176
- const count = recent.accessionNumber.length;
177
- // Zip parallel arrays into objects
178
- const all = [];
179
- for (let i = 0; i < count; i++) {
180
- all.push({
181
- accession_number: recent.accessionNumber[i] ?? '',
182
- form: recent.form[i] ?? '',
183
- filing_date: recent.filingDate[i] ?? '',
184
- report_date: recent.reportDate[i] || undefined,
185
- primary_document: recent.primaryDocument[i] ?? '',
186
- description: recent.primaryDocDescription[i] || undefined,
237
+ const filedAfter = input.filed_after || undefined;
238
+ const filedBefore = input.filed_before || undefined;
239
+ const hasDateFilter = Boolean(filedAfter || filedBefore);
240
+ const formTypes = input.form_types?.length ? input.form_types : undefined;
241
+ const matches = (f) => (!formTypes || formTypes.some((ft) => f.form.toUpperCase() === ft.toUpperCase())) &&
242
+ (!filedAfter || f.filing_date >= filedAfter) &&
243
+ (!filedBefore || f.filing_date <= filedBefore);
244
+ const recentRows = zipFilings(submissions.filings.recent);
245
+ const recentMatched = recentRows.filter(matches);
246
+ // Oldest date scanned so far — the recent window's tail (newest-first, so last).
247
+ historyScannedThrough = recentRows.at(-1)?.filing_date;
248
+ // Walk the older archive pages when the caller targets a date range (which may
249
+ // predate the recent window) or when a form filter under-fills that window (#78).
250
+ const files = submissions.filings.files;
251
+ const underFill = Boolean(formTypes) && recentMatched.length < input.filing_limit;
252
+ const bridge = getCanvasBridge();
253
+ const archiveMatched = [];
254
+ let scannedBeyondRecent = false;
255
+ let archiveTruncated = false;
256
+ if (files.length > 0 && (hasDateFilter || underFill)) {
257
+ const pages = selectArchivePages(files, filedAfter, filedBefore);
258
+ const pageLimit = Math.min(pages.length, ARCHIVE_PAGE_SCAN_CAP);
259
+ archiveTruncated = pages.length > pageLimit;
260
+ for (let i = 0; i < pageLimit; i++) {
261
+ const page = pages[i];
262
+ if (!page)
263
+ break;
264
+ const block = await api.fetchArchivePage(page.name);
265
+ scannedBeyondRecent = true;
266
+ historyScannedThrough = page.filingFrom;
267
+ archiveMatched.push(...zipFilings(block).filter(matches));
268
+ // Under-fill fallback with no canvas: stop once the inline limit is filled —
269
+ // there is no dataframe to complete, so deeper pages aren't worth fetching.
270
+ // (With a canvas, the loop scans on to register the full filtered history.)
271
+ if (!hasDateFilter &&
272
+ !bridge &&
273
+ recentMatched.length + archiveMatched.length >= input.filing_limit) {
274
+ break;
275
+ }
276
+ }
277
+ }
278
+ const fullMatched = [...recentMatched, ...archiveMatched].sort((a, b) => b.filing_date.localeCompare(a.filing_date));
279
+ totalFilings = fullMatched.length;
280
+ filings = fullMatched.slice(0, input.filing_limit);
281
+ // Register the full filtered history to the canvas when the scan reached beyond
282
+ // the recent window and there is more than fits inline — a multi-decade history is
283
+ // SQL shape (filings by form by year). Mirror the ownership tools' preview +
284
+ // full-set pattern; the inline `filings` list stays capped at filing_limit.
285
+ if (bridge && scannedBeyondRecent && fullMatched.length > input.filing_limit) {
286
+ const registered = await bridge.registerDataframe(ctx, {
287
+ rows: fullMatched.map((f) => ({
288
+ accession_number: f.accession_number,
289
+ form: f.form,
290
+ filing_date: f.filing_date,
291
+ report_date: f.report_date ?? null,
292
+ primary_document: f.primary_document,
293
+ description: f.description ?? null,
294
+ })),
295
+ sourceTool: 'secedgar_company_search',
296
+ queryParams: {
297
+ cik: match.cik,
298
+ form_types: input.form_types,
299
+ filed_after: filedAfter,
300
+ filed_before: filedBefore,
301
+ },
302
+ truncated: archiveTruncated,
187
303
  });
304
+ if (registered)
305
+ dataset = { ...toDatasetField(registered), truncated: archiveTruncated };
188
306
  }
189
- const filtered = input.form_types
190
- ? all.filter((f) => input.form_types?.some((ft) => f.form.toUpperCase() === ft.toUpperCase()))
191
- : all;
192
- totalFilings = filtered.length;
193
- filings = filtered.slice(0, input.filing_limit);
194
307
  }
195
308
  if (input.include_filings && input.form_types?.length && totalFilings === 0) {
196
309
  ctx.enrich.notice(`No filings matched form types [${input.form_types.join(', ')}] for this entity. Try different form types or remove the filter.`);
@@ -210,6 +323,8 @@ export const companySearchTool = tool('secedgar_company_search', {
210
323
  class_id: match.classId,
211
324
  filings,
212
325
  total_filings: totalFilings,
326
+ history_scanned_through: historyScannedThrough,
327
+ dataset,
213
328
  };
214
329
  },
215
330
  format: (result) => {
@@ -226,13 +341,22 @@ export const companySearchTool = tool('secedgar_company_search', {
226
341
  lines.push(`Series ID: ${result.series_id}${result.class_id ? ` | Class ID: ${result.class_id}` : ''}`);
227
342
  }
228
343
  if (result.filings?.length) {
229
- lines.push(`\nRecent filings (${result.filings.length} of ${result.total_filings}):`);
344
+ lines.push(`\nFilings (${result.filings.length} of ${result.total_filings}):`);
230
345
  for (const f of result.filings) {
231
346
  const reportDate = f.report_date ? ` (period: ${f.report_date})` : '';
232
347
  const desc = f.description ? ` — ${f.description}` : '';
233
348
  lines.push(`- ${f.form} ${f.filing_date}${reportDate}${desc} — ${f.primary_document} [${f.accession_number}]`);
234
349
  }
235
350
  }
351
+ if (result.history_scanned_through) {
352
+ lines.push(`\nHistory scanned through: ${result.history_scanned_through} (older filings not examined).`);
353
+ }
354
+ if (result.dataset) {
355
+ const truncatedNote = result.dataset.truncated
356
+ ? ' (truncated — older filings exist beyond the scanned pages)'
357
+ : '';
358
+ lines.push(`Dataset: ${result.dataset.name} (${result.dataset.row_count} rows, expires ${result.dataset.expires_at})${truncatedNote} — full filtered history, query with secedgar_dataframe_query.`);
359
+ }
236
360
  return [{ type: 'text', text: lines.join('\n') }];
237
361
  },
238
362
  });
@@ -1 +1 @@
1
- {"version":3,"file":"company-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/company-search.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/company-search.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAY/C;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,kFAAkF;AAClF,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+FAA+F;AAC/F,SAAS,UAAU,CAAC,KAAoB;IACtC,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC;YACR,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE;YAChD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;YACzB,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE;YACtC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS;YAC7C,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE;YAChD,WAAW,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,SAAS;SACzD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,EAAE;IAC/D,WAAW,EACT,yPAAyP;IAC3P,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAE9E,iFAAiF;IACjF,gFAAgF;IAChF,qDAAqD;IACrD,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,kFAAkF,CAAC;KAChG;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EACN,sIAAsI;SACzI;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,kDAAkD;YACxD,QAAQ,EAAE,wEAAwE;SACnF;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;aAC/B,QAAQ,CACP,+NAA+N,CAChO;QACH,eAAe,EAAE,CAAC;aACf,OAAO,EAAE;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CACP,oFAAoF,CACrF;QACH,UAAU,EAAE,CAAC;aACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,8GAA8G,CAC/G;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,yDAAyD,CAAC;QACtE,WAAW,EAAE,CAAC;aACX,KAAK,CAAC;YACL,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;iBACE,MAAM,EAAE;iBACR,KAAK,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;iBACnD,QAAQ,CAAC,YAAY,CAAC;SAC1B,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,wOAAwO,CACzO;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC;YACL,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;iBACE,MAAM,EAAE;iBACR,KAAK,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;iBACnD,QAAQ,CAAC,YAAY,CAAC;SAC1B,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,2IAA2I,CAC5I;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACxE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACxD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACnE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAClE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC9C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACvE,sBAAsB,EAAE,CAAC;aACtB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mIAAmI,CACpI;QACH,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yIAAyI,CAC1I;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,iHAAiH,CAClH;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gHAAgH,CACjH;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CACP,iGAAiG,CAClG;YACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAC/E,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qHAAqH,CACtH;YACH,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACnE,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,kEAAkE,CAAC;SAChF,CAAC;aACD,QAAQ,CAAC,gEAAgE,CAAC,CAC9E;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,sDAAsD,CAAC;QACnE,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,qJAAqJ,CACtJ;QACH,uBAAuB,EAAE,CAAC;aACvB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,qSAAqS,CACtS;QACH,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,uEAAuE,CAAC;YACpF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC7D,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,CACP,iIAAiI,CAClI;SACJ,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,wUAAwU,CACzU;KACJ,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,4DAA4D;gBAC5D,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,cAAc,GAClB,WAAW,CAAC,MAAM,GAAG,CAAC;oBACpB,CAAC,CAAC,kBAAkB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBACjH,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,KAAK,CAAC,KAAK,KAAK,cAAc,EAAE,EAAE;oBACpF,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC;oBAC9B,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnD,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,QAAQ;qBACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC;qBAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,yBAAyB,KAAK,CAAC,KAAK,MAAM,OAAO,GAAG,EAAE;oBACvF,GAAG,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;oBACtC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC/E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,KAAK,CAAC,KAAK,IAAI,EAAE;gBACnE,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,mFAAmF;QACnF,mFAAmF;QACnF,8EAA8E;QAC9E,wCAAwC;QACxC,MAAM,iBAAiB,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACvD,IAAI,WAA2D,CAAC;QAChE,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,iBAAiB,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC3F,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE;oBAClD,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,KAAK,CAAC,KAAK,IAAI,EAAE;oBACnE,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC;iBAC/B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB,CAAC,CAAC;QAEH,IAAI,OAAkC,CAAC;QACvC,IAAI,YAAgC,CAAC;QACrC,IAAI,qBAAyC,CAAC;QAC9C,IAAI,OAES,CAAC;QAEd,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC;YAClD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;YACpD,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1E,MAAM,OAAO,GAAG,CAAC,CAAc,EAAE,EAAE,CACjC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjF,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC;gBAC5C,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC;YAEjD,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjD,iFAAiF;YACjF,qBAAqB,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC;YAEvD,+EAA+E;YAC/E,kFAAkF;YAClF,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;YACxC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;YAClF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;YAEjC,MAAM,cAAc,GAAkB,EAAE,CAAC;YACzC,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAE7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;gBAChE,gBAAgB,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;gBAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,IAAI;wBAAE,MAAM;oBACjB,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpD,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC;oBACxC,cAAc,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAE1D,6EAA6E;oBAC7E,4EAA4E;oBAC5E,4EAA4E;oBAC5E,IACE,CAAC,aAAa;wBACd,CAAC,MAAM;wBACP,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,KAAK,CAAC,YAAY,EAClE,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAC3C,CAAC;YAEF,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;YAClC,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAEnD,gFAAgF;YAChF,mFAAmF;YACnF,6EAA6E;YAC7E,4EAA4E;YAC5E,IAAI,MAAM,IAAI,mBAAmB,IAAI,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC7E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;oBACrD,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC5B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;wBACpC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;wBAClC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;wBACpC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;qBACnC,CAAC,CAAC;oBACH,UAAU,EAAE,yBAAyB;oBACrC,WAAW,EAAE;wBACX,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,WAAW,EAAE,UAAU;wBACvB,YAAY,EAAE,WAAW;qBAC1B;oBACD,SAAS,EAAE,gBAAgB;iBAC5B,CAAC,CAAC;gBACH,IAAI,UAAU;oBAAE,OAAO,GAAG,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;YAC3F,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,kCAAkC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,mEAAmE,CACjI,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;YACvE,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,eAAe,EAAE,WAAW,CAAC,cAAc;YAC3C,sBAAsB,EAAE,WAAW,CAAC,oBAAoB,IAAI,SAAS;YACrE,eAAe,EAAE,WAAW,CAAC,aAAa;gBACxC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC;gBAChD,CAAC,CAAC,SAAS;YACb,SAAS,EAAE,KAAK,CAAC,QAAQ;YACzB,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,OAAO;YACP,aAAa,EAAE,YAAY;YAC3B,uBAAuB,EAAE,qBAAqB;YAC9C,OAAO;SACR,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;QACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,GAAG,WAAW,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,eAAe,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CACR,cAAc,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5F,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;YAC/E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,GAAG,UAAU,GAAG,IAAI,MAAM,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,gBAAgB,GAAG,CACnG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CACR,8BAA8B,MAAM,CAAC,uBAAuB,gCAAgC,CAC7F,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS;gBAC5C,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,CAAC,IAAI,CACR,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,SAAS,kBAAkB,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,aAAa,gEAAgE,CACzL,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
@@ -44,6 +44,11 @@ export declare const dataframeQueryTool: import("@cyanheads/mcp-ts-core").ToolDe
44
44
  readonly code: JsonRpcErrorCode.ValidationError;
45
45
  readonly when: "The register_as target name already exists on the canvas";
46
46
  readonly recovery: "Drop the existing dataframe with secedgar_dataframe_drop (when enabled), choose a different df_XXXXX_XXXXX name, or omit register_as.";
47
+ }, {
48
+ readonly reason: "non_select_statement";
49
+ readonly code: JsonRpcErrorCode.ValidationError;
50
+ readonly when: "The SQL is a non-SELECT statement (DROP, INSERT, UPDATE, DDL, etc.) — only read-only SELECTs run against dataframes";
51
+ readonly recovery: "Query only SELECT statements against df_<id> tables. Use secedgar_dataframe_describe to inspect available dataframes.";
47
52
  }], {
48
53
  readonly notice: z.ZodOptional<z.ZodString>;
49
54
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"dataframe-query.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-query.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoL7B,CAAC"}
1
+ {"version":3,"file":"dataframe-query.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-query.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2L7B,CAAC"}
@@ -51,6 +51,12 @@ export const dataframeQueryTool = tool('secedgar_dataframe_query', {
51
51
  when: 'The register_as target name already exists on the canvas',
52
52
  recovery: 'Drop the existing dataframe with secedgar_dataframe_drop (when enabled), choose a different df_XXXXX_XXXXX name, or omit register_as.',
53
53
  },
54
+ {
55
+ reason: 'non_select_statement',
56
+ code: JsonRpcErrorCode.ValidationError,
57
+ when: 'The SQL is a non-SELECT statement (DROP, INSERT, UPDATE, DDL, etc.) — only read-only SELECTs run against dataframes',
58
+ recovery: 'Query only SELECT statements against df_<id> tables. Use secedgar_dataframe_describe to inspect available dataframes.',
59
+ },
54
60
  ],
55
61
  input: z.object({
56
62
  sql: z
@@ -1 +1 @@
1
- {"version":3,"file":"dataframe-query.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-query.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataframe-query.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-query.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,EAAE;IACjE,WAAW,EACT,gdAAgd;IACld,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAE/E,mFAAmF;IACnF,+DAA+D;IAC/D,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wEAAwE,CAAC;KACtF;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,8DAA8D;YACpE,QAAQ,EAAE,iFAAiF;SAC5F;QACD;YACE,MAAM,EAAE,uBAAuB;YAC/B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,mHAAmH;YACzH,QAAQ,EACN,0FAA0F;SAC7F;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,6EAA6E;YACnF,QAAQ,EACN,yFAAyF;SAC5F;QACD;YACE,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,8FAA8F;YACpG,QAAQ,EACN,2FAA2F;SAC9F;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,0DAA0D;YAChE,QAAQ,EACN,uIAAuI;SAC1I;QACD;YACE,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,qHAAqH;YAC3H,QAAQ,EACN,uHAAuH;SAC1H;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,ibAAib,CAClb;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,KAAK,CACJ,8BAA8B,EAC9B,0GAA0G,CAC3G;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,8QAA8Q,CAC/Q;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,KAAK,CAAC;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,8JAA8J,CAC/J;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,KAAK,CAAC;aACV,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CACP,oLAAoL,CACrL;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC1E,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,CAAC,uEAAuE,CAAC;QACpF,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACxC,QAAQ,CAAC,wDAAwD,CAAC;QACrE,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6EAA6E,CAAC;QAC1F,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gFAAgF,CAAC;KAC9F,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,8CAA8C,EAAE;gBACnF,GAAG,GAAG,CAAC,WAAW,CAAC,oBAAoB,CAAC;aACzC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;YAC1D,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;YACzE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,QAAQ,EAAE,KAAK,CAAC,SAAS;YACzB,UAAU,EAAE,0BAA0B;YACtC,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;SAChC,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC5B,YAAY,EAAE,IAAI,EAAE,SAAS;SAC9B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,kHAAkH,CACnH,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAChD,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,WAAW,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,MAAM,CAAC,QAAQ,6FAA6F,CACjJ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,aAAa,EAAE,IAAI,EAAE,SAAS;YAC9B,UAAU,EAAE,IAAI,EAAE,SAAS;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CACR,iBAAiB,MAAM,CAAC,aAAa,aAAa,MAAM,CAAC,UAAU,IAAI,SAAS,IAAI,CACrF,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GACd,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;YACnC,CAAC,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,MAAM,CAAC,SAAS,GAAG;YAC3D,CAAC,CAAC,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,UAAU,UAAU,IAAI,CAAC,CAAC;QAE1D,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACnD,MAAM,GAAG,GAAG,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;oBAAE,OAAO,EAAE,CAAC;gBAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC1D,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC1E,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
@@ -1,11 +1,13 @@
1
1
  /**
2
- * @fileoverview Full-text search across all EDGAR filing documents since 1993.
2
+ * @fileoverview Search EDGAR filings since 1993 — EFTS full-text for 2001-present,
3
+ * archive-backed browse (submissions history + quarterly full-index) for pre-2001
4
+ * date ranges.
3
5
  * @module mcp-server/tools/definitions/search-filings
4
6
  */
5
7
  import { z } from '@cyanheads/mcp-ts-core';
6
8
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
9
  export declare const searchFilingsTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
8
- query: z.ZodString;
10
+ query: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
9
11
  forms: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
12
  start_date: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
11
13
  end_date: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
@@ -30,6 +32,11 @@ export declare const searchFilingsTool: import("@cyanheads/mcp-ts-core").ToolDef
30
32
  file_description: z.ZodOptional<z.ZodString>;
31
33
  sic: z.ZodOptional<z.ZodString>;
32
34
  location: z.ZodOptional<z.ZodString>;
35
+ source: z.ZodOptional<z.ZodEnum<{
36
+ efts: "efts";
37
+ submissions: "submissions";
38
+ "full-index": "full-index";
39
+ }>>;
33
40
  }, z.core.$strip>>;
34
41
  form_distribution: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
35
42
  dataset: z.ZodOptional<z.ZodObject<{
@@ -53,6 +60,26 @@ export declare const searchFilingsTool: import("@cyanheads/mcp-ts-core").ToolDef
53
60
  readonly code: JsonRpcErrorCode.ValidationError;
54
61
  readonly when: "A cik: targeting token in the query is not a 1-10 digit number";
55
62
  readonly recovery: "Pass a numeric CIK such as cik:320193 — find it with secedgar_company_search if unknown.";
63
+ }, {
64
+ readonly reason: "missing_criteria";
65
+ readonly code: JsonRpcErrorCode.ValidationError;
66
+ readonly when: "Neither a full-text query nor a forms filter was provided (a date range cannot stand alone)";
67
+ readonly recovery: "Provide search terms, or browse by form type (forms: [\"S-1\"]) or entity (ticker:AAPL / cik:320193 in the query) — optionally narrowed by date.";
68
+ }, {
69
+ readonly reason: "straddling_date_range";
70
+ readonly code: JsonRpcErrorCode.ValidationError;
71
+ readonly when: "The date range crosses 2001-01-01, spanning both the EFTS full-text era and the pre-2001 archives";
72
+ readonly recovery: "Split at 2001-01-01: run one search for the ≥2001 side and another for the <2001 side, then combine the results.";
73
+ }, {
74
+ readonly reason: "pre2001_full_text_unscoped";
75
+ readonly code: JsonRpcErrorCode.ValidationError;
76
+ readonly when: "A pre-2001 date range carries free-text terms with no entity scope — no pre-2001 full-text index exists";
77
+ readonly recovery: "Add ticker: or cik: entity scope to the query, or drop the text terms to browse pre-2001 filings by form and date.";
78
+ }, {
79
+ readonly reason: "pre2001_full_text_scoped";
80
+ readonly code: JsonRpcErrorCode.ValidationError;
81
+ readonly when: "A pre-2001 date range carries free-text terms alongside entity scope — local document matching is not yet supported";
82
+ readonly recovery: "Drop the text terms to browse this entity's pre-2001 filings by form and date.";
56
83
  }], {
57
84
  readonly effectiveQuery: z.ZodString;
58
85
  readonly notice: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"search-filings.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-filings.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAmB,MAAM,+BAA+B,CAAC;AAkGlF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwX5B,CAAC"}
1
+ {"version":3,"file":"search-filings.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-filings.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAmB,MAAM,+BAA+B,CAAC;AAoblF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwf5B,CAAC"}