@cliwant/mcp-sam-gov 1.14.0 → 1.15.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 +2 -1
- package/README.ko.md +2 -1
- package/README.md +4 -2
- package/dist/arcgis-feature.d.ts.map +1 -1
- package/dist/arcgis-feature.js +8 -0
- package/dist/arcgis-feature.js.map +1 -1
- package/dist/bonfire.d.ts +1 -1
- package/dist/bonfire.d.ts.map +1 -1
- package/dist/bonfire.js +15 -11
- package/dist/bonfire.js.map +1 -1
- package/dist/data-map.d.ts +43 -0
- package/dist/data-map.d.ts.map +1 -0
- package/dist/data-map.js +289 -0
- package/dist/data-map.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +46 -11
- 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 +46 -1
- package/dist/socrata.js.map +1 -1
- package/package.json +1 -1
- package/src/arcgis-feature.ts +8 -0
- package/src/bonfire.ts +15 -11
- package/src/data-map.ts +329 -0
- package/src/server.ts +51 -10
- package/src/socrata.ts +47 -1
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", "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"];
|
|
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", "data.sf.gov", "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
|
/**
|
package/dist/socrata.d.ts.map
CHANGED
|
@@ -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,
|
|
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,uuCAsGlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAkE7D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAkMjD;;;;;;;;;;;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
|
@@ -176,7 +176,8 @@ export const SOCRATA_DOMAINS = [
|
|
|
176
176
|
// allowlist, not the TLD; these five are the documented non-.gov entries. ──
|
|
177
177
|
"data.cityofnewyork.us", // NYC OpenData (.us, official) — e.g. dg92-zbpx (City Record: procurement notices)
|
|
178
178
|
"data.cityofchicago.org", // Chicago (.org, official) — e.g. rsxa-ify5 (Contracts)
|
|
179
|
-
"data.sfgov.org", // San Francisco / DataSF (
|
|
179
|
+
"data.sfgov.org", // San Francisco / DataSF — PERMANENTLY MIGRATED to data.sf.gov (301 all paths, 2026-09); kept allowlisted so requests reach the migration handler (see MIGRATED_SOCRATA_HOSTS below) instead of returning invalid_input. Use data.sf.gov for all new calls.
|
|
180
|
+
"data.sf.gov", // San Francisco / DataSF (canonical post-migration .gov domain) — e.g. cqi5-hm2d (Supplier Contracts 49,186 rows), hmh3-ff63 (Airport/SFO Contract Opportunities)
|
|
180
181
|
"controllerdata.lacity.org", // LA City Controller (.org, official) — e.g. pggv-e4fn (Checkbook L.A.)
|
|
181
182
|
"opendata.usac.org", // USAC E-rate (.org, m6) — e.g. avi8-svp9
|
|
182
183
|
// ── County/city procurement sweep (loop cycle 17, 2026-07-20). Discovered via
|
|
@@ -223,6 +224,23 @@ export const SOCRATA_DOMAINS = [
|
|
|
223
224
|
"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)
|
|
224
225
|
];
|
|
225
226
|
const SOCRATA_DOMAIN_SET = new Set(SOCRATA_DOMAINS);
|
|
227
|
+
/**
|
|
228
|
+
* Known host migrations (permanent 301 redirects). A domain here has permanently
|
|
229
|
+
* moved; redirect:"error" means any fetch to the old host will fail immediately.
|
|
230
|
+
* Rather than returning a retryable upstream_unavailable (which implies the
|
|
231
|
+
* problem may resolve on its own), we pre-flight check this map and return
|
|
232
|
+
* invalid_input — non-retryable, naming the replacement — so the caller can
|
|
233
|
+
* update the `domain` parameter instead of spinning on a doomed retry loop.
|
|
234
|
+
*
|
|
235
|
+
* Keep the old host in SOCRATA_DOMAINS so it passes the allowlist gate (invalid
|
|
236
|
+
* domains are rejected before reaching this check). Only add an entry here when
|
|
237
|
+
* the migration is confirmed by a live 301 probe with a stable redirect_url.
|
|
238
|
+
*
|
|
239
|
+
* data.sfgov.org → data.sf.gov (confirmed 2026-09-21; all paths 301)
|
|
240
|
+
*/
|
|
241
|
+
const MIGRATED_SOCRATA_HOSTS = new Map([
|
|
242
|
+
["data.sfgov.org", "data.sf.gov"],
|
|
243
|
+
]);
|
|
226
244
|
const CATALOG_HOST = "api.us.socrata.com";
|
|
227
245
|
const CATALOG_URL = `https://${CATALOG_HOST}/api/catalog/v1`;
|
|
228
246
|
// A valid Socrata 4x4 is EXACTLY 9 chars: 4 lowercase-alnum, a hyphen, 4 more.
|
|
@@ -276,6 +294,18 @@ async function getSocrataResource(domain, datasetId, params) {
|
|
|
276
294
|
retryable: false,
|
|
277
295
|
});
|
|
278
296
|
}
|
|
297
|
+
// Migration pre-flight (MIGRATED_SOCRATA_HOSTS): if the domain has permanently
|
|
298
|
+
// moved, redirect:"error" means any fetch will immediately fail with a 301.
|
|
299
|
+
// Return invalid_input (non-retryable) now — before wasting a network round-trip
|
|
300
|
+
// — naming the replacement so the caller can update the domain parameter.
|
|
301
|
+
const migratedTo = MIGRATED_SOCRATA_HOSTS.get(domain);
|
|
302
|
+
if (migratedTo !== undefined) {
|
|
303
|
+
throw new ToolErrorCarrier({
|
|
304
|
+
kind: "invalid_input",
|
|
305
|
+
message: `Socrata host ${JSON.stringify(domain)} has permanently moved to ${JSON.stringify(migratedTo)}. Update the \`domain\` parameter to ${JSON.stringify(migratedTo)} — retrying ${JSON.stringify(domain)} will not succeed.`,
|
|
306
|
+
retryable: false,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
279
309
|
if (datasetId.length !== 9 || !DATASET_ID_RE.test(datasetId)) {
|
|
280
310
|
throw new ToolErrorCarrier({
|
|
281
311
|
kind: "invalid_input",
|
|
@@ -349,6 +379,15 @@ async function getHostCatalog(domain, params) {
|
|
|
349
379
|
retryable: false,
|
|
350
380
|
});
|
|
351
381
|
}
|
|
382
|
+
// Migration pre-flight — same policy as getSocrataResource (see comment there).
|
|
383
|
+
const migratedTo = MIGRATED_SOCRATA_HOSTS.get(domain);
|
|
384
|
+
if (migratedTo !== undefined) {
|
|
385
|
+
throw new ToolErrorCarrier({
|
|
386
|
+
kind: "invalid_input",
|
|
387
|
+
message: `Socrata host ${JSON.stringify(domain)} has permanently moved to ${JSON.stringify(migratedTo)}. Update the \`domain\` parameter to ${JSON.stringify(migratedTo)} — retrying ${JSON.stringify(domain)} will not succeed.`,
|
|
388
|
+
retryable: false,
|
|
389
|
+
});
|
|
390
|
+
}
|
|
352
391
|
const url = `https://${domain}/api/catalog/v1?${params.toString()}`;
|
|
353
392
|
const built = new URL(url);
|
|
354
393
|
if (built.hostname !== domain || built.protocol !== "https:") {
|
|
@@ -380,6 +419,12 @@ async function fetchCount(domain, datasetId, where, q) {
|
|
|
380
419
|
params.set("$where", where);
|
|
381
420
|
if (q)
|
|
382
421
|
params.set("$q", q);
|
|
422
|
+
// ★ MUST stay count(*) — DO NOT change to count(1) or SELECT count(1).
|
|
423
|
+
// Cloudflare-fronted Socrata hosts (e.g. opendata.maryland.gov) deterministically
|
|
424
|
+
// 403 ("Just a moment...") on count(1) and `$query=SELECT count(1)` — their WAF
|
|
425
|
+
// treats the pattern as SQLi-like — while count(*) consistently returns 200.
|
|
426
|
+
// Verified 3/3 on opendata.maryland.gov (2026-09-21): count(1)→403, count(*)→200
|
|
427
|
+
// (342 rows). Maryland is not broken; the shape here is load-bearing.
|
|
383
428
|
params.set("$select", "count(*)");
|
|
384
429
|
let body;
|
|
385
430
|
try {
|
package/dist/socrata.js.map
CHANGED
|
@@ -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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cliwant/mcp-sam-gov",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"mcpName": "io.github.cliwant/mcp-sam-gov",
|
|
5
5
|
"description": "Most comprehensive keyless-first 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). 152 tools (147 need no API key), plug into Claude Desktop / Claude Code / Codex CLI / Cursor / Continue / Gemini CLI.",
|
|
6
6
|
"keywords": [
|
package/src/arcgis-feature.ts
CHANGED
|
@@ -90,6 +90,14 @@ export const ARCGIS_SERVICES: readonly ArcgisService[] = [
|
|
|
90
90
|
{ key: "nddot_flex_partner_road", base: "https://services1.arcgis.com/EDijJFsQQwgz8X53/arcgis/rest/services/Flex_Funding_Awarded_WFL1/FeatureServer/22", label: "North Dakota DOT — Flex Funding Awarded (Partner-Allocated, Road)", note: "NDDOT federal flex-funding ROAD awards, Partner-Allocated category (LPA_NAME/LPA_TYPE/Total_Project_Cost/Flex_Funds_Awarded/Work_Type). ~22. ★$ amounts are FORMATTED STRINGS; recipients are LOCAL PUBLIC AGENCIES. Companion to nddot_flex_setaside_road. ND's authoritative checkbook/procurement is keyless-unreachable — this is a proxy." },
|
|
91
91
|
{ key: "nddot_flex_setaside_bridge", base: "https://services1.arcgis.com/EDijJFsQQwgz8X53/arcgis/rest/services/Flex_Funding_Awarded_WFL1/FeatureServer/1", label: "North Dakota DOT — Flex Funding Awarded (Set-Aside, Bridge)", note: "NDDOT federal flex-funding BRIDGE awards, Set-Aside category (LPA_NAME/LPA_TYPE/Total_Project_Cost/Flex_Funds_Awarded/Work_Type). ~12. ★$ amounts are FORMATTED STRINGS; recipients are LOCAL PUBLIC AGENCIES. ND's authoritative checkbook/procurement is keyless-unreachable — this is a proxy." },
|
|
92
92
|
{ key: "nddot_flex_partner_bridge", base: "https://services1.arcgis.com/EDijJFsQQwgz8X53/arcgis/rest/services/Flex_Funding_Awarded_WFL1/FeatureServer/21", label: "North Dakota DOT — Flex Funding Awarded (Partner-Allocated, Bridge)", note: "NDDOT federal flex-funding BRIDGE awards, Partner-Allocated category (LPA_NAME/LPA_TYPE/Total_Project_Cost/Flex_Funds_Awarded/Work_Type). ~1. ★$ amounts are FORMATTED STRINGS; recipients are LOCAL PUBLIC AGENCIES. ND's authoritative checkbook/procurement is keyless-unreachable — this is a proxy." },
|
|
93
|
+
// ── DEPTH additions (loop cycle, 2026-09-21) — county capital improvement
|
|
94
|
+
// project (CIP) pipelines. These are CAPITAL-PROJECT PIPELINE registries,
|
|
95
|
+
// NOT solicitation or award registers. Rows represent planned/active CIP
|
|
96
|
+
// line items with bid-open dates or phase status; they are NOT live bids.
|
|
97
|
+
// Both layers are anonymous/keyless and live-verified (returnCountOnly +
|
|
98
|
+
// resultOffset pagination walk confirmed). ──
|
|
99
|
+
{ key: "hennepin_transportation_cip", base: "https://gis.hennepin.us/arcgis/rest/services/Maps/TRANSPORTATION_PROJECTS/FeatureServer/0", label: "Hennepin County MN — Transportation CIP Projects", note: "★CAPITAL-PROJECT PIPELINE, NOT a solicitation or award register. Rows are Hennepin County MN transportation capital improvement projects (CP_Num=SAP project ID, Roadway, Bid_Open=planned bid-open date [date string, not epoch-ms], Fund_Source, CIP_Status, Proj_Type, Start_CRN_Dt/End_CRN_Dt). ~257 rows (all fit in maxRecordCount=2000; no pagination needed). Freshness: Bid_Open and CIP_Status reflect the county's active CIP program; recency is indicated by Bid_Open and Start_CRN_Dt field values. No PII (rows are road projects, not about individuals). Keyless anonymous access." },
|
|
100
|
+
{ key: "charlotte_mecklenburg_cip", base: "https://gis.charlottenc.gov/arcgis/rest/services/CIP/CapitalImprovementProjectsService/MapServer/17", label: "Charlotte-Mecklenburg NC — Capital Improvement Projects", note: "★CAPITAL-PROJECT PIPELINE, NOT a solicitation or award register. Rows are City of Charlotte / Mecklenburg County joint CIP projects (Project_ID, Project_Name, Project_Phase, Department, Project_Type, Location_Description, Public_Project_Description, Anticipated_Start_Date, Anticipated_Compl_Date, Total_Project_Budget, Status). ~2,276 rows; page by resultRecordCount=1000 at resultOffset 0/1000/2000 (layer default: server enforces 1000-row pages despite maxRecordCount=4000 in metadata). Freshness: Project_Phase and Status reflect active pipeline; sort by Anticipated_Start_Date for recency. CAUTION: Project_Manager/Project_Manager_Email/Project_Manager_Phone are government-staff contact fields — do not surface as personal data. Dates are date strings (not epoch-ms). Keyless anonymous access." },
|
|
93
101
|
] as const;
|
|
94
102
|
|
|
95
103
|
const SERVICE_BY_KEY: ReadonlyMap<string, ArcgisService> = new Map(ARCGIS_SERVICES.map((s) => [s.key, s]));
|
package/src/bonfire.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* ★ NO keyless directory API: Bonfire's authoritative org list
|
|
12
12
|
* (`GET common-production-api-global.bonfirehub.com/v1.0/organizations/external`)
|
|
13
13
|
* is AUTH-GATED (a free vendor-account token) — OUT OF BOUNDS (we never sign in).
|
|
14
|
-
* So this ships a CURATED, live-verified SEED directory (
|
|
14
|
+
* So this ships a CURATED, live-verified SEED directory (195 US orgs; §BONFIRE_
|
|
15
15
|
* ORGS) as `bonfire_list_organizations`, and documents the keyless RSS-probe
|
|
16
16
|
* refresh method (no catch-all: `{slug}.bonfirehub.com/opportunities/rss` returns
|
|
17
17
|
* 200 <rss> for a real org, a connection failure for a non-provisioned slug). The
|
|
@@ -51,22 +51,26 @@ const BONFIRE_SOURCE = (org: string) =>
|
|
|
51
51
|
`${org}.bonfirehub.com via Bonfire (Euna) open-opportunities RSS (keyless)`;
|
|
52
52
|
|
|
53
53
|
const BONFIRE_SEED_NOTE =
|
|
54
|
-
"This directory is a CURATED, live-verified SEED (Bonfire has NO keyless org-list API; the authoritative list is auth-gated and out of bounds). Euna markets up to ~900 US orgs, so the seed is partial — probe `{slug}.bonfirehub.com/opportunities/rss` (200 <rss> = real org) to extend. Feed a result's `org` to bonfire_search_opportunities.";
|
|
54
|
+
"This directory is a CURATED, live-verified SEED (Bonfire has NO keyless org-list API; the authoritative list is auth-gated and out of bounds). Euna markets up to ~900 US orgs, so the seed is partial — probe `{slug}.bonfirehub.com/opportunities/rss` (200 <rss> = real org) to extend. Feed a result's `org` to bonfire_search_opportunities. Slug identity traps: pcc = Portland Community College OR (NOT Pima CC AZ); dps = Dayton Public Schools OH (NOT Denver PS CO); maricopa = Maricopa County Community Colleges AZ (NOT Maricopa County government).";
|
|
55
55
|
|
|
56
|
-
// ─── The curated
|
|
56
|
+
// ─── The curated 195-org US seed directory (live-verified 2026-09-21) ──
|
|
57
57
|
// "slug|Entity|ST" — the slug is the RSS subdomain. Non-US (.ca / cayman / etc.)
|
|
58
58
|
// deliberately excluded.
|
|
59
|
+
// Slug identity notes (depth sweep 2026-09-21):
|
|
60
|
+
// pcc = Portland Community College OR (NOT Pima Community College AZ)
|
|
61
|
+
// dps = Dayton Public Schools OH (NOT Denver Public Schools CO)
|
|
62
|
+
// maricopa = Maricopa County Community Colleges AZ (NOT Maricopa County government)
|
|
59
63
|
const BONFIRE_SEED_RAW: readonly string[] = [
|
|
60
64
|
"littlerock|City of Little Rock|AR",
|
|
61
|
-
"buckeyeaz|City of Buckeye|AZ", "goodyearaz|City of Goodyear|AZ", "peoriaaz|City of Peoria|AZ", "scottsdaleaz|City of Scottsdale|AZ", "yumaaz|City of Yuma|AZ", "pinalcountyaz|Pinal County|AZ", "susd|Scottsdale USD|AZ", "tollesonuhsd|Tolleson Union HSD|AZ",
|
|
62
|
-
"cityofirvine|City of Irvine|CA", "oaklandca|City of Oakland|CA", "alamedacounty|Alameda County|CA", "solanocounty|Solano County|CA", "ventura|County of Ventura|CA", "yolocounty|Yolo County|CA", "mtc|Metropolitan Transportation Commission|CA", "azusa|Azusa USD|CA", "stocktonusd|Stockton USD|CA", "weta|SF Bay Area Water Emergency Transportation Authority|CA", "acwd|Alameda County Water District|CA", "wrd|Water Replenishment District of Southern CA|CA", "actransit|AC Transit|CA", "marintransit|Marin Transit|CA", "mst|Monterey-Salinas Transit|CA", "omnitrans|Omnitrans|CA", "smctd|San Mateo County Transit District|CA", "sonomamarintrain|Sonoma-Marin Area Rail Transit|CA", "ggbhtd|Golden Gate Bridge Highway & Transportation District|CA",
|
|
65
|
+
"buckeyeaz|City of Buckeye|AZ", "goodyearaz|City of Goodyear|AZ", "maricopa|Maricopa County Community Colleges|AZ", "peoriaaz|City of Peoria|AZ", "scottsdaleaz|City of Scottsdale|AZ", "yumaaz|City of Yuma|AZ", "pinalcountyaz|Pinal County|AZ", "susd|Scottsdale USD|AZ", "tollesonuhsd|Tolleson Union HSD|AZ",
|
|
66
|
+
"cityofirvine|City of Irvine|CA", "oaklandca|City of Oakland|CA", "alamedacounty|Alameda County|CA", "emwd|Eastern Municipal Water District|CA", "laccd|Los Angeles Community College District|CA", "solanocounty|Solano County|CA", "ventura|County of Ventura|CA", "yolocounty|Yolo County|CA", "mtc|Metropolitan Transportation Commission|CA", "azusa|Azusa USD|CA", "stocktonusd|Stockton USD|CA", "weta|SF Bay Area Water Emergency Transportation Authority|CA", "acwd|Alameda County Water District|CA", "wrd|Water Replenishment District of Southern CA|CA", "actransit|AC Transit|CA", "marintransit|Marin Transit|CA", "mst|Monterey-Salinas Transit|CA", "omnitrans|Omnitrans|CA", "smctd|San Mateo County Transit District|CA", "sonomamarintrain|Sonoma-Marin Area Rail Transit|CA", "ggbhtd|Golden Gate Bridge Highway & Transportation District|CA",
|
|
63
67
|
"bouldercounty|Boulder County|CO",
|
|
64
68
|
"crcog|Capitol Region Council of Governments|CT", "easternct|Eastern Connecticut State University|CT",
|
|
65
69
|
"dfm|DE OMB - Division of Facility Management|DE", "gss|DE OMB - Government Support Services|DE",
|
|
66
70
|
"daviefl|Town of Davie|FL", "ocoee|City of Ocoee|FL", "broward|Broward County|FL", "hillsboroughcounty|Hillsborough County|FL", "marionfl|Marion County|FL", "monroecounty-fl|Monroe County|FL", "pascocountyfl|Pasco County|FL", "famu|Florida A&M University|FL", "fau|Florida Atlantic University|FL", "fgcu|Florida Gulf Coast University|FL", "floridapoly|Florida Polytechnic University|FL", "ucf|University of Central Florida|FL", "tampabaywater|Tampa Bay Water|FL", "gohart|Hillsborough Transit Authority|FL", "psta|Pinellas Suncoast Transit Authority|FL",
|
|
67
71
|
"brookhavenga|City of Brookhaven|GA", "sandysprings|City of Sandy Springs|GA", "chathamcountyga|Chatham County|GA", "columbiacountyga|Columbia County|GA", "gwinnett|Gwinnett County Public Schools|GA",
|
|
68
72
|
"cityofnampa|City of Nampa|ID", "adacounty|Ada County|ID", "bannockcounty|Bannock County|ID",
|
|
69
|
-
"cookcountyil|Cook County|IL", "thecha|Chicago Housing Authority|IL", "cps|Chicago Public Schools|IL", "u-46|School District U-46|IL", "chicagoparkdistrict|Chicago Park District|IL", "mwrd|Metro Water Reclamation District of Greater Chicago|IL", "transitchicago|Chicago Transit Authority|IL", "metra|Metra|IL",
|
|
73
|
+
"cookcountyil|Cook County|IL", "d214|Township High School District 214|IL", "thecha|Chicago Housing Authority|IL", "cps|Chicago Public Schools|IL", "u-46|School District U-46|IL", "chicagoparkdistrict|Chicago Park District|IL", "mwrd|Metro Water Reclamation District of Greater Chicago|IL", "transitchicago|Chicago Transit Authority|IL", "metra|Metra|IL",
|
|
70
74
|
"indygo|Indianapolis Public Transportation Corp|IN",
|
|
71
75
|
"olatheks|City of Olathe|KS", "wichita|City of Wichita|KS",
|
|
72
76
|
"covingtonky|City of Covington|KY", "louisvilleky|City of Louisville|KY", "owensboro|City of Owensboro|KY", "lexingtonky|Lexington-Fayette|KY", "kyhousing|Kentucky Housing Corporation|KY", "tarc|Transit Authority of River City|KY",
|
|
@@ -75,20 +79,20 @@ const BONFIRE_SEED_RAW: readonly string[] = [
|
|
|
75
79
|
"maine|State of Maine|ME",
|
|
76
80
|
"detroit|City of Detroit|MI",
|
|
77
81
|
"ramseycountymn|Ramsey County|MN", "sourcewell|Sourcewell|MN",
|
|
78
|
-
"jeffersoncitymo|Jefferson City|MO", "stlouiscountymo|St. Louis County|MO", "stlcc|St. Louis Community College|MO",
|
|
82
|
+
"jeffersoncitymo|Jefferson City|MO", "kcmo|Kansas City, MO|MO", "stlouiscountymo|St. Louis County|MO", "stlcc|St. Louis Community College|MO",
|
|
79
83
|
"apexnc|Town of Apex|NC", "charlottenc|City of Charlotte|NC", "wake|Wake County|NC", "ncat|NC A&T State University|NC", "ncsu|NC State University|NC",
|
|
80
84
|
"rutgers|Rutgers University|NJ",
|
|
81
85
|
"cabq|City of Albuquerque|NM", "mckinleycounty|McKinley County|NM",
|
|
82
86
|
"clarkcountynv|Clark County|NV", "ccsd|Clark County School District|NV",
|
|
83
87
|
"suffolkcountyny|Suffolk County|NY", "stonybrook|Stony Brook University|NY", "healthsolutions|Public Health Solutions|NY", "centro|Central NY Regional Transportation Authority|NY", "nfta|Niagara Frontier Transportation Authority|NY", "panynj|Port Authority of New York & New Jersey|NY",
|
|
84
|
-
"akronohio|City of Akron|OH", "cincinnati-oh|City of Cincinnati|OH", "columbus|City of Columbus|OH", "equalisgroup|Equalis Group|OH",
|
|
85
|
-
"pdx|Portland State University|OR",
|
|
86
|
-
"
|
|
88
|
+
"akronohio|City of Akron|OH", "cincinnati-oh|City of Cincinnati|OH", "columbus|City of Columbus|OH", "dps|Dayton Public Schools|OH", "equalisgroup|Equalis Group|OH",
|
|
89
|
+
"pcc|Portland Community College|OR", "pdx|Portland State University|OR",
|
|
90
|
+
"alleghenycounty|Allegheny County|PA", "montcopa|Montgomery County PA|PA", "pennbid|PennBid|PA",
|
|
87
91
|
"charlestoncounty|Charleston County|SC", "tridenttech|Trident Technical College|SC",
|
|
88
92
|
"apsu|Austin Peay State University|TN",
|
|
89
93
|
"dfwairport|DFW International Airport|TX", "amarillo|City of Amarillo|TX", "arlingtontx|City of Arlington|TX", "brownsvilletx|City of Brownsville|TX", "burlesontx|City of Burleson|TX", "cityoflewisville|City of Lewisville|TX", "dallascityhall|City of Dallas|TX", "fortworthtexas|City of Fort Worth|TX", "friscotexas|City of Frisco|TX", "leandertx|City of Leander|TX", "mckinneytexas|City of McKinney|TX", "midlandtexas|City of Midland|TX", "roundrocktexas|City of Round Rock|TX", "sanantonio|City of San Antonio|TX", "schertz|City of Schertz|TX", "southlake|City of Southlake|TX", "templetx|City of Temple|TX", "waco-texas|City of Waco|TX", "mansfield|Mansfield Council of Governments|TX", "brazoriacounty|Brazoria County|TX", "dentoncounty|Denton County|TX", "galvestoncountytx|Galveston County|TX", "harriscountytx|Harris County|TX", "johnsoncountytx|Johnson County|TX", "lubbock|Lubbock County|TX", "parkercountytx|Parker County|TX", "smithcounty|Smith County|TX", "wilco|Williamson County|TX", "hccs|Houston Community College|TX", "rice-edu|Rice University|TX", "tccd|Tarrant County College District|TX", "utdallas|UT Dallas|TX", "utexas|UT Austin|TX", "utrgv|UT Rio Grande Valley|TX", "uttyler|UT Tyler|TX", "uthscsa|UT Health San Antonio|TX", "saha|Opportunity Home San Antonio|TX", "universityhealth|University Health (hospital district)|TX", "allenisd|Allen ISD|TX", "austinisd|Austin ISD|TX", "comalisd|Comal ISD|TX", "dallasisd|Dallas ISD|TX", "fortbendisd|Fort Bend ISD|TX", "kleinisd|Klein ISD|TX", "laredoisd|Laredo ISD|TX", "magnoliaisd|Magnolia ISD|TX", "mesquiteisd|Mesquite ISD|TX", "tomballisd|Tomball ISD|TX", "twc-texas-gov|Texas Workforce Commission|TX", "txdot|Texas Department of Transportation|TX", "dart|Dallas Area Rapid Transit|TX", "ridemetro|Harris County METRO|TX",
|
|
90
94
|
"ccog|The Cooperative Council of Governments|US", "omniapartners|OMNIA Partners|US", "utah|U3P / Utah Public Procurement Place|UT",
|
|
91
|
-
"fairfaxcounty|Fairfax County|VA", "cnu|Christopher Newport University|VA", "gmu|George Mason University|VA", "nsu|Norfolk State University|VA", "fcps|Fairfax County Public Schools|VA",
|
|
95
|
+
"chesterfield|Chesterfield County|VA", "fairfaxcounty|Fairfax County|VA", "cnu|Christopher Newport University|VA", "gmu|George Mason University|VA", "nsu|Norfolk State University|VA", "fcps|Fairfax County Public Schools|VA",
|
|
92
96
|
"cityofvancouver|City of Vancouver WA|WA", "federalwaywa|City of Federal Way|WA", "clarkcountywa|Clark County WA|WA", "kingcounty|King County|WA", "portolympia|Port of Olympia|WA", "lwsd|Lake Washington School District|WA", "tacoma|Tacoma Public Schools|WA",
|
|
93
97
|
"cityofmilwaukee|City of Milwaukee|WI", "westalliswi|City of West Allis|WI", "racinecounty|Racine County|WI", "waukeshacounty|Waukesha County|WI", "cvtc|Chippewa Valley Technical College|WI", "mmsd|Milwaukee Metropolitan Sewerage District|WI",
|
|
94
98
|
"marshall|Marshall University|WV",
|
package/src/data-map.ts
ADDED
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State & local data map — single source of truth.
|
|
3
|
+
*
|
|
4
|
+
* These entries are exported for:
|
|
5
|
+
* (a) the MCP resource samgov://data-map/state-local (resources/read)
|
|
6
|
+
* (b) consistency tests (SKILL.md table must agree on domain/id/rows)
|
|
7
|
+
*
|
|
8
|
+
* Keep verified row counts and notes current here only; SKILL.md table and
|
|
9
|
+
* the resource content are generated from this array.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
export type DataMapTool =
|
|
13
|
+
| "socrata_query"
|
|
14
|
+
| "ckan_query"
|
|
15
|
+
| "tableau_view_csv"
|
|
16
|
+
| "open_checkbook_search";
|
|
17
|
+
|
|
18
|
+
export interface DataMapEntry {
|
|
19
|
+
/** Two-letter state abbreviation for grouping */
|
|
20
|
+
state: string;
|
|
21
|
+
/** Human-readable jurisdiction name */
|
|
22
|
+
jurisdiction: string;
|
|
23
|
+
/** Short description of what the dataset contains */
|
|
24
|
+
dataLabel: string;
|
|
25
|
+
/** Tool to call */
|
|
26
|
+
tool: DataMapTool;
|
|
27
|
+
/** Key args to pass — human-readable form for doc */
|
|
28
|
+
keyArgs: string;
|
|
29
|
+
/** Verified approximate row count (null = not precisely known) */
|
|
30
|
+
rows: number | null;
|
|
31
|
+
/** Approximate flag — when true prefix rows with '~' */
|
|
32
|
+
approximate: boolean;
|
|
33
|
+
/** What this dataset is NOT (common agent error) */
|
|
34
|
+
notNote: string;
|
|
35
|
+
/** Extra notes (optional) */
|
|
36
|
+
extra?: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Verified 2026-09-21 — all keyless.
|
|
41
|
+
*/
|
|
42
|
+
export const DATA_MAP_ENTRIES: DataMapEntry[] = [
|
|
43
|
+
// ── State-level ──────────────────────────────────────────────────────────
|
|
44
|
+
{
|
|
45
|
+
state: "VA",
|
|
46
|
+
jurisdiction: "Virginia",
|
|
47
|
+
dataLabel: "eVA PO line items 2023",
|
|
48
|
+
tool: "ckan_query",
|
|
49
|
+
keyArgs: "host=data.virginia.gov, resourceId=3c7f1bde-35b0-4fbf-b89c-978a19124d53",
|
|
50
|
+
rows: 1693227,
|
|
51
|
+
approximate: false,
|
|
52
|
+
notNote: "the live eVA portal (login-gated)",
|
|
53
|
+
extra:
|
|
54
|
+
"Years 2016–2026 have separate resourceIds; ckan_discover_datasets host=data.virginia.gov q=eVA procurement lists them (2024=25a59527, 2025=b8dc22a8, 2026=76f6831d)",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
state: "MA",
|
|
58
|
+
jurisdiction: "Massachusetts",
|
|
59
|
+
dataLabel: "Comptroller vendor payments (CTHRU)",
|
|
60
|
+
tool: "socrata_query",
|
|
61
|
+
keyArgs: "domain=cthru.data.socrata.com, datasetId=pegc-naaa",
|
|
62
|
+
rows: 49000000,
|
|
63
|
+
approximate: true,
|
|
64
|
+
notNote: "an award or bid register; these are payment transactions",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
state: "NJ",
|
|
68
|
+
jurisdiction: "New Jersey",
|
|
69
|
+
dataLabel: "YourMoney agency purchasing by vendor",
|
|
70
|
+
tool: "socrata_query",
|
|
71
|
+
keyArgs: "domain=data.nj.gov, datasetId=ubnu-tqu7",
|
|
72
|
+
rows: 660425,
|
|
73
|
+
approximate: false,
|
|
74
|
+
notNote: "a solicitation or bid register; agency expenditure rows",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
state: "NY",
|
|
78
|
+
jurisdiction: "New York",
|
|
79
|
+
dataLabel: "State authority procurement contracts",
|
|
80
|
+
tool: "socrata_query",
|
|
81
|
+
keyArgs: "domain=data.ny.gov, datasetId=ehig-g5x3",
|
|
82
|
+
rows: 275763,
|
|
83
|
+
approximate: false,
|
|
84
|
+
notNote: "all NYS agencies (authorities only) and NOT active solicitations",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
state: "NY",
|
|
88
|
+
jurisdiction: "New York",
|
|
89
|
+
dataLabel: "MTA procurement contracts",
|
|
90
|
+
tool: "socrata_query",
|
|
91
|
+
keyArgs: "domain=data.ny.gov, datasetId=twsw-2mqa",
|
|
92
|
+
rows: 107503,
|
|
93
|
+
approximate: false,
|
|
94
|
+
notNote: "a live MTA bid portal; MTA historical contract records",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
state: "WA",
|
|
98
|
+
jurisdiction: "Washington",
|
|
99
|
+
dataLabel: "Agency contract register",
|
|
100
|
+
tool: "socrata_query",
|
|
101
|
+
keyArgs: "domain=data.wa.gov, datasetId=s8d5-pj78",
|
|
102
|
+
rows: 79329,
|
|
103
|
+
approximate: false,
|
|
104
|
+
notNote: "a solicitation or bid feed; awarded contract records",
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
state: "WA",
|
|
108
|
+
jurisdiction: "Washington",
|
|
109
|
+
dataLabel: "Master-contract sales by vendor/customer",
|
|
110
|
+
tool: "socrata_query",
|
|
111
|
+
keyArgs: "domain=data.wa.gov, datasetId=n8q6-4twj",
|
|
112
|
+
rows: 245831,
|
|
113
|
+
approximate: false,
|
|
114
|
+
notNote: "open bids; sales reported off statewide master contracts",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
state: "MT",
|
|
118
|
+
jurisdiction: "Montana",
|
|
119
|
+
dataLabel: "DOA contracts awarded",
|
|
120
|
+
tool: "tableau_view_csv",
|
|
121
|
+
keyArgs: "view=mt_contracts_awarded",
|
|
122
|
+
rows: 4554,
|
|
123
|
+
approximate: true,
|
|
124
|
+
notNote: "a bid portal; awarded records only, freshness set by publisher",
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
state: "SD",
|
|
128
|
+
jurisdiction: "South Dakota",
|
|
129
|
+
dataLabel: "Open Checkbook vendor payments",
|
|
130
|
+
tool: "open_checkbook_search",
|
|
131
|
+
keyArgs: "portal=sd",
|
|
132
|
+
rows: 741000,
|
|
133
|
+
approximate: true,
|
|
134
|
+
notNote: "an award register; only ~3 most-recent FYs, exact-match filters",
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
state: "IL",
|
|
138
|
+
jurisdiction: "Illinois",
|
|
139
|
+
dataLabel: "CDB capital project future bids",
|
|
140
|
+
tool: "socrata_query",
|
|
141
|
+
keyArgs: "domain=data.illinois.gov, datasetId=6rb8-ntpm",
|
|
142
|
+
rows: 48,
|
|
143
|
+
approximate: false,
|
|
144
|
+
notNote: "a comprehensive solicitation feed; only ~48 upcoming CDB capital bids",
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
state: "IL",
|
|
148
|
+
jurisdiction: "Illinois",
|
|
149
|
+
dataLabel: "IDHR certified eligible bidders",
|
|
150
|
+
tool: "socrata_query",
|
|
151
|
+
keyArgs: "domain=data.illinois.gov, datasetId=w8h2-q8hu",
|
|
152
|
+
rows: 7848,
|
|
153
|
+
approximate: false,
|
|
154
|
+
notNote: "a bid or award register; vendor-eligibility directory only",
|
|
155
|
+
},
|
|
156
|
+
// ── Texas — verified 2026-09-21 ──────────────────────────────────────────
|
|
157
|
+
{
|
|
158
|
+
state: "TX",
|
|
159
|
+
jurisdiction: "Texas",
|
|
160
|
+
dataLabel: "TxDOT current lettings (★live bid-line items)",
|
|
161
|
+
tool: "socrata_query",
|
|
162
|
+
keyArgs: "domain=data.texas.gov, datasetId=qh8x-rm8r",
|
|
163
|
+
rows: 8861,
|
|
164
|
+
approximate: false,
|
|
165
|
+
notNote:
|
|
166
|
+
"rows are bid LINE ITEMS not projects (8,861 rows = 412 distinct project_ids — report project count not row count); TxDOT highway lettings ONLY, not all Texas procurement; rolling window only (past lettings dropped, cannot answer historical questions); ESBD/TxSmartBuy non-TxDOT solicitations are absent",
|
|
167
|
+
extra:
|
|
168
|
+
"★First live state solicitation feed in this map. Use $select=count(distinct project_id) for open-bid count.",
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
state: "TX",
|
|
172
|
+
jurisdiction: "Texas",
|
|
173
|
+
dataLabel: "DIR Cooperative Contract Sales FY2010–FY2025 (archive)",
|
|
174
|
+
tool: "socrata_query",
|
|
175
|
+
keyArgs: "domain=data.texas.gov, datasetId=w64c-ndf7",
|
|
176
|
+
rows: 10749743,
|
|
177
|
+
approximate: false,
|
|
178
|
+
notNote: "bids or awards; purchase line items off DIR cooperative contracts (historical)",
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
state: "TX",
|
|
182
|
+
jurisdiction: "Texas",
|
|
183
|
+
dataLabel: "DIR Cooperative & Tele Contract Sales FY2026",
|
|
184
|
+
tool: "socrata_query",
|
|
185
|
+
keyArgs: "domain=data.texas.gov, datasetId=a743-wj72",
|
|
186
|
+
rows: 2077855,
|
|
187
|
+
approximate: false,
|
|
188
|
+
notNote: "historical FY2026 purchase lines (same shape as w64c-ndf7); not bids",
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
state: "TX",
|
|
192
|
+
jurisdiction: "Texas",
|
|
193
|
+
dataLabel: "DIR Current Active Cooperative Contracts",
|
|
194
|
+
tool: "socrata_query",
|
|
195
|
+
keyArgs: "domain=data.texas.gov, datasetId=vipt-h4ye",
|
|
196
|
+
rows: 5167,
|
|
197
|
+
approximate: false,
|
|
198
|
+
notNote: "a solicitation feed; active cooperative contract register (not TxDOT lettings)",
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
state: "TX",
|
|
202
|
+
jurisdiction: "Texas",
|
|
203
|
+
dataLabel: "TCEQ Current Contracts & Purchase Orders",
|
|
204
|
+
tool: "socrata_query",
|
|
205
|
+
keyArgs: "domain=data.texas.gov, datasetId=svjm-sdfz",
|
|
206
|
+
rows: 2067,
|
|
207
|
+
approximate: false,
|
|
208
|
+
notNote: "statewide; one agency (TCEQ) only",
|
|
209
|
+
},
|
|
210
|
+
// ── Maryland — verified 2026-09-21 ───────────────────────────────────────
|
|
211
|
+
{
|
|
212
|
+
state: "MD",
|
|
213
|
+
jurisdiction: "Maryland",
|
|
214
|
+
dataLabel: "eMaryland Marketplace (eMMA) bids — FY2018 exemplar",
|
|
215
|
+
tool: "socrata_query",
|
|
216
|
+
keyArgs: "domain=opendata.maryland.gov, datasetId=pgna-cxjh",
|
|
217
|
+
rows: 107303,
|
|
218
|
+
approximate: false,
|
|
219
|
+
notNote:
|
|
220
|
+
"rows are bid LINE ITEMS not bids — FY2018 is 107,303 rows for only 3,067 bids (35× overcount); always use $select=count(distinct bid_number) for actual bid count. Coverage stops at FY2019 — eMMA migrated to Periscope mid-FY2019; there is no FY2020+ mirror and this dataset cannot answer questions about current Maryland bids",
|
|
221
|
+
extra:
|
|
222
|
+
"All six FY datasetIds: FY2018=pgna-cxjh (107,303 rows/3,067 bids), FY2017=qkjf-rv4t (64,331/4,943), FY2016=7ang-84wj (45,204/4,818), FY2015=3hzs-sazv (46,895/4,898), FY2014=itax-4ccz (45,551/4,884), FY2019=ttg5-zfzj (4,623/388 — small because eMMA migrated to Periscope mid-year; first row is a sparse placeholder, subsequent rows are complete).",
|
|
223
|
+
},
|
|
224
|
+
// ── Oregon — verified 2026-09-21 ─────────────────────────────────────────
|
|
225
|
+
{
|
|
226
|
+
state: "OR",
|
|
227
|
+
jurisdiction: "Oregon",
|
|
228
|
+
dataLabel: "OregonBuys Purchases and Contracts FY2022–FY2025",
|
|
229
|
+
tool: "socrata_query",
|
|
230
|
+
keyArgs: "domain=data.oregon.gov, datasetId=qyug-f2km",
|
|
231
|
+
rows: 109119,
|
|
232
|
+
approximate: false,
|
|
233
|
+
notNote:
|
|
234
|
+
"open solicitations — these are issued purchase orders and contracts (not bids). ORPIN was the retired system; OregonBuys is its replacement. qyug-f2km covers sent_date 2021-07-01 → 2025-07-01 (FY2022–FY2025); 92,224 distinct po_nbr",
|
|
235
|
+
extra:
|
|
236
|
+
"Historical ORPIN datasets (retired system, same domain): Contracts Issued=6e9e-sfc4 (93,846 rows), Contracts Expired=8izy-bwhd (92,755 rows), Statewide Price Agreement Spend=gart-52me (5,224 rows). All keyless.",
|
|
237
|
+
},
|
|
238
|
+
// ── Vermont — verified 2026-09-21 ────────────────────────────────────────
|
|
239
|
+
{
|
|
240
|
+
state: "VT",
|
|
241
|
+
jurisdiction: "Vermont",
|
|
242
|
+
dataLabel: "Purchase Orders with Vendor Information (current FY, live-ish)",
|
|
243
|
+
tool: "socrata_query",
|
|
244
|
+
keyArgs: "domain=data.vermont.gov, datasetId=8ewu-igdm",
|
|
245
|
+
rows: 111271,
|
|
246
|
+
approximate: false,
|
|
247
|
+
notNote:
|
|
248
|
+
"a bid or award register — issued purchase orders. 39,882 distinct po_id (~2.8 line items per PO). po_date 2025-07-02 → 2026-06-19 (current fiscal year, so this is live-ish state spend, not an archive)",
|
|
249
|
+
},
|
|
250
|
+
// ── Colorado (City of Denver on state portal) — verified 2026-09-21 ──────
|
|
251
|
+
{
|
|
252
|
+
state: "CO",
|
|
253
|
+
jurisdiction: "City of Denver",
|
|
254
|
+
dataLabel: "City of Denver Procurement Transactions (on CO state portal)",
|
|
255
|
+
tool: "socrata_query",
|
|
256
|
+
keyArgs: "domain=data.colorado.gov, datasetId=66zf-qjdd",
|
|
257
|
+
rows: 76357,
|
|
258
|
+
approximate: false,
|
|
259
|
+
notNote:
|
|
260
|
+
"Colorado STATE procurement — this is City of Denver spend hosted on the Colorado state portal (data.colorado.gov). An agent that reads the domain as the jurisdiction gets this wrong. Updated 2026-09-20.",
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
state: "CO",
|
|
264
|
+
jurisdiction: "City of Denver",
|
|
265
|
+
dataLabel: "City of Denver Checkbook (on CO state portal)",
|
|
266
|
+
tool: "socrata_query",
|
|
267
|
+
keyArgs: "domain=data.colorado.gov, datasetId=wnau-xrqi",
|
|
268
|
+
rows: 154595,
|
|
269
|
+
approximate: false,
|
|
270
|
+
notNote:
|
|
271
|
+
"Colorado STATE procurement — this is City of Denver checkbook data hosted on the Colorado state portal (data.colorado.gov). An agent that reads the domain as the jurisdiction gets this wrong. Updated 2026-09-20.",
|
|
272
|
+
},
|
|
273
|
+
];
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Format a row count for display.
|
|
277
|
+
*
|
|
278
|
+
* HONESTY: an EXACT count (approximate:false) is printed in full with thousands
|
|
279
|
+
* separators — never rounded. The table header promises a "verified row count",
|
|
280
|
+
* so rounding a measured 1,693,227 to "2M" would overstate it by 18% while still
|
|
281
|
+
* reading as exact. Only an entry explicitly marked `approximate` is rounded, and
|
|
282
|
+
* that form always carries a leading `~` so the reader can tell the two apart.
|
|
283
|
+
*/
|
|
284
|
+
function fmtRows(e: DataMapEntry): string {
|
|
285
|
+
if (e.rows === null) return "?";
|
|
286
|
+
if (!e.approximate) return e.rows.toLocaleString("en-US");
|
|
287
|
+
// Keep 2 significant figures below 10 units so "~5k" never stands in for a
|
|
288
|
+
// measured 4,554 (a 10% overstatement); 49,000,000 still renders "~49M".
|
|
289
|
+
const scale = (v: number, suffix: string) =>
|
|
290
|
+
`${v < 10 ? v.toFixed(1).replace(/\.0$/, "") : String(Math.round(v))}${suffix}`;
|
|
291
|
+
const n = e.rows >= 1000000 ? scale(e.rows / 1000000, "M") :
|
|
292
|
+
e.rows >= 1000 ? scale(e.rows / 1000, "k") :
|
|
293
|
+
String(e.rows);
|
|
294
|
+
return `~${n}`;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Render the state-level entries as a Markdown table.
|
|
299
|
+
* Matches the format in SKILL.md §State & local data map.
|
|
300
|
+
*/
|
|
301
|
+
export function renderStateTableMarkdown(): string {
|
|
302
|
+
const header =
|
|
303
|
+
"| Jurisdiction | Data | Tool · key args | Rows | NOT |\n" +
|
|
304
|
+
"|---|---|---|---|---|\n";
|
|
305
|
+
const rows = DATA_MAP_ENTRIES.map((e) => {
|
|
306
|
+
const extra = e.extra ? ` ${e.extra}` : "";
|
|
307
|
+
return `| **${e.jurisdiction}** | ${e.dataLabel} | \`${e.tool}\` ${e.keyArgs} | ${fmtRows(e)} | ${e.notNote}${extra} |`;
|
|
308
|
+
});
|
|
309
|
+
return header + rows.join("\n");
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/** Full resource content: header + state table */
|
|
313
|
+
export function renderDataMapMarkdown(): string {
|
|
314
|
+
return `# State & local data map
|
|
315
|
+
|
|
316
|
+
Agent-readable lookup: jurisdiction → data type → exact tool call → verified row count → what it is NOT (the most common source of agent error).
|
|
317
|
+
|
|
318
|
+
**State-level open-data sources (verified 2026-09-21, all keyless):**
|
|
319
|
+
|
|
320
|
+
${renderStateTableMarkdown()}
|
|
321
|
+
|
|
322
|
+
**County & city** — use \`socrata_discover_datasets\` to find dataset IDs for: NYC (data.cityofnewyork.us), Chicago (data.cityofchicago.org), Austin TX (data.austintexas.gov), Dallas TX (www.dallasopendata.com), LA (controllerdata.lacity.org), King County WA (data.kingcounty.gov), Cook County IL (datacatalog.cookcountyil.gov), Montgomery County MD (data.montgomerycountymd.gov). For Hennepin County MN and Charlotte-Mecklenburg NC capital project pipelines, use \`arcgis_feature_query\` (hennepin_transportation_cip / charlotte_mecklenburg_cip) — these are CIP pipelines, NOT solicitation or award registers.
|
|
323
|
+
|
|
324
|
+
**State portals with no keyless procurement content (measured absence, not unexplored):**
|
|
325
|
+
- Login-gated or WAF-blocked live-bid portals: CA (Cal eProcure), TX ESBD/TxSmartBuy non-TxDOT (TxDOT lettings ARE available via qh8x-rm8r above), OH, NC, MI, and Periscope-based portals for IL/MA/NJ live bids.
|
|
326
|
+
- Portal exists but carries no procurement datasets: PA (data.pa.gov is live; scoped catalog has 0 bid/vendor/procurement datasets matching). Michigan (data.michigan.gov) was checked 2026-09-21 and carries only NIGP commodity code reference tables (w3u3-uptp 9,333 rows; jv5q-yp8x 235 rows) — not procurement transactions.
|
|
327
|
+
- No state-level open-data portal: FL (data.fl.gov NXDOMAIN), GA (data.georgia.gov NXDOMAIN). These states have no keyless state procurement data source — this is a measured absence, not a connectivity block.
|
|
328
|
+
`;
|
|
329
|
+
}
|