boondmanager-mcp-server 2.7.1 → 2.8.1
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 +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +12 -0
- package/dist/constants.js.map +1 -1
- package/dist/index.js +35 -8
- package/dist/index.js.map +1 -1
- package/dist/schemas/index.d.ts +29 -6
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +30 -7
- package/dist/schemas/index.js.map +1 -1
- package/dist/services/boond-client.d.ts +21 -0
- package/dist/services/boond-client.d.ts.map +1 -1
- package/dist/services/boond-client.js +57 -1
- package/dist/services/boond-client.js.map +1 -1
- package/dist/tools/absences.d.ts.map +1 -1
- package/dist/tools/absences.js +47 -29
- package/dist/tools/absences.js.map +1 -1
- package/dist/tools/actions.d.ts.map +1 -1
- package/dist/tools/actions.js +4 -2
- package/dist/tools/actions.js.map +1 -1
- package/dist/tools/advantages.d.ts.map +1 -1
- package/dist/tools/advantages.js +2 -2
- package/dist/tools/advantages.js.map +1 -1
- package/dist/tools/crud-factory.d.ts.map +1 -1
- package/dist/tools/crud-factory.js +4 -2
- package/dist/tools/crud-factory.js.map +1 -1
- package/dist/tools/deliveries.d.ts.map +1 -1
- package/dist/tools/deliveries.js +60 -9
- package/dist/tools/deliveries.js.map +1 -1
- package/dist/tools/invoices.d.ts.map +1 -1
- package/dist/tools/invoices.js +30 -12
- package/dist/tools/invoices.js.map +1 -1
- package/dist/tools/notifications.d.ts.map +1 -1
- package/dist/tools/notifications.js +2 -2
- package/dist/tools/notifications.js.map +1 -1
- package/dist/tools/orders.d.ts.map +1 -1
- package/dist/tools/orders.js +31 -3
- package/dist/tools/orders.js.map +1 -1
- package/dist/tools/payments.d.ts.map +1 -1
- package/dist/tools/payments.js +72 -9
- package/dist/tools/payments.js.map +1 -1
- package/dist/tools/planning-absences.js +2 -2
- package/dist/tools/planning-absences.js.map +1 -1
- package/dist/tools/positionings.js +2 -2
- package/dist/tools/positionings.js.map +1 -1
- package/dist/tools/projects.d.ts.map +1 -1
- package/dist/tools/projects.js +6 -4
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/provider-invoices.d.ts.map +1 -1
- package/dist/tools/provider-invoices.js +72 -12
- package/dist/tools/provider-invoices.js.map +1 -1
- package/dist/tools/purchases.d.ts.map +1 -1
- package/dist/tools/purchases.js +7 -3
- package/dist/tools/purchases.js.map +1 -1
- package/dist/tools/timesheets.d.ts.map +1 -1
- package/dist/tools/timesheets.js +50 -2
- package/dist/tools/timesheets.js.map +1 -1
- package/dist/tools/validations.d.ts.map +1 -1
- package/dist/tools/validations.js +2 -2
- package/dist/tools/validations.js.map +1 -1
- package/dist/transports/http.d.ts +8 -0
- package/dist/transports/http.d.ts.map +1 -1
- package/dist/transports/http.js +28 -17
- package/dist/transports/http.js.map +1 -1
- package/manifest.json +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
Serveur MCP (Model Context Protocol) pour l'API BoondManager, permettant a Claude (Desktop, Cowork, Code) de rechercher, consulter, creer et modifier des enregistrements dans votre instance BoondManager.
|
|
25
25
|
|
|
26
|
-
**
|
|
26
|
+
**180 outils** couvrant **38 domaines** de l'API BoondManager. Voir [TOOLS.md](./TOOLS.md) pour le catalogue auto-généré (outils + prompts + ressources).
|
|
27
27
|
|
|
28
28
|
> **Sorties structurées.** En plus du texte lisible, les outils `search`, `create`, `update` et `delete` renvoient un `structuredContent` conforme à un `outputSchema` MCP : `search` → `{ total?, count, items[] }` (résumés compacts, pas les ressources JSON:API complètes), `create`/`update` → `{ id?, type? }`, `delete` → `{ id, deleted, reason? }`. Les clients MCP qui exploitent les sorties structurées obtiennent une référence d'entité fiable pour chaîner les appels. Les outils `get` restent en texte seul (leur texte est déjà du JSON exploitable).
|
|
29
29
|
|
package/dist/constants.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export declare const DEFAULT_BASE_URL = "https://ui.boondmanager.com/api";
|
|
|
2
2
|
export declare const CHARACTER_LIMIT = 50000;
|
|
3
3
|
export declare const DEFAULT_PAGE_SIZE = 30;
|
|
4
4
|
export declare const MAX_PAGE_SIZE = 500;
|
|
5
|
+
export declare const ROUTE_MAX_RESULTS: Record<string, number>;
|
|
6
|
+
export declare const DEFAULT_MAX_RESULTS = 500;
|
|
5
7
|
export declare const MAX_SEARCH_PAGE = 100;
|
|
6
8
|
export declare const MAX_DOCUMENT_BYTES: number;
|
|
7
9
|
export declare const DEFAULT_HTTP_TIMEOUT_MS = 30000;
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,aAAa,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,aAAa,MAAM,CAAC;AAUjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEpD,CAAC;AACF,eAAO,MAAM,mBAAmB,MAAgB,CAAC;AAKjD,eAAO,MAAM,eAAe,MAAM,CAAC;AAMnC,eAAO,MAAM,kBAAkB,QAAkB,CAAC;AAKlD,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAK9C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAM/C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAGhD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CZ,CAAC;AAOX,eAAO,MAAM,kBAAkB,+fAuCrB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAG7D,eAAO,MAAM,WAAW;;;;;;;;;CAsCd,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -3,6 +3,18 @@ export const DEFAULT_BASE_URL = "https://ui.boondmanager.com/api";
|
|
|
3
3
|
export const CHARACTER_LIMIT = 50000;
|
|
4
4
|
export const DEFAULT_PAGE_SIZE = 30;
|
|
5
5
|
export const MAX_PAGE_SIZE = 500;
|
|
6
|
+
// Per-route safe ceiling for the BoondManager `maxResults` query parameter.
|
|
7
|
+
// Some routes return very heavy objects: on /actions, maxResults > 100 triggers
|
|
8
|
+
// memory overflows on BoondManager's side (internal alerts, then a silent
|
|
9
|
+
// fallback to 30) — reported by their tech team. When a search requests more
|
|
10
|
+
// than a route's ceiling, the apiSearch layer fetches it in chunks of that size
|
|
11
|
+
// and merges the pages, so the caller still gets the full page while we never
|
|
12
|
+
// send maxResults above the cap. A route absent from this map uses
|
|
13
|
+
// DEFAULT_MAX_RESULTS. Keys are the API paths as passed to apiRequest/apiSearch.
|
|
14
|
+
export const ROUTE_MAX_RESULTS = {
|
|
15
|
+
"/actions": 100,
|
|
16
|
+
};
|
|
17
|
+
export const DEFAULT_MAX_RESULTS = MAX_PAGE_SIZE;
|
|
6
18
|
// Cap the page number on search tools (openWorldHint) to prevent runaway
|
|
7
19
|
// iterations. At 500 results/page, page 100 = 50k records — well beyond
|
|
8
20
|
// typical interactive exploration. The model can refine filters instead.
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { readFileSync } from "node:fs";
|
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
6
|
-
import { initClient, initClientWithAuth, oauthContextAuth } from "./services/boond-client.js";
|
|
6
|
+
import { initClient, initClientWithAuth, oauthContextAuth, hasEnvCredentials } from "./services/boond-client.js";
|
|
7
7
|
import { createMcpServer, REGISTERED_DOMAINS } from "./server.js";
|
|
8
8
|
import { runUpdateNotification } from "./services/update-checker.js";
|
|
9
9
|
import { resolveHttpOptions, startHttpTransport } from "./transports/http.js";
|
|
@@ -32,21 +32,48 @@ function scheduleUpdateCheck() {
|
|
|
32
32
|
return;
|
|
33
33
|
void runUpdateNotification({ currentVersion: meta.version, packageName: meta.name });
|
|
34
34
|
}
|
|
35
|
+
function resolveStaticAuth() {
|
|
36
|
+
const v = process.env["BOOND_HTTP_STATIC_AUTH"];
|
|
37
|
+
if (!v || v.startsWith("${"))
|
|
38
|
+
return false;
|
|
39
|
+
return v.toLowerCase() === "true" || v === "1" || v.toLowerCase() === "yes";
|
|
40
|
+
}
|
|
35
41
|
async function main() {
|
|
36
42
|
const kind = resolveTransport();
|
|
37
43
|
if (kind === "http") {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
const useStaticAuth = resolveStaticAuth();
|
|
45
|
+
if (useStaticAuth) {
|
|
46
|
+
// Static-auth mode: operator provides env credentials; no per-request
|
|
47
|
+
// OAuth token needed from MCP clients (e.g. Hermes, CI pipelines,
|
|
48
|
+
// single-tenant self-hosted deployments).
|
|
49
|
+
if (!hasEnvCredentials()) {
|
|
50
|
+
console.error("⚠️ BOOND_HTTP_STATIC_AUTH is set but no credentials found. " +
|
|
51
|
+
"Set BOOND_USER_TOKEN + BOOND_CLIENT_TOKEN + BOOND_CLIENT_KEY (or BOOND_API_TOKEN).");
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
initClient();
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error("⚠️ Failed to initialise env-based credentials:", error.message);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// OAuth2 protected resource: each MCP request must carry its own Bearer.
|
|
64
|
+
initClientWithAuth(oauthContextAuth);
|
|
65
|
+
}
|
|
44
66
|
const options = resolveHttpOptions();
|
|
45
67
|
const handle = await startHttpTransport(createMcpServer, options);
|
|
46
68
|
console.error("🚀 BoondManager MCP Server running (streamable HTTP transport)");
|
|
47
69
|
console.error(`📡 Endpoint: http://${handle.address.host}:${handle.address.port}${handle.address.path}`);
|
|
48
70
|
console.error(`🔑 Mode: ${options.stateless ? "stateless" : "stateful"}`);
|
|
49
|
-
|
|
71
|
+
if (useStaticAuth) {
|
|
72
|
+
console.error("🔐 Boond auth: JWT statique (credentials env, pas de Bearer requis par le client)");
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
console.error("🔐 Boond auth: OAuth2 (per-request Bearer from MCP client)");
|
|
76
|
+
}
|
|
50
77
|
console.error(`📦 Domains: ${REGISTERED_DOMAINS.join(", ")}`);
|
|
51
78
|
const shutdown = async (signal) => {
|
|
52
79
|
console.error(`\n🛑 Received ${signal}, shutting down...`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -559,6 +559,7 @@ export declare const ProjectCreateSchema: z.ZodObject<{
|
|
|
559
559
|
companyId: z.ZodOptional<z.ZodString>;
|
|
560
560
|
contactId: z.ZodOptional<z.ZodString>;
|
|
561
561
|
opportunityId: z.ZodOptional<z.ZodString>;
|
|
562
|
+
typeOf: z.ZodOptional<z.ZodNumber>;
|
|
562
563
|
state: z.ZodOptional<z.ZodPreprocess<z.ZodCoercedNumber<unknown>>>;
|
|
563
564
|
startDate: z.ZodOptional<z.ZodString>;
|
|
564
565
|
endDate: z.ZodOptional<z.ZodString>;
|
|
@@ -567,6 +568,7 @@ export declare const ProjectCreateSchema: z.ZodObject<{
|
|
|
567
568
|
export declare const ProjectUpdateSchema: z.ZodObject<{
|
|
568
569
|
id: z.ZodString;
|
|
569
570
|
name: z.ZodOptional<z.ZodString>;
|
|
571
|
+
typeOf: z.ZodOptional<z.ZodNumber>;
|
|
570
572
|
state: z.ZodOptional<z.ZodPreprocess<z.ZodCoercedNumber<unknown>>>;
|
|
571
573
|
startDate: z.ZodOptional<z.ZodString>;
|
|
572
574
|
endDate: z.ZodOptional<z.ZodString>;
|
|
@@ -574,13 +576,14 @@ export declare const ProjectUpdateSchema: z.ZodObject<{
|
|
|
574
576
|
}, z.core.$strict>;
|
|
575
577
|
export declare const InvoiceCreateSchema: z.ZodObject<{
|
|
576
578
|
reference: z.ZodOptional<z.ZodString>;
|
|
577
|
-
|
|
578
|
-
projectId: z.ZodOptional<z.ZodString>;
|
|
579
|
+
orderId: z.ZodOptional<z.ZodString>;
|
|
579
580
|
state: z.ZodOptional<z.ZodNumber>;
|
|
580
581
|
invoiceDate: z.ZodOptional<z.ZodString>;
|
|
581
|
-
|
|
582
|
+
expectedPaymentDate: z.ZodOptional<z.ZodString>;
|
|
582
583
|
amountExcludingTax: z.ZodOptional<z.ZodNumber>;
|
|
583
584
|
taxRate: z.ZodOptional<z.ZodNumber>;
|
|
585
|
+
invoiceRecords: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
586
|
+
invoicePayments: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
584
587
|
note: z.ZodOptional<z.ZodString>;
|
|
585
588
|
}, z.core.$strict>;
|
|
586
589
|
export declare const InvoiceUpdateSchema: z.ZodObject<{
|
|
@@ -588,9 +591,11 @@ export declare const InvoiceUpdateSchema: z.ZodObject<{
|
|
|
588
591
|
reference: z.ZodOptional<z.ZodString>;
|
|
589
592
|
state: z.ZodOptional<z.ZodNumber>;
|
|
590
593
|
invoiceDate: z.ZodOptional<z.ZodString>;
|
|
591
|
-
|
|
594
|
+
expectedPaymentDate: z.ZodOptional<z.ZodString>;
|
|
592
595
|
amountExcludingTax: z.ZodOptional<z.ZodNumber>;
|
|
593
596
|
taxRate: z.ZodOptional<z.ZodNumber>;
|
|
597
|
+
invoiceRecords: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
598
|
+
invoicePayments: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
594
599
|
note: z.ZodOptional<z.ZodString>;
|
|
595
600
|
}, z.core.$strict>;
|
|
596
601
|
export declare const InvoiceSearchSchema: z.ZodObject<{
|
|
@@ -609,7 +614,11 @@ export declare const OrderCreateSchema: z.ZodObject<{
|
|
|
609
614
|
projectId: z.ZodOptional<z.ZodString>;
|
|
610
615
|
state: z.ZodOptional<z.ZodNumber>;
|
|
611
616
|
orderDate: z.ZodOptional<z.ZodString>;
|
|
617
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
618
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
612
619
|
amountExcludingTax: z.ZodOptional<z.ZodNumber>;
|
|
620
|
+
customerAgreement: z.ZodOptional<z.ZodBoolean>;
|
|
621
|
+
schedules: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
613
622
|
note: z.ZodOptional<z.ZodString>;
|
|
614
623
|
}, z.core.$strict>;
|
|
615
624
|
export declare const OrderUpdateSchema: z.ZodObject<{
|
|
@@ -617,7 +626,11 @@ export declare const OrderUpdateSchema: z.ZodObject<{
|
|
|
617
626
|
reference: z.ZodOptional<z.ZodString>;
|
|
618
627
|
state: z.ZodOptional<z.ZodNumber>;
|
|
619
628
|
orderDate: z.ZodOptional<z.ZodString>;
|
|
629
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
630
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
620
631
|
amountExcludingTax: z.ZodOptional<z.ZodNumber>;
|
|
632
|
+
customerAgreement: z.ZodOptional<z.ZodBoolean>;
|
|
633
|
+
schedules: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
621
634
|
note: z.ZodOptional<z.ZodString>;
|
|
622
635
|
}, z.core.$strict>;
|
|
623
636
|
export declare const OrderSearchSchema: z.ZodObject<{
|
|
@@ -641,6 +654,9 @@ export declare const AbsenceCreateSchema: z.ZodObject<{
|
|
|
641
654
|
typeOf: z.ZodString;
|
|
642
655
|
startDate: z.ZodString;
|
|
643
656
|
endDate: z.ZodString;
|
|
657
|
+
duration: z.ZodOptional<z.ZodNumber>;
|
|
658
|
+
workUnitTypeReference: z.ZodOptional<z.ZodNumber>;
|
|
659
|
+
absencesPeriods: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
644
660
|
state: z.ZodOptional<z.ZodNumber>;
|
|
645
661
|
note: z.ZodOptional<z.ZodString>;
|
|
646
662
|
}, z.core.$strict>;
|
|
@@ -654,8 +670,8 @@ export declare const AbsenceUpdateSchema: z.ZodObject<{
|
|
|
654
670
|
export declare const AbsenceSearchSchema: z.ZodObject<{
|
|
655
671
|
keywords: z.ZodOptional<z.ZodString>;
|
|
656
672
|
resourceId: z.ZodOptional<z.ZodString>;
|
|
657
|
-
|
|
658
|
-
|
|
673
|
+
startMonth: z.ZodOptional<z.ZodString>;
|
|
674
|
+
endMonth: z.ZodOptional<z.ZodString>;
|
|
659
675
|
page: z.ZodDefault<z.ZodNumber>;
|
|
660
676
|
pageSize: z.ZodDefault<z.ZodNumber>;
|
|
661
677
|
}, z.core.$strict>;
|
|
@@ -663,15 +679,19 @@ export declare const ExpenseCreateSchema: z.ZodObject<{
|
|
|
663
679
|
resourceId: z.ZodString;
|
|
664
680
|
projectId: z.ZodOptional<z.ZodString>;
|
|
665
681
|
typeOf: z.ZodOptional<z.ZodString>;
|
|
682
|
+
term: z.ZodOptional<z.ZodString>;
|
|
666
683
|
expenseDate: z.ZodString;
|
|
667
684
|
amount: z.ZodNumber;
|
|
668
685
|
currency: z.ZodOptional<z.ZodString>;
|
|
686
|
+
exchangeRateAgency: z.ZodOptional<z.ZodNumber>;
|
|
669
687
|
state: z.ZodOptional<z.ZodNumber>;
|
|
670
688
|
note: z.ZodOptional<z.ZodString>;
|
|
671
689
|
}, z.core.$strict>;
|
|
672
690
|
export declare const ExpenseUpdateSchema: z.ZodObject<{
|
|
673
691
|
id: z.ZodString;
|
|
692
|
+
term: z.ZodOptional<z.ZodString>;
|
|
674
693
|
amount: z.ZodOptional<z.ZodNumber>;
|
|
694
|
+
exchangeRateAgency: z.ZodOptional<z.ZodNumber>;
|
|
675
695
|
state: z.ZodOptional<z.ZodNumber>;
|
|
676
696
|
note: z.ZodOptional<z.ZodString>;
|
|
677
697
|
}, z.core.$strict>;
|
|
@@ -725,7 +745,10 @@ export declare const PositioningSearchSchema: z.ZodObject<{
|
|
|
725
745
|
export declare const PaymentSearchSchema: z.ZodObject<{
|
|
726
746
|
keywords: z.ZodOptional<z.ZodString>;
|
|
727
747
|
invoiceId: z.ZodOptional<z.ZodString>;
|
|
748
|
+
purchaseId: z.ZodOptional<z.ZodString>;
|
|
728
749
|
companyId: z.ZodOptional<z.ZodString>;
|
|
750
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
751
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
729
752
|
startDate: z.ZodOptional<z.ZodString>;
|
|
730
753
|
endDate: z.ZodOptional<z.ZodString>;
|
|
731
754
|
page: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,YAAY;;;;kBAkBd,CAAC;AAwFZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4FtB,CAAC;AAIZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwEvB,CAAC;AAIZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmErB,CAAC;AAIZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwCrB,CAAC;AAIZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkDzB,CAAC;AAIZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoCrB,CAAC;AAOZ,eAAO,MAAM,cAAc,aAA8E,CAAC;AAO1G,eAAO,MAAM,QAAQ;;kBAIV,CAAC;AAGZ,eAAO,MAAM,WAAW;;;kBAOb,CAAC;AASZ,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,iBAAiB,MAAM,gEAUW,CAAC;AAI9E,eAAO,MAAM,qBAAqB;;;;;;;;;;;kBAavB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;kBAmBzB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;kBAcvB,CAAC;AAIZ,eAAO,MAAM,oBAAoB;;;;;;;;;;kBAYtB,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;kBAatB,CAAC;AAqBZ,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuBnC,CAAC;AA2BZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;kBAgBvB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;kBAiBvB,CAAC;AAEZ,eAAO,MAAM,iBAAiB;;;kBAQnB,CAAC;AAIZ,eAAO,MAAM,mBAAmB;;;;;;;;;;kBAYrB,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;;;;;;;;kBAWrB,CAAC;AAIZ,eAAO,MAAM,mBAAmB;;;;;;;;;;kBAYrB,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;kBAarB,CAAC;AAqDZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;kBAKzB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;kBAMzB,CAAC;AAIZ,eAAO,MAAM,kBAAkB;;;;;;;;kBAUpB,CAAC;AAMZ,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;kBA6BpB,CAAC;AAOZ,eAAO,MAAM,kBAAkB;;;;;;;kBAkBpB,CAAC;AAIZ,eAAO,MAAM,uBAAuB;;;;kBAMzB,CAAC;AAKZ,eAAO,MAAM,qBAAqB;;;;;;kBAoBvB,CAAC;AAEZ,eAAO,MAAM,kBAAkB;;kBAIpB,CAAC;AAIZ,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/index.js
CHANGED
|
@@ -875,6 +875,7 @@ export const ProjectCreateSchema = z
|
|
|
875
875
|
companyId: z.string().optional().describe("ID de la société cliente"),
|
|
876
876
|
contactId: z.string().optional().describe("ID du contact associé"),
|
|
877
877
|
opportunityId: z.string().optional().describe("ID de l'opportunité liée"),
|
|
878
|
+
typeOf: z.number().int().optional().describe("Type de projet (ID du dictionnaire setting.typeOf.project)"),
|
|
878
879
|
state: stateField("project", "État du projet (0=en cours, 1=terminé, 2=archivé...)"),
|
|
879
880
|
startDate: z.string().optional().describe("Date de début (YYYY-MM-DD)"),
|
|
880
881
|
endDate: z.string().optional().describe("Date de fin (YYYY-MM-DD)"),
|
|
@@ -885,6 +886,7 @@ export const ProjectUpdateSchema = z
|
|
|
885
886
|
.object({
|
|
886
887
|
id: z.string().min(1).describe("ID du projet à modifier"),
|
|
887
888
|
name: z.string().optional().describe("Nom du projet"),
|
|
889
|
+
typeOf: z.number().int().optional().describe("Type de projet (ID du dictionnaire setting.typeOf.project)"),
|
|
888
890
|
state: stateField("project", "État du projet"),
|
|
889
891
|
startDate: z.string().optional().describe("Date de début (YYYY-MM-DD)"),
|
|
890
892
|
endDate: z.string().optional().describe("Date de fin (YYYY-MM-DD)"),
|
|
@@ -895,13 +897,14 @@ export const ProjectUpdateSchema = z
|
|
|
895
897
|
export const InvoiceCreateSchema = z
|
|
896
898
|
.object({
|
|
897
899
|
reference: z.string().optional().describe("Référence de la facture"),
|
|
898
|
-
|
|
899
|
-
projectId: z.string().optional().describe("ID du projet associé"),
|
|
900
|
+
orderId: z.string().optional().describe("ID du bon de commande associé"),
|
|
900
901
|
state: z.number().int().optional().describe("État de la facture"),
|
|
901
902
|
invoiceDate: z.string().optional().describe("Date de facturation (YYYY-MM-DD)"),
|
|
902
|
-
|
|
903
|
+
expectedPaymentDate: z.string().optional().describe("Date d'échéance/paiement attendu (YYYY-MM-DD)"),
|
|
903
904
|
amountExcludingTax: z.number().optional().describe("Montant HT"),
|
|
904
905
|
taxRate: z.number().optional().describe("Taux de TVA (%)"),
|
|
906
|
+
invoiceRecords: z.array(z.record(z.string(), z.unknown())).optional().describe("Lignes de facture Boond"),
|
|
907
|
+
invoicePayments: z.array(z.record(z.string(), z.unknown())).optional().describe("Paiements client de la facture"),
|
|
905
908
|
note: z.string().optional().describe("Notes / commentaires"),
|
|
906
909
|
})
|
|
907
910
|
.strict();
|
|
@@ -911,9 +914,11 @@ export const InvoiceUpdateSchema = z
|
|
|
911
914
|
reference: z.string().optional().describe("Référence de la facture"),
|
|
912
915
|
state: z.number().int().optional().describe("État de la facture"),
|
|
913
916
|
invoiceDate: z.string().optional().describe("Date de facturation (YYYY-MM-DD)"),
|
|
914
|
-
|
|
917
|
+
expectedPaymentDate: z.string().optional().describe("Date d'échéance/paiement attendu (YYYY-MM-DD)"),
|
|
915
918
|
amountExcludingTax: z.number().optional().describe("Montant HT"),
|
|
916
919
|
taxRate: z.number().optional().describe("Taux de TVA (%)"),
|
|
920
|
+
invoiceRecords: z.array(z.record(z.string(), z.unknown())).optional().describe("Lignes de facture Boond"),
|
|
921
|
+
invoicePayments: z.array(z.record(z.string(), z.unknown())).optional().describe("Paiements client de la facture"),
|
|
917
922
|
note: z.string().optional().describe("Notes"),
|
|
918
923
|
})
|
|
919
924
|
.strict();
|
|
@@ -940,7 +945,11 @@ export const OrderCreateSchema = z
|
|
|
940
945
|
projectId: z.string().optional().describe("ID du projet associé"),
|
|
941
946
|
state: z.number().int().optional().describe("État du bon de commande"),
|
|
942
947
|
orderDate: z.string().optional().describe("Date du bon de commande (YYYY-MM-DD)"),
|
|
948
|
+
startDate: z.string().optional().describe("Date de début couverte (YYYY-MM-DD)"),
|
|
949
|
+
endDate: z.string().optional().describe("Date de fin couverte (YYYY-MM-DD)"),
|
|
943
950
|
amountExcludingTax: z.number().optional().describe("Montant HT"),
|
|
951
|
+
customerAgreement: z.boolean().optional().describe("Accord client reçu"),
|
|
952
|
+
schedules: z.array(z.record(z.string(), z.unknown())).optional().describe("Lignes/échéances de commande"),
|
|
944
953
|
note: z.string().optional().describe("Notes / commentaires"),
|
|
945
954
|
})
|
|
946
955
|
.strict();
|
|
@@ -950,7 +959,11 @@ export const OrderUpdateSchema = z
|
|
|
950
959
|
reference: z.string().optional().describe("Référence"),
|
|
951
960
|
state: z.number().int().optional().describe("État"),
|
|
952
961
|
orderDate: z.string().optional().describe("Date (YYYY-MM-DD)"),
|
|
962
|
+
startDate: z.string().optional().describe("Date de début couverte (YYYY-MM-DD)"),
|
|
963
|
+
endDate: z.string().optional().describe("Date de fin couverte (YYYY-MM-DD)"),
|
|
953
964
|
amountExcludingTax: z.number().optional().describe("Montant HT"),
|
|
965
|
+
customerAgreement: z.boolean().optional().describe("Accord client reçu"),
|
|
966
|
+
schedules: z.array(z.record(z.string(), z.unknown())).optional().describe("Lignes/échéances de commande"),
|
|
954
967
|
note: z.string().optional().describe("Notes"),
|
|
955
968
|
})
|
|
956
969
|
.strict();
|
|
@@ -979,9 +992,12 @@ export const DeliverySearchSchema = z
|
|
|
979
992
|
export const AbsenceCreateSchema = z
|
|
980
993
|
.object({
|
|
981
994
|
resourceId: z.string().min(1).describe("ID de la ressource en absence"),
|
|
982
|
-
typeOf: z.string().min(1).describe("
|
|
995
|
+
typeOf: z.string().min(1).describe("Libellé de l'absence (congé payé, RTT, maladie, sans solde...)"),
|
|
983
996
|
startDate: z.string().min(1).describe("Date de début (YYYY-MM-DD)"),
|
|
984
997
|
endDate: z.string().min(1).describe("Date de fin (YYYY-MM-DD)"),
|
|
998
|
+
duration: z.number().optional().describe("Durée en jours ; calculée automatiquement si absente"),
|
|
999
|
+
workUnitTypeReference: z.number().int().min(1).optional().describe("Référence du type d'unité d'absence, défaut 1"),
|
|
1000
|
+
absencesPeriods: z.array(z.record(z.string(), z.unknown())).optional().describe("Périodes d'absence Boond brutes"),
|
|
985
1001
|
state: z.number().int().optional().describe("État de la demande (0=en attente, 1=validé, 2=refusé...)"),
|
|
986
1002
|
note: z.string().optional().describe("Commentaire / motif"),
|
|
987
1003
|
})
|
|
@@ -999,8 +1015,8 @@ export const AbsenceSearchSchema = z
|
|
|
999
1015
|
.object({
|
|
1000
1016
|
keywords: z.string().optional().describe("Mots-clés de recherche"),
|
|
1001
1017
|
resourceId: z.string().optional().describe("Filtrer par ID ressource"),
|
|
1002
|
-
|
|
1003
|
-
|
|
1018
|
+
startMonth: z.string().optional().describe("Mois de début de période (YYYY-MM)"),
|
|
1019
|
+
endMonth: z.string().optional().describe("Mois de fin de période (YYYY-MM)"),
|
|
1004
1020
|
page: z.number().int().min(1).max(MAX_SEARCH_PAGE).default(1).describe(`Numéro de page (max: ${MAX_SEARCH_PAGE})`),
|
|
1005
1021
|
pageSize: z.number().int().min(1).max(MAX_PAGE_SIZE).default(DEFAULT_PAGE_SIZE).describe("Résultats par page"),
|
|
1006
1022
|
})
|
|
@@ -1011,9 +1027,11 @@ export const ExpenseCreateSchema = z
|
|
|
1011
1027
|
resourceId: z.string().min(1).describe("ID de la ressource"),
|
|
1012
1028
|
projectId: z.string().optional().describe("ID du projet associé"),
|
|
1013
1029
|
typeOf: z.string().optional().describe("Type de frais (transport, repas, hébergement...)"),
|
|
1030
|
+
term: z.string().optional().describe("Période de la note de frais (YYYY-MM)"),
|
|
1014
1031
|
expenseDate: z.string().min(1).describe("Date du frais (YYYY-MM-DD)"),
|
|
1015
1032
|
amount: z.number().describe("Montant du frais"),
|
|
1016
1033
|
currency: z.string().optional().describe("Devise (EUR, USD...)"),
|
|
1034
|
+
exchangeRateAgency: z.number().optional().describe("Taux de change agence"),
|
|
1017
1035
|
state: z.number().int().optional().describe("État de la note de frais"),
|
|
1018
1036
|
note: z.string().optional().describe("Description / justification"),
|
|
1019
1037
|
})
|
|
@@ -1021,7 +1039,9 @@ export const ExpenseCreateSchema = z
|
|
|
1021
1039
|
export const ExpenseUpdateSchema = z
|
|
1022
1040
|
.object({
|
|
1023
1041
|
id: z.string().min(1).describe("ID de la note de frais à modifier"),
|
|
1042
|
+
term: z.string().optional().describe("Période de la note de frais (YYYY-MM)"),
|
|
1024
1043
|
amount: z.number().optional().describe("Montant"),
|
|
1044
|
+
exchangeRateAgency: z.number().optional().describe("Taux de change agence"),
|
|
1025
1045
|
state: z.number().int().optional().describe("État"),
|
|
1026
1046
|
note: z.string().optional().describe("Description"),
|
|
1027
1047
|
})
|
|
@@ -1111,7 +1131,10 @@ export const PaymentSearchSchema = z
|
|
|
1111
1131
|
.object({
|
|
1112
1132
|
keywords: z.string().optional().describe("Mots-clés de recherche"),
|
|
1113
1133
|
invoiceId: z.string().optional().describe("Filtrer par ID facture"),
|
|
1134
|
+
purchaseId: z.string().optional().describe("Filtrer par ID achat"),
|
|
1114
1135
|
companyId: z.string().optional().describe("Filtrer par ID société"),
|
|
1136
|
+
projectId: z.string().optional().describe("Filtrer par ID projet"),
|
|
1137
|
+
resourceId: z.string().optional().describe("Filtrer par ID ressource"),
|
|
1115
1138
|
startDate: z.string().optional().describe("Date de début (YYYY-MM-DD)"),
|
|
1116
1139
|
endDate: z.string().optional().describe("Date de fin (YYYY-MM-DD)"),
|
|
1117
1140
|
page: z.number().int().min(1).max(MAX_SEARCH_PAGE).default(1).describe(`Numéro de page (max: ${MAX_SEARCH_PAGE})`),
|