boondmanager-mcp-server 1.7.0 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +211 -222
- package/dist/prompts/index.js.map +1 -1
- package/manifest.json +2 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0pBzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAY1D;AAED,wFAAwF;AACxF,eAAO,MAAM,kBAAkB;;;;;GAK5B,CAAC"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -17,6 +17,38 @@ import { z } from "zod";
|
|
|
17
17
|
const userMessage = (text) => ({
|
|
18
18
|
messages: [{ role: "user", content: { type: "text", text } }],
|
|
19
19
|
});
|
|
20
|
+
const SEARCH_TOOL_BY_KIND = {
|
|
21
|
+
resource: "boond_resources_search",
|
|
22
|
+
society: "boond_companies_search",
|
|
23
|
+
opportunity: "boond_opportunities_search",
|
|
24
|
+
agency: "boond_agencies_search",
|
|
25
|
+
};
|
|
26
|
+
const LABEL_BY_KIND = {
|
|
27
|
+
resource: "ressource",
|
|
28
|
+
society: "société",
|
|
29
|
+
opportunity: "opportunité",
|
|
30
|
+
agency: "agence",
|
|
31
|
+
};
|
|
32
|
+
const resolveEntity = (input, kind, placeholder) => {
|
|
33
|
+
const trimmed = input.trim();
|
|
34
|
+
if (/^\d+$/.test(trimmed)) {
|
|
35
|
+
return { idForFilter: trimmed, preamble: "" };
|
|
36
|
+
}
|
|
37
|
+
const tool = SEARCH_TOOL_BY_KIND[kind];
|
|
38
|
+
const label = LABEL_BY_KIND[kind];
|
|
39
|
+
const preamble = [
|
|
40
|
+
`**Préalable — résolution de la ${label} :** « ${trimmed} » n'est pas un ID numérique.`,
|
|
41
|
+
`- Appeler \`${tool}\` avec \`keywords: "${trimmed}"\` et \`pageSize: 5\`.`,
|
|
42
|
+
`- Retenir l'\`id\` du résultat le plus pertinent → ce sera la valeur \`${placeholder}\` à utiliser dans toutes les étapes ci-dessous.`,
|
|
43
|
+
`- Si plusieurs candidats matchent, demander confirmation à l'utilisateur avant de poursuivre.`,
|
|
44
|
+
"",
|
|
45
|
+
].join("\n");
|
|
46
|
+
return { idForFilter: placeholder, preamble };
|
|
47
|
+
};
|
|
48
|
+
const ID_OR_NAME_HINT_RESOURCE = "Accepte soit l'ID numérique, soit « Prénom Nom » (le serveur résoudra automatiquement via `boond_resources_search`).";
|
|
49
|
+
const ID_OR_NAME_HINT_SOCIETY = "Accepte soit l'ID numérique, soit le nom de la société (résolution auto via `boond_companies_search`).";
|
|
50
|
+
const ID_OR_NAME_HINT_OPPORTUNITY = "Accepte soit l'ID numérique, soit l'intitulé de l'opportunité (résolution auto via `boond_opportunities_search`).";
|
|
51
|
+
const ID_OR_NAME_HINT_AGENCY = "Accepte soit l'ID numérique, soit le nom de l'agence (résolution auto via `boond_agencies_search`).";
|
|
20
52
|
const PROMPTS = [
|
|
21
53
|
{
|
|
22
54
|
name: "synthese_equipe",
|
|
@@ -27,7 +59,9 @@ const PROMPTS = [
|
|
|
27
59
|
manager_id: z
|
|
28
60
|
.string()
|
|
29
61
|
.optional()
|
|
30
|
-
.describe("
|
|
62
|
+
.describe("Manager ciblé. " +
|
|
63
|
+
ID_OR_NAME_HINT_RESOURCE +
|
|
64
|
+
" Si absent, l'outil `boond_application_current_user` est appelé pour le récupérer."),
|
|
31
65
|
periode: z
|
|
32
66
|
.string()
|
|
33
67
|
.optional()
|
|
@@ -35,23 +69,25 @@ const PROMPTS = [
|
|
|
35
69
|
},
|
|
36
70
|
build: ({ manager_id, periode }) => {
|
|
37
71
|
const periodeText = periode || "le mois en cours";
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
72
|
+
let preamble = "";
|
|
73
|
+
let managerStep;
|
|
74
|
+
let managerIdLit;
|
|
75
|
+
if (manager_id) {
|
|
76
|
+
const r = resolveEntity(manager_id, "resource", "<MANAGER_ID>");
|
|
77
|
+
preamble = r.preamble;
|
|
78
|
+
managerIdLit = r.idForFilter;
|
|
79
|
+
managerStep = `Le manager ciblé a pour ID \`${managerIdLit}\`.`;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
managerIdLit = "<MANAGER_ID>";
|
|
83
|
+
managerStep =
|
|
84
|
+
"Commence par appeler `boond_application_current_user` pour obtenir mon ID utilisateur, puis utilise-le comme `<MANAGER_ID>`.";
|
|
85
|
+
}
|
|
86
|
+
const lines = [`Produis une synthèse de l'équipe pour ${periodeText}.`, ""];
|
|
87
|
+
if (preamble)
|
|
88
|
+
lines.push(preamble);
|
|
89
|
+
lines.push(managerStep, "", "Étapes :", `1. Lister les membres de l'équipe : \`boond_resources_search\` avec \`perimeterManagers: [${managerIdLit}]\` et \`resourceStates\` pour ne garder que les actifs (récupère les états valides via \`boond_application_dictionary\` avec \`setting.state.resource\` si besoin).`, "2. Pour chaque ressource retournée, récupérer en parallèle :", " - `boond_resources_positionings` (qui est sur quel projet)", " - `boond_resources_absences_reports` (absences validées/à venir)", " - `boond_resources_times_reports` (CRA récent, pour confirmer l'occupation)", "3. Synthétiser un tableau par personne : nom, projet courant, % occupation, absences sur la période, disponibilité.", "4. Conclure par les signaux faibles (sur-/sous-charge, absences non couvertes, ressources sans positionnement).");
|
|
90
|
+
return lines.join("\n");
|
|
55
91
|
},
|
|
56
92
|
},
|
|
57
93
|
{
|
|
@@ -65,31 +101,26 @@ const PROMPTS = [
|
|
|
65
101
|
manager_id: z
|
|
66
102
|
.string()
|
|
67
103
|
.optional()
|
|
68
|
-
.describe("
|
|
104
|
+
.describe("Commercial ciblé. " +
|
|
105
|
+
ID_OR_NAME_HINT_RESOURCE +
|
|
106
|
+
" Si absent, scope = équipe de l'utilisateur courant via `perimeterDynamic: ['data']`."),
|
|
69
107
|
},
|
|
70
108
|
build: ({ date_debut, date_fin, manager_id }) => {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
"
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
"3. Récupérer le dictionnaire des états via `boond_application_dictionary` avec `setting.state.opportunity` pour traduire les ID en libellés.",
|
|
87
|
-
"4. Restituer :",
|
|
88
|
-
" - Nombre total d'opportunités, par état",
|
|
89
|
-
" - CA pondéré total (somme de `turnoverWeightedExcludingTax`)",
|
|
90
|
-
" - Top 10 par montant pondéré, avec société/contact/closingDate",
|
|
91
|
-
" - Risques : opportunités dont la closingDate est passée mais qui ne sont pas encore en état Gagnée/Perdue.",
|
|
92
|
-
].join("\n");
|
|
109
|
+
let preamble = "";
|
|
110
|
+
let scopeFilter;
|
|
111
|
+
if (manager_id) {
|
|
112
|
+
const r = resolveEntity(manager_id, "resource", "<MANAGER_ID>");
|
|
113
|
+
preamble = r.preamble;
|
|
114
|
+
scopeFilter = `\`perimeterManagers: [${r.idForFilter}]\``;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
scopeFilter = "`perimeterDynamic: ['data']` (mes opportunités)";
|
|
118
|
+
}
|
|
119
|
+
const lines = [`Analyse mon pipeline commercial avec closing entre ${date_debut} et ${date_fin}.`, ""];
|
|
120
|
+
if (preamble)
|
|
121
|
+
lines.push(preamble);
|
|
122
|
+
lines.push(`Périmètre : ${scopeFilter}.`, "", "Étapes :", "1. Appeler `boond_opportunities_search` avec :", ` - \`period: "closingDate"\``, ` - \`startDate: "${date_debut}"\`, \`endDate: "${date_fin}"\``, ` - ${scopeFilter}`, " - `pageSize: 100`", "2. Si plus de 100 résultats, paginer via `page`.", "3. Récupérer le dictionnaire des états via `boond_application_dictionary` avec `setting.state.opportunity` pour traduire les ID en libellés.", "4. Restituer :", " - Nombre total d'opportunités, par état", " - CA pondéré total (somme de `turnoverWeightedExcludingTax`)", " - Top 10 par montant pondéré, avec société/contact/closingDate", " - Risques : opportunités dont la closingDate est passée mais qui ne sont pas encore en état Gagnée/Perdue.");
|
|
123
|
+
return lines.join("\n");
|
|
93
124
|
},
|
|
94
125
|
},
|
|
95
126
|
{
|
|
@@ -98,24 +129,27 @@ const PROMPTS = [
|
|
|
98
129
|
description: "Liste les factures impayées avec date d'échéance dépassée, regroupées par société. " +
|
|
99
130
|
"Optionnellement filtrable sur une société spécifique.",
|
|
100
131
|
argsSchema: {
|
|
101
|
-
society_id: z
|
|
132
|
+
society_id: z
|
|
133
|
+
.string()
|
|
134
|
+
.optional()
|
|
135
|
+
.describe("Société ciblée pour la relance. " + ID_OR_NAME_HINT_SOCIETY),
|
|
102
136
|
},
|
|
103
137
|
build: ({ society_id }) => {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
"
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
" -
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
138
|
+
let preamble = "";
|
|
139
|
+
let filterLine;
|
|
140
|
+
if (society_id) {
|
|
141
|
+
const r = resolveEntity(society_id, "society", "<SOCIETE_ID>");
|
|
142
|
+
preamble = r.preamble;
|
|
143
|
+
filterLine = ` - \`companyId: "${r.idForFilter}"\``;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
filterLine = " - sans filtre société (toutes les factures du périmètre courant)";
|
|
147
|
+
}
|
|
148
|
+
const lines = ["Identifie les factures à relancer (impayées dont l'échéance est dépassée).", ""];
|
|
149
|
+
if (preamble)
|
|
150
|
+
lines.push(preamble);
|
|
151
|
+
lines.push("Étapes :", "1. Appeler `boond_invoices_search` :", filterLine, " - `pageSize: 100`", "2. Récupérer le dictionnaire `setting.state.invoice` via `boond_application_dictionary` pour identifier les états « payée » / « partiellement payée » / etc.", "3. Filtrer côté agent : ne conserver que les factures dont l'état n'est PAS « payée » ET dont la `dueDate` est strictement antérieure à aujourd'hui.", "4. Pour chaque facture retenue, récupérer le détail via `boond_invoices_get` si nécessaire pour obtenir le contact/email de relance.", "5. Restituer un tableau groupé par société : société | nombre de factures impayées | total HT impayé | facture la plus ancienne (référence + jours de retard) | contact à relancer.", "6. Ajouter une ligne « Total » en bas.");
|
|
152
|
+
return lines.join("\n");
|
|
119
153
|
},
|
|
120
154
|
},
|
|
121
155
|
{
|
|
@@ -123,25 +157,16 @@ const PROMPTS = [
|
|
|
123
157
|
title: "Candidats correspondant à une opportunité",
|
|
124
158
|
description: "À partir d'une opportunité (ses outils, expertise, mobilité), trouve les candidats actifs qui matchent.",
|
|
125
159
|
argsSchema: {
|
|
126
|
-
opportunity_id: z.string().describe("
|
|
160
|
+
opportunity_id: z.string().describe("Opportunité à pourvoir. " + ID_OR_NAME_HINT_OPPORTUNITY),
|
|
127
161
|
},
|
|
128
162
|
build: ({ opportunity_id }) => {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
' - les `tools` extraits (logique OU par défaut ; si l\'opportunité est très exigeante, repasser avec `["#AND#", ...]` pour exiger toutes les compétences)',
|
|
137
|
-
" - `expertiseAreas` correspondants",
|
|
138
|
-
" - `mobilityAreas` matchant le lieu",
|
|
139
|
-
" - `candidateStates` actifs uniquement (consulter `setting.state.candidate` via `boond_application_dictionary`)",
|
|
140
|
-
' - `period: "available"` + `startDate`/`endDate` calés sur la mission, pour ne garder que les candidats disponibles',
|
|
141
|
-
" - `pageSize: 50`",
|
|
142
|
-
"4. Pour les top 20 candidats retournés, récupérer `boond_candidates_technical_data` pour vérifier l'adéquation fine.",
|
|
143
|
-
"5. Restituer un classement : nom | titre | dispo | note d'adéquation (sur 10) avec justification 1 ligne.",
|
|
144
|
-
].join("\n");
|
|
163
|
+
const r = resolveEntity(opportunity_id ?? "", "opportunity", "<OPPORTUNITY_ID>");
|
|
164
|
+
const oppLit = r.idForFilter;
|
|
165
|
+
const lines = [`Identifie les candidats qui matchent l'opportunité ${oppLit}.`, ""];
|
|
166
|
+
if (r.preamble)
|
|
167
|
+
lines.push(r.preamble);
|
|
168
|
+
lines.push("Étapes :", `1. Récupérer le détail de l'opportunité : \`boond_opportunities_get(id="${oppLit}")\` puis l'onglet \`information\` pour les attributs détaillés.`, "2. Extraire les critères : `tools`, `expertiseAreas`, `activityAreas`, `places` (mobilité), `durations`, `startDate`/`endDate`.", "3. Appeler `boond_candidates_search` avec :", ' - les `tools` extraits (logique OU par défaut ; si l\'opportunité est très exigeante, repasser avec `["#AND#", ...]` pour exiger toutes les compétences)', " - `expertiseAreas` correspondants", " - `mobilityAreas` matchant le lieu", " - `candidateStates` actifs uniquement (consulter `setting.state.candidate` via `boond_application_dictionary`)", ' - `period: "available"` + `startDate`/`endDate` calés sur la mission, pour ne garder que les candidats disponibles', " - `pageSize: 50`", "4. Pour les top 20 candidats retournés, récupérer `boond_candidates_technical_data` pour vérifier l'adéquation fine.", "5. Restituer un classement : nom | titre | dispo | note d'adéquation (sur 10) avec justification 1 ligne.");
|
|
169
|
+
return lines.join("\n");
|
|
145
170
|
},
|
|
146
171
|
},
|
|
147
172
|
{
|
|
@@ -149,23 +174,16 @@ const PROMPTS = [
|
|
|
149
174
|
title: "Fiche complète d'un collaborateur",
|
|
150
175
|
description: "Vue 360° d'une ressource : info, profil technique, positionnements, absences, CRA récents.",
|
|
151
176
|
argsSchema: {
|
|
152
|
-
resource_id: z.string().describe("
|
|
177
|
+
resource_id: z.string().describe("Ressource ciblée. " + ID_OR_NAME_HINT_RESOURCE),
|
|
153
178
|
},
|
|
154
179
|
build: ({ resource_id }) => {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
`4. \`boond_resources_positionings(id="${resource_id}")\` — positionnements actifs et historiques`,
|
|
163
|
-
`5. \`boond_resources_projects(id="${resource_id}")\` — projets passés/en cours`,
|
|
164
|
-
`6. \`boond_resources_absences_reports(id="${resource_id}")\` — absences à venir et passées récentes`,
|
|
165
|
-
`7. \`boond_resources_times_reports(id="${resource_id}")\` — CRA des 3 derniers mois`,
|
|
166
|
-
"",
|
|
167
|
-
"Restitution : un document structuré en sections (Identité / Profil technique / Mission actuelle / Historique projets / Disponibilité / RH si pertinent). Mettre en évidence : projet courant, prochaine date de fin de mission, prochaine absence, taux d'occupation moyen sur 3 mois.",
|
|
168
|
-
].join("\n");
|
|
180
|
+
const r = resolveEntity(resource_id ?? "", "resource", "<RESOURCE_ID>");
|
|
181
|
+
const idLit = r.idForFilter;
|
|
182
|
+
const lines = [`Produis la fiche complète de la ressource ${idLit}.`, ""];
|
|
183
|
+
if (r.preamble)
|
|
184
|
+
lines.push(r.preamble);
|
|
185
|
+
lines.push("Étapes (à exécuter en parallèle quand possible) :", `1. \`boond_resources_information(id="${idLit}")\` — coordonnées et état civil`, `2. \`boond_resources_technical_data(id="${idLit}")\` — compétences, formations, langues, CV`, `3. \`boond_resources_administrative(id="${idLit}")\` — données RH (TJM, salaire, contrat) si autorisé`, `4. \`boond_resources_positionings(id="${idLit}")\` — positionnements actifs et historiques`, `5. \`boond_resources_projects(id="${idLit}")\` — projets passés/en cours`, `6. \`boond_resources_absences_reports(id="${idLit}")\` — absences à venir et passées récentes`, `7. \`boond_resources_times_reports(id="${idLit}")\` — CRA des 3 derniers mois`, "", "Restitution : un document structuré en sections (Identité / Profil technique / Mission actuelle / Historique projets / Disponibilité / RH si pertinent). Mettre en évidence : projet courant, prochaine date de fin de mission, prochaine absence, taux d'occupation moyen sur 3 mois.");
|
|
186
|
+
return lines.join("\n");
|
|
169
187
|
},
|
|
170
188
|
},
|
|
171
189
|
{
|
|
@@ -184,39 +202,35 @@ const PROMPTS = [
|
|
|
184
202
|
manager_id: z
|
|
185
203
|
.string()
|
|
186
204
|
.optional()
|
|
187
|
-
.describe("
|
|
205
|
+
.describe("Manager pour restreindre à son équipe. " +
|
|
206
|
+
ID_OR_NAME_HINT_RESOURCE +
|
|
207
|
+
" Si absent, scope = mon équipe via `perimeterDynamic: ['managers']`."),
|
|
188
208
|
},
|
|
189
209
|
build: ({ start_date, end_date, competences, manager_id }) => {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
210
|
+
let preamble = "";
|
|
211
|
+
let scope;
|
|
212
|
+
if (manager_id) {
|
|
213
|
+
const r = resolveEntity(manager_id, "resource", "<MANAGER_ID>");
|
|
214
|
+
preamble = r.preamble;
|
|
215
|
+
scope = `\`perimeterManagers: [${r.idForFilter}]\``;
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
scope = "`perimeterDynamic: ['managers']` (mon équipe / mes N-1)";
|
|
219
|
+
}
|
|
193
220
|
const skillsStep = competences
|
|
194
221
|
? `1. Mapper les compétences « ${competences} » vers leurs IDs : \`boond_application_dictionary\` avec \`setting.tool\` (et éventuellement \`setting.expertiseArea\`).`
|
|
195
222
|
: "1. Pas de filtre compétences fourni — passer directement à l'étape 2.";
|
|
196
223
|
const toolsLine = competences
|
|
197
224
|
? " - `tools: [...]` issus de l'étape 1 (logique OU ; pour exiger toutes les compétences, mettre `'#AND#'` en 1er élément)"
|
|
198
225
|
: "";
|
|
199
|
-
|
|
226
|
+
const lines = [
|
|
200
227
|
`Identifie les ressources internes disponibles pour un staffing entre ${start_date} et ${end_date}.`,
|
|
201
228
|
"",
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
` - \`period: "available"\`, \`startDate: "${start_date}"\`, \`endDate: "${end_date}"\``,
|
|
208
|
-
` - ${scope}`,
|
|
209
|
-
toolsLine,
|
|
210
|
-
" - `resourceStates: [...]` filtrés sur les états « actif » uniquement (consulter `setting.state.resource` via `boond_application_dictionary`)",
|
|
211
|
-
' - `pageSize: 50`, `sort: "availability"`, `order: "asc"`',
|
|
212
|
-
"3. Pour les 15 premières ressources retournées (en parallèle) :",
|
|
213
|
-
" - `boond_resources_positionings` — vérifier qu'aucun positionnement actif ne couvre déjà la fenêtre",
|
|
214
|
-
" - `boond_resources_technical_data` — confirmer compétences clés et niveau d'expérience",
|
|
215
|
-
"4. Restituer un tableau trié par date de disponibilité : ressource | titre | dispo le | compétences matchées | mobilité | manager | TJM cible.",
|
|
216
|
-
"5. Conclure par les 3 profils prioritaires à activer + un signal si la pénurie est forte (< 5 résultats — suggérer d'élargir la fenêtre ou les compétences).",
|
|
217
|
-
]
|
|
218
|
-
.filter(Boolean)
|
|
219
|
-
.join("\n");
|
|
229
|
+
];
|
|
230
|
+
if (preamble)
|
|
231
|
+
lines.push(preamble);
|
|
232
|
+
lines.push(`Périmètre : ${scope}.`, "", "Étapes :", skillsStep, "2. Appeler `boond_resources_search` avec :", ` - \`period: "available"\`, \`startDate: "${start_date}"\`, \`endDate: "${end_date}"\``, ` - ${scope}`, toolsLine, " - `resourceStates: [...]` filtrés sur les états « actif » uniquement (consulter `setting.state.resource` via `boond_application_dictionary`)", ' - `pageSize: 50`, `sort: "availability"`, `order: "asc"`', "3. Pour les 15 premières ressources retournées (en parallèle) :", " - `boond_resources_positionings` — vérifier qu'aucun positionnement actif ne couvre déjà la fenêtre", " - `boond_resources_technical_data` — confirmer compétences clés et niveau d'expérience", "4. Restituer un tableau trié par date de disponibilité : ressource | titre | dispo le | compétences matchées | mobilité | manager | TJM cible.", "5. Conclure par les 3 profils prioritaires à activer + un signal si la pénurie est forte (< 5 résultats — suggérer d'élargir la fenêtre ou les compétences).");
|
|
233
|
+
return lines.filter(Boolean).join("\n");
|
|
220
234
|
},
|
|
221
235
|
},
|
|
222
236
|
{
|
|
@@ -232,33 +246,30 @@ const PROMPTS = [
|
|
|
232
246
|
manager_id: z
|
|
233
247
|
.string()
|
|
234
248
|
.optional()
|
|
235
|
-
.describe("
|
|
249
|
+
.describe("Manager pour restreindre à son équipe. " +
|
|
250
|
+
ID_OR_NAME_HINT_RESOURCE +
|
|
251
|
+
" Si absent, scope = mon équipe via `perimeterDynamic: ['managers']`."),
|
|
236
252
|
},
|
|
237
253
|
build: ({ horizon_jours, manager_id }) => {
|
|
238
254
|
const horizon = horizon_jours || "60";
|
|
239
|
-
|
|
240
|
-
|
|
255
|
+
let preamble = "";
|
|
256
|
+
let scope;
|
|
257
|
+
if (manager_id) {
|
|
258
|
+
const r = resolveEntity(manager_id, "resource", "<MANAGER_ID>");
|
|
259
|
+
preamble = r.preamble;
|
|
260
|
+
scope = `\`perimeterManagers: [${r.idForFilter}]\``;
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
scope = "`perimeterDynamic: ['managers']`";
|
|
264
|
+
}
|
|
265
|
+
const lines = [
|
|
241
266
|
`Liste les ressources dont la mission se termine dans les ${horizon} prochains jours.`,
|
|
242
267
|
"",
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
' - `period: "available"`, `startDate: D`, `endDate: D+H`',
|
|
249
|
-
` - ${scope}`,
|
|
250
|
-
" - `resourceStates` filtrés sur les états « actif » (consulter `setting.state.resource`)",
|
|
251
|
-
' - `pageSize: 100`, `sort: "availability"`, `order: "asc"`',
|
|
252
|
-
" → Cela retourne les ressources qui (re)deviennent disponibles dans la fenêtre — proxy direct pour « fin de mission ».",
|
|
253
|
-
"3. Pour chaque ressource, en parallèle :",
|
|
254
|
-
" - `boond_resources_positionings` — récupérer le positionnement courant (projet + société + date de fin) et détecter d'éventuels positionnements de relais déjà actés",
|
|
255
|
-
" - `boond_resources_projects` — historique projet récent pour contexte",
|
|
256
|
-
"4. Restituer un tableau trié par date de fin croissante : ressource | projet courant | société cliente | date de fin | jours restants | manager | relais déjà identifié (oui/non).",
|
|
257
|
-
"5. Mettre en évidence en haut du tableau :",
|
|
258
|
-
" - **Urgent** : fin dans <= 15 jours sans relais identifié",
|
|
259
|
-
" - **À surveiller** : fin entre 15 et 30 jours sans relais",
|
|
260
|
-
"6. Conclure par 3-5 actions concrètes : relances commerciales, repositionnements internes, etc.",
|
|
261
|
-
].join("\n");
|
|
268
|
+
];
|
|
269
|
+
if (preamble)
|
|
270
|
+
lines.push(preamble);
|
|
271
|
+
lines.push(`Périmètre : ${scope}.`, "", "Étapes :", `1. Calculer la fenêtre : aujourd'hui (D) → D + ${horizon} jours (D+H). Conserver ces deux dates au format YYYY-MM-DD.`, "2. Appeler `boond_resources_search` avec :", ' - `period: "available"`, `startDate: D`, `endDate: D+H`', ` - ${scope}`, " - `resourceStates` filtrés sur les états « actif » (consulter `setting.state.resource`)", ' - `pageSize: 100`, `sort: "availability"`, `order: "asc"`', " → Cela retourne les ressources qui (re)deviennent disponibles dans la fenêtre — proxy direct pour « fin de mission ».", "3. Pour chaque ressource, en parallèle :", " - `boond_resources_positionings` — récupérer le positionnement courant (projet + société + date de fin) et détecter d'éventuels positionnements de relais déjà actés", " - `boond_resources_projects` — historique projet récent pour contexte", "4. Restituer un tableau trié par date de fin croissante : ressource | projet courant | société cliente | date de fin | jours restants | manager | relais déjà identifié (oui/non).", "5. Mettre en évidence en haut du tableau :", " - **Urgent** : fin dans <= 15 jours sans relais identifié", " - **À surveiller** : fin entre 15 et 30 jours sans relais", "6. Conclure par 3-5 actions concrètes : relances commerciales, repositionnements internes, etc.");
|
|
272
|
+
return lines.join("\n");
|
|
262
273
|
},
|
|
263
274
|
},
|
|
264
275
|
{
|
|
@@ -270,44 +281,37 @@ const PROMPTS = [
|
|
|
270
281
|
manager_id: z
|
|
271
282
|
.string()
|
|
272
283
|
.optional()
|
|
273
|
-
.describe("
|
|
284
|
+
.describe("Manager pour cibler son équipe. " +
|
|
285
|
+
ID_OR_NAME_HINT_RESOURCE +
|
|
286
|
+
" Si absent, scope = mon équipe via `perimeterDynamic: ['managers']`."),
|
|
274
287
|
agency_id: z
|
|
275
288
|
.string()
|
|
276
289
|
.optional()
|
|
277
|
-
.describe("
|
|
290
|
+
.describe("Agence pour cartographier toute une agence (alternatif à `manager_id`). " + ID_OR_NAME_HINT_AGENCY),
|
|
278
291
|
top_n: z.string().optional().describe("Nombre de compétences à mettre en avant dans le top (défaut: 20)."),
|
|
279
292
|
},
|
|
280
293
|
build: ({ manager_id, agency_id, top_n }) => {
|
|
281
294
|
const top = top_n || "20";
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
" - **Saturées** : compétences possédées par > 70% de l'équipe (potentielle banalisation)",
|
|
303
|
-
"5. Croiser avec les opportunités ouvertes via `boond_opportunities_search` (`opportunityStates` actifs, `perimeterDynamic`/`perimeterAgencies` cohérents) et leurs `tools` :",
|
|
304
|
-
" - **Manquantes** : compétences demandées sur les opportunités mais absentes du périmètre — alerte recrutement / formation",
|
|
305
|
-
"6. Restituer en 4 sections :",
|
|
306
|
-
` - Top ${top} compétences (tableau : compétence | nb ressources | exemples de noms)`,
|
|
307
|
-
" - Compétences rares (avec porteurs nominatifs et nombre d'opportunités demandant cette compétence)",
|
|
308
|
-
" - Compétences saturées",
|
|
309
|
-
" - Compétences manquantes vs opportunités (recommandations recrutement / formation)",
|
|
310
|
-
].join("\n");
|
|
295
|
+
let preamble = "";
|
|
296
|
+
let scope;
|
|
297
|
+
if (agency_id) {
|
|
298
|
+
const r = resolveEntity(agency_id, "agency", "<AGENCY_ID>");
|
|
299
|
+
preamble = r.preamble;
|
|
300
|
+
scope = `\`perimeterAgencies: [${r.idForFilter}]\``;
|
|
301
|
+
}
|
|
302
|
+
else if (manager_id) {
|
|
303
|
+
const r = resolveEntity(manager_id, "resource", "<MANAGER_ID>");
|
|
304
|
+
preamble = r.preamble;
|
|
305
|
+
scope = `\`perimeterManagers: [${r.idForFilter}]\``;
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
scope = "`perimeterDynamic: ['managers']`";
|
|
309
|
+
}
|
|
310
|
+
const lines = ["Cartographie les compétences techniques du périmètre.", ""];
|
|
311
|
+
if (preamble)
|
|
312
|
+
lines.push(preamble);
|
|
313
|
+
lines.push(`Périmètre : ${scope}.`, "", "Étapes :", "1. Lister les ressources actives via `boond_resources_search` :", ` - ${scope}`, " - `resourceStates` filtrés sur les états « actif » (consulter `setting.state.resource` via `boond_application_dictionary`)", " - `pageSize: 100` (paginer si > 100)", "2. Récupérer le dictionnaire `setting.tool` (et `setting.expertiseArea`, `setting.languageSpoken`) via `boond_application_dictionary` pour traduire les IDs en libellés.", "3. Pour chaque ressource (par batchs parallèles), appeler `boond_resources_technical_data` et extraire `tools`, `expertiseAreas`, `languages`, `experiences`.", "4. Agréger côté agent :", ` - **Top ${top}** : compétences les plus représentées (nb de ressources)`, " - **Rares** : compétences possédées par 1 ou 2 personnes (risque bus-factor)", " - **Saturées** : compétences possédées par > 70% de l'équipe (potentielle banalisation)", "5. Croiser avec les opportunités ouvertes via `boond_opportunities_search` (`opportunityStates` actifs, `perimeterDynamic`/`perimeterAgencies` cohérents) et leurs `tools` :", " - **Manquantes** : compétences demandées sur les opportunités mais absentes du périmètre — alerte recrutement / formation", "6. Restituer en 4 sections :", ` - Top ${top} compétences (tableau : compétence | nb ressources | exemples de noms)`, " - Compétences rares (avec porteurs nominatifs et nombre d'opportunités demandant cette compétence)", " - Compétences saturées", " - Compétences manquantes vs opportunités (recommandations recrutement / formation)");
|
|
314
|
+
return lines.join("\n");
|
|
311
315
|
},
|
|
312
316
|
},
|
|
313
317
|
{
|
|
@@ -323,35 +327,30 @@ const PROMPTS = [
|
|
|
323
327
|
manager_id: z
|
|
324
328
|
.string()
|
|
325
329
|
.optional()
|
|
326
|
-
.describe("
|
|
330
|
+
.describe("Manager pour cibler son équipe. " +
|
|
331
|
+
ID_OR_NAME_HINT_RESOURCE +
|
|
332
|
+
" Si absent, scope = mon équipe via `perimeterDynamic: ['managers']`."),
|
|
327
333
|
},
|
|
328
334
|
build: ({ seuil_mois, manager_id }) => {
|
|
329
335
|
const seuil = seuil_mois || "12";
|
|
330
|
-
|
|
331
|
-
|
|
336
|
+
let preamble = "";
|
|
337
|
+
let scope;
|
|
338
|
+
if (manager_id) {
|
|
339
|
+
const r = resolveEntity(manager_id, "resource", "<MANAGER_ID>");
|
|
340
|
+
preamble = r.preamble;
|
|
341
|
+
scope = `\`perimeterManagers: [${r.idForFilter}]\``;
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
scope = "`perimeterDynamic: ['managers']`";
|
|
345
|
+
}
|
|
346
|
+
const lines = [
|
|
332
347
|
`Identifie les CV / dossiers techniques à rafraîchir (seuil d'obsolescence : ${seuil} mois).`,
|
|
333
348
|
"",
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
" - `resourceStates` filtrés sur les états « actif » (consulter `setting.state.resource`)",
|
|
340
|
-
" - `pageSize: 100` (paginer si nécessaire)",
|
|
341
|
-
"2. Pour chaque ressource (par batchs parallèles), appeler `boond_resources_technical_data` et lire :",
|
|
342
|
-
" - `updateDate` du dossier technique",
|
|
343
|
-
" - présence et longueur du CV (`resume`)",
|
|
344
|
-
" - nombre de compétences déclarées (`tools`)",
|
|
345
|
-
" - nombre d'expériences renseignées",
|
|
346
|
-
"3. Filtrer côté agent : ne conserver que les ressources dont au moins UN critère est défaillant —",
|
|
347
|
-
` - \`updateDate\` antérieure de plus de ${seuil} mois, OU`,
|
|
348
|
-
" - CV manquant / vide, OU",
|
|
349
|
-
" - moins de 3 compétences (`tools`) déclarées, OU",
|
|
350
|
-
" - aucune expérience renseignée.",
|
|
351
|
-
'4. Croiser avec la disponibilité pour prioriser : `boond_resources_search` avec `period: "available"` + fenêtre des 3 prochains mois, et marquer les ressources concernées comme **prioritaires**.',
|
|
352
|
-
"5. Restituer un tableau de relance trié par priorité décroissante : ressource | manager | dernière maj DT | jours d'ancienneté | trous (CV manquant / 0 compétences / 0 expérience) | bientôt dispo (oui/non).",
|
|
353
|
-
"6. Conclure par les 5 ressources à relancer en premier (avec template de message court à envoyer au manager).",
|
|
354
|
-
].join("\n");
|
|
349
|
+
];
|
|
350
|
+
if (preamble)
|
|
351
|
+
lines.push(preamble);
|
|
352
|
+
lines.push(`Périmètre : ${scope}.`, "", "Étapes :", "1. Lister les ressources actives via `boond_resources_search` :", ` - ${scope}`, " - `resourceStates` filtrés sur les états « actif » (consulter `setting.state.resource`)", " - `pageSize: 100` (paginer si nécessaire)", "2. Pour chaque ressource (par batchs parallèles), appeler `boond_resources_technical_data` et lire :", " - `updateDate` du dossier technique", " - présence et longueur du CV (`resume`)", " - nombre de compétences déclarées (`tools`)", " - nombre d'expériences renseignées", "3. Filtrer côté agent : ne conserver que les ressources dont au moins UN critère est défaillant —", ` - \`updateDate\` antérieure de plus de ${seuil} mois, OU`, " - CV manquant / vide, OU", " - moins de 3 compétences (`tools`) déclarées, OU", " - aucune expérience renseignée.", '4. Croiser avec la disponibilité pour prioriser : `boond_resources_search` avec `period: "available"` + fenêtre des 3 prochains mois, et marquer les ressources concernées comme **prioritaires**.', "5. Restituer un tableau de relance trié par priorité décroissante : ressource | manager | dernière maj DT | jours d'ancienneté | trous (CV manquant / 0 compétences / 0 expérience) | bientôt dispo (oui/non).", "6. Conclure par les 5 ressources à relancer en premier (avec template de message court à envoyer au manager).");
|
|
353
|
+
return lines.join("\n");
|
|
355
354
|
},
|
|
356
355
|
},
|
|
357
356
|
{
|
|
@@ -378,48 +377,38 @@ const PROMPTS = [
|
|
|
378
377
|
manager_id: z
|
|
379
378
|
.string()
|
|
380
379
|
.optional()
|
|
381
|
-
.describe("
|
|
380
|
+
.describe("Manager pour restreindre le scope ressources internes. " +
|
|
381
|
+
ID_OR_NAME_HINT_RESOURCE +
|
|
382
|
+
" Sinon scope ouvert (toute l'organisation accessible)."),
|
|
382
383
|
},
|
|
383
384
|
build: ({ competences, experience_min, dispo_avant, inclure_candidats, manager_id }) => {
|
|
384
385
|
const includeCandidates = (inclure_candidats || "oui").toLowerCase() !== "non";
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
386
|
+
let preamble = "";
|
|
387
|
+
let scope;
|
|
388
|
+
let scopeFilter;
|
|
389
|
+
if (manager_id) {
|
|
390
|
+
const r = resolveEntity(manager_id, "resource", "<MANAGER_ID>");
|
|
391
|
+
preamble = r.preamble;
|
|
392
|
+
scopeFilter = `\`perimeterManagers: [${r.idForFilter}]\``;
|
|
393
|
+
scope = scopeFilter;
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
scope = "(pas de filtre périmètre — recherche sur l'ensemble accessible à l'utilisateur)";
|
|
397
|
+
scopeFilter = "";
|
|
398
|
+
}
|
|
388
399
|
const dispoLine = dispo_avant
|
|
389
400
|
? ` - \`period: "available"\`, \`endDate: "${dispo_avant}"\` (disponible au plus tard à cette date)`
|
|
390
401
|
: "";
|
|
391
402
|
const expStep = experience_min
|
|
392
403
|
? `2bis. Mapper l'expérience minimum « ${experience_min} » vers les IDs \`experiences\` via \`boond_application_dictionary\` avec \`setting.experience\`.`
|
|
393
404
|
: "";
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
"",
|
|
400
|
-
|
|
401
|
-
"1. Mapper les compétences libres vers leurs IDs :",
|
|
402
|
-
" - `boond_application_dictionary` avec `setting.tool` pour les outils / technos",
|
|
403
|
-
" - `boond_application_dictionary` avec `setting.expertiseArea` pour les domaines d'expertise",
|
|
404
|
-
"2. Identifier les compétences indispensables (toutes requises) vs souhaitables, à partir du libellé du besoin.",
|
|
405
|
-
expStep,
|
|
406
|
-
"3. Recherche dans les ressources internes via `boond_resources_search` :",
|
|
407
|
-
' - `tools: [...]` (si plusieurs compétences indispensables, préfixer par `"#AND#"` pour exiger toutes ; sinon laisser en OU)',
|
|
408
|
-
" - `expertiseAreas: [...]` éventuellement",
|
|
409
|
-
experience_min ? " - `experiences: [...]` issus de l'étape 2bis" : "",
|
|
410
|
-
dispoLine,
|
|
411
|
-
manager_id ? ` - ${scope}` : "",
|
|
412
|
-
" - `resourceStates` actifs uniquement (consulter `setting.state.resource`)",
|
|
413
|
-
" - `pageSize: 30`",
|
|
414
|
-
includeCandidates
|
|
415
|
-
? "4. En parallèle, recherche dans les candidats via `boond_candidates_search` avec les mêmes filtres + `candidateStates` actifs (consulter `setting.state.candidate`)."
|
|
416
|
-
: "4. (Skip — recherche limitée aux ressources internes.)",
|
|
417
|
-
"5. Pour les top 10 résultats combinés, récupérer `technical_data` (`boond_resources_technical_data` ou `boond_candidates_technical_data`) pour vérifier l'adéquation fine.",
|
|
418
|
-
"6. Restituer un classement unique : type (Ressource interne / Candidat) | nom | titre | compétences matchées | expérience | dispo | localisation/mobilité | note d'adéquation /10 (1 ligne de justification).",
|
|
419
|
-
"7. Si moins de 5 résultats : suggérer un assouplissement (retirer une compétence secondaire, élargir le périmètre géographique, accepter un junior, sous-traitance).",
|
|
420
|
-
]
|
|
421
|
-
.filter(Boolean)
|
|
422
|
-
.join("\n");
|
|
405
|
+
const lines = [`Recherche un profil correspondant aux compétences : « ${competences} ».`, ""];
|
|
406
|
+
if (preamble)
|
|
407
|
+
lines.push(preamble);
|
|
408
|
+
lines.push(`Scope ressources internes : ${scope}.`, `Inclure les candidats actifs : ${includeCandidates ? "oui" : "non"}.`, "", "Étapes :", "1. Mapper les compétences libres vers leurs IDs :", " - `boond_application_dictionary` avec `setting.tool` pour les outils / technos", " - `boond_application_dictionary` avec `setting.expertiseArea` pour les domaines d'expertise", "2. Identifier les compétences indispensables (toutes requises) vs souhaitables, à partir du libellé du besoin.", expStep, "3. Recherche dans les ressources internes via `boond_resources_search` :", ' - `tools: [...]` (si plusieurs compétences indispensables, préfixer par `"#AND#"` pour exiger toutes ; sinon laisser en OU)', " - `expertiseAreas: [...]` éventuellement", experience_min ? " - `experiences: [...]` issus de l'étape 2bis" : "", dispoLine, scopeFilter ? ` - ${scopeFilter}` : "", " - `resourceStates` actifs uniquement (consulter `setting.state.resource`)", " - `pageSize: 30`", includeCandidates
|
|
409
|
+
? "4. En parallèle, recherche dans les candidats via `boond_candidates_search` avec les mêmes filtres + `candidateStates` actifs (consulter `setting.state.candidate`)."
|
|
410
|
+
: "4. (Skip — recherche limitée aux ressources internes.)", "5. Pour les top 10 résultats combinés, récupérer `technical_data` (`boond_resources_technical_data` ou `boond_candidates_technical_data`) pour vérifier l'adéquation fine.", "6. Restituer un classement unique : type (Ressource interne / Candidat) | nom | titre | compétences matchées | expérience | dispo | localisation/mobilité | note d'adéquation /10 (1 ligne de justification).", "7. Si moins de 5 résultats : suggérer un assouplissement (retirer une compétence secondaire, élargir le périmètre géographique, accepter un junior, sous-traitance).");
|
|
411
|
+
return lines.filter(Boolean).join("\n");
|
|
423
412
|
},
|
|
424
413
|
},
|
|
425
414
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
|
package/manifest.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "boondmanager-mcp-server",
|
|
4
4
|
"display_name": "BoondManager MCP Server",
|
|
5
|
-
"version": "1.7.
|
|
6
|
-
"description": "MCP Server for BoondManager API - 156 tools, 11 prompts, 20 resources
|
|
5
|
+
"version": "1.7.2",
|
|
6
|
+
"description": "MCP Server for BoondManager API - 156 tools, 11 prompts, 20 resources (ERP/CRM)",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Frédéric Auguste",
|
|
9
9
|
"url": "https://github.com/fauguste/boondmanager-mcp-server"
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "boondmanager-mcp-server",
|
|
3
|
-
"version": "1.7.
|
|
4
|
-
"description": "MCP Server for BoondManager API -
|
|
3
|
+
"version": "1.7.2",
|
|
4
|
+
"description": "MCP Server for BoondManager API - 156 tools, 11 prompts, 20 resources (ERP/CRM)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"type": "module",
|