@honua/mcp-server 0.0.10-alpha.0 → 0.1.0-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 +259 -15
- package/certification/geospatial-mcp-schemas/PROVENANCE.md +41 -0
- package/certification/geospatial-mcp-schemas/README.md +90 -0
- package/certification/geospatial-mcp-schemas/common/geoprocessing-error.schema.json +45 -0
- package/certification/geospatial-mcp-schemas/conformance/manifest.schema.json +79 -0
- package/certification/geospatial-mcp-schemas/index.json +390 -0
- package/certification/geospatial-mcp-schemas/resources/app-package.schema.json +20 -0
- package/certification/geospatial-mcp-schemas/resources/app-template.schema.json +15 -0
- package/certification/geospatial-mcp-schemas/resources/artifact.schema.json +69 -0
- package/certification/geospatial-mcp-schemas/resources/deployment.schema.json +27 -0
- package/certification/geospatial-mcp-schemas/resources/map-package.schema.json +21 -0
- package/certification/geospatial-mcp-schemas/resources/map-template.schema.json +15 -0
- package/certification/geospatial-mcp-schemas/resources/provenance.schema.json +50 -0
- package/certification/geospatial-mcp-schemas/resources/published-service.schema.json +21 -0
- package/certification/geospatial-mcp-schemas/resources/result-package.schema.json +64 -0
- package/certification/geospatial-mcp-schemas/resources/style.schema.json +12 -0
- package/certification/geospatial-mcp-schemas/resources/theme.schema.json +12 -0
- package/certification/geospatial-mcp-schemas/resources/workspace.schema.json +63 -0
- package/certification/geospatial-mcp-schemas/tools/apply_style_preset.schema.json +27 -0
- package/certification/geospatial-mcp-schemas/tools/buffer_features.schema.json +60 -0
- package/certification/geospatial-mcp-schemas/tools/cancel_job.schema.json +15 -0
- package/certification/geospatial-mcp-schemas/tools/clarify_intent.schema.json +69 -0
- package/certification/geospatial-mcp-schemas/tools/compose_mixed_protocol_map.schema.json +21 -0
- package/certification/geospatial-mcp-schemas/tools/create_app_package.schema.json +33 -0
- package/certification/geospatial-mcp-schemas/tools/create_map_package.schema.json +41 -0
- package/certification/geospatial-mcp-schemas/tools/edit_features.schema.json +74 -0
- package/certification/geospatial-mcp-schemas/tools/execute_plan.schema.json +64 -0
- package/certification/geospatial-mcp-schemas/tools/export_dataset.schema.json +60 -0
- package/certification/geospatial-mcp-schemas/tools/geocode_address.schema.json +36 -0
- package/certification/geospatial-mcp-schemas/tools/geocode_addresses.schema.json +34 -0
- package/certification/geospatial-mcp-schemas/tools/get_style.schema.json +40 -0
- package/certification/geospatial-mcp-schemas/tools/ground_candidates.schema.json +66 -0
- 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/list_capabilities.schema.json +21 -0
- package/certification/geospatial-mcp-schemas/tools/list_layers.schema.json +14 -0
- package/certification/geospatial-mcp-schemas/tools/overlay_features.schema.json +53 -0
- package/certification/geospatial-mcp-schemas/tools/plan_analysis.schema.json +19 -0
- package/certification/geospatial-mcp-schemas/tools/preview_app_package.schema.json +15 -0
- package/certification/geospatial-mcp-schemas/tools/preview_map_package.schema.json +17 -0
- package/certification/geospatial-mcp-schemas/tools/preview_package.schema.json +40 -0
- package/certification/geospatial-mcp-schemas/tools/propose_operation.schema.json +28 -0
- package/certification/geospatial-mcp-schemas/tools/publish_result.schema.json +29 -0
- package/certification/geospatial-mcp-schemas/tools/publish_service.schema.json +59 -0
- package/certification/geospatial-mcp-schemas/tools/query_features.schema.json +74 -0
- package/certification/geospatial-mcp-schemas/tools/refine_map_package.schema.json +22 -0
- package/certification/geospatial-mcp-schemas/tools/render_map.schema.json +60 -0
- package/certification/geospatial-mcp-schemas/tools/reproject_features.schema.json +49 -0
- package/certification/geospatial-mcp-schemas/tools/resolve_entity.schema.json +30 -0
- package/certification/geospatial-mcp-schemas/tools/solve_route.schema.json +39 -0
- package/certification/geospatial-mcp-schemas/tools/summarize_statistics.schema.json +71 -0
- package/certification/geospatial-mcp-schemas/tools/validate_package.schema.json +35 -0
- package/certification/geospatial-mcp-schemas/tools/validate_plan.schema.json +61 -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 +125 -0
- package/dist/src/certification/certifier.d.ts.map +1 -0
- package/dist/src/certification/certifier.js +455 -0
- package/dist/src/certification/cli.d.ts +3 -0
- package/dist/src/certification/cli.d.ts.map +1 -0
- package/dist/src/certification/cli.js +63 -0
- package/dist/src/certification/contracts.d.ts +103 -0
- package/dist/src/certification/contracts.d.ts.map +1 -0
- package/dist/src/certification/contracts.js +245 -0
- package/dist/src/certification/fixture-client.d.ts +4 -0
- package/dist/src/certification/fixture-client.d.ts.map +1 -0
- package/dist/src/certification/fixture-client.js +113 -0
- package/dist/src/certification/fixtures.d.ts +45 -0
- package/dist/src/certification/fixtures.d.ts.map +1 -0
- package/dist/src/certification/fixtures.js +92 -0
- package/dist/src/certification/json-schema.d.ts +71 -0
- package/dist/src/certification/json-schema.d.ts.map +1 -0
- package/dist/src/certification/json-schema.js +172 -0
- 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/mock-upstream.d.ts +29 -0
- package/dist/src/certification/mock-upstream.d.ts.map +1 -0
- package/dist/src/certification/mock-upstream.js +96 -0
- package/dist/src/certification/operator-catalog.d.ts +90 -0
- package/dist/src/certification/operator-catalog.d.ts.map +1 -0
- package/dist/src/certification/operator-catalog.js +650 -0
- package/dist/src/certification/report.d.ts +4 -0
- package/dist/src/certification/report.d.ts.map +1 -0
- package/dist/src/certification/report.js +103 -0
- package/dist/src/certification/run.d.ts +28 -0
- package/dist/src/certification/run.d.ts.map +1 -0
- package/dist/src/certification/run.js +32 -0
- package/dist/src/certification/schema-index.d.ts +94 -0
- package/dist/src/certification/schema-index.d.ts.map +1 -0
- package/dist/src/certification/schema-index.js +109 -0
- package/dist/src/certification/target.d.ts +48 -0
- package/dist/src/certification/target.d.ts.map +1 -0
- package/dist/src/certification/target.js +219 -0
- package/dist/src/eval/cli.d.ts +3 -0
- package/dist/src/eval/cli.d.ts.map +1 -0
- package/dist/src/eval/cli.js +118 -0
- package/dist/src/eval/corpus.d.ts +34 -0
- package/dist/src/eval/corpus.d.ts.map +1 -0
- package/dist/src/eval/corpus.js +150 -0
- package/dist/src/eval/drivers/anthropic.d.ts +14 -0
- package/dist/src/eval/drivers/anthropic.d.ts.map +1 -0
- package/dist/src/eval/drivers/anthropic.js +120 -0
- package/dist/src/eval/drivers/bedrock.d.ts +54 -0
- package/dist/src/eval/drivers/bedrock.d.ts.map +1 -0
- package/dist/src/eval/drivers/bedrock.js +178 -0
- package/dist/src/eval/drivers/deterministic.d.ts +17 -0
- package/dist/src/eval/drivers/deterministic.d.ts.map +1 -0
- package/dist/src/eval/drivers/deterministic.js +64 -0
- package/dist/src/eval/drivers/index.d.ts +34 -0
- package/dist/src/eval/drivers/index.d.ts.map +1 -0
- package/dist/src/eval/drivers/index.js +74 -0
- package/dist/src/eval/drivers/openai.d.ts +14 -0
- package/dist/src/eval/drivers/openai.d.ts.map +1 -0
- package/dist/src/eval/drivers/openai.js +136 -0
- package/dist/src/eval/grade.d.ts +14 -0
- package/dist/src/eval/grade.d.ts.map +1 -0
- package/dist/src/eval/grade.js +75 -0
- package/dist/src/eval/northstar-corpus.d.ts +3 -0
- package/dist/src/eval/northstar-corpus.d.ts.map +1 -0
- package/dist/src/eval/northstar-corpus.js +194 -0
- package/dist/src/eval/operator-corpus.d.ts +3 -0
- package/dist/src/eval/operator-corpus.d.ts.map +1 -0
- package/dist/src/eval/operator-corpus.js +193 -0
- package/dist/src/eval/report.d.ts +109 -0
- package/dist/src/eval/report.d.ts.map +1 -0
- package/dist/src/eval/report.js +133 -0
- package/dist/src/eval/runner.d.ts +28 -0
- package/dist/src/eval/runner.d.ts.map +1 -0
- package/dist/src/eval/runner.js +130 -0
- 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 +118 -0
- package/dist/src/eval/types.d.ts.map +1 -0
- package/dist/src/eval/types.js +10 -0
- package/dist/src/helpers.d.ts +11 -0
- package/dist/src/helpers.d.ts.map +1 -1
- package/dist/src/helpers.js +22 -0
- package/dist/src/index.d.ts +31 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +50 -4
- 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/proxy.d.ts +46 -0
- package/dist/src/proxy.d.ts.map +1 -0
- package/dist/src/proxy.js +124 -0
- package/dist/src/resources/styles.d.ts +29 -0
- package/dist/src/resources/styles.d.ts.map +1 -0
- package/dist/src/resources/styles.js +76 -0
- package/dist/src/styles.d.ts +112 -0
- package/dist/src/styles.d.ts.map +1 -0
- package/dist/src/styles.js +144 -0
- package/dist/src/tools/apply-style-preset.d.ts +27 -0
- package/dist/src/tools/apply-style-preset.d.ts.map +1 -0
- package/dist/src/tools/apply-style-preset.js +41 -0
- package/dist/src/tools/count-features.d.ts.map +1 -1
- package/dist/src/tools/count-features.js +5 -4
- package/dist/src/tools/get-extent.d.ts.map +1 -1
- package/dist/src/tools/get-extent.js +6 -4
- package/dist/src/tools/get-style.d.ts +24 -0
- package/dist/src/tools/get-style.d.ts.map +1 -0
- package/dist/src/tools/get-style.js +39 -0
- package/dist/src/tools/list-services.d.ts.map +1 -1
- package/dist/src/tools/list-services.js +16 -1
- package/dist/src/tools/query-features.d.ts.map +1 -1
- package/dist/src/tools/query-features.js +4 -1
- package/package.json +28 -4
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/geocode_address.schema.json",
|
|
4
|
+
"title": "geocode_address inputSchema",
|
|
5
|
+
"description": "Argument shape for the analysis/geoprocessing geocode tool (advertised name honua_geocode_address). Resolves a freeform address to ranked candidates. x-honua-reference-shape: this shape tracks the reference implementation.",
|
|
6
|
+
"x-honua-reference-shape": true,
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["address"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"address": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"minLength": 1,
|
|
13
|
+
"description": "Freeform single-line address text to geocode."
|
|
14
|
+
},
|
|
15
|
+
"maxResults": {
|
|
16
|
+
"type": "integer",
|
|
17
|
+
"minimum": 1,
|
|
18
|
+
"maximum": 50,
|
|
19
|
+
"default": 5,
|
|
20
|
+
"description": "Maximum number of candidates to return."
|
|
21
|
+
},
|
|
22
|
+
"countryCodes": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Optional comma-separated ISO 3166 country codes to restrict the search."
|
|
25
|
+
},
|
|
26
|
+
"outSrid": {
|
|
27
|
+
"type": "integer",
|
|
28
|
+
"default": 4326,
|
|
29
|
+
"description": "Spatial reference (SRID/WKID) for returned candidate coordinates."
|
|
30
|
+
},
|
|
31
|
+
"provider": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "Optional preferred geocoding provider name."
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/geocode_addresses.schema.json",
|
|
4
|
+
"title": "geocode_addresses inputSchema",
|
|
5
|
+
"description": "Argument shape for the analysis/geoprocessing batch geocode tool (advertised name honua_geocode_addresses). Resolves up to 100 freeform addresses in one call, returning one result per input in input order ({input, ok, location?, score?, error?}); a failed address surfaces per item without failing the batch. First step of the CSV-of-addresses workflow: geocode here, then load the coordinates with ingest_dataset and publish the table with publish_service. x-honua-reference-shape: this shape tracks the reference implementation.",
|
|
6
|
+
"x-honua-reference-shape": true,
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["addresses"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"addresses": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"minItems": 1,
|
|
13
|
+
"maxItems": 100,
|
|
14
|
+
"items": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"minLength": 1
|
|
17
|
+
},
|
|
18
|
+
"description": "Freeform single-line addresses to geocode, in the order results should be returned."
|
|
19
|
+
},
|
|
20
|
+
"countryCodes": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "Optional comma-separated ISO 3166 country codes to restrict the search."
|
|
23
|
+
},
|
|
24
|
+
"outSrid": {
|
|
25
|
+
"type": "integer",
|
|
26
|
+
"default": 4326,
|
|
27
|
+
"description": "Spatial reference (SRID/WKID) for returned coordinates (x=longitude, y=latitude order). Defaults to 4326 (WGS84 lon/lat)."
|
|
28
|
+
},
|
|
29
|
+
"provider": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Optional preferred geocoding provider name."
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/get_style.schema.json",
|
|
4
|
+
"title": "get_style inputSchema",
|
|
5
|
+
"description": "Argument shape for get_style (Analyze, Publish Data, Build App). Read-only style inspection: with styleId, resolves a single canonical StyleRef (style_id/title/encodings) from the server OGC API – Styles surface; with serviceId+layerId (a reference-implementation convenience) resolves the primary/default StyleRef bound to that published layer; with none of these, lists the available styles (honua://styles). Like every MCP tool it is read-only and never mutates server-side styles. See taxonomy.md §Style inspection and resources.md §honua://styles.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"styleId": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"minLength": 1,
|
|
11
|
+
"description": "StyleRef identifier (style_…) to resolve. When omitted, the tool resolves the styleId bound to serviceId+layerId, or lists the available styles (honua://styles) when neither is given."
|
|
12
|
+
},
|
|
13
|
+
"serviceId": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"minLength": 1,
|
|
16
|
+
"description": "Reference-implementation shape (honua_get_style): published service identifier or name. Paired with layerId, resolves that layer's primary/default StyleRef when styleId is omitted."
|
|
17
|
+
},
|
|
18
|
+
"layerId": {
|
|
19
|
+
"type": "integer",
|
|
20
|
+
"minimum": 0,
|
|
21
|
+
"description": "Reference-implementation shape (honua_get_style): service-local layer index. Paired with serviceId, resolves that layer's primary/default StyleRef when styleId is omitted."
|
|
22
|
+
},
|
|
23
|
+
"encoding": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Optional StyleEncoding to select from StyleRef.encodings when resolving a single style.",
|
|
26
|
+
"enum": [
|
|
27
|
+
"mapbox-style",
|
|
28
|
+
"sld-1.0.0",
|
|
29
|
+
"sld-1.1.0",
|
|
30
|
+
"esri-drawing-info",
|
|
31
|
+
"esri-image-renderer",
|
|
32
|
+
"3d-tiles-styling"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"includeStylesheet": {
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"description": "When true and a single style resolves, include the resolved stylesheet body (inlineBody) for the selected encoding; otherwise the StyleRef projection advertises derived encodings by reference (storageRef)."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/ground_candidates.schema.json",
|
|
4
|
+
"title": "ground_candidates inputSchema",
|
|
5
|
+
"description": "Argument shape for the ground_candidates tool (Analyze, Publish Data). Reference advertised name: honua_ground_candidates. Grounds a natural-language goal to a workflow family, ranked candidates, a draft intent, and an optional clarification envelope. See taxonomy.md §Intent and planning and planning.md §2.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["goal"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"goal": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1,
|
|
12
|
+
"description": "Freeform natural-language description of the operator's goal."
|
|
13
|
+
},
|
|
14
|
+
"intentId": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"minLength": 1,
|
|
17
|
+
"description": "Intent identifier. Optional on the initial grounding call (server allocates one); required on a clarification turn."
|
|
18
|
+
},
|
|
19
|
+
"workflowFamilyHint": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Optional workflow-family override (one of the canonical WorkflowFamily names).",
|
|
22
|
+
"enum": ["Analyze", "PublishData", "BuildApp", "AutomateDeploy"]
|
|
23
|
+
},
|
|
24
|
+
"assumptionPolicy": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "Policy controlling when inferred assumptions trigger a clarification. See planning.md §2.3.",
|
|
27
|
+
"enum": ["AskAlways", "AskWhenMaterial", "UseDefaults"]
|
|
28
|
+
},
|
|
29
|
+
"explicitInputs": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"description": "Dataset, layer, or artifact identifiers the caller has already pinned.",
|
|
32
|
+
"items": { "type": "string", "minLength": 1 }
|
|
33
|
+
},
|
|
34
|
+
"constraints": {
|
|
35
|
+
"type": "object",
|
|
36
|
+
"additionalProperties": false,
|
|
37
|
+
"description": "Optional analysis constraints.",
|
|
38
|
+
"properties": {
|
|
39
|
+
"areaOfInterest": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "AOI as WKT, bounding-box string, or named area."
|
|
42
|
+
},
|
|
43
|
+
"spatialReferenceId": {
|
|
44
|
+
"type": "integer",
|
|
45
|
+
"description": "EPSG SRID for the AOI (defaults to 4326)."
|
|
46
|
+
},
|
|
47
|
+
"timeWindowStart": { "type": "string", "format": "date-time" },
|
|
48
|
+
"timeWindowEnd": { "type": "string", "format": "date-time" },
|
|
49
|
+
"units": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "Preferred unit system (e.g. 'meters', 'feet')."
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"context": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"additionalProperties": false,
|
|
58
|
+
"description": "Optional workflow context.",
|
|
59
|
+
"properties": {
|
|
60
|
+
"workspaceId": { "type": "string" },
|
|
61
|
+
"priorIntentId": { "type": "string" },
|
|
62
|
+
"promotionScope": { "type": "string" }
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/ingest_dataset.schema.json",
|
|
4
|
+
"title": "ingest_dataset inputSchema",
|
|
5
|
+
"description": "Argument shape for the Publish Data ingest tool (advertised name honua_ingest_dataset). Loads a small inline dataset (CSV with a header row, or a GeoJSON FeatureCollection; 4 MB cap) into the reference implementation's catalog database as a table, returning the {connectionId, schema, table} triple plus row count and per-row errors so the result chains directly into publish_service. CSV point geometry comes from longitude/latitude columns (auto-detected or explicit), a WKT column, or a server-geocoded address column; coordinate order is lon/lat and the CRS defaults to EPSG:4326. x-honua-reference-shape: this shape tracks the reference implementation.",
|
|
6
|
+
"x-honua-reference-shape": true,
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["format", "data", "datasetName"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"format": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"enum": ["csv", "geojson"],
|
|
13
|
+
"description": "Inline data format: \"csv\" (text with a header row) or \"geojson\" (a GeoJSON FeatureCollection document)."
|
|
14
|
+
},
|
|
15
|
+
"data": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"minLength": 1,
|
|
18
|
+
"description": "The dataset content, inline. Capped at 4 MB; larger datasets use the implementation's out-of-band upload surface."
|
|
19
|
+
},
|
|
20
|
+
"datasetName": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"minLength": 1,
|
|
23
|
+
"maxLength": 63,
|
|
24
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
25
|
+
"description": "Target dataset/table name (letters, digits, underscores; must not start with a digit)."
|
|
26
|
+
},
|
|
27
|
+
"sourceSrid": {
|
|
28
|
+
"type": "integer",
|
|
29
|
+
"default": 4326,
|
|
30
|
+
"description": "Spatial reference (SRID/WKID) of the input coordinates; data is stored in EPSG:4326. Defaults to 4326 (WGS84 lon/lat)."
|
|
31
|
+
},
|
|
32
|
+
"longitudeColumn": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "CSV only: explicit longitude (X) column name. Pair with latitudeColumn. When omitted, lon/lng/long/longitude/x is auto-detected."
|
|
35
|
+
},
|
|
36
|
+
"latitudeColumn": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "CSV only: explicit latitude (Y) column name. Pair with longitudeColumn. When omitted, lat/latitude/y is auto-detected."
|
|
39
|
+
},
|
|
40
|
+
"addressColumn": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "CSV only: column holding freeform addresses to geocode into point geometry server-side (up to 100 rows). Mutually exclusive with longitudeColumn/latitudeColumn."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/join_features.schema.json",
|
|
4
|
+
"title": "join_features inputSchema",
|
|
5
|
+
"description": "Direct geoprocessing verb (advertised name honua_join_features): join a second dataset onto a target dataset — either an attribute join on matching key fields or a spatial join by geometric relationship — and return the joined features. Use this for a single self-contained join step (\"attach the demographics table to the tracts\", \"tag each incident with the county it falls in\"); for multi-step analysis with dependencies and a packaged result, use plan_analysis + execute_plan instead. Member of the standard's opt-in **analysis** conformance profile (see /CONFORMANCE.md and docs/adr/0029-direct-geoprocessing-verbs.md). Long-running calls return an ExecutionJob handle (honua://jobs/{job_id}), pollable and cancelable via cancel_job; small/fast calls may return an inline result. Advertised readOnlyHint: true (computes a derived result; mutates no server state). x-honua-reference-shape: the concrete source (serviceId/layerId, artifactId) spellings track the reference pipeline.",
|
|
6
|
+
"x-honua-reference-shape": true,
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["target", "join", "joinType"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"target": {
|
|
11
|
+
"description": "Target (left) dataset whose features are kept and enriched: EITHER a published layer (serviceId + layerId) OR a prior-result artifact (artifactId).",
|
|
12
|
+
"oneOf": [
|
|
13
|
+
{ "$ref": "#/$defs/layerRef" },
|
|
14
|
+
{ "$ref": "#/$defs/artifactRef" }
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"join": {
|
|
18
|
+
"description": "Join (right) dataset supplying attributes to append: EITHER a published layer (serviceId + layerId) OR a prior-result artifact (artifactId).",
|
|
19
|
+
"oneOf": [
|
|
20
|
+
{ "$ref": "#/$defs/layerRef" },
|
|
21
|
+
{ "$ref": "#/$defs/artifactRef" }
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"joinType": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"enum": ["attribute", "spatial"],
|
|
27
|
+
"description": "attribute: match on equal key fields (targetField = joinField). spatial: match by geometric relationship (spatialRelationship)."
|
|
28
|
+
},
|
|
29
|
+
"targetField": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Attribute join only: key field on the target dataset. Required when joinType is attribute."
|
|
32
|
+
},
|
|
33
|
+
"joinField": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Attribute join only: key field on the join dataset matched against targetField. Required when joinType is attribute."
|
|
36
|
+
},
|
|
37
|
+
"spatialRelationship": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": ["intersects", "contains", "within", "nearest"],
|
|
40
|
+
"description": "Spatial join only: geometric predicate relating a target feature to join features. Required when joinType is spatial."
|
|
41
|
+
},
|
|
42
|
+
"joinOperation": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"default": "one_to_one",
|
|
45
|
+
"enum": ["one_to_one", "one_to_many"],
|
|
46
|
+
"description": "one_to_one: one output row per target feature (matches aggregated per joinAggregation on conflict). one_to_many: one output row per matching pair."
|
|
47
|
+
},
|
|
48
|
+
"joinAggregation": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"enum": ["first", "count", "sum", "min", "max", "mean"],
|
|
51
|
+
"description": "one_to_one only: how to reduce multiple matches for a target feature. Defaults to an implementation-defined first-match when omitted."
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"$defs": {
|
|
55
|
+
"layerRef": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"required": ["serviceId", "layerId"],
|
|
58
|
+
"additionalProperties": false,
|
|
59
|
+
"properties": {
|
|
60
|
+
"serviceId": { "type": "string", "minLength": 1, "description": "Published service identifier or name (from list_layers.serviceId or resolve_entity)." },
|
|
61
|
+
"layerId": { "type": "integer", "minimum": 0, "description": "Service-local layer index (from list_layers.layerId)." }
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"artifactRef": {
|
|
65
|
+
"type": "object",
|
|
66
|
+
"required": ["artifactId"],
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"properties": {
|
|
69
|
+
"artifactId": { "type": "string", "minLength": 1, "description": "Identifier (artifact_…) of a prior-result ArtifactRef produced by an earlier analysis job or verb. See resources/artifact.schema.json." }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/list_capabilities.schema.json",
|
|
4
|
+
"title": "list_capabilities inputSchema",
|
|
5
|
+
"description": "Argument shape for enumerating the server's full tool/resource surface plus grounding resources for a cold client LLM. The bare standard taxonomy models capability discovery as a CapabilityCatalog read; the reference implementation exposes it as a discrete tool (advertised name honua_list_capabilities). x-honua-extension: this is a documented Honua extension over the bare taxonomy, pending formalization in the geospatial-mcp standard. x-honua-reference-shape: this shape tracks the reference implementation.",
|
|
6
|
+
"x-honua-extension": true,
|
|
7
|
+
"x-honua-reference-shape": true,
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"includeResources": {
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"default": true,
|
|
13
|
+
"description": "Include the resource catalog (job, catalog, and promotion URIs) in the manifest."
|
|
14
|
+
},
|
|
15
|
+
"includeGroundingResources": {
|
|
16
|
+
"type": "boolean",
|
|
17
|
+
"default": true,
|
|
18
|
+
"description": "Include the grounding/catalog resource URIs a client LLM should read first to ground a workflow."
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/list_layers.schema.json",
|
|
4
|
+
"title": "list_layers inputSchema",
|
|
5
|
+
"description": "Argument shape for the discovery/query layer-listing tool. The bare standard taxonomy models discovery as a CapabilityCatalog read; the reference implementation exposes it as a tool (advertised name honua_list_layers) over the open-core data-access surface. x-honua-reference-shape: this shape tracks the reference implementation.",
|
|
6
|
+
"x-honua-reference-shape": true,
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"filter": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Optional case-insensitive substring to match against service and layer name/title. When omitted, all published layers are returned."
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/overlay_features.schema.json",
|
|
4
|
+
"title": "overlay_features inputSchema",
|
|
5
|
+
"description": "Direct geoprocessing verb (advertised name honua_overlay_features): compute a two-input topological overlay (intersect, union, difference, erase, or clip) and return the result features. Use this for a single self-contained overlay step (\"intersect the flood zones with the parcels\"); for multi-step analysis with dependencies and a packaged result, use plan_analysis + execute_plan instead. Member of the standard's opt-in **analysis** conformance profile (see /CONFORMANCE.md and docs/adr/0029-direct-geoprocessing-verbs.md). Long-running calls return an ExecutionJob handle (honua://jobs/{job_id}), pollable and cancelable via cancel_job; small/fast calls may return an inline result. Advertised readOnlyHint: true (computes a derived result; mutates no server state). x-honua-reference-shape: the concrete source (serviceId/layerId, artifactId) spellings track the reference pipeline.",
|
|
6
|
+
"x-honua-reference-shape": true,
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["source", "overlay", "operation"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"source": {
|
|
11
|
+
"description": "Primary input dataset: EITHER a published layer (serviceId + layerId) OR a prior-result artifact (artifactId).",
|
|
12
|
+
"oneOf": [
|
|
13
|
+
{ "$ref": "#/$defs/layerRef" },
|
|
14
|
+
{ "$ref": "#/$defs/artifactRef" }
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"overlay": {
|
|
18
|
+
"description": "Overlay dataset combined with source: EITHER a published layer (serviceId + layerId) OR a prior-result artifact (artifactId).",
|
|
19
|
+
"oneOf": [
|
|
20
|
+
{ "$ref": "#/$defs/layerRef" },
|
|
21
|
+
{ "$ref": "#/$defs/artifactRef" }
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"operation": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"enum": ["intersect", "union", "difference", "erase", "clip"],
|
|
27
|
+
"description": "Overlay operation. intersect: geometry AND attributes of both where they overlap. union: full combination of both inputs. difference: source minus overlay (source attributes kept). erase: remove the overlay area from source. clip: cut source to the overlay boundary (source attributes only)."
|
|
28
|
+
},
|
|
29
|
+
"outSrid": {
|
|
30
|
+
"type": "integer",
|
|
31
|
+
"description": "Output spatial reference (SRID/WKID) for the returned overlay features; defaults to the source CRS."
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"$defs": {
|
|
35
|
+
"layerRef": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"required": ["serviceId", "layerId"],
|
|
38
|
+
"additionalProperties": false,
|
|
39
|
+
"properties": {
|
|
40
|
+
"serviceId": { "type": "string", "minLength": 1, "description": "Published service identifier or name (from list_layers.serviceId or resolve_entity)." },
|
|
41
|
+
"layerId": { "type": "integer", "minimum": 0, "description": "Service-local layer index (from list_layers.layerId)." }
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"artifactRef": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"required": ["artifactId"],
|
|
47
|
+
"additionalProperties": false,
|
|
48
|
+
"properties": {
|
|
49
|
+
"artifactId": { "type": "string", "minLength": 1, "description": "Identifier (artifact_…) of a prior-result ArtifactRef produced by an earlier analysis job or verb. See resources/artifact.schema.json." }
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/plan_analysis.schema.json",
|
|
4
|
+
"title": "plan_analysis inputSchema",
|
|
5
|
+
"description": "Argument shape for the plan_analysis tool (Analyze family; emits an AnalysisPlan). Reference advertised name: honua_plan_analysis. Compiles a natural-language intent into an analysis plan / canonical spec draft. See taxonomy.md §Intent and planning.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["intent"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"intent": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1,
|
|
12
|
+
"description": "Natural-language intent to compile into an analysis plan or canonical spec draft."
|
|
13
|
+
},
|
|
14
|
+
"context": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"description": "Optional caller context. Echoed back unchanged by the reference implementation."
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/preview_app_package.schema.json",
|
|
4
|
+
"title": "preview_app_package inputSchema",
|
|
5
|
+
"description": "Argument shape for preview_app_package (Build App; returns a preview ArtifactRef). Produces a read-only preview artifact for an existing app package. Responsibility-level. See taxonomy.md §App composition.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": ["appPackageId"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"appPackageId": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Identifier (app_…) of the AppPackage to preview."
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/preview_map_package.schema.json",
|
|
4
|
+
"title": "preview_map_package inputSchema",
|
|
5
|
+
"description": "Argument shape for preview_map_package (Analyze, Build App; returns a preview ArtifactRef). Produces a read-only preview artifact for an existing map package. Responsibility-level. See taxonomy.md §Map composition.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": ["mapPackageId"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"mapPackageId": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Identifier (map_…) of the MapPackage to preview."
|
|
13
|
+
},
|
|
14
|
+
"width": { "type": "integer", "minimum": 1 },
|
|
15
|
+
"height": { "type": "integer", "minimum": 1 }
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/preview_package.schema.json",
|
|
4
|
+
"title": "preview_package inputSchema",
|
|
5
|
+
"description": "Argument shape for the read-only composition-review tool (advertised name honua_preview_package). Computes a read-only preview plan for a map/app package before publishing, in addition to the requirement-coverage review; it never mutates server state. x-honua-reference-shape: tracks the reference implementation; the bare taxonomy models package preview as a CapabilityCatalog + resource read.",
|
|
6
|
+
"x-honua-reference-shape": true,
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"contractVersion": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Package-review contract version. Current value is honua.package_review.v1."
|
|
12
|
+
},
|
|
13
|
+
"packageFamily": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Supported values are query, analysis_plan, map_package, dashboard_report, form, app_package, workflow, gp, and etl. Missing or unknown values are returned as canonical missing_package_family or unsupported_package_family findings rather than rejected by the schema."
|
|
16
|
+
},
|
|
17
|
+
"packageId": { "type": "string" },
|
|
18
|
+
"requestedAction": { "type": "string" },
|
|
19
|
+
"format": { "type": "string" },
|
|
20
|
+
"packagePayload": {
|
|
21
|
+
"type": ["object", "array", "string", "number", "boolean", "null"],
|
|
22
|
+
"description": "Opaque package payload inspected only by the matching package-family adapter."
|
|
23
|
+
},
|
|
24
|
+
"requirements": {
|
|
25
|
+
"type": ["object", "null"],
|
|
26
|
+
"description": "Shared data binding, permission, schema, CRS, capability, dependency, and approval requirements. An explicit null is normalized to an empty requirement set."
|
|
27
|
+
},
|
|
28
|
+
"estimate": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"description": "Optional upstream estimate echoed in the shared package-review response."
|
|
31
|
+
},
|
|
32
|
+
"includePreviewPlan": { "type": "boolean" },
|
|
33
|
+
"includePassFindings": { "type": "boolean" },
|
|
34
|
+
"resourceRefs": {
|
|
35
|
+
"type": ["object", "null"],
|
|
36
|
+
"additionalProperties": { "type": "string" },
|
|
37
|
+
"description": "Safe caller-visible resource references. An explicit null is normalized to an empty map."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/propose_operation.schema.json",
|
|
4
|
+
"title": "propose_operation inputSchema",
|
|
5
|
+
"description": "Argument shape for the control-plane proposal tool (advertised name honua_propose_operation). Proposes an in-scope mutating control-plane operation for human approval (never autonomously executed), consistent with the ADR-0028 no-direct-AI-mutation boundary in taxonomy.md §Non-Goals. x-honua-reference-shape: tracks the reference implementation.",
|
|
6
|
+
"x-honua-reference-shape": true,
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["kind"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"kind": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "In-scope mutating control-plane operation class to propose.",
|
|
13
|
+
"enum": ["AdminConfigChange", "Deploy", "MetadataRelease", "Seed"]
|
|
14
|
+
},
|
|
15
|
+
"reason": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Operator-facing reason or change note for the proposal."
|
|
18
|
+
},
|
|
19
|
+
"executionPayload": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Opaque, class-specific JSON execution payload replayed when the proposal is approved."
|
|
22
|
+
},
|
|
23
|
+
"idempotencyKey": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Stable idempotency key for the underlying operation."
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/publish_result.schema.json",
|
|
4
|
+
"title": "publish_result inputSchema",
|
|
5
|
+
"description": "Argument shape for publish_result (Analyze, Publish Data, Build App). Promotes a result/package to a canonical promotion-surface target: PublishedService for Analyze and Publish Data, Deployment for Build App (resources.md §Promotion-Surface Resources). Publish/PolicyBoundary clarifications fire before handoff (planning.md). Responsibility-level: concrete promotion field set finalizes upstream (honua-server#730/#732).",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": ["sourceId"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"sourceId": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Identifier of the package or result being promoted (result_…, map_…, app_…)."
|
|
13
|
+
},
|
|
14
|
+
"targetKind": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Promotion-surface target family. published_service for Analyze and Publish Data; deployment for Build App.",
|
|
17
|
+
"enum": ["published_service", "deployment"]
|
|
18
|
+
},
|
|
19
|
+
"visibility": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Promotion visibility scope.",
|
|
22
|
+
"enum": ["workspace_shared", "public"]
|
|
23
|
+
},
|
|
24
|
+
"routePrefix": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "Optional route prefix for a deployment target."
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://geospatial-mcp.honua.io/spec/schemas/tools/publish_service.schema.json",
|
|
4
|
+
"title": "publish_service inputSchema",
|
|
5
|
+
"description": "Argument shape for the lifecycle service-publish tool (advertised name honua_publish_service). Publishes a table from a registered secure connection as a layer on a target service via the canonical service.publish operation. x-honua-reference-shape: tracks the reference implementation.",
|
|
6
|
+
"x-honua-reference-shape": true,
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["connectionId", "schema", "table", "layerName"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"connectionId": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Secure-connection identifier whose table is published. Required: the canonical service.publish operation resolves the target database connection from it."
|
|
13
|
+
},
|
|
14
|
+
"schema": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"minLength": 1,
|
|
17
|
+
"description": "Source schema containing the table to publish."
|
|
18
|
+
},
|
|
19
|
+
"table": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"minLength": 1,
|
|
22
|
+
"description": "Source table to publish as a layer."
|
|
23
|
+
},
|
|
24
|
+
"layerName": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"minLength": 1,
|
|
27
|
+
"description": "Display name for the published layer."
|
|
28
|
+
},
|
|
29
|
+
"serviceName": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Target service name. Defaults to the canonical default service when omitted."
|
|
32
|
+
},
|
|
33
|
+
"description": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Optional layer description."
|
|
36
|
+
},
|
|
37
|
+
"geometryColumn": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Geometry column to publish when the table has more than one."
|
|
40
|
+
},
|
|
41
|
+
"geometryType": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Geometry type override (for example Point, Polygon) when it cannot be inferred."
|
|
44
|
+
},
|
|
45
|
+
"srid": {
|
|
46
|
+
"type": "integer",
|
|
47
|
+
"description": "Spatial reference identifier for the published layer."
|
|
48
|
+
},
|
|
49
|
+
"primaryKey": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "Primary key column when the table has no detectable key."
|
|
52
|
+
},
|
|
53
|
+
"fields": {
|
|
54
|
+
"type": "array",
|
|
55
|
+
"items": { "type": "string" },
|
|
56
|
+
"description": "Subset of attribute columns to publish. All columns are published when omitted."
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|