@ignfab/geocontext 0.9.0 → 0.9.1
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 +34 -11
- package/dist/gpf/adminexpress.d.ts +2 -1
- package/dist/gpf/adminexpress.js +7 -3
- package/dist/gpf/adminexpress.js.map +1 -1
- package/dist/gpf/altitude.d.ts +2 -1
- package/dist/gpf/altitude.js +13 -19
- package/dist/gpf/altitude.js.map +1 -1
- package/dist/gpf/geocode.d.ts +3 -1
- package/dist/gpf/geocode.js +19 -8
- package/dist/gpf/geocode.js.map +1 -1
- package/dist/gpf/parcellaire-express.d.ts +2 -1
- package/dist/gpf/parcellaire-express.js +8 -4
- package/dist/gpf/parcellaire-express.js.map +1 -1
- package/dist/gpf/urbanisme.d.ts +4 -2
- package/dist/gpf/urbanisme.js +32 -5
- package/dist/gpf/urbanisme.js.map +1 -1
- package/dist/gpf/wfs.d.ts +5 -3
- package/dist/gpf/wfs.js +59 -19
- package/dist/gpf/wfs.js.map +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/resources/WfsCqlFilterResource.d.ts +10 -0
- package/dist/resources/WfsCqlFilterResource.js +21 -0
- package/dist/resources/WfsCqlFilterResource.js.map +1 -0
- package/dist/resources/readMarkdownResource.d.ts +1 -0
- package/dist/resources/readMarkdownResource.js +21 -0
- package/dist/resources/readMarkdownResource.js.map +1 -0
- package/dist/tools/AdminexpressTool.d.ts +58 -15
- package/dist/tools/AdminexpressTool.js +33 -13
- package/dist/tools/AdminexpressTool.js.map +1 -1
- package/dist/tools/AltitudeTool.d.ts +64 -16
- package/dist/tools/AltitudeTool.js +30 -12
- package/dist/tools/AltitudeTool.js.map +1 -1
- package/dist/tools/AssietteSupTool.d.ts +64 -16
- package/dist/tools/AssietteSupTool.js +34 -13
- package/dist/tools/AssietteSupTool.js.map +1 -1
- package/dist/tools/CadastreTool.d.ts +68 -15
- package/dist/tools/CadastreTool.js +35 -13
- package/dist/tools/CadastreTool.js.map +1 -1
- package/dist/tools/GeocodeTool.d.ts +73 -10
- package/dist/tools/GeocodeTool.js +35 -9
- package/dist/tools/GeocodeTool.js.map +1 -1
- package/dist/tools/GpfWfsDescribeTypeTool.d.ts +115 -12
- package/dist/tools/GpfWfsDescribeTypeTool.js +39 -13
- package/dist/tools/GpfWfsDescribeTypeTool.js.map +1 -1
- package/dist/tools/GpfWfsGetFeaturesTool.d.ts +65 -28
- package/dist/tools/GpfWfsGetFeaturesTool.js +117 -47
- package/dist/tools/GpfWfsGetFeaturesTool.js.map +1 -1
- package/dist/tools/GpfWfsListTypesTool.d.ts +18 -6
- package/dist/tools/GpfWfsListTypesTool.js +16 -8
- package/dist/tools/GpfWfsListTypesTool.js.map +1 -1
- package/dist/tools/GpfWfsSearchTypesTool.d.ts +61 -14
- package/dist/tools/GpfWfsSearchTypesTool.js +38 -17
- package/dist/tools/GpfWfsSearchTypesTool.js.map +1 -1
- package/dist/tools/UrbanismeTool.d.ts +63 -15
- package/dist/tools/UrbanismeTool.js +42 -13
- package/dist/tools/UrbanismeTool.js.map +1 -1
- package/dist/tools/toolAnnotations.d.ts +6 -0
- package/dist/tools/toolAnnotations.js +7 -0
- package/dist/tools/toolAnnotations.js.map +1 -0
- package/package.json +3 -3
package/dist/gpf/wfs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wfs.js","sourceRoot":"","sources":["../../src/gpf/wfs.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAElB,OAAO,EAEH,oBAAoB,EACpB,gCAAgC,GAEnC,MAAM,0BAA0B,CAAC;AAElC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAEvD,
|
|
1
|
+
{"version":3,"file":"wfs.js","sourceRoot":"","sources":["../../src/gpf/wfs.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAE1E,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;CAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAE1E,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;CAC1B,CAAC;AAEF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9E,IAAK,CAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAC/C,MAAM,IAAI,KAAK,CAAC,cAAc,UAAU,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,MAAM,GAAG,YAAY,CAAC;IACxB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC;QACzC;;;WAGG;QACH,IAAI,UAAU,CAAC,OAAO,CAAC;YACnB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;SAC/C,CAAC;KACL,CAAC,CAAC,CAAC;QACA,IAAI,UAAU,CAAC,IAAI,CAAC;YAChB,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,OAAO;SACjB,CAAC;KACL;CACJ,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MCPResource, ResourceContent } from "mcp-framework";
|
|
2
|
+
declare class WfsCqlFilterResource extends MCPResource {
|
|
3
|
+
uri: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
mimeType: string;
|
|
7
|
+
protected title: string;
|
|
8
|
+
read(): Promise<ResourceContent[]>;
|
|
9
|
+
}
|
|
10
|
+
export default WfsCqlFilterResource;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MCPResource } from "mcp-framework";
|
|
2
|
+
import { readMarkdownResource } from "./readMarkdownResource.js";
|
|
3
|
+
class WfsCqlFilterResource extends MCPResource {
|
|
4
|
+
uri = "geocontext://wfs-cql-filter";
|
|
5
|
+
name = "geocontext-wfs-cql-filter";
|
|
6
|
+
description = "Aide-mémoire pour construire des cql_filter GeoServer utilisables avec les tools WFS.";
|
|
7
|
+
mimeType = "text/markdown";
|
|
8
|
+
title = "Cheatsheet cql_filter";
|
|
9
|
+
async read() {
|
|
10
|
+
const text = await readMarkdownResource(import.meta.url, "wfs-cql-filter.md");
|
|
11
|
+
return [
|
|
12
|
+
{
|
|
13
|
+
uri: this.uri,
|
|
14
|
+
mimeType: this.mimeType,
|
|
15
|
+
text,
|
|
16
|
+
},
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export default WfsCqlFilterResource;
|
|
21
|
+
//# sourceMappingURL=WfsCqlFilterResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WfsCqlFilterResource.js","sourceRoot":"","sources":["../../src/resources/WfsCqlFilterResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,oBAAqB,SAAQ,WAAW;IAC5C,GAAG,GAAG,6BAA6B,CAAC;IACpC,IAAI,GAAG,2BAA2B,CAAC;IACnC,WAAW,GAAG,uFAAuF,CAAC;IACtG,QAAQ,GAAG,eAAe,CAAC;IACjB,KAAK,GAAG,uBAAuB,CAAC;IAE1C,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAE9E,OAAO;YACL;gBACE,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI;aACL;SACF,CAAC;IACJ,CAAC;CACF;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function readMarkdownResource(importMetaUrl: string, filename: string): Promise<string>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { readFile } from "fs/promises";
|
|
2
|
+
import { dirname, join } from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
export async function readMarkdownResource(importMetaUrl, filename) {
|
|
5
|
+
const currentDir = dirname(fileURLToPath(importMetaUrl));
|
|
6
|
+
const candidates = [
|
|
7
|
+
join(currentDir, "content", filename),
|
|
8
|
+
join(currentDir, "../../src/resources/content", filename),
|
|
9
|
+
];
|
|
10
|
+
let lastError;
|
|
11
|
+
for (const candidate of candidates) {
|
|
12
|
+
try {
|
|
13
|
+
return await readFile(candidate, "utf-8");
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
lastError = error;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
throw lastError;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=readMarkdownResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readMarkdownResource.js","sourceRoot":"","sources":["../../src/resources/readMarkdownResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,aAAqB,EAAE,QAAgB;IAChF,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,6BAA6B,EAAE,QAAQ,CAAC;KAC1D,CAAC;IAEF,IAAI,SAAkB,CAAC;IACvB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -1,22 +1,65 @@
|
|
|
1
1
|
import { MCPTool } from "mcp-framework";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
|
|
4
|
-
lon:
|
|
5
|
-
lat:
|
|
6
|
-
}
|
|
3
|
+
declare const adminexpressInputSchema: z.ZodObject<{
|
|
4
|
+
lon: z.ZodNumber;
|
|
5
|
+
lat: z.ZodNumber;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
lon?: number;
|
|
8
|
+
lat?: number;
|
|
9
|
+
}, {
|
|
10
|
+
lon?: number;
|
|
11
|
+
lat?: number;
|
|
12
|
+
}>;
|
|
13
|
+
type AdminexpressInput = z.infer<typeof adminexpressInputSchema>;
|
|
7
14
|
declare class AdminexpressTool extends MCPTool<AdminexpressInput> {
|
|
8
15
|
name: string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
lat: {
|
|
16
|
-
type: z.ZodNumber;
|
|
17
|
-
description: string;
|
|
18
|
-
};
|
|
16
|
+
title: string;
|
|
17
|
+
annotations: {
|
|
18
|
+
readonly readOnlyHint: true;
|
|
19
|
+
readonly destructiveHint: false;
|
|
20
|
+
readonly idempotentHint: true;
|
|
21
|
+
readonly openWorldHint: true;
|
|
19
22
|
};
|
|
20
|
-
|
|
23
|
+
description: string;
|
|
24
|
+
protected outputSchemaShape: z.ZodObject<{
|
|
25
|
+
results: z.ZodArray<z.ZodObject<{
|
|
26
|
+
type: z.ZodString;
|
|
27
|
+
id: z.ZodString;
|
|
28
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
29
|
+
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
30
|
+
type: z.ZodString;
|
|
31
|
+
id: z.ZodString;
|
|
32
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
33
|
+
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
34
|
+
type: z.ZodString;
|
|
35
|
+
id: z.ZodString;
|
|
36
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
37
|
+
}, z.ZodUnknown, "strip">>, "many">;
|
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
|
39
|
+
results?: z.objectOutputType<{
|
|
40
|
+
type: z.ZodString;
|
|
41
|
+
id: z.ZodString;
|
|
42
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
43
|
+
}, z.ZodUnknown, "strip">[];
|
|
44
|
+
}, {
|
|
45
|
+
results?: z.objectInputType<{
|
|
46
|
+
type: z.ZodString;
|
|
47
|
+
id: z.ZodString;
|
|
48
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
49
|
+
}, z.ZodUnknown, "strip">[];
|
|
50
|
+
}>;
|
|
51
|
+
schema: z.ZodObject<{
|
|
52
|
+
lon: z.ZodNumber;
|
|
53
|
+
lat: z.ZodNumber;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
lon?: number;
|
|
56
|
+
lat?: number;
|
|
57
|
+
}, {
|
|
58
|
+
lon?: number;
|
|
59
|
+
lat?: number;
|
|
60
|
+
}>;
|
|
61
|
+
execute(input: AdminexpressInput): Promise<{
|
|
62
|
+
results: object[];
|
|
63
|
+
}>;
|
|
21
64
|
}
|
|
22
65
|
export default AdminexpressTool;
|
|
@@ -1,22 +1,42 @@
|
|
|
1
|
-
import {
|
|
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
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "./toolAnnotations.js";
|
|
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
|
+
});
|
|
18
|
+
const adminexpressResultSchema = z
|
|
19
|
+
.object({
|
|
20
|
+
type: z.string().describe(`Le type d'unité administrative (${ADMINEXPRESS_TYPES.join(", ")}).`),
|
|
21
|
+
id: z.string().describe("L'identifiant de l'unité administrative."),
|
|
22
|
+
bbox: z.array(z.number()).describe("La boîte englobante de l'unité administrative.").optional(),
|
|
23
|
+
})
|
|
24
|
+
.catchall(z.unknown());
|
|
25
|
+
const adminexpressOutputSchema = z.object({
|
|
26
|
+
results: z.array(adminexpressResultSchema).describe("La liste des unités administratives couvrant le point demandé."),
|
|
27
|
+
});
|
|
4
28
|
class AdminexpressTool extends MCPTool {
|
|
5
29
|
name = "adminexpress";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
lat: {
|
|
13
|
-
type: z.number(),
|
|
14
|
-
description: "La latitude du point",
|
|
15
|
-
},
|
|
16
|
-
};
|
|
30
|
+
title = "Unités administratives";
|
|
31
|
+
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}).`;
|
|
33
|
+
outputSchemaShape = adminexpressOutputSchema;
|
|
34
|
+
schema = adminexpressInputSchema;
|
|
17
35
|
async execute(input) {
|
|
18
36
|
logger.info(`adminexpress(${input.lon},${input.lat})...`);
|
|
19
|
-
return
|
|
37
|
+
return {
|
|
38
|
+
results: await getAdminUnits(input.lon, input.lat),
|
|
39
|
+
};
|
|
20
40
|
}
|
|
21
41
|
}
|
|
22
42
|
export default AdminexpressTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminexpressTool.js","sourceRoot":"","sources":["../../src/tools/AdminexpressTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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,sBAAsB,CAAC;AAE7E,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,27 +1,75 @@
|
|
|
1
1
|
import { MCPTool } from "mcp-framework";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
|
|
4
|
-
lon:
|
|
5
|
-
lat:
|
|
6
|
-
}
|
|
3
|
+
declare const altitudeInputSchema: z.ZodObject<{
|
|
4
|
+
lon: z.ZodNumber;
|
|
5
|
+
lat: z.ZodNumber;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
lon?: number;
|
|
8
|
+
lat?: number;
|
|
9
|
+
}, {
|
|
10
|
+
lon?: number;
|
|
11
|
+
lat?: number;
|
|
12
|
+
}>;
|
|
13
|
+
type AltitudeInput = z.infer<typeof altitudeInputSchema>;
|
|
7
14
|
declare class AltitudeTool extends MCPTool<AltitudeInput> {
|
|
8
15
|
name: string;
|
|
16
|
+
title: string;
|
|
17
|
+
annotations: {
|
|
18
|
+
readonly readOnlyHint: true;
|
|
19
|
+
readonly destructiveHint: false;
|
|
20
|
+
readonly idempotentHint: true;
|
|
21
|
+
readonly openWorldHint: true;
|
|
22
|
+
};
|
|
9
23
|
description: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
24
|
+
protected outputSchemaShape: z.ZodObject<{
|
|
25
|
+
result: z.ZodObject<{
|
|
26
|
+
lon: z.ZodNumber;
|
|
27
|
+
lat: z.ZodNumber;
|
|
28
|
+
altitude: z.ZodNumber;
|
|
29
|
+
accuracy: z.ZodString;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
lon?: number;
|
|
32
|
+
lat?: number;
|
|
33
|
+
altitude?: number;
|
|
34
|
+
accuracy?: string;
|
|
35
|
+
}, {
|
|
36
|
+
lon?: number;
|
|
37
|
+
lat?: number;
|
|
38
|
+
altitude?: number;
|
|
39
|
+
accuracy?: string;
|
|
40
|
+
}>;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
result?: {
|
|
43
|
+
lon?: number;
|
|
44
|
+
lat?: number;
|
|
45
|
+
altitude?: number;
|
|
46
|
+
accuracy?: string;
|
|
14
47
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
48
|
+
}, {
|
|
49
|
+
result?: {
|
|
50
|
+
lon?: number;
|
|
51
|
+
lat?: number;
|
|
52
|
+
altitude?: number;
|
|
53
|
+
accuracy?: string;
|
|
18
54
|
};
|
|
19
|
-
}
|
|
55
|
+
}>;
|
|
56
|
+
schema: z.ZodObject<{
|
|
57
|
+
lon: z.ZodNumber;
|
|
58
|
+
lat: z.ZodNumber;
|
|
59
|
+
}, "strip", z.ZodTypeAny, {
|
|
60
|
+
lon?: number;
|
|
61
|
+
lat?: number;
|
|
62
|
+
}, {
|
|
63
|
+
lon?: number;
|
|
64
|
+
lat?: number;
|
|
65
|
+
}>;
|
|
20
66
|
execute(input: AltitudeInput): Promise<{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
67
|
+
result: {
|
|
68
|
+
lon: number;
|
|
69
|
+
lat: number;
|
|
70
|
+
altitude: any;
|
|
71
|
+
accuracy: any;
|
|
72
|
+
};
|
|
25
73
|
}>;
|
|
26
74
|
}
|
|
27
75
|
export default AltitudeTool;
|
|
@@ -2,22 +2,40 @@ import { MCPTool } from "mcp-framework";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { ALTITUDE_SOURCE, getAltitudeByLocation } from "../gpf/altitude.js";
|
|
4
4
|
import logger from "../logger.js";
|
|
5
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "./toolAnnotations.js";
|
|
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
|
+
});
|
|
18
|
+
const altitudeResultSchema = z.object({
|
|
19
|
+
lon: z.number().describe("La longitude du point."),
|
|
20
|
+
lat: z.number().describe("La latitude du point."),
|
|
21
|
+
altitude: z.number().describe("L'altitude du point."),
|
|
22
|
+
accuracy: z.string().describe("L'information de précision associée à l'altitude."),
|
|
23
|
+
});
|
|
24
|
+
const altitudeOutputSchema = z.object({
|
|
25
|
+
result: altitudeResultSchema.describe("Le résultat altimétrique pour la position demandée."),
|
|
26
|
+
});
|
|
5
27
|
class AltitudeTool extends MCPTool {
|
|
6
28
|
name = "altitude";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
lat: {
|
|
14
|
-
type: z.number(),
|
|
15
|
-
description: "La latitude du point",
|
|
16
|
-
},
|
|
17
|
-
};
|
|
29
|
+
title = "Altitude d’une position";
|
|
30
|
+
annotations = READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS;
|
|
31
|
+
description = `Renvoie l'altitude (en mètres) et la précision de la mesure (accuracy) d'un point géographique à partir de sa longitude et de sa latitude. (source : ${ALTITUDE_SOURCE}).`;
|
|
32
|
+
outputSchemaShape = altitudeOutputSchema;
|
|
33
|
+
schema = altitudeInputSchema;
|
|
18
34
|
async execute(input) {
|
|
19
35
|
logger.info(`altitude(${input.lon},${input.lat})...`);
|
|
20
|
-
return
|
|
36
|
+
return {
|
|
37
|
+
result: await getAltitudeByLocation(input.lon, input.lat),
|
|
38
|
+
};
|
|
21
39
|
}
|
|
22
40
|
}
|
|
23
41
|
export default AltitudeTool;
|
|
@@ -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;
|
|
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,sBAAsB,CAAC;AAE7E,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,22 +1,70 @@
|
|
|
1
1
|
import { MCPTool } from "mcp-framework";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
|
|
4
|
-
lon:
|
|
5
|
-
lat:
|
|
6
|
-
}
|
|
7
|
-
|
|
3
|
+
declare const assietteSupInputSchema: z.ZodObject<{
|
|
4
|
+
lon: z.ZodNumber;
|
|
5
|
+
lat: z.ZodNumber;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
lon?: number;
|
|
8
|
+
lat?: number;
|
|
9
|
+
}, {
|
|
10
|
+
lon?: number;
|
|
11
|
+
lat?: number;
|
|
12
|
+
}>;
|
|
13
|
+
type AssietteSupInput = z.infer<typeof assietteSupInputSchema>;
|
|
14
|
+
declare class AssietteSupTool extends MCPTool<AssietteSupInput> {
|
|
8
15
|
name: string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
lat: {
|
|
16
|
-
type: z.ZodNumber;
|
|
17
|
-
description: string;
|
|
18
|
-
};
|
|
16
|
+
title: string;
|
|
17
|
+
annotations: {
|
|
18
|
+
readonly readOnlyHint: true;
|
|
19
|
+
readonly destructiveHint: false;
|
|
20
|
+
readonly idempotentHint: true;
|
|
21
|
+
readonly openWorldHint: true;
|
|
19
22
|
};
|
|
20
|
-
|
|
23
|
+
description: string;
|
|
24
|
+
protected outputSchemaShape: z.ZodObject<{
|
|
25
|
+
results: z.ZodArray<z.ZodObject<{
|
|
26
|
+
type: z.ZodString;
|
|
27
|
+
id: z.ZodString;
|
|
28
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
29
|
+
distance: z.ZodNumber;
|
|
30
|
+
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
31
|
+
type: z.ZodString;
|
|
32
|
+
id: z.ZodString;
|
|
33
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
34
|
+
distance: z.ZodNumber;
|
|
35
|
+
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
36
|
+
type: z.ZodString;
|
|
37
|
+
id: z.ZodString;
|
|
38
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
39
|
+
distance: z.ZodNumber;
|
|
40
|
+
}, z.ZodUnknown, "strip">>, "many">;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
results?: z.objectOutputType<{
|
|
43
|
+
type: z.ZodString;
|
|
44
|
+
id: z.ZodString;
|
|
45
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
46
|
+
distance: z.ZodNumber;
|
|
47
|
+
}, z.ZodUnknown, "strip">[];
|
|
48
|
+
}, {
|
|
49
|
+
results?: z.objectInputType<{
|
|
50
|
+
type: z.ZodString;
|
|
51
|
+
id: z.ZodString;
|
|
52
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
53
|
+
distance: z.ZodNumber;
|
|
54
|
+
}, z.ZodUnknown, "strip">[];
|
|
55
|
+
}>;
|
|
56
|
+
schema: z.ZodObject<{
|
|
57
|
+
lon: z.ZodNumber;
|
|
58
|
+
lat: z.ZodNumber;
|
|
59
|
+
}, "strip", z.ZodTypeAny, {
|
|
60
|
+
lon?: number;
|
|
61
|
+
lat?: number;
|
|
62
|
+
}, {
|
|
63
|
+
lon?: number;
|
|
64
|
+
lat?: number;
|
|
65
|
+
}>;
|
|
66
|
+
execute(input: AssietteSupInput): Promise<{
|
|
67
|
+
results: any;
|
|
68
|
+
}>;
|
|
21
69
|
}
|
|
22
70
|
export default AssietteSupTool;
|
|
@@ -1,22 +1,43 @@
|
|
|
1
|
-
import {
|
|
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
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from "./toolAnnotations.js";
|
|
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
|
+
});
|
|
18
|
+
const assietteSupResultSchema = z
|
|
19
|
+
.object({
|
|
20
|
+
type: z.string().describe("Le type d'assiette de servitude d'utilité publique renvoyé."),
|
|
21
|
+
id: z.string().describe("L'identifiant de l'assiette."),
|
|
22
|
+
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."),
|
|
24
|
+
})
|
|
25
|
+
.catchall(z.unknown());
|
|
26
|
+
const assietteSupOutputSchema = z.object({
|
|
27
|
+
results: z.array(assietteSupResultSchema).describe("La liste des assiettes de servitudes d'utilité publique pertinentes pour le point demandé."),
|
|
28
|
+
});
|
|
4
29
|
class AssietteSupTool extends MCPTool {
|
|
5
30
|
name = "assiette_sup";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
lat: {
|
|
13
|
-
type: z.number(),
|
|
14
|
-
description: "La latitude du point",
|
|
15
|
-
},
|
|
16
|
-
};
|
|
31
|
+
title = "Servitudes d’utilité publique";
|
|
32
|
+
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}).`;
|
|
34
|
+
outputSchemaShape = assietteSupOutputSchema;
|
|
35
|
+
schema = assietteSupInputSchema;
|
|
17
36
|
async execute(input) {
|
|
18
37
|
logger.info(`assiette_sup(${input.lon},${input.lat})...`);
|
|
19
|
-
return
|
|
38
|
+
return {
|
|
39
|
+
results: await getAssiettesServitudes(input.lon, input.lat),
|
|
40
|
+
};
|
|
20
41
|
}
|
|
21
42
|
}
|
|
22
43
|
export default AssietteSupTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssietteSupTool.js","sourceRoot":"","sources":["../../src/tools/AssietteSupTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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,sBAAsB,CAAC;AAE7E,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,22 +1,75 @@
|
|
|
1
1
|
import { MCPTool } from "mcp-framework";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
|
|
4
|
-
lon:
|
|
5
|
-
lat:
|
|
6
|
-
}
|
|
3
|
+
declare const cadastreInputSchema: z.ZodObject<{
|
|
4
|
+
lon: z.ZodNumber;
|
|
5
|
+
lat: z.ZodNumber;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
lon?: number;
|
|
8
|
+
lat?: number;
|
|
9
|
+
}, {
|
|
10
|
+
lon?: number;
|
|
11
|
+
lat?: number;
|
|
12
|
+
}>;
|
|
13
|
+
type CadastreInput = z.infer<typeof cadastreInputSchema>;
|
|
7
14
|
declare class CadastreTool extends MCPTool<CadastreInput> {
|
|
8
15
|
name: string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
lat: {
|
|
16
|
-
type: z.ZodNumber;
|
|
17
|
-
description: string;
|
|
18
|
-
};
|
|
16
|
+
title: string;
|
|
17
|
+
annotations: {
|
|
18
|
+
readonly readOnlyHint: true;
|
|
19
|
+
readonly destructiveHint: false;
|
|
20
|
+
readonly idempotentHint: true;
|
|
21
|
+
readonly openWorldHint: true;
|
|
19
22
|
};
|
|
20
|
-
|
|
23
|
+
description: string;
|
|
24
|
+
protected outputSchemaShape: z.ZodObject<{
|
|
25
|
+
results: z.ZodArray<z.ZodObject<{
|
|
26
|
+
type: z.ZodString;
|
|
27
|
+
id: z.ZodString;
|
|
28
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
29
|
+
distance: z.ZodNumber;
|
|
30
|
+
source: z.ZodString;
|
|
31
|
+
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
32
|
+
type: z.ZodString;
|
|
33
|
+
id: z.ZodString;
|
|
34
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
35
|
+
distance: z.ZodNumber;
|
|
36
|
+
source: z.ZodString;
|
|
37
|
+
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
38
|
+
type: z.ZodString;
|
|
39
|
+
id: z.ZodString;
|
|
40
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
41
|
+
distance: z.ZodNumber;
|
|
42
|
+
source: z.ZodString;
|
|
43
|
+
}, z.ZodUnknown, "strip">>, "many">;
|
|
44
|
+
}, "strip", z.ZodTypeAny, {
|
|
45
|
+
results?: z.objectOutputType<{
|
|
46
|
+
type: z.ZodString;
|
|
47
|
+
id: z.ZodString;
|
|
48
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
49
|
+
distance: z.ZodNumber;
|
|
50
|
+
source: z.ZodString;
|
|
51
|
+
}, z.ZodUnknown, "strip">[];
|
|
52
|
+
}, {
|
|
53
|
+
results?: z.objectInputType<{
|
|
54
|
+
type: z.ZodString;
|
|
55
|
+
id: z.ZodString;
|
|
56
|
+
bbox: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
57
|
+
distance: z.ZodNumber;
|
|
58
|
+
source: z.ZodString;
|
|
59
|
+
}, z.ZodUnknown, "strip">[];
|
|
60
|
+
}>;
|
|
61
|
+
schema: z.ZodObject<{
|
|
62
|
+
lon: z.ZodNumber;
|
|
63
|
+
lat: z.ZodNumber;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
lon?: number;
|
|
66
|
+
lat?: number;
|
|
67
|
+
}, {
|
|
68
|
+
lon?: number;
|
|
69
|
+
lat?: number;
|
|
70
|
+
}>;
|
|
71
|
+
execute(input: CadastreInput): Promise<{
|
|
72
|
+
results: array<object>;
|
|
73
|
+
}>;
|
|
21
74
|
}
|
|
22
75
|
export default CadastreTool;
|