@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.
- package/README.ja.md +5 -5
- package/README.ko.md +5 -5
- package/README.md +19 -7
- package/dist/bonfire.d.ts.map +1 -1
- package/dist/bonfire.js +5 -1
- package/dist/bonfire.js.map +1 -1
- package/dist/cbp-border.d.ts +9 -5
- package/dist/cbp-border.d.ts.map +1 -1
- package/dist/cbp-border.js +31 -11
- package/dist/cbp-border.js.map +1 -1
- package/dist/gao.d.ts.map +1 -1
- package/dist/gao.js +25 -0
- package/dist/gao.js.map +1 -1
- package/dist/grants.js +1 -1
- package/dist/grants.js.map +1 -1
- package/dist/gsa-perdiem.d.ts +16 -2
- package/dist/gsa-perdiem.d.ts.map +1 -1
- package/dist/gsa-perdiem.js +25 -4
- package/dist/gsa-perdiem.js.map +1 -1
- package/dist/integrity.d.ts.map +1 -1
- package/dist/integrity.js +18 -3
- package/dist/integrity.js.map +1 -1
- package/dist/lda.d.ts.map +1 -1
- package/dist/lda.js +17 -4
- package/dist/lda.js.map +1 -1
- package/dist/nhtsa.d.ts +9 -5
- package/dist/nhtsa.d.ts.map +1 -1
- package/dist/nhtsa.js +90 -26
- package/dist/nhtsa.js.map +1 -1
- package/dist/nist-controls.d.ts +3 -1
- package/dist/nist-controls.d.ts.map +1 -1
- package/dist/nist-controls.js +34 -12
- package/dist/nist-controls.js.map +1 -1
- package/dist/ofac.d.ts.map +1 -1
- package/dist/ofac.js +10 -1
- package/dist/ofac.js.map +1 -1
- package/dist/sam-gov/client.d.ts.map +1 -1
- package/dist/sam-gov/client.js +13 -4
- package/dist/sam-gov/client.js.map +1 -1
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +34 -8
- package/dist/server.js.map +1 -1
- package/dist/socrata.d.ts +1 -1
- package/dist/socrata.d.ts.map +1 -1
- package/dist/socrata.js +30 -0
- package/dist/socrata.js.map +1 -1
- package/package.json +11 -3
- package/src/bonfire.ts +5 -1
- package/src/cbp-border.ts +30 -9
- package/src/gao.ts +27 -0
- package/src/grants.ts +1 -1
- package/src/gsa-perdiem.ts +28 -4
- package/src/integrity.ts +18 -3
- package/src/lda.ts +21 -5
- package/src/nhtsa.ts +92 -27
- package/src/nist-controls.ts +58 -9
- package/src/ofac.ts +12 -1
- package/src/sam-gov/client.ts +13 -4
- package/src/server.ts +36 -8
- package/src/socrata.ts +30 -0
package/dist/gsa-perdiem.d.ts
CHANGED
|
@@ -39,7 +39,21 @@
|
|
|
39
39
|
*/
|
|
40
40
|
import { type MetaBundle } from "./meta.js";
|
|
41
41
|
export declare const GSA_PERDIEM_HOST = "api.gsa.gov";
|
|
42
|
-
|
|
42
|
+
/**
|
|
43
|
+
* The US federal fiscal year for a date (ADR-0050). The FY begins Oct 1, so
|
|
44
|
+
* Oct–Dec belong to the NEXT calendar year's FY (e.g. 2025-11 → FY2026) while
|
|
45
|
+
* Jan–Sep stay in the current (e.g. 2026-07 → FY2026). Pure + UTC-based so it is
|
|
46
|
+
* deterministic and timezone-independent (the intra-day rollover instant is
|
|
47
|
+
* immaterial — per-diem rates do not change within a day).
|
|
48
|
+
*/
|
|
49
|
+
export declare function federalFiscalYear(d: Date): number;
|
|
50
|
+
/**
|
|
51
|
+
* The default per-diem year when the caller omits `year`: the CURRENT federal
|
|
52
|
+
* fiscal year. GSA publishes rates per FY; a hard-coded default silently serves
|
|
53
|
+
* an EXPIRED vintage once the FY rolls over (the drift this replaces — a no-year
|
|
54
|
+
* lookup must track the live FY, not a frozen year).
|
|
55
|
+
*/
|
|
56
|
+
export declare function defaultPerdiemYear(): string;
|
|
43
57
|
export type PerdiemMonth = {
|
|
44
58
|
month: number | null;
|
|
45
59
|
monthName: string | null;
|
|
@@ -64,7 +78,7 @@ export type GsaPerdiemRatesArgs = {
|
|
|
64
78
|
};
|
|
65
79
|
/**
|
|
66
80
|
* Look up GSA Federal Travel per-diem rates by EITHER (city + state) OR zip, for a
|
|
67
|
-
* given `year` (default
|
|
81
|
+
* given `year` (default: the current U.S. federal fiscal year). Returns flattened rate rows (each outer state/year
|
|
68
82
|
* group × inner city/rate) + honest `_meta`: totalAvailable = the row count (no
|
|
69
83
|
* pagination — P1), lodging/meals as null-never-0 dollars (P3), standardRate/isOconus
|
|
70
84
|
* as real booleans, the months array preserved as-is. The DEMO_KEY rate disclosure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gsa-perdiem.d.ts","sourceRoot":"","sources":["../src/gsa-perdiem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAKH,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAOzE,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"gsa-perdiem.d.ts","sourceRoot":"","sources":["../src/gsa-perdiem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAKH,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAOzE,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAS9C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AA+BD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB,EAAE,YAAY,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AA4CF;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,UAAU,CAAC,CAsMrB"}
|
package/dist/gsa-perdiem.js
CHANGED
|
@@ -52,8 +52,25 @@ const GSA_PERDIEM_BASE = "/travel/perdiem/v2";
|
|
|
52
52
|
// the X-Api-Key header, so no token can ever appear here.
|
|
53
53
|
const GSA_PERDIEM_LABEL = "gsa-perdiem:/travel/perdiem/v2/rates";
|
|
54
54
|
const GSA_PERDIEM_SOURCE = (mode) => `${GSA_PERDIEM_HOST} via GSA Federal Travel Per-Diem API (${mode})`;
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
/**
|
|
56
|
+
* The US federal fiscal year for a date (ADR-0050). The FY begins Oct 1, so
|
|
57
|
+
* Oct–Dec belong to the NEXT calendar year's FY (e.g. 2025-11 → FY2026) while
|
|
58
|
+
* Jan–Sep stay in the current (e.g. 2026-07 → FY2026). Pure + UTC-based so it is
|
|
59
|
+
* deterministic and timezone-independent (the intra-day rollover instant is
|
|
60
|
+
* immaterial — per-diem rates do not change within a day).
|
|
61
|
+
*/
|
|
62
|
+
export function federalFiscalYear(d) {
|
|
63
|
+
return d.getUTCMonth() >= 9 ? d.getUTCFullYear() + 1 : d.getUTCFullYear();
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The default per-diem year when the caller omits `year`: the CURRENT federal
|
|
67
|
+
* fiscal year. GSA publishes rates per FY; a hard-coded default silently serves
|
|
68
|
+
* an EXPIRED vintage once the FY rolls over (the drift this replaces — a no-year
|
|
69
|
+
* lookup must track the live FY, not a frozen year).
|
|
70
|
+
*/
|
|
71
|
+
export function defaultPerdiemYear() {
|
|
72
|
+
return String(federalFiscalYear(new Date()));
|
|
73
|
+
}
|
|
57
74
|
// ─── Validation charclasses (SSRF + "verify the input" honesty) ───
|
|
58
75
|
// Each rides in a single PATH segment (encodeURIComponent-escaped), so these are
|
|
59
76
|
// belt-and-suspenders against a Zod-bypassing direct handler call.
|
|
@@ -121,7 +138,7 @@ async function getGsaPerdiem(path) {
|
|
|
121
138
|
}
|
|
122
139
|
/**
|
|
123
140
|
* Look up GSA Federal Travel per-diem rates by EITHER (city + state) OR zip, for a
|
|
124
|
-
* given `year` (default
|
|
141
|
+
* given `year` (default: the current U.S. federal fiscal year). Returns flattened rate rows (each outer state/year
|
|
125
142
|
* group × inner city/rate) + honest `_meta`: totalAvailable = the row count (no
|
|
126
143
|
* pagination — P1), lodging/meals as null-never-0 dollars (P3), standardRate/isOconus
|
|
127
144
|
* as real booleans, the months array preserved as-is. The DEMO_KEY rate disclosure
|
|
@@ -129,7 +146,8 @@ async function getGsaPerdiem(path) {
|
|
|
129
146
|
*/
|
|
130
147
|
export async function perdiemRates(args) {
|
|
131
148
|
const label = GSA_PERDIEM_LABEL;
|
|
132
|
-
const
|
|
149
|
+
const yearWasDefaulted = args.year === undefined;
|
|
150
|
+
const year = args.year ?? defaultPerdiemYear();
|
|
133
151
|
// ── [INPUT] EITHER (city + state) OR zip — never both, never neither. This is a
|
|
134
152
|
// caller-shape check (0 fetch): an ambiguous or empty lookup is invalid_input,
|
|
135
153
|
// never a silent guess. ──
|
|
@@ -279,6 +297,9 @@ export async function perdiemRates(args) {
|
|
|
279
297
|
}
|
|
280
298
|
const returned = rows.length;
|
|
281
299
|
const notes = [RATE_MEANING_NOTE, STANDARD_RATE_NOTE, NO_PAGINATION_NOTE];
|
|
300
|
+
if (yearWasDefaulted) {
|
|
301
|
+
notes.push(`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.`);
|
|
302
|
+
}
|
|
282
303
|
pushKeyNote(notes);
|
|
283
304
|
return withMeta({ rates: rows }, {
|
|
284
305
|
source: GSA_PERDIEM_SOURCE(keyModeLabel()),
|
package/dist/gsa-perdiem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gsa-perdiem.js","sourceRoot":"","sources":["../src/gsa-perdiem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAsC,MAAM,WAAW,CAAC;AACzE,+EAA+E;AAC/E,kFAAkF;AAClF,kFAAkF;AAClF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEvE,qEAAqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,kFAAkF;AAClF,0DAA0D;AAC1D,MAAM,iBAAiB,GAAG,sCAAsC,CAAC;AAEjE,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1C,GAAG,gBAAgB,yCAAyC,IAAI,GAAG,CAAC;AAEtE
|
|
1
|
+
{"version":3,"file":"gsa-perdiem.js","sourceRoot":"","sources":["../src/gsa-perdiem.ts"],"names":[],"mappings":"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"}
|
package/dist/integrity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../src/integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AA8DH,KAAK,uBAAuB,GACxB,MAAM,GACN,YAAY,GACZ,4BAA4B,GAC5B,KAAK,CAAC;AAwDV;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../src/integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AA8DH,KAAK,uBAAuB,GACxB,MAAM,GACN,YAAY,GACZ,4BAA4B,GAC5B,KAAK,CAAC;AAwDV;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;;;;IAgMA;AAoBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiGA;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,uRASjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAgD3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;;;;;;;;;;qBA0Fc,MAAM;oBACP,MAAM;oBACN,MAAM;kBACR,MAAM,GAAG,IAAI;;;;;;;IAiOxB"}
|
package/dist/integrity.js
CHANGED
|
@@ -212,14 +212,29 @@ export async function checkExclusions(args) {
|
|
|
212
212
|
classification !== "any";
|
|
213
213
|
const serverTruncated = totalElements !== null && rawResults.length < totalElements;
|
|
214
214
|
const hitCap = totalElements !== null && totalElements > SGS_MAX_RECORDS;
|
|
215
|
-
|
|
215
|
+
// totalAvailable HONESTY: the raw free-text `totalElements` counts every record
|
|
216
|
+
// that merely shares a WORD with the query — NOT the name-gated matches this
|
|
217
|
+
// tool reports. Surfacing it read as "0 of 252 matches, incomplete" for a firm
|
|
218
|
+
// with ZERO real matches (a vetting tool must not overstate match availability).
|
|
219
|
+
// When the result is name-gated (the normal case — a selector is always
|
|
220
|
+
// required), the true count of name-MATCHING exclusions is genuinely unknown
|
|
221
|
+
// from one page of text hits, so report null (never the free-text total); the
|
|
222
|
+
// per-page match count stays in data.matchCount.
|
|
223
|
+
const totalAvailable = postFiltered ? null : totalElements;
|
|
224
|
+
// truncated only when there is genuinely more to see: more server pages, the
|
|
225
|
+
// deep-paging cap, or this page dropped loose text hits (so a name VARIANT
|
|
226
|
+
// could match on a later page). The old `|| postFiltered` forced truncated:true
|
|
227
|
+
// even over a genuinely empty result set (0 text hits) — asserting incompleteness
|
|
228
|
+
// over an empty set, a contradiction. A fully-consumed name-gated result is a
|
|
229
|
+
// complete, honest empty.
|
|
230
|
+
const truncated = serverTruncated || hitCap || (postFiltered && looseTextHits > 0);
|
|
216
231
|
const notes = [NOT_PROOF_NOTE];
|
|
217
232
|
notes.push("Exclusion screening is only as precise as the name/UEI/CAGE you pass. A name match is NOT identity-proof — confirm the UEI/CAGE, exclusion type, and dates against the FAPIIS record (samFapiisUrl) before acting on a hit.");
|
|
218
233
|
if (query && looseTextHits > 0) {
|
|
219
234
|
notes.push(`SAM's free-text search returned ${looseTextHits} more record(s) sharing a word with "${query}" but NOT matching the normalized firm name — those are OTHER entities' exclusions and were dropped. \`excluded\` reflects ONLY records whose normalized name matches your query. Because this checked one page of text hits, a match under a name VARIANT could sit on a later page — if in doubt, raise \`size\` or verify the firm's UEI via samFapiisUrl.`);
|
|
220
235
|
}
|
|
221
236
|
if (postFiltered) {
|
|
222
|
-
notes.push("A uei/cage/classification/activeOnly post-filter was applied over the fetched page only — the true
|
|
237
|
+
notes.push("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`.");
|
|
223
238
|
}
|
|
224
239
|
if (hitCap) {
|
|
225
240
|
notes.push(`SAM caps deep paging at ${SGS_MAX_RECORDS.toLocaleString()} records; this query is too broad to enumerate fully — narrow the query.`);
|
|
@@ -237,7 +252,7 @@ export async function checkExclusions(args) {
|
|
|
237
252
|
source: EXCLUSIONS_SOURCE,
|
|
238
253
|
keylessMode: true,
|
|
239
254
|
returned: records.length,
|
|
240
|
-
totalAvailable
|
|
255
|
+
totalAvailable,
|
|
241
256
|
truncated,
|
|
242
257
|
pagination: {
|
|
243
258
|
offset: page * size,
|
package/dist/integrity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrity.js","sourceRoot":"","sources":["../src/integrity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"integrity.js","sourceRoot":"","sources":["../src/integrity.ts"],"names":[],"mappings":"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"}
|
package/dist/lda.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lda.d.ts","sourceRoot":"","sources":["../src/lda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAIH,OAAO,EAAE,GAAG,EAAO,MAAM,aAAa,CAAC;AACvC,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAIzE,OAAO,EAAE,GAAG,EAAE,CAAC;AAGf,eAAO,MAAM,QAAQ,mBAAmB,CAAC;AAqBzC;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAItD;AAED,sFAAsF;AACtF,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAGD,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;IAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAKhD;AAwCD,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"lda.d.ts","sourceRoot":"","sources":["../src/lda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAIH,OAAO,EAAE,GAAG,EAAO,MAAM,aAAa,CAAC;AACvC,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAIzE,OAAO,EAAE,GAAG,EAAE,CAAC;AAGf,eAAO,MAAM,QAAQ,mBAAmB,CAAC;AAqBzC;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAItD;AAED,sFAAsF;AACtF,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAGD,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;IAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAKhD;AAwCD,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,UAAU,CAAC,CAyJrB"}
|
package/dist/lda.js
CHANGED
|
@@ -169,10 +169,20 @@ export async function searchFilings(args) {
|
|
|
169
169
|
setFilter("lobbyist_name", args.lobbyistName, "lobbyistName");
|
|
170
170
|
setFilter("filing_year", args.filingYear, "filingYear");
|
|
171
171
|
setFilter("filing_type", args.filingType, "filingType");
|
|
172
|
-
setFilter("government_entity", args.agency, "agency");
|
|
173
172
|
setFilter("filing_specific_lobbying_issues", args.issue, "issue");
|
|
174
173
|
params.set("page", String(page));
|
|
175
174
|
params.set("page_size", String(pageSize));
|
|
175
|
+
// [filter honesty] `agency` maps to NO server-side filter on /filings/: the LDA
|
|
176
|
+
// API silently ignores `government_entity` (live-verified — adding it does NOT
|
|
177
|
+
// narrow `count`; government entities are nested per lobbying activity, not a
|
|
178
|
+
// top-level filter). So we NEVER send it (an ignored param buys nothing) and
|
|
179
|
+
// disclose it as DROPPED — reporting it as applied while returning the full
|
|
180
|
+
// corpus would be a silent-filter-drop lie (filtersApplied + totalAvailable
|
|
181
|
+
// overstated as if agency-scoped).
|
|
182
|
+
const filtersDropped = [];
|
|
183
|
+
if (args.agency !== undefined && args.agency !== "") {
|
|
184
|
+
filtersDropped.push("agency");
|
|
185
|
+
}
|
|
176
186
|
const url = `https://${LDA_HOST}${LDA_FILINGS_PATH}?${params.toString()}`;
|
|
177
187
|
// Belt-and-suspenders: the fixed host + strictly-built query leave nothing to
|
|
178
188
|
// steer the authority; assert the built URL cannot have been moved off-host.
|
|
@@ -213,8 +223,8 @@ export async function searchFilings(args) {
|
|
|
213
223
|
kind: "invalid_input",
|
|
214
224
|
retryable: false,
|
|
215
225
|
message: apiMsg
|
|
216
|
-
? `LDA rejected the request (HTTP 400): ${apiMsg}. Check the filter parameters (filingYear, filingType,
|
|
217
|
-
: "LDA rejected the request (HTTP 400) — check the filter parameters (filingYear, filingType,
|
|
226
|
+
? `LDA rejected the request (HTTP 400): ${apiMsg}. Check the filter parameters (filingYear, filingType, issue, …).`
|
|
227
|
+
: "LDA rejected the request (HTTP 400) — check the filter parameters (filingYear, filingType, issue, …).",
|
|
218
228
|
upstreamStatus: 400,
|
|
219
229
|
upstreamEndpoint: LDA_FILINGS_LABEL,
|
|
220
230
|
});
|
|
@@ -243,13 +253,16 @@ export async function searchFilings(args) {
|
|
|
243
253
|
if (hasMore) {
|
|
244
254
|
notes.push(`This is page ${page} (pageSize ${pageSize}) of ~${Math.ceil(totalAvailable / pageSize)} — pass page=${page + 1} for the next page.`);
|
|
245
255
|
}
|
|
256
|
+
if (filtersDropped.includes("agency")) {
|
|
257
|
+
notes.push("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.");
|
|
258
|
+
}
|
|
246
259
|
return withMeta({ filings }, {
|
|
247
260
|
source: `${LDA_HOST} /api/v1/filings (US Senate LDA lobbying; keyless)`,
|
|
248
261
|
keylessMode: true, // ★KEYLESS — the optional key only raises the rate limit
|
|
249
262
|
returned,
|
|
250
263
|
totalAvailable,
|
|
251
264
|
filtersApplied,
|
|
252
|
-
filtersDropped
|
|
265
|
+
filtersDropped,
|
|
253
266
|
fieldsUnavailable: [],
|
|
254
267
|
pagination: { offset, limit: pageSize, hasMore, nextOffset },
|
|
255
268
|
notes,
|
package/dist/lda.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lda.js","sourceRoot":"","sources":["../src/lda.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lda.js","sourceRoot":"","sources":["../src/lda.ts"],"names":[],"mappings":"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"}
|
package/dist/nhtsa.d.ts
CHANGED
|
@@ -19,16 +19,20 @@
|
|
|
19
19
|
* entirely — never surfaced, logged, or stored. The B2G value is the
|
|
20
20
|
* manufacturer / component / safety signal, NOT the VIN.
|
|
21
21
|
*
|
|
22
|
-
* ★ THE HONESTY PILLARS (P1
|
|
22
|
+
* ★ THE HONESTY PILLARS (P1/P3/P4 live-verified 2026-07-15; P2 corrected +
|
|
23
|
+
* re-verified 2026-07-20):
|
|
23
24
|
* P1: totalAvailable = `Count` (recalls) / `count` (complaints) — the REAL total.
|
|
24
25
|
* NHTSA returns the COMPLETE filtered set (no pagination), so in the normal
|
|
25
26
|
* case Count === results.length ⇒ complete:true. totalAvailable is NEVER
|
|
26
27
|
* fabricated: a PRESENT numeric Count is trusted verbatim; a MISSING Count
|
|
27
28
|
* falls back to results.length WITH an honest note (never invented).
|
|
28
|
-
* P2:
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
29
|
+
* P2: ★NHTSA returns HTTP 400 (NOT 200) + {Count/count:0, results:[]} (Message
|
|
30
|
+
* "Results returned successfully") for a VALID make/model/year that simply
|
|
31
|
+
* has ZERO records (live-verified 2026-07-20). getNhtsa reads the body and
|
|
32
|
+
* reclassifies THAT idiom as an HONEST EMPTY (returned:0, totalAvailable:0,
|
|
33
|
+
* complete:true) with a note; any OTHER 400 ⇒ invalid_input, a 404 ⇒
|
|
34
|
+
* not_found, a 5xx/timeout ⇒ THROW (never a fake empty), a 200 non-JSON
|
|
35
|
+
* body ⇒ schema_drift.
|
|
32
36
|
* P3: booleans (crash/fire/parkIt/parkOutSide/overTheAirUpdate) preserved AS
|
|
33
37
|
* booleans (a non-boolean ⇒ null, never a fabricated false); counts
|
|
34
38
|
* (numberOfInjuries/numberOfDeaths) via `num` (a genuine 0 stays 0, NEVER
|
package/dist/nhtsa.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nhtsa.d.ts","sourceRoot":"","sources":["../src/nhtsa.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"nhtsa.d.ts","sourceRoot":"","sources":["../src/nhtsa.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAKH,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAGzE,eAAO,MAAM,UAAU,kBAAkB,CAAC;AAY1C,eAAO,MAAM,mBAAmB,QAAY,CAAC;AAC7C,eAAO,MAAM,mBAAmB,QAAqB,CAAC;AActD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA8KF,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AA4CF;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmCzE;AAGD;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuC5E"}
|
package/dist/nhtsa.js
CHANGED
|
@@ -19,16 +19,20 @@
|
|
|
19
19
|
* entirely — never surfaced, logged, or stored. The B2G value is the
|
|
20
20
|
* manufacturer / component / safety signal, NOT the VIN.
|
|
21
21
|
*
|
|
22
|
-
* ★ THE HONESTY PILLARS (P1
|
|
22
|
+
* ★ THE HONESTY PILLARS (P1/P3/P4 live-verified 2026-07-15; P2 corrected +
|
|
23
|
+
* re-verified 2026-07-20):
|
|
23
24
|
* P1: totalAvailable = `Count` (recalls) / `count` (complaints) — the REAL total.
|
|
24
25
|
* NHTSA returns the COMPLETE filtered set (no pagination), so in the normal
|
|
25
26
|
* case Count === results.length ⇒ complete:true. totalAvailable is NEVER
|
|
26
27
|
* fabricated: a PRESENT numeric Count is trusted verbatim; a MISSING Count
|
|
27
28
|
* falls back to results.length WITH an honest note (never invented).
|
|
28
|
-
* P2:
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
29
|
+
* P2: ★NHTSA returns HTTP 400 (NOT 200) + {Count/count:0, results:[]} (Message
|
|
30
|
+
* "Results returned successfully") for a VALID make/model/year that simply
|
|
31
|
+
* has ZERO records (live-verified 2026-07-20). getNhtsa reads the body and
|
|
32
|
+
* reclassifies THAT idiom as an HONEST EMPTY (returned:0, totalAvailable:0,
|
|
33
|
+
* complete:true) with a note; any OTHER 400 ⇒ invalid_input, a 404 ⇒
|
|
34
|
+
* not_found, a 5xx/timeout ⇒ THROW (never a fake empty), a 200 non-JSON
|
|
35
|
+
* body ⇒ schema_drift.
|
|
32
36
|
* P3: booleans (crash/fire/parkIt/parkOutSide/overTheAirUpdate) preserved AS
|
|
33
37
|
* booleans (a non-boolean ⇒ null, never a fabricated false); counts
|
|
34
38
|
* (numberOfInjuries/numberOfDeaths) via `num` (a genuine 0 stays 0, NEVER
|
|
@@ -41,8 +45,8 @@
|
|
|
41
45
|
* ^\d{4}$; make/model are charclass-validated (letters/digits/space/hyphen,
|
|
42
46
|
* so a `../` or `%` can never reach the fixed path).
|
|
43
47
|
*/
|
|
44
|
-
import { ToolErrorCarrier } from "./errors.js";
|
|
45
|
-
import {
|
|
48
|
+
import { ToolErrorCarrier, errorFromResponse } from "./errors.js";
|
|
49
|
+
import { driftError, isRedirectError } from "./datasource.js";
|
|
46
50
|
import { num, str } from "./coerce.js";
|
|
47
51
|
import { withMeta } from "./meta.js";
|
|
48
52
|
// ─── Fixed endpoint (SSRF core — compile-time CONSTANTS) ──────────
|
|
@@ -92,10 +96,31 @@ function validateVehicleArgs(args, label) {
|
|
|
92
96
|
}
|
|
93
97
|
// ─── SSRF-guarded fetch (fixed host + hostname assertion + redirect) ──
|
|
94
98
|
/**
|
|
95
|
-
*
|
|
96
|
-
* `
|
|
97
|
-
*
|
|
98
|
-
* `
|
|
99
|
+
* ★ NHTSA's "400-for-empty" idiom. A VALID make/model/year that simply has ZERO
|
|
100
|
+
* records returns HTTP 400 with a body `{Count/count:0, ..., results:[]}` and
|
|
101
|
+
* `Message/message:"Results returned successfully"` (live-verified 2026-07-20:
|
|
102
|
+
* `make=tesla&model=model 3&modelYear=2015` → HTTP 400, Count 0). Recalls use
|
|
103
|
+
* `Count`/`Message`, complaints use lowercase `count`/`message` — accept either.
|
|
104
|
+
* This is a genuine no-match, NOT a bad request; the caller reclassifies it to an
|
|
105
|
+
* honest empty. (A 400 that is NOT this idiom stays a real invalid_input.)
|
|
106
|
+
*/
|
|
107
|
+
function isNhtsaEmptyIdiom(body) {
|
|
108
|
+
if (body === null || typeof body !== "object")
|
|
109
|
+
return false;
|
|
110
|
+
const b = body;
|
|
111
|
+
const rawCount = b.Count ?? b.count;
|
|
112
|
+
return num(rawCount) === 0 && Array.isArray(b.results) && b.results.length === 0;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* GET one NHTSA JSON resource on the FIXED host. Bespoke `fetch` (NOT the shared
|
|
116
|
+
* getJson) because we must READ a non-2xx body: NHTSA returns HTTP 400 for a valid
|
|
117
|
+
* query with zero records (the ★400-for-empty idiom above), and getJson would
|
|
118
|
+
* throw invalid_input and DISCARD the body — turning "zero recalls" (a valid,
|
|
119
|
+
* high-value answer) into a phantom "Bad request". Asserts the constructed URL's
|
|
120
|
+
* hostname === the fixed host over https (belt-and-suspenders) + `redirect:"error"`
|
|
121
|
+
* (fail closed on any off-host 3xx). Keyless — no header/token. Non-2xx that is NOT
|
|
122
|
+
* the empty idiom keeps the standard taxonomy (400→invalid_input, 404→not_found,
|
|
123
|
+
* 429→rate_limited, 5xx→upstream_unavailable); a 200 non-JSON body ⇒ schema_drift.
|
|
99
124
|
*/
|
|
100
125
|
async function getNhtsa(path, label, params) {
|
|
101
126
|
const url = `https://${NHTSA_HOST}${path}?${params.toString()}`;
|
|
@@ -108,7 +133,55 @@ async function getNhtsa(path, label, params) {
|
|
|
108
133
|
upstreamEndpoint: label,
|
|
109
134
|
});
|
|
110
135
|
}
|
|
111
|
-
|
|
136
|
+
let res;
|
|
137
|
+
try {
|
|
138
|
+
res = await fetch(built.toString(), {
|
|
139
|
+
redirect: "error",
|
|
140
|
+
signal: AbortSignal.timeout(15_000),
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
catch (e) {
|
|
144
|
+
if (isRedirectError(e)) {
|
|
145
|
+
throw driftError(label, `NHTSA returned an off-host redirect (redirect:"error") while fetching ${label} — refusing to follow it (SSRF safety).`);
|
|
146
|
+
}
|
|
147
|
+
if (e instanceof Error && (e.name === "TimeoutError" || e.name === "AbortError")) {
|
|
148
|
+
throw new ToolErrorCarrier({
|
|
149
|
+
kind: "upstream_unavailable",
|
|
150
|
+
retryable: false,
|
|
151
|
+
message: `Request to ${label} timed out.`,
|
|
152
|
+
upstreamEndpoint: label,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
throw new ToolErrorCarrier({
|
|
156
|
+
kind: "upstream_unavailable",
|
|
157
|
+
retryable: true,
|
|
158
|
+
retryAfterSeconds: 30,
|
|
159
|
+
message: `Network error reaching ${label}: ${e instanceof Error ? e.message : String(e)}`,
|
|
160
|
+
upstreamEndpoint: label,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
if (!res.ok) {
|
|
164
|
+
// ★P2 CRUX: read the body — a 400 that is NHTSA's empty idiom is an HONEST
|
|
165
|
+
// no-match (returned via resolveTotal as Count 0 → total 0), NOT an error.
|
|
166
|
+
let body = null;
|
|
167
|
+
try {
|
|
168
|
+
body = await res.json();
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
body = null;
|
|
172
|
+
}
|
|
173
|
+
if (res.status === 400 && isNhtsaEmptyIdiom(body))
|
|
174
|
+
return body;
|
|
175
|
+
// Any other non-2xx keeps the standard taxonomy (never a fabricated empty).
|
|
176
|
+
// errorFromResponse returns a plain ToolError → wrap it in the carrier to throw.
|
|
177
|
+
throw new ToolErrorCarrier(errorFromResponse(res, label));
|
|
178
|
+
}
|
|
179
|
+
try {
|
|
180
|
+
return await res.json();
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
throw driftError(label, `NHTSA ${label} returned a non-JSON body at HTTP 200 — schema drift (never read as an empty result).`);
|
|
184
|
+
}
|
|
112
185
|
}
|
|
113
186
|
/** Build the shared make/model/modelYear query (module-built; no raw passthrough). */
|
|
114
187
|
function vehicleParams(args) {
|
|
@@ -119,22 +192,13 @@ function vehicleParams(args) {
|
|
|
119
192
|
return params;
|
|
120
193
|
}
|
|
121
194
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* error
|
|
195
|
+
* Build the vehicle query and fetch through getNhtsa, which fully classifies the
|
|
196
|
+
* response: the ★400-for-empty idiom → an honest empty; every other non-2xx → the
|
|
197
|
+
* standard taxonomy; a 200 non-JSON body → schema_drift. A thin wrapper — getNhtsa
|
|
198
|
+
* owns the error contract.
|
|
126
199
|
*/
|
|
127
200
|
async function fetchNhtsa(path, label, args) {
|
|
128
|
-
|
|
129
|
-
return await getNhtsa(path, label, vehicleParams(args));
|
|
130
|
-
}
|
|
131
|
-
catch (e) {
|
|
132
|
-
if (e instanceof ToolErrorCarrier)
|
|
133
|
-
throw e;
|
|
134
|
-
if (e instanceof SyntaxError)
|
|
135
|
-
throw driftError(label, `NHTSA ${label} returned a non-JSON body at HTTP 200 — schema drift (never read as an empty result).`);
|
|
136
|
-
throw e;
|
|
137
|
-
}
|
|
201
|
+
return await getNhtsa(path, label, vehicleParams(args));
|
|
138
202
|
}
|
|
139
203
|
/**
|
|
140
204
|
* Resolve the total from a Count/count field (P1/P4). A PRESENT numeric value is
|