@ignfab/geocontext 0.9.2 → 0.9.3
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/dist/helpers/toolAnnotations.d.ts +6 -0
- package/dist/helpers/toolAnnotations.js.map +1 -0
- package/dist/resources/WfsCqlFilterResource.js +4 -2
- package/dist/resources/WfsCqlFilterResource.js.map +1 -1
- package/dist/resources/content/wfs-cql-filter.md +215 -0
- package/dist/tools/AdminexpressTool.d.ts +4 -4
- package/dist/tools/AdminexpressTool.js +1 -1
- package/dist/tools/AdminexpressTool.js.map +1 -1
- package/dist/tools/AltitudeTool.d.ts +4 -4
- package/dist/tools/AltitudeTool.js +1 -1
- package/dist/tools/AltitudeTool.js.map +1 -1
- package/dist/tools/AssietteSupTool.d.ts +4 -4
- package/dist/tools/AssietteSupTool.js +1 -1
- package/dist/tools/AssietteSupTool.js.map +1 -1
- package/dist/tools/CadastreTool.d.ts +4 -4
- package/dist/tools/CadastreTool.js +1 -1
- package/dist/tools/CadastreTool.js.map +1 -1
- package/dist/tools/GeocodeTool.d.ts +4 -4
- package/dist/tools/GeocodeTool.js +1 -1
- package/dist/tools/GeocodeTool.js.map +1 -1
- package/dist/tools/GpfWfsDescribeTypeTool.d.ts +4 -4
- package/dist/tools/GpfWfsDescribeTypeTool.js +1 -1
- package/dist/tools/GpfWfsDescribeTypeTool.js.map +1 -1
- package/dist/tools/GpfWfsGetFeaturesTool.d.ts +4 -4
- package/dist/tools/GpfWfsGetFeaturesTool.js +1 -1
- package/dist/tools/GpfWfsGetFeaturesTool.js.map +1 -1
- package/dist/tools/GpfWfsListTypesTool.d.ts +4 -4
- package/dist/tools/GpfWfsListTypesTool.js +1 -1
- package/dist/tools/GpfWfsListTypesTool.js.map +1 -1
- package/dist/tools/GpfWfsSearchTypesTool.d.ts +4 -4
- package/dist/tools/GpfWfsSearchTypesTool.js +1 -1
- package/dist/tools/GpfWfsSearchTypesTool.js.map +1 -1
- package/dist/tools/UrbanismeTool.d.ts +4 -4
- package/dist/tools/UrbanismeTool.js +1 -1
- package/dist/tools/UrbanismeTool.js.map +1 -1
- package/package.json +7 -3
- package/dist/resources/readMarkdownResource.d.ts +0 -1
- package/dist/resources/readMarkdownResource.js +0 -21
- package/dist/resources/readMarkdownResource.js.map +0 -1
- package/dist/tools/toolAnnotations.d.ts +0 -6
- package/dist/tools/toolAnnotations.js.map +0 -1
- /package/dist/{tools → helpers}/toolAnnotations.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolAnnotations.js","sourceRoot":"","sources":["../../src/helpers/toolAnnotations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;CACpB,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { MCPResource } from "mcp-framework";
|
|
2
|
-
import {
|
|
2
|
+
import { readFile } from "fs/promises";
|
|
3
|
+
import { dirname, join } from "path";
|
|
4
|
+
import { fileURLToPath } from "url";
|
|
3
5
|
class WfsCqlFilterResource extends MCPResource {
|
|
4
6
|
uri = "geocontext://wfs-cql-filter";
|
|
5
7
|
name = "geocontext-wfs-cql-filter";
|
|
@@ -7,7 +9,7 @@ class WfsCqlFilterResource extends MCPResource {
|
|
|
7
9
|
mimeType = "text/markdown";
|
|
8
10
|
title = "Cheatsheet cql_filter";
|
|
9
11
|
async read() {
|
|
10
|
-
const text = await
|
|
12
|
+
const text = await readFile(join(dirname(fileURLToPath(import.meta.url)), "content", "wfs-cql-filter.md"), "utf-8");
|
|
11
13
|
return [
|
|
12
14
|
{
|
|
13
15
|
uri: this.uri,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WfsCqlFilterResource.js","sourceRoot":"","sources":["../../src/resources/WfsCqlFilterResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"WfsCqlFilterResource.js","sourceRoot":"","sources":["../../src/resources/WfsCqlFilterResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,oBAAqB,SAAQ,WAAW;IAC5C,GAAG,GAAG,6BAA6B,CAAC;IACpC,IAAI,GAAG,2BAA2B,CAAC;IACnC,WAAW,GAAG,uFAAuF,CAAC;IACtG,QAAQ,GAAG,eAAe,CAAC;IACjB,KAAK,GAAG,uBAAuB,CAAC;IAE1C,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAC7E,OAAO,CACR,CAAC;QAEF,OAAO;YACL;gBACE,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI;aACL;SACF,CAAC;IACJ,CAAC;CACF;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# cql_filter GeoServer
|
|
2
|
+
|
|
3
|
+
Utiliser `cql_filter` avec `gpf_wfs_get_features` pour restreindre les objets renvoyés.
|
|
4
|
+
|
|
5
|
+
## Checklist
|
|
6
|
+
|
|
7
|
+
Avant d'écrire un `cql_filter` :
|
|
8
|
+
|
|
9
|
+
1. Appeler `gpf_wfs_describe_type`.
|
|
10
|
+
2. Identifier le champ géométrique.
|
|
11
|
+
3. Lire son `defaultCrs`.
|
|
12
|
+
4. Si `defaultCrs = EPSG:4326`, écrire les coordonnées en `lat lon`.
|
|
13
|
+
5. Si `defaultCrs = EPSG:2154`, écrire les coordonnées en `x y`.
|
|
14
|
+
6. Fournir `cql_filter` en texte brut, sans URL encoding manuel.
|
|
15
|
+
7. Utiliser `cql_filter` pour choisir quels objets sont renvoyés, et `property_names` pour choisir quelles propriétés de ces objets sont renvoyées.
|
|
16
|
+
|
|
17
|
+
## Champ géométrique
|
|
18
|
+
|
|
19
|
+
Règles pratiques :
|
|
20
|
+
|
|
21
|
+
- Un type WFS expose en pratique au plus un seul champ géométrique.
|
|
22
|
+
- Le repère le plus fiable est la présence de `defaultCrs`.
|
|
23
|
+
- Utiliser le nom exact du champ renvoyé par `gpf_wfs_describe_type`, par exemple `geom`, `geometrie` ou `the_geom`.
|
|
24
|
+
- Le `type` du champ géométrique peut être `geometry`, `point`, `linestring`, `polygon`, `multipolygon`, etc.
|
|
25
|
+
|
|
26
|
+
Exemple :
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"name": "geom",
|
|
31
|
+
"type": "multipolygon",
|
|
32
|
+
"defaultCrs": "EPSG:4326"
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Ordre des coordonnées
|
|
37
|
+
|
|
38
|
+
### `EPSG:4326`
|
|
39
|
+
|
|
40
|
+
Utiliser `lat lon`.
|
|
41
|
+
|
|
42
|
+
Exemples :
|
|
43
|
+
|
|
44
|
+
- `POINT(48.8566 2.3522)`
|
|
45
|
+
- `POLYGON((48.85 2.34,48.86 2.34,48.86 2.36,48.85 2.36,48.85 2.34))`
|
|
46
|
+
|
|
47
|
+
### `EPSG:2154`
|
|
48
|
+
|
|
49
|
+
Utiliser `x y`, c'est-à-dire `easting northing`.
|
|
50
|
+
|
|
51
|
+
Exemples :
|
|
52
|
+
|
|
53
|
+
- `POINT(700000 6600000)`
|
|
54
|
+
- `POLYGON((700000 6600000,700500 6600000,700500 6600500,700000 6600500,700000 6600000))`
|
|
55
|
+
|
|
56
|
+
## URL encoding
|
|
57
|
+
|
|
58
|
+
Ne pas encoder manuellement `cql_filter`.
|
|
59
|
+
|
|
60
|
+
Le tool `gpf_wfs_get_features` encode déjà les paramètres d'URL avec `URLSearchParams`.
|
|
61
|
+
|
|
62
|
+
Conséquences :
|
|
63
|
+
|
|
64
|
+
- écrire `cql_filter` sous forme lisible
|
|
65
|
+
- ne pas remplacer les espaces par `%20`
|
|
66
|
+
- ne pas encoder `(`, `)`, `,`, `'`
|
|
67
|
+
- si `result_type = "url"`, l'URL renvoyée sera déjà encodée
|
|
68
|
+
|
|
69
|
+
Correct :
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
INTERSECTS(geom,POINT(48.8566 2.3522))
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
À éviter :
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
INTERSECTS%28geom%2CPOINT%2848.8566%202.3522%29%29
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Templates
|
|
82
|
+
|
|
83
|
+
### Égalité
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
code_insee = '75056'
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Comparaison numérique
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
population > 100000
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Liste de valeurs
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
nature IN ('route', 'chemin', 'sentier')
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Intervalle
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
surface BETWEEN 1000 AND 5000
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### LIKE
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
nom LIKE 'Saint-%'
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### INTERSECTS avec point en `EPSG:4326`
|
|
114
|
+
|
|
115
|
+
```text
|
|
116
|
+
INTERSECTS(geom,POINT(48.8566 2.3522))
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### INTERSECTS avec point en `EPSG:2154`
|
|
120
|
+
|
|
121
|
+
```text
|
|
122
|
+
INTERSECTS(geom,POINT(700000 6600000))
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### BBOX recommandé en `EPSG:4326`
|
|
126
|
+
|
|
127
|
+
```text
|
|
128
|
+
BBOX(geom, 48.80, 2.20, 48.90, 2.45)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### BBOX recommandé en `EPSG:2154`
|
|
132
|
+
|
|
133
|
+
```text
|
|
134
|
+
BBOX(geom, 699000, 6599000, 701000, 6601000)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### POLYGON en `EPSG:4326`
|
|
138
|
+
|
|
139
|
+
```text
|
|
140
|
+
INTERSECTS(geom,POLYGON((48.85 2.34,48.86 2.34,48.86 2.36,48.85 2.36,48.85 2.34)))
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### POLYGON en `EPSG:2154`
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
INTERSECTS(geom,POLYGON((700000 6600000,700500 6600000,700500 6600500,700000 6600500,700000 6600000)))
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Distance
|
|
150
|
+
|
|
151
|
+
```text
|
|
152
|
+
DWITHIN(geom,POINT(48.8566 2.3522),100,meters)
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Attributaire + spatial
|
|
156
|
+
|
|
157
|
+
```text
|
|
158
|
+
type = 'hopital' AND BBOX(geom, 48.80, 2.20, 48.90, 2.45)
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Filtres attributaires
|
|
162
|
+
|
|
163
|
+
Exemples fréquents :
|
|
164
|
+
|
|
165
|
+
- `statut = 'actif'`
|
|
166
|
+
- `population >= 100000`
|
|
167
|
+
- `surface < 5000`
|
|
168
|
+
- `etat <> 'supprime'`
|
|
169
|
+
- `code_insee IN ('75056', '69123', '31555')`
|
|
170
|
+
- `population BETWEEN 100000 AND 500000`
|
|
171
|
+
- `nom LIKE '%Paris%'`
|
|
172
|
+
- `nature = 'route' AND importance >= 3`
|
|
173
|
+
|
|
174
|
+
## Filtres spatiaux
|
|
175
|
+
|
|
176
|
+
Bon premier choix pour un LLM :
|
|
177
|
+
|
|
178
|
+
- préférer `BBOX(...)` quand un rectangle suffit
|
|
179
|
+
- utiliser `INTERSECTS(...)` pour un point ou un polygone explicite
|
|
180
|
+
- utiliser `DWITHIN(...)` pour une recherche par distance
|
|
181
|
+
|
|
182
|
+
Exemples :
|
|
183
|
+
|
|
184
|
+
- `BBOX(geom, 48.80, 2.20, 48.90, 2.45)`
|
|
185
|
+
- `INTERSECTS(geom,POINT(48.8566 2.3522))`
|
|
186
|
+
- `INTERSECTS(geom,POLYGON((48.85 2.34,48.86 2.34,48.86 2.36,48.85 2.36,48.85 2.34)))`
|
|
187
|
+
- `DWITHIN(geom,POINT(48.8566 2.3522),100,meters)`
|
|
188
|
+
|
|
189
|
+
## Erreurs à éviter
|
|
190
|
+
|
|
191
|
+
- Inventer un nom de propriété.
|
|
192
|
+
- Oublier d'appeler `gpf_wfs_describe_type`.
|
|
193
|
+
- Confondre `lat lon` et `lon lat` en `EPSG:4326`.
|
|
194
|
+
- Utiliser `x y` sur un type en `EPSG:4326`.
|
|
195
|
+
- Pré-encoder `cql_filter`.
|
|
196
|
+
- Utiliser `cql_filter` pour limiter les champs au lieu de `property_names`.
|
|
197
|
+
- Construire un `POLYGON` non fermé.
|
|
198
|
+
|
|
199
|
+
## Bonnes pratiques pour un LLM
|
|
200
|
+
|
|
201
|
+
- Commencer par un filtre simple.
|
|
202
|
+
- Préférer `BBOX(...)` si la zone de recherche est rectangulaire.
|
|
203
|
+
- Vérifier systématiquement `defaultCrs` avant toute géométrie.
|
|
204
|
+
- Utiliser des apostrophes pour les chaînes.
|
|
205
|
+
- Garder le filtre lisible et minimal.
|
|
206
|
+
- Ajouter ensuite les conditions supplémentaires si nécessaire.
|
|
207
|
+
|
|
208
|
+
## Procédure recommandée
|
|
209
|
+
|
|
210
|
+
1. Trouver le type avec `gpf_wfs_search_types`.
|
|
211
|
+
2. Lire les propriétés avec `gpf_wfs_describe_type`.
|
|
212
|
+
3. Identifier le champ géométrique via `defaultCrs`.
|
|
213
|
+
4. Choisir l'ordre des coordonnées selon le CRS.
|
|
214
|
+
5. Écrire un premier filtre simple.
|
|
215
|
+
6. Ajouter ensuite les contraintes attributaires ou spatiales.
|
|
@@ -15,10 +15,10 @@ declare class AdminexpressTool extends MCPTool<AdminexpressInput> {
|
|
|
15
15
|
name: string;
|
|
16
16
|
title: string;
|
|
17
17
|
annotations: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
readOnlyHint: boolean;
|
|
19
|
+
destructiveHint: boolean;
|
|
20
|
+
idempotentHint: boolean;
|
|
21
|
+
openWorldHint: boolean;
|
|
22
22
|
};
|
|
23
23
|
description: string;
|
|
24
24
|
protected outputSchemaShape: z.ZodObject<{
|
|
@@ -2,7 +2,7 @@ import { MCPTool } from "mcp-framework";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { getAdminUnits, ADMINEXPRESS_TYPES, ADMINEXPRESS_SOURCE } from "../gpf/adminexpress.js";
|
|
4
4
|
import logger from "../logger.js";
|
|
5
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
5
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
6
6
|
const adminexpressInputSchema = z.object({
|
|
7
7
|
lon: z
|
|
8
8
|
.number()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminexpressTool.js","sourceRoot":"","sources":["../../src/tools/AdminexpressTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AdminexpressTool.js","sourceRoot":"","sources":["../../src/tools/AdminexpressTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AAEtF,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,GAAG,CAAC;SACT,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,wBAAwB,CAAC;IACrC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,CAAC;SACR,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,uBAAuB,CAAC;CACrC,CAAC,CAAC;AAIH,MAAM,wBAAwB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/F,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACnE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAC,QAAQ,EAAE;CAChG,CAAC;KACD,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEzB,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,gEAAgE,CAAC;CACtH,CAAC,CAAC;AAEH,MAAM,gBAAiB,SAAQ,OAA0B;IACvD,IAAI,GAAG,cAAc,CAAC;IACtB,KAAK,GAAG,wBAAwB,CAAC;IACjC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG,sGAAsG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,sGAAsG,mBAAmB,IAAI,CAAC;IACrQ,iBAAiB,GAAG,wBAAwB,CAAC;IAEvD,MAAM,GAAG,uBAAuB,CAAC;IAEjC,KAAK,CAAC,OAAO,CAAC,KAAwB;QACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SACnD,CAAC;IACJ,CAAC;CACF;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -15,10 +15,10 @@ declare class AltitudeTool extends MCPTool<AltitudeInput> {
|
|
|
15
15
|
name: string;
|
|
16
16
|
title: string;
|
|
17
17
|
annotations: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
readOnlyHint: boolean;
|
|
19
|
+
destructiveHint: boolean;
|
|
20
|
+
idempotentHint: boolean;
|
|
21
|
+
openWorldHint: boolean;
|
|
22
22
|
};
|
|
23
23
|
description: string;
|
|
24
24
|
protected outputSchemaShape: z.ZodObject<{
|
|
@@ -2,7 +2,7 @@ import { MCPTool } from "mcp-framework";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { ALTITUDE_SOURCE, getAltitudeByLocation } from "../gpf/altitude.js";
|
|
4
4
|
import logger from "../logger.js";
|
|
5
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
5
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
6
6
|
const altitudeInputSchema = z.object({
|
|
7
7
|
lon: z
|
|
8
8
|
.number()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AltitudeTool.js","sourceRoot":"","sources":["../../src/tools/AltitudeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AltitudeTool.js","sourceRoot":"","sources":["../../src/tools/AltitudeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AAEtF,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,GAAG,CAAC;SACT,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,wBAAwB,CAAC;IACrC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,CAAC;SACR,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,uBAAuB,CAAC;CACrC,CAAC,CAAC;AAIH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,qDAAqD,CAAC;CAC7F,CAAC,CAAC;AAEH,MAAM,YAAa,SAAQ,OAAsB;IAC/C,IAAI,GAAG,UAAU,CAAC;IAClB,KAAK,GAAG,yBAAyB,CAAC;IAClC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG,wJAAwJ,eAAe,IAAI,CAAC;IAChL,iBAAiB,GAAG,oBAAoB,CAAC;IAEnD,MAAM,GAAG,mBAAmB,CAAC;IAE7B,KAAK,CAAC,OAAO,CAAC,KAAoB;QAChC,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACtD,OAAO;YACL,MAAM,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -15,10 +15,10 @@ declare class AssietteSupTool extends MCPTool<AssietteSupInput> {
|
|
|
15
15
|
name: string;
|
|
16
16
|
title: string;
|
|
17
17
|
annotations: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
readOnlyHint: boolean;
|
|
19
|
+
destructiveHint: boolean;
|
|
20
|
+
idempotentHint: boolean;
|
|
21
|
+
openWorldHint: boolean;
|
|
22
22
|
};
|
|
23
23
|
description: string;
|
|
24
24
|
protected outputSchemaShape: z.ZodObject<{
|
|
@@ -2,7 +2,7 @@ import { MCPTool } from "mcp-framework";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { getAssiettesServitudes, URBANISME_SOURCE } from "../gpf/urbanisme.js";
|
|
4
4
|
import logger from "../logger.js";
|
|
5
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
5
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
6
6
|
const assietteSupInputSchema = z.object({
|
|
7
7
|
lon: z
|
|
8
8
|
.number()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssietteSupTool.js","sourceRoot":"","sources":["../../src/tools/AssietteSupTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AssietteSupTool.js","sourceRoot":"","sources":["../../src/tools/AssietteSupTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AAEtF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,GAAG,CAAC;SACT,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,wBAAwB,CAAC;IACrC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,CAAC;SACR,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,uBAAuB,CAAC;CACrC,CAAC,CAAC;AAIH,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACxF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,QAAQ,EAAE;IACnF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CAC3F,CAAC;KACD,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEzB,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,4FAA4F,CAAC;CACjJ,CAAC,CAAC;AAEH,MAAM,eAAgB,SAAQ,OAAyB;IACrD,IAAI,GAAG,cAAc,CAAC;IACtB,KAAK,GAAG,+BAA+B,CAAC;IACxC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG,sRAAsR,gBAAgB,IAAI,CAAC;IAC/S,iBAAiB,GAAG,uBAAuB,CAAC;IAEtD,MAAM,GAAG,sBAAsB,CAAC;IAEhC,KAAK,CAAC,OAAO,CAAC,KAAuB;QACnC,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,MAAM,sBAAsB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAC5D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -15,10 +15,10 @@ declare class CadastreTool extends MCPTool<CadastreInput> {
|
|
|
15
15
|
name: string;
|
|
16
16
|
title: string;
|
|
17
17
|
annotations: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
readOnlyHint: boolean;
|
|
19
|
+
destructiveHint: boolean;
|
|
20
|
+
idempotentHint: boolean;
|
|
21
|
+
openWorldHint: boolean;
|
|
22
22
|
};
|
|
23
23
|
description: string;
|
|
24
24
|
protected outputSchemaShape: z.ZodObject<{
|
|
@@ -2,7 +2,7 @@ import { MCPTool } from "mcp-framework";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { getParcellaireExpress, PARCELLAIRE_EXPRESS_TYPES, PARCELLAIRE_EXPRESS_SOURCE } from "../gpf/parcellaire-express.js";
|
|
4
4
|
import logger from "../logger.js";
|
|
5
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
5
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
6
6
|
const cadastreInputSchema = z.object({
|
|
7
7
|
lon: z
|
|
8
8
|
.number()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CadastreTool.js","sourceRoot":"","sources":["../../src/tools/CadastreTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC7H,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CadastreTool.js","sourceRoot":"","sources":["../../src/tools/CadastreTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC7H,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AAEtF,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,GAAG,CAAC;SACT,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,wBAAwB,CAAC;IACrC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,CAAC;SACR,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,uBAAuB,CAAC;CACrC,CAAC,CAAC;AAIH,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACjG,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC9D,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC,QAAQ,EAAE;IAC1F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAChG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAClE,CAAC;KACD,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEzB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC;CACrH,CAAC,CAAC;AAEH,MAAM,YAAa,SAAQ,OAAsB;IAC/C,IAAI,GAAG,UAAU,CAAC;IAClB,KAAK,GAAG,0BAA0B,CAAC;IACnC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG,iGAAiG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,wJAAwJ,0BAA0B,IAAI,CAAC;IAChU,iBAAiB,GAAG,oBAAoB,CAAC;IAEnD,MAAM,GAAG,mBAAmB,CAAC;IAE7B,KAAK,CAAC,OAAO,CAAC,KAAoB;QAChC,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAC3D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -15,10 +15,10 @@ declare class GeocodeTool extends MCPTool<GeocodeInput> {
|
|
|
15
15
|
name: string;
|
|
16
16
|
title: string;
|
|
17
17
|
annotations: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
readOnlyHint: boolean;
|
|
19
|
+
destructiveHint: boolean;
|
|
20
|
+
idempotentHint: boolean;
|
|
21
|
+
openWorldHint: boolean;
|
|
22
22
|
};
|
|
23
23
|
description: string;
|
|
24
24
|
protected outputSchemaShape: z.ZodObject<{
|
|
@@ -2,7 +2,7 @@ import { MCPTool } from "mcp-framework";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { geocode, GEOCODE_SOURCE } from "../gpf/geocode.js";
|
|
4
4
|
import logger from "../logger.js";
|
|
5
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
5
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
6
6
|
const geocodeInputSchema = z.object({
|
|
7
7
|
text: z
|
|
8
8
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeocodeTool.js","sourceRoot":"","sources":["../../src/tools/GeocodeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"GeocodeTool.js","sourceRoot":"","sources":["../../src/tools/GeocodeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AAEtF,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;SACxC,QAAQ,CAAC,0CAA0C,CAAC;IACvD,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,yEAAyE,CAAC;CACvF,CAAC,CAAC;AAIH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACrD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAChE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,QAAQ,EAAE;IACtE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;IAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,QAAQ,EAAE;CACvE,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CAC5F,CAAC,CAAC;AAEH,MAAM,WAAY,SAAQ,OAAqB;IAC7C,IAAI,GAAG,SAAS,CAAC;IACjB,KAAK,GAAG,kCAAkC,CAAC;IAC3C,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG,sMAAsM,cAAc,IAAI,CAAC;IAC7N,iBAAiB,GAAG,mBAAmB,CAAC;IAElD,MAAM,GAAG,kBAAkB,CAAC;IAE5B,KAAK,CAAC,OAAO,CAAC,KAAmB;QAC/B,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,CAAC;QACzE,OAAO;YACL,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC;SAC3D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -13,10 +13,10 @@ declare class GpfWfsDescribeTypeTool extends MCPTool<GpfWfsDescribeTypeInput> {
|
|
|
13
13
|
name: string;
|
|
14
14
|
title: string;
|
|
15
15
|
annotations: {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
readOnlyHint: boolean;
|
|
17
|
+
destructiveHint: boolean;
|
|
18
|
+
idempotentHint: boolean;
|
|
19
|
+
openWorldHint: boolean;
|
|
20
20
|
};
|
|
21
21
|
description: string;
|
|
22
22
|
protected outputSchemaShape: z.ZodObject<{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MCPTool } from "mcp-framework";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { wfsClient } from "../gpf/wfs.js";
|
|
4
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
4
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
5
5
|
const gpfWfsDescribeTypeInputSchema = z.object({
|
|
6
6
|
typename: z
|
|
7
7
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GpfWfsDescribeTypeTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsDescribeTypeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"GpfWfsDescribeTypeTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsDescribeTypeTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,10 +27,10 @@ declare class GpfWfsGetFeaturesTool extends MCPTool<GpfWfsGetFeaturesInput> {
|
|
|
27
27
|
name: string;
|
|
28
28
|
title: string;
|
|
29
29
|
annotations: {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
readOnlyHint: boolean;
|
|
31
|
+
destructiveHint: boolean;
|
|
32
|
+
idempotentHint: boolean;
|
|
33
|
+
openWorldHint: boolean;
|
|
34
34
|
};
|
|
35
35
|
description: string;
|
|
36
36
|
schema: z.ZodObject<{
|
|
@@ -3,7 +3,7 @@ import { z } from "zod";
|
|
|
3
3
|
import { GPF_WFS_URL } from "../gpf/wfs.js";
|
|
4
4
|
import { fetchJSON } from "../helpers/http.js";
|
|
5
5
|
import logger from "../logger.js";
|
|
6
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
6
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
7
7
|
// This tool intentionally does not expose a single outputSchemaShape.
|
|
8
8
|
// - `result_type="results"` can return a large FeatureCollection, and we
|
|
9
9
|
// avoid duplicating that payload into structuredContent.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GpfWfsGetFeaturesTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsGetFeaturesTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"GpfWfsGetFeaturesTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsGetFeaturesTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,10 @@ declare class GpfWfsListTypesTool extends MCPTool<GpfWfsListTypesInput> {
|
|
|
6
6
|
name: string;
|
|
7
7
|
title: string;
|
|
8
8
|
annotations: {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
readOnlyHint: boolean;
|
|
10
|
+
destructiveHint: boolean;
|
|
11
|
+
idempotentHint: boolean;
|
|
12
|
+
openWorldHint: boolean;
|
|
13
13
|
};
|
|
14
14
|
description: string;
|
|
15
15
|
schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MCPTool } from "mcp-framework";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
3
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
4
4
|
import { wfsClient } from "../gpf/wfs.js";
|
|
5
5
|
const gpfWfsListTypesInputSchema = z.object({});
|
|
6
6
|
class GpfWfsListTypesTool extends MCPTool {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GpfWfsListTypesTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsListTypesTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"GpfWfsListTypesTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsListTypesTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAIhD,MAAM,mBAAoB,SAAQ,OAA6B;IAC7D,IAAI,GAAG,oBAAoB,CAAC;IAC5B,KAAK,GAAG,8BAA8B,CAAC;IACvC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG;QACZ,oEAAoE;QACpE,wFAAwF;QACxF,+GAA+G;KAChH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,MAAM,GAAG,0BAA0B,CAAC;IAEpC,KAAK,CAAC,OAAO,CAAC,KAA2B;QACvC,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;QACvD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACxC,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,WAAW,EAAE,WAAW,CAAC,WAAW;SACrC,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -15,10 +15,10 @@ declare class GpfWfsSearchTypesTool extends MCPTool<GpfWfsSearchTypesInput> {
|
|
|
15
15
|
name: string;
|
|
16
16
|
title: string;
|
|
17
17
|
annotations: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
readOnlyHint: boolean;
|
|
19
|
+
destructiveHint: boolean;
|
|
20
|
+
idempotentHint: boolean;
|
|
21
|
+
openWorldHint: boolean;
|
|
22
22
|
};
|
|
23
23
|
description: string;
|
|
24
24
|
protected outputSchemaShape: z.ZodObject<{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MCPTool } from "mcp-framework";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
3
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
4
4
|
import { wfsClient } from "../gpf/wfs.js";
|
|
5
5
|
const gpfWfsSearchTypesInputSchema = z.object({
|
|
6
6
|
query: z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GpfWfsSearchTypesTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsSearchTypesTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"GpfWfsSearchTypesTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsSearchTypesTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,+CAA+C,CAAC;SACvD,QAAQ,CAAC,yBAAyB,CAAC;IACtC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;CACxF,CAAC,CAAC;AAIH,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CAChE,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACpG,CAAC,CAAC;AAEH,MAAM,qBAAsB,SAAQ,OAA+B;IACjE,IAAI,GAAG,sBAAsB,CAAC;IAC9B,KAAK,GAAG,wBAAwB,CAAC;IACjC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG;QACZ,qIAAqI;QACrI,wHAAwH;QACxH,6IAA6I;QAC7I,+FAA+F;KAChG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACL,iBAAiB,GAAG,6BAA6B,CAAC;IAE5D,MAAM,GAAG,4BAA4B,CAAC;IAEtC,KAAK,CAAC,OAAO,CAAC,KAA6B;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjF,OAAO;YACL,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC1C,EAAE,EAAE,WAAW,CAAC,EAAE;gBAClB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,WAAW,EAAE,WAAW,CAAC,WAAW;aACrC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;CACF;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -15,10 +15,10 @@ declare class UrbanismeTool extends MCPTool<UrbanismeInput> {
|
|
|
15
15
|
name: string;
|
|
16
16
|
title: string;
|
|
17
17
|
annotations: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
readOnlyHint: boolean;
|
|
19
|
+
destructiveHint: boolean;
|
|
20
|
+
idempotentHint: boolean;
|
|
21
|
+
openWorldHint: boolean;
|
|
22
22
|
};
|
|
23
23
|
description: string;
|
|
24
24
|
protected outputSchemaShape: z.ZodObject<{
|
|
@@ -2,7 +2,7 @@ import { MCPTool } from "mcp-framework";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { getUrbanisme, URBANISME_SOURCE } from "../gpf/urbanisme.js";
|
|
4
4
|
import logger from "../logger.js";
|
|
5
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "
|
|
5
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
6
6
|
const urbanismeInputSchema = z.object({
|
|
7
7
|
lon: z
|
|
8
8
|
.number()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrbanismeTool.js","sourceRoot":"","sources":["../../src/tools/UrbanismeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"UrbanismeTool.js","sourceRoot":"","sources":["../../src/tools/UrbanismeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AAEtF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,GAAG,CAAC;SACT,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,wBAAwB,CAAC;IACrC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,CAAC;SACR,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,uBAAuB,CAAC;CACrC,CAAC,CAAC;AAIH,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACjE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAChE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC,CAAC,QAAQ,EAAE;IAC5F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;CACnG,CAAC;KACD,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEzB,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC;CACtH,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG;IACjC,0OAA0O,gBAAgB,IAAI;IAC9P,iJAAiJ;IACjJ,2CAA2C;IAC3C,wFAAwF;IACxF,gFAAgF;IAChF,8FAA8F;CAC/F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAGb,MAAM,aAAc,SAAQ,OAAuB;IACjD,IAAI,GAAG,WAAW,CAAC;IACnB,KAAK,GAAG,0BAA0B,CAAC;IACnC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG,0BAA0B,CAAC;IAC/B,iBAAiB,GAAG,qBAAqB,CAAC;IAEpD,MAAM,GAAG,oBAAoB,CAAC;IAE9B,KAAK,CAAC,OAAO,CAAC,KAAqB;QACjC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACvD,OAAO;YACL,OAAO,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAClD,CAAC;IACJ,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ignfab/geocontext",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"description": "An experimental MCP server providing access to the services and data of the french Geoplateform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -27,11 +27,15 @@
|
|
|
27
27
|
},
|
|
28
28
|
"homepage": "https://github.com/ignfab/geocontext#readme",
|
|
29
29
|
"scripts": {
|
|
30
|
-
"
|
|
30
|
+
"clean:dist": "rm -rf dist",
|
|
31
|
+
"copy:resources": "mkdir -p dist/resources/content && cp -R src/resources/content/. dist/resources/content/",
|
|
32
|
+
"build": "npm run clean:dist && tsc && npx mcp-build && npm run copy:resources",
|
|
31
33
|
"watch": "tsc --watch",
|
|
32
34
|
"start": "node dist/index.js",
|
|
33
35
|
"test": "node --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js",
|
|
34
|
-
"coverage": "node --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js --coverage"
|
|
36
|
+
"coverage": "node --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js --coverage",
|
|
37
|
+
"reset": "rm -rf node_modules package-lock.json dist build .next .turbo coverage",
|
|
38
|
+
"fresh": "npm run reset && npm cache verify && npm install && npm run build && npm test"
|
|
35
39
|
},
|
|
36
40
|
"dependencies": {
|
|
37
41
|
"@camptocamp/ogc-client": "^1.3.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function readMarkdownResource(importMetaUrl: string, filename: string): Promise<string>;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { readFile } from "fs/promises";
|
|
2
|
-
import { dirname, join } from "path";
|
|
3
|
-
import { fileURLToPath } from "url";
|
|
4
|
-
export async function readMarkdownResource(importMetaUrl, filename) {
|
|
5
|
-
const currentDir = dirname(fileURLToPath(importMetaUrl));
|
|
6
|
-
const candidates = [
|
|
7
|
-
join(currentDir, "content", filename),
|
|
8
|
-
join(currentDir, "../../src/resources/content", filename),
|
|
9
|
-
];
|
|
10
|
-
let lastError;
|
|
11
|
-
for (const candidate of candidates) {
|
|
12
|
-
try {
|
|
13
|
-
return await readFile(candidate, "utf-8");
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
lastError = error;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
throw lastError;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=readMarkdownResource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"readMarkdownResource.js","sourceRoot":"","sources":["../../src/resources/readMarkdownResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,aAAqB,EAAE,QAAgB;IAChF,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,6BAA6B,EAAE,QAAQ,CAAC;KAC1D,CAAC;IAEF,IAAI,SAAkB,CAAC;IACvB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toolAnnotations.js","sourceRoot":"","sources":["../../src/tools/toolAnnotations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;CACX,CAAC"}
|
|
File without changes
|