@cliwant/mcp-sam-gov 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.ja.md +5 -5
  2. package/README.ko.md +5 -5
  3. package/README.md +19 -7
  4. package/dist/bonfire.d.ts.map +1 -1
  5. package/dist/bonfire.js +5 -1
  6. package/dist/bonfire.js.map +1 -1
  7. package/dist/cbp-border.d.ts +9 -5
  8. package/dist/cbp-border.d.ts.map +1 -1
  9. package/dist/cbp-border.js +31 -11
  10. package/dist/cbp-border.js.map +1 -1
  11. package/dist/gao.d.ts.map +1 -1
  12. package/dist/gao.js +25 -0
  13. package/dist/gao.js.map +1 -1
  14. package/dist/grants.js +1 -1
  15. package/dist/grants.js.map +1 -1
  16. package/dist/gsa-perdiem.d.ts +16 -2
  17. package/dist/gsa-perdiem.d.ts.map +1 -1
  18. package/dist/gsa-perdiem.js +25 -4
  19. package/dist/gsa-perdiem.js.map +1 -1
  20. package/dist/integrity.d.ts.map +1 -1
  21. package/dist/integrity.js +18 -3
  22. package/dist/integrity.js.map +1 -1
  23. package/dist/lda.d.ts.map +1 -1
  24. package/dist/lda.js +17 -4
  25. package/dist/lda.js.map +1 -1
  26. package/dist/nhtsa.d.ts +9 -5
  27. package/dist/nhtsa.d.ts.map +1 -1
  28. package/dist/nhtsa.js +90 -26
  29. package/dist/nhtsa.js.map +1 -1
  30. package/dist/nist-controls.d.ts +3 -1
  31. package/dist/nist-controls.d.ts.map +1 -1
  32. package/dist/nist-controls.js +34 -12
  33. package/dist/nist-controls.js.map +1 -1
  34. package/dist/ofac.d.ts.map +1 -1
  35. package/dist/ofac.js +10 -1
  36. package/dist/ofac.js.map +1 -1
  37. package/dist/sam-gov/client.d.ts.map +1 -1
  38. package/dist/sam-gov/client.js +13 -4
  39. package/dist/sam-gov/client.js.map +1 -1
  40. package/dist/server.d.ts +4 -0
  41. package/dist/server.d.ts.map +1 -1
  42. package/dist/server.js +34 -8
  43. package/dist/server.js.map +1 -1
  44. package/dist/socrata.d.ts +1 -1
  45. package/dist/socrata.d.ts.map +1 -1
  46. package/dist/socrata.js +30 -0
  47. package/dist/socrata.js.map +1 -1
  48. package/package.json +11 -3
  49. package/src/bonfire.ts +5 -1
  50. package/src/cbp-border.ts +30 -9
  51. package/src/gao.ts +27 -0
  52. package/src/grants.ts +1 -1
  53. package/src/gsa-perdiem.ts +28 -4
  54. package/src/integrity.ts +18 -3
  55. package/src/lda.ts +21 -5
  56. package/src/nhtsa.ts +92 -27
  57. package/src/nist-controls.ts +58 -9
  58. package/src/ofac.ts +12 -1
  59. package/src/sam-gov/client.ts +13 -4
  60. package/src/server.ts +36 -8
  61. package/src/socrata.ts +30 -0
package/dist/socrata.d.ts CHANGED
@@ -109,7 +109,7 @@
109
109
  import { num } from "./coerce.js";
110
110
  import { type MetaBundle } from "./meta.js";
111
111
  export { num };
112
- export declare const SOCRATA_DOMAINS: readonly ["data.ny.gov", "data.colorado.gov", "data.ct.gov", "data.texas.gov", "data.wa.gov", "opendata.maryland.gov", "data.vermont.gov", "data.nj.gov", "data.oregon.gov", "data.pa.gov", "data.mo.gov", "data.delaware.gov", "data.austintexas.gov", "data.kingcounty.gov", "data.montgomerycountymd.gov", "data.mesaaz.gov", "data.cambridgema.gov", "data.transportation.gov", "data.cdc.gov", "data.bts.gov", "datacatalog.cookcountyil.gov", "data.illinois.gov", "data.cincinnati-oh.gov", "data.cityofnewyork.us", "data.cityofchicago.org", "data.sfgov.org", "controllerdata.lacity.org", "opendata.usac.org", "data.kcmo.org", "data.brla.gov", "www.dallasopendata.com", "data.lacity.org", "data.ramseycountymn.gov", "data.richmondgov.com"];
112
+ export declare const SOCRATA_DOMAINS: readonly ["data.ny.gov", "data.colorado.gov", "data.ct.gov", "data.texas.gov", "data.wa.gov", "opendata.maryland.gov", "data.vermont.gov", "data.nj.gov", "data.oregon.gov", "data.pa.gov", "data.mo.gov", "data.delaware.gov", "data.austintexas.gov", "data.kingcounty.gov", "data.montgomerycountymd.gov", "data.mesaaz.gov", "data.cambridgema.gov", "data.transportation.gov", "data.cdc.gov", "data.bts.gov", "datacatalog.cookcountyil.gov", "data.illinois.gov", "data.cincinnati-oh.gov", "data.cityofnewyork.us", "data.cityofchicago.org", "data.sfgov.org", "controllerdata.lacity.org", "opendata.usac.org", "data.kcmo.org", "data.brla.gov", "www.dallasopendata.com", "data.lacity.org", "data.ramseycountymn.gov", "data.richmondgov.com", "opendata.howardcountymd.gov", "data.providenceri.gov", "fiscalfocus.pittsburghpa.gov", "data.coloradosprings.gov", "data.framinghamma.gov", "data.fultoncountyga.gov", "atlanta.data.socrata.com", "opendata.cityofmesquite.com", "datahub.usac.org", "performance.ci.janesville.wi.us", "datahub.austintexas.gov", "cthru.data.socrata.com", "data.macoupincountyil.gov", "data.oaklandca.gov", "data.princegeorgescountymd.gov", "data.cstx.gov", "datahub.transportation.gov", "citydata.mesaaz.gov", "data.weho.org"];
113
113
  export type SocrataDomain = (typeof SOCRATA_DOMAINS)[number];
114
114
  export type SocrataRow = Record<string, unknown>;
115
115
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"socrata.d.ts","sourceRoot":"","sources":["../src/socrata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2GG;AAIH,OAAO,EAAE,GAAG,EAAO,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAKzE,OAAO,EAAE,GAAG,EAAE,CAAC;AAOf,eAAO,MAAM,eAAe,6tBAuElB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAyC7D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAuKjD;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkGtB;AAGD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAqBF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmEtB"}
1
+ {"version":3,"file":"socrata.d.ts","sourceRoot":"","sources":["../src/socrata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2GG;AAIH,OAAO,EAAE,GAAG,EAAO,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAKzE,OAAO,EAAE,GAAG,EAAE,CAAC;AAOf,eAAO,MAAM,eAAe,wtCAqGlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAyC7D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAuKjD;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkGtB;AAGD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAqBF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmEtB"}
package/dist/socrata.js CHANGED
@@ -191,6 +191,36 @@ export const SOCRATA_DOMAINS = [
191
191
  "data.lacity.org", // Los Angeles CA (.org, official) — e.g. hf3r-utnq (RAMP Open Bid Opportunities — live bids)
192
192
  "data.ramseycountymn.gov", // Ramsey County MN (.gov) — e.g. iu7r-dzmj (Solicitations & Addenda, with due_date/download_url ~516)
193
193
  "data.richmondgov.com", // Richmond VA (.com, official) — e.g. xqn7-jvv2 (City Contracts: contract_value/supplier/procurement_type ~1,387)
194
+ // ── County/city procurement sweep, wave 2 (loop cycle 19, 2026-07-20). Same
195
+ // federated-catalog mining + host-scoped count(*) + /resource 200 bare-array
196
+ // verification. All large real checkbook/PO/vendor-payment datasets. ──
197
+ "opendata.howardcountymd.gov", // Howard County MD (.gov) — e.g. mesh-jggc (Vendors Receiving Payments $30k+ ~35k)
198
+ "data.providenceri.gov", // Providence RI (.gov) — e.g. 425y-pm5m (City & School Dept Purchase Orders ~228k)
199
+ "fiscalfocus.pittsburghpa.gov", // Pittsburgh PA (.gov) — e.g. t8t2-4b5n (Checkbook Data ~1.01M)
200
+ "data.coloradosprings.gov", // Colorado Springs CO (.gov) — e.g. yn6y-xikx (Open Checkbook Vendors ~19k)
201
+ "data.framinghamma.gov", // Framingham MA (.gov) — e.g. cqve-ehkr (Checkbook ~324k)
202
+ "data.fultoncountyga.gov", // Fulton County GA (.gov) — e.g. mxhc-krcg (Vendor Payments/disbursements ~217k)
203
+ "atlanta.data.socrata.com", // City of Atlanta GA (Socrata-hosted official portal) — e.g. jmke-icfi (Open Checkbook Ledger ~1.78M)
204
+ "opendata.cityofmesquite.com", // Mesquite TX (.com, official) — e.g. 6tva-azs5 (Check Register ~144k)
205
+ // ── County/city procurement sweep, wave 3 (loop cycle 20, 2026-07-20). Expanded
206
+ // federated-catalog queries (rfp/rfq/disbursement/expenditure/commodity) +
207
+ // offset paging. Provenance confirmed via /api/views attribution or the gov
208
+ // domain itself; hosts with only an individual-name attribution on a generic
209
+ // *.data.socrata.com subdomain (washoe, newcastle) were DEFERRED. ──
210
+ "datahub.usac.org", // USAC E-Rate (.org, same org as opendata.usac.org) — e.g. 39tn-hjzv (E-Rate Open Competitive Bidding, FCC Form 470 — schools/libraries LIVE bids ~2.2M)
211
+ "performance.ci.janesville.wi.us", // City of Janesville WI (.us official municipal domain) — e.g. fd4q-2kma (Open Expenditures Ledger ~1.0M)
212
+ "datahub.austintexas.gov", // Austin TX secondary hub (.gov) — e.g. 3ebq-e9iz (Purchase Order Quantity/Price detail, commodity/goods procurements ~318k)
213
+ "cthru.data.socrata.com", // Commonwealth of Massachusetts, Office of the Comptroller — CTHRU statewide spending (attribution-confirmed) — e.g. kv7m-35wn (Budget/Actual + spending authorizations ~48k)
214
+ "data.macoupincountyil.gov", // Macoupin County IL (.gov) — e.g. wysn-7qcg (Open Expenditures Ledger ~156k)
215
+ "data.oaklandca.gov", // Oakland CA (.gov) — e.g. 4ewt-5m6f (budget expenditures ~66k)
216
+ "data.princegeorgescountymd.gov", // Prince George's County MD (.gov) — e.g. csi4-9jzc (Spending Information: payee_name/agency/amount ~62k)
217
+ "data.cstx.gov", // College Station TX (.gov) — e.g. i5cx-63zy (Open Budget Expenditures ~42k)
218
+ "datahub.transportation.gov", // US DOT secondary hub (.gov) — e.g. 255k-mnvp (Disbursements by States for Highways SF-2 ~15k)
219
+ // ── County/city procurement sweep, wave 4 / tail (loop cycle 21, 2026-07-20).
220
+ // Diminishing returns (most remaining catalog hits are Canada/AU, demo/test,
221
+ // duplicates, or off-theme); these two are the clean US wins. ──
222
+ "citydata.mesaaz.gov", // Mesa AZ secondary hub (.gov, attr "Office of Management and Budget") — e.g. vdg8-dx96 (City Expenditures ~15.4M)
223
+ "data.weho.org", // City of West Hollywood CA (.org, official portal) — e.g. atdr-sk64 (Active Contracts: contract_number/contractor_name/status/type — live/current ~1,030)
194
224
  ];
195
225
  const SOCRATA_DOMAIN_SET = new Set(SOCRATA_DOMAINS);
196
226
  const CATALOG_HOST = "api.us.socrata.com";
@@ -1 +1 @@
1
- {"version":3,"file":"socrata.js","sourceRoot":"","sources":["../src/socrata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socrata.js","sourceRoot":"","sources":["../src/socrata.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@cliwant/mcp-sam-gov",
3
- "version": "1.10.0",
3
+ "version": "1.11.0",
4
4
  "mcpName": "io.github.cliwant/mcp-sam-gov",
5
- "description": "Most comprehensive keyless MCP server for US federal contracting + spending + regulation: SAM.gov, USAspending, Federal Register, eCFR, Grants.gov. 144 tools, no API key, plug into Claude Desktop / Claude Code / Codex CLI / Cursor / Continue / Gemini CLI.",
5
+ "description": "Most comprehensive keyless MCP server for US federal + state/local (SLED) contracting + spending + regulation: SAM.gov, USAspending, Federal Register, eCFR, Grants.gov, plus SLED procurement bids (OpenGov, Bonfire, ArcGIS, Socrata 53 hosts). 150 tools, no API key, plug into Claude Desktop / Claude Code / Codex CLI / Cursor / Continue / Gemini CLI.",
6
6
  "keywords": [
7
7
  "mcp",
8
8
  "model-context-protocol",
@@ -16,7 +16,15 @@
16
16
  "cursor",
17
17
  "continue",
18
18
  "gemini-cli",
19
- "ai-tools"
19
+ "ai-tools",
20
+ "sled",
21
+ "state-local",
22
+ "procurement",
23
+ "opengov",
24
+ "bonfire",
25
+ "arcgis",
26
+ "socrata",
27
+ "bid-opportunities"
20
28
  ],
21
29
  "license": "MIT",
22
30
  "author": "Cliwant contributors",
package/src/bonfire.ts CHANGED
@@ -218,7 +218,11 @@ export async function searchOpportunities(args: BonfireSearchArgs): Promise<Meta
218
218
  throw driftError(bonfireLabel(org), "Bonfire returned a non-RSS body at HTTP 200 — schema drift (expected an <rss><channel> feed).");
219
219
  }
220
220
 
221
- const items = body.match(/<item>[\s\S]*?<\/item>/gi) ?? [];
221
+ // Tolerate attributes on the opening <item …> tag (consistent with the <channel[\s>]
222
+ // drift guard and the inner tag() matcher). RSS 2.0 <item> has no standard attributes,
223
+ // but a namespaced/extended feed could add them — a bare-<item> regex would silently
224
+ // DROP such items and undercount totalAvailable (a latent P1 risk caught in dogfooding).
225
+ const items = body.match(/<item(?:\s[^>]*)?>[\s\S]*?<\/item>/gi) ?? [];
222
226
  const all = items.map(mapItem);
223
227
  // P1: the RSS is the COMPLETE open set ⇒ totalAvailable = item count (true total).
224
228
  const totalAvailable = all.length;
package/src/cbp-border.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * cbp-border.ts — CBP Border Wait Times (bwt.cbp.gov, KEYLESS) — the FREIGHT /
3
- * LOGISTICS lane. Live commercial-vehicle (and passenger) wait times at every US
3
+ * LOGISTICS lane. Live COMMERCIAL-VEHICLE (freight-truck) wait times at every US
4
4
  * land border port (Canadian + Mexican): per-port lane delays, operational status,
5
- * and open-lane counts. Answers "what's the current commercial-truck delay at port
5
+ * and open-lane counts. (The raw feed also carries passenger/pedestrian lanes, but
6
+ * this tool surfaces ONLY the commercial-vehicle lanes — the freight lane.)
7
+ * Answers "what's the current commercial-truck delay at port
6
8
  * X" — real-time freight-crossing situational awareness for logistics/trade vendors.
7
9
  *
8
10
  * SOURCE: CBP's official Border Wait Times API (bwt.cbp.gov/api/bwtnew) — a .gov host,
@@ -127,9 +129,11 @@ async function loadPorts(): Promise<CbpPort[]> {
127
129
 
128
130
  // ─── Tool: cbp_border_wait_times ──────────────────────────────────
129
131
  /**
130
- * List CBP land-border-port commercial-vehicle (+ passenger) wait times, optionally
131
- * filtered by border (Canadian/Mexican) and/or port name (substring). Client-side
132
- * filter over the live feed; honest `_meta` (exact match total + real-time freshness).
132
+ * List CBP land-border-port COMMERCIAL-VEHICLE (freight-truck) wait times, optionally
133
+ * filtered by border (Canadian/Mexican) and/or port name (substring, applied
134
+ * CLIENT-SIDE over the full fetched set and disclosed as such). Passenger/pedestrian
135
+ * lanes are NOT surfaced (freight lane only). Honest `_meta` (exact match total +
136
+ * real-time freshness).
133
137
  */
134
138
  export async function borderWaitTimes(args: {
135
139
  border?: string;
@@ -142,10 +146,20 @@ export async function borderWaitTimes(args: {
142
146
  const all = await loadPorts();
143
147
 
144
148
  const filtersApplied: string[] = [];
149
+ const filtersDropped: string[] = [];
145
150
  const borderQ = args.border?.trim().toLowerCase();
146
151
  const portQ = args.portName?.trim().toLowerCase();
147
- if (args.border !== undefined) filtersApplied.push("border");
148
- if (args.portName !== undefined) filtersApplied.push("portName");
152
+ // [filter honesty] Only claim a filter APPLIED when its query is non-empty — a
153
+ // border:"" / portName:"" (or whitespace) narrows nothing, so reporting it as
154
+ // applied while returning every port would be a false filtersApplied.
155
+ if (args.border !== undefined) {
156
+ if (borderQ) filtersApplied.push("border");
157
+ else filtersDropped.push("border(empty)");
158
+ }
159
+ if (args.portName !== undefined) {
160
+ if (portQ) filtersApplied.push("portName");
161
+ else filtersDropped.push("portName(empty)");
162
+ }
149
163
 
150
164
  const matched = all.filter((p) => {
151
165
  if (borderQ && !(p.border ?? "").toLowerCase().includes(borderQ)) return false;
@@ -159,6 +173,13 @@ export async function borderWaitTimes(args: {
159
173
  const hasMore = offset + returned < totalAvailable;
160
174
  const nextOffset = hasMore ? offset + returned : null;
161
175
 
176
+ const notes: string[] = [PROVENANCE_NOTE, FRESHNESS_NOTE];
177
+ if (filtersApplied.length > 0) {
178
+ notes.push(
179
+ "border / portName are applied CLIENT-SIDE over the full live port set (fetched in ONE request — the CBP feed has no server-side filter); totalAvailable is the EXACT matched count over that full set.",
180
+ );
181
+ }
182
+
162
183
  return withMeta(
163
184
  { ports: page },
164
185
  {
@@ -168,10 +189,10 @@ export async function borderWaitTimes(args: {
168
189
  totalAvailable,
169
190
  truncated: hasMore,
170
191
  filtersApplied,
171
- filtersDropped: [],
192
+ filtersDropped,
172
193
  fieldsUnavailable: [],
173
194
  pagination: { offset, limit, hasMore, nextOffset },
174
- notes: [PROVENANCE_NOTE, FRESHNESS_NOTE],
195
+ notes,
175
196
  } satisfies Partial<ResponseMeta>,
176
197
  );
177
198
  }
package/src/gao.ts CHANGED
@@ -593,6 +593,21 @@ export async function gaoProtestLookup(args: {
593
593
 
594
594
  // ── Feed path ──────────────────────────────────────────────────────
595
595
  const xml = await getText(RSS_URL, "gao:rss");
596
+ // [P2/P4] A 200 body that isn't the RSS feed (GAO's edge is Cloudflare/WAF — a
597
+ // challenge or maintenance interstitial returns 200 HTML, NOT the feed) must
598
+ // NOT be parsed into an empty decision list: parseFeed's <item> regex yields []
599
+ // on any non-RSS body, which would read as "no recent bid protests" — an
600
+ // outage-as-empty lie. A real feed always carries <rss>/<channel>/<item> (a
601
+ // genuinely EMPTY feed still has <channel>, so a 0-item feed passes). Guard the
602
+ // shape and surface a retryable outage instead of a fabricated empty result.
603
+ if (!/<(rss|feed|channel|item)\b/i.test(xml)) {
604
+ throw new ToolErrorCarrier({
605
+ kind: "upstream_unavailable",
606
+ retryable: true,
607
+ message: `GAO RSS returned a 200 body with no <rss>/<channel>/<item> markup (${xml.length} bytes) — GAO's Cloudflare/WAF edge most likely served a challenge or maintenance interstitial instead of the feed. Surfaced as a retryable outage rather than a fabricated empty decision list (which would falsely read as "no recent bid protests"). Retry shortly.`,
608
+ upstreamEndpoint: "gao:rss",
609
+ });
610
+ }
596
611
  const rawItems = parseFeed(xml);
597
612
  const protests = rawItems.filter(isBidProtest);
598
613
 
@@ -653,9 +668,16 @@ export async function gaoProtestLookup(args: {
653
668
 
654
669
  // Apply the outcome filter now that we (may) have parsed outcomes, then cap.
655
670
  const filtersDropped: string[] = [];
671
+ let outcomeUndetermined = 0;
656
672
  if (outcomeFilter) {
657
673
  if (enrich) {
658
674
  filtersApplied.push("outcome(from decision page)");
675
+ // [filter honesty] A decision whose page could not be enriched has
676
+ // outcome=null — UNDETERMINED, not confirmed "≠ outcomeFilter". Dropping
677
+ // those silently makes returned:0 read as "no <outcome> protests exist"
678
+ // when the truth is "no outcome could be read" (GAO per-decision pages are
679
+ // intermittently WAF-blocked). Count them so it is disclosed, not swallowed.
680
+ outcomeUndetermined = decisions.filter((d) => d.outcome === null).length;
659
681
  decisions = decisions.filter((d) => d.outcome === outcomeFilter);
660
682
  } else {
661
683
  // Can't determine outcome without enrichment → don't silently pretend to.
@@ -672,6 +694,11 @@ export async function gaoProtestLookup(args: {
672
694
  `${enrichFailures} decision(s) returned feed-level fields only; per-decision page enrichment failed (agency/outcome/solicitation may be null for those).`,
673
695
  );
674
696
  }
697
+ if (outcomeFilter && enrich && outcomeUndetermined > 0) {
698
+ notes.push(
699
+ `${outcomeUndetermined} recent decision(s) were EXCLUDED from the outcome='${outcomeFilter}' filter because their decision page could not be read (enrichment failed) — their outcome is UNDETERMINED, not confirmed to differ. Treat a 0 or low result here as "outcome could not be determined for those", NOT "none exist"; retry (GAO per-decision pages are intermittently WAF-blocked) or drop the outcome filter to list all recent decisions.`,
700
+ );
701
+ }
675
702
  if (!enrich) {
676
703
  notes.push(
677
704
  "enrich=false: only RSS feed-level fields were returned (protester/title/date/summary). Agency, outcome, solicitation number, and the decision PDF require the per-decision page — call again with enrich=true or a specific bNumber.",
package/src/grants.ts CHANGED
@@ -139,7 +139,7 @@ export async function searchGrants(args: {
139
139
  const notes: string[] = [];
140
140
  if (args.agency || args.cfda) {
141
141
  notes.push(
142
- "Grants.gov silently ignores an unknown agency code or CFDA number (it returns the UNFILTERED result set instead of an error) and does not confirm which filters were honored — if the result count looks too broad, verify the agency/CFDA value.",
142
+ "Grants.gov applies the agency/CFDA filter server-side (live-verified 2026-07-20): a bogus or misspelled value returns 0 results, NOT an error and NOT the unfiltered set — so an unexpectedly EMPTY filtered search most often means the agency/CFDA value is invalid, not that no grants exist. `filtersApplied` reflects that the filter was sent. Verify the agency code / CFDA number if a filtered result is surprisingly empty.",
143
143
  );
144
144
  }
145
145
  // VQ-1 (C82 dogfooding): Grants.gov OR-tokenizes multi-word keywords (matches ANY
@@ -57,8 +57,26 @@ const GSA_PERDIEM_LABEL = "gsa-perdiem:/travel/perdiem/v2/rates";
57
57
  const GSA_PERDIEM_SOURCE = (mode: string) =>
58
58
  `${GSA_PERDIEM_HOST} via GSA Federal Travel Per-Diem API (${mode})`;
59
59
 
60
- // The default per-diem fiscal year (ADR-0050 — the current confirmed vintage).
61
- export const DEFAULT_PERDIEM_YEAR = "2025";
60
+ /**
61
+ * The US federal fiscal year for a date (ADR-0050). The FY begins Oct 1, so
62
+ * Oct–Dec belong to the NEXT calendar year's FY (e.g. 2025-11 → FY2026) while
63
+ * Jan–Sep stay in the current (e.g. 2026-07 → FY2026). Pure + UTC-based so it is
64
+ * deterministic and timezone-independent (the intra-day rollover instant is
65
+ * immaterial — per-diem rates do not change within a day).
66
+ */
67
+ export function federalFiscalYear(d: Date): number {
68
+ return d.getUTCMonth() >= 9 ? d.getUTCFullYear() + 1 : d.getUTCFullYear();
69
+ }
70
+
71
+ /**
72
+ * The default per-diem year when the caller omits `year`: the CURRENT federal
73
+ * fiscal year. GSA publishes rates per FY; a hard-coded default silently serves
74
+ * an EXPIRED vintage once the FY rolls over (the drift this replaces — a no-year
75
+ * lookup must track the live FY, not a frozen year).
76
+ */
77
+ export function defaultPerdiemYear(): string {
78
+ return String(federalFiscalYear(new Date()));
79
+ }
62
80
 
63
81
  // ─── Validation charclasses (SSRF + "verify the input" honesty) ───
64
82
  // Each rides in a single PATH segment (encodeURIComponent-escaped), so these are
@@ -158,7 +176,7 @@ async function getGsaPerdiem(path: string): Promise<unknown> {
158
176
 
159
177
  /**
160
178
  * Look up GSA Federal Travel per-diem rates by EITHER (city + state) OR zip, for a
161
- * given `year` (default 2025). Returns flattened rate rows (each outer state/year
179
+ * given `year` (default: the current U.S. federal fiscal year). Returns flattened rate rows (each outer state/year
162
180
  * group × inner city/rate) + honest `_meta`: totalAvailable = the row count (no
163
181
  * pagination — P1), lodging/meals as null-never-0 dollars (P3), standardRate/isOconus
164
182
  * as real booleans, the months array preserved as-is. The DEMO_KEY rate disclosure
@@ -168,7 +186,8 @@ export async function perdiemRates(
168
186
  args: GsaPerdiemRatesArgs,
169
187
  ): Promise<MetaBundle> {
170
188
  const label = GSA_PERDIEM_LABEL;
171
- const year = args.year ?? DEFAULT_PERDIEM_YEAR;
189
+ const yearWasDefaulted = args.year === undefined;
190
+ const year = args.year ?? defaultPerdiemYear();
172
191
 
173
192
  // ── [INPUT] EITHER (city + state) OR zip — never both, never neither. This is a
174
193
  // caller-shape check (0 fetch): an ambiguous or empty lookup is invalid_input,
@@ -341,6 +360,11 @@ export async function perdiemRates(
341
360
 
342
361
  const returned = rows.length;
343
362
  const notes: string[] = [RATE_MEANING_NOTE, STANDARD_RATE_NOTE, NO_PAGINATION_NOTE];
363
+ if (yearWasDefaulted) {
364
+ notes.push(
365
+ `No \`year\` was supplied, so it defaulted to the CURRENT U.S. federal fiscal year (FY${year}). GSA per-diem ceilings are set per fiscal year (Oct 1–Sep 30); pass an explicit \`year\` for a prior or upcoming FY.`,
366
+ );
367
+ }
344
368
  pushKeyNote(notes);
345
369
 
346
370
  return withMeta(
package/src/integrity.ts CHANGED
@@ -294,7 +294,22 @@ export async function checkExclusions(args: {
294
294
  const serverTruncated =
295
295
  totalElements !== null && rawResults.length < totalElements;
296
296
  const hitCap = totalElements !== null && totalElements > SGS_MAX_RECORDS;
297
- const truncated = serverTruncated || hitCap || postFiltered;
297
+ // totalAvailable HONESTY: the raw free-text `totalElements` counts every record
298
+ // that merely shares a WORD with the query — NOT the name-gated matches this
299
+ // tool reports. Surfacing it read as "0 of 252 matches, incomplete" for a firm
300
+ // with ZERO real matches (a vetting tool must not overstate match availability).
301
+ // When the result is name-gated (the normal case — a selector is always
302
+ // required), the true count of name-MATCHING exclusions is genuinely unknown
303
+ // from one page of text hits, so report null (never the free-text total); the
304
+ // per-page match count stays in data.matchCount.
305
+ const totalAvailable = postFiltered ? null : totalElements;
306
+ // truncated only when there is genuinely more to see: more server pages, the
307
+ // deep-paging cap, or this page dropped loose text hits (so a name VARIANT
308
+ // could match on a later page). The old `|| postFiltered` forced truncated:true
309
+ // even over a genuinely empty result set (0 text hits) — asserting incompleteness
310
+ // over an empty set, a contradiction. A fully-consumed name-gated result is a
311
+ // complete, honest empty.
312
+ const truncated = serverTruncated || hitCap || (postFiltered && looseTextHits > 0);
298
313
 
299
314
  const notes: string[] = [NOT_PROOF_NOTE];
300
315
  notes.push(
@@ -307,7 +322,7 @@ export async function checkExclusions(args: {
307
322
  }
308
323
  if (postFiltered) {
309
324
  notes.push(
310
- "A uei/cage/classification/activeOnly post-filter was applied over the fetched page only — the true match count for the combined filter may exceed this page. Narrow with a more specific `query` or raise `size`.",
325
+ "A uei/cage/classification/activeOnly post-filter was applied over the fetched page only — the true name-matched total is unknown from one page, so `totalAvailable` is null (the raw free-text hit count is NOT the match count). `matchCount` is this page's name-gated matches; narrow with a more specific `query` or raise `size`.",
311
326
  );
312
327
  }
313
328
  if (hitCap) {
@@ -333,7 +348,7 @@ export async function checkExclusions(args: {
333
348
  source: EXCLUSIONS_SOURCE,
334
349
  keylessMode: true,
335
350
  returned: records.length,
336
- totalAvailable: totalElements,
351
+ totalAvailable,
337
352
  truncated,
338
353
  pagination: {
339
354
  offset: page * size,
package/src/lda.ts CHANGED
@@ -173,7 +173,7 @@ export type LdaSearchFilingsArgs = {
173
173
  lobbyistName?: string;
174
174
  filingYear?: string; // ^\d{4}$
175
175
  filingType?: string; // a short code (e.g. "Q1", "RR")
176
- agency?: string; // → government_entity (the federal entity lobbied)
176
+ agency?: string; // NOT server-filterable on /filings/ (API silently ignores government_entity) — never sent upstream; reported in _meta.filtersDropped with a workaround note.
177
177
  issue?: string; // → filing_specific_lobbying_issues
178
178
  page?: number; // 1-based, default 1
179
179
  pageSize?: number; // 1..25, default 25
@@ -218,11 +218,22 @@ export async function searchFilings(
218
218
  setFilter("lobbyist_name", args.lobbyistName, "lobbyistName");
219
219
  setFilter("filing_year", args.filingYear, "filingYear");
220
220
  setFilter("filing_type", args.filingType, "filingType");
221
- setFilter("government_entity", args.agency, "agency");
222
221
  setFilter("filing_specific_lobbying_issues", args.issue, "issue");
223
222
  params.set("page", String(page));
224
223
  params.set("page_size", String(pageSize));
225
224
 
225
+ // [filter honesty] `agency` maps to NO server-side filter on /filings/: the LDA
226
+ // API silently ignores `government_entity` (live-verified — adding it does NOT
227
+ // narrow `count`; government entities are nested per lobbying activity, not a
228
+ // top-level filter). So we NEVER send it (an ignored param buys nothing) and
229
+ // disclose it as DROPPED — reporting it as applied while returning the full
230
+ // corpus would be a silent-filter-drop lie (filtersApplied + totalAvailable
231
+ // overstated as if agency-scoped).
232
+ const filtersDropped: string[] = [];
233
+ if (args.agency !== undefined && args.agency !== "") {
234
+ filtersDropped.push("agency");
235
+ }
236
+
226
237
  const url = `https://${LDA_HOST}${LDA_FILINGS_PATH}?${params.toString()}`;
227
238
  // Belt-and-suspenders: the fixed host + strictly-built query leave nothing to
228
239
  // steer the authority; assert the built URL cannot have been moved off-host.
@@ -266,8 +277,8 @@ export async function searchFilings(
266
277
  kind: "invalid_input",
267
278
  retryable: false,
268
279
  message: apiMsg
269
- ? `LDA rejected the request (HTTP 400): ${apiMsg}. Check the filter parameters (filingYear, filingType, agency, issue, …).`
270
- : "LDA rejected the request (HTTP 400) — check the filter parameters (filingYear, filingType, agency, issue, …).",
280
+ ? `LDA rejected the request (HTTP 400): ${apiMsg}. Check the filter parameters (filingYear, filingType, issue, …).`
281
+ : "LDA rejected the request (HTTP 400) — check the filter parameters (filingYear, filingType, issue, …).",
271
282
  upstreamStatus: 400,
272
283
  upstreamEndpoint: LDA_FILINGS_LABEL,
273
284
  });
@@ -310,6 +321,11 @@ export async function searchFilings(
310
321
  `This is page ${page} (pageSize ${pageSize}) of ~${Math.ceil(totalAvailable / pageSize)} — pass page=${page + 1} for the next page.`,
311
322
  );
312
323
  }
324
+ if (filtersDropped.includes("agency")) {
325
+ notes.push(
326
+ "The `agency` filter was NOT applied: the keyless LDA /filings/ endpoint has no server-side government-entity filter (the API silently ignores it and returns the full corpus), so it is reported in filtersDropped rather than falsely narrowed — totalAvailable and filtersApplied reflect ONLY the filters actually applied. Government entities are nested per lobbying activity: each returned filing's lobbyingActivities[].governmentEntities lists them. To find lobbying that targeted a specific agency, narrow by registrantName/clientName/issue and inspect those nested governmentEntities.",
327
+ );
328
+ }
313
329
 
314
330
  return withMeta(
315
331
  { filings },
@@ -319,7 +335,7 @@ export async function searchFilings(
319
335
  returned,
320
336
  totalAvailable,
321
337
  filtersApplied,
322
- filtersDropped: [],
338
+ filtersDropped,
323
339
  fieldsUnavailable: [],
324
340
  pagination: { offset, limit: pageSize, hasMore, nextOffset },
325
341
  notes,