boondmanager-mcp-server 2.14.1 → 2.15.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.
Files changed (104) hide show
  1. package/dist/constants.d.ts +1 -0
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/constants.js +33 -0
  4. package/dist/constants.js.map +1 -1
  5. package/dist/tools/absences.d.ts.map +1 -1
  6. package/dist/tools/absences.js +31 -4
  7. package/dist/tools/absences.js.map +1 -1
  8. package/dist/tools/actions.d.ts.map +1 -1
  9. package/dist/tools/actions.js +10 -2
  10. package/dist/tools/actions.js.map +1 -1
  11. package/dist/tools/advantages.d.ts.map +1 -1
  12. package/dist/tools/advantages.js +5 -1
  13. package/dist/tools/advantages.js.map +1 -1
  14. package/dist/tools/application.js +1 -1
  15. package/dist/tools/application.js.map +1 -1
  16. package/dist/tools/candidates.d.ts.map +1 -1
  17. package/dist/tools/candidates.js +18 -53
  18. package/dist/tools/candidates.js.map +1 -1
  19. package/dist/tools/companies.d.ts.map +1 -1
  20. package/dist/tools/companies.js +26 -78
  21. package/dist/tools/companies.js.map +1 -1
  22. package/dist/tools/contacts.d.ts.map +1 -1
  23. package/dist/tools/contacts.js +18 -59
  24. package/dist/tools/contacts.js.map +1 -1
  25. package/dist/tools/contracts.d.ts.map +1 -1
  26. package/dist/tools/contracts.js +23 -6
  27. package/dist/tools/contracts.js.map +1 -1
  28. package/dist/tools/crud-factory.d.ts +3 -0
  29. package/dist/tools/crud-factory.d.ts.map +1 -1
  30. package/dist/tools/crud-factory.js +11 -32
  31. package/dist/tools/crud-factory.js.map +1 -1
  32. package/dist/tools/deliveries.d.ts.map +1 -1
  33. package/dist/tools/deliveries.js +16 -2
  34. package/dist/tools/deliveries.js.map +1 -1
  35. package/dist/tools/description-builders.d.ts +135 -0
  36. package/dist/tools/description-builders.d.ts.map +1 -0
  37. package/dist/tools/description-builders.js +152 -0
  38. package/dist/tools/description-builders.js.map +1 -0
  39. package/dist/tools/documents.d.ts.map +1 -1
  40. package/dist/tools/documents.js +7 -3
  41. package/dist/tools/documents.js.map +1 -1
  42. package/dist/tools/expenses.d.ts.map +1 -1
  43. package/dist/tools/expenses.js +6 -1
  44. package/dist/tools/expenses.js.map +1 -1
  45. package/dist/tools/invoices.d.ts.map +1 -1
  46. package/dist/tools/invoices.js +9 -2
  47. package/dist/tools/invoices.js.map +1 -1
  48. package/dist/tools/notifications.d.ts.map +1 -1
  49. package/dist/tools/notifications.js +5 -1
  50. package/dist/tools/notifications.js.map +1 -1
  51. package/dist/tools/opportunities.d.ts.map +1 -1
  52. package/dist/tools/opportunities.js +20 -55
  53. package/dist/tools/opportunities.js.map +1 -1
  54. package/dist/tools/orders.d.ts.map +1 -1
  55. package/dist/tools/orders.js +6 -1
  56. package/dist/tools/orders.js.map +1 -1
  57. package/dist/tools/parameter-disclosure.d.ts +5 -0
  58. package/dist/tools/parameter-disclosure.d.ts.map +1 -0
  59. package/dist/tools/parameter-disclosure.js +71 -0
  60. package/dist/tools/parameter-disclosure.js.map +1 -0
  61. package/dist/tools/payments.d.ts.map +1 -1
  62. package/dist/tools/payments.js +15 -2
  63. package/dist/tools/payments.js.map +1 -1
  64. package/dist/tools/positionings.d.ts.map +1 -1
  65. package/dist/tools/positionings.js +20 -3
  66. package/dist/tools/positionings.js.map +1 -1
  67. package/dist/tools/projects.d.ts.map +1 -1
  68. package/dist/tools/projects.js +24 -67
  69. package/dist/tools/projects.js.map +1 -1
  70. package/dist/tools/provider-invoices.d.ts.map +1 -1
  71. package/dist/tools/provider-invoices.js +25 -3
  72. package/dist/tools/provider-invoices.js.map +1 -1
  73. package/dist/tools/purchases.d.ts.map +1 -1
  74. package/dist/tools/purchases.js +20 -3
  75. package/dist/tools/purchases.js.map +1 -1
  76. package/dist/tools/registration-decorators.d.ts +6 -1
  77. package/dist/tools/registration-decorators.d.ts.map +1 -1
  78. package/dist/tools/registration-decorators.js +8 -1
  79. package/dist/tools/registration-decorators.js.map +1 -1
  80. package/dist/tools/reporting.d.ts.map +1 -1
  81. package/dist/tools/reporting.js +25 -7
  82. package/dist/tools/reporting.js.map +1 -1
  83. package/dist/tools/resources.d.ts.map +1 -1
  84. package/dist/tools/resources.js +44 -87
  85. package/dist/tools/resources.js.map +1 -1
  86. package/dist/tools/tab-tools.d.ts +23 -0
  87. package/dist/tools/tab-tools.d.ts.map +1 -0
  88. package/dist/tools/tab-tools.js +48 -0
  89. package/dist/tools/tab-tools.js.map +1 -0
  90. package/dist/tools/timesheets.d.ts.map +1 -1
  91. package/dist/tools/timesheets.js +11 -1
  92. package/dist/tools/timesheets.js.map +1 -1
  93. package/dist/tools/usage-guidance.d.ts +45 -0
  94. package/dist/tools/usage-guidance.d.ts.map +1 -0
  95. package/dist/tools/usage-guidance.js +235 -0
  96. package/dist/tools/usage-guidance.js.map +1 -0
  97. package/dist/tools/validations.d.ts.map +1 -1
  98. package/dist/tools/validations.js +5 -1
  99. package/dist/tools/validations.js.map +1 -1
  100. package/dist/tools/workflows.d.ts.map +1 -1
  101. package/dist/tools/workflows.js +13 -4
  102. package/dist/tools/workflows.js.map +1 -1
  103. package/manifest.json +1 -1
  104. package/package.json +1 -1
@@ -0,0 +1,152 @@
1
+ import { DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE, MAX_SEARCH_PAGE } from "../constants.js";
2
+ /**
3
+ * Render a spec into the catalogue's uniform layout. Sections are omitted when
4
+ * empty rather than emitted blank, so a two-line reference tool stays two
5
+ * lines.
6
+ */
7
+ export function composeDescription(spec) {
8
+ const blocks = [spec.purpose.trim()];
9
+ const guidance = [];
10
+ if (spec.when)
11
+ guidance.push(`Quand : ${spec.when.trim()}`);
12
+ if (spec.instead)
13
+ guidance.push(`Plutôt que : ${spec.instead.trim()}`);
14
+ if (guidance.length > 0)
15
+ blocks.push(guidance.join("\n"));
16
+ if (spec.details)
17
+ blocks.push(spec.details.trim());
18
+ const behaviour = (spec.behaviour ?? []).map((b) => b.trim()).filter((b) => b.length > 0);
19
+ if (behaviour.length > 0)
20
+ blocks.push(behaviour.map((b) => `- ${b}`).join("\n"));
21
+ blocks.push(`Returns : ${spec.returns.trim()}`);
22
+ return blocks.join("\n\n");
23
+ }
24
+ // ---- Facts that must never drift out of sync with the schemas -------------
25
+ /**
26
+ * The pagination contract, worded from `constants.ts`. `page` is capped rather
27
+ * than clamped — the schema *rejects* a higher page so the model refines its
28
+ * filters instead of walking 50 000 records (see `MAX_SEARCH_PAGE`).
29
+ */
30
+ export const PAGINATION_DISCLOSURE = `Pagination : \`pageSize\` 1–${MAX_PAGE_SIZE} (défaut ${DEFAULT_PAGE_SIZE}), ` +
31
+ `\`page\` 1–${MAX_SEARCH_PAGE} — au-delà : refus, affiner les filtres.`;
32
+ /**
33
+ * The opposite contract, for the reference routes that accept `maxResults` and
34
+ * discard it (see `TOOLS_IGNORING_PAGINATION`, measured against the live API).
35
+ * Says the two things a caller acts on: asking for fewer rows changes nothing,
36
+ * and there is no second page to fetch.
37
+ *
38
+ * Stating the ceiling on these tools would be the same defect the catalogue
39
+ * just removed — a description promising behaviour the endpoint does not have.
40
+ */
41
+ export const PAGINATION_INERT_DISCLOSURE = "Pagination sans effet : cette route renvoie toujours la table complète, " +
42
+ "`pageSize` et `page` sont ignorés par l'API — inutile de paginer, tout est déjà là.";
43
+ /**
44
+ * `fields` is the catalogue's main token-economy lever and is invisible in the
45
+ * schema alone: the name list is applied *client-side* to the response, is
46
+ * never forwarded to BoondManager, and silently ignores names the entity does
47
+ * not carry. A model that does not know this either never uses it or expects
48
+ * it to filter server-side.
49
+ *
50
+ * Kept deliberately terse. `SERVER_INSTRUCTIONS` already states the rule once
51
+ * for the whole session, and this repeats it on 32 tools — a duplication the
52
+ * project otherwise avoids on purpose (see `fieldsField` in
53
+ * `src/schemas/index.ts`, terse for the same reason). It is here because a
54
+ * tool-definition scorer, and a client that lists tools without ever reading
55
+ * `instructions`, both see the tool in isolation; every word is therefore paid
56
+ * 32 times, so it stays at the shortest form that still says *client-side*,
57
+ * *never sent*, and *silently ignored*.
58
+ */
59
+ export const FIELDS_DISCLOSURE = "`fields` : projection côté MCP, jamais transmise à l'API — remplace le résumé par les seuls " +
60
+ "attributs listés (noms inconnus ignorés). À utiliser sur les grosses pages.";
61
+ /**
62
+ * Default search description for a reference/admin domain: no endpoint-specific
63
+ * filter vocabulary, so the value it adds over the schema is the pointer to the
64
+ * matching `_get` and the shape of what comes back.
65
+ *
66
+ * It deliberately does **not** state the pagination or `fields` contracts.
67
+ * Those are appended by `withParameterDisclosure`, which is the single source
68
+ * for both — and has to be, because the right pagination sentence depends on
69
+ * the *route*: four reference endpoints accept `maxResults` and discard it
70
+ * (`TOOLS_IGNORING_PAGINATION`), so a template that hard-coded the ceiling
71
+ * would make a promise the endpoint breaks, and would suppress the correct
72
+ * wording by having already mentioned `pageSize`.
73
+ */
74
+ export function defaultSearchDescription(opts) {
75
+ return composeDescription({
76
+ purpose: `Liste et recherche les ${opts.entityNamePlural} de BoondManager, par mots-clés et pagination.`,
77
+ when: `pour retrouver l'ID d'un(e) ${opts.entityName} à partir de son nom, ou pour énumérer les ${opts.entityNamePlural} existant(e)s.`,
78
+ instead: `\`${opts.prefix}_get\` si l'ID est déjà connu — la recherche ne renvoie qu'un résumé d'une ligne par ${opts.entityName}.`,
79
+ returns: `page de résumés (ID + libellé principal), plus \`structuredContent.total\` = nombre total côté BoondManager. Lecture seule.`,
80
+ });
81
+ }
82
+ /** Default detail description; `withTab` mirrors `registerGetTool`. */
83
+ export function defaultGetDescription(opts) {
84
+ const behaviour = [
85
+ `Un ID inconnu remonte l'erreur BoondManager telle quelle — l'ID doit venir de \`${opts.prefix}_search\`, jamais d'une supposition.`,
86
+ ];
87
+ if (opts.withTab) {
88
+ behaviour.unshift("`tab` cible un onglet précis (`information`, `technical-data`, `administrative`, `actions`…) ; " +
89
+ "sans `tab`, seule la fiche de base est renvoyée, pas la réunion des onglets.");
90
+ }
91
+ return composeDescription({
92
+ purpose: `Récupère la fiche complète d'un(e) ${opts.entityName} par son ID numérique.`,
93
+ when: `après un \`${opts.prefix}_search\`, pour obtenir les attributs qui n'apparaissent pas dans le résumé de liste.`,
94
+ instead: `\`${opts.prefix}_search\` si l'ID n'est pas connu (cet outil n'accepte pas de nom).`,
95
+ behaviour,
96
+ returns: `JSON de l'entité (attributs + relations) tel que renvoyé par l'API. Lecture seule.`,
97
+ });
98
+ }
99
+ export function defaultCreateDescription(opts) {
100
+ return composeDescription({
101
+ purpose: `Crée un(e) ${opts.entityName} dans BoondManager.`,
102
+ when: `pour ajouter un(e) ${opts.entityName} inexistant(e).`,
103
+ instead: `\`${opts.prefix}_update\` pour modifier un enregistrement existant, et \`${opts.prefix}_search\` d'abord pour vérifier qu'il n'existe pas déjà.`,
104
+ behaviour: [
105
+ "Écriture réelle et non idempotente : deux appels identiques créent deux enregistrements (l'API ne déduplique pas).",
106
+ "Les ID de relations et les états/types sont des ID numériques BoondManager, à résoudre au préalable (recherches d'entités, `boond://dictionary/*`).",
107
+ ],
108
+ returns: `confirmation, ID créé, et la fiche complète. \`structuredContent.id\` est réutilisable directement pour chaîner un appel.`,
109
+ });
110
+ }
111
+ export function defaultUpdateDescription(opts) {
112
+ return composeDescription({
113
+ purpose: `Met à jour un(e) ${opts.entityName} existant(e), identifié(e) par son ID.`,
114
+ when: `pour modifier quelques champs d'un enregistrement déjà en base.`,
115
+ instead: `\`${opts.prefix}_create\` si l'enregistrement n'existe pas encore.`,
116
+ behaviour: [
117
+ "Mise à jour partielle : seuls les champs fournis sont écrits, les autres sont laissés en place.",
118
+ "Attention aux champs de type tableau, qui sont **remplacés** et non fusionnés.",
119
+ ],
120
+ returns: `confirmation et fiche mise à jour.`,
121
+ });
122
+ }
123
+ export function defaultDeleteDescription(opts) {
124
+ return composeDescription({
125
+ purpose: `Supprime définitivement un(e) ${opts.entityName} de BoondManager.`,
126
+ when: `uniquement sur demande explicite de l'utilisateur, et après avoir vérifié l'ID avec \`${opts.prefix}_get\`.`,
127
+ instead: `\`${opts.prefix}_update\` pour désactiver ou changer l'état d'un enregistrement sans le détruire — c'est presque toujours l'intention réelle.`,
128
+ behaviour: [
129
+ "⚠️ Irréversible, sans corbeille côté API.",
130
+ "Si le client MCP annonce la capacité `elicitation`, une confirmation est demandée à l'utilisateur final et un refus annule l'appel (`structuredContent.deleted: false` + `reason`) ; sinon la suppression part directement.",
131
+ ],
132
+ returns: `\`{ id, deleted, reason? }\` — vérifier \`deleted\`, qui vaut \`false\` en cas de refus utilisateur.`,
133
+ });
134
+ }
135
+ /**
136
+ * Tab tools are the catalogue's biggest disambiguation risk: 48 of them, all
137
+ * taking a bare `id`, all returning "some fields of one entity". The
138
+ * description therefore has to state which slice this one holds *and* that the
139
+ * generic `_get` with `tab` reaches the same data — otherwise a model picks by
140
+ * name similarity.
141
+ */
142
+ export function tabDescription(spec) {
143
+ const scope = spec.content ? `${spec.subject} (${spec.content})` : spec.subject;
144
+ return composeDescription({
145
+ purpose: `Récupère ${scope} d'un(e) ${spec.entityName}, par son ID.`,
146
+ when: `pour ne charger que cette section, sans le reste de la fiche.`,
147
+ instead: `\`${spec.prefix}_get\` pour la fiche de base, ou \`${spec.prefix}_search\` si l'ID est inconnu.`,
148
+ behaviour: spec.behaviour,
149
+ returns: `${spec.returns} Lecture seule.`,
150
+ });
151
+ }
152
+ //# sourceMappingURL=description-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description-builders.js","sourceRoot":"","sources":["../../src/tools/description-builders.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4H7D"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgI7D"}
@@ -17,8 +17,8 @@ Où trouver les IDs de documents : dans les onglets des entités — ex. boond_c
17
17
 
18
18
  Le contenu est retourné en ressource MCP embarquée (base64 pour les binaires type PDF/DOCX, texte brut pour les fichiers texte). Taille max: ${Math.round(MAX_DOCUMENT_BYTES / 1024 / 1024)} Mo — à n'utiliser que lorsque le contenu du fichier est réellement nécessaire (un CV en base64 occupe beaucoup de contexte).
19
19
 
20
- Args:
21
- - id (string): Identifiant du document, tel qu'exposé par la relation (ex. 123_resume)`,
20
+ Returns : le fichier en ressource MCP embarquée — \`blob\` base64 pour un binaire, \`text\` pour un mime texte.
21
+ Un ID inconnu est rejeté explicitement plutôt que de renvoyer la page d'accueil BoondManager, que l'API sert en HTTP 200 à la place d'un 404.`,
22
22
  inputSchema: DocumentIdSchema,
23
23
  annotations: {
24
24
  readOnlyHint: true,
@@ -115,7 +115,11 @@ Returns: Métadonnées du document créé (ID).`,
115
115
  // Delete a document — factory: élicitation de confirmation + structuredContent
116
116
  registerDeleteTool(server, { entityName: "document", entityNamePlural: "documents", apiPath: "/documents", prefix: "boond_documents" }, {
117
117
  title: "Supprimer un document",
118
- description: `Supprime un document de BoondManager. ⚠️ Action irréversible. Si le client MCP supporte l'élicitation, une confirmation est demandée avant la suppression.`,
118
+ description: `Supprime définitivement un document (CV, justificatif, pièce jointe) de BoondManager.
119
+
120
+ ⚠️ Irréversible, sans corbeille côté API. Si le client MCP annonce la capacité \`elicitation\`, une confirmation est demandée à l'utilisateur final et un refus annule l'appel.
121
+
122
+ Returns : \`{ id, deleted, reason? }\` — vérifier \`deleted\`, qui vaut \`false\` en cas de refus utilisateur.`,
119
123
  });
120
124
  }
121
125
  //# sourceMappingURL=documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expenses.d.ts","sourceRoot":"","sources":["../../src/tools/expenses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiKzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmE5D"}
1
+ {"version":3,"file":"expenses.d.ts","sourceRoot":"","sources":["../../src/tools/expenses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkKzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuE5D"}
@@ -1,6 +1,7 @@
1
1
  import { ExpenseSearchSchema, ExpenseCreateSchema, ExpenseUpdateSchema, ExpenseDefaultSchema, } from "../schemas/index.js";
2
2
  import { apiRequest } from "../services/boond-client.js";
3
3
  import { buildJsonApiBody, registerSearchTool, registerGetTool, registerCreateTool, registerUpdateTool, registerDeleteTool, } from "./crud-factory.js";
4
+ import { defaultDeleteDescription } from "./description-builders.js";
4
5
  // Expense reports are searched on /expenses but read/written on /expenses-reports.
5
6
  const SEARCH_OPTS = {
6
7
  entityName: "note de frais",
@@ -181,7 +182,11 @@ Returns: Données de la note de frais créée avec son ID.`,
181
182
  registerUpdateTool(server, REPORT_OPTS, ExpenseUpdateSchema, buildExpenseBody, { method: "PUT" });
182
183
  registerDeleteTool(server, REPORT_OPTS, {
183
184
  title: "Supprimer une note de frais",
184
- description: `Supprime une note de frais de BoondManager. ⚠️ Action irréversible. Si le client MCP supporte l'élicitation, une confirmation est demandée avant la suppression.`,
185
+ description: defaultDeleteDescription({
186
+ entityName: "note de frais",
187
+ entityNamePlural: "notes de frais",
188
+ prefix: "boond_expenses",
189
+ }),
185
190
  });
186
191
  }
187
192
  //# sourceMappingURL=expenses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expenses.js","sourceRoot":"","sources":["../../src/tools/expenses.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,mFAAmF;AACnF,MAAM,WAAW,GAAG;IAClB,UAAU,EAAE,eAAe;IAC3B,gBAAgB,EAAE,gBAAgB;IAClC,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,gBAAgB;CACzB,CAAC;AACF,MAAM,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAErE;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,IAAsB;IAC9C,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC/E,MAAM,GAAG,GAA4B;QACnC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAC9E,WAAW,EAAE,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE;QAC5F,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;QAC1B,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;QAC5B,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,IAAI,EAAE;KAC/B,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAA+B;IACvD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,6BAA6B,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;IACrG,MAAM,UAAU,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAC;IACzD,IAAI,6BAA6B,KAAK,SAAS,EAAE,CAAC;QAChD,UAAU,CAAC,oBAAoB,GAAG,EAAE,SAAS,EAAE,6BAA6B,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,UAAU,CAAC,cAAc,GAAI,cAAqC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,EAAE,EAAwB,EAAE;QAC9E,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;QAC/E,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC,CAAC;AACL,CAAC;AASD;;;;;;;;;;;;GAYG;AACH,SAAS,qBAAqB,CAAC,QAAyB;IACtD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAgC,CAAC;IAChH,IAAI,CAAC,MAAM;QAAE,OAAO,oEAAoE,CAAC;IAEzF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAEzE,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,IAAmC,CAAC;IACpF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,WAAW,GAAG,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;IAE7C,MAAM,KAAK,GAAa;QACtB,8BAA+B,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAoC,EAAE,EAAE,IAAI,GAAG,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;QACnJ,YAAY,MAAM,EAAE,EAAE,IAAI,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1F,kBAAkB,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,6BAA6B,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC,EAAE;KACxH,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,oBAA8C,CAAC;IACpE,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CACR,6CAA6C,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CACrH,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAI,WAAW,CAAC,YAAyC,IAAI,EAAE,CAAC;IAClF,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,YAAY,CAAC,MAAM,6DAA6D,CAAC,CAAC;IACpH,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,YAAY,CAAC,MAAM;QACrB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC;QACnG,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAC5D,CAAC;IAEF,MAAM,OAAO,GAAI,WAAW,CAAC,qBAAkD,IAAI,EAAE,CAAC;IACtF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,0BAA0B,OAAO,CAAC,MAAM,yCAAyC,CAAC,CAAC;QAClG,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,kCAAkC;IAClC,EAAE;IACF,sFAAsF;IACtF,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,wDAAwD;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,0BAA0B,QAAQ,CAAC,MAAM,sCAAsC,CAAC,CAAC;IAChG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;YACjE,MAAM,IAAI,GAAG,CAAC,IAAY,EAAY,EAAE,CACrC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG;gBACZ,eAAe,CAAC,CAAC,EAAE,EAAE;gBACrB,MAAM,CAAC,GAAG,CAAC;gBACX,gBAAgB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6CAA6C,EAAE;aAC9G,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE;QACtC,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE;;;;;;;;mDAQkC;KAChD,CAAC,CAAC;IACH,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzD,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,0CAA0C;QACjD,WAAW,EAAE;;;;;;;;;mEASgD;QAC7D,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAA2B,EAAE,EAAE;QACpC,4EAA4E;QAC5E,2EAA2E;QAC3E,uBAAuB;QACvB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,2BAA2B,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/E,QAAQ,EAAE,MAAM,CAAC,UAAU;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAEF,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAE;QAC7E,WAAW,EAAE;;;;;;;;wDAQuC;KACrD,CAAC,CAAC;IACH,6DAA6D;IAC7D,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClG,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE;QACtC,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,kKAAkK;KAChL,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"expenses.js","sourceRoot":"","sources":["../../src/tools/expenses.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../src/tools/invoices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6DzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2C5D"}
1
+ {"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../src/tools/invoices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8DzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiD5D"}
@@ -1,6 +1,7 @@
1
1
  import { InvoiceSearchSchema, InvoiceCreateSchema, InvoiceUpdateSchema } from "../schemas/index.js";
2
2
  import { apiRequest, buildSearchQuery, formatListResponse } from "../services/boond-client.js";
3
3
  import { buildJsonApiBody, buildListStructured, SearchOutputSchema, registerGetTool, registerCreateTool, registerUpdateTool, registerDeleteTool, } from "./crud-factory.js";
4
+ import { defaultDeleteDescription } from "./description-builders.js";
4
5
  const OPTS = {
5
6
  entityName: "facture",
6
7
  entityNamePlural: "factures",
@@ -47,7 +48,9 @@ export function registerInvoiceTools(server) {
47
48
  // search does not model.
48
49
  server.registerTool("boond_invoices_search", {
49
50
  title: "Rechercher des factures",
50
- description: "Recherche des factures dans BoondManager avec filtres par societe, projet et periode.",
51
+ description: `Liste et recherche les factures client, par société, projet, état ou période.
52
+
53
+ Returns : page de résumés (référence, date, montants HT/TTC, état). Lecture seule.`,
51
54
  inputSchema: InvoiceSearchSchema,
52
55
  outputSchema: SearchOutputSchema,
53
56
  annotations: {
@@ -79,7 +82,11 @@ export function registerInvoiceTools(server) {
79
82
  });
80
83
  registerDeleteTool(server, OPTS, {
81
84
  title: "Supprimer une facture",
82
- description: `Supprime une facture de BoondManager. ⚠️ Action irréversible. Si le client MCP supporte l'élicitation, une confirmation est demandée avant la suppression.`,
85
+ description: defaultDeleteDescription({
86
+ entityName: "facture",
87
+ entityNamePlural: "factures",
88
+ prefix: "boond_invoices",
89
+ }),
83
90
  });
84
91
  }
85
92
  //# sourceMappingURL=invoices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../src/tools/invoices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../src/tools/invoices.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/tools/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoDjE"}
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/tools/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuDjE"}
@@ -1,6 +1,7 @@
1
1
  import { IdSchema, NotificationSearchSchema } from "../schemas/index.js";
2
2
  import { apiRequest, apiSearch, buildSearchQuery, formatListResponse, formatDetailResponse, } from "../services/boond-client.js";
3
3
  import { progressReporterFrom } from "../services/progress.js";
4
+ import { defaultGetDescription } from "./description-builders.js";
4
5
  export function registerNotificationTools(server) {
5
6
  server.registerTool("boond_notifications_search", {
6
7
  title: "Rechercher des notifications",
@@ -30,7 +31,10 @@ Returns: Liste des notifications correspondantes.`,
30
31
  });
31
32
  server.registerTool("boond_notifications_get", {
32
33
  title: "Détails d'une notification",
33
- description: `Récupère les informations détaillées d'une notification par son ID.`,
34
+ description: defaultGetDescription({
35
+ ...{ entityName: "notification", entityNamePlural: "notifications", prefix: "boond_notifications" },
36
+ withTab: false,
37
+ }),
34
38
  inputSchema: IdSchema,
35
39
  annotations: {
36
40
  readOnlyHint: true,
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/tools/notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE;;;;;;;;;kDAS+B;QAC5C,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,KAAc,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SACxG,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,kBAAkB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/tools/notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE;;;;;;;;;kDAS+B;QAC5C,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,KAAc,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SACxG,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,qBAAqB,CAAC;YACjC,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,qBAAqB,EAAE;YACnG,OAAO,EAAE,KAAK;SACf,CAAC;QACF,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,kBAAkB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities.d.ts","sourceRoot":"","sources":["../../src/tools/opportunities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiJzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsChE"}
1
+ {"version":3,"file":"opportunities.d.ts","sourceRoot":"","sources":["../../src/tools/opportunities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+GzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoBhE"}
@@ -1,73 +1,52 @@
1
- import { OpportunityCreateSchema, OpportunityUpdateSchema, OpportunitySearchSchema, IdSchema, } from "../schemas/index.js";
1
+ import { OpportunityCreateSchema, OpportunityUpdateSchema, OpportunitySearchSchema } from "../schemas/index.js";
2
2
  import { registerSearchTool, registerGetTool, registerCreateTool, registerUpdateTool, registerDeleteTool, buildJsonApiBody, } from "./crud-factory.js";
3
- import { apiRequest, formatTabResponse } from "../services/boond-client.js";
3
+ import { registerTabTools } from "./tab-tools.js";
4
4
  const OPTS = {
5
5
  entityName: "opportunité",
6
6
  entityNamePlural: "opportunités",
7
7
  apiPath: "/opportunities",
8
8
  prefix: "boond_opportunities",
9
9
  };
10
- const TAB_TOOL_ANNOTATIONS = {
11
- readOnlyHint: true,
12
- destructiveHint: false,
13
- idempotentHint: true,
14
- openWorldHint: false,
15
- };
16
10
  const OPPORTUNITY_TABS = [
17
11
  {
18
12
  name: "information",
19
13
  tab: "information",
20
14
  title: "Informations générales d'une opportunité",
21
- description: `Récupère les informations générales d'une opportunité (client, dates, montant, probabilité, état...).
22
-
23
- Args:
24
- - id (string): ID de l'opportunité
25
-
26
- Returns: Données générales de l'opportunité.`,
15
+ subject: "les informations générales",
16
+ content: "client, dates, montant, probabilité, état",
17
+ returns: "Fiche de l'opportunité.",
27
18
  },
28
19
  {
29
20
  name: "actions",
30
21
  tab: "actions",
31
22
  title: "Actions liées à une opportunité",
32
- description: `Récupère les actions (appels, emails, RDV, notes) associées à une opportunité.
33
-
34
- Args:
35
- - id (string): ID de l'opportunité
36
-
37
- Returns: Liste des actions liées à l'opportunité.`,
23
+ subject: "les actions",
24
+ content: "appels, emails, RDV, notes",
25
+ returns: "Liste des actions rattachées à l'opportunité.",
38
26
  },
39
27
  {
40
28
  name: "positionings",
41
29
  tab: "positionings",
42
- title: "Positionnements d'une opportunité",
43
- description: `Récupère les positionnements (candidats/ressources proposés) sur une opportunité.
44
-
45
- Args:
46
- - id (string): ID de l'opportunité
47
-
48
- Returns: Liste des positionnements de l'opportunité.`,
30
+ title: "Positionnements sur une opportunité",
31
+ subject: "les positionnements",
32
+ content: "candidats et ressources proposés au client",
33
+ returns: "Liste des positionnements de l'opportunité.",
49
34
  },
50
35
  {
51
36
  name: "projects",
52
37
  tab: "projects",
53
- title: "Projets liés à une opportunité",
54
- description: `Récupère les projets issus de cette opportunité.
55
-
56
- Args:
57
- - id (string): ID de l'opportunité
58
-
59
- Returns: Liste des projets liés à l'opportunité.`,
38
+ title: "Projets issus d'une opportunité",
39
+ subject: "les projets",
40
+ content: "missions nées de cette affaire une fois gagnée",
41
+ returns: "Liste des projets liés à l'opportunité.",
60
42
  },
61
43
  {
62
44
  name: "simulation",
63
45
  tab: "simulation",
64
46
  title: "Simulation financière d'une opportunité",
65
- description: `Récupère la simulation financière d'une opportunité (marge, CA prévisionnel, coûts...).
66
-
67
- Args:
68
- - id (string): ID de l'opportunité
69
-
70
- Returns: Données de simulation financière de l'opportunité.`,
47
+ subject: "la simulation financière",
48
+ content: "marge, CA prévisionnel, coûts",
49
+ returns: "Chiffrage prévisionnel de l'opportunité — prévisionnel, pas du réalisé.",
71
50
  },
72
51
  ];
73
52
  const OPPORTUNITY_SEARCH_DESCRIPTION = `Recherche des opportunités commerciales dans BoondManager avec filtres serveur.
@@ -119,20 +98,6 @@ export function registerOpportunityTools(server) {
119
98
  pathSuffix: "information",
120
99
  });
121
100
  registerDeleteTool(server, OPTS);
122
- // Register one tool per opportunity tab
123
- for (const tab of OPPORTUNITY_TABS) {
124
- server.registerTool(`boond_opportunities_${tab.name}`, {
125
- title: tab.title,
126
- description: tab.description,
127
- inputSchema: IdSchema,
128
- annotations: TAB_TOOL_ANNOTATIONS,
129
- }, async (params) => {
130
- const response = await apiRequest(`/opportunities/${params.id}/${tab.tab}`);
131
- const text = formatTabResponse(response);
132
- return {
133
- content: [{ type: "text", text }],
134
- };
135
- });
136
- }
101
+ registerTabTools(server, { ...OPTS, prefix: OPTS.prefix }, OPPORTUNITY_TABS);
137
102
  }
138
103
  //# sourceMappingURL=opportunities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities.js","sourceRoot":"","sources":["../../src/tools/opportunities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opportunities.js","sourceRoot":"","sources":["../../src/tools/opportunities.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0DzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwB1D"}
1
+ {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2DzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4B1D"}
@@ -1,5 +1,6 @@
1
1
  import { OrderSearchSchema, OrderCreateSchema, OrderUpdateSchema } from "../schemas/index.js";
2
2
  import { buildJsonApiBody, registerSearchTool, registerGetTool, registerCreateTool, registerUpdateTool, registerDeleteTool, } from "./crud-factory.js";
3
+ import { defaultDeleteDescription } from "./description-builders.js";
3
4
  const OPTS = {
4
5
  entityName: "bon de commande",
5
6
  entityNamePlural: "bons de commande",
@@ -64,7 +65,11 @@ Returns: Liste des bons de commande correspondants.`,
64
65
  });
65
66
  registerDeleteTool(server, OPTS, {
66
67
  title: "Supprimer un bon de commande",
67
- description: `Supprime un bon de commande de BoondManager. ⚠️ Action irréversible. Si le client MCP supporte l'élicitation, une confirmation est demandée avant la suppression.`,
68
+ description: defaultDeleteDescription({
69
+ entityName: "bon de commande",
70
+ entityNamePlural: "bons de commande",
71
+ prefix: "boond_orders",
72
+ }),
68
73
  });
69
74
  }
70
75
  //# sourceMappingURL=orders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function withParameterDisclosure<T extends {
2
+ description?: string;
3
+ inputSchema?: unknown;
4
+ }>(config: T, name?: string): T;
5
+ //# sourceMappingURL=parameter-disclosure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter-disclosure.d.ts","sourceRoot":"","sources":["../../src/tools/parameter-disclosure.ts"],"names":[],"mappings":"AAgDA,wBAAgB,uBAAuB,CAAC,CAAC,SAAS;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,EAC/F,MAAM,EAAE,CAAC,EACT,IAAI,CAAC,EAAE,MAAM,GACZ,CAAC,CAyBH"}