@altura_ma/onemcp 0.2.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +100 -77
- package/dist/api/keys.d.ts +30 -0
- package/dist/api/keys.d.ts.map +1 -0
- package/dist/api/keys.js +98 -0
- package/dist/api/keys.js.map +1 -0
- package/dist/api/openapi.d.ts +4 -0
- package/dist/api/openapi.d.ts.map +1 -0
- package/dist/api/openapi.js +108 -0
- package/dist/api/openapi.js.map +1 -0
- package/dist/api/rest.d.ts +4 -0
- package/dist/api/rest.d.ts.map +1 -0
- package/dist/api/rest.js +143 -0
- package/dist/api/rest.js.map +1 -0
- package/dist/api/status.d.ts +46 -0
- package/dist/api/status.d.ts.map +1 -0
- package/dist/api/status.js +44 -0
- package/dist/api/status.js.map +1 -0
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +2 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/connectors/base.d.ts +2 -0
- package/dist/connectors/base.d.ts.map +1 -1
- package/dist/connectors/base.js +19 -2
- package/dist/connectors/base.js.map +1 -1
- package/dist/connectors/bodacc.d.ts +3 -2
- package/dist/connectors/bodacc.d.ts.map +1 -1
- package/dist/connectors/bodacc.js +17 -4
- package/dist/connectors/bodacc.js.map +1 -1
- package/dist/connectors/dvf.d.ts +0 -4
- package/dist/connectors/dvf.d.ts.map +1 -1
- package/dist/connectors/dvf.js +13 -10
- package/dist/connectors/dvf.js.map +1 -1
- package/dist/connectors/geo-france.d.ts +93 -0
- package/dist/connectors/geo-france.d.ts.map +1 -0
- package/dist/connectors/geo-france.js +84 -0
- package/dist/connectors/geo-france.js.map +1 -0
- package/dist/connectors/georisques.d.ts.map +1 -1
- package/dist/connectors/georisques.js +16 -27
- package/dist/connectors/georisques.js.map +1 -1
- package/dist/connectors/index.d.ts +8 -1
- package/dist/connectors/index.d.ts.map +1 -1
- package/dist/connectors/index.js +8 -1
- package/dist/connectors/index.js.map +1 -1
- package/dist/connectors/inpi-rne.d.ts.map +1 -1
- package/dist/connectors/inpi-rne.js +15 -8
- package/dist/connectors/inpi-rne.js.map +1 -1
- package/dist/connectors/insee-sirene.d.ts.map +1 -1
- package/dist/connectors/insee-sirene.js +7 -2
- package/dist/connectors/insee-sirene.js.map +1 -1
- package/dist/connectors/legifrance.d.ts +69 -0
- package/dist/connectors/legifrance.d.ts.map +1 -0
- package/dist/connectors/legifrance.js +137 -0
- package/dist/connectors/legifrance.js.map +1 -0
- package/dist/connectors/opendatasoft.d.ts +51 -0
- package/dist/connectors/opendatasoft.d.ts.map +1 -0
- package/dist/connectors/opendatasoft.js +86 -0
- package/dist/connectors/opendatasoft.js.map +1 -0
- package/dist/connectors/recherche-entreprises.d.ts +1 -0
- package/dist/connectors/recherche-entreprises.d.ts.map +1 -1
- package/dist/connectors/recherche-entreprises.js +4 -1
- package/dist/connectors/recherche-entreprises.js.map +1 -1
- package/dist/http.js +65 -5
- package/dist/http.js.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/schemas/canonical.d.ts +28 -0
- package/dist/schemas/canonical.d.ts.map +1 -1
- package/dist/schemas/canonical.js +1 -0
- package/dist/schemas/canonical.js.map +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +21 -68
- package/dist/server.js.map +1 -1
- package/dist/tools/admin-geo.d.ts +3 -0
- package/dist/tools/admin-geo.d.ts.map +1 -0
- package/dist/tools/admin-geo.js +112 -0
- package/dist/tools/admin-geo.js.map +1 -0
- package/dist/tools/area-intel.d.ts +3 -0
- package/dist/tools/area-intel.d.ts.map +1 -0
- package/dist/tools/area-intel.js +109 -0
- package/dist/tools/area-intel.js.map +1 -0
- package/dist/tools/company-layer2.d.ts.map +1 -1
- package/dist/tools/company-layer2.js +7 -0
- package/dist/tools/company-layer2.js.map +1 -1
- package/dist/tools/company.d.ts.map +1 -1
- package/dist/tools/company.js +79 -3
- package/dist/tools/company.js.map +1 -1
- package/dist/tools/compound.d.ts +3 -0
- package/dist/tools/compound.d.ts.map +1 -0
- package/dist/tools/compound.js +108 -0
- package/dist/tools/compound.js.map +1 -0
- package/dist/tools/geo.d.ts.map +1 -1
- package/dist/tools/geo.js +70 -3
- package/dist/tools/geo.js.map +1 -1
- package/dist/tools/guide.d.ts +3 -0
- package/dist/tools/guide.d.ts.map +1 -0
- package/dist/tools/guide.js +228 -0
- package/dist/tools/guide.js.map +1 -0
- package/dist/tools/identity.d.ts.map +1 -1
- package/dist/tools/identity.js +29 -1
- package/dist/tools/identity.js.map +1 -1
- package/dist/tools/index.d.ts +7 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +13 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/legal-texts.d.ts +3 -0
- package/dist/tools/legal-texts.d.ts.map +1 -0
- package/dist/tools/legal-texts.js +95 -0
- package/dist/tools/legal-texts.js.map +1 -0
- package/dist/tools/legal.d.ts.map +1 -1
- package/dist/tools/legal.js +10 -2
- package/dist/tools/legal.js.map +1 -1
- package/dist/tools/public-contracts.d.ts +3 -0
- package/dist/tools/public-contracts.d.ts.map +1 -0
- package/dist/tools/public-contracts.js +58 -0
- package/dist/tools/public-contracts.js.map +1 -0
- package/dist/tools/realestate.d.ts.map +1 -1
- package/dist/tools/realestate.js +64 -6
- package/dist/tools/realestate.js.map +1 -1
- package/dist/tools/sources.d.ts.map +1 -1
- package/dist/tools/sources.js +60 -2
- package/dist/tools/sources.js.map +1 -1
- package/dist/utils/byok.d.ts +49 -0
- package/dist/utils/byok.d.ts.map +1 -0
- package/dist/utils/byok.js +28 -0
- package/dist/utils/byok.js.map +1 -0
- package/dist/utils/circuit-breaker.d.ts +19 -0
- package/dist/utils/circuit-breaker.d.ts.map +1 -0
- package/dist/utils/circuit-breaker.js +43 -0
- package/dist/utils/circuit-breaker.js.map +1 -0
- package/dist/utils/env.d.ts +2 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +14 -7
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +7 -2
- package/dist/utils/http.js.map +1 -1
- package/dist/utils/oauth.d.ts.map +1 -1
- package/dist/utils/oauth.js +8 -3
- package/dist/utils/oauth.js.map +1 -1
- package/dist/utils/siren.d.ts +4 -0
- package/dist/utils/siren.d.ts.map +1 -0
- package/dist/utils/siren.js +36 -0
- package/dist/utils/siren.js.map +1 -0
- package/dist/utils/zod-to-json.d.ts +3 -0
- package/dist/utils/zod-to-json.d.ts.map +1 -0
- package/dist/utils/zod-to-json.js +46 -0
- package/dist/utils/zod-to-json.js.map +1 -0
- package/package.json +7 -4
- package/dist/worker.d.ts +0 -16
- package/dist/worker.d.ts.map +0 -1
- package/dist/worker.js +0 -185
- package/dist/worker.js.map +0 -1
package/dist/tools/geo.js
CHANGED
|
@@ -43,8 +43,8 @@ const addressRisks = defineTool({
|
|
|
43
43
|
if ((lat === undefined || lon === undefined) && input.address) {
|
|
44
44
|
const geo = await connectors.ban.search(input.address, 1);
|
|
45
45
|
const first = geo[0];
|
|
46
|
-
if (!first ||
|
|
47
|
-
return { found: false, reason: "Adresse
|
|
46
|
+
if (!first || first.latitude == null || first.longitude == null) {
|
|
47
|
+
return { found: false, reason: "Adresse introuvable (BAN)" };
|
|
48
48
|
}
|
|
49
49
|
lat = first.latitude;
|
|
50
50
|
lon = first.longitude;
|
|
@@ -55,5 +55,72 @@ const addressRisks = defineTool({
|
|
|
55
55
|
return connectors.georisques.byCoordinates(lat, lon);
|
|
56
56
|
},
|
|
57
57
|
});
|
|
58
|
-
|
|
58
|
+
const addressValidate = defineTool({
|
|
59
|
+
name: "address_validate",
|
|
60
|
+
description: "Valide et normalise une adresse française via la Base Adresse Nationale. " +
|
|
61
|
+
"Retourne l'adresse officielle normalisée, les coordonnées GPS, le score de confiance " +
|
|
62
|
+
"et le code INSEE de la commune. Utile pour standardiser des adresses avant stockage.",
|
|
63
|
+
inputSchema: z.object({
|
|
64
|
+
address: z.string().min(5).describe("Adresse à valider (texte libre)"),
|
|
65
|
+
}),
|
|
66
|
+
handler: async (input) => {
|
|
67
|
+
const results = await connectors.ban.search(input.address, 1);
|
|
68
|
+
if (!results.length)
|
|
69
|
+
return { valid: false, input: input.address, reason: "Adresse introuvable dans la BAN" };
|
|
70
|
+
const best = results[0];
|
|
71
|
+
return {
|
|
72
|
+
valid: true,
|
|
73
|
+
input: input.address,
|
|
74
|
+
normalized: best.label ?? best.full,
|
|
75
|
+
score: best.score,
|
|
76
|
+
coordinates: { lat: best.latitude, lon: best.longitude },
|
|
77
|
+
insee_code: best.insee_code,
|
|
78
|
+
city: best.city,
|
|
79
|
+
postcode: best.postal_code,
|
|
80
|
+
provenance: best.provenance,
|
|
81
|
+
};
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
const addressBatch = defineTool({
|
|
85
|
+
name: "address_batch",
|
|
86
|
+
description: "Géocode plusieurs adresses françaises en un seul appel (max 50). Retourne pour chaque adresse : " +
|
|
87
|
+
"adresse normalisée, coordonnées GPS, code INSEE et score de confiance via la Base Adresse Nationale. " +
|
|
88
|
+
"Idéal pour enrichir un CRM, valider un fichier d'adresses, préparer des données géographiques en masse.",
|
|
89
|
+
inputSchema: z.object({
|
|
90
|
+
addresses: z
|
|
91
|
+
.array(z.string().min(5))
|
|
92
|
+
.min(1)
|
|
93
|
+
.max(50)
|
|
94
|
+
.describe("Liste d'adresses à géocoder (max 50)"),
|
|
95
|
+
}),
|
|
96
|
+
handler: async (input) => {
|
|
97
|
+
const results = await Promise.all(input.addresses.map(async (address) => {
|
|
98
|
+
try {
|
|
99
|
+
const found = await connectors.ban.search(address, 1);
|
|
100
|
+
if (!found.length)
|
|
101
|
+
return { input: address, valid: false, reason: "Adresse introuvable" };
|
|
102
|
+
const best = found[0];
|
|
103
|
+
return {
|
|
104
|
+
input: address,
|
|
105
|
+
valid: true,
|
|
106
|
+
normalized: best.label ?? best.full,
|
|
107
|
+
score: best.score,
|
|
108
|
+
coordinates: { lat: best.latitude, lon: best.longitude },
|
|
109
|
+
insee_code: best.insee_code,
|
|
110
|
+
city: best.city,
|
|
111
|
+
postcode: best.postal_code,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
return { input: address, valid: false, error: String(err) };
|
|
116
|
+
}
|
|
117
|
+
}));
|
|
118
|
+
return {
|
|
119
|
+
count: results.length,
|
|
120
|
+
valid_count: results.filter((r) => r.valid).length,
|
|
121
|
+
results,
|
|
122
|
+
};
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
export const geoTools = [addressSearch, addressReverse, addressRisks, addressValidate, addressBatch];
|
|
59
126
|
//# sourceMappingURL=geo.js.map
|
package/dist/tools/geo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geo.js","sourceRoot":"","sources":["../../src/tools/geo.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"geo.js","sourceRoot":"","sources":["../../src/tools/geo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/tools/guide.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAiPtD,eAAO,MAAM,UAAU,EAAE,OAAO,EAAe,CAAC"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { defineTool } from "./types.js";
|
|
3
|
+
const ROUTES = [
|
|
4
|
+
{
|
|
5
|
+
keywords: ["siren", "siret", "entreprise", "société", "company", "fiche", "profil complet", "due diligence"],
|
|
6
|
+
route: {
|
|
7
|
+
tool: "company_deep_profile",
|
|
8
|
+
description: "Profil complet d'une entreprise (identité + marchés publics + BODACC + LEI + risques) en 1 appel.",
|
|
9
|
+
example_params: { siren: "552032534" },
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
keywords: ["cherche", "recherche", "trouve", "search", "nom entreprise", "dirigeant"],
|
|
14
|
+
route: {
|
|
15
|
+
tool: "company_search",
|
|
16
|
+
description: "Chercher des entreprises par nom, dirigeant ou activité.",
|
|
17
|
+
example_params: { query: "Anthropic France" },
|
|
18
|
+
chain_with: ["company_get", "company_deep_profile"],
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
keywords: ["marché public", "appel d'offres", "contrat public", "acheteur public", "DECP", "commande publique"],
|
|
23
|
+
route: {
|
|
24
|
+
tool: "public_contracts_search",
|
|
25
|
+
description: "Trouver les marchés publics attribués — par titulaire, acheteur, CPV ou territoire.",
|
|
26
|
+
example_params: { siren_titulaire: "552032534", limit: 20 },
|
|
27
|
+
chain_with: ["company_get"],
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
keywords: ["adresse", "geocode", "localisation", "rue", "BAN"],
|
|
32
|
+
route: {
|
|
33
|
+
tool: "address_search",
|
|
34
|
+
description: "Géocoder une adresse française (BAN — Base Adresse Nationale).",
|
|
35
|
+
example_params: { q: "20 avenue de Ségur, Paris" },
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
keywords: ["risque", "naturel", "inondation", "séisme", "ICPE", "géorisque"],
|
|
40
|
+
route: {
|
|
41
|
+
tool: "address_risks",
|
|
42
|
+
description: "Lister les risques naturels et industriels à une adresse.",
|
|
43
|
+
example_params: { address: "20 avenue de Ségur, Paris" },
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
keywords: ["commune", "ville", "INSEE", "population", "département", "région", "EPCI"],
|
|
48
|
+
route: {
|
|
49
|
+
tool: "admin_commune_search",
|
|
50
|
+
description: "Chercher une commune française par nom, code postal ou département.",
|
|
51
|
+
example_params: { nom: "Lyon" },
|
|
52
|
+
chain_with: ["admin_departement_list", "admin_region_list"],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
keywords: ["immobilier", "DVF", "transaction", "vente", "prix m2", "foncier"],
|
|
57
|
+
route: {
|
|
58
|
+
tool: "realestate_transactions",
|
|
59
|
+
description: "Transactions immobilières DVF (5 ans) par commune INSEE ou code postal.",
|
|
60
|
+
example_params: { insee_code: "75056" },
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
keywords: ["TVA", "VAT", "numéro TVA", "validation TVA", "VIES", "intracommunautaire"],
|
|
65
|
+
route: {
|
|
66
|
+
tool: "vat_validate",
|
|
67
|
+
description: "Valider un numéro TVA intracommunautaire via VIES.",
|
|
68
|
+
example_params: { vat_number: "FR76552032534" },
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
keywords: ["LEI", "identifiant mondial", "GLEIF", "entité légale mondiale"],
|
|
73
|
+
route: {
|
|
74
|
+
tool: "lei_search",
|
|
75
|
+
description: "Rechercher le LEI mondial d'une entité par nom.",
|
|
76
|
+
example_params: { legal_name: "BNP Paribas" },
|
|
77
|
+
chain_with: ["lei_lookup"],
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
keywords: ["brevet", "patent", "invention", "EPO", "OEB", "CPV"],
|
|
82
|
+
route: {
|
|
83
|
+
tool: "patents_search",
|
|
84
|
+
description: "Rechercher des brevets via EPO Espacenet.",
|
|
85
|
+
example_params: { query: "ti=machine learning AND pa=BNP" },
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
keywords: ["emploi", "offre", "recrutement", "CDI", "CDD", "France Travail", "Pôle Emploi"],
|
|
90
|
+
route: {
|
|
91
|
+
tool: "jobs_search",
|
|
92
|
+
description: "Chercher des offres d'emploi via France Travail.",
|
|
93
|
+
example_params: { keywords: "développeur TypeScript", location: "Paris" },
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
keywords: ["annonce légale", "BODACC", "cessation", "liquidation", "redressement", "procédure"],
|
|
98
|
+
route: {
|
|
99
|
+
tool: "legal_announcements_search",
|
|
100
|
+
description: "Rechercher les annonces légales BODACC d'une entreprise.",
|
|
101
|
+
example_params: { siren: "552032534" },
|
|
102
|
+
chain_with: ["legal_procedures_check"],
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
keywords: ["loi", "code civil", "code du travail", "texte légal", "décret", "légifrance", "JORF", "circulaire", "juridique"],
|
|
107
|
+
route: {
|
|
108
|
+
tool: "law_search",
|
|
109
|
+
description: "Rechercher dans les codes, lois, décrets, circulaires, Journal Officiel via Légifrance (PISTE).",
|
|
110
|
+
example_params: { query: "licenciement économique", fond: "CODE" },
|
|
111
|
+
chain_with: ["jurisprudence_search", "code_table_of_contents"],
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
keywords: ["jurisprudence", "arrêt", "décision de justice", "cour de cassation", "tribunal", "jugement"],
|
|
116
|
+
route: {
|
|
117
|
+
tool: "jurisprudence_search",
|
|
118
|
+
description: "Rechercher des décisions de justice via Judilibre (Cour de cassation, Cours d'appel).",
|
|
119
|
+
example_params: { query: "force majeure COVID", jurisdiction: "cc" },
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
keywords: ["territoire", "département", "bassin d'emploi", "analyse marché", "intelligence territoriale", "zone géographique"],
|
|
124
|
+
route: {
|
|
125
|
+
tool: "area_business_intelligence",
|
|
126
|
+
description: "Intelligence économique d'un département ou commune : entreprises + contrats + immobilier + admin.",
|
|
127
|
+
example_params: { departement: "75" },
|
|
128
|
+
chain_with: ["company_deep_profile", "public_contracts_search"],
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
keywords: ["Royaume-Uni", "UK", "Companies House", "britannique", "anglais"],
|
|
133
|
+
route: {
|
|
134
|
+
tool: "company_uk",
|
|
135
|
+
description: "Fiche entreprise UK via Companies House.",
|
|
136
|
+
example_params: { identifier: "00445790" },
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
keywords: ["sources", "liste", "disponible", "données", "connecteurs"],
|
|
141
|
+
route: {
|
|
142
|
+
tool: "sources_list",
|
|
143
|
+
description: "Lister toutes les sources de données disponibles dans OneMCP.",
|
|
144
|
+
example_params: {},
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
keywords: ["TVA", "numéro tva siren", "assujetti", "vat check", "vérifier tva entreprise"],
|
|
149
|
+
route: {
|
|
150
|
+
tool: "company_vat_check",
|
|
151
|
+
description: "Déduire le numéro de TVA intracommunautaire depuis un SIREN et le valider via VIES.",
|
|
152
|
+
example_params: { siren: "552032534" },
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
keywords: ["prix m2", "stats immobilier", "médian immobilier", "prix médian", "statistiques prix"],
|
|
157
|
+
route: {
|
|
158
|
+
tool: "realestate_stats",
|
|
159
|
+
description: "Prix médian au m², moyenne, min/max pour appartements et maisons d'une commune.",
|
|
160
|
+
example_params: { insee_code: "75056" },
|
|
161
|
+
chain_with: ["realestate_transactions"],
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
keywords: ["statistiques commune", "commune stats", "données complètes commune", "profil commune"],
|
|
166
|
+
route: {
|
|
167
|
+
tool: "commune_stats",
|
|
168
|
+
description: "Statistiques complètes d'une commune : info admin + transactions DVF + marchés publics.",
|
|
169
|
+
example_params: { insee_code: "75056" },
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
keywords: ["valider adresse", "normaliser adresse", "adresse correcte", "code INSEE adresse"],
|
|
174
|
+
route: {
|
|
175
|
+
tool: "address_validate",
|
|
176
|
+
description: "Valider et normaliser une adresse française via la BAN, retourne les coordonnées et code INSEE.",
|
|
177
|
+
example_params: { address: "20 avenue de Ségur Paris" },
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
keywords: ["plusieurs adresses", "lot d'adresses", "batch adresses", "géocoder en masse", "fichier d'adresses", "CRM adresses"],
|
|
182
|
+
route: {
|
|
183
|
+
tool: "address_batch",
|
|
184
|
+
description: "Géocoder jusqu'à 50 adresses françaises en un seul appel (BAN) — idéal pour enrichir un CRM ou un fichier.",
|
|
185
|
+
example_params: { addresses: ["20 avenue de Ségur Paris", "1 place du Capitole Toulouse"] },
|
|
186
|
+
chain_with: ["address_validate"],
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
];
|
|
190
|
+
const mcpGuide = defineTool({
|
|
191
|
+
name: "mcp_guide",
|
|
192
|
+
description: "Outil de routage OneMCP : indique quel tool utiliser selon votre intention en langage naturel. " +
|
|
193
|
+
"Retourne le tool recommandé, un exemple de paramètres, et les tools complémentaires à enchaîner. " +
|
|
194
|
+
"Utile quand vous ne savez pas quel tool appeler parmi les 41 disponibles. " +
|
|
195
|
+
"Ex: 'trouver les marchés publics gagnés par une entreprise', 'valider un numéro TVA', 'risques naturels à Paris'.",
|
|
196
|
+
inputSchema: z.object({
|
|
197
|
+
intent: z
|
|
198
|
+
.string()
|
|
199
|
+
.min(5)
|
|
200
|
+
.describe("Décrivez en langage naturel ce que vous voulez faire."),
|
|
201
|
+
lang: z.enum(["fr", "en"]).default("fr").optional(),
|
|
202
|
+
}),
|
|
203
|
+
handler: async (input) => {
|
|
204
|
+
const q = input.intent.toLowerCase();
|
|
205
|
+
const scored = ROUTES.map((r) => {
|
|
206
|
+
const score = r.keywords.filter((kw) => q.includes(kw.toLowerCase())).length;
|
|
207
|
+
return { score, route: r.route };
|
|
208
|
+
}).filter((s) => s.score > 0);
|
|
209
|
+
scored.sort((a, b) => b.score - a.score);
|
|
210
|
+
if (scored.length === 0) {
|
|
211
|
+
return {
|
|
212
|
+
matched: false,
|
|
213
|
+
suggestion: "Aucun tool trouvé pour cette intention. Essayez sources_list pour voir toutes les sources disponibles.",
|
|
214
|
+
fallback_tool: "sources_list",
|
|
215
|
+
all_tools_hint: "Reformulez avec des mots-clés : siren, marché public, TVA, adresse, commune, brevet, emploi, BODACC.",
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
const top = scored[0].route;
|
|
219
|
+
const alternatives = scored.slice(1, 3).map((s) => s.route.tool);
|
|
220
|
+
return {
|
|
221
|
+
matched: true,
|
|
222
|
+
recommended: top,
|
|
223
|
+
alternatives: alternatives.length ? alternatives : undefined,
|
|
224
|
+
};
|
|
225
|
+
},
|
|
226
|
+
});
|
|
227
|
+
export const guideTools = [mcpGuide];
|
|
228
|
+
//# sourceMappingURL=guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/tools/guide.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AA+FtD,eAAO,MAAM,aAAa,EAAE,OAAO,EAAyD,CAAC"}
|
package/dist/tools/identity.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { connectors } from "../connectors/index.js";
|
|
3
|
+
import { isValidSiren } from "../utils/siren.js";
|
|
3
4
|
import { defineTool } from "./types.js";
|
|
4
5
|
const vatValidate = defineTool({
|
|
5
6
|
name: "vat_validate",
|
|
@@ -56,5 +57,32 @@ const leiSearch = defineTool({
|
|
|
56
57
|
return { query: input.legal_name, count: results.length, results };
|
|
57
58
|
},
|
|
58
59
|
});
|
|
59
|
-
|
|
60
|
+
const companyVatCheck = defineTool({
|
|
61
|
+
name: "company_vat_check",
|
|
62
|
+
description: "Déduit le numéro de TVA intracommunautaire français d'un SIREN puis le valide via VIES " +
|
|
63
|
+
"(Commission européenne). Retourne le numéro calculé, sa validité, le nom légal et l'adresse. " +
|
|
64
|
+
"Utile pour KYC/facturation : confirmer qu'un fournisseur FR est bien assujetti à la TVA intracommunautaire.",
|
|
65
|
+
inputSchema: z.object({
|
|
66
|
+
siren: z.string().regex(/^\d{9}$/).describe("SIREN à 9 chiffres de l'entreprise française"),
|
|
67
|
+
}),
|
|
68
|
+
handler: async (input) => {
|
|
69
|
+
if (!isValidSiren(input.siren))
|
|
70
|
+
return { valid: false, siren: input.siren, reason: "SIREN invalide (checksum Luhn échoué)" };
|
|
71
|
+
// Formula: FR + (12 + 3 * (SIREN % 97)) % 97, zero-padded to 2 digits
|
|
72
|
+
const sirenNum = parseInt(input.siren, 10);
|
|
73
|
+
const key = (12 + 3 * (sirenNum % 97)) % 97;
|
|
74
|
+
const vatNumber = `FR${String(key).padStart(2, "0")}${input.siren}`;
|
|
75
|
+
const validation = await connectors.vies.validate({ countryCode: "FR", vatNumber: vatNumber.slice(2) });
|
|
76
|
+
return {
|
|
77
|
+
siren: input.siren,
|
|
78
|
+
vat_number: vatNumber,
|
|
79
|
+
valid: validation.valid,
|
|
80
|
+
legal_name: validation.legal_name,
|
|
81
|
+
address: validation.address,
|
|
82
|
+
checked_at: validation.checked_at,
|
|
83
|
+
provenance: validation.provenance,
|
|
84
|
+
};
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
export const identityTools = [vatValidate, leiLookup, leiSearch, companyVatCheck];
|
|
60
88
|
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,GAAG,UAAU,CAAC;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,wFAAwF;QACxF,kGAAkG;IACpG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,yFAAyF,CAC1F;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,CAAC;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,wDAAwD,CAAC;KACtE,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,IAAI,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;QAC3C,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,UAAU,CAAC;IAC3B,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,uGAAuG;QACvG,6FAA6F;IAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;KAC3B,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACrD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IACpC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,UAAU,CAAC;IAC3B,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,4FAA4F;QAC5F,yFAAyF;IAC3F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KACjE,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACtF,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IACrE,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,yFAAyF;QACzF,+FAA+F;QAC/F,6GAA6G;IAC/G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;KAC5F,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC;QAE/F,sEAAsE;QACtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEpE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxG,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU,EAAE,UAAU,CAAC,UAAU;SAClC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
import { adminGeoTools } from "./admin-geo.js";
|
|
2
|
+
import { areaIntelTools } from "./area-intel.js";
|
|
1
3
|
import { companyLayer2Tools } from "./company-layer2.js";
|
|
2
4
|
import { companyTools } from "./company.js";
|
|
5
|
+
import { compoundTools } from "./compound.js";
|
|
3
6
|
import { geoTools } from "./geo.js";
|
|
7
|
+
import { guideTools } from "./guide.js";
|
|
4
8
|
import { identityTools } from "./identity.js";
|
|
5
9
|
import { jobTools } from "./jobs.js";
|
|
6
10
|
import { legalTools } from "./legal.js";
|
|
11
|
+
import { legalTextTools } from "./legal-texts.js";
|
|
7
12
|
import { patentTools } from "./patents.js";
|
|
13
|
+
import { publicContractTools } from "./public-contracts.js";
|
|
8
14
|
import { realEstateTools } from "./realestate.js";
|
|
9
15
|
import { sourceTools } from "./sources.js";
|
|
10
16
|
import type { AnyTool } from "./types.js";
|
|
11
17
|
export declare const allTools: AnyTool[];
|
|
12
|
-
export { companyLayer2Tools, companyTools, geoTools, identityTools, jobTools, legalTools, patentTools, realEstateTools, sourceTools, };
|
|
18
|
+
export { adminGeoTools, areaIntelTools, companyLayer2Tools, companyTools, compoundTools, geoTools, guideTools, identityTools, jobTools, legalTools, legalTextTools, patentTools, publicContractTools, realEstateTools, sourceTools, };
|
|
13
19
|
export type { AnyTool, ToolDefinition } from "./types.js";
|
|
14
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,QAAQ,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,QAAQ,EAAE,OAAO,EAgB7B,CAAC;AAEF,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,22 +1,34 @@
|
|
|
1
|
+
import { adminGeoTools } from "./admin-geo.js";
|
|
2
|
+
import { areaIntelTools } from "./area-intel.js";
|
|
1
3
|
import { companyLayer2Tools } from "./company-layer2.js";
|
|
2
4
|
import { companyTools } from "./company.js";
|
|
5
|
+
import { compoundTools } from "./compound.js";
|
|
3
6
|
import { geoTools } from "./geo.js";
|
|
7
|
+
import { guideTools } from "./guide.js";
|
|
4
8
|
import { identityTools } from "./identity.js";
|
|
5
9
|
import { jobTools } from "./jobs.js";
|
|
6
10
|
import { legalTools } from "./legal.js";
|
|
11
|
+
import { legalTextTools } from "./legal-texts.js";
|
|
7
12
|
import { patentTools } from "./patents.js";
|
|
13
|
+
import { publicContractTools } from "./public-contracts.js";
|
|
8
14
|
import { realEstateTools } from "./realestate.js";
|
|
9
15
|
import { sourceTools } from "./sources.js";
|
|
10
16
|
export const allTools = [
|
|
17
|
+
...guideTools,
|
|
18
|
+
...compoundTools,
|
|
19
|
+
...areaIntelTools,
|
|
11
20
|
...companyTools,
|
|
12
21
|
...companyLayer2Tools,
|
|
13
22
|
...legalTools,
|
|
23
|
+
...legalTextTools,
|
|
14
24
|
...geoTools,
|
|
25
|
+
...adminGeoTools,
|
|
15
26
|
...realEstateTools,
|
|
16
27
|
...identityTools,
|
|
17
28
|
...patentTools,
|
|
18
29
|
...jobTools,
|
|
30
|
+
...publicContractTools,
|
|
19
31
|
...sourceTools,
|
|
20
32
|
];
|
|
21
|
-
export { companyLayer2Tools, companyTools, geoTools, identityTools, jobTools, legalTools, patentTools, realEstateTools, sourceTools, };
|
|
33
|
+
export { adminGeoTools, areaIntelTools, companyLayer2Tools, companyTools, compoundTools, geoTools, guideTools, identityTools, jobTools, legalTools, legalTextTools, patentTools, publicContractTools, realEstateTools, sourceTools, };
|
|
22
34
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,GAAG,YAAY;IACf,GAAG,kBAAkB;IACrB,GAAG,UAAU;IACb,GAAG,QAAQ;IACX,GAAG,eAAe;IAClB,GAAG,aAAa;IAChB,GAAG,WAAW;IACd,GAAG,QAAQ;IACX,GAAG,WAAW;CACf,CAAC;AAEF,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,WAAW,GACZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,GAAG,UAAU;IACb,GAAG,aAAa;IAChB,GAAG,cAAc;IACjB,GAAG,YAAY;IACf,GAAG,kBAAkB;IACrB,GAAG,UAAU;IACb,GAAG,cAAc;IACjB,GAAG,QAAQ;IACX,GAAG,aAAa;IAChB,GAAG,eAAe;IAClB,GAAG,aAAa;IAChB,GAAG,WAAW;IACd,GAAG,QAAQ;IACX,GAAG,mBAAmB;IACtB,GAAG,WAAW;CACf,CAAC;AAEF,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,WAAW,GACZ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legal-texts.d.ts","sourceRoot":"","sources":["../../src/tools/legal-texts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AA6GtD,eAAO,MAAM,cAAc,EAAE,OAAO,EAA0D,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { LegifranceConnector } from "../connectors/legifrance.js";
|
|
3
|
+
import { defineTool } from "./types.js";
|
|
4
|
+
const lf = new LegifranceConnector();
|
|
5
|
+
const LF_FONDS = [
|
|
6
|
+
"CODE", "LEGI", "JURI", "JURI_ADMIN", "JORF", "KALI", "CONSTIT", "CIRC", "ACCO",
|
|
7
|
+
];
|
|
8
|
+
const CODES_FR = {
|
|
9
|
+
"code civil": "LEGITEXT000006070721",
|
|
10
|
+
"code de commerce": "LEGITEXT000005634379",
|
|
11
|
+
"code du travail": "LEGITEXT000006072050",
|
|
12
|
+
"code pénal": "LEGITEXT000006070719",
|
|
13
|
+
"code de procédure civile": "LEGITEXT000006070716",
|
|
14
|
+
"code général des impôts": "LEGITEXT000006069414",
|
|
15
|
+
"code de la consommation": "LEGITEXT000006069565",
|
|
16
|
+
"code de la propriété intellectuelle": "LEGITEXT000006069414",
|
|
17
|
+
};
|
|
18
|
+
const lawSearch = defineTool({
|
|
19
|
+
name: "law_search",
|
|
20
|
+
description: "Recherche dans les textes juridiques français via Légifrance (API PISTE) : codes, lois, décrets, " +
|
|
21
|
+
"circulaires, accords collectifs, Journal Officiel, Conseil constitutionnel. " +
|
|
22
|
+
"Nécessite PISTE_CLIENT_ID / PISTE_CLIENT_SECRET (compte PISTE gratuit sur developer.aife.economie.gouv.fr). " +
|
|
23
|
+
"Ex: query='licenciement économique', fond='CODE' pour chercher dans les codes.",
|
|
24
|
+
inputSchema: z.object({
|
|
25
|
+
query: z.string().min(3).describe("Termes à rechercher dans les textes légaux."),
|
|
26
|
+
fond: z.enum(LF_FONDS).optional().describe("Fond documentaire : CODE (codes en vigueur), LEGI (textes consolidés), JURI (jurisprudence judiciaire), " +
|
|
27
|
+
"JURI_ADMIN (jurisprudence admin), JORF (Journal Officiel), KALI (conventions collectives), CONSTIT (Conseil constit.), " +
|
|
28
|
+
"CIRC (circulaires). Défaut: tous."),
|
|
29
|
+
page: z.number().int().min(1).default(1).optional(),
|
|
30
|
+
page_size: z.number().int().min(1).max(50).default(10).optional(),
|
|
31
|
+
from_date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional().describe("Date minimale (YYYY-MM-DD)."),
|
|
32
|
+
to_date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional().describe("Date maximale (YYYY-MM-DD)."),
|
|
33
|
+
}),
|
|
34
|
+
handler: async (input) => {
|
|
35
|
+
return lf.search({
|
|
36
|
+
query: input.query,
|
|
37
|
+
fond: input.fond,
|
|
38
|
+
page: input.page,
|
|
39
|
+
pageSize: input.page_size,
|
|
40
|
+
fromDate: input.from_date,
|
|
41
|
+
toDate: input.to_date,
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
const jurisprudenceSearch = defineTool({
|
|
46
|
+
name: "jurisprudence_search",
|
|
47
|
+
description: "Recherche de décisions de justice françaises via Judilibre (Cour de cassation, Cours d'appel, Tribunaux). " +
|
|
48
|
+
"Retourne : numéro d'arrêt, chambre, date, solution, résumé. " +
|
|
49
|
+
"Nécessite PISTE_CLIENT_ID / PISTE_CLIENT_SECRET. " +
|
|
50
|
+
"Ex: query='force majeure COVID' pour trouver des arrêts sur ce thème.",
|
|
51
|
+
inputSchema: z.object({
|
|
52
|
+
query: z.string().min(3).describe("Termes à rechercher dans les décisions."),
|
|
53
|
+
jurisdiction: z.enum(["cc", "ca", "tj"]).optional().describe("Juridiction : cc (Cour de cassation), ca (Cour d'appel), tj (Tribunal judiciaire)."),
|
|
54
|
+
page: z.number().int().min(1).default(1).optional(),
|
|
55
|
+
page_size: z.number().int().min(1).max(50).default(10).optional(),
|
|
56
|
+
}),
|
|
57
|
+
handler: async (input) => {
|
|
58
|
+
return lf.jurisprudence({
|
|
59
|
+
query: input.query,
|
|
60
|
+
jurisdiction: input.jurisdiction,
|
|
61
|
+
page: input.page,
|
|
62
|
+
pageSize: input.page_size,
|
|
63
|
+
});
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
const codeTableOfContents = defineTool({
|
|
67
|
+
name: "code_table_of_contents",
|
|
68
|
+
description: "Récupère la table des matières d'un code juridique français (Code Civil, Code de Commerce, Code du Travail, etc.) " +
|
|
69
|
+
"via Légifrance. Accepte le nom du code en français ou son identifiant LEGITEXT. " +
|
|
70
|
+
"Nécessite PISTE_CLIENT_ID / PISTE_CLIENT_SECRET. " +
|
|
71
|
+
"Ex: code_name='code civil' ou text_id='LEGITEXT000006070721'.",
|
|
72
|
+
inputSchema: z.object({
|
|
73
|
+
code_name: z.string().optional().describe("Nom du code en français : 'code civil', 'code de commerce', 'code du travail', etc."),
|
|
74
|
+
text_id: z.string().optional().describe("Identifiant LEGITEXT (ex: LEGITEXT000006070721 pour le Code Civil)."),
|
|
75
|
+
}).refine((d) => d.code_name || d.text_id, {
|
|
76
|
+
message: "Fournir code_name ou text_id.",
|
|
77
|
+
}),
|
|
78
|
+
handler: async (input) => {
|
|
79
|
+
let textId = input.text_id;
|
|
80
|
+
if (!textId && input.code_name) {
|
|
81
|
+
const key = input.code_name.toLowerCase().trim();
|
|
82
|
+
textId = CODES_FR[key];
|
|
83
|
+
if (!textId) {
|
|
84
|
+
return {
|
|
85
|
+
error: "Code non trouvé dans le répertoire local.",
|
|
86
|
+
hint: "Utilisez text_id avec un identifiant LEGITEXT, ou essayez law_search avec fond='CODE'.",
|
|
87
|
+
known_codes: Object.keys(CODES_FR),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return lf.getCodeArticle({ textId: textId });
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
export const legalTextTools = [lawSearch, jurisprudenceSearch, codeTableOfContents];
|
|
95
|
+
//# sourceMappingURL=legal-texts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legal-texts.js","sourceRoot":"","sources":["../../src/tools/legal-texts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legal.d.ts","sourceRoot":"","sources":["../../src/tools/legal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"legal.d.ts","sourceRoot":"","sources":["../../src/tools/legal.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAkEtD,eAAO,MAAM,UAAU,EAAE,OAAO,EAAqD,CAAC"}
|