boondmanager-mcp-server 2.10.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -3
- package/dist/config/access-policy.d.ts +5 -0
- package/dist/config/access-policy.d.ts.map +1 -1
- package/dist/config/access-policy.js +36 -1
- package/dist/config/access-policy.js.map +1 -1
- package/dist/config/env-flags.d.ts +11 -0
- package/dist/config/env-flags.d.ts.map +1 -0
- package/dist/config/env-flags.js +16 -0
- package/dist/config/env-flags.js.map +1 -0
- package/dist/config/profiles.d.ts +71 -0
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/profiles.js +115 -0
- package/dist/config/profiles.js.map +1 -0
- package/dist/icons.d.ts +79 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/icons.js +169 -0
- package/dist/icons.js.map +1 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +6 -0
- package/dist/resources/index.js.map +1 -1
- package/dist/schemas/filter-aliases.d.ts +69 -0
- package/dist/schemas/filter-aliases.d.ts.map +1 -0
- package/dist/schemas/filter-aliases.js +225 -0
- package/dist/schemas/filter-aliases.js.map +1 -0
- package/dist/schemas/index.d.ts +22 -22
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +54 -43
- package/dist/schemas/index.js.map +1 -1
- package/dist/server.d.ts +18 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +26 -3
- package/dist/server.js.map +1 -1
- package/dist/services/boond-client.d.ts +12 -2
- package/dist/services/boond-client.d.ts.map +1 -1
- package/dist/services/boond-client.js +86 -5
- package/dist/services/boond-client.js.map +1 -1
- package/dist/services/progress.d.ts +48 -0
- package/dist/services/progress.d.ts.map +1 -0
- package/dist/services/progress.js +70 -0
- package/dist/services/progress.js.map +1 -0
- package/dist/tools/actions.d.ts.map +1 -1
- package/dist/tools/actions.js +3 -2
- package/dist/tools/actions.js.map +1 -1
- package/dist/tools/advantages.d.ts.map +1 -1
- package/dist/tools/advantages.js +3 -2
- package/dist/tools/advantages.js.map +1 -1
- package/dist/tools/crud-factory.d.ts +0 -8
- package/dist/tools/crud-factory.d.ts.map +1 -1
- package/dist/tools/crud-factory.js +72 -17
- package/dist/tools/crud-factory.js.map +1 -1
- package/dist/tools/deliveries.d.ts.map +1 -1
- package/dist/tools/deliveries.js +3 -2
- package/dist/tools/deliveries.js.map +1 -1
- package/dist/tools/documents.d.ts.map +1 -1
- package/dist/tools/documents.js +5 -2
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/notifications.d.ts.map +1 -1
- package/dist/tools/notifications.js +3 -2
- package/dist/tools/notifications.js.map +1 -1
- package/dist/tools/planning-absences.d.ts.map +1 -1
- package/dist/tools/planning-absences.js +3 -2
- package/dist/tools/planning-absences.js.map +1 -1
- package/dist/tools/purchases.d.ts.map +1 -1
- package/dist/tools/purchases.js +3 -2
- package/dist/tools/purchases.js.map +1 -1
- package/dist/tools/registration-decorators.d.ts +35 -0
- package/dist/tools/registration-decorators.d.ts.map +1 -0
- package/dist/tools/registration-decorators.js +30 -0
- package/dist/tools/registration-decorators.js.map +1 -0
- package/dist/tools/reporting.d.ts.map +1 -1
- package/dist/tools/reporting.js +9 -1
- package/dist/tools/reporting.js.map +1 -1
- package/dist/tools/timesheets.d.ts.map +1 -1
- package/dist/tools/timesheets.js +3 -2
- package/dist/tools/timesheets.js.map +1 -1
- package/dist/tools/validation-wrapper.d.ts +43 -0
- package/dist/tools/validation-wrapper.d.ts.map +1 -0
- package/dist/tools/validation-wrapper.js +108 -0
- package/dist/tools/validation-wrapper.js.map +1 -0
- package/dist/tools/validations.d.ts.map +1 -1
- package/dist/tools/validations.js +3 -2
- package/dist/tools/validations.js.map +1 -1
- package/manifest.json +8 -1
- package/package.json +3 -1
package/dist/tools/deliveries.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DeliverySearchSchema, IdSchema } from "../schemas/index.js";
|
|
2
2
|
import { apiRequest, apiSearch, buildSearchQuery, formatListResponse, formatDetailResponse, } from "../services/boond-client.js";
|
|
3
|
+
import { progressReporterFrom } from "../services/progress.js";
|
|
3
4
|
import { buildJsonApiBody } from "./crud-factory.js";
|
|
4
5
|
import { z } from "zod";
|
|
5
6
|
const DeliveryCreateSchema = z
|
|
@@ -72,9 +73,9 @@ Returns: Liste des livraisons correspondantes.`,
|
|
|
72
73
|
idempotentHint: true,
|
|
73
74
|
openWorldHint: true,
|
|
74
75
|
},
|
|
75
|
-
}, async (params) => {
|
|
76
|
+
}, async (params, extra) => {
|
|
76
77
|
const query = buildSearchQuery(params);
|
|
77
|
-
const response = await apiSearch("/deliveries-groupments", query);
|
|
78
|
+
const response = await apiSearch("/deliveries-groupments", query, progressReporterFrom(extra));
|
|
78
79
|
return {
|
|
79
80
|
content: [{ type: "text", text: formatListResponse(response, "livraison", params.fields) }],
|
|
80
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveries.js","sourceRoot":"","sources":["../../src/tools/deliveries.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deliveries.js","sourceRoot":"","sources":["../../src/tools/deliveries.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;
|
|
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"}
|
package/dist/tools/documents.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { apiDownload, apiUploadForm, formatDetailResponse } from "../services/boond-client.js";
|
|
2
|
+
import { progressReporterFrom } from "../services/progress.js";
|
|
2
3
|
import { IdSchema, DocumentCreateSchema } from "../schemas/index.js";
|
|
3
4
|
import { MAX_DOCUMENT_BYTES, CHARACTER_LIMIT } from "../constants.js";
|
|
4
5
|
import { registerDeleteTool, MutationOutputSchema } from "./crud-factory.js";
|
|
@@ -25,8 +26,10 @@ Args:
|
|
|
25
26
|
idempotentHint: true,
|
|
26
27
|
openWorldHint: false,
|
|
27
28
|
},
|
|
28
|
-
}, async (params) => {
|
|
29
|
-
|
|
29
|
+
}, async (params, extra) => {
|
|
30
|
+
// Byte-level progress, but only when the client asked for it and the
|
|
31
|
+
// response announces a Content-Length (see readDownloadBody).
|
|
32
|
+
const doc = await apiDownload(`/documents/${params.id}`, progressReporterFrom(extra));
|
|
30
33
|
const uri = `boond://documents/${params.id}`;
|
|
31
34
|
const name = doc.filename ?? `document-${params.id}`;
|
|
32
35
|
if (doc.data.length > MAX_DOCUMENT_BYTES) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,kEAAkE;AAClE,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,qDAAqD;IACrD,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE;;;;+IAI4H,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC;;;yCAGlJ;QACnC,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,MAAe,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.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;
|
|
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,5 +1,6 @@
|
|
|
1
1
|
import { IdSchema, NotificationSearchSchema } from "../schemas/index.js";
|
|
2
2
|
import { apiRequest, apiSearch, buildSearchQuery, formatListResponse, formatDetailResponse, } from "../services/boond-client.js";
|
|
3
|
+
import { progressReporterFrom } from "../services/progress.js";
|
|
3
4
|
export function registerNotificationTools(server) {
|
|
4
5
|
server.registerTool("boond_notifications_search", {
|
|
5
6
|
title: "Rechercher des notifications",
|
|
@@ -20,9 +21,9 @@ Returns: Liste des notifications correspondantes.`,
|
|
|
20
21
|
idempotentHint: true,
|
|
21
22
|
openWorldHint: true,
|
|
22
23
|
},
|
|
23
|
-
}, async (params) => {
|
|
24
|
+
}, async (params, extra) => {
|
|
24
25
|
const query = buildSearchQuery(params);
|
|
25
|
-
const response = await apiSearch("/notifications", query);
|
|
26
|
+
const response = await apiSearch("/notifications", query, progressReporterFrom(extra));
|
|
26
27
|
return {
|
|
27
28
|
content: [{ type: "text", text: formatListResponse(response, "notification", params.fields) }],
|
|
28
29
|
};
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning-absences.d.ts","sourceRoot":"","sources":["../../src/tools/planning-absences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"planning-absences.d.ts","sourceRoot":"","sources":["../../src/tools/planning-absences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwBpE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SearchSchema } from "../schemas/index.js";
|
|
2
2
|
import { apiSearch, buildSearchQuery, formatListResponse } from "../services/boond-client.js";
|
|
3
|
+
import { progressReporterFrom } from "../services/progress.js";
|
|
3
4
|
export function registerPlanningAbsenceTools(server) {
|
|
4
5
|
server.registerTool("boond_planning_absences_search", {
|
|
5
6
|
title: "Rechercher le planning des absences",
|
|
@@ -13,9 +14,9 @@ Returns: Planning des absences.`,
|
|
|
13
14
|
idempotentHint: true,
|
|
14
15
|
openWorldHint: true,
|
|
15
16
|
},
|
|
16
|
-
}, async (params) => {
|
|
17
|
+
}, async (params, extra) => {
|
|
17
18
|
const query = buildSearchQuery(params);
|
|
18
|
-
const response = await apiSearch("/planning-absences", query);
|
|
19
|
+
const response = await apiSearch("/planning-absences", query, progressReporterFrom(extra));
|
|
19
20
|
return {
|
|
20
21
|
content: [{ type: "text", text: formatListResponse(response, "planning absence", params.fields) }],
|
|
21
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning-absences.js","sourceRoot":"","sources":["../../src/tools/planning-absences.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"planning-absences.js","sourceRoot":"","sources":["../../src/tools/planning-absences.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,YAAY,CACjB,gCAAgC,EAChC;QACE,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EAAE;;gCAEa;QAC1B,WAAW,EAAE,YAAY;QACzB,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,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3F,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SAC5G,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purchases.d.ts","sourceRoot":"","sources":["../../src/tools/purchases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"purchases.d.ts","sourceRoot":"","sources":["../../src/tools/purchases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsCzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+F7D"}
|
package/dist/tools/purchases.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IdSchema, fieldsField } from "../schemas/index.js";
|
|
2
2
|
import { apiRequest, apiSearch, buildSearchQuery, formatListResponse, formatDetailResponse, } from "../services/boond-client.js";
|
|
3
|
+
import { progressReporterFrom } from "../services/progress.js";
|
|
3
4
|
import { buildJsonApiBody, registerDeleteTool } from "./crud-factory.js";
|
|
4
5
|
import { z } from "zod";
|
|
5
6
|
import { DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE, MAX_SEARCH_PAGE } from "../constants.js";
|
|
@@ -42,9 +43,9 @@ Returns: Liste des achats correspondants.`,
|
|
|
42
43
|
idempotentHint: true,
|
|
43
44
|
openWorldHint: true,
|
|
44
45
|
},
|
|
45
|
-
}, async (params) => {
|
|
46
|
+
}, async (params, extra) => {
|
|
46
47
|
const query = buildSearchQuery(params);
|
|
47
|
-
const response = await apiSearch("/purchases", query);
|
|
48
|
+
const response = await apiSearch("/purchases", query, progressReporterFrom(extra));
|
|
48
49
|
return {
|
|
49
50
|
content: [{ type: "text", text: formatListResponse(response, "achat", params.fields) }],
|
|
50
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purchases.js","sourceRoot":"","sources":["../../src/tools/purchases.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEpF,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAClE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,eAAe,GAAG,CAAC;IAClH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC9G,MAAM,EAAE,WAAW;CACpB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACzE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CAC7D,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,sCAAsC;QAC7C,WAAW,EAAE;;;;;;0CAMuB;QACpC,WAAW,EAAE,oBAAoB;QACjC,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,EAAE;
|
|
1
|
+
{"version":3,"file":"purchases.js","sourceRoot":"","sources":["../../src/tools/purchases.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5D,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,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEpF,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAClE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,eAAe,GAAG,CAAC;IAClH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC9G,MAAM,EAAE,WAAW;CACpB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACzE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CAC7D,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,sCAAsC;QAC7C,WAAW,EAAE;;;;;;0CAMuB;QACpC,WAAW,EAAE,oBAAoB;QACjC,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,YAAY,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QACnF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SACjG,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EAAE,6DAA6D;QAC1E,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,cAAc,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC7D,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,aAAa,GAA4B,EAAE,CAAC;QAClD,IAAI,SAAS;YAAE,aAAa,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QACpF,IAAI,SAAS;YAAE,aAAa,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QACpF,IAAI,SAAS;YAAE,aAAa,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QACpF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,IAAgD,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACvF,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,kCAAkC,MAAM,EAAE,EAAE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,EAAE;iBAC1F;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,0FAA0F;IAC1F,kBAAkB,CAChB,MAAM,EACN,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,EACrG;QACE,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EAAE,yJAAyJ;KACvK,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DomainName } from "../constants.js";
|
|
3
|
+
/**
|
|
4
|
+
* Per-domain registration decorations, applied centrally in
|
|
5
|
+
* `server.ts::registerAll` so none of the 38 domain files has to know about
|
|
6
|
+
* them. Two jobs, both keyed on the domain the registrar belongs to (which the
|
|
7
|
+
* caller knows for free — it is iterating `TOOL_REGISTRARS`):
|
|
8
|
+
*
|
|
9
|
+
* 1. enrich `*_search` input schemas with filter-correction messages
|
|
10
|
+
* (`validation-wrapper.ts`);
|
|
11
|
+
* 2. record `tool name → domain` so the icon layer can attach the right
|
|
12
|
+
* domain icon without parsing tool names (`icons.ts`).
|
|
13
|
+
*
|
|
14
|
+
* Deliberately NOT merged into `withPolicy`: that wrapper has a fast path
|
|
15
|
+
* returning the untouched server when no operation filter is active, and these
|
|
16
|
+
* decorations must apply unconditionally.
|
|
17
|
+
*/
|
|
18
|
+
export interface RegistrationIndex {
|
|
19
|
+
/**
|
|
20
|
+
* Tool name → owning domain. Filled at registration time from
|
|
21
|
+
* `TOOL_REGISTRARS`, so it is exact for multi-word domains
|
|
22
|
+
* (`provider-invoices`) and for tools whose name doesn't start with their
|
|
23
|
+
* domain (`boond_workflow_*` ← `workflows`).
|
|
24
|
+
*/
|
|
25
|
+
toolDomains: Map<string, DomainName>;
|
|
26
|
+
}
|
|
27
|
+
export declare function createRegistrationIndex(): RegistrationIndex;
|
|
28
|
+
/**
|
|
29
|
+
* Wrap a server (or an already-wrapped Proxy) so every `registerTool` call made
|
|
30
|
+
* by `domain`'s registrar is decorated. Methods other than `registerTool` pass
|
|
31
|
+
* straight through, bound to the real target so the SDK's private fields keep
|
|
32
|
+
* working (same technique as `withPolicy`).
|
|
33
|
+
*/
|
|
34
|
+
export declare function decorateRegistrations(server: McpServer, domain: DomainName, index?: RegistrationIndex): McpServer;
|
|
35
|
+
//# sourceMappingURL=registration-decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration-decorators.d.ts","sourceRoot":"","sources":["../../src/tools/registration-decorators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACtC;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAmBjH"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { withValidationFeedback } from "./validation-wrapper.js";
|
|
2
|
+
export function createRegistrationIndex() {
|
|
3
|
+
return { toolDomains: new Map() };
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Wrap a server (or an already-wrapped Proxy) so every `registerTool` call made
|
|
7
|
+
* by `domain`'s registrar is decorated. Methods other than `registerTool` pass
|
|
8
|
+
* straight through, bound to the real target so the SDK's private fields keep
|
|
9
|
+
* working (same technique as `withPolicy`).
|
|
10
|
+
*/
|
|
11
|
+
export function decorateRegistrations(server, domain, index) {
|
|
12
|
+
return new Proxy(server, {
|
|
13
|
+
get(target, prop) {
|
|
14
|
+
const value = Reflect.get(target, prop, target);
|
|
15
|
+
if (typeof value !== "function")
|
|
16
|
+
return value;
|
|
17
|
+
if (prop === "registerTool") {
|
|
18
|
+
return (...args) => {
|
|
19
|
+
const name = args[0];
|
|
20
|
+
const config = args[1];
|
|
21
|
+
index?.toolDomains.set(name, domain);
|
|
22
|
+
const decorated = config === undefined ? config : withValidationFeedback(name, config, domain);
|
|
23
|
+
return value.apply(target, [name, decorated, ...args.slice(2)]);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return value.bind(target);
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=registration-decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration-decorators.js","sourceRoot":"","sources":["../../src/tools/registration-decorators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AA4BjE,MAAM,UAAU,uBAAuB;IACrC,OAAO,EAAE,WAAW,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAkB,EAAE,KAAyB;IACpG,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAY,CAAC;YAC3D,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAE9C,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;oBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;oBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAA0C,CAAC;oBAChE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACrC,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC/F,OAAQ,KAAsC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpG,CAAC,CAAC;YACJ,CAAC;YAED,OAAQ,KAAsC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../src/tools/reporting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../src/tools/reporting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4F9D"}
|
package/dist/tools/reporting.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ReportingCompaniesSchema, ReportingProjectsSchema, ReportingResourcesSchema, ReportingSynthesisSchema, ReportingProductionPlansSchema, } from "../schemas/index.js";
|
|
2
2
|
import { apiRequest, buildSearchQuery, formatListResponse } from "../services/boond-client.js";
|
|
3
|
+
import { progressReporterFrom } from "../services/progress.js";
|
|
3
4
|
export function registerReportingTools(server) {
|
|
4
5
|
const reportingEndpoints = [
|
|
5
6
|
{
|
|
@@ -70,9 +71,16 @@ Returns: Données de reporting.`,
|
|
|
70
71
|
idempotentHint: true,
|
|
71
72
|
openWorldHint: true,
|
|
72
73
|
},
|
|
73
|
-
}, async (params) => {
|
|
74
|
+
}, async (params, extra) => {
|
|
74
75
|
const query = buildSearchQuery(params);
|
|
76
|
+
// One underlying request, but an aggregation over a wide perimeter can
|
|
77
|
+
// take tens of seconds. Unlike a plain search (which apiSearch leaves
|
|
78
|
+
// silent on its single-call fast path), the "started" step is what
|
|
79
|
+
// separates "slow" from "hung" here — the only signal the client gets.
|
|
80
|
+
const progress = progressReporterFrom(extra);
|
|
81
|
+
progress(0, 1, `${ep.title} — calcul en cours…`);
|
|
75
82
|
const response = await apiRequest(ep.path, "GET", undefined, query);
|
|
83
|
+
progress(1, 1, `${ep.title} — terminé`);
|
|
76
84
|
return {
|
|
77
85
|
content: [{ type: "text", text: formatListResponse(response, ep.entity) }],
|
|
78
86
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../src/tools/reporting.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../src/tools/reporting.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timesheets.d.ts","sourceRoot":"","sources":["../../src/tools/timesheets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"timesheets.d.ts","sourceRoot":"","sources":["../../src/tools/timesheets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6DzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkI9D"}
|
package/dist/tools/timesheets.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ResourceTimesheetSchema, TimesheetSearchSchema, TimesheetGetSchema } from "../schemas/index.js";
|
|
2
2
|
import { apiRequest, apiSearch, buildSearchQuery, formatDetailResponse } from "../services/boond-client.js";
|
|
3
|
+
import { progressReporterFrom } from "../services/progress.js";
|
|
3
4
|
import { buildJsonApiBody } from "./crud-factory.js";
|
|
4
5
|
import { CHARACTER_LIMIT } from "../constants.js";
|
|
5
6
|
import { z } from "zod";
|
|
@@ -132,9 +133,9 @@ Returns: Liste des feuilles de temps correspondantes.`,
|
|
|
132
133
|
idempotentHint: true,
|
|
133
134
|
openWorldHint: true,
|
|
134
135
|
},
|
|
135
|
-
}, async (params) => {
|
|
136
|
+
}, async (params, extra) => {
|
|
136
137
|
const query = buildSearchQuery(params);
|
|
137
|
-
const response = await apiSearch("/times-reports", query);
|
|
138
|
+
const response = await apiSearch("/times-reports", query, progressReporterFrom(extra));
|
|
138
139
|
const text = formatTimesheetSummary(response);
|
|
139
140
|
return {
|
|
140
141
|
content: [{ type: "text", text }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timesheets.js","sourceRoot":"","sources":["../../src/tools/timesheets.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"timesheets.js","sourceRoot":"","sources":["../../src/tools/timesheets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { DomainName } from "../constants.js";
|
|
2
|
+
/**
|
|
3
|
+
* Rebuild a strict object schema with a filter-aware unrecognized-key message.
|
|
4
|
+
* Anything else (raw shapes, non-strict objects, unions) is returned as-is —
|
|
5
|
+
* we never make a lenient schema strict as a side effect.
|
|
6
|
+
*
|
|
7
|
+
* The rebuild reuses the exact same field schemas, so defaults, descriptions
|
|
8
|
+
* and per-field messages are preserved. Only issues raised *by the object
|
|
9
|
+
* itself* reach our error function; a field-level failure (e.g. `page: 500`)
|
|
10
|
+
* keeps the message its own schema defines, which is why the returned
|
|
11
|
+
* `undefined` fallback matters.
|
|
12
|
+
*/
|
|
13
|
+
export declare function withFilterHints<T>(schema: T, domain?: DomainName): T;
|
|
14
|
+
interface ToolConfigLike {
|
|
15
|
+
inputSchema?: unknown;
|
|
16
|
+
annotations?: {
|
|
17
|
+
openWorldHint?: boolean;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Is this a search-shaped tool, i.e. one whose filter vocabulary is worth
|
|
22
|
+
* explaining?
|
|
23
|
+
*
|
|
24
|
+
* Keyed on the *registration* rather than the name only. `openWorldHint: true`
|
|
25
|
+
* is exactly the annotation the codebase reserves for paginated,
|
|
26
|
+
* keyword-filtered listing tools (see CLAUDE.md §MCP Annotations), so it catches
|
|
27
|
+
* `boond_reporting_{companies,projects,resources,synthesis,production_plans}` —
|
|
28
|
+
* strict schemas carrying the same treacherous `perimeter*` / `*States`
|
|
29
|
+
* vocabulary, which a `_search` suffix test silently skipped — and any future
|
|
30
|
+
* hand-rolled search tool that doesn't happen to be named `*_search`. The name
|
|
31
|
+
* check is kept as an OR so a listing tool that omits the annotation is still
|
|
32
|
+
* covered.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isSearchTool(name: string, config?: ToolConfigLike): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Return the registration config a search tool should be registered with:
|
|
37
|
+
* the same object with its `inputSchema` swapped for the hint-enriched clone.
|
|
38
|
+
* Non-search tools and configs without a strict object schema come back
|
|
39
|
+
* untouched (same reference), so this is a no-op for the ~150 other tools.
|
|
40
|
+
*/
|
|
41
|
+
export declare function withValidationFeedback<C extends ToolConfigLike>(name: string, config: C, domain?: DomainName): C;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=validation-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-wrapper.d.ts","sourceRoot":"","sources":["../../src/tools/validation-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAoDlD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,CAYpE;AAED,UAAU,cAAc;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,CAKhH"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { unknownFilterMessage, ENDPOINT_FILTER_ALIASES } from "../schemas/filter-aliases.js";
|
|
3
|
+
/**
|
|
4
|
+
* Turn a `.strict()` search schema's unrecognized-key rejection into a
|
|
5
|
+
* correction the model can act on (SEP-1303).
|
|
6
|
+
*
|
|
7
|
+
* ## Why this is a *schema* wrapper and not a handler wrapper
|
|
8
|
+
*
|
|
9
|
+
* The issue this implements proposed wrapping the tool handler and
|
|
10
|
+
* `safeParse`-ing before the SDK does. That cannot work: `McpServer` validates
|
|
11
|
+
* the input **before** invoking the handler
|
|
12
|
+
* (`server/mcp.js::validateToolInput`), so on a validation failure the handler
|
|
13
|
+
* is never reached. The two options left were (a) declare a permissive schema
|
|
14
|
+
* to the SDK and validate strictly ourselves — which drops
|
|
15
|
+
* `additionalProperties: false` from the advertised `inputSchema`, the thing
|
|
16
|
+
* that lets a client validate before it even calls us — or (b) keep the strict
|
|
17
|
+
* schema and make *its own* error message the correction. We do (b):
|
|
18
|
+
*
|
|
19
|
+
* - the advertised `inputSchema` is byte-for-byte what it was before (verified
|
|
20
|
+
* in the tests: the rebuilt schema's JSON Schema is unchanged);
|
|
21
|
+
* - there is no second parse, so nothing is added to the hot path of a search;
|
|
22
|
+
* - the SDK already reports a validation failure as a *tool* error
|
|
23
|
+
* (`isError: true`) rather than a protocol error — it catches its own
|
|
24
|
+
* `McpError` and funnels it through `createToolError`. So SEP-1303's
|
|
25
|
+
* requirement is met by the SDK; what was missing, and what this adds, is a
|
|
26
|
+
* message worth self-correcting from.
|
|
27
|
+
*
|
|
28
|
+
* Applied to search-shaped tools only (see `isSearchTool`): that is where the
|
|
29
|
+
* filter vocabulary is treacherous (`mainManagers` vs `perimeterManagers`,
|
|
30
|
+
* `states` vs `resourceStates`). `get`/`create`/`update` take ids and attribute
|
|
31
|
+
* names the model reads straight off the schema.
|
|
32
|
+
*/
|
|
33
|
+
/** Does the domain have an endpoint-specific filter vocabulary? */
|
|
34
|
+
function searchEndpointOf(domain) {
|
|
35
|
+
if (domain !== undefined && Object.hasOwn(ENDPOINT_FILTER_ALIASES, domain))
|
|
36
|
+
return domain;
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A Zod v4 object schema that *rejects* unknown keys — i.e. `catchall` is
|
|
41
|
+
* `ZodNever`, not merely present. `.catchall(z.string())` also sets it, and
|
|
42
|
+
* rebuilding such a schema as `strictObject` would silently turn a permissive
|
|
43
|
+
* schema into a strict one.
|
|
44
|
+
*/
|
|
45
|
+
function isStrictObject(schema) {
|
|
46
|
+
if (!(schema instanceof z.ZodObject))
|
|
47
|
+
return false;
|
|
48
|
+
const def = schema._zod?.def;
|
|
49
|
+
return def?.catchall instanceof z.ZodNever;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Rebuild a strict object schema with a filter-aware unrecognized-key message.
|
|
53
|
+
* Anything else (raw shapes, non-strict objects, unions) is returned as-is —
|
|
54
|
+
* we never make a lenient schema strict as a side effect.
|
|
55
|
+
*
|
|
56
|
+
* The rebuild reuses the exact same field schemas, so defaults, descriptions
|
|
57
|
+
* and per-field messages are preserved. Only issues raised *by the object
|
|
58
|
+
* itself* reach our error function; a field-level failure (e.g. `page: 500`)
|
|
59
|
+
* keeps the message its own schema defines, which is why the returned
|
|
60
|
+
* `undefined` fallback matters.
|
|
61
|
+
*/
|
|
62
|
+
export function withFilterHints(schema, domain) {
|
|
63
|
+
if (!isStrictObject(schema))
|
|
64
|
+
return schema;
|
|
65
|
+
const shape = schema.shape;
|
|
66
|
+
const validKeys = Object.keys(shape);
|
|
67
|
+
const endpoint = searchEndpointOf(domain);
|
|
68
|
+
return z.strictObject(shape, {
|
|
69
|
+
error: (issue) => {
|
|
70
|
+
const raw = issue;
|
|
71
|
+
if (raw.code !== "unrecognized_keys" || !Array.isArray(raw.keys))
|
|
72
|
+
return undefined;
|
|
73
|
+
return unknownFilterMessage(raw.keys.map(String), validKeys, endpoint);
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Is this a search-shaped tool, i.e. one whose filter vocabulary is worth
|
|
79
|
+
* explaining?
|
|
80
|
+
*
|
|
81
|
+
* Keyed on the *registration* rather than the name only. `openWorldHint: true`
|
|
82
|
+
* is exactly the annotation the codebase reserves for paginated,
|
|
83
|
+
* keyword-filtered listing tools (see CLAUDE.md §MCP Annotations), so it catches
|
|
84
|
+
* `boond_reporting_{companies,projects,resources,synthesis,production_plans}` —
|
|
85
|
+
* strict schemas carrying the same treacherous `perimeter*` / `*States`
|
|
86
|
+
* vocabulary, which a `_search` suffix test silently skipped — and any future
|
|
87
|
+
* hand-rolled search tool that doesn't happen to be named `*_search`. The name
|
|
88
|
+
* check is kept as an OR so a listing tool that omits the annotation is still
|
|
89
|
+
* covered.
|
|
90
|
+
*/
|
|
91
|
+
export function isSearchTool(name, config) {
|
|
92
|
+
return name.endsWith("_search") || config?.annotations?.openWorldHint === true;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Return the registration config a search tool should be registered with:
|
|
96
|
+
* the same object with its `inputSchema` swapped for the hint-enriched clone.
|
|
97
|
+
* Non-search tools and configs without a strict object schema come back
|
|
98
|
+
* untouched (same reference), so this is a no-op for the ~150 other tools.
|
|
99
|
+
*/
|
|
100
|
+
export function withValidationFeedback(name, config, domain) {
|
|
101
|
+
if (!isSearchTool(name, config) || config?.inputSchema === undefined)
|
|
102
|
+
return config;
|
|
103
|
+
const enriched = withFilterHints(config.inputSchema, domain);
|
|
104
|
+
if (enriched === config.inputSchema)
|
|
105
|
+
return config;
|
|
106
|
+
return { ...config, inputSchema: enriched };
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=validation-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-wrapper.js","sourceRoot":"","sources":["../../src/tools/validation-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAuB,MAAM,8BAA8B,CAAC;AAElH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,mEAAmE;AACnE,SAAS,gBAAgB,CAAC,MAA8B;IACtD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC;QAAE,OAAO,MAAwB,CAAC;IAC5G,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAe;IACrC,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,GAAG,GAAI,MAAiE,CAAC,IAAI,EAAE,GAAG,CAAC;IACzF,OAAO,GAAG,EAAE,QAAQ,YAAY,CAAC,CAAC,QAAQ,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAI,MAAS,EAAE,MAAmB;IAC/D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;QAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,GAAG,GAAG,KAA0C,CAAC;YACvD,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YACnF,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;KACF,CAAiB,CAAC;AACrB,CAAC;AAOD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAuB;IAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,WAAW,EAAE,aAAa,KAAK,IAAI,CAAC;AACjF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAA2B,IAAY,EAAE,MAAS,EAAE,MAAmB;IAC3G,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,WAAW,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACpF,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,MAAM,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC;IACnD,OAAO,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/tools/validations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/tools/validations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuD/D"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IdSchema, ValidationSearchSchema } from "../schemas/index.js";
|
|
2
2
|
import { apiRequest, apiSearch, buildSearchQuery, formatListResponse, formatDetailResponse, } from "../services/boond-client.js";
|
|
3
|
+
import { progressReporterFrom } from "../services/progress.js";
|
|
3
4
|
export function registerValidationTools(server) {
|
|
4
5
|
server.registerTool("boond_validations_search", {
|
|
5
6
|
title: "Rechercher des validations",
|
|
@@ -23,9 +24,9 @@ Returns: Liste des validations correspondantes.`,
|
|
|
23
24
|
idempotentHint: true,
|
|
24
25
|
openWorldHint: true,
|
|
25
26
|
},
|
|
26
|
-
}, async (params) => {
|
|
27
|
+
}, async (params, extra) => {
|
|
27
28
|
const query = buildSearchQuery(params);
|
|
28
|
-
const response = await apiSearch("/validations", query);
|
|
29
|
+
const response = await apiSearch("/validations", query, progressReporterFrom(extra));
|
|
29
30
|
return {
|
|
30
31
|
content: [{ type: "text", text: formatListResponse(response, "validation", params.fields) }],
|
|
31
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/tools/validations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EACL,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/tools/validations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACvE,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,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE;;;;;;;;;;;;gDAY6B;QAC1C,WAAW,EAAE,sBAAsB;QACnC,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,cAAc,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SACtG,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,mEAAmE;QAChF,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,gBAAgB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,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"}
|
package/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "boondmanager-mcp-server",
|
|
4
4
|
"display_name": "BoondManager MCP Server",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.12.0",
|
|
6
6
|
"description": "MCP Server for BoondManager API - 180 tools, 11 prompts, 22 resources (ERP/CRM)",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Frédéric Auguste",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"BOOND_API_TOKEN": "${user_config.api_token}",
|
|
31
31
|
"BOOND_USER": "${user_config.user}",
|
|
32
32
|
"BOOND_PASSWORD": "${user_config.password}",
|
|
33
|
+
"BOOND_MCP_PROFILE": "${user_config.mcp_profile}",
|
|
33
34
|
"BOOND_MCP_DOMAINS": "${user_config.mcp_domains}",
|
|
34
35
|
"BOOND_MCP_EXCLUDE_DOMAINS": "${user_config.mcp_exclude_domains}",
|
|
35
36
|
"BOOND_MCP_OPERATIONS": "${user_config.mcp_operations}",
|
|
@@ -88,6 +89,12 @@
|
|
|
88
89
|
"sensitive": true,
|
|
89
90
|
"required": false
|
|
90
91
|
},
|
|
92
|
+
"mcp_profile": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"title": "Restriction : profil d'accès",
|
|
95
|
+
"description": "Profil préconfiguré parmi recruiting, sales, finance, delivery, admin (plusieurs = séparés par des virgules, union). Raccourci pour ne pas lister les domaines un par un. Ignoré si 'domaines autorisés' est renseigné. Voir docs/access-control.md.",
|
|
96
|
+
"required": false
|
|
97
|
+
},
|
|
91
98
|
"mcp_domains": {
|
|
92
99
|
"type": "string",
|
|
93
100
|
"title": "Restriction : domaines autorisés",
|