@honua/mcp-server 0.0.20-alpha.0 → 0.1.1-beta.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.md +141 -15
- package/certification/geospatial-mcp-schemas/PROVENANCE.md +15 -7
- package/certification/geospatial-mcp-schemas/conformance/manifest.schema.json +6 -0
- package/certification/geospatial-mcp-schemas/index.json +88 -9
- package/certification/geospatial-mcp-schemas/tools/apply_style_preset.schema.json +13 -9
- package/certification/geospatial-mcp-schemas/tools/buffer_features.schema.json +60 -0
- package/certification/geospatial-mcp-schemas/tools/edit_features.schema.json +74 -0
- package/certification/geospatial-mcp-schemas/tools/export_dataset.schema.json +60 -0
- package/certification/geospatial-mcp-schemas/tools/geocode_addresses.schema.json +34 -0
- package/certification/geospatial-mcp-schemas/tools/get_style.schema.json +13 -3
- package/certification/geospatial-mcp-schemas/tools/ingest_dataset.schema.json +45 -0
- package/certification/geospatial-mcp-schemas/tools/join_features.schema.json +73 -0
- package/certification/geospatial-mcp-schemas/tools/overlay_features.schema.json +53 -0
- package/certification/geospatial-mcp-schemas/tools/query_features.schema.json +20 -0
- package/certification/geospatial-mcp-schemas/tools/render_map.schema.json +5 -0
- package/certification/geospatial-mcp-schemas/tools/reproject_features.schema.json +49 -0
- package/certification/geospatial-mcp-schemas/tools/summarize_statistics.schema.json +71 -0
- package/dist/src/agent-execution.d.ts +16 -0
- package/dist/src/agent-execution.d.ts.map +1 -0
- package/dist/src/agent-execution.js +46 -0
- package/dist/src/capability.d.ts +48 -0
- package/dist/src/capability.d.ts.map +1 -0
- package/dist/src/capability.js +44 -0
- package/dist/src/certification/census-data.d.ts +33 -0
- package/dist/src/certification/census-data.d.ts.map +1 -0
- package/dist/src/certification/census-data.js +506 -0
- package/dist/src/certification/census-fixture-client.d.ts +7 -0
- package/dist/src/certification/census-fixture-client.d.ts.map +1 -0
- package/dist/src/certification/census-fixture-client.js +226 -0
- package/dist/src/certification/certifier.d.ts +7 -1
- package/dist/src/certification/certifier.d.ts.map +1 -1
- package/dist/src/certification/certifier.js +52 -7
- package/dist/src/certification/cli.js +19 -4
- package/dist/src/certification/contracts.d.ts +41 -0
- package/dist/src/certification/contracts.d.ts.map +1 -1
- package/dist/src/certification/contracts.js +71 -0
- package/dist/src/certification/fixture-client.d.ts.map +1 -1
- package/dist/src/certification/fixtures.d.ts +13 -0
- package/dist/src/certification/fixtures.d.ts.map +1 -1
- package/dist/src/certification/fixtures.js +28 -0
- package/dist/src/certification/json-schema.d.ts +23 -1
- package/dist/src/certification/json-schema.d.ts.map +1 -1
- package/dist/src/certification/json-schema.js +10 -2
- package/dist/src/certification/lifecycle.d.ts +14 -0
- package/dist/src/certification/lifecycle.d.ts.map +1 -0
- package/dist/src/certification/lifecycle.js +326 -0
- package/dist/src/certification/operator-catalog.d.ts +8 -0
- package/dist/src/certification/operator-catalog.d.ts.map +1 -1
- package/dist/src/certification/operator-catalog.js +189 -5
- package/dist/src/certification/report.d.ts.map +1 -1
- package/dist/src/certification/report.js +13 -0
- package/dist/src/certification/run.d.ts.map +1 -1
- package/dist/src/certification/run.js +1 -0
- package/dist/src/certification/schema-index.d.ts +25 -0
- package/dist/src/certification/schema-index.d.ts.map +1 -1
- package/dist/src/certification/schema-index.js +27 -0
- package/dist/src/certification/target.d.ts +9 -1
- package/dist/src/certification/target.d.ts.map +1 -1
- package/dist/src/certification/target.js +54 -2
- package/dist/src/eval/cli.js +4 -2
- package/dist/src/eval/corpus.d.ts +7 -0
- package/dist/src/eval/corpus.d.ts.map +1 -1
- package/dist/src/eval/corpus.js +16 -0
- package/dist/src/eval/drivers/deterministic.d.ts.map +1 -1
- package/dist/src/eval/drivers/deterministic.js +13 -0
- package/dist/src/eval/grade.d.ts.map +1 -1
- package/dist/src/eval/grade.js +20 -1
- package/dist/src/eval/report.d.ts +5 -0
- package/dist/src/eval/report.d.ts.map +1 -1
- package/dist/src/eval/report.js +3 -0
- package/dist/src/eval/runner.d.ts +6 -0
- package/dist/src/eval/runner.d.ts.map +1 -1
- package/dist/src/eval/runner.js +21 -7
- package/dist/src/eval/standalone-corpus.d.ts +3 -0
- package/dist/src/eval/standalone-corpus.d.ts.map +1 -0
- package/dist/src/eval/standalone-corpus.js +699 -0
- package/dist/src/eval/types.d.ts +25 -0
- package/dist/src/eval/types.d.ts.map +1 -1
- package/dist/src/helpers.d.ts +1 -1
- package/dist/src/helpers.d.ts.map +1 -1
- package/dist/src/index.d.ts +37 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +47 -22
- package/dist/src/nl-map-control.d.ts +70 -0
- package/dist/src/nl-map-control.d.ts.map +1 -0
- package/dist/src/nl-map-control.js +470 -0
- package/dist/src/provenance.d.ts +44 -0
- package/dist/src/provenance.d.ts.map +1 -0
- package/dist/src/provenance.js +37 -0
- package/dist/src/resources/styles.d.ts.map +1 -1
- package/dist/src/resources/styles.js +36 -3
- package/dist/src/stable-json.d.ts +14 -0
- package/dist/src/stable-json.d.ts.map +1 -0
- package/dist/src/stable-json.js +126 -0
- package/dist/src/styles.d.ts +2 -0
- package/dist/src/styles.d.ts.map +1 -1
- package/dist/src/styles.js +29 -3
- package/dist/src/tools/apply-style-preset.d.ts.map +1 -1
- package/dist/src/tools/apply-style-preset.js +14 -2
- package/dist/src/tools/explain-capability-gap.d.ts +3 -3
- package/dist/src/tools/explain-capability-gap.d.ts.map +1 -1
- package/dist/src/tools/explain-capability-gap.js +1 -1
- package/dist/src/tools/get-style.d.ts.map +1 -1
- package/dist/src/tools/get-style.js +24 -13
- package/dist/src/tools/list-services.d.ts.map +1 -1
- package/dist/src/tools/list-services.js +16 -1
- package/package.json +27 -2
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsonText } from "./helpers.js";
|
|
2
|
+
/**
|
|
3
|
+
* Platform-free capability degradation (issue #369).
|
|
4
|
+
*
|
|
5
|
+
* `@honua/mcp-server` runs in two modes: against a Honua-enhanced deployment
|
|
6
|
+
* (which exposes extra surfaces such as OGC API – Styles) and — the platform-free
|
|
7
|
+
* front door — against ANY plain public Esri FeatureServer / OGC endpoint that
|
|
8
|
+
* has none of those surfaces. A tool that depends on a Honua-only surface must
|
|
9
|
+
* NEVER crash, hang, or return misleading empty data on a plain target. Instead
|
|
10
|
+
* it detects the missing surface and reports a clear, structured "not available
|
|
11
|
+
* on this target" result — the same skip-with-reason honesty the certification
|
|
12
|
+
* suite uses.
|
|
13
|
+
*
|
|
14
|
+
* Probing helpers throw {@link CapabilityUnavailableError} when a surface is
|
|
15
|
+
* absent; the tool/resource layer catches it and returns
|
|
16
|
+
* {@link capabilityUnavailable}, a non-error tool result carrying
|
|
17
|
+
* `available: false` plus a human-readable reason.
|
|
18
|
+
*/
|
|
19
|
+
export class CapabilityUnavailableError extends Error {
|
|
20
|
+
code = "CAPABILITY_UNAVAILABLE";
|
|
21
|
+
/** Human label of the missing surface, e.g. "OGC API - Styles". */
|
|
22
|
+
surface;
|
|
23
|
+
/** Why the surface was judged unavailable (status / parse / shape). */
|
|
24
|
+
reason;
|
|
25
|
+
constructor(surface, reason) {
|
|
26
|
+
super(`${surface} is not available on this target: ${reason}`);
|
|
27
|
+
this.name = "CapabilityUnavailableError";
|
|
28
|
+
this.surface = surface;
|
|
29
|
+
this.reason = reason;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Build a structured "not available on this target" tool/resource result. The
|
|
34
|
+
* result is deliberately NOT an MCP error: a plain FeatureServer legitimately
|
|
35
|
+
* lacks the surface, so degradation is an honest, expected outcome — not a
|
|
36
|
+
* failure. Clients branch on `available === false`.
|
|
37
|
+
*/
|
|
38
|
+
export function capabilityUnavailablePayload(surface, reason, guidance) {
|
|
39
|
+
return { available: false, surface, reason, guidance };
|
|
40
|
+
}
|
|
41
|
+
/** Convenience: the {@link capabilityUnavailablePayload} body wrapped as tool text content. */
|
|
42
|
+
export function capabilityUnavailable(surface, reason, guidance) {
|
|
43
|
+
return jsonText(capabilityUnavailablePayload(surface, reason, guidance));
|
|
44
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface CensusRow {
|
|
2
|
+
OBJECTID: number;
|
|
3
|
+
NAME: string;
|
|
4
|
+
STUSPS: string;
|
|
5
|
+
Total_Pop_2020: number | null;
|
|
6
|
+
Seats_2020: number | null;
|
|
7
|
+
}
|
|
8
|
+
/** The public FeatureServer this fixture was recorded from. */
|
|
9
|
+
export declare const CENSUS_ENDPOINT = "https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/2020_Census_State_Apportionment/FeatureServer/0";
|
|
10
|
+
/** Service id (as it appears under /rest/services) for the recorded service. */
|
|
11
|
+
export declare const CENSUS_SERVICE_ID = "2020_Census_State_Apportionment";
|
|
12
|
+
/** Human layer name as advertised by the live layer metadata. */
|
|
13
|
+
export declare const CENSUS_LAYER_NAME = "States 2020 Apportionment - U.S. House of Representatives Seats";
|
|
14
|
+
/** Recorded layer extent (Web Mercator, wkid 102100). */
|
|
15
|
+
export declare const CENSUS_EXTENT: {
|
|
16
|
+
readonly xmin: -19942592.3656;
|
|
17
|
+
readonly ymin: 2024070.8216000013;
|
|
18
|
+
readonly xmax: 20012846.037699997;
|
|
19
|
+
readonly ymax: 11523911.845299996;
|
|
20
|
+
readonly spatialReference: {
|
|
21
|
+
readonly wkid: 102100;
|
|
22
|
+
readonly latestWkid: 3857;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
/** Recorded field list for layer 0 (all 22 fields, verbatim). */
|
|
26
|
+
export declare const CENSUS_FIELDS: ReadonlyArray<{
|
|
27
|
+
name: string;
|
|
28
|
+
type: string;
|
|
29
|
+
alias: string;
|
|
30
|
+
}>;
|
|
31
|
+
/** All 52 recorded rows (attribute-only; geometry omitted to keep the fixture small). */
|
|
32
|
+
export declare const CENSUS_ROWS: ReadonlyArray<CensusRow>;
|
|
33
|
+
//# sourceMappingURL=census-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"census-data.d.ts","sourceRoot":"","sources":["../../../src/certification/census-data.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAG9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,+DAA+D;AAC/D,eAAO,MAAM,eAAe,sHACyF,CAAC;AAEtH,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,oCAAoC,CAAC;AAEnE,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,oEAAoE,CAAC;AAEnG,yDAAyD;AACzD,eAAO,MAAM,aAAa;;;;;;;;;CAMhB,CAAC;AAEX,iEAAiE;AACjE,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA+GtF,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,SAAS,CA6WhD,CAAC"}
|
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
// AUTO-RECORDED FIXTURE DATA — do not hand-edit.
|
|
2
|
+
//
|
|
3
|
+
// Recorded from the public Esri Living Atlas FeatureServer (services.arcgis.com):
|
|
4
|
+
// https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/2020_Census_State_Apportionment/FeatureServer/0
|
|
5
|
+
// US Census 2020 apportionment (public-domain data), publicly shared by Esri —
|
|
6
|
+
// anonymous, read-only. Re-record with mcp/scripts/record-census-fixtures.mjs.
|
|
7
|
+
//
|
|
8
|
+
// This is the platform-free proof corpus: 52 rows (50 states + DC + Puerto Rico),
|
|
9
|
+
// used to certify and eval @honua/mcp-server against a plain public FeatureServer
|
|
10
|
+
// with ZERO Honua-server surfaces. Known aggregate anchors (verified live):
|
|
11
|
+
// rows=52 sum(pop)=335085841 sum(seats)=435 max(pop)=California(39576757)
|
|
12
|
+
// min(pop)=Wyoming(577719) seats>=20 => 4 states (CA,TX,FL,NY).
|
|
13
|
+
/** The public FeatureServer this fixture was recorded from. */
|
|
14
|
+
export const CENSUS_ENDPOINT = "https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/2020_Census_State_Apportionment/FeatureServer/0";
|
|
15
|
+
/** Service id (as it appears under /rest/services) for the recorded service. */
|
|
16
|
+
export const CENSUS_SERVICE_ID = "2020_Census_State_Apportionment";
|
|
17
|
+
/** Human layer name as advertised by the live layer metadata. */
|
|
18
|
+
export const CENSUS_LAYER_NAME = "States 2020 Apportionment - U.S. House of Representatives Seats";
|
|
19
|
+
/** Recorded layer extent (Web Mercator, wkid 102100). */
|
|
20
|
+
export const CENSUS_EXTENT = {
|
|
21
|
+
xmin: -19942592.3656,
|
|
22
|
+
ymin: 2024070.8216000013,
|
|
23
|
+
xmax: 20012846.037699997,
|
|
24
|
+
ymax: 11523911.845299996,
|
|
25
|
+
spatialReference: { wkid: 102100, latestWkid: 3857 },
|
|
26
|
+
};
|
|
27
|
+
/** Recorded field list for layer 0 (all 22 fields, verbatim). */
|
|
28
|
+
export const CENSUS_FIELDS = [
|
|
29
|
+
{
|
|
30
|
+
name: "OBJECTID",
|
|
31
|
+
type: "esriFieldTypeOID",
|
|
32
|
+
alias: "OBJECTID",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: "NAME",
|
|
36
|
+
type: "esriFieldTypeString",
|
|
37
|
+
alias: "State Name",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "STUSPS",
|
|
41
|
+
type: "esriFieldTypeString",
|
|
42
|
+
alias: "State Abbreviation",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "GEO_ID",
|
|
46
|
+
type: "esriFieldTypeString",
|
|
47
|
+
alias: "GEOID FIPS Code",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "STATENS",
|
|
51
|
+
type: "esriFieldTypeString",
|
|
52
|
+
alias: "STATENS",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "GEOID",
|
|
56
|
+
type: "esriFieldTypeString",
|
|
57
|
+
alias: "GEOID FIPS Code",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "Total_Pop_2020",
|
|
61
|
+
type: "esriFieldTypeInteger",
|
|
62
|
+
alias: "Total Population, 2020",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "Seats_2020",
|
|
66
|
+
type: "esriFieldTypeInteger",
|
|
67
|
+
alias: "Seats in the U.S. House of Representatives, 2020",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "Resident_Pop_2020",
|
|
71
|
+
type: "esriFieldTypeInteger",
|
|
72
|
+
alias: "Resident Population, 2020",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "Overseas_Pop_2020",
|
|
76
|
+
type: "esriFieldTypeInteger",
|
|
77
|
+
alias: "Overseas Population, 2020",
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "Total_Pop_2010",
|
|
81
|
+
type: "esriFieldTypeInteger",
|
|
82
|
+
alias: "Total Population, 2010",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "Seats_2010",
|
|
86
|
+
type: "esriFieldTypeInteger",
|
|
87
|
+
alias: "Seats in the U.S. House of Representatives, 2010",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "Resident_Pop_2010",
|
|
91
|
+
type: "esriFieldTypeInteger",
|
|
92
|
+
alias: "Resident Population, 2010",
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: "Overseas_Pop_2010",
|
|
96
|
+
type: "esriFieldTypeInteger",
|
|
97
|
+
alias: "Overseas Population, 2010",
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: "TotalPopChange_2010to2020",
|
|
101
|
+
type: "esriFieldTypeInteger",
|
|
102
|
+
alias: "Change in Total Population, 2010 to 2020",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: "Total_Pct_Change_2010to2020",
|
|
106
|
+
type: "esriFieldTypeDouble",
|
|
107
|
+
alias: "Percent Change in Total Population, 2010 to 2020",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "Seats_Change_2010to2020",
|
|
111
|
+
type: "esriFieldTypeSmallInteger",
|
|
112
|
+
alias: "Change in Seats in the U.S. House of Representatives, 2010 to 2020",
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: "Seats_Change_2000to2010",
|
|
116
|
+
type: "esriFieldTypeSmallInteger",
|
|
117
|
+
alias: "Change in Seats in the U.S. House of Representatives, 2000 to 2010",
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: "Resident_Change_2010to2020",
|
|
121
|
+
type: "esriFieldTypeInteger",
|
|
122
|
+
alias: "Change in Resident Population, 2010 to 2020",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "Resident_Pct_Change_2010to2020",
|
|
126
|
+
type: "esriFieldTypeDouble",
|
|
127
|
+
alias: "Percent Change in Resident Population, 2010 to 2020",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: "Shape__Area",
|
|
131
|
+
type: "esriFieldTypeDouble",
|
|
132
|
+
alias: "Shape__Area",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: "Shape__Length",
|
|
136
|
+
type: "esriFieldTypeDouble",
|
|
137
|
+
alias: "Shape__Length",
|
|
138
|
+
},
|
|
139
|
+
];
|
|
140
|
+
/** All 52 recorded rows (attribute-only; geometry omitted to keep the fixture small). */
|
|
141
|
+
export const CENSUS_ROWS = [
|
|
142
|
+
{
|
|
143
|
+
OBJECTID: 1,
|
|
144
|
+
NAME: "Alabama",
|
|
145
|
+
STUSPS: "AL",
|
|
146
|
+
Total_Pop_2020: 5030053,
|
|
147
|
+
Seats_2020: 7,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
OBJECTID: 2,
|
|
151
|
+
NAME: "Alaska",
|
|
152
|
+
STUSPS: "AK",
|
|
153
|
+
Total_Pop_2020: 736081,
|
|
154
|
+
Seats_2020: 1,
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
OBJECTID: 3,
|
|
158
|
+
NAME: "Arizona",
|
|
159
|
+
STUSPS: "AZ",
|
|
160
|
+
Total_Pop_2020: 7158923,
|
|
161
|
+
Seats_2020: 9,
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
OBJECTID: 4,
|
|
165
|
+
NAME: "Arkansas",
|
|
166
|
+
STUSPS: "AR",
|
|
167
|
+
Total_Pop_2020: 3013756,
|
|
168
|
+
Seats_2020: 4,
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
OBJECTID: 5,
|
|
172
|
+
NAME: "California",
|
|
173
|
+
STUSPS: "CA",
|
|
174
|
+
Total_Pop_2020: 39576757,
|
|
175
|
+
Seats_2020: 52,
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
OBJECTID: 6,
|
|
179
|
+
NAME: "Colorado",
|
|
180
|
+
STUSPS: "CO",
|
|
181
|
+
Total_Pop_2020: 5782171,
|
|
182
|
+
Seats_2020: 8,
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
OBJECTID: 7,
|
|
186
|
+
NAME: "Connecticut",
|
|
187
|
+
STUSPS: "CT",
|
|
188
|
+
Total_Pop_2020: 3608298,
|
|
189
|
+
Seats_2020: 5,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
OBJECTID: 8,
|
|
193
|
+
NAME: "Delaware",
|
|
194
|
+
STUSPS: "DE",
|
|
195
|
+
Total_Pop_2020: 990837,
|
|
196
|
+
Seats_2020: 1,
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
OBJECTID: 9,
|
|
200
|
+
NAME: "District of Columbia",
|
|
201
|
+
STUSPS: "DC",
|
|
202
|
+
Total_Pop_2020: 691533,
|
|
203
|
+
Seats_2020: null,
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
OBJECTID: 10,
|
|
207
|
+
NAME: "Florida",
|
|
208
|
+
STUSPS: "FL",
|
|
209
|
+
Total_Pop_2020: 21570527,
|
|
210
|
+
Seats_2020: 28,
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
OBJECTID: 11,
|
|
214
|
+
NAME: "Georgia",
|
|
215
|
+
STUSPS: "GA",
|
|
216
|
+
Total_Pop_2020: 10725274,
|
|
217
|
+
Seats_2020: 14,
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
OBJECTID: 12,
|
|
221
|
+
NAME: "Hawaii",
|
|
222
|
+
STUSPS: "HI",
|
|
223
|
+
Total_Pop_2020: 1460137,
|
|
224
|
+
Seats_2020: 2,
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
OBJECTID: 13,
|
|
228
|
+
NAME: "Idaho",
|
|
229
|
+
STUSPS: "ID",
|
|
230
|
+
Total_Pop_2020: 1841377,
|
|
231
|
+
Seats_2020: 2,
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
OBJECTID: 14,
|
|
235
|
+
NAME: "Illinois",
|
|
236
|
+
STUSPS: "IL",
|
|
237
|
+
Total_Pop_2020: 12822739,
|
|
238
|
+
Seats_2020: 17,
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
OBJECTID: 15,
|
|
242
|
+
NAME: "Indiana",
|
|
243
|
+
STUSPS: "IN",
|
|
244
|
+
Total_Pop_2020: 6790280,
|
|
245
|
+
Seats_2020: 9,
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
OBJECTID: 16,
|
|
249
|
+
NAME: "Iowa",
|
|
250
|
+
STUSPS: "IA",
|
|
251
|
+
Total_Pop_2020: 3192406,
|
|
252
|
+
Seats_2020: 4,
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
OBJECTID: 17,
|
|
256
|
+
NAME: "Kansas",
|
|
257
|
+
STUSPS: "KS",
|
|
258
|
+
Total_Pop_2020: 2940865,
|
|
259
|
+
Seats_2020: 4,
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
OBJECTID: 18,
|
|
263
|
+
NAME: "Kentucky",
|
|
264
|
+
STUSPS: "KY",
|
|
265
|
+
Total_Pop_2020: 4509342,
|
|
266
|
+
Seats_2020: 6,
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
OBJECTID: 19,
|
|
270
|
+
NAME: "Louisiana",
|
|
271
|
+
STUSPS: "LA",
|
|
272
|
+
Total_Pop_2020: 4661468,
|
|
273
|
+
Seats_2020: 6,
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
OBJECTID: 20,
|
|
277
|
+
NAME: "Maine",
|
|
278
|
+
STUSPS: "ME",
|
|
279
|
+
Total_Pop_2020: 1363582,
|
|
280
|
+
Seats_2020: 2,
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
OBJECTID: 21,
|
|
284
|
+
NAME: "Maryland",
|
|
285
|
+
STUSPS: "MD",
|
|
286
|
+
Total_Pop_2020: 6185278,
|
|
287
|
+
Seats_2020: 8,
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
OBJECTID: 22,
|
|
291
|
+
NAME: "Massachusetts",
|
|
292
|
+
STUSPS: "MA",
|
|
293
|
+
Total_Pop_2020: 7033469,
|
|
294
|
+
Seats_2020: 9,
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
OBJECTID: 23,
|
|
298
|
+
NAME: "Michigan",
|
|
299
|
+
STUSPS: "MI",
|
|
300
|
+
Total_Pop_2020: 10084442,
|
|
301
|
+
Seats_2020: 13,
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
OBJECTID: 24,
|
|
305
|
+
NAME: "Minnesota",
|
|
306
|
+
STUSPS: "MN",
|
|
307
|
+
Total_Pop_2020: 5709752,
|
|
308
|
+
Seats_2020: 8,
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
OBJECTID: 25,
|
|
312
|
+
NAME: "Mississippi",
|
|
313
|
+
STUSPS: "MS",
|
|
314
|
+
Total_Pop_2020: 2963914,
|
|
315
|
+
Seats_2020: 4,
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
OBJECTID: 26,
|
|
319
|
+
NAME: "Missouri",
|
|
320
|
+
STUSPS: "MO",
|
|
321
|
+
Total_Pop_2020: 6160281,
|
|
322
|
+
Seats_2020: 8,
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
OBJECTID: 27,
|
|
326
|
+
NAME: "Montana",
|
|
327
|
+
STUSPS: "MT",
|
|
328
|
+
Total_Pop_2020: 1085407,
|
|
329
|
+
Seats_2020: 2,
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
OBJECTID: 28,
|
|
333
|
+
NAME: "Nebraska",
|
|
334
|
+
STUSPS: "NE",
|
|
335
|
+
Total_Pop_2020: 1963333,
|
|
336
|
+
Seats_2020: 3,
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
OBJECTID: 29,
|
|
340
|
+
NAME: "Nevada",
|
|
341
|
+
STUSPS: "NV",
|
|
342
|
+
Total_Pop_2020: 3108462,
|
|
343
|
+
Seats_2020: 4,
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
OBJECTID: 30,
|
|
347
|
+
NAME: "New Hampshire",
|
|
348
|
+
STUSPS: "NH",
|
|
349
|
+
Total_Pop_2020: 1379089,
|
|
350
|
+
Seats_2020: 2,
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
OBJECTID: 31,
|
|
354
|
+
NAME: "New Jersey",
|
|
355
|
+
STUSPS: "NJ",
|
|
356
|
+
Total_Pop_2020: 9294493,
|
|
357
|
+
Seats_2020: 12,
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
OBJECTID: 32,
|
|
361
|
+
NAME: "New Mexico",
|
|
362
|
+
STUSPS: "NM",
|
|
363
|
+
Total_Pop_2020: 2120220,
|
|
364
|
+
Seats_2020: 3,
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
OBJECTID: 33,
|
|
368
|
+
NAME: "New York",
|
|
369
|
+
STUSPS: "NY",
|
|
370
|
+
Total_Pop_2020: 20215751,
|
|
371
|
+
Seats_2020: 26,
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
OBJECTID: 34,
|
|
375
|
+
NAME: "North Carolina",
|
|
376
|
+
STUSPS: "NC",
|
|
377
|
+
Total_Pop_2020: 10453948,
|
|
378
|
+
Seats_2020: 14,
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
OBJECTID: 35,
|
|
382
|
+
NAME: "North Dakota",
|
|
383
|
+
STUSPS: "ND",
|
|
384
|
+
Total_Pop_2020: 779702,
|
|
385
|
+
Seats_2020: 1,
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
OBJECTID: 36,
|
|
389
|
+
NAME: "Ohio",
|
|
390
|
+
STUSPS: "OH",
|
|
391
|
+
Total_Pop_2020: 11808848,
|
|
392
|
+
Seats_2020: 15,
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
OBJECTID: 37,
|
|
396
|
+
NAME: "Oklahoma",
|
|
397
|
+
STUSPS: "OK",
|
|
398
|
+
Total_Pop_2020: 3963516,
|
|
399
|
+
Seats_2020: 5,
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
OBJECTID: 38,
|
|
403
|
+
NAME: "Oregon",
|
|
404
|
+
STUSPS: "OR",
|
|
405
|
+
Total_Pop_2020: 4241500,
|
|
406
|
+
Seats_2020: 6,
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
OBJECTID: 39,
|
|
410
|
+
NAME: "Pennsylvania",
|
|
411
|
+
STUSPS: "PA",
|
|
412
|
+
Total_Pop_2020: 13011844,
|
|
413
|
+
Seats_2020: 17,
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
OBJECTID: 52,
|
|
417
|
+
NAME: "Puerto Rico",
|
|
418
|
+
STUSPS: "PR",
|
|
419
|
+
Total_Pop_2020: 3285874,
|
|
420
|
+
Seats_2020: null,
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
OBJECTID: 40,
|
|
424
|
+
NAME: "Rhode Island",
|
|
425
|
+
STUSPS: "RI",
|
|
426
|
+
Total_Pop_2020: 1098163,
|
|
427
|
+
Seats_2020: 2,
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
OBJECTID: 41,
|
|
431
|
+
NAME: "South Carolina",
|
|
432
|
+
STUSPS: "SC",
|
|
433
|
+
Total_Pop_2020: 5124712,
|
|
434
|
+
Seats_2020: 7,
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
OBJECTID: 42,
|
|
438
|
+
NAME: "South Dakota",
|
|
439
|
+
STUSPS: "SD",
|
|
440
|
+
Total_Pop_2020: 887770,
|
|
441
|
+
Seats_2020: 1,
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
OBJECTID: 43,
|
|
445
|
+
NAME: "Tennessee",
|
|
446
|
+
STUSPS: "TN",
|
|
447
|
+
Total_Pop_2020: 6916897,
|
|
448
|
+
Seats_2020: 9,
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
OBJECTID: 44,
|
|
452
|
+
NAME: "Texas",
|
|
453
|
+
STUSPS: "TX",
|
|
454
|
+
Total_Pop_2020: 29183290,
|
|
455
|
+
Seats_2020: 38,
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
OBJECTID: 45,
|
|
459
|
+
NAME: "Utah",
|
|
460
|
+
STUSPS: "UT",
|
|
461
|
+
Total_Pop_2020: 3275252,
|
|
462
|
+
Seats_2020: 4,
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
OBJECTID: 46,
|
|
466
|
+
NAME: "Vermont",
|
|
467
|
+
STUSPS: "VT",
|
|
468
|
+
Total_Pop_2020: 643503,
|
|
469
|
+
Seats_2020: 1,
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
OBJECTID: 47,
|
|
473
|
+
NAME: "Virginia",
|
|
474
|
+
STUSPS: "VA",
|
|
475
|
+
Total_Pop_2020: 8654542,
|
|
476
|
+
Seats_2020: 11,
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
OBJECTID: 48,
|
|
480
|
+
NAME: "Washington",
|
|
481
|
+
STUSPS: "WA",
|
|
482
|
+
Total_Pop_2020: 7715946,
|
|
483
|
+
Seats_2020: 10,
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
OBJECTID: 49,
|
|
487
|
+
NAME: "West Virginia",
|
|
488
|
+
STUSPS: "WV",
|
|
489
|
+
Total_Pop_2020: 1795045,
|
|
490
|
+
Seats_2020: 2,
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
OBJECTID: 50,
|
|
494
|
+
NAME: "Wisconsin",
|
|
495
|
+
STUSPS: "WI",
|
|
496
|
+
Total_Pop_2020: 5897473,
|
|
497
|
+
Seats_2020: 8,
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
OBJECTID: 51,
|
|
501
|
+
NAME: "Wyoming",
|
|
502
|
+
STUSPS: "WY",
|
|
503
|
+
Total_Pop_2020: 577719,
|
|
504
|
+
Seats_2020: 1,
|
|
505
|
+
},
|
|
506
|
+
];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HonuaClient } from "@honua/sdk-js";
|
|
2
|
+
import { type CensusRow } from "./census-data.js";
|
|
3
|
+
/** Filter the recorded rows by a (minimal) SQL WHERE clause. */
|
|
4
|
+
export declare function filterRows(where: string | undefined): CensusRow[];
|
|
5
|
+
/** Build the offline platform-free fixture client (a plain public FeatureServer). */
|
|
6
|
+
export declare function createStandaloneFixtureClient(): HonuaClient;
|
|
7
|
+
//# sourceMappingURL=census-fixture-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"census-fixture-client.d.ts","sourceRoot":"","sources":["../../../src/certification/census-fixture-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOjD,OAAO,EAML,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AA4F1B,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,CAOjE;AAyFD,qFAAqF;AACrF,wBAAgB,6BAA6B,IAAI,WAAW,CAiE3D"}
|