boondmanager-mcp-server 2.14.0 → 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 (106) 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/schemas/index.d.ts +11 -11
  6. package/dist/schemas/index.d.ts.map +1 -1
  7. package/dist/tools/absences.d.ts.map +1 -1
  8. package/dist/tools/absences.js +31 -4
  9. package/dist/tools/absences.js.map +1 -1
  10. package/dist/tools/actions.d.ts.map +1 -1
  11. package/dist/tools/actions.js +10 -2
  12. package/dist/tools/actions.js.map +1 -1
  13. package/dist/tools/advantages.d.ts.map +1 -1
  14. package/dist/tools/advantages.js +5 -1
  15. package/dist/tools/advantages.js.map +1 -1
  16. package/dist/tools/application.js +1 -1
  17. package/dist/tools/application.js.map +1 -1
  18. package/dist/tools/candidates.d.ts.map +1 -1
  19. package/dist/tools/candidates.js +18 -53
  20. package/dist/tools/candidates.js.map +1 -1
  21. package/dist/tools/companies.d.ts.map +1 -1
  22. package/dist/tools/companies.js +26 -78
  23. package/dist/tools/companies.js.map +1 -1
  24. package/dist/tools/contacts.d.ts.map +1 -1
  25. package/dist/tools/contacts.js +18 -59
  26. package/dist/tools/contacts.js.map +1 -1
  27. package/dist/tools/contracts.d.ts.map +1 -1
  28. package/dist/tools/contracts.js +23 -6
  29. package/dist/tools/contracts.js.map +1 -1
  30. package/dist/tools/crud-factory.d.ts +3 -0
  31. package/dist/tools/crud-factory.d.ts.map +1 -1
  32. package/dist/tools/crud-factory.js +11 -32
  33. package/dist/tools/crud-factory.js.map +1 -1
  34. package/dist/tools/deliveries.d.ts.map +1 -1
  35. package/dist/tools/deliveries.js +16 -2
  36. package/dist/tools/deliveries.js.map +1 -1
  37. package/dist/tools/description-builders.d.ts +135 -0
  38. package/dist/tools/description-builders.d.ts.map +1 -0
  39. package/dist/tools/description-builders.js +152 -0
  40. package/dist/tools/description-builders.js.map +1 -0
  41. package/dist/tools/documents.d.ts.map +1 -1
  42. package/dist/tools/documents.js +7 -3
  43. package/dist/tools/documents.js.map +1 -1
  44. package/dist/tools/expenses.d.ts.map +1 -1
  45. package/dist/tools/expenses.js +6 -1
  46. package/dist/tools/expenses.js.map +1 -1
  47. package/dist/tools/invoices.d.ts.map +1 -1
  48. package/dist/tools/invoices.js +9 -2
  49. package/dist/tools/invoices.js.map +1 -1
  50. package/dist/tools/notifications.d.ts.map +1 -1
  51. package/dist/tools/notifications.js +5 -1
  52. package/dist/tools/notifications.js.map +1 -1
  53. package/dist/tools/opportunities.d.ts.map +1 -1
  54. package/dist/tools/opportunities.js +20 -55
  55. package/dist/tools/opportunities.js.map +1 -1
  56. package/dist/tools/orders.d.ts.map +1 -1
  57. package/dist/tools/orders.js +6 -1
  58. package/dist/tools/orders.js.map +1 -1
  59. package/dist/tools/parameter-disclosure.d.ts +5 -0
  60. package/dist/tools/parameter-disclosure.d.ts.map +1 -0
  61. package/dist/tools/parameter-disclosure.js +71 -0
  62. package/dist/tools/parameter-disclosure.js.map +1 -0
  63. package/dist/tools/payments.d.ts.map +1 -1
  64. package/dist/tools/payments.js +15 -2
  65. package/dist/tools/payments.js.map +1 -1
  66. package/dist/tools/positionings.d.ts.map +1 -1
  67. package/dist/tools/positionings.js +20 -3
  68. package/dist/tools/positionings.js.map +1 -1
  69. package/dist/tools/projects.d.ts.map +1 -1
  70. package/dist/tools/projects.js +24 -67
  71. package/dist/tools/projects.js.map +1 -1
  72. package/dist/tools/provider-invoices.d.ts.map +1 -1
  73. package/dist/tools/provider-invoices.js +25 -3
  74. package/dist/tools/provider-invoices.js.map +1 -1
  75. package/dist/tools/purchases.d.ts.map +1 -1
  76. package/dist/tools/purchases.js +20 -3
  77. package/dist/tools/purchases.js.map +1 -1
  78. package/dist/tools/registration-decorators.d.ts +6 -1
  79. package/dist/tools/registration-decorators.d.ts.map +1 -1
  80. package/dist/tools/registration-decorators.js +8 -1
  81. package/dist/tools/registration-decorators.js.map +1 -1
  82. package/dist/tools/reporting.d.ts.map +1 -1
  83. package/dist/tools/reporting.js +25 -7
  84. package/dist/tools/reporting.js.map +1 -1
  85. package/dist/tools/resources.d.ts.map +1 -1
  86. package/dist/tools/resources.js +44 -87
  87. package/dist/tools/resources.js.map +1 -1
  88. package/dist/tools/tab-tools.d.ts +23 -0
  89. package/dist/tools/tab-tools.d.ts.map +1 -0
  90. package/dist/tools/tab-tools.js +48 -0
  91. package/dist/tools/tab-tools.js.map +1 -0
  92. package/dist/tools/timesheets.d.ts.map +1 -1
  93. package/dist/tools/timesheets.js +11 -1
  94. package/dist/tools/timesheets.js.map +1 -1
  95. package/dist/tools/usage-guidance.d.ts +45 -0
  96. package/dist/tools/usage-guidance.d.ts.map +1 -0
  97. package/dist/tools/usage-guidance.js +235 -0
  98. package/dist/tools/usage-guidance.js.map +1 -0
  99. package/dist/tools/validations.d.ts.map +1 -1
  100. package/dist/tools/validations.js +5 -1
  101. package/dist/tools/validations.js.map +1 -1
  102. package/dist/tools/workflows.d.ts.map +1 -1
  103. package/dist/tools/workflows.js +13 -4
  104. package/dist/tools/workflows.js.map +1 -1
  105. package/manifest.json +1 -1
  106. package/package.json +3 -3
@@ -1,117 +1,79 @@
1
- import { CompanyCreateSchema, CompanyUpdateSchema, CompanySearchSchema, IdSchema } from "../schemas/index.js";
1
+ import { CompanyCreateSchema, CompanyUpdateSchema, CompanySearchSchema } 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: "société",
6
6
  entityNamePlural: "sociétés",
7
7
  apiPath: "/companies",
8
8
  prefix: "boond_companies",
9
9
  };
10
- const TAB_TOOL_ANNOTATIONS = {
11
- readOnlyHint: true,
12
- destructiveHint: false,
13
- idempotentHint: true,
14
- openWorldHint: false,
15
- };
16
10
  const COMPANY_TABS = [
17
11
  {
18
12
  name: "information",
19
13
  tab: "information",
20
14
  title: "Informations générales d'une société",
21
- description: `Récupère les informations générales d'une société (coordonnées, SIRET, site web, secteur, taille, tags...).
22
-
23
- Args:
24
- - id (string): ID de la société
25
-
26
- Returns: Données générales de la société.`,
15
+ subject: "les informations générales",
16
+ content: "coordonnées, SIRET, site web, secteur, taille, tags",
17
+ returns: "Fiche signalétique de la société.",
27
18
  },
28
19
  {
29
20
  name: "contacts",
30
21
  tab: "contacts",
31
22
  title: "Contacts d'une société",
32
- description: `Récupère les contacts associés à une société.
33
-
34
- Args:
35
- - id (string): ID de la société
36
-
37
- Returns: Liste des contacts de la société.`,
23
+ subject: "les contacts",
24
+ content: "interlocuteurs rattachés à la société",
25
+ returns: "Liste des contacts de la société.",
38
26
  },
39
27
  {
40
28
  name: "actions",
41
29
  tab: "actions",
42
30
  title: "Actions liées à une société",
43
- description: `Récupère les actions (appels, emails, RDV, notes) associées à une société.
44
-
45
- Args:
46
- - id (string): ID de la société
47
-
48
- Returns: Liste des actions liées à la société.`,
31
+ subject: "les actions",
32
+ content: "appels, emails, RDV, notes",
33
+ returns: "Liste des actions rattachées à la société.",
49
34
  },
50
35
  {
51
36
  name: "opportunities",
52
37
  tab: "opportunities",
53
38
  title: "Opportunités d'une société",
54
- description: `Récupère les opportunités commerciales d'une société.
55
-
56
- Args:
57
- - id (string): ID de la société
58
-
59
- Returns: Liste des opportunités de la société.`,
39
+ subject: "les opportunités commerciales",
40
+ returns: "Liste des opportunités de la société.",
60
41
  },
61
42
  {
62
43
  name: "projects",
63
44
  tab: "projects",
64
45
  title: "Projets d'une société",
65
- description: `Récupère les projets associés à une société.
66
-
67
- Args:
68
- - id (string): ID de la société
69
-
70
- Returns: Liste des projets de la société.`,
46
+ subject: "les projets",
47
+ returns: "Liste des projets de la société.",
71
48
  },
72
49
  {
73
50
  name: "orders",
74
51
  tab: "orders",
75
52
  title: "Bons de commande d'une société",
76
- description: `Récupère les bons de commande d'une société.
77
-
78
- Args:
79
- - id (string): ID de la société
80
-
81
- Returns: Liste des bons de commande de la société.`,
53
+ subject: "les bons de commande",
54
+ returns: "Liste des bons de commande de la société.",
82
55
  },
83
56
  {
84
57
  name: "invoices",
85
58
  tab: "invoices",
86
59
  title: "Factures d'une société",
87
- description: `Récupère les factures d'une société.
88
-
89
- Args:
90
- - id (string): ID de la société
91
-
92
- Returns: Liste des factures de la société.`,
60
+ subject: "les factures client",
61
+ returns: "Liste des factures de vente adressées à la société. Ne pas confondre avec `boond_companies_provider_invoices` (achat).",
93
62
  },
94
63
  {
95
64
  name: "purchases",
96
65
  tab: "purchases",
97
66
  title: "Achats d'une société",
98
- description: `Récupère les achats/sous-traitance d'une société.
99
-
100
- Args:
101
- - id (string): ID de la société
102
-
103
- Returns: Liste des achats de la société.`,
67
+ subject: "les achats et la sous-traitance",
68
+ returns: "Liste des achats engagés auprès de la société.",
104
69
  },
105
70
  {
106
71
  name: "provider_invoices",
107
- tab: "provider-invoices",
72
+ tab: "provider_invoices",
108
73
  title: "Factures fournisseur d'une société",
109
- description: `Récupère les factures fournisseur d'une société.
110
-
111
- Args:
112
- - id (string): ID de la société
113
-
114
- Returns: Liste des factures fournisseur de la société.`,
74
+ subject: "les factures fournisseur",
75
+ content: "factures reçues de la société en tant que prestataire",
76
+ returns: "Liste des factures d'achat. Ne pas confondre avec `boond_companies_invoices` (vente).",
115
77
  },
116
78
  ];
117
79
  const COMPANY_SEARCH_DESCRIPTION = `Recherche des sociétés (clients, prospects, fournisseurs…) dans BoondManager avec filtres serveur.
@@ -146,20 +108,6 @@ export function registerCompanyTools(server) {
146
108
  return buildJsonApiBody("company", attrs, id);
147
109
  }, { method: "PUT", pathSuffix: "information" });
148
110
  registerDeleteTool(server, OPTS);
149
- // Register one tool per company tab
150
- for (const tab of COMPANY_TABS) {
151
- server.registerTool(`boond_companies_${tab.name}`, {
152
- title: tab.title,
153
- description: tab.description,
154
- inputSchema: IdSchema,
155
- annotations: TAB_TOOL_ANNOTATIONS,
156
- }, async (params) => {
157
- const response = await apiRequest(`/companies/${params.id}/${tab.tab}`);
158
- const text = formatTabResponse(response);
159
- return {
160
- content: [{ type: "text", text }],
161
- };
162
- });
163
- }
111
+ registerTabTools(server, { ...OPTS, prefix: OPTS.prefix }, COMPANY_TABS);
164
112
  }
165
113
  //# sourceMappingURL=companies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../src/tools/companies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../src/tools/companies.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsHzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqD5D"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmFzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmC5D"}
@@ -1,84 +1,57 @@
1
- import { ContactCreateSchema, ContactUpdateSchema, ContactSearchSchema, IdSchema } from "../schemas/index.js";
1
+ import { ContactCreateSchema, ContactUpdateSchema, ContactSearchSchema } 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: "contact",
6
6
  entityNamePlural: "contacts",
7
7
  apiPath: "/contacts",
8
8
  prefix: "boond_contacts",
9
9
  };
10
- const TAB_TOOL_ANNOTATIONS = {
11
- readOnlyHint: true,
12
- destructiveHint: false,
13
- idempotentHint: true,
14
- openWorldHint: false,
15
- };
16
10
  const CONTACT_TABS = [
17
11
  {
18
12
  name: "information",
19
13
  tab: "information",
20
14
  title: "Informations générales d'un contact",
21
- description: `Récupère les informations générales d'un contact (coordonnées, société, fonction, tags...).
22
-
23
- Args:
24
- - id (string): ID du contact
25
-
26
- Returns: Données personnelles et professionnelles du contact.`,
15
+ subject: "les informations générales",
16
+ content: "coordonnées, société de rattachement, fonction, tags",
17
+ returns: "Bloc identité et rattachement du contact.",
27
18
  },
28
19
  {
29
20
  name: "actions",
30
21
  tab: "actions",
31
22
  title: "Actions liées à un contact",
32
- description: `Récupère les actions (appels, emails, RDV, notes) associées à un contact.
33
-
34
- Args:
35
- - id (string): ID du contact
36
-
37
- Returns: Liste des actions liées au contact.`,
23
+ subject: "les actions",
24
+ content: "appels, emails, RDV, notes",
25
+ returns: "Liste des actions rattachées au contact.",
38
26
  },
39
27
  {
40
28
  name: "opportunities",
41
29
  tab: "opportunities",
42
30
  title: "Opportunités d'un contact",
43
- description: `Récupère les opportunités commerciales associées à un contact.
44
-
45
- Args:
46
- - id (string): ID du contact
47
-
48
- Returns: Liste des opportunités du contact.`,
31
+ subject: "les opportunités commerciales",
32
+ content: "affaires portées par ce contact",
33
+ returns: "Liste des opportunités du contact.",
49
34
  },
50
35
  {
51
36
  name: "projects",
52
37
  tab: "projects",
53
38
  title: "Projets d'un contact",
54
- description: `Récupère les projets associés à un contact.
55
-
56
- Args:
57
- - id (string): ID du contact
58
-
59
- Returns: Liste des projets du contact.`,
39
+ subject: "les projets",
40
+ returns: "Liste des projets rattachés au contact.",
60
41
  },
61
42
  {
62
43
  name: "orders",
63
44
  tab: "orders",
64
45
  title: "Bons de commande d'un contact",
65
- description: `Récupère les bons de commande associés à un contact.
66
-
67
- Args:
68
- - id (string): ID du contact
69
-
70
- Returns: Liste des bons de commande du contact.`,
46
+ subject: "les bons de commande",
47
+ returns: "Liste des bons de commande du contact.",
71
48
  },
72
49
  {
73
50
  name: "invoices",
74
51
  tab: "invoices",
75
52
  title: "Factures d'un contact",
76
- description: `Récupère les factures associées à un contact.
77
-
78
- Args:
79
- - id (string): ID du contact
80
-
81
- Returns: Liste des factures du contact.`,
53
+ subject: "les factures",
54
+ returns: "Liste des factures adressées au contact.",
82
55
  },
83
56
  ];
84
57
  const CONTACT_SEARCH_DESCRIPTION = `Recherche des contacts (interlocuteurs clients / prospects) dans BoondManager avec filtres serveur.
@@ -119,20 +92,6 @@ export function registerContactTools(server) {
119
92
  return buildJsonApiBody("contact", attrs, id);
120
93
  }, { method: "PUT", pathSuffix: "information" });
121
94
  registerDeleteTool(server, OPTS);
122
- // Register one tool per contact tab
123
- for (const tab of CONTACT_TABS) {
124
- server.registerTool(`boond_contacts_${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(`/contacts/${params.id}/${tab.tab}`);
131
- const text = formatTabResponse(response);
132
- return {
133
- content: [{ type: "text", text }],
134
- };
135
- });
136
- }
95
+ registerTabTools(server, { ...OPTS, prefix: OPTS.prefix }, CONTACT_TABS);
137
96
  }
138
97
  //# sourceMappingURL=contacts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/tools/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqD7D"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/tools/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoE7D"}
@@ -2,17 +2,23 @@ import { IdSchema } from "../schemas/index.js";
2
2
  import { apiRequest, formatDetailResponse } from "../services/boond-client.js";
3
3
  import { buildJsonApiBody } from "./crud-factory.js";
4
4
  import { z } from "zod";
5
- const ContractCreateSchema = z.object({
5
+ import { composeDescription, defaultGetDescription } from "./description-builders.js";
6
+ const ContractCreateSchema = z
7
+ .object({
6
8
  resourceId: z.string().optional().describe("ID de la ressource associée"),
7
9
  typeOf: z.string().optional().describe("Type de contrat (CDI, CDD, freelance...)"),
8
10
  startDate: z.string().optional().describe("Date de début (YYYY-MM-DD)"),
9
11
  endDate: z.string().optional().describe("Date de fin (YYYY-MM-DD)"),
10
12
  note: z.string().optional().describe("Notes / commentaires"),
11
- }).strict();
13
+ })
14
+ .strict();
12
15
  export function registerContractTools(server) {
13
16
  server.registerTool("boond_contracts_get", {
14
17
  title: "Détails d'un contrat",
15
- description: `Récupère les informations détaillées d'un contrat par son ID.`,
18
+ description: defaultGetDescription({
19
+ ...{ entityName: "contrat", entityNamePlural: "contrats", prefix: "boond_contracts" },
20
+ withTab: false,
21
+ }),
16
22
  inputSchema: IdSchema,
17
23
  annotations: {
18
24
  readOnlyHint: true,
@@ -28,7 +34,16 @@ export function registerContractTools(server) {
28
34
  });
29
35
  server.registerTool("boond_contracts_create", {
30
36
  title: "Créer un contrat",
31
- description: `Crée un nouveau contrat de travail dans BoondManager.`,
37
+ description: composeDescription({
38
+ purpose: "Crée un contrat de travail rattaché à une ressource.",
39
+ when: "pour enregistrer un nouveau contrat (embauche, avenant, renouvellement).",
40
+ instead: "`boond_contracts_search` d'abord, pour vérifier qu'un contrat couvrant la même période n'existe pas déjà.",
41
+ behaviour: [
42
+ "Écriture non idempotente : deux appels identiques créent deux contrats.",
43
+ "Le type de contrat est un ID entier du dictionnaire (`boond://dictionary/typeOf/contracts`), pas un libellé.",
44
+ ],
45
+ returns: "confirmation et fiche du contrat créé, avec son ID dans `structuredContent.id`.",
46
+ }),
32
47
  inputSchema: ContractCreateSchema,
33
48
  annotations: {
34
49
  readOnlyHint: false,
@@ -47,10 +62,12 @@ export function registerContractTools(server) {
47
62
  const response = await apiRequest("/contracts", "POST", body);
48
63
  const entity = Array.isArray(response.data) ? response.data[0] : response.data;
49
64
  return {
50
- content: [{
65
+ content: [
66
+ {
51
67
  type: "text",
52
68
  text: `✅ Contrat créé avec succès.\nID: ${entity?.id}\n\n${formatDetailResponse(response)}`,
53
- }],
69
+ },
70
+ ],
54
71
  };
55
72
  });
56
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/tools/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/tools/contracts.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,9 @@ interface UpdateToolOverrides {
63
63
  * only accept updates on their `/information` sub-resource and return 405 on
64
64
  * PATCH/PUT against the base resource (see issue #124). */
65
65
  pathSuffix?: string;
66
+ title?: string;
67
+ /** Overrides the composed default (see `description-builders.ts`). */
68
+ description?: string;
66
69
  }
67
70
  export declare function registerUpdateTool(server: McpServer, opts: CrudToolOptions, schema: z.ZodType, buildBody: (params: Record<string, unknown>) => unknown, overrides?: UpdateToolOverrides): void;
68
71
  interface DeleteToolOverrides {
@@ -1 +1 @@
1
- {"version":3,"file":"crud-factory.d.ts","sourceRoot":"","sources":["../../src/tools/crud-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud-factory.d.ts","sourceRoot":"","sources":["../../src/tools/crud-factory.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { z } from "zod";
3
3
  import { apiRequest, apiSearch, buildSearchQuery, formatListResponse, formatDetailResponse, formatEntitySummary, } from "../services/boond-client.js";
4
4
  import { progressReporterFrom } from "../services/progress.js";
5
5
  import { SearchSchema, IdSchema, IdTabSchema } from "../schemas/index.js";
6
+ import { defaultSearchDescription, defaultGetDescription, defaultCreateDescription, defaultUpdateDescription, defaultDeleteDescription, } from "./description-builders.js";
6
7
  import { isFeatureDisabled } from "../config/env-flags.js";
7
8
  // ---- Structured output schemas (MCP outputSchema / structuredContent) ----
8
9
  // Deliberately compact: the structured payload mirrors the text summary
@@ -181,15 +182,11 @@ export async function confirmDeletion(server, entityName, id) {
181
182
  export function registerSearchTool(server, opts, overrides = {}) {
182
183
  const schema = overrides.schema ?? SearchSchema;
183
184
  const title = overrides.title ?? `Rechercher des ${opts.entityNamePlural}`;
184
- const description = overrides.description ??
185
- `Recherche des ${opts.entityNamePlural} dans BoondManager par mots-clés avec pagination.
186
-
187
- Args:
188
- - keywords (string, optional): Termes de recherche (nom, email, compétences...)
189
- - page (number): Numéro de page (défaut: 1)
190
- - pageSize (number): Résultats par page (défaut: 20, max: 100)
191
-
192
- Returns: Liste des ${opts.entityNamePlural} correspondants avec leur ID, nom et détails principaux.`;
185
+ // The pagination figures used to be typed by hand here and said
186
+ // "défaut: 20, max: 100" against a schema enforcing DEFAULT_PAGE_SIZE/
187
+ // MAX_PAGE_SIZE (30/500) — a contradiction shipped to every domain using the
188
+ // default. They now come from `constants.ts` via the builder.
189
+ const description = overrides.description ?? defaultSearchDescription(opts);
193
190
  server.registerTool(`${opts.prefix}_search`, {
194
191
  title,
195
192
  description,
@@ -219,16 +216,7 @@ Returns: Liste des ${opts.entityNamePlural} correspondants avec leur ID, nom et
219
216
  export function registerGetTool(server, opts, overrides = {}) {
220
217
  const withTab = overrides.withTab ?? true;
221
218
  const title = overrides.title ?? `Détails d'un(e) ${opts.entityName}`;
222
- const description = overrides.description ??
223
- (withTab
224
- ? `Récupère les informations détaillées d'un(e) ${opts.entityName} par son ID. Optionnellement un onglet spécifique (information, technical, financial, actions, contracts, documents).
225
-
226
- Args:
227
- - id (string): Identifiant unique du/de la ${opts.entityName}
228
- - tab (string, optional): Onglet spécifique à récupérer
229
-
230
- Returns: Données JSON complètes de l'entité.`
231
- : `Récupère les informations détaillées d'un(e) ${opts.entityName} par son ID.`);
219
+ const description = overrides.description ?? defaultGetDescription({ ...opts, withTab });
232
220
  server.registerTool(`${opts.prefix}_get`, {
233
221
  title,
234
222
  description,
@@ -252,10 +240,7 @@ Returns: Données JSON complètes de l'entité.`
252
240
  export function registerCreateTool(server, opts, schema, buildBody, overrides = {}) {
253
241
  server.registerTool(`${opts.prefix}_create`, {
254
242
  title: overrides.title ?? `Créer un(e) ${opts.entityName}`,
255
- description: overrides.description ??
256
- `Crée un(e) nouvel(le) ${opts.entityName} dans BoondManager.
257
-
258
- Returns: Données du/de la ${opts.entityName} créé(e) avec son ID.`,
243
+ description: overrides.description ?? defaultCreateDescription(opts),
259
244
  inputSchema: schema,
260
245
  outputSchema: MutationOutputSchema,
261
246
  annotations: {
@@ -283,10 +268,8 @@ export function registerUpdateTool(server, opts, schema, buildBody, overrides =
283
268
  const method = overrides.method ?? "PATCH";
284
269
  const pathSuffix = overrides.pathSuffix ? `/${overrides.pathSuffix}` : "";
285
270
  server.registerTool(`${opts.prefix}_update`, {
286
- title: `Modifier un(e) ${opts.entityName}`,
287
- description: `Met à jour un(e) ${opts.entityName} existant(e) dans BoondManager. Seuls les champs fournis sont modifiés.
288
-
289
- Returns: Données mises à jour du/de la ${opts.entityName}.`,
271
+ title: overrides.title ?? `Modifier un(e) ${opts.entityName}`,
272
+ description: overrides.description ?? defaultUpdateDescription(opts),
290
273
  inputSchema: schema,
291
274
  outputSchema: MutationOutputSchema,
292
275
  annotations: {
@@ -314,11 +297,7 @@ Returns: Données mises à jour du/de la ${opts.entityName}.`,
314
297
  export function registerDeleteTool(server, opts, overrides = {}) {
315
298
  server.registerTool(`${opts.prefix}_delete`, {
316
299
  title: overrides.title ?? `Supprimer un(e) ${opts.entityName}`,
317
- description: overrides.description ??
318
- `Supprime un(e) ${opts.entityName} de BoondManager. ⚠️ Action irréversible. Si le client MCP supporte l'élicitation, une confirmation est demandée à l'utilisateur avant la suppression.
319
-
320
- Args:
321
- - id (string): Identifiant de l'entité à supprimer`,
300
+ description: overrides.description ?? defaultDeleteDescription(opts),
322
301
  inputSchema: IdSchema,
323
302
  outputSchema: DeleteOutputSchema,
324
303
  annotations: {
@@ -1 +1 @@
1
- {"version":3,"file":"crud-factory.js","sourceRoot":"","sources":["../../src/tools/crud-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud-factory.js","sourceRoot":"","sources":["../../src/tools/crud-factory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deliveries.d.ts","sourceRoot":"","sources":["../../src/tools/deliveries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8BzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2F7D"}
1
+ {"version":3,"file":"deliveries.d.ts","sourceRoot":"","sources":["../../src/tools/deliveries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+BzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwG7D"}
@@ -3,6 +3,7 @@ import { apiRequest, apiSearch, buildSearchQuery, formatListResponse, formatDeta
3
3
  import { progressReporterFrom } from "../services/progress.js";
4
4
  import { buildJsonApiBody } from "./crud-factory.js";
5
5
  import { z } from "zod";
6
+ import { composeDescription, defaultGetDescription } from "./description-builders.js";
6
7
  const DeliveryCreateSchema = z
7
8
  .object({
8
9
  projectId: z.string().min(1).describe("ID du projet"),
@@ -22,7 +23,17 @@ const DeliveryCreateSchema = z
22
23
  export function registerDeliveryTools(server) {
23
24
  server.registerTool("boond_deliveries_create", {
24
25
  title: "Creer une prestation/livraison",
25
- description: "Cree une prestation Boond via POST /deliveries, liee a un projet et une ressource.",
26
+ description: composeDescription({
27
+ purpose: "Crée une prestation (livraison) rattachée à un projet et à une ressource.",
28
+ when: "pour ouvrir la ligne de mission qui rendra la ressource facturable sur ce projet.",
29
+ instead: "`boond_projects_deliveries_groupments` pour lister les prestations déjà en place sur le projet.",
30
+ behaviour: [
31
+ "`project` et `resource` sont obligatoires et attendent des ID numériques.",
32
+ "L'ID de prestation retourné est celui qu'exigent les lignes de note de frais (`boond_expenses_create`).",
33
+ "Écriture non idempotente.",
34
+ ],
35
+ returns: "confirmation et fiche de la prestation créée.",
36
+ }),
26
37
  inputSchema: DeliveryCreateSchema,
27
38
  annotations: {
28
39
  readOnlyHint: false,
@@ -82,7 +93,10 @@ Returns: Liste des livraisons correspondantes.`,
82
93
  });
83
94
  server.registerTool("boond_deliveries_get", {
84
95
  title: "Details d'une livraison / CRA",
85
- description: "Recupere les informations detaillees d'une livraison (CRA) par son ID.",
96
+ description: defaultGetDescription({
97
+ ...{ entityName: "livraison (CRA)", entityNamePlural: "livraisons", prefix: "boond_deliveries" },
98
+ withTab: false,
99
+ }),
86
100
  inputSchema: IdSchema,
87
101
  annotations: {
88
102
  readOnlyHint: true,