@ignfab/geocontext 0.9.5 → 0.9.6
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 +20 -7
- package/dist/helpers/jsonSchema.d.ts +6 -0
- package/dist/helpers/jsonSchema.js +6 -0
- package/dist/helpers/jsonSchema.js.map +1 -1
- package/dist/helpers/wfs_internal/compile.d.ts +9 -0
- package/dist/helpers/wfs_internal/compile.js +3 -2
- package/dist/helpers/wfs_internal/compile.js.map +1 -1
- package/dist/helpers/wfs_internal/request.d.ts +9 -0
- package/dist/helpers/wfs_internal/request.js +29 -0
- package/dist/helpers/wfs_internal/request.js.map +1 -1
- package/dist/helpers/wfs_internal/response.d.ts +8 -0
- package/dist/helpers/wfs_internal/response.js +30 -0
- package/dist/helpers/wfs_internal/response.js.map +1 -1
- package/dist/tools/AdminexpressTool.js +2 -1
- package/dist/tools/AdminexpressTool.js.map +1 -1
- package/dist/tools/AssietteSupTool.js +1 -0
- package/dist/tools/AssietteSupTool.js.map +1 -1
- package/dist/tools/CadastreTool.js +1 -0
- package/dist/tools/CadastreTool.js.map +1 -1
- package/dist/tools/GpfWfsDescribeTypeTool.js +1 -1
- package/dist/tools/GpfWfsDescribeTypeTool.js.map +1 -1
- package/dist/tools/GpfWfsGetFeatureByIdTool.d.ts +110 -0
- package/dist/tools/GpfWfsGetFeatureByIdTool.js +156 -0
- package/dist/tools/GpfWfsGetFeatureByIdTool.js.map +1 -0
- package/dist/tools/GpfWfsGetFeaturesTool.d.ts +0 -9
- package/dist/tools/GpfWfsGetFeaturesTool.js +11 -33
- package/dist/tools/GpfWfsGetFeaturesTool.js.map +1 -1
- package/dist/tools/UrbanismeTool.js +1 -0
- package/dist/tools/UrbanismeTool.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -141,9 +141,10 @@ Si `GPF_WFS_MINISEARCH_OPTIONS` est absent ou vide, les options par défaut rest
|
|
|
141
141
|
|
|
142
142
|
Remarque :
|
|
143
143
|
|
|
144
|
-
- Les outils `gpf_wfs_search_types` et `gpf_wfs_describe_type` s'appuient sur un catalogue de schémas embarqué fourni par `@ignfab/gpf-schema-store`.
|
|
145
|
-
- L'outil `gpf_wfs_get_features` interroge toujours le service WFS de la Géoplateforme en direct.
|
|
146
|
-
-
|
|
144
|
+
- Les outils `gpf_wfs_search_types` et `gpf_wfs_describe_type` s'appuient sur un catalogue de schémas embarqué fourni par `@ignfab/gpf-schema-store`.
|
|
145
|
+
- L'outil `gpf_wfs_get_features` interroge toujours le service WFS de la Géoplateforme en direct.
|
|
146
|
+
- L'outil `gpf_wfs_get_feature_by_id` interroge aussi le service WFS de la Géoplateforme en direct.
|
|
147
|
+
- Le catalogue embarqué améliore la description des featureTypes mais il peut être légèrement décalé par rapport à l'état courant du WFS.
|
|
147
148
|
|
|
148
149
|
## Fonctionnalités
|
|
149
150
|
|
|
@@ -177,7 +178,7 @@ L'idée est ici de répondre à des précises en traitant côté serveur les app
|
|
|
177
178
|
|
|
178
179
|
* [assiette_sup(lon,lat)](src/tools/AssietteSupTool.ts) permet de **récupérer les Servitude d'Utilité Publiques (SUP)**
|
|
179
180
|
|
|
180
|
-
Les tools WFS orientés "objet" (`adminexpress`, `cadastre`, `urbanisme`, `assiette_sup`) exposent un `feature_ref { typename, feature_id }` quand l'objet source est réutilisable tel quel dans un appel ultérieur à `gpf_wfs_get_features
|
|
181
|
+
Les tools WFS orientés "objet" (`adminexpress`, `cadastre`, `urbanisme`, `assiette_sup`) exposent un `feature_ref { typename, feature_id }` quand l'objet source est réutilisable tel quel dans un appel ultérieur à `gpf_wfs_get_feature_by_id` (exact match) ou `gpf_wfs_get_features` (par exemple avec `spatial_operator="intersects_feature"`).
|
|
181
182
|
|
|
182
183
|
### Explorer les données vecteurs
|
|
183
184
|
|
|
@@ -196,9 +197,21 @@ Les tools WFS orientés "objet" (`adminexpress`, `cadastre`, `urbanisme`, `assie
|
|
|
196
197
|
> - Quelles sont les informations disponibles pour les communes avec ADMINEXPRESS-COG.LATEST?
|
|
197
198
|
> - Compare le modèle des communes entre ADMINEXPRESS-COG:2024 et ADMINEXPRESS-COG.LATEST
|
|
198
199
|
|
|
199
|
-
#### Explorer les données des tables
|
|
200
|
-
|
|
201
|
-
* [
|
|
200
|
+
#### Explorer les données des tables
|
|
201
|
+
|
|
202
|
+
* [gpf_wfs_get_feature_by_id(typename,feature_id,...)](src/tools/GpfWfsGetFeatureByIdTool.ts) pour **récupérer exactement un objet WFS identifié par son `feature_id`**.
|
|
203
|
+
|
|
204
|
+
Le tool accepte un contrat structuré :
|
|
205
|
+
|
|
206
|
+
- `select` pour choisir les propriétés à renvoyer
|
|
207
|
+
- `result_type="request"` pour récupérer la requête compilée en `POST` avec `get_url`
|
|
208
|
+
- `result_type="results"` pour renvoyer une FeatureCollection normalisée contenant exactement un seul objet
|
|
209
|
+
|
|
210
|
+
Exemple :
|
|
211
|
+
|
|
212
|
+
- `typename="ADMINEXPRESS-COG.LATEST:commune", feature_id="commune.8952"`
|
|
213
|
+
|
|
214
|
+
* [gpf_wfs_get_features(typename,...)](src/tools/GpfWfsGetFeaturesTool.ts) pour **récupérer les données d'une table** depuis le service WFS de la Géoplateforme sans écrire de CQL à la main.
|
|
202
215
|
|
|
203
216
|
Le tool accepte un contrat structuré :
|
|
204
217
|
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a Zod input schema into an MCP-compatible JSON Schema for publication.
|
|
3
|
+
*
|
|
4
|
+
* Uses strict union emission and, for `z.pipe(...)`, publishes the pre-transform
|
|
5
|
+
* argument shape (the value callers must send), not the transformed output shape.
|
|
6
|
+
*/
|
|
1
7
|
export declare function generatePublishedInputSchema(schema: any): {
|
|
2
8
|
[x: string]: unknown;
|
|
3
9
|
};
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { toJsonSchemaCompat } from "@modelcontextprotocol/sdk/server/zod-json-schema-compat.js";
|
|
2
|
+
/**
|
|
3
|
+
* Converts a Zod input schema into an MCP-compatible JSON Schema for publication.
|
|
4
|
+
*
|
|
5
|
+
* Uses strict union emission and, for `z.pipe(...)`, publishes the pre-transform
|
|
6
|
+
* argument shape (the value callers must send), not the transformed output shape.
|
|
7
|
+
*/
|
|
2
8
|
export function generatePublishedInputSchema(schema) {
|
|
3
9
|
return toJsonSchemaCompat(schema, {
|
|
4
10
|
strictUnions: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonSchema.js","sourceRoot":"","sources":["../../src/helpers/jsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAEhG,MAAM,UAAU,4BAA4B,CAAC,MAAW;IACtD,OAAO,kBAAkB,CAAC,MAAM,EAAE;QAChC,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"jsonSchema.js","sourceRoot":"","sources":["../../src/helpers/jsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAW;IACtD,OAAO,kBAAkB,CAAC,MAAM,EAAE;QAChC,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -18,6 +18,15 @@ export type CompiledQuery = {
|
|
|
18
18
|
* @returns The unique geometry property for the feature type.
|
|
19
19
|
*/
|
|
20
20
|
export declare function getGeometryProperty(featureType: Collection): CollectionProperty;
|
|
21
|
+
/**
|
|
22
|
+
* Validates a selected property name and returns the exact property name to expose.
|
|
23
|
+
*
|
|
24
|
+
* @param featureType Feature type definition loaded from the embedded catalog.
|
|
25
|
+
* @param geometryProperty Geometry property already resolved for the feature type.
|
|
26
|
+
* @param propertyName Raw selected property name.
|
|
27
|
+
* @returns The validated non-geometric property name.
|
|
28
|
+
*/
|
|
29
|
+
export declare function compileSelectProperty(featureType: Collection, geometryProperty: CollectionProperty, propertyName: string): string;
|
|
21
30
|
/**
|
|
22
31
|
* Serializes a GeoJSON-like geometry object into EWKT for CQL spatial predicates.
|
|
23
32
|
*
|
|
@@ -182,7 +182,8 @@ export function getGeometryProperty(featureType) {
|
|
|
182
182
|
function getPropertyOrThrow(featureType, propertyName) {
|
|
183
183
|
const property = featureType.properties.find((candidate) => candidate.name === propertyName);
|
|
184
184
|
if (!property) {
|
|
185
|
-
throw new Error(`La propriété '${propertyName}' n'existe pas pour '${featureType.id}'. Utiliser une propriété parmi : ${getPropertyList(featureType)}.`);
|
|
185
|
+
//throw new Error(`La propriété '${propertyName}' n'existe pas pour '${featureType.id}'. Utiliser une propriété parmi : ${getPropertyList(featureType)}.`);
|
|
186
|
+
throw new Error(`La propriété '${propertyName}' n'existe pas pour '${featureType.id}'. Appelle \`gpf_wfs_describe_type\` pour obtenir la liste des propriétés disponibles.`);
|
|
186
187
|
}
|
|
187
188
|
return property;
|
|
188
189
|
}
|
|
@@ -362,7 +363,7 @@ function compileOrderByClause(featureType, geometryProperty, clause) {
|
|
|
362
363
|
* @param propertyName Raw selected property name.
|
|
363
364
|
* @returns The validated non-geometric property name.
|
|
364
365
|
*/
|
|
365
|
-
function compileSelectProperty(featureType, geometryProperty, propertyName) {
|
|
366
|
+
export function compileSelectProperty(featureType, geometryProperty, propertyName) {
|
|
366
367
|
return ensureNonGeometryProperty(featureType, geometryProperty, propertyName, "La propriété '{property}' est géométrique. `select` accepte uniquement des propriétés non géométriques.").name;
|
|
367
368
|
}
|
|
368
369
|
// --- Spatial Compilation ---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/helpers/wfs_internal/compile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/helpers/wfs_internal/compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,3 +36,12 @@ export declare function buildMainRequest(input: GpfWfsGetFeaturesInput, compiled
|
|
|
36
36
|
* @returns A POST request targeting the reference feature lookup.
|
|
37
37
|
*/
|
|
38
38
|
export declare function buildReferenceGeometryRequest(typename: string, featureId: string, geometryPropertyName: string): CompiledRequest;
|
|
39
|
+
/**
|
|
40
|
+
* Builds a GetFeature request targeting exactly one feature by its WFS `featureID`.
|
|
41
|
+
*
|
|
42
|
+
* @param typename Typename of the target layer.
|
|
43
|
+
* @param featureId Identifier of the target feature.
|
|
44
|
+
* @param propertyName Optional comma-separated property list.
|
|
45
|
+
* @returns A POST request split into base URL, query-string parameters, empty body, and optional GET variant.
|
|
46
|
+
*/
|
|
47
|
+
export declare function buildGetFeatureByIdRequest(typename: string, featureId: string, propertyName?: string): CompiledRequest;
|
|
@@ -89,4 +89,33 @@ export function buildReferenceGeometryRequest(typename, featureId, geometryPrope
|
|
|
89
89
|
get_url: buildGetUrl(GPF_WFS_URL, query),
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Builds a GetFeature request targeting exactly one feature by its WFS `featureID`.
|
|
94
|
+
*
|
|
95
|
+
* @param typename Typename of the target layer.
|
|
96
|
+
* @param featureId Identifier of the target feature.
|
|
97
|
+
* @param propertyName Optional comma-separated property list.
|
|
98
|
+
* @returns A POST request split into base URL, query-string parameters, empty body, and optional GET variant.
|
|
99
|
+
*/
|
|
100
|
+
export function buildGetFeatureByIdRequest(typename, featureId, propertyName) {
|
|
101
|
+
const query = {
|
|
102
|
+
service: "WFS",
|
|
103
|
+
version: "2.0.0",
|
|
104
|
+
request: "GetFeature",
|
|
105
|
+
typeNames: typename,
|
|
106
|
+
outputFormat: "application/json",
|
|
107
|
+
featureID: featureId,
|
|
108
|
+
count: "2",
|
|
109
|
+
};
|
|
110
|
+
if (propertyName) {
|
|
111
|
+
query.propertyName = propertyName;
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
method: "POST",
|
|
115
|
+
url: GPF_WFS_URL,
|
|
116
|
+
query,
|
|
117
|
+
body: "",
|
|
118
|
+
get_url: buildGetUrl(GPF_WFS_URL, query),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
92
121
|
//# sourceMappingURL=request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/helpers/wfs_internal/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAUzD;;;;;GAKG;AACH,SAAS,SAAS,CAAC,SAAkB;IACnC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,eAAe,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,KAA6B,EAAE,SAAkB;IACxF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,0BAA0B,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA6B,EAC7B,QAAwE;IAExE,MAAM,KAAK,GAA2B;QACpC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,YAAY,EAAE,kBAAkB;QAChC,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;KAChE,CAAC;IAEF,IAAI,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAC1D,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC7C,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3C,OAAO;QACL,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,WAAW;QAChB,KAAK;QACL,IAAI;QACJ,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAgB,EAAE,SAAiB,EAAE,oBAA4B;IAC7G,MAAM,KAAK,GAA2B;QACpC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,kBAAkB;QAChC,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,oBAAoB;QAClC,KAAK,EAAE,GAAG;KACX,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,WAAW;QAChB,KAAK;QACL,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC;KACzC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/helpers/wfs_internal/request.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,4 +18,12 @@ type GenericFeatureCollection = {
|
|
|
18
18
|
export declare function transformFeatureCollectionResponse(featureCollection: GenericFeatureCollection): GenericFeatureCollection | {
|
|
19
19
|
features: Record<string, unknown>[];
|
|
20
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* Transforms a FeatureCollection and injects the exact queried typename into each `feature_ref`.
|
|
23
|
+
*
|
|
24
|
+
* @param featureCollection Raw FeatureCollection returned by the WFS endpoint.
|
|
25
|
+
* @param typename Typename of the queried layer.
|
|
26
|
+
* @returns A transformed FeatureCollection whose `feature_ref` objects carry the exact typename.
|
|
27
|
+
*/
|
|
28
|
+
export declare function attachFeatureRefs(featureCollection: GenericFeatureCollection, typename: string): Record<string, unknown>;
|
|
21
29
|
export {};
|
|
@@ -26,4 +26,34 @@ export function transformFeatureCollectionResponse(featureCollection) {
|
|
|
26
26
|
const { crs: _crs, ...restCollection } = featureCollection;
|
|
27
27
|
return { ...restCollection, features: transformedFeatures };
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Transforms a FeatureCollection and injects the exact queried typename into each `feature_ref`.
|
|
31
|
+
*
|
|
32
|
+
* @param featureCollection Raw FeatureCollection returned by the WFS endpoint.
|
|
33
|
+
* @param typename Typename of the queried layer.
|
|
34
|
+
* @returns A transformed FeatureCollection whose `feature_ref` objects carry the exact typename.
|
|
35
|
+
*/
|
|
36
|
+
export function attachFeatureRefs(featureCollection, typename) {
|
|
37
|
+
const transformed = transformFeatureCollectionResponse(featureCollection);
|
|
38
|
+
if (!Array.isArray(transformed.features)) {
|
|
39
|
+
return transformed;
|
|
40
|
+
}
|
|
41
|
+
transformed.features = transformed.features.map((feature) => {
|
|
42
|
+
if (typeof feature !== "object" || feature === null || !("feature_ref" in feature)) {
|
|
43
|
+
return feature;
|
|
44
|
+
}
|
|
45
|
+
const featureRef = feature.feature_ref;
|
|
46
|
+
if (typeof featureRef !== "object" || featureRef === null) {
|
|
47
|
+
return feature;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
...feature,
|
|
51
|
+
feature_ref: {
|
|
52
|
+
...featureRef,
|
|
53
|
+
typename,
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
return transformed;
|
|
58
|
+
}
|
|
29
59
|
//# sourceMappingURL=response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/helpers/wfs_internal/response.ts"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,MAAM,UAAU,kCAAkC,CAAC,iBAA2C;IAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACrE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAE/E,MAAM,WAAW,GAA4B;YAC3C,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACnC,WAAW,CAAC,WAAW,GAAG;gBACxB,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,OAAO,CAAC,EAAE;aACvB,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,iBAAiB,CAAC;IAC3D,OAAO,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;AAC9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/helpers/wfs_internal/response.ts"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,MAAM,UAAU,kCAAkC,CAAC,iBAA2C;IAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACrE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAE/E,MAAM,WAAW,GAA4B;YAC3C,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACnC,WAAW,CAAC,WAAW,GAAG;gBACxB,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,OAAO,CAAC,EAAE;aACvB,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,iBAAiB,CAAC;IAC3D,OAAO,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,iBAA2C,EAAE,QAAgB;IAC7F,MAAM,WAAW,GAAG,kCAAkC,CAAC,iBAAiB,CAA4B,CAAC;IACrG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,EAAE,CAAC;YACnF,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO;YACL,GAAG,OAAO;YACV,WAAW,EAAE;gBACX,GAAG,UAAU;gBACb,QAAQ;aACT;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -25,7 +25,8 @@ class AdminexpressTool extends MCPTool {
|
|
|
25
25
|
description = [
|
|
26
26
|
`Renvoie, pour un point donné par sa \`longitude\` et sa \`latitude\`, la liste des unités administratives (${ADMINEXPRESS_TYPES.join(", ")}) qui le couvrent, sous forme d'objets typés contenant leurs propriétés administratives.`,
|
|
27
27
|
"Les résultats incluent un `feature_ref` WFS réutilisable. Les propriétés incluent notamment le code INSEE.",
|
|
28
|
-
"Le `feature_ref` de chaque unité administrative est directement réutilisable dans `gpf_wfs_get_features` avec `spatial_operator=\"intersects_feature\"` pour interroger
|
|
28
|
+
"Le `feature_ref` de chaque unité administrative est directement réutilisable dans `gpf_wfs_get_features` avec `spatial_operator=\"intersects_feature\"` pour interroger d'autres données sur cette emprise.",
|
|
29
|
+
"Pour récupérer exactement l'objet correspondant au `feature_ref`, utiliser `gpf_wfs_get_feature_by_id`.",
|
|
29
30
|
`(source : ${ADMINEXPRESS_SOURCE}).`
|
|
30
31
|
].join("\n");
|
|
31
32
|
outputSchemaShape = adminexpressOutputSchema;
|
|
@@ -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,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,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;IAC/F,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,mHAAmH,CAAC;CAC5J,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;QACZ,8GAA8G,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,0FAA0F;QACrO,4GAA4G;QAC5G,
|
|
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,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,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;IAC/F,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,mHAAmH,CAAC;CAC5J,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;QACZ,8GAA8G,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,0FAA0F;QACrO,4GAA4G;QAC5G,6MAA6M;QAC7M,yGAAyG;QACzG,aAAa,mBAAmB,IAAI;KACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACH,iBAAiB,GAAG,wBAAwB,CAAC;IAEvD,MAAM,GAAG,uBAAuB,CAAC;IAEjC,KAAK,CAAC,OAAO,CAAC,KAAwB;QACpC,OAAO;YACL,OAAO,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SACnD,CAAC;IACJ,CAAC;CACF;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -27,6 +27,7 @@ class AssietteSupTool extends MCPTool {
|
|
|
27
27
|
"Renvoie, pour un point donné par sa longitude et sa latitude, la liste des assiettes de servitudes d'utilité publique (SUP) pertinentes à proximité, avec leurs propriétés associées.",
|
|
28
28
|
"Une SUP est une contrainte légale sur l'usage du sol liée à un équipement ou une infrastructure publique (ex : AC pour patrimoine, EL pour voirie, PT pour télécoms, I pour installations classées...).",
|
|
29
29
|
"Les résultats peuvent inclure des assiettes ponctuelles, linéaires ou surfaciques et exposent un `feature_ref` WFS réutilisable quand il est disponible.",
|
|
30
|
+
"Pour récupérer exactement l'objet correspondant au `feature_ref`, utiliser `gpf_wfs_get_feature_by_id`.",
|
|
30
31
|
`(source : ${URBANISME_SOURCE}).`
|
|
31
32
|
].join("\n");
|
|
32
33
|
outputSchemaShape = assietteSupOutputSchema;
|
|
@@ -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,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,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,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,mHAAmH,CAAC,CAAC,QAAQ,EAAE;IACtK,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;CACrG,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;QACZ,uLAAuL;QACvL,yMAAyM;QACzM,0JAA0J;QAC1J,aAAa,gBAAgB,IAAI;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACH,iBAAiB,GAAG,uBAAuB,CAAC;IAEtD,MAAM,GAAG,sBAAsB,CAAC;IAEhC,KAAK,CAAC,OAAO,CAAC,KAAuB;QACnC,OAAO;YACL,OAAO,EAAE,MAAM,sBAAsB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAC5D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,eAAe,CAAC"}
|
|
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,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,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,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,mHAAmH,CAAC,CAAC,QAAQ,EAAE;IACtK,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;CACrG,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;QACZ,uLAAuL;QACvL,yMAAyM;QACzM,0JAA0J;QAC1J,yGAAyG;QACzG,aAAa,gBAAgB,IAAI;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACH,iBAAiB,GAAG,uBAAuB,CAAC;IAEtD,MAAM,GAAG,sBAAsB,CAAC;IAEhC,KAAK,CAAC,OAAO,CAAC,KAAuB;QACnC,OAAO;YACL,OAAO,EAAE,MAAM,sBAAsB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAC5D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -29,6 +29,7 @@ class CadastreTool extends MCPTool {
|
|
|
29
29
|
"Les résultats sont retournés au plus une fois par type lorsqu'ils sont disponibles et incluent un `feature_ref` WFS réutilisable.",
|
|
30
30
|
"Le `feature_ref` est directement réutilisable dans `gpf_wfs_get_features` avec `spatial_operator=\"intersects_feature\"`.",
|
|
31
31
|
"La distance de recherche est fixée à 10 mètres. Si aucun objet n'est trouvé dans les 10 mètres, le résultat est vide.",
|
|
32
|
+
"Pour récupérer exactement l'objet correspondant au `feature_ref`, utiliser `gpf_wfs_get_feature_by_id`.",
|
|
32
33
|
`(source : ${PARCELLAIRE_EXPRESS_SOURCE}).`
|
|
33
34
|
].join("\n");
|
|
34
35
|
outputSchemaShape = cadastreOutputSchema;
|
|
@@ -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,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,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,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,mHAAmH,CAAC;IAC3J,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;IAC1G,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;AAGH,MAAM,YAAa,SAAQ,OAAsB;IAC/C,IAAI,GAAG,UAAU,CAAC;IAClB,KAAK,GAAG,0BAA0B,CAAC;IACnC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG;QACZ,yGAAyG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD;QACrM,mIAAmI;QACnI,2HAA2H;QAC3H,wHAAwH;QACxH,aAAa,0BAA0B,IAAI;KAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACH,iBAAiB,GAAG,oBAAoB,CAAC;IAEnD,MAAM,GAAG,mBAAmB,CAAC;IAE7B,KAAK,CAAC,OAAO,CAAC,KAAoB;QAChC,OAAO;YACL,OAAO,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAC3D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
|
|
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,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,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,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,mHAAmH,CAAC;IAC3J,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;IAC1G,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;AAGH,MAAM,YAAa,SAAQ,OAAsB;IAC/C,IAAI,GAAG,UAAU,CAAC;IAClB,KAAK,GAAG,0BAA0B,CAAC;IACnC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG;QACZ,yGAAyG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD;QACrM,mIAAmI;QACnI,2HAA2H;QAC3H,wHAAwH;QACxH,yGAAyG;QACzG,aAAa,0BAA0B,IAAI;KAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACH,iBAAiB,GAAG,oBAAoB,CAAC;IAEnD,MAAM,GAAG,mBAAmB,CAAC;IAE7B,KAAK,CAAC,OAAO,CAAC,KAAoB;QAChC,OAAO;YACL,OAAO,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAC3D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -35,7 +35,7 @@ class GpfWfsDescribeTypeTool extends MCPTool {
|
|
|
35
35
|
"Renvoie le schéma détaillé d'un type WFS à partir de son identifiant (`typename`) : identifiants, description et liste des propriétés.",
|
|
36
36
|
"Utiliser ce tool après `gpf_wfs_search_types` pour inspecter les propriétés disponibles avant d'appeler `gpf_wfs_get_features`.",
|
|
37
37
|
"La sortie inclut notamment le type des propriétés, leur description, leurs valeurs possibles (`enum`) lorsqu'elles existent",
|
|
38
|
-
"**Appel fortement recommandé si les noms exacts des propriétés ne sont pas connus : un nom de propriété incorrect provoque une erreur**."
|
|
38
|
+
"**IMPORTANT: Appel fortement recommandé si les noms exacts des propriétés ne sont pas connus : un nom de propriété incorrect provoque une erreur**."
|
|
39
39
|
].join("\n");
|
|
40
40
|
outputSchemaShape = gpfWfsDescribeTypeOutputSchema;
|
|
41
41
|
schema = gpfWfsDescribeTypeInputSchema;
|
|
@@ -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,+BAA+B,CAAC;AAEtF,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;SAC9C,QAAQ,CAAC,0CAA0C,CAAC;CACxD,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,EAAE;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,QAAQ,EAAE;IAC9E,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAC,QAAQ,EAAE;IACvF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC,CAAC,QAAQ,EAAE;CACpH,CAAC,CAAC;AAEH,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC/D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KAC3F,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,sBAAuB,SAAQ,OAAgC;IACnE,IAAI,GAAG,uBAAuB,CAAC;IAC/B,KAAK,GAAG,2BAA2B,CAAC;IACpC,WAAW,GAAG,qCAAqC,CAAC;IACpD,WAAW,GAAG;QACZ,wIAAwI;QACxI,iIAAiI;QACjI,6HAA6H;QAC7H,
|
|
1
|
+
{"version":3,"file":"GpfWfsDescribeTypeTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsDescribeTypeTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { MCPTool } from "mcp-framework";
|
|
2
|
+
import type { Collection } from "@ignfab/gpf-schema-store";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { type CompiledRequest } from "../helpers/wfs_internal/request.js";
|
|
5
|
+
declare const gpfWfsGetFeatureByIdInputSchema: z.ZodObject<{
|
|
6
|
+
typename: z.ZodString;
|
|
7
|
+
feature_id: z.ZodString;
|
|
8
|
+
result_type: z.ZodDefault<z.ZodEnum<["results", "request"]>>;
|
|
9
|
+
select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
|
+
}, "strict", z.ZodTypeAny, {
|
|
11
|
+
typename?: string;
|
|
12
|
+
feature_id?: string;
|
|
13
|
+
result_type?: "request" | "results";
|
|
14
|
+
select?: string[];
|
|
15
|
+
}, {
|
|
16
|
+
typename?: string;
|
|
17
|
+
feature_id?: string;
|
|
18
|
+
result_type?: "request" | "results";
|
|
19
|
+
select?: string[];
|
|
20
|
+
}>;
|
|
21
|
+
type GpfWfsGetFeatureByIdInput = z.infer<typeof gpfWfsGetFeatureByIdInputSchema>;
|
|
22
|
+
type PublishedInputSchema = {
|
|
23
|
+
type: "object";
|
|
24
|
+
properties?: Record<string, object>;
|
|
25
|
+
required?: string[];
|
|
26
|
+
};
|
|
27
|
+
declare class GpfWfsGetFeatureByIdTool extends MCPTool<GpfWfsGetFeatureByIdInput> {
|
|
28
|
+
name: string;
|
|
29
|
+
title: string;
|
|
30
|
+
annotations: {
|
|
31
|
+
readOnlyHint: boolean;
|
|
32
|
+
destructiveHint: boolean;
|
|
33
|
+
idempotentHint: boolean;
|
|
34
|
+
openWorldHint: boolean;
|
|
35
|
+
};
|
|
36
|
+
description: string;
|
|
37
|
+
schema: z.ZodObject<{
|
|
38
|
+
typename: z.ZodString;
|
|
39
|
+
feature_id: z.ZodString;
|
|
40
|
+
result_type: z.ZodDefault<z.ZodEnum<["results", "request"]>>;
|
|
41
|
+
select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
42
|
+
}, "strict", z.ZodTypeAny, {
|
|
43
|
+
typename?: string;
|
|
44
|
+
feature_id?: string;
|
|
45
|
+
result_type?: "request" | "results";
|
|
46
|
+
select?: string[];
|
|
47
|
+
}, {
|
|
48
|
+
typename?: string;
|
|
49
|
+
feature_id?: string;
|
|
50
|
+
result_type?: "request" | "results";
|
|
51
|
+
select?: string[];
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Exposes an input schema variant that stays compatible with most MCP integrations.
|
|
55
|
+
*
|
|
56
|
+
* @returns The published input schema exposed through the MCP tool definition.
|
|
57
|
+
*/
|
|
58
|
+
get inputSchema(): PublishedInputSchema;
|
|
59
|
+
/**
|
|
60
|
+
* Formats compact responses (`request`) into `structuredContent`.
|
|
61
|
+
*
|
|
62
|
+
* @param data Raw execution result returned by the tool implementation.
|
|
63
|
+
* @returns An MCP success response, optionally enriched with structured content.
|
|
64
|
+
*/
|
|
65
|
+
protected createSuccessResponse(data: unknown): import("mcp-framework").ToolResponse | {
|
|
66
|
+
content: {
|
|
67
|
+
type: "text";
|
|
68
|
+
text: string;
|
|
69
|
+
}[];
|
|
70
|
+
structuredContent: {
|
|
71
|
+
body?: string;
|
|
72
|
+
result_type?: "request";
|
|
73
|
+
method?: "POST";
|
|
74
|
+
url?: string;
|
|
75
|
+
query?: Record<string, string>;
|
|
76
|
+
get_url?: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Loads a WFS feature type description from the embedded catalog.
|
|
81
|
+
*
|
|
82
|
+
* @param typename Exact WFS typename to load from the embedded schema store.
|
|
83
|
+
* @returns The matching feature type description.
|
|
84
|
+
*/
|
|
85
|
+
protected getFeatureType(typename: string): Promise<Collection>;
|
|
86
|
+
/**
|
|
87
|
+
* Executes a compiled WFS request as POST and returns the JSON FeatureCollection.
|
|
88
|
+
*
|
|
89
|
+
* @param request Compiled request split into query-string parameters and POST body.
|
|
90
|
+
* @returns The parsed JSON response returned by the WFS endpoint.
|
|
91
|
+
*/
|
|
92
|
+
protected fetchFeatureCollection(request: CompiledRequest): Promise<any>;
|
|
93
|
+
/**
|
|
94
|
+
* Builds the optional `propertyName` request parameter from `select`.
|
|
95
|
+
*
|
|
96
|
+
* @param featureType Feature type definition loaded from the embedded catalog.
|
|
97
|
+
* @param input Normalized tool input.
|
|
98
|
+
* @returns A comma-separated property list, or `undefined` when all properties should be returned.
|
|
99
|
+
*/
|
|
100
|
+
protected buildPropertyName(featureType: Collection, input: GpfWfsGetFeatureByIdInput): string;
|
|
101
|
+
/**
|
|
102
|
+
* Orchestrates the by-id execution flow:
|
|
103
|
+
* schema lookup -> request compilation -> optional request output -> WFS execution -> cardinality validation.
|
|
104
|
+
*
|
|
105
|
+
* @param input Normalized tool input.
|
|
106
|
+
* @returns Either a compiled request or a transformed FeatureCollection containing one feature.
|
|
107
|
+
*/
|
|
108
|
+
execute(input: GpfWfsGetFeatureByIdInput): Promise<Record<string, unknown>>;
|
|
109
|
+
}
|
|
110
|
+
export default GpfWfsGetFeatureByIdTool;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { MCPTool } from "mcp-framework";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { wfsClient } from "../gpf/wfs.js";
|
|
4
|
+
import { fetchJSONPost } from "../helpers/http.js";
|
|
5
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
6
|
+
import { generatePublishedInputSchema } from "../helpers/jsonSchema.js";
|
|
7
|
+
import { compileSelectProperty, getGeometryProperty } from "../helpers/wfs_internal/compile.js";
|
|
8
|
+
import { buildGetFeatureByIdRequest } from "../helpers/wfs_internal/request.js";
|
|
9
|
+
import { attachFeatureRefs } from "../helpers/wfs_internal/response.js";
|
|
10
|
+
import { gpfWfsGetFeaturesRequestOutputSchema } from "../helpers/wfs_internal/schema.js";
|
|
11
|
+
const gpfWfsGetFeatureByIdInputSchema = z.object({
|
|
12
|
+
typename: z
|
|
13
|
+
.string()
|
|
14
|
+
.trim()
|
|
15
|
+
.min(1, "le nom du type ne doit pas être vide")
|
|
16
|
+
.describe("Nom exact du type WFS à interroger, par exemple `ADMINEXPRESS-COG.LATEST:commune`."),
|
|
17
|
+
feature_id: z
|
|
18
|
+
.string()
|
|
19
|
+
.trim()
|
|
20
|
+
.min(1, "le feature_id ne doit pas être vide")
|
|
21
|
+
.describe("Identifiant WFS exact de l'objet à récupérer, par exemple `commune.8952`."),
|
|
22
|
+
result_type: z
|
|
23
|
+
.enum(["results", "request"])
|
|
24
|
+
.default("results")
|
|
25
|
+
.describe("`results` renvoie une FeatureCollection normalisée avec exactement un objet. `request` renvoie la requête WFS compilée (`get_url`) à destination de `create_map` via `geojson_url`, ou pour déboguer."),
|
|
26
|
+
select: z
|
|
27
|
+
.array(z.string().trim().min(1))
|
|
28
|
+
.min(1)
|
|
29
|
+
.optional()
|
|
30
|
+
.describe("Liste des propriétés non géométriques à renvoyer. Quand `result_type=\"request\"`, la géométrie est automatiquement ajoutée."),
|
|
31
|
+
}).strict();
|
|
32
|
+
const gpfWfsGetFeatureByIdPublishedInputSchema = generatePublishedInputSchema(gpfWfsGetFeatureByIdInputSchema);
|
|
33
|
+
class GpfWfsGetFeatureByIdTool extends MCPTool {
|
|
34
|
+
name = "gpf_wfs_get_feature_by_id";
|
|
35
|
+
title = "Lecture d’un objet WFS par identifiant";
|
|
36
|
+
annotations = READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS;
|
|
37
|
+
description = [
|
|
38
|
+
"Récupère exactement un objet WFS à partir de `typename` et `feature_id`, sans filtre attributaire ni spatial.",
|
|
39
|
+
"Ce tool est le chemin robuste quand vous disposez déjà d'une `feature_ref { typename, feature_id }` issue d'un autre tool (`adminexpress`, `cadastre`, `urbanisme`, `assiette_sup`, `gpf_wfs_get_features`).",
|
|
40
|
+
"Le contrat garantit une cardinalité stricte : 0 résultat ou plusieurs résultats provoquent une erreur explicite.",
|
|
41
|
+
"Utiliser `result_type=\"request\"` pour récupérer la requête WFS compilée (avec `get_url`) et l'utiliser ou la visualiser ailleurs."
|
|
42
|
+
].join("\n");
|
|
43
|
+
schema = gpfWfsGetFeatureByIdInputSchema;
|
|
44
|
+
/**
|
|
45
|
+
* Exposes an input schema variant that stays compatible with most MCP integrations.
|
|
46
|
+
*
|
|
47
|
+
* @returns The published input schema exposed through the MCP tool definition.
|
|
48
|
+
*/
|
|
49
|
+
get inputSchema() {
|
|
50
|
+
return gpfWfsGetFeatureByIdPublishedInputSchema;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Formats compact responses (`request`) into `structuredContent`.
|
|
54
|
+
*
|
|
55
|
+
* @param data Raw execution result returned by the tool implementation.
|
|
56
|
+
* @returns An MCP success response, optionally enriched with structured content.
|
|
57
|
+
*/
|
|
58
|
+
createSuccessResponse(data) {
|
|
59
|
+
if (typeof data === "object" &&
|
|
60
|
+
data !== null &&
|
|
61
|
+
"result_type" in data &&
|
|
62
|
+
data.result_type === "request") {
|
|
63
|
+
return {
|
|
64
|
+
content: [{ type: "text", text: JSON.stringify(data) }],
|
|
65
|
+
structuredContent: gpfWfsGetFeaturesRequestOutputSchema.parse(data),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return super.createSuccessResponse(data);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Loads a WFS feature type description from the embedded catalog.
|
|
72
|
+
*
|
|
73
|
+
* @param typename Exact WFS typename to load from the embedded schema store.
|
|
74
|
+
* @returns The matching feature type description.
|
|
75
|
+
*/
|
|
76
|
+
async getFeatureType(typename) {
|
|
77
|
+
return wfsClient.getFeatureType(typename);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Executes a compiled WFS request as POST and returns the JSON FeatureCollection.
|
|
81
|
+
*
|
|
82
|
+
* @param request Compiled request split into query-string parameters and POST body.
|
|
83
|
+
* @returns The parsed JSON response returned by the WFS endpoint.
|
|
84
|
+
*/
|
|
85
|
+
async fetchFeatureCollection(request) {
|
|
86
|
+
const url = `${request.url}?${new URLSearchParams(request.query).toString()}`;
|
|
87
|
+
return fetchJSONPost(url, request.body, {
|
|
88
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
89
|
+
"Accept": "application/json",
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Builds the optional `propertyName` request parameter from `select`.
|
|
94
|
+
*
|
|
95
|
+
* @param featureType Feature type definition loaded from the embedded catalog.
|
|
96
|
+
* @param input Normalized tool input.
|
|
97
|
+
* @returns A comma-separated property list, or `undefined` when all properties should be returned.
|
|
98
|
+
*/
|
|
99
|
+
buildPropertyName(featureType, input) {
|
|
100
|
+
if (!input.select || input.select.length === 0) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
const geometryProperty = getGeometryProperty(featureType);
|
|
104
|
+
const selectedProperties = input.select.map((propertyName) => compileSelectProperty(featureType, geometryProperty, propertyName));
|
|
105
|
+
if (input.result_type === "request") {
|
|
106
|
+
return [...selectedProperties, geometryProperty.name].join(",");
|
|
107
|
+
}
|
|
108
|
+
return selectedProperties.join(",");
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Orchestrates the by-id execution flow:
|
|
112
|
+
* schema lookup -> request compilation -> optional request output -> WFS execution -> cardinality validation.
|
|
113
|
+
*
|
|
114
|
+
* @param input Normalized tool input.
|
|
115
|
+
* @returns Either a compiled request or a transformed FeatureCollection containing one feature.
|
|
116
|
+
*/
|
|
117
|
+
async execute(input) {
|
|
118
|
+
const featureType = await this.getFeatureType(input.typename);
|
|
119
|
+
const propertyName = this.buildPropertyName(featureType, input);
|
|
120
|
+
const request = buildGetFeatureByIdRequest(input.typename, input.feature_id, propertyName);
|
|
121
|
+
if (input.result_type === "request") {
|
|
122
|
+
return {
|
|
123
|
+
result_type: "request",
|
|
124
|
+
method: request.method,
|
|
125
|
+
url: request.url,
|
|
126
|
+
query: request.query,
|
|
127
|
+
body: request.body,
|
|
128
|
+
get_url: request.get_url ?? null,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
const featureCollection = await this.fetchFeatureCollection(request);
|
|
132
|
+
if (!Array.isArray(featureCollection?.features)) {
|
|
133
|
+
throw new Error("Le service WFS n'a pas retourné de collection d'objets exploitable.");
|
|
134
|
+
}
|
|
135
|
+
if (featureCollection.features.length === 0) {
|
|
136
|
+
throw new Error(`Le feature '${input.feature_id}' est introuvable dans '${input.typename}'.`);
|
|
137
|
+
}
|
|
138
|
+
if (featureCollection.features.length > 1) {
|
|
139
|
+
throw new Error(`Le feature '${input.feature_id}' dans '${input.typename}' devrait être unique, mais ${featureCollection.features.length} objets ont été retournés.`);
|
|
140
|
+
}
|
|
141
|
+
const [firstFeature] = featureCollection.features;
|
|
142
|
+
if (firstFeature?.id !== input.feature_id) {
|
|
143
|
+
throw new Error(`Le service WFS a retourné l'identifiant '${String(firstFeature?.id)}' au lieu de '${input.feature_id}'.`);
|
|
144
|
+
}
|
|
145
|
+
const singleFeatureCollection = {
|
|
146
|
+
...featureCollection,
|
|
147
|
+
features: [firstFeature],
|
|
148
|
+
totalFeatures: 1,
|
|
149
|
+
numberReturned: 1,
|
|
150
|
+
numberMatched: 1,
|
|
151
|
+
};
|
|
152
|
+
return attachFeatureRefs(singleFeatureCollection, input.typename);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
export default GpfWfsGetFeatureByIdTool;
|
|
156
|
+
//# sourceMappingURL=GpfWfsGetFeatureByIdTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GpfWfsGetFeatureByIdTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsGetFeatureByIdTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -172,15 +172,6 @@ declare class GpfWfsGetFeaturesTool extends MCPTool<GpfWfsGetFeaturesInput> {
|
|
|
172
172
|
* @returns The total number of matching features.
|
|
173
173
|
*/
|
|
174
174
|
protected getMatchedFeatureCount(featureCollection: Record<string, unknown>): number;
|
|
175
|
-
/**
|
|
176
|
-
* Enriches transformed features with a complete `feature_ref`, reusable
|
|
177
|
-
* in particular by `intersects_feature`.
|
|
178
|
-
*
|
|
179
|
-
* @param featureCollection Raw WFS FeatureCollection response.
|
|
180
|
-
* @param typename Typename of the main queried layer.
|
|
181
|
-
* @returns The transformed FeatureCollection with fully populated feature references.
|
|
182
|
-
*/
|
|
183
|
-
protected attachFeatureRefs(featureCollection: Record<string, unknown>, typename: string): Record<string, unknown>;
|
|
184
175
|
/**
|
|
185
176
|
* Resolves the geometry of a reference feature when `intersects_feature` is used,
|
|
186
177
|
* then converts it to EWKT for CQL compilation.
|
|
@@ -5,7 +5,7 @@ import logger from "../logger.js";
|
|
|
5
5
|
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
|
|
6
6
|
import { compileQueryParts, geometryToEwkt, getGeometryProperty, getSpatialFilter } from "../helpers/wfs_internal/compile.js";
|
|
7
7
|
import { buildMainRequest, buildReferenceGeometryRequest } from "../helpers/wfs_internal/request.js";
|
|
8
|
-
import {
|
|
8
|
+
import { attachFeatureRefs } from "../helpers/wfs_internal/response.js";
|
|
9
9
|
import { gpfWfsGetFeaturesHitsOutputSchema, gpfWfsGetFeaturesInputSchema, gpfWfsGetFeaturesPublishedInputSchema, gpfWfsGetFeaturesRequestOutputSchema, } from "../helpers/wfs_internal/schema.js";
|
|
10
10
|
class GpfWfsGetFeaturesTool extends MCPTool {
|
|
11
11
|
name = "gpf_wfs_get_features";
|
|
@@ -18,6 +18,9 @@ class GpfWfsGetFeaturesTool extends MCPTool {
|
|
|
18
18
|
"Exemple bbox : `spatial_operator=\"bbox\"` avec `bbox_west`, `bbox_south`, `bbox_east`, `bbox_north` en `lon/lat`.",
|
|
19
19
|
"Exemple distance : `spatial_operator=\"dwithin_point\"` avec `dwithin_lon`, `dwithin_lat`, `dwithin_distance_m`.",
|
|
20
20
|
"Exemple réutilisation : `spatial_operator=\"intersects_feature\"` avec `intersects_feature_typename` et `intersects_feature_id` issus d'une `feature_ref`.",
|
|
21
|
+
"⚠️ Quand `typename` et `intersects_feature_typename` sont identiques, utiliser `gpf_wfs_get_feature_by_id` pour récupérer exactement l'objet ciblé.",
|
|
22
|
+
"**OBLIGATOIRE : toujours appeler `gpf_wfs_describe_type` avant ce tool, sauf si `gpf_wfs_describe_type` a déjà été appelé pour ce même typename dans la conversation en cours.**",
|
|
23
|
+
"Les noms de propriétés **ne peuvent pas être devinés** : ils sont spécifiques à chaque typename et diffèrent systématiquement des conventions habituelles (ex : pas de nom_officiel, navigabilite sans accent, etc.). Toute tentative sans appel préalable à `gpf_wfs_describe_type` **provoquera une erreur.**"
|
|
21
24
|
].join("\n");
|
|
22
25
|
schema = gpfWfsGetFeaturesInputSchema;
|
|
23
26
|
/**
|
|
@@ -99,37 +102,6 @@ class GpfWfsGetFeaturesTool extends MCPTool {
|
|
|
99
102
|
}
|
|
100
103
|
throw new Error("Le service WFS n'a pas retourné de comptage exploitable");
|
|
101
104
|
}
|
|
102
|
-
/**
|
|
103
|
-
* Enriches transformed features with a complete `feature_ref`, reusable
|
|
104
|
-
* in particular by `intersects_feature`.
|
|
105
|
-
*
|
|
106
|
-
* @param featureCollection Raw WFS FeatureCollection response.
|
|
107
|
-
* @param typename Typename of the main queried layer.
|
|
108
|
-
* @returns The transformed FeatureCollection with fully populated feature references.
|
|
109
|
-
*/
|
|
110
|
-
attachFeatureRefs(featureCollection, typename) {
|
|
111
|
-
const transformed = transformFeatureCollectionResponse(featureCollection);
|
|
112
|
-
if (!Array.isArray(transformed.features)) {
|
|
113
|
-
return transformed;
|
|
114
|
-
}
|
|
115
|
-
transformed.features = transformed.features.map((feature) => {
|
|
116
|
-
if (typeof feature !== "object" || feature === null || !("feature_ref" in feature)) {
|
|
117
|
-
return feature;
|
|
118
|
-
}
|
|
119
|
-
const featureRef = feature.feature_ref;
|
|
120
|
-
if (typeof featureRef !== "object" || featureRef === null) {
|
|
121
|
-
return feature;
|
|
122
|
-
}
|
|
123
|
-
return {
|
|
124
|
-
...feature,
|
|
125
|
-
feature_ref: {
|
|
126
|
-
...featureRef,
|
|
127
|
-
typename,
|
|
128
|
-
},
|
|
129
|
-
};
|
|
130
|
-
});
|
|
131
|
-
return transformed;
|
|
132
|
-
}
|
|
133
105
|
/**
|
|
134
106
|
* Resolves the geometry of a reference feature when `intersects_feature` is used,
|
|
135
107
|
* then converts it to EWKT for CQL compilation.
|
|
@@ -167,6 +139,12 @@ class GpfWfsGetFeaturesTool extends MCPTool {
|
|
|
167
139
|
* @returns Either a compiled request, a hit count, or a transformed FeatureCollection.
|
|
168
140
|
*/
|
|
169
141
|
async execute(input) {
|
|
142
|
+
if (input.spatial_operator === "intersects_feature" &&
|
|
143
|
+
input.intersects_feature_typename !== undefined &&
|
|
144
|
+
input.typename === input.intersects_feature_typename) {
|
|
145
|
+
throw new Error("Le filtre `intersects_feature` sur le même `typename` retourne potentiellement plusieurs objets. " +
|
|
146
|
+
"Utiliser `gpf_wfs_get_feature_by_id` avec `{ typename, feature_id: intersects_feature_id }` pour cibler exactement un objet.");
|
|
147
|
+
}
|
|
170
148
|
const featureType = await this.getFeatureType(input.typename);
|
|
171
149
|
const resolvedGeometryRef = await this.resolveIntersectsFeatureGeometry(input);
|
|
172
150
|
const compiled = compileQueryParts(input, featureType, resolvedGeometryRef);
|
|
@@ -199,7 +177,7 @@ class GpfWfsGetFeaturesTool extends MCPTool {
|
|
|
199
177
|
totalFeatures: this.getMatchedFeatureCount(featureCollection),
|
|
200
178
|
};
|
|
201
179
|
}
|
|
202
|
-
return
|
|
180
|
+
return attachFeatureRefs(featureCollection, input.typename);
|
|
203
181
|
}
|
|
204
182
|
}
|
|
205
183
|
export default GpfWfsGetFeaturesTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GpfWfsGetFeaturesTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsGetFeaturesTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC9H,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAwB,MAAM,oCAAoC,CAAC;AAC3H,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"GpfWfsGetFeaturesTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsGetFeaturesTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ const URBANISME_TOOL_DESCRIPTION = [
|
|
|
24
24
|
"Les résultats peuvent notamment inclure le document d'urbanisme applicable ainsi que des éléments réglementaires associés à proximité du point.",
|
|
25
25
|
"Quand un objet correspond à une couche WFS réutilisable, il expose aussi un `feature_ref` compatible avec `gpf_wfs_get_features` et `spatial_operator=\"intersects_feature\"`.",
|
|
26
26
|
"Le zonage PLU (zone U, AU, A, N...) est inclus dans les zones retournées et constitue souvent l'information principale recherchée.",
|
|
27
|
+
"Pour récupérer exactement l'objet correspondant au `feature_ref`, utiliser `gpf_wfs_get_feature_by_id`.",
|
|
27
28
|
"Modèles d'URL Géoportail de l'Urbanisme :",
|
|
28
29
|
"- fiche document: https://www.geoportail-urbanisme.gouv.fr/document/by-id/{gpu_doc_id}",
|
|
29
30
|
"- carte: https://www.geoportail-urbanisme.gouv.fr/map/?documentId={gpu_doc_id}",
|
|
@@ -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,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,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,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,mHAAmH,CAAC,CAAC,QAAQ,EAAE;IACtK,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;CAC7G,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,kPAAkP,gBAAgB,IAAI;IACtQ,iJAAiJ;IACjJ,gLAAgL;IAChL,oIAAoI;IACpI,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,OAAO;YACL,OAAO,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAClD,CAAC;IACJ,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
|
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,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,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,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,mHAAmH,CAAC,CAAC,QAAQ,EAAE;IACtK,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;CAC7G,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,kPAAkP,gBAAgB,IAAI;IACtQ,iJAAiJ;IACjJ,gLAAgL;IAChL,oIAAoI;IACpI,yGAAyG;IACzG,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,OAAO;YACL,OAAO,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAClD,CAAC;IACJ,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|