@honua/mcp-server 0.1.4-beta.0 → 0.1.8-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 +30 -2
- package/dist/src/certification/admin-parity.d.ts +96 -0
- package/dist/src/certification/admin-parity.d.ts.map +1 -0
- package/dist/src/certification/admin-parity.js +235 -0
- package/dist/src/certification/target.d.ts.map +1 -1
- package/dist/src/certification/target.js +18 -26
- package/dist/src/credential-endpoint.d.ts +3 -0
- package/dist/src/credential-endpoint.d.ts.map +1 -0
- package/dist/src/credential-endpoint.js +24 -0
- package/dist/src/index.d.ts +22 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +31 -3
- package/dist/src/proxy.d.ts.map +1 -1
- package/dist/src/proxy.js +29 -14
- package/dist/src/release/zero-to-map-checkpoint.d.ts +34 -0
- package/dist/src/release/zero-to-map-checkpoint.d.ts.map +1 -0
- package/dist/src/release/zero-to-map-checkpoint.js +369 -0
- package/dist/src/release/zero-to-map-cli.d.ts +51 -0
- package/dist/src/release/zero-to-map-cli.d.ts.map +1 -0
- package/dist/src/release/zero-to-map-cli.js +880 -0
- package/dist/src/release/zero-to-map-provision.d.ts +37 -0
- package/dist/src/release/zero-to-map-provision.d.ts.map +1 -0
- package/dist/src/release/zero-to-map-provision.js +177 -0
- package/dist/src/release/zero-to-map.d.ts +296 -0
- package/dist/src/release/zero-to-map.d.ts.map +1 -0
- package/dist/src/release/zero-to-map.js +1069 -0
- package/dist/src/tools/admin-install-local.d.ts +30 -0
- package/dist/src/tools/admin-install-local.d.ts.map +1 -0
- package/dist/src/tools/admin-install-local.js +22 -0
- package/dist/src/tools/control-plane-command.d.ts +99 -0
- package/dist/src/tools/control-plane-command.d.ts.map +1 -0
- package/dist/src/tools/control-plane-command.js +180 -0
- package/dist/src/tools/docs-search.d.ts +100 -0
- package/dist/src/tools/docs-search.d.ts.map +1 -0
- package/dist/src/tools/docs-search.js +381 -0
- package/package.json +8 -3
- package/release/zero-to-map/README.md +174 -0
- package/release/zero-to-map/configs/claude-code.mcp.json +11 -0
- package/release/zero-to-map/configs/claude-desktop.json +11 -0
- package/release/zero-to-map/configs/cursor.json +11 -0
- package/release/zero-to-map/contracts/aws-ecs-provision-binding.schema.json +59 -0
- package/release/zero-to-map/contracts/checkpoint.schema.json +152 -0
- package/release/zero-to-map/contracts/console-receipt.schema.json +150 -0
- package/release/zero-to-map/contracts/esri-gp-mcp.v1.json +73 -0
- package/release/zero-to-map/fixtures/parcels.geojson +33 -0
- package/release/zero-to-map/fixtures/zoning.geojson +24 -0
- package/release/zero-to-map/journey.v1.json +1248 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://honua.io/schemas/aws-ecs-provision-binding.v1.json",
|
|
4
|
+
"title": "Honua pre-teardown AWS ECS provision binding",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schemaVersion", "target", "status", "candidateId", "releaseId", "endpoint", "adminKeySecretRef", "accessCredential", "serverImage", "components", "checks", "evidence"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schemaVersion": { "const": "honua.aws-ecs.provision-binding/v1" },
|
|
9
|
+
"target": { "const": "aws-ecs" },
|
|
10
|
+
"status": { "const": "ready" },
|
|
11
|
+
"candidateId": { "type": "string", "pattern": "^manifest-sha256:[0-9a-f]{64}$" },
|
|
12
|
+
"releaseId": { "type": "string", "minLength": 1 },
|
|
13
|
+
"endpoint": { "type": "string", "pattern": "^https://" },
|
|
14
|
+
"adminKeySecretRef": { "type": "string", "pattern": "^arn:aws(?:-us-gov|-cn)?:secretsmanager:[a-z0-9-]+:[0-9]{12}:secret:[A-Za-z0-9/_+=.@-]+$" },
|
|
15
|
+
"accessCredential": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"additionalProperties": false,
|
|
18
|
+
"required": ["id", "requestedGrants", "effectiveGrants", "status", "canAuthenticate", "referenceType", "referenceDigestSha256"],
|
|
19
|
+
"properties": {
|
|
20
|
+
"id": { "type": "string", "format": "uuid" },
|
|
21
|
+
"requestedGrants": { "type": "array", "minItems": 2, "maxItems": 2, "uniqueItems": true, "items": { "enum": ["admin:read", "admin:write"] } },
|
|
22
|
+
"effectiveGrants": { "type": "array", "minItems": 2, "maxItems": 2, "uniqueItems": true, "items": { "enum": ["admin:read", "admin:write"] } },
|
|
23
|
+
"status": { "const": "active" },
|
|
24
|
+
"canAuthenticate": { "const": true },
|
|
25
|
+
"referenceType": { "const": "aws-secrets-manager" },
|
|
26
|
+
"referenceDigestSha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"serverImage": { "type": "string", "pattern": "^ghcr\\.io/honua-io/honua-server:[^@]+@sha256:[0-9a-f]{64}$" },
|
|
30
|
+
"components": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"required": ["honua-server", "honua-devops", "honua-iac"],
|
|
33
|
+
"properties": {
|
|
34
|
+
"honua-server": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
|
|
35
|
+
"honua-devops": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
|
|
36
|
+
"honua-iac": { "type": "string", "pattern": "^[0-9a-f]{40}$" }
|
|
37
|
+
},
|
|
38
|
+
"additionalProperties": false
|
|
39
|
+
},
|
|
40
|
+
"checks": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"required": ["terraform-plan", "terraform-apply", "readiness", "admin-mcp-handoff"],
|
|
43
|
+
"properties": {
|
|
44
|
+
"terraform-plan": { "const": "passed" },
|
|
45
|
+
"terraform-apply": { "const": "passed" },
|
|
46
|
+
"readiness": { "const": "passed" },
|
|
47
|
+
"admin-mcp-handoff": { "const": "passed" }
|
|
48
|
+
},
|
|
49
|
+
"additionalProperties": false
|
|
50
|
+
},
|
|
51
|
+
"evidence": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"required": ["url", "sha256"],
|
|
54
|
+
"properties": { "url": { "type": "string", "pattern": "^https://" }, "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" } },
|
|
55
|
+
"additionalProperties": false
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"additionalProperties": false
|
|
59
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://honua.io/schemas/zero-to-map-checkpoint.v1.json",
|
|
4
|
+
"title": "Honua zero-to-map pause/resume checkpoint",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schemaVersion", "state", "createdAt", "journeyId", "releaseContract", "target", "planSha256", "sourceRevision", "mcpEndpointSha256", "candidateId", "releaseId", "resume", "consoleReceiptRequest", "integrity"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schemaVersion": { "const": "honua.zero-to-map.checkpoint/v1" },
|
|
9
|
+
"state": { "enum": ["paused", "consumed"] },
|
|
10
|
+
"createdAt": { "type": "string", "format": "date-time" },
|
|
11
|
+
"journeyId": { "type": "string", "minLength": 1 },
|
|
12
|
+
"releaseContract": { "type": "string", "minLength": 1 },
|
|
13
|
+
"target": { "enum": ["local-docker", "aws-ecs"] },
|
|
14
|
+
"planSha256": { "$ref": "#/$defs/sha256" },
|
|
15
|
+
"sourceRevision": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
|
|
16
|
+
"mcpEndpointSha256": { "$ref": "#/$defs/sha256" },
|
|
17
|
+
"candidateId": { "type": "string", "minLength": 1 },
|
|
18
|
+
"releaseId": { "type": "string", "minLength": 1 },
|
|
19
|
+
"provisionReceiptSha256": { "$ref": "#/$defs/sha256" },
|
|
20
|
+
"resume": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"required": ["startedAt", "capturedVariables", "completedStages", "resumeAt"],
|
|
23
|
+
"properties": {
|
|
24
|
+
"startedAt": { "type": "string", "format": "date-time" },
|
|
25
|
+
"capturedVariables": { "type": "object" },
|
|
26
|
+
"completedStages": { "type": "array", "items": { "$ref": "#/$defs/stageReceipt" } },
|
|
27
|
+
"resumeAt": {
|
|
28
|
+
"type": "object",
|
|
29
|
+
"required": ["stageId", "actionId"],
|
|
30
|
+
"properties": { "stageId": { "const": "console" }, "actionId": { "const": "console-approval" } },
|
|
31
|
+
"additionalProperties": false
|
|
32
|
+
},
|
|
33
|
+
"catalog": { "$ref": "#/$defs/catalogReceipt" }
|
|
34
|
+
},
|
|
35
|
+
"additionalProperties": false
|
|
36
|
+
},
|
|
37
|
+
"consoleReceiptRequest": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"required": ["schemaVersion", "actionId", "receiptSchema", "matches", "requiredPointers", "equalPointers"],
|
|
40
|
+
"properties": {
|
|
41
|
+
"schemaVersion": { "const": "honua.zero-to-map.console-receipt-request/v1" },
|
|
42
|
+
"actionId": { "const": "console-approval" },
|
|
43
|
+
"receiptSchema": { "const": "honua.zero-to-map.console-receipt/v1" },
|
|
44
|
+
"matches": { "type": "object" },
|
|
45
|
+
"requiredPointers": { "type": "array", "items": { "type": "string", "pattern": "^/" } },
|
|
46
|
+
"equalPointers": {
|
|
47
|
+
"type": "array",
|
|
48
|
+
"items": { "type": "array", "prefixItems": [{ "type": "string", "pattern": "^/" }, { "type": "string", "pattern": "^/" }], "items": false }
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"additionalProperties": false
|
|
52
|
+
},
|
|
53
|
+
"consumedAt": { "type": "string", "format": "date-time" },
|
|
54
|
+
"finalReceiptSha256": { "$ref": "#/$defs/sha256" },
|
|
55
|
+
"integrity": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"required": ["algorithm", "digest"],
|
|
58
|
+
"properties": { "algorithm": { "const": "sha256" }, "digest": { "$ref": "#/$defs/sha256" } },
|
|
59
|
+
"additionalProperties": false
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"$defs": {
|
|
63
|
+
"sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
|
|
64
|
+
"catalogReceipt": {
|
|
65
|
+
"$comment": "Catalog preflight evidence carried across the Console pause. Stages 6 and 7 issue no MCP action, so a resumed run cannot re-derive it and its final receipt would otherwise overwrite the pre-pause one with no catalog evidence.",
|
|
66
|
+
"type": "object",
|
|
67
|
+
"required": [
|
|
68
|
+
"schemaVersion",
|
|
69
|
+
"activeProfiles",
|
|
70
|
+
"expectedTotalTools",
|
|
71
|
+
"advertisedTotalTools",
|
|
72
|
+
"baseStaticTools",
|
|
73
|
+
"baseAdminTools",
|
|
74
|
+
"auditedExclusions",
|
|
75
|
+
"profiles",
|
|
76
|
+
"catalogSha256",
|
|
77
|
+
"adminRosterSha256",
|
|
78
|
+
"staticRosterSha256",
|
|
79
|
+
"exclusionRosterSha256"
|
|
80
|
+
],
|
|
81
|
+
"properties": {
|
|
82
|
+
"schemaVersion": { "const": "honua.zero-to-map.catalog/v1" },
|
|
83
|
+
"activeProfiles": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
84
|
+
"expectedTotalTools": { "type": "integer", "minimum": 0 },
|
|
85
|
+
"advertisedTotalTools": { "type": "integer", "minimum": 0 },
|
|
86
|
+
"baseStaticTools": { "type": "integer", "minimum": 0 },
|
|
87
|
+
"baseAdminTools": { "type": "integer", "minimum": 0 },
|
|
88
|
+
"auditedExclusions": { "type": "integer", "minimum": 0 },
|
|
89
|
+
"profiles": { "type": "array", "items": { "$ref": "#/$defs/profileReceipt" } },
|
|
90
|
+
"catalogSha256": { "$ref": "#/$defs/sha256" },
|
|
91
|
+
"adminRosterSha256": { "$ref": "#/$defs/sha256" },
|
|
92
|
+
"staticRosterSha256": { "$ref": "#/$defs/sha256" },
|
|
93
|
+
"exclusionRosterSha256": { "$ref": "#/$defs/sha256" }
|
|
94
|
+
},
|
|
95
|
+
"additionalProperties": false
|
|
96
|
+
},
|
|
97
|
+
"profileReceipt": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"required": ["id", "expectedMembers", "advertisedMembers", "confirmedMembers", "nameResolvedMembers", "rosterSha256"],
|
|
100
|
+
"properties": {
|
|
101
|
+
"id": { "type": "string", "minLength": 1 },
|
|
102
|
+
"expectedMembers": { "type": "integer", "minimum": 0 },
|
|
103
|
+
"advertisedMembers": { "type": "integer", "minimum": 0 },
|
|
104
|
+
"confirmedMembers": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
105
|
+
"nameResolvedMembers": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
106
|
+
"rosterSha256": { "$ref": "#/$defs/sha256" }
|
|
107
|
+
},
|
|
108
|
+
"additionalProperties": false
|
|
109
|
+
},
|
|
110
|
+
"stageReceipt": {
|
|
111
|
+
"type": "object",
|
|
112
|
+
"required": ["number", "id", "title", "status", "actions"],
|
|
113
|
+
"properties": {
|
|
114
|
+
"number": { "type": "integer", "minimum": 1 },
|
|
115
|
+
"id": { "type": "string", "minLength": 1 },
|
|
116
|
+
"title": { "type": "string", "minLength": 1 },
|
|
117
|
+
"status": { "const": "passed" },
|
|
118
|
+
"actions": { "type": "array", "items": { "$ref": "#/$defs/actionReceipt" } }
|
|
119
|
+
},
|
|
120
|
+
"additionalProperties": false
|
|
121
|
+
},
|
|
122
|
+
"actionReceipt": {
|
|
123
|
+
"type": "object",
|
|
124
|
+
"required": ["id", "kind", "status", "startedAt", "finishedAt"],
|
|
125
|
+
"properties": {
|
|
126
|
+
"id": { "type": "string", "minLength": 1 },
|
|
127
|
+
"kind": { "enum": ["cli", "mcp", "mcp-resource", "gpserver", "receipt", "http"] },
|
|
128
|
+
"status": { "const": "passed" },
|
|
129
|
+
"startedAt": { "type": "string", "format": "date-time" },
|
|
130
|
+
"finishedAt": { "type": "string", "format": "date-time" },
|
|
131
|
+
"code": { "type": "string", "minLength": 1 },
|
|
132
|
+
"message": { "type": "string", "minLength": 1 },
|
|
133
|
+
"evidence": { "type": "object" },
|
|
134
|
+
"captures": { "type": "object" }
|
|
135
|
+
},
|
|
136
|
+
"additionalProperties": false
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"allOf": [
|
|
140
|
+
{
|
|
141
|
+
"if": { "properties": { "state": { "const": "consumed" } } },
|
|
142
|
+
"then": { "required": ["consumedAt", "finalReceiptSha256"] },
|
|
143
|
+
"else": { "not": { "anyOf": [{ "required": ["consumedAt"] }, { "required": ["finalReceiptSha256"] }] } }
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"if": { "properties": { "target": { "const": "aws-ecs" } } },
|
|
147
|
+
"then": { "required": ["provisionReceiptSha256"] },
|
|
148
|
+
"else": { "not": { "required": ["provisionReceiptSha256"] } }
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"additionalProperties": false
|
|
152
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://honua.io/schemas/zero-to-map-console-receipt.v1.json",
|
|
4
|
+
"title": "Honua zero-to-map Console approval receipt",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schemaVersion", "journeyId", "releaseContract", "status", "proposals", "publications", "audit", "resources", "candidate", "checks", "shareUrl"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schemaVersion": { "const": "honua.zero-to-map.console-receipt/v1" },
|
|
9
|
+
"journeyId": { "const": "2026.1-zero-to-map" },
|
|
10
|
+
"releaseContract": { "const": "honua-release#123/D9.3" },
|
|
11
|
+
"status": { "const": "passed" },
|
|
12
|
+
"proposals": { "$ref": "#/$defs/studioFamiliesProposal" },
|
|
13
|
+
"publications": { "$ref": "#/$defs/studioFamiliesPublication" },
|
|
14
|
+
"audit": { "$ref": "#/$defs/studioFamiliesAudit" },
|
|
15
|
+
"resources": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"required": ["connectionId", "serviceId", "layerIds", "jobs", "gp", "artifactId", "studio"],
|
|
18
|
+
"properties": {
|
|
19
|
+
"connectionId": { "type": "string", "minLength": 1 },
|
|
20
|
+
"serviceId": { "type": "string", "minLength": 1 },
|
|
21
|
+
"layerIds": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"required": ["parcels", "zoning"],
|
|
24
|
+
"properties": {
|
|
25
|
+
"parcels": { "type": "integer", "minimum": 0 },
|
|
26
|
+
"zoning": { "type": "integer", "minimum": 0 }
|
|
27
|
+
},
|
|
28
|
+
"additionalProperties": false
|
|
29
|
+
},
|
|
30
|
+
"jobs": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"required": ["esriMcp", "gpServer", "directAnalysis"],
|
|
33
|
+
"properties": {
|
|
34
|
+
"esriMcp": { "type": "string", "minLength": 1 },
|
|
35
|
+
"gpServer": { "type": "string", "minLength": 1 },
|
|
36
|
+
"directAnalysis": { "type": "string", "minLength": 1 }
|
|
37
|
+
},
|
|
38
|
+
"additionalProperties": false
|
|
39
|
+
},
|
|
40
|
+
"gp": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"required": ["jobId", "serviceId", "taskName", "processId", "resultPackageId", "artifactId"],
|
|
43
|
+
"properties": {
|
|
44
|
+
"jobId": { "type": "string", "minLength": 1 },
|
|
45
|
+
"serviceId": { "const": "analysis" },
|
|
46
|
+
"taskName": { "const": "Buffer" },
|
|
47
|
+
"processId": { "const": "geometry.buffer" },
|
|
48
|
+
"resultPackageId": { "type": "string", "minLength": 1 },
|
|
49
|
+
"artifactId": { "type": "string", "minLength": 1 }
|
|
50
|
+
},
|
|
51
|
+
"additionalProperties": false
|
|
52
|
+
},
|
|
53
|
+
"gpServerResultNames": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
|
|
54
|
+
"artifactId": { "type": "string", "minLength": 1 },
|
|
55
|
+
"studio": { "$ref": "#/$defs/studioFamiliesResource" }
|
|
56
|
+
},
|
|
57
|
+
"additionalProperties": false
|
|
58
|
+
},
|
|
59
|
+
"candidate": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"required": ["candidateId", "releaseId"],
|
|
62
|
+
"properties": {
|
|
63
|
+
"candidateId": { "type": "string", "minLength": 1 },
|
|
64
|
+
"releaseId": { "type": "string", "minLength": 1 }
|
|
65
|
+
},
|
|
66
|
+
"additionalProperties": false
|
|
67
|
+
},
|
|
68
|
+
"checks": {
|
|
69
|
+
"type": "object",
|
|
70
|
+
"required": ["health", "audit", "recovery"],
|
|
71
|
+
"properties": {
|
|
72
|
+
"health": { "const": "passed" },
|
|
73
|
+
"audit": { "const": "passed" },
|
|
74
|
+
"recovery": { "const": "passed" }
|
|
75
|
+
},
|
|
76
|
+
"additionalProperties": false
|
|
77
|
+
},
|
|
78
|
+
"shareUrl": { "type": "string", "format": "uri", "pattern": "^https://" }
|
|
79
|
+
},
|
|
80
|
+
"$defs": {
|
|
81
|
+
"studioFamiliesProposal": {
|
|
82
|
+
"type": "object",
|
|
83
|
+
"required": ["map", "app", "dashboard"],
|
|
84
|
+
"properties": { "map": { "$ref": "#/$defs/studioProposal" }, "app": { "$ref": "#/$defs/studioProposal" }, "dashboard": { "$ref": "#/$defs/studioProposal" } },
|
|
85
|
+
"additionalProperties": false
|
|
86
|
+
},
|
|
87
|
+
"studioProposal": {
|
|
88
|
+
"type": "object",
|
|
89
|
+
"required": ["draftId", "generation", "route", "proposalId", "executionOperationId"],
|
|
90
|
+
"properties": {
|
|
91
|
+
"draftId": { "type": "string", "format": "uuid" },
|
|
92
|
+
"generation": { "type": "integer", "minimum": 1 },
|
|
93
|
+
"route": { "type": "string", "minLength": 1 },
|
|
94
|
+
"proposalId": { "type": "string", "format": "uuid" },
|
|
95
|
+
"executionOperationId": { "type": "string", "minLength": 1 }
|
|
96
|
+
},
|
|
97
|
+
"additionalProperties": false
|
|
98
|
+
},
|
|
99
|
+
"studioFamiliesPublication": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"required": ["map", "app", "dashboard"],
|
|
102
|
+
"properties": { "map": { "$ref": "#/$defs/studioPublication" }, "app": { "$ref": "#/$defs/studioPublication" }, "dashboard": { "$ref": "#/$defs/studioPublication" } },
|
|
103
|
+
"additionalProperties": false
|
|
104
|
+
},
|
|
105
|
+
"studioPublication": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"required": ["requestId", "itemId", "versionId", "status", "publicationId", "publicUrl"],
|
|
108
|
+
"properties": {
|
|
109
|
+
"requestId": { "type": "string", "format": "uuid" },
|
|
110
|
+
"itemId": { "type": "string", "format": "uuid" },
|
|
111
|
+
"versionId": { "type": "string", "format": "uuid" },
|
|
112
|
+
"status": { "const": "published" },
|
|
113
|
+
"publicationId": { "type": "string", "minLength": 1 },
|
|
114
|
+
"publicUrl": { "type": "string", "format": "uri", "pattern": "^https://" }
|
|
115
|
+
},
|
|
116
|
+
"additionalProperties": false
|
|
117
|
+
},
|
|
118
|
+
"studioFamiliesAudit": {
|
|
119
|
+
"type": "object",
|
|
120
|
+
"required": ["map", "app", "dashboard"],
|
|
121
|
+
"properties": { "map": { "$ref": "#/$defs/studioAudit" }, "app": { "$ref": "#/$defs/studioAudit" }, "dashboard": { "$ref": "#/$defs/studioAudit" } },
|
|
122
|
+
"additionalProperties": false
|
|
123
|
+
},
|
|
124
|
+
"studioAudit": {
|
|
125
|
+
"type": "object",
|
|
126
|
+
"required": ["correlationId", "operationId"],
|
|
127
|
+
"properties": { "correlationId": { "type": "string", "minLength": 1 }, "operationId": { "type": "string", "minLength": 1 } },
|
|
128
|
+
"additionalProperties": false
|
|
129
|
+
},
|
|
130
|
+
"studioFamiliesResource": {
|
|
131
|
+
"type": "object",
|
|
132
|
+
"required": ["map", "app", "dashboard"],
|
|
133
|
+
"properties": { "map": { "$ref": "#/$defs/studioFamily" }, "app": { "$ref": "#/$defs/studioFamily" }, "dashboard": { "$ref": "#/$defs/studioFamily" } },
|
|
134
|
+
"additionalProperties": false
|
|
135
|
+
},
|
|
136
|
+
"studioFamily": {
|
|
137
|
+
"type": "object",
|
|
138
|
+
"required": ["draftId", "itemId", "versionId", "contentHash", "reopenedDraftId"],
|
|
139
|
+
"properties": {
|
|
140
|
+
"draftId": { "type": "string", "format": "uuid" },
|
|
141
|
+
"itemId": { "type": "string", "format": "uuid" },
|
|
142
|
+
"versionId": { "type": "string", "format": "uuid" },
|
|
143
|
+
"contentHash": { "type": "string", "minLength": 1 },
|
|
144
|
+
"reopenedDraftId": { "type": "string", "format": "uuid" }
|
|
145
|
+
},
|
|
146
|
+
"additionalProperties": false
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"additionalProperties": false
|
|
150
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "honua.esri-gp-mcp-contract/v1",
|
|
3
|
+
"tools": [
|
|
4
|
+
{
|
|
5
|
+
"name": "honua_esri_gp_list_tasks",
|
|
6
|
+
"inputSchema": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {},
|
|
9
|
+
"required": [],
|
|
10
|
+
"additionalProperties": false
|
|
11
|
+
},
|
|
12
|
+
"output": {
|
|
13
|
+
"required": ["tasks"],
|
|
14
|
+
"taskFields": [
|
|
15
|
+
"taskName",
|
|
16
|
+
"processId",
|
|
17
|
+
"displayName",
|
|
18
|
+
"category",
|
|
19
|
+
"isAlias",
|
|
20
|
+
"supportsSynchronousExecution"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "honua_esri_gp_describe_task",
|
|
26
|
+
"inputSchema": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"properties": { "taskName": { "type": "string" } },
|
|
29
|
+
"required": ["taskName"],
|
|
30
|
+
"additionalProperties": false
|
|
31
|
+
},
|
|
32
|
+
"output": {
|
|
33
|
+
"required": [
|
|
34
|
+
"taskName",
|
|
35
|
+
"processId",
|
|
36
|
+
"displayName",
|
|
37
|
+
"description",
|
|
38
|
+
"category",
|
|
39
|
+
"executionType",
|
|
40
|
+
"supportsSynchronousExecution",
|
|
41
|
+
"parameters"
|
|
42
|
+
],
|
|
43
|
+
"parameterFields": [
|
|
44
|
+
"name",
|
|
45
|
+
"displayName",
|
|
46
|
+
"description",
|
|
47
|
+
"dataType",
|
|
48
|
+
"direction",
|
|
49
|
+
"parameterType",
|
|
50
|
+
"defaultValue",
|
|
51
|
+
"choiceList"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "honua_esri_gp_execute_task",
|
|
57
|
+
"inputSchema": {
|
|
58
|
+
"type": "object",
|
|
59
|
+
"properties": {
|
|
60
|
+
"serviceId": { "type": "string" },
|
|
61
|
+
"taskName": { "type": "string" },
|
|
62
|
+
"parameters": { "type": "object", "additionalProperties": true },
|
|
63
|
+
"idempotencyKey": { "type": "string" }
|
|
64
|
+
},
|
|
65
|
+
"required": ["serviceId", "taskName", "parameters"],
|
|
66
|
+
"additionalProperties": false
|
|
67
|
+
},
|
|
68
|
+
"output": {
|
|
69
|
+
"required": ["jobId", "status", "resourceUri", "serviceId", "taskName", "processId"]
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "FeatureCollection",
|
|
3
|
+
"name": "zero_to_map_parcels",
|
|
4
|
+
"features": [
|
|
5
|
+
{
|
|
6
|
+
"type": "Feature",
|
|
7
|
+
"id": "P-101",
|
|
8
|
+
"properties": { "parcel_id": "P-101", "assessed_value": 420000, "zone": "R-1" },
|
|
9
|
+
"geometry": {
|
|
10
|
+
"type": "Polygon",
|
|
11
|
+
"coordinates": [[[-157.8616, 21.3067], [-157.8608, 21.3067], [-157.8608, 21.3073], [-157.8616, 21.3073], [-157.8616, 21.3067]]]
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "Feature",
|
|
16
|
+
"id": "P-102",
|
|
17
|
+
"properties": { "parcel_id": "P-102", "assessed_value": 675000, "zone": "B-2" },
|
|
18
|
+
"geometry": {
|
|
19
|
+
"type": "Polygon",
|
|
20
|
+
"coordinates": [[[-157.8607, 21.3067], [-157.8599, 21.3067], [-157.8599, 21.3073], [-157.8607, 21.3073], [-157.8607, 21.3067]]]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "Feature",
|
|
25
|
+
"id": "P-103",
|
|
26
|
+
"properties": { "parcel_id": "P-103", "assessed_value": 910000, "zone": "R-1" },
|
|
27
|
+
"geometry": {
|
|
28
|
+
"type": "Polygon",
|
|
29
|
+
"coordinates": [[[-157.8616, 21.3074], [-157.8599, 21.3074], [-157.8599, 21.3080], [-157.8616, 21.3080], [-157.8616, 21.3074]]]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "FeatureCollection",
|
|
3
|
+
"name": "zero_to_map_zoning",
|
|
4
|
+
"features": [
|
|
5
|
+
{
|
|
6
|
+
"type": "Feature",
|
|
7
|
+
"id": "Z-R1",
|
|
8
|
+
"properties": { "zone": "R-1", "label": "Residential" },
|
|
9
|
+
"geometry": {
|
|
10
|
+
"type": "Polygon",
|
|
11
|
+
"coordinates": [[[-157.8620, 21.3064], [-157.8604, 21.3064], [-157.8604, 21.3083], [-157.8620, 21.3083], [-157.8620, 21.3064]]]
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "Feature",
|
|
16
|
+
"id": "Z-B2",
|
|
17
|
+
"properties": { "zone": "B-2", "label": "Community business" },
|
|
18
|
+
"geometry": {
|
|
19
|
+
"type": "Polygon",
|
|
20
|
+
"coordinates": [[[-157.8604, 21.3064], [-157.8595, 21.3064], [-157.8595, 21.3083], [-157.8604, 21.3083], [-157.8604, 21.3064]]]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|