boondmanager-mcp-server 2.15.2 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/NOTICE +16 -2
- package/README.md +60 -15
- package/dist/config/access-policy.d.ts.map +1 -1
- package/dist/config/access-policy.js +6 -18
- package/dist/config/access-policy.js.map +1 -1
- package/dist/config/dictionary-overrides.d.ts.map +1 -1
- package/dist/config/dictionary-overrides.js +2 -12
- package/dist/config/dictionary-overrides.js.map +1 -1
- package/dist/config/env.d.ts +63 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +116 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/profiles.d.ts +22 -8
- package/dist/config/profiles.d.ts.map +1 -1
- package/dist/config/profiles.js +48 -4
- package/dist/config/profiles.js.map +1 -1
- package/dist/constants.d.ts +13 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +25 -1
- package/dist/constants.js.map +1 -1
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +6 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.js +33 -15
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +6 -6
- package/dist/instructions.js.map +1 -1
- package/dist/prompts/index.d.ts +19 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +495 -25
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/periods.d.ts +45 -0
- package/dist/prompts/periods.d.ts.map +1 -0
- package/dist/prompts/periods.js +154 -0
- package/dist/prompts/periods.js.map +1 -0
- package/dist/resources/index.d.ts +14 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +285 -0
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/templates.d.ts +1 -1
- package/dist/resources/templates.d.ts.map +1 -1
- package/dist/resources/templates.js +2 -0
- package/dist/resources/templates.js.map +1 -1
- package/dist/schema-dialect.js.map +1 -1
- package/dist/schemas/filter-aliases.d.ts +1 -1
- package/dist/schemas/filter-aliases.d.ts.map +1 -1
- package/dist/schemas/filter-aliases.js +101 -2
- package/dist/schemas/filter-aliases.js.map +1 -1
- package/dist/schemas/index.d.ts +987 -161
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +853 -323
- package/dist/schemas/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +10 -3
- package/dist/server.js.map +1 -1
- package/dist/services/boond-client.d.ts +29 -213
- package/dist/services/boond-client.d.ts.map +1 -1
- package/dist/services/boond-client.js +29 -1168
- package/dist/services/boond-client.js.map +1 -1
- package/dist/services/dictionary.d.ts +27 -3
- package/dist/services/dictionary.d.ts.map +1 -1
- package/dist/services/dictionary.js +60 -23
- package/dist/services/dictionary.js.map +1 -1
- package/dist/services/document-text.d.ts +32 -0
- package/dist/services/document-text.d.ts.map +1 -0
- package/dist/services/document-text.js +120 -0
- package/dist/services/document-text.js.map +1 -0
- package/dist/services/format/detail.d.ts +16 -0
- package/dist/services/format/detail.d.ts.map +1 -0
- package/dist/services/format/detail.js +36 -0
- package/dist/services/format/detail.js.map +1 -0
- package/dist/services/format/html.d.ts +19 -0
- package/dist/services/format/html.d.ts.map +1 -0
- package/dist/services/format/html.js +87 -0
- package/dist/services/format/html.js.map +1 -0
- package/dist/services/format/list.d.ts +3 -0
- package/dist/services/format/list.d.ts.map +1 -0
- package/dist/services/format/list.js +44 -0
- package/dist/services/format/list.js.map +1 -0
- package/dist/services/format/summary.d.ts +16 -0
- package/dist/services/format/summary.d.ts.map +1 -0
- package/dist/services/format/summary.js +172 -0
- package/dist/services/format/summary.js.map +1 -0
- package/dist/services/format/tab.d.ts +9 -0
- package/dist/services/format/tab.d.ts.map +1 -0
- package/dist/services/format/tab.js +32 -0
- package/dist/services/format/tab.js.map +1 -0
- package/dist/services/http/auth.d.ts +44 -0
- package/dist/services/http/auth.d.ts.map +1 -0
- package/dist/services/http/auth.js +146 -0
- package/dist/services/http/auth.js.map +1 -0
- package/dist/services/http/download.d.ts +60 -0
- package/dist/services/http/download.d.ts.map +1 -0
- package/dist/services/http/download.js +160 -0
- package/dist/services/http/download.js.map +1 -0
- package/dist/services/http/errors.d.ts +45 -0
- package/dist/services/http/errors.d.ts.map +1 -0
- package/dist/services/http/errors.js +188 -0
- package/dist/services/http/errors.js.map +1 -0
- package/dist/services/http/rate-limit.d.ts +40 -0
- package/dist/services/http/rate-limit.d.ts.map +1 -0
- package/dist/services/http/rate-limit.js +92 -0
- package/dist/services/http/rate-limit.js.map +1 -0
- package/dist/services/http/retry.d.ts +46 -0
- package/dist/services/http/retry.d.ts.map +1 -0
- package/dist/services/http/retry.js +101 -0
- package/dist/services/http/retry.js.map +1 -0
- package/dist/services/http/transport.d.ts +73 -0
- package/dist/services/http/transport.d.ts.map +1 -0
- package/dist/services/http/transport.js +272 -0
- package/dist/services/http/transport.js.map +1 -0
- package/dist/services/logger.d.ts +53 -2
- package/dist/services/logger.d.ts.map +1 -1
- package/dist/services/logger.js +82 -21
- package/dist/services/logger.js.map +1 -1
- package/dist/services/oauth.d.ts +12 -0
- package/dist/services/oauth.d.ts.map +1 -1
- package/dist/services/oauth.js +21 -8
- package/dist/services/oauth.js.map +1 -1
- package/dist/services/rate-limiter.d.ts +9 -2
- package/dist/services/rate-limiter.d.ts.map +1 -1
- package/dist/services/rate-limiter.js +18 -6
- package/dist/services/rate-limiter.js.map +1 -1
- package/dist/services/request-context.d.ts +47 -0
- package/dist/services/request-context.d.ts.map +1 -0
- package/dist/services/request-context.js +112 -0
- package/dist/services/request-context.js.map +1 -0
- package/dist/services/search.d.ts +26 -0
- package/dist/services/search.d.ts.map +1 -0
- package/dist/services/search.js +98 -0
- package/dist/services/search.js.map +1 -0
- package/dist/services/update-checker.d.ts.map +1 -1
- package/dist/services/update-checker.js +15 -8
- package/dist/services/update-checker.js.map +1 -1
- package/dist/tools/absences.d.ts +9 -0
- package/dist/tools/absences.d.ts.map +1 -1
- package/dist/tools/absences.js +65 -20
- package/dist/tools/absences.js.map +1 -1
- package/dist/tools/actions.d.ts.map +1 -1
- package/dist/tools/actions.js +11 -27
- package/dist/tools/actions.js.map +1 -1
- package/dist/tools/advantages.d.ts +2 -0
- package/dist/tools/advantages.d.ts.map +1 -1
- package/dist/tools/advantages.js +66 -13
- package/dist/tools/advantages.js.map +1 -1
- package/dist/tools/alerts.d.ts +18 -0
- package/dist/tools/alerts.d.ts.map +1 -0
- package/dist/tools/alerts.js +82 -0
- package/dist/tools/alerts.js.map +1 -0
- package/dist/tools/application.d.ts +2 -1
- package/dist/tools/application.d.ts.map +1 -1
- package/dist/tools/application.js +9 -3
- package/dist/tools/application.js.map +1 -1
- package/dist/tools/contacts.d.ts.map +1 -1
- package/dist/tools/contacts.js +3 -7
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/contracts.d.ts +22 -0
- package/dist/tools/contracts.d.ts.map +1 -1
- package/dist/tools/contracts.js +185 -52
- package/dist/tools/contracts.js.map +1 -1
- package/dist/tools/crud-factory.d.ts +33 -2
- package/dist/tools/crud-factory.d.ts.map +1 -1
- package/dist/tools/crud-factory.js +42 -15
- package/dist/tools/crud-factory.js.map +1 -1
- package/dist/tools/deliveries.d.ts +3 -0
- package/dist/tools/deliveries.d.ts.map +1 -1
- package/dist/tools/deliveries.js +50 -94
- package/dist/tools/deliveries.js.map +1 -1
- package/dist/tools/description-builders.d.ts +0 -1
- package/dist/tools/description-builders.d.ts.map +1 -1
- package/dist/tools/description-builders.js +46 -3
- package/dist/tools/description-builders.js.map +1 -1
- package/dist/tools/documents.d.ts.map +1 -1
- package/dist/tools/documents.js +73 -21
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/expenses.d.ts.map +1 -1
- package/dist/tools/expenses.js +2 -11
- package/dist/tools/expenses.js.map +1 -1
- package/dist/tools/find.d.ts +61 -0
- package/dist/tools/find.d.ts.map +1 -0
- package/dist/tools/find.js +221 -0
- package/dist/tools/find.js.map +1 -0
- package/dist/tools/flags.d.ts +5 -0
- package/dist/tools/flags.d.ts.map +1 -1
- package/dist/tools/flags.js +116 -1
- package/dist/tools/flags.js.map +1 -1
- package/dist/tools/forms.d.ts +5 -0
- package/dist/tools/forms.d.ts.map +1 -0
- package/dist/tools/forms.js +64 -0
- package/dist/tools/forms.js.map +1 -0
- package/dist/tools/groupments.d.ts +5 -0
- package/dist/tools/groupments.d.ts.map +1 -0
- package/dist/tools/groupments.js +68 -0
- package/dist/tools/groupments.js.map +1 -0
- package/dist/tools/inactivities.d.ts +5 -0
- package/dist/tools/inactivities.d.ts.map +1 -0
- package/dist/tools/inactivities.js +59 -0
- package/dist/tools/inactivities.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/invoices.d.ts.map +1 -1
- package/dist/tools/invoices.js +27 -2
- package/dist/tools/invoices.js.map +1 -1
- package/dist/tools/linked-entity-filters.d.ts +48 -0
- package/dist/tools/linked-entity-filters.d.ts.map +1 -0
- package/dist/tools/linked-entity-filters.js +64 -0
- package/dist/tools/linked-entity-filters.js.map +1 -0
- package/dist/tools/notifications.d.ts.map +1 -1
- package/dist/tools/notifications.js +0 -5
- package/dist/tools/notifications.js.map +1 -1
- package/dist/tools/orders.d.ts.map +1 -1
- package/dist/tools/orders.js +33 -4
- package/dist/tools/orders.js.map +1 -1
- package/dist/tools/parameter-disclosure.js.map +1 -1
- package/dist/tools/payments.d.ts +3 -0
- package/dist/tools/payments.d.ts.map +1 -1
- package/dist/tools/payments.js +43 -109
- package/dist/tools/payments.js.map +1 -1
- package/dist/tools/positionings.d.ts.map +1 -1
- package/dist/tools/positionings.js +9 -39
- package/dist/tools/positionings.js.map +1 -1
- package/dist/tools/projects.d.ts.map +1 -1
- package/dist/tools/projects.js +5 -12
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/provider-invoices.d.ts +2 -0
- package/dist/tools/provider-invoices.d.ts.map +1 -1
- package/dist/tools/provider-invoices.js +30 -111
- package/dist/tools/provider-invoices.js.map +1 -1
- package/dist/tools/purchases.d.ts +2 -0
- package/dist/tools/purchases.d.ts.map +1 -1
- package/dist/tools/purchases.js +50 -104
- package/dist/tools/purchases.js.map +1 -1
- package/dist/tools/registration-decorators.d.ts +28 -0
- package/dist/tools/registration-decorators.d.ts.map +1 -1
- package/dist/tools/registration-decorators.js +107 -0
- package/dist/tools/registration-decorators.js.map +1 -1
- package/dist/tools/resources.d.ts.map +1 -1
- package/dist/tools/resources.js +27 -5
- package/dist/tools/resources.js.map +1 -1
- package/dist/tools/rights.d.ts +101 -0
- package/dist/tools/rights.d.ts.map +1 -0
- package/dist/tools/rights.js +75 -0
- package/dist/tools/rights.js.map +1 -0
- package/dist/tools/tab-tools.js +3 -3
- package/dist/tools/tab-tools.js.map +1 -1
- package/dist/tools/timesheets.d.ts +29 -0
- package/dist/tools/timesheets.d.ts.map +1 -1
- package/dist/tools/timesheets.js +196 -126
- package/dist/tools/timesheets.js.map +1 -1
- package/dist/tools/todolists.d.ts +2 -0
- package/dist/tools/todolists.d.ts.map +1 -1
- package/dist/tools/todolists.js +64 -1
- package/dist/tools/todolists.js.map +1 -1
- package/dist/tools/validations.d.ts +9 -0
- package/dist/tools/validations.d.ts.map +1 -1
- package/dist/tools/validations.js +86 -9
- package/dist/tools/validations.js.map +1 -1
- package/dist/tools/workflows.js +1 -1
- package/dist/tools/workflows.js.map +1 -1
- package/dist/transports/http.d.ts +116 -0
- package/dist/transports/http.d.ts.map +1 -1
- package/dist/transports/http.js +422 -92
- package/dist/transports/http.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/manifest.json +7 -7
- package/package.json +14 -10
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Linked-entity filters → `keywords` references (issue #247).
|
|
3
|
+
*
|
|
4
|
+
* BoondManager's list endpoints have **no** `companyId` / `projectId` /
|
|
5
|
+
* `resourceId` query parameters. A related entity is selected through a
|
|
6
|
+
* prefixed reference inside `keywords` — `CSOC<id>` (company), `PRJ<id>`
|
|
7
|
+
* (project), `COMP<id>` (resource), `CAND<id>` (candidate), `CCON<id>`
|
|
8
|
+
* (contact), `AO<id>` (opportunity), `ACH<id>` (purchase), `BDC<id>` (order),
|
|
9
|
+
* `FACT<id>` (invoice), `MIS<id>` (delivery), `PROD<id>` (product),
|
|
10
|
+
* `CTR<id>` (contract) — documented per endpoint in the RAML and verified
|
|
11
|
+
* against the live API on 2026-09-25: `GET /invoices?companyId=6221` returned
|
|
12
|
+
* the whole table (29 893 rows, same as with no filter at all), while
|
|
13
|
+
* `keywords=CSOC6221` returned 2. An unknown query parameter is ignored
|
|
14
|
+
* silently, so a tool that forwarded `companyId` verbatim answered "the
|
|
15
|
+
* invoices of X" with *every* invoice, presented as filtered.
|
|
16
|
+
*
|
|
17
|
+
* The search schemas keep the `*Id` fields — they are what a model reaches
|
|
18
|
+
* for — and every search handler runs its params through `toKeywordReferences`
|
|
19
|
+
* before building the query, so the conversion cannot be forgotten per domain.
|
|
20
|
+
* Not every endpoint honours every prefix (the RAML lists them); a prefix an
|
|
21
|
+
* endpoint does not know simply matches nothing, which is still a visible
|
|
22
|
+
* "0 results", never a silently unfiltered page.
|
|
23
|
+
*/
|
|
24
|
+
export const KEYWORD_PREFIX_BY_FILTER = {
|
|
25
|
+
candidateId: "CAND",
|
|
26
|
+
resourceId: "COMP",
|
|
27
|
+
contactId: "CCON",
|
|
28
|
+
companyId: "CSOC",
|
|
29
|
+
projectId: "PRJ",
|
|
30
|
+
opportunityId: "AO",
|
|
31
|
+
purchaseId: "ACH",
|
|
32
|
+
orderId: "BDC",
|
|
33
|
+
invoiceId: "FACT",
|
|
34
|
+
deliveryId: "MIS",
|
|
35
|
+
productId: "PROD",
|
|
36
|
+
contractId: "CTR",
|
|
37
|
+
};
|
|
38
|
+
const FILTER_NAMES = Object.keys(KEYWORD_PREFIX_BY_FILTER);
|
|
39
|
+
/**
|
|
40
|
+
* Move every linked-entity `*Id` filter present in `params` into `keywords`
|
|
41
|
+
* as `<PREFIX><id>` (appended after the caller's own keywords, space
|
|
42
|
+
* separated) and drop the `*Id` keys. Keys that are absent or `undefined` are
|
|
43
|
+
* left alone; other keys pass through untouched.
|
|
44
|
+
*/
|
|
45
|
+
export function toKeywordReferences(params) {
|
|
46
|
+
const rest = { ...params };
|
|
47
|
+
const tokens = [];
|
|
48
|
+
const own = rest.keywords;
|
|
49
|
+
if (typeof own === "string" && own.trim().length > 0)
|
|
50
|
+
tokens.push(own.trim());
|
|
51
|
+
for (const name of FILTER_NAMES) {
|
|
52
|
+
const value = rest[name];
|
|
53
|
+
delete rest[name];
|
|
54
|
+
if (value === undefined || value === null || value === "")
|
|
55
|
+
continue;
|
|
56
|
+
tokens.push(`${KEYWORD_PREFIX_BY_FILTER[name]}${String(value)}`);
|
|
57
|
+
}
|
|
58
|
+
if (tokens.length > 0)
|
|
59
|
+
rest.keywords = tokens.join(" ");
|
|
60
|
+
else
|
|
61
|
+
delete rest.keywords;
|
|
62
|
+
return rest;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=linked-entity-filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linked-entity-filters.js","sourceRoot":"","sources":["../../src/tools/linked-entity-filters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,KAAK;CACT,CAAC;AAIX,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAyB,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAS;IAET,MAAM,IAAI,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IACpD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;YAAE,SAAS;QACpE,MAAM,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC;IAC1B,OAAO,IAA2D,CAAC;AACrE,CAAC"}
|
|
@@ -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;AAYzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
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,CAkDjE"}
|
|
@@ -9,11 +9,6 @@ export function registerNotificationTools(server) {
|
|
|
9
9
|
|
|
10
10
|
⚠️ Le paramètre \`category\` est REQUIS par l'API (singulier, pas de tableau).
|
|
11
11
|
|
|
12
|
-
Args:
|
|
13
|
-
- category (string, requis): 'activity' | 'thread' | 'corporate'
|
|
14
|
-
- state (string, optional): 'new' | 'read'
|
|
15
|
-
- parentType (string[], optional): types de modules parents (ex: 'contract', 'global')
|
|
16
|
-
|
|
17
12
|
Returns: Liste des notifications correspondantes.`,
|
|
18
13
|
inputSchema: NotificationSearchSchema,
|
|
19
14
|
annotations: {
|
|
@@ -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;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
|
|
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;;;;kDAI+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":"orders.d.ts","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6FzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B1D"}
|
package/dist/tools/orders.js
CHANGED
|
@@ -1,12 +1,43 @@
|
|
|
1
1
|
import { OrderSearchSchema, OrderCreateSchema, OrderUpdateSchema } from "../schemas/index.js";
|
|
2
2
|
import { buildJsonApiBody, registerSearchTool, registerGetTool, registerCreateTool, registerUpdateTool, registerDeleteTool, } from "./crud-factory.js";
|
|
3
3
|
import { defaultDeleteDescription } from "./description-builders.js";
|
|
4
|
+
import { registerTabTools } from "./tab-tools.js";
|
|
4
5
|
const OPTS = {
|
|
5
6
|
entityName: "bon de commande",
|
|
6
7
|
entityNamePlural: "bons de commande",
|
|
7
8
|
apiPath: "/orders",
|
|
8
9
|
prefix: "boond_orders",
|
|
9
10
|
};
|
|
11
|
+
// `ENTITY_TABS.orders` — verified live on 2026-09-26 (issue #258).
|
|
12
|
+
const ORDER_TABS = [
|
|
13
|
+
{
|
|
14
|
+
name: "information",
|
|
15
|
+
tab: "information",
|
|
16
|
+
title: "Informations complètes d'un bon de commande",
|
|
17
|
+
subject: "les informations complètes",
|
|
18
|
+
content: "période, conditions de paiement, références acheteur, prestations et projet liés",
|
|
19
|
+
returns: "Fiche complète du bon de commande (relations société, contact, projet, prestations incluses).",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: "actions",
|
|
23
|
+
tab: "actions",
|
|
24
|
+
title: "Actions liées à un bon de commande",
|
|
25
|
+
subject: "les actions",
|
|
26
|
+
content: "envois, relances, notes",
|
|
27
|
+
returns: "Liste des actions rattachées au bon de commande.",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "invoices",
|
|
31
|
+
tab: "invoices",
|
|
32
|
+
title: "Factures d'un bon de commande",
|
|
33
|
+
subject: "les factures émises",
|
|
34
|
+
content: "référence, période, état, montants HT/TTC",
|
|
35
|
+
returns: "Liste des factures rattachées au bon de commande, précédée des totaux calculés par BoondManager : commandé HT, facturé HT/TTC, reste à facturer (`deltaInvoicedExcludingTax`) et répartition par état.",
|
|
36
|
+
behaviour: [
|
|
37
|
+
"C'est l'entrée de la préparation de facturation : `deltaInvoicedExcludingTax` > 0 signifie qu'il reste à facturer sur la commande.",
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
];
|
|
10
41
|
/** Maps convenience inputs and schedule shortcuts to the Boond JSON:API body. */
|
|
11
42
|
function buildOrderBody(params) {
|
|
12
43
|
const { id, companyId, projectId, ...rest } = params;
|
|
@@ -48,10 +79,7 @@ export function registerOrderTools(server) {
|
|
|
48
79
|
schema: OrderSearchSchema,
|
|
49
80
|
description: `Recherche des bons de commande dans BoondManager avec filtres par société et projet.
|
|
50
81
|
|
|
51
|
-
|
|
52
|
-
- keywords (string, optional): Termes de recherche
|
|
53
|
-
- companyId, projectId (string, optional): Filtrer par entité liée
|
|
54
|
-
- page, pageSize: Pagination
|
|
82
|
+
\`companyId\` / \`projectId\` sont convertis en références \`keywords\` (CSOC<id> / PRJ<id>) : l'API n'a pas de paramètre dédié.
|
|
55
83
|
|
|
56
84
|
Returns: Liste des bons de commande correspondants.`,
|
|
57
85
|
});
|
|
@@ -71,5 +99,6 @@ Returns: Liste des bons de commande correspondants.`,
|
|
|
71
99
|
prefix: "boond_orders",
|
|
72
100
|
}),
|
|
73
101
|
});
|
|
102
|
+
registerTabTools(server, OPTS, ORDER_TABS);
|
|
74
103
|
}
|
|
75
104
|
//# sourceMappingURL=orders.js.map
|
package/dist/tools/orders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-disclosure.js","sourceRoot":"","sources":["../../src/tools/parameter-disclosure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAClH,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,2FAA2F;AAC3F,SAAS,YAAY,CAAC,WAAoB;IACxC,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAI,WAAmC,CAAC,KAAK,IAAI,WAAW,CAAC;IACxE,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAuB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAClF,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IACxE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"parameter-disclosure.js","sourceRoot":"","sources":["../../src/tools/parameter-disclosure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAClH,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,2FAA2F;AAC3F,SAAS,YAAY,CAAC,WAAoB;IACxC,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAI,WAAmC,CAAC,KAAK,IAAI,WAAW,CAAC;IACxE,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAuB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAClF,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IACxE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,IAAY;IACzD,OAAO,IAAI,MAAM,CAAC,SAAS,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAAS,EACT,IAAa;IAEb,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAE/E,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnE,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IACD,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,6EAA6E;IAC7E,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAE1C,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE,GAAG,WAAW,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC9E,CAAC;AACJ,CAAC"}
|
package/dist/tools/payments.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
export declare function buildPaymentBody(params: Record<string, unknown>): unknown;
|
|
3
|
+
/** PUT /payments/{id}: attributes only — the purchase attachment is never moved by an update (issue #252). */
|
|
4
|
+
export declare function buildPaymentUpdateBody(params: Record<string, unknown>): unknown;
|
|
2
5
|
export declare function registerPaymentTools(server: McpServer): void;
|
|
3
6
|
//# sourceMappingURL=payments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../../src/tools/payments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../../src/tools/payments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0BzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAKzE;AAED,8GAA8G;AAC9G,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAG/E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmC5D"}
|
package/dist/tools/payments.js
CHANGED
|
@@ -1,28 +1,32 @@
|
|
|
1
|
-
import { PaymentSearchSchema,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
1
|
+
import { PaymentCreateSchema, PaymentSearchSchema, PaymentUpdateSchema } from "../schemas/index.js";
|
|
2
|
+
import { buildJsonApiBody, registerCreateTool, registerDeleteTool, registerGetTool, registerSearchTool, registerUpdateTool, } from "./crud-factory.js";
|
|
3
|
+
import { composeDescription } from "./description-builders.js";
|
|
4
|
+
const OPTS = { entityName: "paiement", entityNamePlural: "paiements", apiPath: "/payments", prefix: "boond_payments" };
|
|
5
|
+
/** `/payments` payload: convenience names → API attributes, `purchaseId` → the mandatory `purchase` relationship. */
|
|
6
|
+
function paymentAttributes(params) {
|
|
7
|
+
const { paymentDate, amount, reference, note, ...attrs } = params;
|
|
8
|
+
return {
|
|
9
|
+
...attrs,
|
|
10
|
+
...(paymentDate ? { date: paymentDate } : {}),
|
|
11
|
+
...(amount !== undefined && attrs.amountExcludingTax === undefined ? { amountExcludingTax: amount } : {}),
|
|
12
|
+
...(reference ? { number: reference } : {}),
|
|
13
|
+
...(note ? { informationComments: note } : {}),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function buildPaymentBody(params) {
|
|
17
|
+
const { purchaseId, ...rest } = params;
|
|
18
|
+
return buildJsonApiBody("payment", paymentAttributes(rest), undefined, {
|
|
19
|
+
purchase: { id: String(purchaseId), type: "purchase" },
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/** PUT /payments/{id}: attributes only — the purchase attachment is never moved by an update (issue #252). */
|
|
23
|
+
export function buildPaymentUpdateBody(params) {
|
|
24
|
+
const { id, ...rest } = params;
|
|
25
|
+
return buildJsonApiBody("payment", paymentAttributes(rest), String(id));
|
|
26
|
+
}
|
|
23
27
|
export function registerPaymentTools(server) {
|
|
24
|
-
server
|
|
25
|
-
title: "
|
|
28
|
+
registerCreateTool(server, OPTS, PaymentCreateSchema, buildPaymentBody, {
|
|
29
|
+
title: "Créer un paiement",
|
|
26
30
|
description: composeDescription({
|
|
27
31
|
purpose: "Enregistre un paiement / règlement fournisseur adossé à un achat.",
|
|
28
32
|
when: "pour solder tout ou partie d'un achat existant.",
|
|
@@ -31,94 +35,24 @@ export function registerPaymentTools(server) {
|
|
|
31
35
|
"L'API `/payments` **exige** une relation `purchase` : sans ID d'achat valide, l'appel est refusé.",
|
|
32
36
|
"Écriture non idempotente : deux appels identiques enregistrent deux règlements.",
|
|
33
37
|
],
|
|
34
|
-
returns: "confirmation et fiche du paiement cr
|
|
38
|
+
returns: "confirmation et fiche du paiement créé, avec son ID dans `structuredContent.id`.",
|
|
35
39
|
}),
|
|
36
|
-
inputSchema: PaymentCreateSchema,
|
|
37
|
-
annotations: {
|
|
38
|
-
readOnlyHint: false,
|
|
39
|
-
destructiveHint: false,
|
|
40
|
-
idempotentHint: false,
|
|
41
|
-
openWorldHint: false,
|
|
42
|
-
},
|
|
43
|
-
}, async (params) => {
|
|
44
|
-
const { purchaseId, paymentDate, amount, reference, note, ...attrs } = params;
|
|
45
|
-
const apiAttrs = {
|
|
46
|
-
...attrs,
|
|
47
|
-
...(paymentDate ? { date: paymentDate } : {}),
|
|
48
|
-
...(amount !== undefined && attrs.amountExcludingTax === undefined ? { amountExcludingTax: amount } : {}),
|
|
49
|
-
...(reference ? { number: reference } : {}),
|
|
50
|
-
...(note ? { informationComments: note } : {}),
|
|
51
|
-
};
|
|
52
|
-
const body = buildJsonApiBody("payment", apiAttrs);
|
|
53
|
-
body.data.relationships = {
|
|
54
|
-
purchase: { data: { id: purchaseId, type: "purchase" } },
|
|
55
|
-
};
|
|
56
|
-
const response = await apiRequest("/payments", "POST", body);
|
|
57
|
-
const entity = Array.isArray(response.data) ? response.data[0] : response.data;
|
|
58
|
-
return {
|
|
59
|
-
content: [
|
|
60
|
-
{
|
|
61
|
-
type: "text",
|
|
62
|
-
text: `Paiement cree avec succes.\nID: ${entity?.id}\n\n${formatDetailResponse(response)}`,
|
|
63
|
-
},
|
|
64
|
-
],
|
|
65
|
-
};
|
|
66
40
|
});
|
|
67
|
-
server
|
|
68
|
-
|
|
69
|
-
description:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
Returns: Liste des paiements correspondants.`,
|
|
78
|
-
inputSchema: PaymentSearchSchema,
|
|
79
|
-
annotations: {
|
|
80
|
-
readOnlyHint: true,
|
|
81
|
-
destructiveHint: false,
|
|
82
|
-
idempotentHint: true,
|
|
83
|
-
openWorldHint: true,
|
|
84
|
-
},
|
|
85
|
-
}, async (params) => {
|
|
86
|
-
const { purchaseId, companyId, projectId, resourceId, keywords, ...rest } = params;
|
|
87
|
-
const tokens = [];
|
|
88
|
-
if (keywords)
|
|
89
|
-
tokens.push(keywords);
|
|
90
|
-
if (purchaseId)
|
|
91
|
-
tokens.push(`ACH${purchaseId}`);
|
|
92
|
-
if (companyId)
|
|
93
|
-
tokens.push(`CSOC${companyId}`);
|
|
94
|
-
if (projectId)
|
|
95
|
-
tokens.push(`PRJ${projectId}`);
|
|
96
|
-
if (resourceId)
|
|
97
|
-
tokens.push(`COMP${resourceId}`);
|
|
98
|
-
const query = buildSearchQuery(tokens.length > 0 ? { ...rest, keywords: tokens.join(" ") } : rest);
|
|
99
|
-
const response = await apiRequest("/payments", "GET", undefined, query);
|
|
100
|
-
return {
|
|
101
|
-
content: [{ type: "text", text: formatListResponse(response, "paiement", params.fields) }],
|
|
102
|
-
};
|
|
103
|
-
});
|
|
104
|
-
server.registerTool("boond_payments_get", {
|
|
105
|
-
title: "Details d'un paiement",
|
|
106
|
-
description: defaultGetDescription({
|
|
107
|
-
...{ entityName: "paiement", entityNamePlural: "paiements", prefix: "boond_payments" },
|
|
108
|
-
withTab: false,
|
|
41
|
+
registerSearchTool(server, OPTS, {
|
|
42
|
+
schema: PaymentSearchSchema,
|
|
43
|
+
description: composeDescription({
|
|
44
|
+
purpose: "Recherche des paiements / règlements fournisseur dans BoondManager.",
|
|
45
|
+
when: "pour retrouver les règlements adossés à un achat, une société, un projet ou une ressource, ceux d'un état (`paymentStates`), d'une période (`period: \"expected\"` + dates) ou d'un périmètre (`perimeter*`).",
|
|
46
|
+
instead: "`boond_purchases_search` pour les achats eux-mêmes, `boond_provider_invoices_search` pour les factures fournisseur.",
|
|
47
|
+
behaviour: [
|
|
48
|
+
"`purchaseId`, `companyId`, `projectId` et `resourceId` sont convertis en préfixes `keywords` (`ACH<id>`, `CSOC<id>`, `PRJ<id>`, `COMP<id>`) et concaténés aux `keywords` fournis — l'API n'a pas de paramètre dédié. Pas de filtre par facture : `/payments` ne connaît pas de référence `FACT<id>`.",
|
|
49
|
+
],
|
|
50
|
+
returns: "page de résumés des paiements (ID + libellé principal). Lecture seule.",
|
|
109
51
|
}),
|
|
110
|
-
inputSchema: IdSchema,
|
|
111
|
-
annotations: {
|
|
112
|
-
readOnlyHint: true,
|
|
113
|
-
destructiveHint: false,
|
|
114
|
-
idempotentHint: true,
|
|
115
|
-
openWorldHint: false,
|
|
116
|
-
},
|
|
117
|
-
}, async (params) => {
|
|
118
|
-
const response = await apiRequest(`/payments/${params.id}`);
|
|
119
|
-
return {
|
|
120
|
-
content: [{ type: "text", text: formatDetailResponse(response) }],
|
|
121
|
-
};
|
|
122
52
|
});
|
|
53
|
+
registerGetTool(server, OPTS, { withTab: false });
|
|
54
|
+
// Issue #252: regularise a payment (performed date, amount, state).
|
|
55
|
+
registerUpdateTool(server, OPTS, PaymentUpdateSchema, buildPaymentUpdateBody, { method: "PUT" });
|
|
56
|
+
registerDeleteTool(server, OPTS);
|
|
123
57
|
}
|
|
124
58
|
//# sourceMappingURL=payments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payments.js","sourceRoot":"","sources":["../../src/tools/payments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"payments.js","sourceRoot":"","sources":["../../src/tools/payments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positionings.d.ts","sourceRoot":"","sources":["../../src/tools/positionings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"positionings.d.ts","sourceRoot":"","sources":["../../src/tools/positionings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqKhE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { toKeywordReferences } from "./linked-entity-filters.js";
|
|
1
2
|
import { PositioningSearchSchema, PositioningCreateSchema, PositioningUpdateSchema, IdSchema, } from "../schemas/index.js";
|
|
2
3
|
import { apiRequest, buildSearchQuery, formatListResponse, formatDetailResponse } from "../services/boond-client.js";
|
|
3
4
|
import { buildJsonApiBody, registerDeleteTool, MutationOutputSchema } from "./crud-factory.js";
|
|
@@ -8,12 +9,7 @@ export function registerPositioningTools(server) {
|
|
|
8
9
|
title: "Rechercher des positionnements",
|
|
9
10
|
description: `Recherche des positionnements (placement de candidats/ressources sur des projets/opportunités) dans BoondManager.
|
|
10
11
|
|
|
11
|
-
L'API ne propose pas de paramètres de filtre dédiés : le filtrage par entité liée passe par des références dans \`keywords\` (AO<id>=opportunité, CAND<id>=candidat, COMP<id>=ressource, CSOC<id>=société, CCON<id>=contact, PROD<id>=produit). Les filtres *Id
|
|
12
|
-
|
|
13
|
-
Args:
|
|
14
|
-
- keywords (string, optional): Termes de recherche (références d'entités acceptées)
|
|
15
|
-
- candidateId, resourceId, opportunityId, companyId, contactId, productId (string, optional): Filtrer par entité liée (convertis en références keywords)
|
|
16
|
-
- page, pageSize: Pagination
|
|
12
|
+
L'API ne propose pas de paramètres de filtre dédiés : le filtrage par entité liée passe par des références dans \`keywords\` (AO<id>=opportunité, CAND<id>=candidat, COMP<id>=ressource, CSOC<id>=société, CCON<id>=contact, PROD<id>=produit). Les filtres *Id du schéma sont convertis automatiquement en ces références.
|
|
17
13
|
|
|
18
14
|
Returns: Liste des positionnements correspondants.`,
|
|
19
15
|
inputSchema: PositioningSearchSchema,
|
|
@@ -27,23 +23,7 @@ Returns: Liste des positionnements correspondants.`,
|
|
|
27
23
|
// L'API GET /positionings n'a pas de paramètres candidateId/resourceId/... :
|
|
28
24
|
// le filtrage par entité passe par des références dans `keywords`
|
|
29
25
|
// (cf. RAML officiel). Les paramètres bruts seraient silencieusement ignorés.
|
|
30
|
-
const
|
|
31
|
-
const tokens = [];
|
|
32
|
-
if (keywords)
|
|
33
|
-
tokens.push(keywords);
|
|
34
|
-
if (opportunityId)
|
|
35
|
-
tokens.push(`AO${opportunityId}`);
|
|
36
|
-
if (candidateId)
|
|
37
|
-
tokens.push(`CAND${candidateId}`);
|
|
38
|
-
if (resourceId)
|
|
39
|
-
tokens.push(`COMP${resourceId}`);
|
|
40
|
-
if (companyId)
|
|
41
|
-
tokens.push(`CSOC${companyId}`);
|
|
42
|
-
if (contactId)
|
|
43
|
-
tokens.push(`CCON${contactId}`);
|
|
44
|
-
if (productId)
|
|
45
|
-
tokens.push(`PROD${productId}`);
|
|
46
|
-
const query = buildSearchQuery(tokens.length > 0 ? { ...rest, keywords: tokens.join(" ") } : rest);
|
|
26
|
+
const query = buildSearchQuery(toKeywordReferences(params));
|
|
47
27
|
const response = await apiRequest("/positionings", "GET", undefined, query);
|
|
48
28
|
return {
|
|
49
29
|
content: [{ type: "text", text: formatListResponse(response, "positionnement", params.fields) }],
|
|
@@ -91,19 +71,16 @@ Returns: Liste des positionnements correspondants.`,
|
|
|
91
71
|
},
|
|
92
72
|
}, async (params) => {
|
|
93
73
|
const { candidateId, resourceId, projectId, opportunityId, ...attrs } = params;
|
|
94
|
-
const body = buildJsonApiBody("positioning", attrs);
|
|
95
74
|
const relationships = {};
|
|
96
75
|
if (candidateId)
|
|
97
|
-
relationships.dependsOn = {
|
|
76
|
+
relationships.dependsOn = { id: candidateId, type: "candidate" };
|
|
98
77
|
if (resourceId)
|
|
99
|
-
relationships.dependsOn = {
|
|
78
|
+
relationships.dependsOn = { id: resourceId, type: "resource" };
|
|
100
79
|
if (projectId)
|
|
101
|
-
relationships.project = {
|
|
80
|
+
relationships.project = { id: projectId, type: "project" };
|
|
102
81
|
if (opportunityId)
|
|
103
|
-
relationships.opportunity = {
|
|
104
|
-
|
|
105
|
-
body.data.relationships = relationships;
|
|
106
|
-
}
|
|
82
|
+
relationships.opportunity = { id: opportunityId, type: "opportunity" };
|
|
83
|
+
const body = buildJsonApiBody("positioning", attrs, undefined, relationships);
|
|
107
84
|
const response = await apiRequest("/positionings", "POST", body);
|
|
108
85
|
const entity = Array.isArray(response.data) ? response.data[0] : response.data;
|
|
109
86
|
return {
|
|
@@ -121,14 +98,7 @@ Returns: Liste des positionnements correspondants.`,
|
|
|
121
98
|
// MutationOutputSchema, structuredContent) reproduit celui de la factory.
|
|
122
99
|
server.registerTool("boond_positionings_update", {
|
|
123
100
|
title: "Modifier un positionnement",
|
|
124
|
-
description: `Met à jour un positionnement existant dans BoondManager (PUT /positionings/{id}). Seuls les champs fournis sont modifiés
|
|
125
|
-
|
|
126
|
-
Args:
|
|
127
|
-
- id (string): ID du positionnement
|
|
128
|
-
- state (number, optional): État du positionnement (ID du dictionnaire setting.state.positioning)
|
|
129
|
-
- stateReasonTypeOf, stateReasonDetail (optional): Motif d'état (repliés en stateReason {typeOf, detail})
|
|
130
|
-
- startDate, endDate (string, optional): Dates au format YYYY-MM-DD (chaîne vide pour effacer)
|
|
131
|
-
- informationComments (string, optional): Commentaires (max 250 caractères)
|
|
101
|
+
description: `Met à jour un positionnement existant dans BoondManager (PUT /positionings/{id}). Seuls les champs fournis sont modifiés ; \`stateReasonTypeOf\` / \`stateReasonDetail\` sont repliés en \`stateReason: { typeOf, detail }\`.
|
|
132
102
|
|
|
133
103
|
Returns: Données mises à jour du positionnement.`,
|
|
134
104
|
inputSchema: PositioningUpdateSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positionings.js","sourceRoot":"","sources":["../../src/tools/positionings.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEhH,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;QACE,KAAK,EAAE,gCAAgC;QACvC,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"positionings.js","sourceRoot":"","sources":["../../src/tools/positionings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4FzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4FzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmC5D"}
|
package/dist/tools/projects.js
CHANGED
|
@@ -85,18 +85,11 @@ export function registerProjectTools(server) {
|
|
|
85
85
|
registerCreateTool(server, OPTS, ProjectCreateSchema, (params) => {
|
|
86
86
|
const { companyId, contactId, opportunityId, name, ...attrs } = params;
|
|
87
87
|
const apiAttrs = { ...attrs, ...(name ? { title: name } : {}) };
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
relationships.contact = { data: { id: contactId, type: "contact" } };
|
|
94
|
-
if (opportunityId)
|
|
95
|
-
relationships.opportunity = { data: { id: opportunityId, type: "opportunity" } };
|
|
96
|
-
if (Object.keys(relationships).length > 0) {
|
|
97
|
-
body.data.relationships = relationships;
|
|
98
|
-
}
|
|
99
|
-
return body;
|
|
88
|
+
return buildJsonApiBody("project", apiAttrs, undefined, {
|
|
89
|
+
company: typeof companyId === "string" ? { id: companyId, type: "company" } : undefined,
|
|
90
|
+
contact: typeof contactId === "string" ? { id: contactId, type: "contact" } : undefined,
|
|
91
|
+
opportunity: typeof opportunityId === "string" ? { id: opportunityId, type: "opportunity" } : undefined,
|
|
92
|
+
});
|
|
100
93
|
});
|
|
101
94
|
// Updates go through PUT /projects/{id}/information — the base resource
|
|
102
95
|
// returns 405 on PATCH (issue #134, same root cause as #124). buildJsonApiBody
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,IAAI,GAAG;IACX,UAAU,EAAE,QAAQ;IACpB,gBAAgB,EAAE,SAAS;IAC3B,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,gBAAgB;CACzB,CAAC;AAEF,MAAM,YAAY,GAAoB;IACpC;QACE,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,2BAA2B;QAClC,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,yCAAyC;KACnD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,YAAY;QACjB,KAAK,EAAE,mCAAmC;QAC1C,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,uBAAuB;QAC5B,KAAK,EAAE,uCAAuC;QAC9C,OAAO,EAAE,qCAAqC;QAC9C,OAAO,EAAE,yCAAyC;QAClD,OAAO,EACL,qHAAqH;KACxH;IACD;QACE,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,8BAA8B;QACrC,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,+CAA+C;KACzD;IACD;QACE,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,qCAAqC;KAC/C;IACD;QACE,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,cAAc;QACnB,KAAK,EAAE,0BAA0B;QACjC,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE,+EAA+E;KACzF;CACF,CAAC;AAEF,MAAM,0BAA0B,GAAG;;;;;;;;;;;;6GAY0E,CAAC;AAE9G,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE;QAC/B,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE,0BAA0B;KACxC,CAAC,CAAC;IACH,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9B,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC/D,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACvE,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAChE,
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
/** `/provider-invoices` payload: `resource` is mandatory, `providerCompany` / `providerContact` optional. */
|
|
3
|
+
export declare function buildProviderInvoiceBody(params: Record<string, unknown>): unknown;
|
|
2
4
|
export declare function registerProviderInvoiceTools(server: McpServer): void;
|
|
3
5
|
//# sourceMappingURL=provider-invoices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-invoices.d.ts","sourceRoot":"","sources":["../../src/tools/provider-invoices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-invoices.d.ts","sourceRoot":"","sources":["../../src/tools/provider-invoices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuBzE,6GAA6G;AAC7G,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAOjF;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyCpE"}
|