@ignfab/geocontext 0.9.3 → 0.9.5

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.
Files changed (75) hide show
  1. package/README.md +46 -28
  2. package/dist/gpf/adminexpress.js +7 -27
  3. package/dist/gpf/adminexpress.js.map +1 -1
  4. package/dist/gpf/parcellaire-express.js +13 -33
  5. package/dist/gpf/parcellaire-express.js.map +1 -1
  6. package/dist/gpf/urbanisme.d.ts +4 -2
  7. package/dist/gpf/urbanisme.js +20 -61
  8. package/dist/gpf/urbanisme.js.map +1 -1
  9. package/dist/gpf/wfs.d.ts +2 -2
  10. package/dist/gpf/wfs.js +17 -71
  11. package/dist/gpf/wfs.js.map +1 -1
  12. package/dist/helpers/distance.d.ts +4 -2
  13. package/dist/helpers/distance.js +20 -5
  14. package/dist/helpers/distance.js.map +1 -1
  15. package/dist/helpers/http.d.ts +4 -0
  16. package/dist/helpers/http.js +103 -1
  17. package/dist/helpers/http.js.map +1 -1
  18. package/dist/helpers/jsonSchema.d.ts +3 -0
  19. package/dist/helpers/jsonSchema.js +8 -0
  20. package/dist/helpers/jsonSchema.js.map +1 -0
  21. package/dist/helpers/schemas.d.ts +13 -0
  22. package/dist/helpers/schemas.js +18 -0
  23. package/dist/helpers/schemas.js.map +1 -0
  24. package/dist/helpers/wfs.d.ts +27 -0
  25. package/dist/helpers/wfs.js +55 -0
  26. package/dist/helpers/wfs.js.map +1 -0
  27. package/dist/helpers/wfs_internal/compile.d.ts +46 -0
  28. package/dist/helpers/wfs_internal/compile.js +595 -0
  29. package/dist/helpers/wfs_internal/compile.js.map +1 -0
  30. package/dist/helpers/wfs_internal/request.d.ts +38 -0
  31. package/dist/helpers/wfs_internal/request.js +92 -0
  32. package/dist/helpers/wfs_internal/request.js.map +1 -0
  33. package/dist/helpers/wfs_internal/response.d.ts +21 -0
  34. package/dist/helpers/wfs_internal/response.js +29 -0
  35. package/dist/helpers/wfs_internal/response.js.map +1 -0
  36. package/dist/helpers/wfs_internal/schema.d.ts +167 -0
  37. package/dist/helpers/wfs_internal/schema.js +81 -0
  38. package/dist/helpers/wfs_internal/schema.js.map +1 -0
  39. package/dist/index.js +47 -25
  40. package/dist/index.js.map +1 -1
  41. package/dist/tools/AdminexpressTool.d.ts +52 -2
  42. package/dist/tools/AdminexpressTool.js +11 -14
  43. package/dist/tools/AdminexpressTool.js.map +1 -1
  44. package/dist/tools/AltitudeTool.d.ts +2 -2
  45. package/dist/tools/AltitudeTool.js +4 -13
  46. package/dist/tools/AltitudeTool.js.map +1 -1
  47. package/dist/tools/AssietteSupTool.d.ts +55 -3
  48. package/dist/tools/AssietteSupTool.js +12 -15
  49. package/dist/tools/AssietteSupTool.js.map +1 -1
  50. package/dist/tools/CadastreTool.d.ts +52 -2
  51. package/dist/tools/CadastreTool.js +13 -15
  52. package/dist/tools/CadastreTool.js.map +1 -1
  53. package/dist/tools/GeocodeTool.d.ts +2 -2
  54. package/dist/tools/GeocodeTool.js +6 -4
  55. package/dist/tools/GeocodeTool.js.map +1 -1
  56. package/dist/tools/GpfWfsDescribeTypeTool.d.ts +16 -16
  57. package/dist/tools/GpfWfsDescribeTypeTool.js +4 -3
  58. package/dist/tools/GpfWfsDescribeTypeTool.js.map +1 -1
  59. package/dist/tools/GpfWfsGetFeaturesTool.d.ts +170 -44
  60. package/dist/tools/GpfWfsGetFeaturesTool.js +161 -114
  61. package/dist/tools/GpfWfsGetFeaturesTool.js.map +1 -1
  62. package/dist/tools/GpfWfsSearchTypesTool.d.ts +8 -2
  63. package/dist/tools/GpfWfsSearchTypesTool.js +12 -9
  64. package/dist/tools/GpfWfsSearchTypesTool.js.map +1 -1
  65. package/dist/tools/UrbanismeTool.d.ts +53 -3
  66. package/dist/tools/UrbanismeTool.js +9 -15
  67. package/dist/tools/UrbanismeTool.js.map +1 -1
  68. package/package.json +8 -7
  69. package/dist/resources/WfsCqlFilterResource.d.ts +0 -10
  70. package/dist/resources/WfsCqlFilterResource.js +0 -23
  71. package/dist/resources/WfsCqlFilterResource.js.map +0 -1
  72. package/dist/resources/content/wfs-cql-filter.md +0 -215
  73. package/dist/tools/GpfWfsListTypesTool.d.ts +0 -22
  74. package/dist/tools/GpfWfsListTypesTool.js +0 -26
  75. package/dist/tools/GpfWfsListTypesTool.js.map +0 -1
@@ -1,25 +1,18 @@
1
1
  import { MCPTool } from "mcp-framework";
2
2
  import { z } from "zod";
3
3
  import { getAdminUnits, ADMINEXPRESS_TYPES, ADMINEXPRESS_SOURCE } from "../gpf/adminexpress.js";
4
- import logger from "../logger.js";
5
4
  import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
5
+ import { featureRefSchema, lonSchema, latSchema } from "../helpers/schemas.js";
6
6
  const adminexpressInputSchema = z.object({
7
- lon: z
8
- .number()
9
- .min(-180)
10
- .max(180)
11
- .describe("La longitude du point."),
12
- lat: z
13
- .number()
14
- .min(-90)
15
- .max(90)
16
- .describe("La latitude du point."),
17
- });
7
+ lon: lonSchema,
8
+ lat: latSchema,
9
+ }).strict();
18
10
  const adminexpressResultSchema = z
19
11
  .object({
20
12
  type: z.string().describe(`Le type d'unité administrative (${ADMINEXPRESS_TYPES.join(", ")}).`),
21
13
  id: z.string().describe("L'identifiant de l'unité administrative."),
22
14
  bbox: z.array(z.number()).describe("La boîte englobante de l'unité administrative.").optional(),
15
+ feature_ref: featureRefSchema.describe("Référence WFS réutilisable, notamment avec `gpf_wfs_get_features` et `spatial_operator = \"intersects_feature\"`."),
23
16
  })
24
17
  .catchall(z.unknown());
25
18
  const adminexpressOutputSchema = z.object({
@@ -29,11 +22,15 @@ class AdminexpressTool extends MCPTool {
29
22
  name = "adminexpress";
30
23
  title = "Unités administratives";
31
24
  annotations = READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS;
32
- description = `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. (source : ${ADMINEXPRESS_SOURCE}).`;
25
+ description = [
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
+ "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 des données sur cette emprise.",
29
+ `(source : ${ADMINEXPRESS_SOURCE}).`
30
+ ].join("\n");
33
31
  outputSchemaShape = adminexpressOutputSchema;
34
32
  schema = adminexpressInputSchema;
35
33
  async execute(input) {
36
- logger.info(`adminexpress(${input.lon},${input.lat})...`);
37
34
  return {
38
35
  results: await getAdminUnits(input.lon, input.lat),
39
36
  };
@@ -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,+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"}
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,wMAAwM;QACxM,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"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  declare const altitudeInputSchema: z.ZodObject<{
4
4
  lon: z.ZodNumber;
5
5
  lat: z.ZodNumber;
6
- }, "strip", z.ZodTypeAny, {
6
+ }, "strict", z.ZodTypeAny, {
7
7
  lon?: number;
8
8
  lat?: number;
9
9
  }, {
@@ -56,7 +56,7 @@ declare class AltitudeTool extends MCPTool<AltitudeInput> {
56
56
  schema: z.ZodObject<{
57
57
  lon: z.ZodNumber;
58
58
  lat: z.ZodNumber;
59
- }, "strip", z.ZodTypeAny, {
59
+ }, "strict", z.ZodTypeAny, {
60
60
  lon?: number;
61
61
  lat?: number;
62
62
  }, {
@@ -1,20 +1,12 @@
1
1
  import { MCPTool } from "mcp-framework";
2
2
  import { z } from "zod";
3
3
  import { ALTITUDE_SOURCE, getAltitudeByLocation } from "../gpf/altitude.js";
4
- import logger from "../logger.js";
5
4
  import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
5
+ import { lonSchema, latSchema } from "../helpers/schemas.js";
6
6
  const altitudeInputSchema = z.object({
7
- lon: z
8
- .number()
9
- .min(-180)
10
- .max(180)
11
- .describe("La longitude du point."),
12
- lat: z
13
- .number()
14
- .min(-90)
15
- .max(90)
16
- .describe("La latitude du point."),
17
- });
7
+ lon: lonSchema,
8
+ lat: latSchema,
9
+ }).strict();
18
10
  const altitudeResultSchema = z.object({
19
11
  lon: z.number().describe("La longitude du point."),
20
12
  lat: z.number().describe("La latitude du point."),
@@ -32,7 +24,6 @@ class AltitudeTool extends MCPTool {
32
24
  outputSchemaShape = altitudeOutputSchema;
33
25
  schema = altitudeInputSchema;
34
26
  async execute(input) {
35
- logger.info(`altitude(${input.lon},${input.lat})...`);
36
27
  return {
37
28
  result: await getAltitudeByLocation(input.lon, input.lat),
38
29
  };
@@ -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,+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"}
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,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE7D,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,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,OAAO;YACL,MAAM,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  declare const assietteSupInputSchema: z.ZodObject<{
4
4
  lon: z.ZodNumber;
5
5
  lat: z.ZodNumber;
6
- }, "strip", z.ZodTypeAny, {
6
+ }, "strict", z.ZodTypeAny, {
7
7
  lon?: number;
8
8
  lat?: number;
9
9
  }, {
@@ -26,16 +26,46 @@ declare class AssietteSupTool extends MCPTool<AssietteSupInput> {
26
26
  type: z.ZodString;
27
27
  id: z.ZodString;
28
28
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
29
+ feature_ref: z.ZodOptional<z.ZodObject<{
30
+ typename: z.ZodString;
31
+ feature_id: z.ZodString;
32
+ }, "strip", z.ZodTypeAny, {
33
+ typename?: string;
34
+ feature_id?: string;
35
+ }, {
36
+ typename?: string;
37
+ feature_id?: string;
38
+ }>>;
29
39
  distance: z.ZodNumber;
30
40
  }, "strip", z.ZodUnknown, z.objectOutputType<{
31
41
  type: z.ZodString;
32
42
  id: z.ZodString;
33
43
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
44
+ feature_ref: z.ZodOptional<z.ZodObject<{
45
+ typename: z.ZodString;
46
+ feature_id: z.ZodString;
47
+ }, "strip", z.ZodTypeAny, {
48
+ typename?: string;
49
+ feature_id?: string;
50
+ }, {
51
+ typename?: string;
52
+ feature_id?: string;
53
+ }>>;
34
54
  distance: z.ZodNumber;
35
55
  }, z.ZodUnknown, "strip">, z.objectInputType<{
36
56
  type: z.ZodString;
37
57
  id: z.ZodString;
38
58
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
59
+ feature_ref: z.ZodOptional<z.ZodObject<{
60
+ typename: z.ZodString;
61
+ feature_id: z.ZodString;
62
+ }, "strip", z.ZodTypeAny, {
63
+ typename?: string;
64
+ feature_id?: string;
65
+ }, {
66
+ typename?: string;
67
+ feature_id?: string;
68
+ }>>;
39
69
  distance: z.ZodNumber;
40
70
  }, z.ZodUnknown, "strip">>, "many">;
41
71
  }, "strip", z.ZodTypeAny, {
@@ -43,6 +73,16 @@ declare class AssietteSupTool extends MCPTool<AssietteSupInput> {
43
73
  type: z.ZodString;
44
74
  id: z.ZodString;
45
75
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
76
+ feature_ref: z.ZodOptional<z.ZodObject<{
77
+ typename: z.ZodString;
78
+ feature_id: z.ZodString;
79
+ }, "strip", z.ZodTypeAny, {
80
+ typename?: string;
81
+ feature_id?: string;
82
+ }, {
83
+ typename?: string;
84
+ feature_id?: string;
85
+ }>>;
46
86
  distance: z.ZodNumber;
47
87
  }, z.ZodUnknown, "strip">[];
48
88
  }, {
@@ -50,13 +90,23 @@ declare class AssietteSupTool extends MCPTool<AssietteSupInput> {
50
90
  type: z.ZodString;
51
91
  id: z.ZodString;
52
92
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
93
+ feature_ref: z.ZodOptional<z.ZodObject<{
94
+ typename: z.ZodString;
95
+ feature_id: z.ZodString;
96
+ }, "strip", z.ZodTypeAny, {
97
+ typename?: string;
98
+ feature_id?: string;
99
+ }, {
100
+ typename?: string;
101
+ feature_id?: string;
102
+ }>>;
53
103
  distance: z.ZodNumber;
54
104
  }, z.ZodUnknown, "strip">[];
55
105
  }>;
56
106
  schema: z.ZodObject<{
57
107
  lon: z.ZodNumber;
58
108
  lat: z.ZodNumber;
59
- }, "strip", z.ZodTypeAny, {
109
+ }, "strict", z.ZodTypeAny, {
60
110
  lon?: number;
61
111
  lat?: number;
62
112
  }, {
@@ -64,7 +114,9 @@ declare class AssietteSupTool extends MCPTool<AssietteSupInput> {
64
114
  lat?: number;
65
115
  }>;
66
116
  execute(input: AssietteSupInput): Promise<{
67
- results: any;
117
+ results: {
118
+ distance: number;
119
+ }[];
68
120
  }>;
69
121
  }
70
122
  export default AssietteSupTool;
@@ -1,26 +1,19 @@
1
1
  import { MCPTool } from "mcp-framework";
2
2
  import { z } from "zod";
3
3
  import { getAssiettesServitudes, URBANISME_SOURCE } from "../gpf/urbanisme.js";
4
- import logger from "../logger.js";
5
4
  import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
5
+ import { featureRefSchema, lonSchema, latSchema } from "../helpers/schemas.js";
6
6
  const assietteSupInputSchema = z.object({
7
- lon: z
8
- .number()
9
- .min(-180)
10
- .max(180)
11
- .describe("La longitude du point."),
12
- lat: z
13
- .number()
14
- .min(-90)
15
- .max(90)
16
- .describe("La latitude du point."),
17
- });
7
+ lon: lonSchema,
8
+ lat: latSchema,
9
+ }).strict();
18
10
  const assietteSupResultSchema = z
19
11
  .object({
20
12
  type: z.string().describe("Le type d'assiette de servitude d'utilité publique renvoyé."),
21
13
  id: z.string().describe("L'identifiant de l'assiette."),
22
14
  bbox: z.array(z.number()).describe("La boîte englobante de l'assiette.").optional(),
23
- distance: z.number().describe("La distance entre le point demandé et l'assiette retenue."),
15
+ feature_ref: featureRefSchema.describe("Référence WFS réutilisable, notamment avec `gpf_wfs_get_features` et `spatial_operator = \"intersects_feature\"`.").optional(),
16
+ distance: z.number().describe("La distance en mètres entre le point demandé et l'assiette retenue."),
24
17
  })
25
18
  .catchall(z.unknown());
26
19
  const assietteSupOutputSchema = z.object({
@@ -30,11 +23,15 @@ class AssietteSupTool extends MCPTool {
30
23
  name = "assiette_sup";
31
24
  title = "Servitudes d’utilité publique";
32
25
  annotations = READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS;
33
- description = `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. Les résultats peuvent inclure des assiettes ponctuelles, linéaires ou surfaciques. (source : ${URBANISME_SOURCE}).`;
26
+ description = [
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
+ "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
+ "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
+ `(source : ${URBANISME_SOURCE}).`
31
+ ].join("\n");
34
32
  outputSchemaShape = assietteSupOutputSchema;
35
33
  schema = assietteSupInputSchema;
36
34
  async execute(input) {
37
- logger.info(`assiette_sup(${input.lon},${input.lat})...`);
38
35
  return {
39
36
  results: await getAssiettesServitudes(input.lon, input.lat),
40
37
  };
@@ -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,+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"}
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"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  declare const cadastreInputSchema: z.ZodObject<{
4
4
  lon: z.ZodNumber;
5
5
  lat: z.ZodNumber;
6
- }, "strip", z.ZodTypeAny, {
6
+ }, "strict", z.ZodTypeAny, {
7
7
  lon?: number;
8
8
  lat?: number;
9
9
  }, {
@@ -26,18 +26,48 @@ declare class CadastreTool extends MCPTool<CadastreInput> {
26
26
  type: z.ZodString;
27
27
  id: z.ZodString;
28
28
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
29
+ feature_ref: z.ZodObject<{
30
+ typename: z.ZodString;
31
+ feature_id: z.ZodString;
32
+ }, "strip", z.ZodTypeAny, {
33
+ typename?: string;
34
+ feature_id?: string;
35
+ }, {
36
+ typename?: string;
37
+ feature_id?: string;
38
+ }>;
29
39
  distance: z.ZodNumber;
30
40
  source: z.ZodString;
31
41
  }, "strip", z.ZodUnknown, z.objectOutputType<{
32
42
  type: z.ZodString;
33
43
  id: z.ZodString;
34
44
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
45
+ feature_ref: z.ZodObject<{
46
+ typename: z.ZodString;
47
+ feature_id: z.ZodString;
48
+ }, "strip", z.ZodTypeAny, {
49
+ typename?: string;
50
+ feature_id?: string;
51
+ }, {
52
+ typename?: string;
53
+ feature_id?: string;
54
+ }>;
35
55
  distance: z.ZodNumber;
36
56
  source: z.ZodString;
37
57
  }, z.ZodUnknown, "strip">, z.objectInputType<{
38
58
  type: z.ZodString;
39
59
  id: z.ZodString;
40
60
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
61
+ feature_ref: z.ZodObject<{
62
+ typename: z.ZodString;
63
+ feature_id: z.ZodString;
64
+ }, "strip", z.ZodTypeAny, {
65
+ typename?: string;
66
+ feature_id?: string;
67
+ }, {
68
+ typename?: string;
69
+ feature_id?: string;
70
+ }>;
41
71
  distance: z.ZodNumber;
42
72
  source: z.ZodString;
43
73
  }, z.ZodUnknown, "strip">>, "many">;
@@ -46,6 +76,16 @@ declare class CadastreTool extends MCPTool<CadastreInput> {
46
76
  type: z.ZodString;
47
77
  id: z.ZodString;
48
78
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
79
+ feature_ref: z.ZodObject<{
80
+ typename: z.ZodString;
81
+ feature_id: z.ZodString;
82
+ }, "strip", z.ZodTypeAny, {
83
+ typename?: string;
84
+ feature_id?: string;
85
+ }, {
86
+ typename?: string;
87
+ feature_id?: string;
88
+ }>;
49
89
  distance: z.ZodNumber;
50
90
  source: z.ZodString;
51
91
  }, z.ZodUnknown, "strip">[];
@@ -54,6 +94,16 @@ declare class CadastreTool extends MCPTool<CadastreInput> {
54
94
  type: z.ZodString;
55
95
  id: z.ZodString;
56
96
  bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
97
+ feature_ref: z.ZodObject<{
98
+ typename: z.ZodString;
99
+ feature_id: z.ZodString;
100
+ }, "strip", z.ZodTypeAny, {
101
+ typename?: string;
102
+ feature_id?: string;
103
+ }, {
104
+ typename?: string;
105
+ feature_id?: string;
106
+ }>;
57
107
  distance: z.ZodNumber;
58
108
  source: z.ZodString;
59
109
  }, z.ZodUnknown, "strip">[];
@@ -61,7 +111,7 @@ declare class CadastreTool extends MCPTool<CadastreInput> {
61
111
  schema: z.ZodObject<{
62
112
  lon: z.ZodNumber;
63
113
  lat: z.ZodNumber;
64
- }, "strip", z.ZodTypeAny, {
114
+ }, "strict", z.ZodTypeAny, {
65
115
  lon?: number;
66
116
  lat?: number;
67
117
  }, {
@@ -1,26 +1,19 @@
1
1
  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
- import logger from "../logger.js";
5
4
  import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
5
+ import { featureRefSchema, lonSchema, latSchema } from "../helpers/schemas.js";
6
6
  const cadastreInputSchema = z.object({
7
- lon: z
8
- .number()
9
- .min(-180)
10
- .max(180)
11
- .describe("La longitude du point."),
12
- lat: z
13
- .number()
14
- .min(-90)
15
- .max(90)
16
- .describe("La latitude du point."),
17
- });
7
+ lon: lonSchema,
8
+ lat: latSchema,
9
+ }).strict();
18
10
  const cadastreResultSchema = z
19
11
  .object({
20
12
  type: z.string().describe(`Le type d'objet cadastral (${PARCELLAIRE_EXPRESS_TYPES.join(", ")}).`),
21
13
  id: z.string().describe("L'identifiant de l'objet cadastral."),
22
14
  bbox: z.array(z.number()).describe("La boîte englobante de l'objet cadastral.").optional(),
23
- distance: z.number().describe("La distance entre le point demandé et l'objet cadastral retenu."),
15
+ feature_ref: featureRefSchema.describe("Référence WFS réutilisable, notamment avec `gpf_wfs_get_features` et `spatial_operator = \"intersects_feature\"`."),
16
+ distance: z.number().describe("La distance en mètres entre le point demandé et l'objet cadastral retenu."),
24
17
  source: z.string().describe("La source des données cadastrales."),
25
18
  })
26
19
  .catchall(z.unknown());
@@ -31,11 +24,16 @@ class CadastreTool extends MCPTool {
31
24
  name = "cadastre";
32
25
  title = "Informations cadastrales";
33
26
  annotations = READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS;
34
- description = `Renvoie, pour un point donné par sa longitude et sa latitude, la liste des objets cadastraux (${PARCELLAIRE_EXPRESS_TYPES.join(', ')}) les plus proches, avec leurs informations associées. Les résultats sont retournés au plus une fois par type lorsqu'ils sont disponibles. (source : ${PARCELLAIRE_EXPRESS_SOURCE}).`;
27
+ description = [
28
+ `Renvoie, pour un point donné par sa \`longitude\` et sa \`latitude\`, la liste des objets cadastraux (${PARCELLAIRE_EXPRESS_TYPES.join(", ")}) les plus proches, avec leurs informations associées.`,
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
+ "Le `feature_ref` est directement réutilisable dans `gpf_wfs_get_features` avec `spatial_operator=\"intersects_feature\"`.",
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
+ `(source : ${PARCELLAIRE_EXPRESS_SOURCE}).`
33
+ ].join("\n");
35
34
  outputSchemaShape = cadastreOutputSchema;
36
35
  schema = cadastreInputSchema;
37
36
  async execute(input) {
38
- logger.info(`cadastre(${input.lon},${input.lat})...`);
39
37
  return {
40
38
  results: await getParcellaireExpress(input.lon, input.lat),
41
39
  };
@@ -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,+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"}
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"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  declare const geocodeInputSchema: z.ZodObject<{
4
4
  text: z.ZodString;
5
5
  maximumResponses: z.ZodOptional<z.ZodNumber>;
6
- }, "strip", z.ZodTypeAny, {
6
+ }, "strict", z.ZodTypeAny, {
7
7
  text?: string;
8
8
  maximumResponses?: number;
9
9
  }, {
@@ -66,7 +66,7 @@ declare class GeocodeTool extends MCPTool<GeocodeInput> {
66
66
  schema: z.ZodObject<{
67
67
  text: z.ZodString;
68
68
  maximumResponses: z.ZodOptional<z.ZodNumber>;
69
- }, "strip", z.ZodTypeAny, {
69
+ }, "strict", z.ZodTypeAny, {
70
70
  text?: string;
71
71
  maximumResponses?: number;
72
72
  }, {
@@ -1,7 +1,6 @@
1
1
  import { MCPTool } from "mcp-framework";
2
2
  import { z } from "zod";
3
3
  import { geocode, GEOCODE_SOURCE } from "../gpf/geocode.js";
4
- import logger from "../logger.js";
5
4
  import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "../helpers/toolAnnotations.js";
6
5
  const geocodeInputSchema = z.object({
7
6
  text: z
@@ -16,7 +15,7 @@ const geocodeInputSchema = z.object({
16
15
  .max(10)
17
16
  .optional()
18
17
  .describe("Le nombre maximum de résultats à retourner (entre 1 et 10). Défaut : 3."),
19
- });
18
+ }).strict();
20
19
  const geocodeResultSchema = z.object({
21
20
  lon: z.number().describe("La longitude du résultat."),
22
21
  lat: z.number().describe("La latitude du résultat."),
@@ -32,11 +31,14 @@ class GeocodeTool extends MCPTool {
32
31
  name = "geocode";
33
32
  title = "Géocodage de lieux et d’adresses";
34
33
  annotations = READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS;
35
- description = `Renvoie des résultats d'autocomplétion géocodés à partir d'un texte libre (lieu, adresse, POI), avec coordonnées, libellé complet et informations de localisation (kind, city, zipcode). (source : ${GEOCODE_SOURCE}).`;
34
+ description = [
35
+ "Renvoie des résultats d'autocomplétion géocodés à partir d'un texte libre (lieu, adresse, POI), avec coordonnées, libellé complet et informations de localisation (`kind`, `city`, `zipcode`).",
36
+ "Les coordonnées `lon/lat` retournées sont directement réutilisables dans tous les autres tools. Le champ `kind` indique le type de résultat (ex : `monument`, `street`, `city`, `locality`).",
37
+ `(source : ${GEOCODE_SOURCE}).`
38
+ ].join("\n");
36
39
  outputSchemaShape = geocodeOutputSchema;
37
40
  schema = geocodeInputSchema;
38
41
  async execute(input) {
39
- logger.info(`geocode(${input.text}, ${input.maximumResponses ?? 3})...`);
40
42
  return {
41
43
  results: await geocode(input.text, input.maximumResponses),
42
44
  };
@@ -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,+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"}
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,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,MAAM,EAAE,CAAC;AAIZ,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;QACZ,gMAAgM;QAChM,8LAA8L;QAC9L,aAAa,cAAc,IAAI;KAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACH,iBAAiB,GAAG,mBAAmB,CAAC;IAElD,MAAM,GAAG,kBAAkB,CAAC;IAE5B,KAAK,CAAC,OAAO,CAAC,KAAmB;QAC/B,OAAO;YACL,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC;SAC3D,CAAC;IACJ,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  import type { Collection } from "@ignfab/gpf-schema-store";
4
4
  declare const gpfWfsDescribeTypeInputSchema: z.ZodObject<{
5
5
  typename: z.ZodString;
6
- }, "strip", z.ZodTypeAny, {
6
+ }, "strict", z.ZodTypeAny, {
7
7
  typename?: string;
8
8
  }, {
9
9
  typename?: string;
@@ -50,10 +50,6 @@ declare class GpfWfsDescribeTypeTool extends MCPTool<GpfWfsDescribeTypeInput> {
50
50
  }>, "many">;
51
51
  }, "strip", z.ZodTypeAny, {
52
52
  id?: string;
53
- namespace?: string;
54
- name?: string;
55
- title?: string;
56
- description?: string;
57
53
  properties?: {
58
54
  type?: string;
59
55
  name?: string;
@@ -62,12 +58,12 @@ declare class GpfWfsDescribeTypeTool extends MCPTool<GpfWfsDescribeTypeInput> {
62
58
  enum?: string[];
63
59
  defaultCrs?: string;
64
60
  }[];
65
- }, {
66
- id?: string;
67
61
  namespace?: string;
68
62
  name?: string;
69
63
  title?: string;
70
64
  description?: string;
65
+ }, {
66
+ id?: string;
71
67
  properties?: {
72
68
  type?: string;
73
69
  name?: string;
@@ -76,14 +72,14 @@ declare class GpfWfsDescribeTypeTool extends MCPTool<GpfWfsDescribeTypeInput> {
76
72
  enum?: string[];
77
73
  defaultCrs?: string;
78
74
  }[];
79
- }>;
80
- }, "strip", z.ZodTypeAny, {
81
- result?: {
82
- id?: string;
83
75
  namespace?: string;
84
76
  name?: string;
85
77
  title?: string;
86
78
  description?: string;
79
+ }>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ result?: {
82
+ id?: string;
87
83
  properties?: {
88
84
  type?: string;
89
85
  name?: string;
@@ -92,14 +88,14 @@ declare class GpfWfsDescribeTypeTool extends MCPTool<GpfWfsDescribeTypeInput> {
92
88
  enum?: string[];
93
89
  defaultCrs?: string;
94
90
  }[];
95
- };
96
- }, {
97
- result?: {
98
- id?: string;
99
91
  namespace?: string;
100
92
  name?: string;
101
93
  title?: string;
102
94
  description?: string;
95
+ };
96
+ }, {
97
+ result?: {
98
+ id?: string;
103
99
  properties?: {
104
100
  type?: string;
105
101
  name?: string;
@@ -108,11 +104,15 @@ declare class GpfWfsDescribeTypeTool extends MCPTool<GpfWfsDescribeTypeInput> {
108
104
  enum?: string[];
109
105
  defaultCrs?: string;
110
106
  }[];
107
+ namespace?: string;
108
+ name?: string;
109
+ title?: string;
110
+ description?: string;
111
111
  };
112
112
  }>;
113
113
  schema: z.ZodObject<{
114
114
  typename: z.ZodString;
115
- }, "strip", z.ZodTypeAny, {
115
+ }, "strict", z.ZodTypeAny, {
116
116
  typename?: string;
117
117
  }, {
118
118
  typename?: string;
@@ -8,7 +8,7 @@ const gpfWfsDescribeTypeInputSchema = z.object({
8
8
  .trim()
9
9
  .min(1, "le nom du type ne doit pas être vide")
10
10
  .describe("Le nom du type (ex : BDTOPO_V3:batiment)"),
11
- });
11
+ }).strict();
12
12
  const gpfWfsPropertySchema = z.object({
13
13
  name: z.string().describe("Le nom de la propriété."),
14
14
  type: z.string().describe("Le type de la propriété."),
@@ -34,8 +34,9 @@ class GpfWfsDescribeTypeTool extends MCPTool {
34
34
  description = [
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
- "La sortie inclut notamment le type des propriétés, leur description, et leurs valeurs possibles (`enum`) lorsqu'elles existent.",
38
- ].join("\r\n");
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**."
39
+ ].join("\n");
39
40
  outputSchemaShape = gpfWfsDescribeTypeOutputSchema;
40
41
  schema = gpfWfsDescribeTypeInputSchema;
41
42
  async execute(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"GpfWfsDescribeTypeTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsDescribeTypeTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GpfWfsDescribeTypeTool.js","sourceRoot":"","sources":["../../src/tools/GpfWfsDescribeTypeTool.ts"],"names":[],"mappings":"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"}