boondmanager-mcp-server 2.14.0 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +33 -0
- package/dist/constants.js.map +1 -1
- package/dist/schemas/index.d.ts +11 -11
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/tools/absences.d.ts.map +1 -1
- package/dist/tools/absences.js +31 -4
- package/dist/tools/absences.js.map +1 -1
- package/dist/tools/actions.d.ts.map +1 -1
- package/dist/tools/actions.js +10 -2
- package/dist/tools/actions.js.map +1 -1
- package/dist/tools/advantages.d.ts.map +1 -1
- package/dist/tools/advantages.js +5 -1
- package/dist/tools/advantages.js.map +1 -1
- package/dist/tools/application.js +1 -1
- package/dist/tools/application.js.map +1 -1
- package/dist/tools/candidates.d.ts.map +1 -1
- package/dist/tools/candidates.js +18 -53
- package/dist/tools/candidates.js.map +1 -1
- package/dist/tools/companies.d.ts.map +1 -1
- package/dist/tools/companies.js +26 -78
- package/dist/tools/companies.js.map +1 -1
- package/dist/tools/contacts.d.ts.map +1 -1
- package/dist/tools/contacts.js +18 -59
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/contracts.d.ts.map +1 -1
- package/dist/tools/contracts.js +23 -6
- package/dist/tools/contracts.js.map +1 -1
- package/dist/tools/crud-factory.d.ts +3 -0
- package/dist/tools/crud-factory.d.ts.map +1 -1
- package/dist/tools/crud-factory.js +11 -32
- package/dist/tools/crud-factory.js.map +1 -1
- package/dist/tools/deliveries.d.ts.map +1 -1
- package/dist/tools/deliveries.js +16 -2
- package/dist/tools/deliveries.js.map +1 -1
- package/dist/tools/description-builders.d.ts +135 -0
- package/dist/tools/description-builders.d.ts.map +1 -0
- package/dist/tools/description-builders.js +152 -0
- package/dist/tools/description-builders.js.map +1 -0
- package/dist/tools/documents.d.ts.map +1 -1
- package/dist/tools/documents.js +7 -3
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/expenses.d.ts.map +1 -1
- package/dist/tools/expenses.js +6 -1
- package/dist/tools/expenses.js.map +1 -1
- package/dist/tools/invoices.d.ts.map +1 -1
- package/dist/tools/invoices.js +9 -2
- package/dist/tools/invoices.js.map +1 -1
- package/dist/tools/notifications.d.ts.map +1 -1
- package/dist/tools/notifications.js +5 -1
- package/dist/tools/notifications.js.map +1 -1
- package/dist/tools/opportunities.d.ts.map +1 -1
- package/dist/tools/opportunities.js +20 -55
- package/dist/tools/opportunities.js.map +1 -1
- package/dist/tools/orders.d.ts.map +1 -1
- package/dist/tools/orders.js +6 -1
- package/dist/tools/orders.js.map +1 -1
- package/dist/tools/parameter-disclosure.d.ts +5 -0
- package/dist/tools/parameter-disclosure.d.ts.map +1 -0
- package/dist/tools/parameter-disclosure.js +71 -0
- package/dist/tools/parameter-disclosure.js.map +1 -0
- package/dist/tools/payments.d.ts.map +1 -1
- package/dist/tools/payments.js +15 -2
- package/dist/tools/payments.js.map +1 -1
- package/dist/tools/positionings.d.ts.map +1 -1
- package/dist/tools/positionings.js +20 -3
- package/dist/tools/positionings.js.map +1 -1
- package/dist/tools/projects.d.ts.map +1 -1
- package/dist/tools/projects.js +24 -67
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/provider-invoices.d.ts.map +1 -1
- package/dist/tools/provider-invoices.js +25 -3
- package/dist/tools/provider-invoices.js.map +1 -1
- package/dist/tools/purchases.d.ts.map +1 -1
- package/dist/tools/purchases.js +20 -3
- package/dist/tools/purchases.js.map +1 -1
- package/dist/tools/registration-decorators.d.ts +6 -1
- package/dist/tools/registration-decorators.d.ts.map +1 -1
- package/dist/tools/registration-decorators.js +8 -1
- package/dist/tools/registration-decorators.js.map +1 -1
- package/dist/tools/reporting.d.ts.map +1 -1
- package/dist/tools/reporting.js +25 -7
- package/dist/tools/reporting.js.map +1 -1
- package/dist/tools/resources.d.ts.map +1 -1
- package/dist/tools/resources.js +44 -87
- package/dist/tools/resources.js.map +1 -1
- package/dist/tools/tab-tools.d.ts +23 -0
- package/dist/tools/tab-tools.d.ts.map +1 -0
- package/dist/tools/tab-tools.js +48 -0
- package/dist/tools/tab-tools.js.map +1 -0
- package/dist/tools/timesheets.d.ts.map +1 -1
- package/dist/tools/timesheets.js +11 -1
- package/dist/tools/timesheets.js.map +1 -1
- package/dist/tools/usage-guidance.d.ts +45 -0
- package/dist/tools/usage-guidance.d.ts.map +1 -0
- package/dist/tools/usage-guidance.js +235 -0
- package/dist/tools/usage-guidance.js.map +1 -0
- package/dist/tools/validations.d.ts.map +1 -1
- package/dist/tools/validations.js +5 -1
- package/dist/tools/validations.js.map +1 -1
- package/dist/tools/workflows.d.ts.map +1 -1
- package/dist/tools/workflows.js +13 -4
- package/dist/tools/workflows.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +3 -3
|
@@ -1,73 +1,52 @@
|
|
|
1
|
-
import { OpportunityCreateSchema, OpportunityUpdateSchema, OpportunitySearchSchema
|
|
1
|
+
import { OpportunityCreateSchema, OpportunityUpdateSchema, OpportunitySearchSchema } from "../schemas/index.js";
|
|
2
2
|
import { registerSearchTool, registerGetTool, registerCreateTool, registerUpdateTool, registerDeleteTool, buildJsonApiBody, } from "./crud-factory.js";
|
|
3
|
-
import {
|
|
3
|
+
import { registerTabTools } from "./tab-tools.js";
|
|
4
4
|
const OPTS = {
|
|
5
5
|
entityName: "opportunité",
|
|
6
6
|
entityNamePlural: "opportunités",
|
|
7
7
|
apiPath: "/opportunities",
|
|
8
8
|
prefix: "boond_opportunities",
|
|
9
9
|
};
|
|
10
|
-
const TAB_TOOL_ANNOTATIONS = {
|
|
11
|
-
readOnlyHint: true,
|
|
12
|
-
destructiveHint: false,
|
|
13
|
-
idempotentHint: true,
|
|
14
|
-
openWorldHint: false,
|
|
15
|
-
};
|
|
16
10
|
const OPPORTUNITY_TABS = [
|
|
17
11
|
{
|
|
18
12
|
name: "information",
|
|
19
13
|
tab: "information",
|
|
20
14
|
title: "Informations générales d'une opportunité",
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- id (string): ID de l'opportunité
|
|
25
|
-
|
|
26
|
-
Returns: Données générales de l'opportunité.`,
|
|
15
|
+
subject: "les informations générales",
|
|
16
|
+
content: "client, dates, montant, probabilité, état",
|
|
17
|
+
returns: "Fiche de l'opportunité.",
|
|
27
18
|
},
|
|
28
19
|
{
|
|
29
20
|
name: "actions",
|
|
30
21
|
tab: "actions",
|
|
31
22
|
title: "Actions liées à une opportunité",
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
- id (string): ID de l'opportunité
|
|
36
|
-
|
|
37
|
-
Returns: Liste des actions liées à l'opportunité.`,
|
|
23
|
+
subject: "les actions",
|
|
24
|
+
content: "appels, emails, RDV, notes",
|
|
25
|
+
returns: "Liste des actions rattachées à l'opportunité.",
|
|
38
26
|
},
|
|
39
27
|
{
|
|
40
28
|
name: "positionings",
|
|
41
29
|
tab: "positionings",
|
|
42
|
-
title: "Positionnements
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- id (string): ID de l'opportunité
|
|
47
|
-
|
|
48
|
-
Returns: Liste des positionnements de l'opportunité.`,
|
|
30
|
+
title: "Positionnements sur une opportunité",
|
|
31
|
+
subject: "les positionnements",
|
|
32
|
+
content: "candidats et ressources proposés au client",
|
|
33
|
+
returns: "Liste des positionnements de l'opportunité.",
|
|
49
34
|
},
|
|
50
35
|
{
|
|
51
36
|
name: "projects",
|
|
52
37
|
tab: "projects",
|
|
53
|
-
title: "Projets
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
- id (string): ID de l'opportunité
|
|
58
|
-
|
|
59
|
-
Returns: Liste des projets liés à l'opportunité.`,
|
|
38
|
+
title: "Projets issus d'une opportunité",
|
|
39
|
+
subject: "les projets",
|
|
40
|
+
content: "missions nées de cette affaire une fois gagnée",
|
|
41
|
+
returns: "Liste des projets liés à l'opportunité.",
|
|
60
42
|
},
|
|
61
43
|
{
|
|
62
44
|
name: "simulation",
|
|
63
45
|
tab: "simulation",
|
|
64
46
|
title: "Simulation financière d'une opportunité",
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- id (string): ID de l'opportunité
|
|
69
|
-
|
|
70
|
-
Returns: Données de simulation financière de l'opportunité.`,
|
|
47
|
+
subject: "la simulation financière",
|
|
48
|
+
content: "marge, CA prévisionnel, coûts",
|
|
49
|
+
returns: "Chiffrage prévisionnel de l'opportunité — prévisionnel, pas du réalisé.",
|
|
71
50
|
},
|
|
72
51
|
];
|
|
73
52
|
const OPPORTUNITY_SEARCH_DESCRIPTION = `Recherche des opportunités commerciales dans BoondManager avec filtres serveur.
|
|
@@ -119,20 +98,6 @@ export function registerOpportunityTools(server) {
|
|
|
119
98
|
pathSuffix: "information",
|
|
120
99
|
});
|
|
121
100
|
registerDeleteTool(server, OPTS);
|
|
122
|
-
|
|
123
|
-
for (const tab of OPPORTUNITY_TABS) {
|
|
124
|
-
server.registerTool(`boond_opportunities_${tab.name}`, {
|
|
125
|
-
title: tab.title,
|
|
126
|
-
description: tab.description,
|
|
127
|
-
inputSchema: IdSchema,
|
|
128
|
-
annotations: TAB_TOOL_ANNOTATIONS,
|
|
129
|
-
}, async (params) => {
|
|
130
|
-
const response = await apiRequest(`/opportunities/${params.id}/${tab.tab}`);
|
|
131
|
-
const text = formatTabResponse(response);
|
|
132
|
-
return {
|
|
133
|
-
content: [{ type: "text", text }],
|
|
134
|
-
};
|
|
135
|
-
});
|
|
136
|
-
}
|
|
101
|
+
registerTabTools(server, { ...OPTS, prefix: OPTS.prefix }, OPPORTUNITY_TABS);
|
|
137
102
|
}
|
|
138
103
|
//# sourceMappingURL=opportunities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opportunities.js","sourceRoot":"","sources":["../../src/tools/opportunities.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"opportunities.js","sourceRoot":"","sources":["../../src/tools/opportunities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAChH,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,aAAa;IACzB,gBAAgB,EAAE,cAAc;IAChC,OAAO,EAAE,gBAAgB;IACzB,MAAM,EAAE,qBAAqB;CAC9B,CAAC;AAEF,MAAM,gBAAgB,GAAoB;IACxC;QACE,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,0CAA0C;QACjD,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,2CAA2C;QACpD,OAAO,EAAE,yBAAyB;KACnC;IACD;QACE,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,iCAAiC;QACxC,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,+CAA+C;KACzD;IACD;QACE,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,cAAc;QACnB,KAAK,EAAE,qCAAqC;QAC5C,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,6CAA6C;KACvD;IACD;QACE,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,iCAAiC;QACxC,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,gDAAgD;QACzD,OAAO,EAAE,yCAAyC;KACnD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,YAAY;QACjB,KAAK,EAAE,yCAAyC;QAChD,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,yEAAyE;KACnF;CACF,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;uHAYgF,CAAC;AAExH;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,MAA+B;IAC3D,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GACzG,MAU2B,CAAC;IAE9B,OAAO,gBAAgB,CAAC,aAAa,EAAE,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;QAC5F,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;QACnE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;QACnE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;QACvD,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;QAC1E,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;QAChF,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;KAChE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE;QAC/B,MAAM,EAAE,uBAAuB;QAC/B,WAAW,EAAE,8BAA8B;KAC5C,CAAC,CAAC;IACH,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9B,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;IAEhF,6EAA6E;IAC7E,8EAA8E;IAC9E,4DAA4D;IAC5D,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,oBAAoB,EAAE;QAC9E,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,aAAa;KAC1B,CAAC,CAAC;IAEH,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEjC,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC/E,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;AA2DzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4B1D"}
|
package/dist/tools/orders.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OrderSearchSchema, OrderCreateSchema, OrderUpdateSchema } from "../schemas/index.js";
|
|
2
2
|
import { buildJsonApiBody, registerSearchTool, registerGetTool, registerCreateTool, registerUpdateTool, registerDeleteTool, } from "./crud-factory.js";
|
|
3
|
+
import { defaultDeleteDescription } from "./description-builders.js";
|
|
3
4
|
const OPTS = {
|
|
4
5
|
entityName: "bon de commande",
|
|
5
6
|
entityNamePlural: "bons de commande",
|
|
@@ -64,7 +65,11 @@ Returns: Liste des bons de commande correspondants.`,
|
|
|
64
65
|
});
|
|
65
66
|
registerDeleteTool(server, OPTS, {
|
|
66
67
|
title: "Supprimer un bon de commande",
|
|
67
|
-
description:
|
|
68
|
+
description: defaultDeleteDescription({
|
|
69
|
+
entityName: "bon de commande",
|
|
70
|
+
entityNamePlural: "bons de commande",
|
|
71
|
+
prefix: "boond_orders",
|
|
72
|
+
}),
|
|
68
73
|
});
|
|
69
74
|
}
|
|
70
75
|
//# sourceMappingURL=orders.js.map
|
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;
|
|
1
|
+
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-disclosure.d.ts","sourceRoot":"","sources":["../../src/tools/parameter-disclosure.ts"],"names":[],"mappings":"AAgDA,wBAAgB,uBAAuB,CAAC,CAAC,SAAS;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,EAC/F,MAAM,EAAE,CAAC,EACT,IAAI,CAAC,EAAE,MAAM,GACZ,CAAC,CAyBH"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { FIELDS_DISCLOSURE, PAGINATION_DISCLOSURE, PAGINATION_INERT_DISCLOSURE } from "./description-builders.js";
|
|
2
|
+
import { TOOLS_IGNORING_PAGINATION } from "../constants.js";
|
|
3
|
+
/**
|
|
4
|
+
* Central, drift-proof disclosure of the two parameters whose *semantics* live
|
|
5
|
+
* outside their schema entry.
|
|
6
|
+
*
|
|
7
|
+
* `fields` is applied client-side and never forwarded to BoondManager;
|
|
8
|
+
* `page` / `pageSize` are **rejected** past their ceilings rather than clamped.
|
|
9
|
+
* Neither fact is derivable from the JSON Schema the client receives, and both
|
|
10
|
+
* were missing from ~32 tool descriptions — including the two lowest-scoring
|
|
11
|
+
* tools in the catalogue, whose only real defect was that.
|
|
12
|
+
*
|
|
13
|
+
* Applied from `registration-decorators.ts` for the same reason the filter
|
|
14
|
+
* hints are: 182 tools are registered across 38 files, and a rule that has to
|
|
15
|
+
* be remembered in each of them is a rule that decays. Adding a search tool
|
|
16
|
+
* now discloses `fields` whether or not its author thought about it.
|
|
17
|
+
*
|
|
18
|
+
* Two properties keep this from becoming boilerplate:
|
|
19
|
+
*
|
|
20
|
+
* - it appends **only what the tool actually declares** (a tool with no
|
|
21
|
+
* `fields` key gets no `fields` paragraph), read off the advertised schema
|
|
22
|
+
* shape rather than off the tool name; and
|
|
23
|
+
* - it appends nothing when the description already covers the parameter, so a
|
|
24
|
+
* hand-written description that explains `fields` in its own words is left
|
|
25
|
+
* alone instead of repeating itself. Conciseness is a scored dimension, and
|
|
26
|
+
* a duplicated paragraph is worse than an absent one.
|
|
27
|
+
*/
|
|
28
|
+
/** Zod object schemas expose their keys through `.shape`; raw shapes are plain objects. */
|
|
29
|
+
function declaredKeys(inputSchema) {
|
|
30
|
+
if (inputSchema === null || typeof inputSchema !== "object")
|
|
31
|
+
return new Set();
|
|
32
|
+
const shape = inputSchema.shape ?? inputSchema;
|
|
33
|
+
const resolved = typeof shape === "function" ? shape() : shape;
|
|
34
|
+
if (resolved === null || typeof resolved !== "object")
|
|
35
|
+
return new Set();
|
|
36
|
+
return new Set(Object.keys(resolved));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Whether the description already says something substantive about `name`.
|
|
40
|
+
* Deliberately a mention test, not an equality test: the point is to avoid
|
|
41
|
+
* saying the same thing twice, and any sentence that names the parameter has
|
|
42
|
+
* already claimed that job.
|
|
43
|
+
*/
|
|
44
|
+
function alreadyDiscloses(description, name) {
|
|
45
|
+
return new RegExp(`\`?\\b${name}\\b`, "i").test(description);
|
|
46
|
+
}
|
|
47
|
+
export function withParameterDisclosure(config, name) {
|
|
48
|
+
const description = config.description;
|
|
49
|
+
if (typeof description !== "string" || description.length === 0)
|
|
50
|
+
return config;
|
|
51
|
+
const keys = declaredKeys(config.inputSchema);
|
|
52
|
+
const additions = [];
|
|
53
|
+
if (keys.has("fields") && !alreadyDiscloses(description, "fields")) {
|
|
54
|
+
additions.push(FIELDS_DISCLOSURE);
|
|
55
|
+
}
|
|
56
|
+
// One paragraph covers both keys; `pageSize` is the one whose ceiling gets
|
|
57
|
+
// exceeded in practice, so it decides. A handful of reference routes accept
|
|
58
|
+
// the parameter and discard it — promising them the ceiling would be a
|
|
59
|
+
// description contradicting the endpoint, so they get the opposite sentence.
|
|
60
|
+
if (keys.has("pageSize") && !alreadyDiscloses(description, "pageSize")) {
|
|
61
|
+
const inert = name !== undefined && TOOLS_IGNORING_PAGINATION.has(name);
|
|
62
|
+
additions.push(inert ? PAGINATION_INERT_DISCLOSURE : PAGINATION_DISCLOSURE);
|
|
63
|
+
}
|
|
64
|
+
if (additions.length === 0)
|
|
65
|
+
return config;
|
|
66
|
+
return {
|
|
67
|
+
...config,
|
|
68
|
+
description: `${description}\n\n${additions.map((a) => `- ${a}`).join("\n")}`,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=parameter-disclosure.js.map
|
|
@@ -0,0 +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,QAAmC,CAAC,CAAC,CAAC;AACnE,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"}
|
|
@@ -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;AAyBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8G5D"}
|
package/dist/tools/payments.js
CHANGED
|
@@ -2,6 +2,7 @@ import { PaymentSearchSchema, IdSchema } from "../schemas/index.js";
|
|
|
2
2
|
import { apiRequest, buildSearchQuery, formatListResponse, formatDetailResponse } from "../services/boond-client.js";
|
|
3
3
|
import { buildJsonApiBody } from "./crud-factory.js";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
+
import { composeDescription, defaultGetDescription } from "./description-builders.js";
|
|
5
6
|
const PaymentCreateSchema = z
|
|
6
7
|
.object({
|
|
7
8
|
purchaseId: z.string().min(1).describe("ID de l'achat regle"),
|
|
@@ -22,7 +23,16 @@ const PaymentCreateSchema = z
|
|
|
22
23
|
export function registerPaymentTools(server) {
|
|
23
24
|
server.registerTool("boond_payments_create", {
|
|
24
25
|
title: "Creer un paiement",
|
|
25
|
-
description:
|
|
26
|
+
description: composeDescription({
|
|
27
|
+
purpose: "Enregistre un paiement / règlement fournisseur adossé à un achat.",
|
|
28
|
+
when: "pour solder tout ou partie d'un achat existant.",
|
|
29
|
+
instead: "`boond_purchases_create` si l'achat lui-même n'existe pas encore — un paiement ne peut pas être orphelin.",
|
|
30
|
+
behaviour: [
|
|
31
|
+
"L'API `/payments` **exige** une relation `purchase` : sans ID d'achat valide, l'appel est refusé.",
|
|
32
|
+
"Écriture non idempotente : deux appels identiques enregistrent deux règlements.",
|
|
33
|
+
],
|
|
34
|
+
returns: "confirmation et fiche du paiement créé.",
|
|
35
|
+
}),
|
|
26
36
|
inputSchema: PaymentCreateSchema,
|
|
27
37
|
annotations: {
|
|
28
38
|
readOnlyHint: false,
|
|
@@ -93,7 +103,10 @@ Returns: Liste des paiements correspondants.`,
|
|
|
93
103
|
});
|
|
94
104
|
server.registerTool("boond_payments_get", {
|
|
95
105
|
title: "Details d'un paiement",
|
|
96
|
-
description:
|
|
106
|
+
description: defaultGetDescription({
|
|
107
|
+
...{ entityName: "paiement", entityNamePlural: "paiements", prefix: "boond_payments" },
|
|
108
|
+
withTab: false,
|
|
109
|
+
}),
|
|
97
110
|
inputSchema: IdSchema,
|
|
98
111
|
annotations: {
|
|
99
112
|
readOnlyHint: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payments.js","sourceRoot":"","sources":["../../src/tools/payments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
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;AAWzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6LhE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PositioningSearchSchema, PositioningCreateSchema, PositioningUpdateSchema, IdSchema, } from "../schemas/index.js";
|
|
2
2
|
import { apiRequest, buildSearchQuery, formatListResponse, formatDetailResponse } from "../services/boond-client.js";
|
|
3
3
|
import { buildJsonApiBody, registerDeleteTool, MutationOutputSchema } from "./crud-factory.js";
|
|
4
|
+
import { composeDescription, defaultDeleteDescription, defaultGetDescription } from "./description-builders.js";
|
|
4
5
|
export function registerPositioningTools(server) {
|
|
5
6
|
// Search positionings
|
|
6
7
|
server.registerTool("boond_positionings_search", {
|
|
@@ -51,7 +52,10 @@ Returns: Liste des positionnements correspondants.`,
|
|
|
51
52
|
// Get positioning details
|
|
52
53
|
server.registerTool("boond_positionings_get", {
|
|
53
54
|
title: "Détails d'un positionnement",
|
|
54
|
-
description:
|
|
55
|
+
description: defaultGetDescription({
|
|
56
|
+
...{ entityName: "positionnement", entityNamePlural: "positionnements", prefix: "boond_positionings" },
|
|
57
|
+
withTab: false,
|
|
58
|
+
}),
|
|
55
59
|
inputSchema: IdSchema,
|
|
56
60
|
annotations: {
|
|
57
61
|
readOnlyHint: true,
|
|
@@ -68,7 +72,16 @@ Returns: Liste des positionnements correspondants.`,
|
|
|
68
72
|
// Create positioning
|
|
69
73
|
server.registerTool("boond_positionings_create", {
|
|
70
74
|
title: "Créer un positionnement",
|
|
71
|
-
description:
|
|
75
|
+
description: composeDescription({
|
|
76
|
+
purpose: "Crée un positionnement : place un candidat ou une ressource sur une opportunité ou un projet.",
|
|
77
|
+
when: "pour matérialiser une proposition de profil au client.",
|
|
78
|
+
instead: "`boond_positionings_update` pour faire avancer l'état d'un positionnement existant (proposé → retenu → refusé) plutôt que d'en créer un second.",
|
|
79
|
+
behaviour: [
|
|
80
|
+
"Écriture non idempotente : rien n'empêche deux positionnements du même profil sur la même affaire.",
|
|
81
|
+
"L'état est un ID entier du dictionnaire (`boond://dictionary/states/positionings`), pas un libellé.",
|
|
82
|
+
],
|
|
83
|
+
returns: "confirmation et fiche du positionnement créé.",
|
|
84
|
+
}),
|
|
72
85
|
inputSchema: PositioningCreateSchema,
|
|
73
86
|
annotations: {
|
|
74
87
|
readOnlyHint: false,
|
|
@@ -159,7 +172,11 @@ Returns: Données mises à jour du positionnement.`,
|
|
|
159
172
|
prefix: "boond_positionings",
|
|
160
173
|
}, {
|
|
161
174
|
title: "Supprimer un positionnement",
|
|
162
|
-
description:
|
|
175
|
+
description: defaultDeleteDescription({
|
|
176
|
+
entityName: "positionnement",
|
|
177
|
+
entityNamePlural: "positionnements",
|
|
178
|
+
prefix: "boond_positionings",
|
|
179
|
+
}),
|
|
163
180
|
});
|
|
164
181
|
}
|
|
165
182
|
//# sourceMappingURL=positionings.js.map
|
|
@@ -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;
|
|
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;
|
|
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,CAuC5D"}
|
package/dist/tools/projects.js
CHANGED
|
@@ -1,95 +1,66 @@
|
|
|
1
|
-
import { ProjectCreateSchema, ProjectUpdateSchema, ProjectSearchSchema
|
|
1
|
+
import { ProjectCreateSchema, ProjectUpdateSchema, ProjectSearchSchema } from "../schemas/index.js";
|
|
2
2
|
import { registerSearchTool, registerGetTool, registerCreateTool, registerUpdateTool, registerDeleteTool, buildJsonApiBody, } from "./crud-factory.js";
|
|
3
|
-
import {
|
|
3
|
+
import { registerTabTools } from "./tab-tools.js";
|
|
4
4
|
const OPTS = {
|
|
5
5
|
entityName: "projet",
|
|
6
6
|
entityNamePlural: "projets",
|
|
7
7
|
apiPath: "/projects",
|
|
8
8
|
prefix: "boond_projects",
|
|
9
9
|
};
|
|
10
|
-
const TAB_TOOL_ANNOTATIONS = {
|
|
11
|
-
readOnlyHint: true,
|
|
12
|
-
destructiveHint: false,
|
|
13
|
-
idempotentHint: true,
|
|
14
|
-
openWorldHint: false,
|
|
15
|
-
};
|
|
16
10
|
const PROJECT_TABS = [
|
|
17
11
|
{
|
|
18
12
|
name: "information",
|
|
19
13
|
tab: "information",
|
|
20
14
|
title: "Informations générales d'un projet",
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- id (string): ID du projet
|
|
25
|
-
|
|
26
|
-
Returns: Données générales du projet.`,
|
|
15
|
+
subject: "les informations générales",
|
|
16
|
+
content: "client, dates, état, description, responsable",
|
|
17
|
+
returns: "Fiche du projet.",
|
|
27
18
|
},
|
|
28
19
|
{
|
|
29
20
|
name: "actions",
|
|
30
21
|
tab: "actions",
|
|
31
22
|
title: "Actions liées à un projet",
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
- id (string): ID du projet
|
|
36
|
-
|
|
37
|
-
Returns: Liste des actions liées au projet.`,
|
|
23
|
+
subject: "les actions",
|
|
24
|
+
content: "appels, emails, RDV, notes",
|
|
25
|
+
returns: "Liste des actions rattachées au projet.",
|
|
38
26
|
},
|
|
39
27
|
{
|
|
40
28
|
name: "simulation",
|
|
41
29
|
tab: "simulation",
|
|
42
30
|
title: "Simulation financière d'un projet",
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- id (string): ID du projet
|
|
47
|
-
|
|
48
|
-
Returns: Données de simulation financière du projet.`,
|
|
31
|
+
subject: "la simulation financière",
|
|
32
|
+
content: "marge, CA, coûts, rentabilité",
|
|
33
|
+
returns: "Chiffrage du projet.",
|
|
49
34
|
},
|
|
50
35
|
{
|
|
51
36
|
name: "deliveries_groupments",
|
|
52
37
|
tab: "deliveries-groupments",
|
|
53
|
-
title: "Livraisons d'un projet",
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
- id (string): ID du projet
|
|
58
|
-
|
|
59
|
-
Returns: Liste des livraisons du projet.`,
|
|
38
|
+
title: "Livraisons et groupements d'un projet",
|
|
39
|
+
subject: "les livraisons et leurs groupements",
|
|
40
|
+
content: "lignes de mission facturables du projet",
|
|
41
|
+
returns: "Liste des livraisons du projet. Les ID de livraison qui s'y trouvent sont ceux qu'exige une ligne de note de frais.",
|
|
60
42
|
},
|
|
61
43
|
{
|
|
62
44
|
name: "orders",
|
|
63
45
|
tab: "orders",
|
|
64
46
|
title: "Bons de commande d'un projet",
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
Args:
|
|
68
|
-
- id (string): ID du projet
|
|
69
|
-
|
|
70
|
-
Returns: Liste des bons de commande du projet.`,
|
|
47
|
+
subject: "les bons de commande",
|
|
48
|
+
returns: "Liste des bons de commande adossés au projet.",
|
|
71
49
|
},
|
|
72
50
|
{
|
|
73
51
|
name: "purchases",
|
|
74
52
|
tab: "purchases",
|
|
75
|
-
title: "Achats
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
Args:
|
|
79
|
-
- id (string): ID du projet
|
|
80
|
-
|
|
81
|
-
Returns: Liste des achats du projet.`,
|
|
53
|
+
title: "Achats d'un projet",
|
|
54
|
+
subject: "les achats et la sous-traitance",
|
|
55
|
+
returns: "Liste des achats imputés au projet.",
|
|
82
56
|
},
|
|
83
57
|
{
|
|
84
58
|
name: "productivity",
|
|
85
59
|
tab: "productivity",
|
|
86
60
|
title: "Productivité d'un projet",
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
- id (string): ID du projet
|
|
91
|
-
|
|
92
|
-
Returns: Données de productivité du projet.`,
|
|
61
|
+
subject: "les données de productivité",
|
|
62
|
+
content: "temps passé, jours consommés",
|
|
63
|
+
returns: "Consommé du projet — du réalisé, contrairement à `boond_projects_simulation`.",
|
|
93
64
|
},
|
|
94
65
|
];
|
|
95
66
|
const PROJECT_SEARCH_DESCRIPTION = `Recherche des projets / missions dans BoondManager avec filtres serveur.
|
|
@@ -136,20 +107,6 @@ export function registerProjectTools(server) {
|
|
|
136
107
|
return buildJsonApiBody("project", apiAttrs, id);
|
|
137
108
|
}, { method: "PUT", pathSuffix: "information" });
|
|
138
109
|
registerDeleteTool(server, OPTS);
|
|
139
|
-
|
|
140
|
-
for (const tab of PROJECT_TABS) {
|
|
141
|
-
server.registerTool(`boond_projects_${tab.name}`, {
|
|
142
|
-
title: tab.title,
|
|
143
|
-
description: tab.description,
|
|
144
|
-
inputSchema: IdSchema,
|
|
145
|
-
annotations: TAB_TOOL_ANNOTATIONS,
|
|
146
|
-
}, async (params) => {
|
|
147
|
-
const response = await apiRequest(`/projects/${params.id}/${tab.tab}`);
|
|
148
|
-
const text = formatTabResponse(response);
|
|
149
|
-
return {
|
|
150
|
-
content: [{ type: "text", text }],
|
|
151
|
-
};
|
|
152
|
-
});
|
|
153
|
-
}
|
|
110
|
+
registerTabTools(server, { ...OPTS, prefix: OPTS.prefix }, PROJECT_TABS);
|
|
154
111
|
}
|
|
155
112
|
//# sourceMappingURL=projects.js.map
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAsCzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0GpE"}
|