@cyanheads/openfec-mcp-server 0.4.6 → 0.4.8

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 (48) hide show
  1. package/CLAUDE.md +11 -4
  2. package/README.md +1 -1
  3. package/changelog/0.4.x/0.4.7.md +26 -0
  4. package/changelog/0.4.x/0.4.8.md +15 -0
  5. package/changelog/template.md +35 -1
  6. package/dist/index.js +4 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/mcp-server/tools/definitions/index.d.ts +36 -10
  9. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/lookup-calendar.tool.d.ts +4 -1
  11. package/dist/mcp-server/tools/definitions/lookup-calendar.tool.d.ts.map +1 -1
  12. package/dist/mcp-server/tools/definitions/lookup-calendar.tool.js +19 -0
  13. package/dist/mcp-server/tools/definitions/lookup-calendar.tool.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/lookup-elections.tool.d.ts +5 -2
  15. package/dist/mcp-server/tools/definitions/lookup-elections.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/lookup-elections.tool.js +16 -0
  17. package/dist/mcp-server/tools/definitions/lookup-elections.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/search-candidates.tool.d.ts +4 -1
  19. package/dist/mcp-server/tools/definitions/search-candidates.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/search-candidates.tool.js +11 -0
  21. package/dist/mcp-server/tools/definitions/search-candidates.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/search-committees.tool.d.ts +4 -1
  23. package/dist/mcp-server/tools/definitions/search-committees.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/search-committees.tool.js +11 -0
  25. package/dist/mcp-server/tools/definitions/search-committees.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/search-contributions.tool.d.ts +4 -1
  27. package/dist/mcp-server/tools/definitions/search-contributions.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/search-contributions.tool.js +15 -0
  29. package/dist/mcp-server/tools/definitions/search-contributions.tool.js.map +1 -1
  30. package/dist/mcp-server/tools/definitions/search-disbursements.tool.d.ts +4 -1
  31. package/dist/mcp-server/tools/definitions/search-disbursements.tool.d.ts.map +1 -1
  32. package/dist/mcp-server/tools/definitions/search-disbursements.tool.js +15 -0
  33. package/dist/mcp-server/tools/definitions/search-disbursements.tool.js.map +1 -1
  34. package/dist/mcp-server/tools/definitions/search-expenditures.tool.d.ts +4 -1
  35. package/dist/mcp-server/tools/definitions/search-expenditures.tool.d.ts.map +1 -1
  36. package/dist/mcp-server/tools/definitions/search-expenditures.tool.js +15 -0
  37. package/dist/mcp-server/tools/definitions/search-expenditures.tool.js.map +1 -1
  38. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts +4 -1
  39. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
  40. package/dist/mcp-server/tools/definitions/search-filings.tool.js +11 -0
  41. package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
  42. package/dist/mcp-server/tools/definitions/search-legal.tool.d.ts +3 -1
  43. package/dist/mcp-server/tools/definitions/search-legal.tool.d.ts.map +1 -1
  44. package/dist/mcp-server/tools/definitions/search-legal.tool.js +9 -0
  45. package/dist/mcp-server/tools/definitions/search-legal.tool.js.map +1 -1
  46. package/manifest.json +14 -4
  47. package/package.json +8 -4
  48. package/server.json +3 -3
package/CLAUDE.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Agent Protocol
2
2
 
3
3
  **Server:** openfec-mcp-server
4
- **Version:** 0.4.6
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.6`
4
+ **Version:** 0.4.8
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.16`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
 
8
8
  > **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
@@ -41,6 +41,7 @@ The OpenFEC OpenAPI spec (Swagger 2.0) is at `docs/openapi-spec.json` — 100 pa
41
41
  - **Use `ctx.state`** for tenant-scoped storage. Never access persistence directly.
42
42
  - **Check `ctx.elicit` / `ctx.sample`** for presence before calling.
43
43
  - **Secrets in env vars only** — never hardcoded.
44
+ - **Close the loop on issues.** When implementing work tracked by a GitHub issue, comment on the issue with what landed and close it. Do both — a comment without a close leaves stale issues open; a close without a comment leaves no record of what shipped. The comment is for future readers — state the concrete changes, not the conversation that produced them.
44
45
 
45
46
  ---
46
47
 
@@ -191,6 +192,8 @@ Handlers throw — the framework catches, classifies, and formats.
191
192
  **Recommended: typed error contract.** Declare `errors: [{ reason, code, when, recovery, retryable? }]` on `tool()` / `resource()`. The handler then receives `ctx.fail(reason, msg?, data?)` keyed against the contract reason union — `ctx.fail('typo')` is a TypeScript error. The framework auto-populates `data.reason`, the linter enforces conformance, and the `recovery` string (≥5 words) is the source of truth for the recovery hint that flows to the wire. Spread `ctx.recoveryFor('reason')` into `data` to opt the contract recovery onto the wire payload.
192
193
 
193
194
  ```ts
195
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
196
+
194
197
  errors: [
195
198
  { reason: 'candidate_not_found', code: JsonRpcErrorCode.NotFound,
196
199
  when: 'Single-candidate lookup returned no record',
@@ -286,11 +289,12 @@ Available skills:
286
289
  | `field-test` | Exercise tools/resources/prompts with real inputs, verify behavior, report issues |
287
290
  | `tool-defs-analysis` | Read-only audit of definition language across the surface (10 categories: voice, leaks, defaults, recovery, structure, …) |
288
291
  | `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
292
+ | `code-simplifier` | Post-session cleanup against `git diff` — modernize syntax, consolidate duplication, align with the codebase |
289
293
  | `devcheck` | Lint, format, typecheck, audit |
290
294
  | `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
295
+ | `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
291
296
  | `release-and-publish` | Post-wrapup ship workflow: verification gate, push commits/tags, publish to npm + MCP Registry + GHCR |
292
297
  | `maintenance` | Investigate changelogs, adopt upstream changes, sync skills and framework scripts |
293
- | `migrate-mcp-ts-template` | Migrate a legacy template fork to use `@cyanheads/mcp-ts-core` as a package dependency |
294
298
  | `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
295
299
  | `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
296
300
  | `api-auth` | Auth modes, scopes, JWT/OAuth |
@@ -317,7 +321,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
317
321
  | `bun run rebuild` | Clean + build |
318
322
  | `bun run clean` | Remove build artifacts |
319
323
  | `bun run devcheck` | Lint + format + typecheck + security |
320
- | `bun run audit:refresh` | Delete `bun.lock`, reinstall, re-audit. Use when `devcheck` flags a transitive advisory — stale lockfile can mask already-patched deps. If advisory survives, it's real. |
324
+ | `bun run audit:refresh` | Delete `bun.lock`, reinstall, re-audit. Use when `devcheck` flags a transitive advisory — Bun's `update` is sticky on transitive resolutions; the advisory may be a stale-lockfile false positive. If it survives the refresh, it's real. |
321
325
  | `bun run tree` | Generate directory structure doc |
322
326
  | `bun run format` | Auto-fix formatting |
323
327
  | `bun run lint:mcp` | Validate MCP tool/resource/prompt definitions |
@@ -382,4 +386,7 @@ import { getOpenFecService } from '@/services/openfec/openfec-service.js';
382
386
  - [ ] Wrapping the OpenFEC API: tests include at least one sparse payload case with omitted upstream fields
383
387
  - [ ] Registered in `createApp()` arrays (directly or via barrel exports)
384
388
  - [ ] Tests use `createMockContext()` from `@cyanheads/mcp-ts-core/testing`
389
+ - [ ] `.codex-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; `interface.displayName` = package name; `interface.shortDescription` from `package.json` description
390
+ - [ ] `.codex-plugin/mcp.json` updated — server name key matches `package.json` name; env vars added for any required API keys
391
+ - [ ] `.claude-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; inline `mcpServers` entry with server name key, env vars for any required API keys
385
392
  - [ ] `bun run devcheck` passes
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![npm](https://img.shields.io/npm/v/@cyanheads/openfec-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/openfec-mcp-server) [![Version](https://img.shields.io/badge/Version-0.4.6-blue.svg?style=flat-square)](./CHANGELOG.md) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/openfec-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-^1.3.0-f9f1e1.svg?style=flat-square)](https://bun.sh/)
10
+ [![npm](https://img.shields.io/npm/v/@cyanheads/openfec-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/openfec-mcp-server) [![Version](https://img.shields.io/badge/Version-0.4.8-blue.svg?style=flat-square)](./CHANGELOG.md) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/openfec-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-^1.3.0-f9f1e1.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -0,0 +1,26 @@
1
+ ---
2
+ summary: "mcp-ts-core ^0.9.6 → ^0.9.13: HTTP 413 body cap, session-init gate, quieter 401/403/400/404 logs, GET /mcp surfaces keywords; manifest metadata; dep refresh"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.4.7 — 2026-05-28
8
+
9
+ ## Added
10
+
11
+ - **`MCP_HTTP_MAX_BODY_BYTES`** — configurable inbound request-body cap (default 1 MiB); oversized HTTP requests rejected with 413 before body parsing. Documented in `.env.example`. Inherited from `@cyanheads/mcp-ts-core` 0.9.13.
12
+ - **`landing.requireAuth: false`** — explicitly opts the public hosted endpoint into serving the full tool/resource/prompt inventory without authentication (new `mcp-ts-core` 0.9.10 default gates inventory behind auth when `MCP_AUTH_MODE` is `jwt`/`oauth`).
13
+ - **`GET /mcp` keywords** — `package.json` keywords (`mcp-server`, `openfec`, `fec`, `campaign-finance`, etc.) now surfaced in the HTTP status response. Inherited from `@cyanheads/mcp-ts-core` 0.9.12.
14
+ - **`manifest.json`** — `repository`, `homepage`, and `license` fields added.
15
+ - **`package.json` keywords** — `bun`, `stdio`, `streamable-http` added.
16
+
17
+ ## Changed
18
+
19
+ - **HTTP session-init gate** — stateful HTTP mode now rejects non-`initialize` requests arriving without `Mcp-Session-Id` with HTTP 400. Inherited from `@cyanheads/mcp-ts-core` 0.9.10.
20
+ - **Expected client error log levels** — 401, 403, 400, and 404 HTTP errors use `logger.warning` instead of the full error pipeline with stack traces, reducing noise in logs. Inherited from `@cyanheads/mcp-ts-core` 0.9.10.
21
+ - **Skills** — bulk refresh from framework 0.9.7–0.9.13: `git-wrapup`, `release-and-publish`, `api-canvas`, `api-config`, `design-mcp-server`, `polish-docs-meta`, `report-issue-framework`; `code-simplifier` and `git-wrapup` added; `migrate-mcp-ts-template` removed.
22
+
23
+ ## Dependencies
24
+
25
+ - `@cyanheads/mcp-ts-core` ^0.9.6 → ^0.9.13
26
+ - `@biomejs/biome` ^2.4.15 → ^2.4.16
@@ -0,0 +1,15 @@
1
+ ---
2
+ summary: "enrichment adoption: search/lookup tools surface true result totals and empty-result guidance via typed enrichment block"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.4.8 — 2026-05-30
8
+
9
+ ## Added
10
+
11
+ - **`enrichment` block on search and lookup tools** — `totalCount` (true result count before pagination) and optional `notice` (empty-result guidance) now surface in the typed `enrichment` block on all 9 tools: `openfec_search_candidates`, `openfec_search_committees`, `openfec_search_contributions`, `openfec_search_disbursements`, `openfec_search_expenditures`, `openfec_search_filings`, `openfec_search_legal`, `openfec_lookup_elections`, and `openfec_lookup_calendar`. Both `structuredContent` JSON and `content[]` markdown carry the enrichment data.
12
+
13
+ ## Dependencies
14
+
15
+ - `@cyanheads/mcp-ts-core` ^0.9.13 → ^0.9.16
@@ -19,6 +19,14 @@ breaking: false
19
19
  # `## Security` section below. Flagged as `Security` in the rollup so
20
20
  # users can triage upgrade urgency at a glance.
21
21
  security: false
22
+
23
+ # Optional free-form notes for maintenance agents processing this release.
24
+ # Not rendered in CHANGELOG — consumed by agents running `maintenance` on
25
+ # downstream servers. Use for adoption instructions that don't fit the
26
+ # human-facing sections: new files to create, fields to populate, one-time
27
+ # migration steps. Omit the field entirely when there's nothing to say.
28
+ # agent-notes: |
29
+ # <instructions for downstream maintenance agents>
22
30
  ---
23
31
 
24
32
  # <version> — YYYY-MM-DD
@@ -35,7 +43,7 @@ security: false
35
43
  name the symbol, state what changed, stop. Use a second sentence only when
36
44
  it carries weight. If a bullet feels long, it is.
37
45
 
38
- Cut: mechanism walkthroughs (those belong in JSDoc, AGENTS.md, or the
46
+ Cut: mechanism walkthroughs (those belong in JSDoc, CLAUDE.md/AGENTS.md, or the
39
47
  relevant skill), ceremonial framings ("This release introduces…",
40
48
  backwards-compat paragraphs), file-by-file test enumerations, internal
41
49
  implementation notes. Prefer code/symbol names over English re-explanations.
@@ -66,6 +74,32 @@ security: false
66
74
  Never speculate on a future number — `#42` for an upcoming PR silently
67
75
  resolves to whatever real item already owns 42, and timeline previews pull
68
76
  in that unrelated item's metadata.
77
+
78
+ TAG ANNOTATIONS — the annotated tag body renders as the GitHub Release body
79
+ via `gh release create --notes-from-tag`. The tag is a derivative of this
80
+ changelog entry — a condensed, scannable version, not a copy. Format:
81
+
82
+ <theme — omit version number, GitHub prepends it>
83
+ ← blank line
84
+ <1-2 sentence context: what this release does>
85
+ ← blank line
86
+ Dependency bumps: ← section header
87
+ ← blank line
88
+ - `@cyanheads/mcp-ts-core` ^0.9.1 → ^0.9.6 ← bullet
89
+ ← blank line
90
+ Changed: ← only sections with entries
91
+ ← blank line
92
+ - `format()` output includes `query` in text mode
93
+ ← blank line
94
+ Added:
95
+ ← blank line
96
+ - `manifest.json` scaffolded for MCPB bundle support
97
+ - Install badges (Claude Desktop, Cursor, VS Code)
98
+ ← blank line
99
+ <N> tests pass; `bun run devcheck` clean. ← footer
100
+
101
+ Never a flat comma-separated string. Always structured markdown with
102
+ sections. The tag must scan well as a rendered GitHub Release page.
69
103
  -->
70
104
 
71
105
  ## Added
package/dist/index.js CHANGED
@@ -14,6 +14,10 @@ await createApp({
14
14
  resources: allResourceDefinitions,
15
15
  prompts: allPromptDefinitions,
16
16
  instructions: 'Use the openfec_* tools for US federal campaign finance data: candidates, committees, contributions (Schedule A), disbursements (Schedule B), independent expenditures (Schedule E), filings, elections, calendar, and legal documents. Candidate IDs use H/S/P prefixes (House/Senate/President); committee IDs use C. Cycles are even-year integers covering the prior 2 years (2024 = Jan 2023 – Dec 2024). Itemized contributions and disbursements scope to committee_id, not candidate_id.',
17
+ landing: {
18
+ // Public hosted catalog — serve full tool/resource/prompt inventory without auth
19
+ requireAuth: false,
20
+ },
17
21
  setup() {
18
22
  initOpenFecService();
19
23
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,MAAM,SAAS,CAAC;IACd,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,sBAAsB;IACjC,OAAO,EAAE,oBAAoB;IAC7B,YAAY,EACV,keAAke;IACpe,KAAK;QACH,kBAAkB,EAAE,CAAC;IACvB,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,MAAM,SAAS,CAAC;IACd,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,sBAAsB;IACjC,OAAO,EAAE,oBAAoB;IAC7B,YAAY,EACV,keAAke;IACpe,OAAO,EAAE;QACP,iFAAiF;QACjF,WAAW,EAAE,KAAK;KACnB;IACD,KAAK;QACH,kBAAkB,EAAE,CAAC;IACvB,CAAC;CACF,CAAC,CAAC"}
@@ -60,10 +60,13 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
60
60
  per_page: import("zod").ZodNumber;
61
61
  }, import("zod/v4/core").$strip>;
62
62
  search_criteria: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
63
- }, import("zod/v4/core").$strip>, undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
63
+ }, import("zod/v4/core").$strip>, undefined, {
64
+ readonly totalCount: import("zod").ZodNumber;
65
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
66
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
64
67
  mode: import("zod").ZodDefault<import("zod").ZodEnum<{
65
- summary: "summary";
66
68
  search: "search";
69
+ summary: "summary";
67
70
  }>>;
68
71
  office: import("zod").ZodEnum<{
69
72
  P: "P";
@@ -104,7 +107,10 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
104
107
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
105
108
  readonly when: "Summary mode invoked with a zip parameter";
106
109
  readonly recovery: "Use mode \"search\" for ZIP-based lookups, or remove zip and use state and district for summary mode.";
107
- }]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
110
+ }], {
111
+ readonly totalCount: import("zod").ZodNumber;
112
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
113
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
108
114
  query: import("zod").ZodOptional<import("zod").ZodString>;
109
115
  candidate_id: import("zod").ZodOptional<import("zod").ZodString>;
110
116
  state: import("zod").ZodOptional<import("zod").ZodString>;
@@ -147,7 +153,10 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
147
153
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
148
154
  readonly when: "Single-candidate lookup by candidate_id returned no record";
149
155
  readonly recovery: "Verify the candidate_id format (H/S/P + digits) or drop it and search by name, state, or cycle.";
150
- }]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
156
+ }], {
157
+ readonly totalCount: import("zod").ZodNumber;
158
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
159
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
151
160
  query: import("zod").ZodOptional<import("zod").ZodString>;
152
161
  committee_id: import("zod").ZodOptional<import("zod").ZodString>;
153
162
  candidate_id: import("zod").ZodOptional<import("zod").ZodString>;
@@ -173,7 +182,10 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
173
182
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
174
183
  readonly when: "Single-committee lookup by committee_id returned no record";
175
184
  readonly recovery: "Verify the committee_id format (C + digits) or drop it and search by name, candidate_id, or type.";
176
- }]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
185
+ }], {
186
+ readonly totalCount: import("zod").ZodNumber;
187
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
188
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
177
189
  mode: import("zod").ZodDefault<import("zod").ZodEnum<{
178
190
  by_size: "by_size";
179
191
  by_state: "by_state";
@@ -222,7 +234,10 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
222
234
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
223
235
  readonly when: "by_employer or by_occupation aggregate without a committee_id";
224
236
  readonly recovery: "These aggregates roll up to a single committee — provide a committee_id for the spending committee.";
225
- }]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
237
+ }], {
238
+ readonly totalCount: import("zod").ZodNumber;
239
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
240
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
226
241
  mode: import("zod").ZodDefault<import("zod").ZodEnum<{
227
242
  by_purpose: "by_purpose";
228
243
  by_recipient: "by_recipient";
@@ -258,7 +273,10 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
258
273
  per_page: import("zod").ZodNumber;
259
274
  }, import("zod/v4/core").$strip>>;
260
275
  search_criteria: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
261
- }, import("zod/v4/core").$strip>, undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
276
+ }, import("zod/v4/core").$strip>, undefined, {
277
+ readonly totalCount: import("zod").ZodNumber;
278
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
279
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
262
280
  mode: import("zod").ZodDefault<import("zod").ZodEnum<{
263
281
  itemized: "itemized";
264
282
  by_candidate: "by_candidate";
@@ -307,7 +325,10 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
307
325
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
308
326
  readonly when: "by_candidate mode invoked without a candidate_id";
309
327
  readonly recovery: "Find the candidate ID via openfec_search_candidates, then pass it here to see independent expenditures supporting or opposing that candidate.";
310
- }]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
328
+ }], {
329
+ readonly totalCount: import("zod").ZodNumber;
330
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
331
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
311
332
  committee_id: import("zod").ZodOptional<import("zod").ZodString>;
312
333
  candidate_id: import("zod").ZodOptional<import("zod").ZodString>;
313
334
  filer_name: import("zod").ZodOptional<import("zod").ZodString>;
@@ -330,7 +351,10 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
330
351
  per_page: import("zod").ZodNumber;
331
352
  }, import("zod/v4/core").$strip>;
332
353
  search_criteria: import("zod").ZodOptional<import("zod").ZodObject<{}, import("zod/v4/core").$loose>>;
333
- }, import("zod/v4/core").$strip>, undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
354
+ }, import("zod/v4/core").$strip>, undefined, {
355
+ readonly totalCount: import("zod").ZodNumber;
356
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
357
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
334
358
  query: import("zod").ZodOptional<import("zod").ZodString>;
335
359
  type: import("zod").ZodOptional<import("zod").ZodEnum<{
336
360
  advisory_opinions: "advisory_opinions";
@@ -359,5 +383,7 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
359
383
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
360
384
  readonly when: "Called without query, type, or a specific identifier (ao_number / case_number)";
361
385
  readonly recovery: "Provide at least a search query, document type, or specific identifier (ao_number, case_number) to scope the legal search.";
362
- }]>)[];
386
+ }], {
387
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
388
+ }>)[];
363
389
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAYrD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAU9B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAYrD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAU9B,CAAC"}
@@ -53,5 +53,8 @@ export declare const lookupCalendar: import("@cyanheads/mcp-ts-core").ToolDefini
53
53
  per_page: z.ZodNumber;
54
54
  }, z.core.$strip>;
55
55
  search_criteria: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
56
- }, z.core.$strip>, undefined>;
56
+ }, z.core.$strip>, undefined, {
57
+ readonly totalCount: z.ZodNumber;
58
+ readonly notice: z.ZodOptional<z.ZodString>;
59
+ }>;
57
60
  //# sourceMappingURL=lookup-calendar.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lookup-calendar.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-calendar.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAWjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAoKzB,CAAC"}
1
+ {"version":3,"file":"lookup-calendar.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-calendar.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAWjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgMzB,CAAC"}
@@ -72,6 +72,13 @@ export const lookupCalendar = tool('openfec_lookup_calendar', {
72
72
  pagination: PaginationSchema,
73
73
  search_criteria: SearchCriteriaSchema,
74
74
  }),
75
+ enrichment: {
76
+ totalCount: z.number().describe('Total matching calendar entries before pagination.'),
77
+ notice: z
78
+ .string()
79
+ .optional()
80
+ .describe('Guidance when no calendar entries matched — echoes filters and suggests how to broaden.'),
81
+ },
75
82
  async handler(input, ctx) {
76
83
  const fec = getOpenFecService();
77
84
  const params = {
@@ -94,6 +101,10 @@ export const lookupCalendar = tool('openfec_lookup_calendar', {
94
101
  report_year: input.report_year,
95
102
  });
96
103
  const data = await fec.getReportingDates(params, ctx);
104
+ ctx.enrich.total(data.pagination.count);
105
+ if (data.results.length === 0) {
106
+ ctx.enrich.notice('No filing deadlines matched. Try widening the date range or removing the report_type filter.');
107
+ }
97
108
  return {
98
109
  results: data.results,
99
110
  pagination: data.pagination,
@@ -117,6 +128,10 @@ export const lookupCalendar = tool('openfec_lookup_calendar', {
117
128
  election_year: input.election_year,
118
129
  });
119
130
  const data = await fec.getElectionDates(params, ctx);
131
+ ctx.enrich.total(data.pagination.count);
132
+ if (data.results.length === 0) {
133
+ ctx.enrich.notice('No election dates matched. Try widening the date range, removing the state or office filter, or checking a different election year.');
134
+ }
120
135
  return {
121
136
  results: data.results,
122
137
  pagination: data.pagination,
@@ -134,6 +149,10 @@ export const lookupCalendar = tool('openfec_lookup_calendar', {
134
149
  params.calendar_category_id = input.category;
135
150
  ctx.log.info('Fetching calendar events', { description: input.description });
136
151
  const data = await fec.getCalendarDates(params, ctx);
152
+ ctx.enrich.total(data.pagination.count);
153
+ if (data.results.length === 0) {
154
+ ctx.enrich.notice('No calendar events matched. Try widening the date range, removing filters, or checking a different mode (events, filing_deadlines, election_dates).');
155
+ }
137
156
  return {
138
157
  results: data.results,
139
158
  pagination: data.pagination,
@@ -1 +1 @@
1
- {"version":3,"file":"lookup-calendar.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-calendar.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookup-calendar.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-calendar.tool.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ import { z } from '@cyanheads/mcp-ts-core';
7
7
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
8
8
  export declare const lookupElections: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
9
9
  mode: z.ZodDefault<z.ZodEnum<{
10
- summary: "summary";
11
10
  search: "search";
11
+ summary: "summary";
12
12
  }>>;
13
13
  office: z.ZodEnum<{
14
14
  P: "P";
@@ -49,5 +49,8 @@ export declare const lookupElections: import("@cyanheads/mcp-ts-core").ToolDefin
49
49
  readonly code: JsonRpcErrorCode.ValidationError;
50
50
  readonly when: "Summary mode invoked with a zip parameter";
51
51
  readonly recovery: "Use mode \"search\" for ZIP-based lookups, or remove zip and use state and district for summary mode.";
52
- }]>;
52
+ }], {
53
+ readonly totalCount: z.ZodNumber;
54
+ readonly notice: z.ZodOptional<z.ZodString>;
55
+ }>;
53
56
  //# sourceMappingURL=lookup-elections.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lookup-elections.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-elections.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAajE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+L1B,CAAC"}
1
+ {"version":3,"file":"lookup-elections.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-elections.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAajE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsN1B,CAAC"}
@@ -70,6 +70,13 @@ export const lookupElections = tool('openfec_lookup_elections', {
70
70
  pagination: PaginationSchema,
71
71
  search_criteria: SearchCriteriaSchema,
72
72
  }),
73
+ enrichment: {
74
+ totalCount: z.number().describe('Total matching candidates or race summaries.'),
75
+ notice: z
76
+ .string()
77
+ .optional()
78
+ .describe('Guidance when no election results matched — echoes filters and suggests how to broaden.'),
79
+ },
73
80
  async handler(input, ctx) {
74
81
  if (input.cycle % 2 !== 0) {
75
82
  throw ctx.fail('cycle_must_be_even', undefined, {
@@ -113,6 +120,7 @@ export const lookupElections = tool('openfec_lookup_elections', {
113
120
  params.election_full = input.election_full;
114
121
  ctx.log.info('Fetching election summary', { office: input.office, cycle: input.cycle });
115
122
  const summary = await fec.getElectionSummary(params, ctx);
123
+ ctx.enrich.total(1);
116
124
  return {
117
125
  results: [summary],
118
126
  pagination: { page: 1, pages: 1, count: 1, per_page: 1 },
@@ -126,6 +134,10 @@ export const lookupElections = tool('openfec_lookup_elections', {
126
134
  });
127
135
  if (input.zip) {
128
136
  const data = await fec.searchElectionsByZip(params, ctx);
137
+ ctx.enrich.total(data.pagination.count);
138
+ if (data.results.length === 0) {
139
+ ctx.enrich.notice('No election races found for this ZIP. Verify the cycle is an even year and the ZIP code is a valid US ZIP.');
140
+ }
129
141
  return {
130
142
  results: data.results,
131
143
  pagination: data.pagination,
@@ -134,6 +146,10 @@ export const lookupElections = tool('openfec_lookup_elections', {
134
146
  }
135
147
  params.election_full = input.election_full;
136
148
  const data = await fec.searchElections(params, ctx);
149
+ ctx.enrich.total(data.pagination.count);
150
+ if (data.results.length === 0) {
151
+ ctx.enrich.notice('No election races matched. Verify the cycle is an even year, the state code is correct for senate/house races, and the district exists for the given state.');
152
+ }
137
153
  return {
138
154
  results: data.results,
139
155
  pagination: data.pagination,
@@ -1 +1 @@
1
- {"version":3,"file":"lookup-elections.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-elections.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookup-elections.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-elections.tool.ts"],"names":[],"mappings":"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"}
@@ -49,5 +49,8 @@ export declare const searchCandidates: import("@cyanheads/mcp-ts-core").ToolDefi
49
49
  readonly code: JsonRpcErrorCode.NotFound;
50
50
  readonly when: "Single-candidate lookup by candidate_id returned no record";
51
51
  readonly recovery: "Verify the candidate_id format (H/S/P + digits) or drop it and search by name, state, or cycle.";
52
- }]>;
52
+ }], {
53
+ readonly totalCount: z.ZodNumber;
54
+ readonly notice: z.ZodOptional<z.ZodString>;
55
+ }>;
53
56
  //# sourceMappingURL=search-candidates.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-candidates.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-candidates.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAajE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgM3B,CAAC"}
1
+ {"version":3,"file":"search-candidates.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-candidates.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAajE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiN3B,CAAC"}
@@ -68,6 +68,13 @@ export const searchCandidates = tool('openfec_search_candidates', {
68
68
  pagination: PaginationSchema,
69
69
  search_criteria: SearchCriteriaSchema,
70
70
  }),
71
+ enrichment: {
72
+ totalCount: z.number().describe('Total matching candidates before pagination.'),
73
+ notice: z
74
+ .string()
75
+ .optional()
76
+ .describe('Guidance when no candidates matched — echoes filters and suggests how to broaden.'),
77
+ },
71
78
  async handler(input, ctx) {
72
79
  const fec = getOpenFecService();
73
80
  if (input.candidate_id)
@@ -127,6 +134,10 @@ export const searchCandidates = tool('openfec_search_candidates', {
127
134
  const totalsResult = await fec.getCandidateTotals(totalsParams, ctx);
128
135
  totals = totalsResult.results;
129
136
  }
137
+ ctx.enrich.total(candidateResult.pagination.count);
138
+ if (candidates.length === 0) {
139
+ ctx.enrich.notice('No candidates matched. Try a partial name, remove filters like state or office, or check a different election cycle.');
140
+ }
130
141
  return {
131
142
  candidates,
132
143
  totals,
@@ -1 +1 @@
1
- {"version":3,"file":"search-candidates.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-candidates.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-candidates.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-candidates.tool.ts"],"names":[],"mappings":"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"}
@@ -32,5 +32,8 @@ export declare const searchCommittees: import("@cyanheads/mcp-ts-core").ToolDefi
32
32
  readonly code: JsonRpcErrorCode.NotFound;
33
33
  readonly when: "Single-committee lookup by committee_id returned no record";
34
34
  readonly recovery: "Verify the committee_id format (C + digits) or drop it and search by name, candidate_id, or type.";
35
- }]>;
35
+ }], {
36
+ readonly totalCount: z.ZodNumber;
37
+ readonly notice: z.ZodOptional<z.ZodString>;
38
+ }>;
36
39
  //# sourceMappingURL=search-committees.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-committees.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-committees.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAajE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;GAkI3B,CAAC"}
1
+ {"version":3,"file":"search-committees.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-committees.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAajE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmJ3B,CAAC"}