@cliwant/mcp-sam-gov 0.2.1 → 1.0.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/LICENSE +21 -21
- package/README.ja.md +48 -16
- package/README.ko.md +48 -16
- package/README.md +279 -67
- package/dist/attachments.d.ts +63 -0
- package/dist/attachments.d.ts.map +1 -0
- package/dist/attachments.js +576 -0
- package/dist/attachments.js.map +1 -0
- package/dist/bls.d.ts +267 -0
- package/dist/bls.d.ts.map +1 -0
- package/dist/bls.js +1549 -0
- package/dist/bls.js.map +1 -0
- package/dist/cache.d.ts +42 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +64 -0
- package/dist/cache.js.map +1 -0
- package/dist/census.d.ts +182 -0
- package/dist/census.d.ts.map +1 -0
- package/dist/census.js +576 -0
- package/dist/census.js.map +1 -0
- package/dist/ckan.d.ts +141 -0
- package/dist/ckan.d.ts.map +1 -0
- package/dist/ckan.js +393 -0
- package/dist/ckan.js.map +1 -0
- package/dist/clinicaltrials.d.ts +180 -0
- package/dist/clinicaltrials.d.ts.map +1 -0
- package/dist/clinicaltrials.js +730 -0
- package/dist/clinicaltrials.js.map +1 -0
- package/dist/cms.d.ts +140 -0
- package/dist/cms.d.ts.map +1 -0
- package/dist/cms.js +482 -0
- package/dist/cms.js.map +1 -0
- package/dist/coerce.d.ts +32 -0
- package/dist/coerce.d.ts.map +1 -0
- package/dist/coerce.js +50 -0
- package/dist/coerce.js.map +1 -0
- package/dist/datagov-catalog.d.ts +84 -0
- package/dist/datagov-catalog.d.ts.map +1 -0
- package/dist/datagov-catalog.js +233 -0
- package/dist/datagov-catalog.js.map +1 -0
- package/dist/datagov.d.ts +146 -0
- package/dist/datagov.d.ts.map +1 -0
- package/dist/datagov.js +689 -0
- package/dist/datagov.js.map +1 -0
- package/dist/datagovKey.d.ts +36 -0
- package/dist/datagovKey.d.ts.map +1 -0
- package/dist/datagovKey.js +60 -0
- package/dist/datagovKey.js.map +1 -0
- package/dist/datasource.d.ts +313 -0
- package/dist/datasource.d.ts.map +1 -0
- package/dist/datasource.js +551 -0
- package/dist/datasource.js.map +1 -0
- package/dist/disclosure.d.ts +55 -0
- package/dist/disclosure.d.ts.map +1 -0
- package/dist/disclosure.js +57 -0
- package/dist/disclosure.js.map +1 -0
- package/dist/ecfr.d.ts +4 -2
- package/dist/ecfr.d.ts.map +1 -1
- package/dist/ecfr.js +92 -17
- package/dist/ecfr.js.map +1 -1
- package/dist/echo.d.ts +143 -0
- package/dist/echo.d.ts.map +1 -0
- package/dist/echo.js +424 -0
- package/dist/echo.js.map +1 -0
- package/dist/edgar.d.ts +377 -0
- package/dist/edgar.d.ts.map +1 -0
- package/dist/edgar.js +2418 -0
- package/dist/edgar.js.map +1 -0
- package/dist/errors.d.ts +102 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +247 -0
- package/dist/errors.js.map +1 -0
- package/dist/fac.d.ts +180 -0
- package/dist/fac.d.ts.map +1 -0
- package/dist/fac.js +416 -0
- package/dist/fac.js.map +1 -0
- package/dist/far.d.ts +170 -0
- package/dist/far.d.ts.map +1 -0
- package/dist/far.js +804 -0
- package/dist/far.js.map +1 -0
- package/dist/fdic.d.ts +599 -0
- package/dist/fdic.d.ts.map +1 -0
- package/dist/fdic.js +1624 -0
- package/dist/fdic.js.map +1 -0
- package/dist/federal-register.d.ts +139 -2
- package/dist/federal-register.d.ts.map +1 -1
- package/dist/federal-register.js +432 -15
- package/dist/federal-register.js.map +1 -1
- package/dist/fema.d.ts +181 -0
- package/dist/fema.d.ts.map +1 -0
- package/dist/fema.js +436 -0
- package/dist/fema.js.map +1 -0
- package/dist/fpds.d.ts +108 -0
- package/dist/fpds.d.ts.map +1 -0
- package/dist/fpds.js +519 -0
- package/dist/fpds.js.map +1 -0
- package/dist/gao.d.ts +64 -0
- package/dist/gao.d.ts.map +1 -0
- package/dist/gao.js +640 -0
- package/dist/gao.js.map +1 -0
- package/dist/govinfo.d.ts +111 -0
- package/dist/govinfo.d.ts.map +1 -0
- package/dist/govinfo.js +422 -0
- package/dist/govinfo.js.map +1 -0
- package/dist/grants.d.ts +27 -4
- package/dist/grants.d.ts.map +1 -1
- package/dist/grants.js +114 -11
- package/dist/grants.js.map +1 -1
- package/dist/gsa-csv.d.ts +249 -0
- package/dist/gsa-csv.d.ts.map +1 -0
- package/dist/gsa-csv.js +784 -0
- package/dist/gsa-csv.js.map +1 -0
- package/dist/integrity.d.ts +212 -0
- package/dist/integrity.d.ts.map +1 -0
- package/dist/integrity.js +707 -0
- package/dist/integrity.js.map +1 -0
- package/dist/meta.d.ts +165 -0
- package/dist/meta.d.ts.map +1 -0
- package/dist/meta.js +162 -0
- package/dist/meta.js.map +1 -0
- package/dist/nih.d.ts +117 -0
- package/dist/nih.d.ts.map +1 -0
- package/dist/nih.js +291 -0
- package/dist/nih.js.map +1 -0
- package/dist/nppes.d.ts +157 -0
- package/dist/nppes.d.ts.map +1 -0
- package/dist/nppes.js +648 -0
- package/dist/nppes.js.map +1 -0
- package/dist/nsf.d.ts +176 -0
- package/dist/nsf.d.ts.map +1 -0
- package/dist/nsf.js +554 -0
- package/dist/nsf.js.map +1 -0
- package/dist/nvd.d.ts +176 -0
- package/dist/nvd.d.ts.map +1 -0
- package/dist/nvd.js +912 -0
- package/dist/nvd.js.map +1 -0
- package/dist/ofac.d.ts +205 -0
- package/dist/ofac.d.ts.map +1 -0
- package/dist/ofac.js +919 -0
- package/dist/ofac.js.map +1 -0
- package/dist/pricing.d.ts +110 -0
- package/dist/pricing.d.ts.map +1 -0
- package/dist/pricing.js +843 -0
- package/dist/pricing.js.map +1 -0
- package/dist/sam-gov/client.d.ts +60 -2
- package/dist/sam-gov/client.d.ts.map +1 -1
- package/dist/sam-gov/client.js +320 -54
- package/dist/sam-gov/client.js.map +1 -1
- package/dist/sam-gov/index.d.ts +1 -1
- package/dist/sam-gov/index.d.ts.map +1 -1
- package/dist/sam-gov/index.js +1 -1
- package/dist/sam-gov/index.js.map +1 -1
- package/dist/sam-gov/types.d.ts +24 -0
- package/dist/sam-gov/types.d.ts.map +1 -1
- package/dist/sba.d.ts +72 -0
- package/dist/sba.d.ts.map +1 -0
- package/dist/sba.js +281 -0
- package/dist/sba.js.map +1 -0
- package/dist/server.d.ts +14 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3897 -295
- package/dist/server.js.map +1 -1
- package/dist/snapshot.d.ts +98 -0
- package/dist/snapshot.d.ts.map +1 -0
- package/dist/snapshot.js +146 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/socrata.d.ts +157 -0
- package/dist/socrata.d.ts.map +1 -0
- package/dist/socrata.js +448 -0
- package/dist/socrata.js.map +1 -0
- package/dist/treasury.d.ts +143 -0
- package/dist/treasury.d.ts.map +1 -0
- package/dist/treasury.js +436 -0
- package/dist/treasury.js.map +1 -0
- package/dist/usaspending.d.ts +260 -65
- package/dist/usaspending.d.ts.map +1 -1
- package/dist/usaspending.js +1664 -228
- package/dist/usaspending.js.map +1 -1
- package/dist/usitc.d.ts +142 -0
- package/dist/usitc.d.ts.map +1 -0
- package/dist/usitc.js +339 -0
- package/dist/usitc.js.map +1 -0
- package/package.json +24 -2
- package/src/attachments.ts +652 -0
- package/src/bls.ts +1943 -0
- package/src/cache.ts +73 -0
- package/src/census.ts +735 -0
- package/src/ckan.ts +495 -0
- package/src/clinicaltrials.ts +923 -0
- package/src/cms.ts +634 -0
- package/src/coerce.ts +47 -0
- package/src/datagov-catalog.ts +296 -0
- package/src/datagov.ts +907 -0
- package/src/datagovKey.ts +68 -0
- package/src/datasource.ts +721 -0
- package/src/disclosure.ts +61 -0
- package/src/ecfr.ts +231 -127
- package/src/echo.ts +496 -0
- package/src/edgar.ts +3014 -0
- package/src/errors.ts +303 -0
- package/src/fac.ts +529 -0
- package/src/far.ts +1007 -0
- package/src/fdic.ts +2052 -0
- package/src/federal-register.ts +706 -191
- package/src/fema.ts +541 -0
- package/src/fpds.ts +620 -0
- package/src/gao.ts +744 -0
- package/src/govinfo.ts +497 -0
- package/src/grants.ts +290 -155
- package/src/gsa-csv.ts +992 -0
- package/src/integrity.ts +928 -0
- package/src/meta.ts +292 -0
- package/src/nih.ts +375 -0
- package/src/nppes.ts +834 -0
- package/src/nsf.ts +706 -0
- package/src/nvd.ts +1124 -0
- package/src/ofac.ts +1166 -0
- package/src/pricing.ts +1075 -0
- package/src/sam-gov/client.ts +345 -63
- package/src/sam-gov/index.ts +5 -1
- package/src/sam-gov/types.ts +22 -0
- package/src/sba.ts +357 -0
- package/src/server.ts +4559 -327
- package/src/snapshot.ts +192 -0
- package/src/socrata.ts +532 -0
- package/src/treasury.ts +575 -0
- package/src/usaspending.ts +2680 -925
- package/src/usitc.ts +420 -0
package/dist/nvd.d.ts
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @cliwant/mcp-sam-gov/nvd — the IT / CYBER-COMPLIANCE lane (keyless).
|
|
3
|
+
*
|
|
4
|
+
* Why this exists (ADR-0035)
|
|
5
|
+
* --------------------------
|
|
6
|
+
* The server has DEEP regulatory-Comply (FAR/eCFR/SBA) and DEEP entity vetting
|
|
7
|
+
* (EDGAR/FDIC/OFAC) but ZERO IT/cyber compliance — a whole GovCon segment
|
|
8
|
+
* (FedRAMP-authorized cloud, CMMC-obligated defense IT, SBOM/supply-chain) is
|
|
9
|
+
* unserved. This ONE keyless source opens that lane by JOINing two federal
|
|
10
|
+
* upstreams:
|
|
11
|
+
* - NIST NVD CVE API 2.0 (services.nvd.nist.gov) — the authoritative federal
|
|
12
|
+
* CVE/CVSS database.
|
|
13
|
+
* - CISA KEV catalog (www.cisa.gov) — the Known-Exploited-Vulnerabilities list
|
|
14
|
+
* carrying BINDING remediation due-dates under BOD 22-01 / its 2026 successor
|
|
15
|
+
* BOD 26-04.
|
|
16
|
+
* The B2G unlock is the JOIN: a GovCon IT vendor checking a product/component
|
|
17
|
+
* gets both "how severe is this CVE (CVSS)" AND "does CISA mandate remediation
|
|
18
|
+
* by a date" in one `cve_lookup` row.
|
|
19
|
+
*
|
|
20
|
+
* TWO tools on THIS one source:
|
|
21
|
+
* - cve_lookup — NVD CVE detail/search JOINED with KEV status.
|
|
22
|
+
* - cisa_kev_lookup — the KEV catalog filtered standalone.
|
|
23
|
+
*
|
|
24
|
+
* ★ NEVER-FAKE honesty (mirrors OFAC's never-fake-CLEAR doctrine):
|
|
25
|
+
* - P1 pagination derives from `totalResults` (the EXACT count), NEVER page
|
|
26
|
+
* length.
|
|
27
|
+
* - P2 a genuine `totalResults:0` / `found:false` is honest; ANY 404 / 5xx /
|
|
28
|
+
* timeout / network / off-host-redirect / 403 / 429 THROWS (never fake-empty).
|
|
29
|
+
* - P3 base scores / counts are null-never-0 (`num`); an absent/Rejected score
|
|
30
|
+
* is null, a real 0.0 CVSS is 0.
|
|
31
|
+
* - A KEV download failure NEVER fabricates "not on the mandatory-remediation
|
|
32
|
+
* list": cve_lookup degrades to `kev.listed:null` (never false); cisa_kev_lookup
|
|
33
|
+
* THROWS; and a `kevOnly:true` filter during a KEV outage THROWS (M1).
|
|
34
|
+
*
|
|
35
|
+
* The module writes ZERO fetch/coercion/error/meta code — it REUSES `getJson`
|
|
36
|
+
* (redirect:"error"), `throughGate`, `driftError`, `num`/`str` (null-never-0),
|
|
37
|
+
* `withMeta`/`buildMeta`, and MIRRORS the OFAC catalog-cache + the BLS
|
|
38
|
+
* optional-key/tier-disclosure seam.
|
|
39
|
+
*
|
|
40
|
+
* ★ SSRF (policy①): both hosts are compile-time CONSTANTS; NO caller value
|
|
41
|
+
* touches host/path. NVD caller inputs are QUERY params only (validated then
|
|
42
|
+
* `URLSearchParams`-encoded); KEV takes no params (filters run client-side over
|
|
43
|
+
* the cached catalog). A post-construction hostname/protocol assert +
|
|
44
|
+
* `redirect:"error"` lock both (fail closed on any off-host 3xx; its body never
|
|
45
|
+
* read).
|
|
46
|
+
*
|
|
47
|
+
* ★ OPTIONAL NVD_API_KEY (never leaked): read once via `resolvedNvdKey()` (the
|
|
48
|
+
* ONLY reader; mirrors `resolvedBlsKey`). When set, injected ONLY into the
|
|
49
|
+
* documented `apiKey` HTTP header and NOWHERE else (never the URL, label,
|
|
50
|
+
* `_meta`, or a log), and it shortens the self-throttle interval. Only the MODE
|
|
51
|
+
* is ever disclosed.
|
|
52
|
+
*/
|
|
53
|
+
import { num } from "./coerce.js";
|
|
54
|
+
import { type MetaBundle } from "./meta.js";
|
|
55
|
+
export { num };
|
|
56
|
+
/** Exact-CVE id shape (client-side; a malformed cveId 404s upstream). */
|
|
57
|
+
export declare const CVE_ID_RE: RegExp;
|
|
58
|
+
/** The ONLY reader of the key value (mirror `resolvedBlsKey`). Trimmed; empty ⇒
|
|
59
|
+
* keyless. Every other helper exposes only the MODE. */
|
|
60
|
+
export declare function resolvedNvdKey(): string;
|
|
61
|
+
/** true when no NVD_API_KEY is configured (keyless). Drives mode + interval. */
|
|
62
|
+
export declare function usingNvdKey(): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* ★ M3 — the load-bearing not-in-KEV ≠ safe caveat (VERBATIM shared constant,
|
|
65
|
+
* mirror `OFAC_NOT_DETERMINATION_NOTE`). Rides on cve_lookup's `kev.listed:false`
|
|
66
|
+
* AND on cisa_kev_lookup's `_meta.notes`. KEV is a CISA-curated subset of
|
|
67
|
+
* CONFIRMED in-the-wild exploitation; absence is NOT a safety clearance.
|
|
68
|
+
*/
|
|
69
|
+
export declare const KEV_NOT_SAFE_NOTE = "NOT in the CISA KEV catalog does NOT mean not-exploited, not-vulnerable, or safe \u2014 KEV is a CURATED SUBSET of CVEs with CISA-confirmed in-the-wild exploitation. Absence means CISA has not catalogued it, NOT that the component is unexploited or not vulnerable. Assess severity from the CVSS/CVE detail and your own analysis.";
|
|
70
|
+
export type CvssMetric = {
|
|
71
|
+
version: string | null;
|
|
72
|
+
source: string | null;
|
|
73
|
+
type: "Primary" | "Secondary" | string | null;
|
|
74
|
+
baseScore: number | null;
|
|
75
|
+
baseSeverity: string | null;
|
|
76
|
+
vectorString: string | null;
|
|
77
|
+
exploitabilityScore: number | null;
|
|
78
|
+
impactScore: number | null;
|
|
79
|
+
};
|
|
80
|
+
export type PrimaryCvss = {
|
|
81
|
+
version: string | null;
|
|
82
|
+
baseScore: number | null;
|
|
83
|
+
baseSeverity: string | null;
|
|
84
|
+
type: "Primary" | "Secondary" | string | null;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Extract EVERY `metrics` key matching `^cvssMetric` (V2/V30/V31/V40) into one
|
|
88
|
+
* `cvssMetrics[]` element per entry. `ssvcV203` and any non-cvssMetric key are
|
|
89
|
+
* IGNORED (never a "score"). `baseScore`/`baseSeverity` read from `cvssData`,
|
|
90
|
+
* with the V2 metric-level `baseSeverity` as the load-bearing fallback. Base
|
|
91
|
+
* score is null-never-0 (`num`).
|
|
92
|
+
*/
|
|
93
|
+
export declare function extractCvssMetrics(metrics: unknown): CvssMetric[];
|
|
94
|
+
/**
|
|
95
|
+
* ★ M4 — `primaryCvss` is version-highest but type-PREFERENTIAL not
|
|
96
|
+
* type-EXCLUSIVE: pick the highest CVSS version overall, preferring Primary and
|
|
97
|
+
* FALLING BACK to the highest-version Secondary when no Primary exists. INCLUDES
|
|
98
|
+
* the `type`. Null ONLY when `cvssMetrics[]` is genuinely empty (Rejected/Awaiting).
|
|
99
|
+
*/
|
|
100
|
+
export declare function pickPrimaryCvss(metrics: CvssMetric[]): PrimaryCvss | null;
|
|
101
|
+
export type KevEntry = {
|
|
102
|
+
cveID: string | null;
|
|
103
|
+
vendorProject: string | null;
|
|
104
|
+
product: string | null;
|
|
105
|
+
vulnerabilityName: string | null;
|
|
106
|
+
dateAdded: string | null;
|
|
107
|
+
shortDescription: string | null;
|
|
108
|
+
requiredAction: string | null;
|
|
109
|
+
dueDate: string | null;
|
|
110
|
+
/** Surfaced VERBATIM (Known/Unknown) — never defaulted. */
|
|
111
|
+
knownRansomwareCampaignUse: string | null;
|
|
112
|
+
notes: string | null;
|
|
113
|
+
cwes: string[];
|
|
114
|
+
};
|
|
115
|
+
export type LoadedKev = {
|
|
116
|
+
entries: KevEntry[];
|
|
117
|
+
byCve: Map<string, KevEntry>;
|
|
118
|
+
catalogVersion: string | null;
|
|
119
|
+
dateReleased: string | null;
|
|
120
|
+
count: number;
|
|
121
|
+
fetchedAt: number;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Parse + validate the KEV catalog body → a loaded snapshot. Shape-guard FIRST
|
|
125
|
+
* (a non-object / missing `vulnerabilities` → driftError, never a fake empty),
|
|
126
|
+
* then the plausibility FLOOR + the `count === vulnerabilities.length` DRIFT
|
|
127
|
+
* guard. A truncated/drifted catalog THROWS (never read as "nothing exploited").
|
|
128
|
+
*/
|
|
129
|
+
export declare function parseKevCatalog(body: unknown, label: string): LoadedKev;
|
|
130
|
+
/** TEST-ONLY: drop the KEV cache so a fault case can re-point the fetch mock. */
|
|
131
|
+
export declare function _resetNvdCacheForTests(): void;
|
|
132
|
+
export type CveLookupArgs = {
|
|
133
|
+
cveId?: string;
|
|
134
|
+
keyword?: string;
|
|
135
|
+
cpeName?: string;
|
|
136
|
+
cvssV3Severity?: string;
|
|
137
|
+
pubStartDate?: string;
|
|
138
|
+
pubEndDate?: string;
|
|
139
|
+
lastModStartDate?: string;
|
|
140
|
+
lastModEndDate?: string;
|
|
141
|
+
kevOnly?: boolean;
|
|
142
|
+
resultsPerPage?: number;
|
|
143
|
+
startIndex?: number;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* NVD CVE exact-lookup (`cveId`) OR search (keyword/cpeName/cvssV3Severity/
|
|
147
|
+
* date-range), each row ANNOTATED with its CISA KEV status. Honest `_meta`:
|
|
148
|
+
* totalAvailable = totalResults (exact), within-window pagination, tierNote, KEV
|
|
149
|
+
* freshness, the not-in-KEV caveat, span-clamp/rejected notes as applicable.
|
|
150
|
+
*
|
|
151
|
+
* ★ M1 — when `kevOnly` is truthy AND the KEV catalog failed to load, THROW the
|
|
152
|
+
* classified KEV error (a KEV-membership filter is unanswerable without a loaded
|
|
153
|
+
* catalog; a silently-empty result would be a fake "none on the mandatory list").
|
|
154
|
+
*/
|
|
155
|
+
export declare function cveLookup(args: CveLookupArgs): Promise<MetaBundle>;
|
|
156
|
+
export type CisaKevLookupArgs = {
|
|
157
|
+
cveId?: string;
|
|
158
|
+
vendorProject?: string;
|
|
159
|
+
product?: string;
|
|
160
|
+
ransomwareOnly?: boolean;
|
|
161
|
+
addedSince?: string;
|
|
162
|
+
dueBefore?: string;
|
|
163
|
+
limit?: number;
|
|
164
|
+
offset?: number;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Filter the cached CISA KEV catalog standalone (by cveId / vendorProject /
|
|
168
|
+
* product / ransomwareOnly / addedSince / dueBefore, paginated). THROWS on a
|
|
169
|
+
* catalog outage / floor-fail / drift (never a fake-empty catalog).
|
|
170
|
+
*
|
|
171
|
+
* ★ M3 — the not-in-KEV ≠ safe caveat (KEV_NOT_SAFE_NOTE) rides in _meta.notes on
|
|
172
|
+
* EVERY response (especially a `cveId` miss / zero-match): absence is NOT a safety
|
|
173
|
+
* clearance.
|
|
174
|
+
*/
|
|
175
|
+
export declare function cisaKevLookup(args: CisaKevLookupArgs): Promise<MetaBundle>;
|
|
176
|
+
//# sourceMappingURL=nvd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nvd.d.ts","sourceRoot":"","sources":["../src/nvd.ts"],"names":[],"mappings":"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"}
|