@tailormade/billit-mcp 1.1.0 → 1.1.2
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 +36 -11
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +5 -4
- package/dist/api/client.js.map +1 -1
- package/dist/index.js +18 -5
- package/dist/index.js.map +1 -1
- package/dist/tools/documents.d.ts.map +1 -1
- package/dist/tools/documents.js +17 -28
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/financial.d.ts.map +1 -1
- package/dist/tools/financial.js +46 -54
- package/dist/tools/financial.js.map +1 -1
- package/dist/tools/orders.d.ts.map +1 -1
- package/dist/tools/orders.js +70 -51
- package/dist/tools/orders.js.map +1 -1
- package/dist/tools/parties.d.ts.map +1 -1
- package/dist/tools/parties.js +24 -30
- package/dist/tools/parties.js.map +1 -1
- package/dist/tools/peppol.d.ts.map +1 -1
- package/dist/tools/peppol.js +49 -34
- package/dist/tools/peppol.js.map +1 -1
- package/dist/tools/products.d.ts.map +1 -1
- package/dist/tools/products.js +14 -25
- package/dist/tools/products.js.map +1 -1
- package/dist/tools/toprocess.d.ts.map +1 -1
- package/dist/tools/toprocess.js +16 -12
- package/dist/tools/toprocess.js.map +1 -1
- package/dist/tools/utils.d.ts +35 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +63 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/tools/workflows.d.ts.map +1 -1
- package/dist/tools/workflows.js +71 -69
- package/dist/tools/workflows.js.map +1 -1
- package/package.json +46 -30
package/dist/tools/orders.js
CHANGED
|
@@ -2,14 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerOrderTools = registerOrderTools;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
|
|
6
|
-
return { content: [{ type: "text", text }] };
|
|
7
|
-
}
|
|
8
|
-
const companyId = zod_1.z.coerce.number().optional()
|
|
9
|
-
.describe("Billit PartyID of the company to act as. If not set, uses BILLIT_PARTY_ID env. If env is 0, call billit_get_account_info first to discover available companies.");
|
|
10
|
-
const coerceBool = zod_1.z.union([zod_1.z.boolean(), zod_1.z.string().transform(v => v === "true")]).optional();
|
|
5
|
+
const utils_js_1 = require("./utils.js");
|
|
11
6
|
function registerOrderTools(server, client) {
|
|
12
|
-
server.tool("billit_list_orders", "List orders from Billit. Returns paginated array of orders (invoices, credit notes, offers). Use direction='Income' for outgoing (sales) orders, direction='Cost' for incoming (purchase) orders. Supports OData filtering and full-text search. Next steps: billit_get_order for full details including order lines, billit_confirm_order to approve, billit_register_payment when paid
|
|
7
|
+
server.tool("billit_list_orders", (0, utils_js_1.withLlmTip)("List orders from Billit. Returns paginated array of orders (invoices, credit notes, offers). Use direction='Income' for outgoing (sales) orders, direction='Cost' for incoming (purchase) orders. Supports OData filtering and full-text search. Next steps: billit_get_order for full details including order lines, billit_confirm_order to approve, billit_register_payment when paid.", "OrderDirection naming is counter-intuitive: 'Income' = outgoing invoices you send to customers, 'Cost' = incoming invoices from suppliers.\nERROR: fullTextSearch in $filter → CAUSE: fullTextSearch is a separate query param → FIX: pass as 'fullTextSearch' param, not inside $filter.\nOData date filter syntax: LastModified ge datetime'2026-01-01T00:00:00'.\nPartyName may be empty in list responses — use billit_get_order for full party/supplier details."), {
|
|
13
8
|
direction: zod_1.z.enum(["Income", "Cost"]).optional()
|
|
14
9
|
.describe("Filter by order direction: 'Income' = outgoing sales invoices (money coming in), 'Cost' = incoming purchase invoices (money going out)"),
|
|
15
10
|
order_type: zod_1.z.enum(["Invoice", "CreditNote", "Offer"]).optional()
|
|
@@ -18,7 +13,7 @@ function registerOrderTools(server, client) {
|
|
|
18
13
|
.describe("ISO date string — only orders modified after this date. Used in OData filter: LastModified ge datetime'YYYY-MM-DDTHH:MM:SS'"),
|
|
19
14
|
approval_status: zod_1.z.enum(["none", "approved", "rejected"]).optional()
|
|
20
15
|
.describe("Filter by approval status: 'none' (pending), 'approved', 'rejected'"),
|
|
21
|
-
paid: coerceBool.describe("Filter by payment status: true = paid, false = unpaid"),
|
|
16
|
+
paid: utils_js_1.coerceBool.describe("Filter by payment status: true = paid, false = unpaid"),
|
|
22
17
|
search: zod_1.z.string().optional()
|
|
23
18
|
.describe("Full-text search across order fields (order number, customer name, reference). Sent as separate 'fullTextSearch' query param, NOT in OData filter."),
|
|
24
19
|
orderby: zod_1.z.string().optional()
|
|
@@ -27,42 +22,35 @@ function registerOrderTools(server, client) {
|
|
|
27
22
|
.describe("Max results per page (max: 120)"),
|
|
28
23
|
skip: zod_1.z.coerce.number().optional()
|
|
29
24
|
.describe("Items to skip for pagination (default: 0)"),
|
|
30
|
-
company_id: companyId,
|
|
25
|
+
company_id: utils_js_1.companyId,
|
|
31
26
|
}, async ({ direction, order_type, modified_after, approval_status, paid, search, orderby, top, skip, company_id }) => {
|
|
32
27
|
const filters = [];
|
|
33
28
|
if (direction)
|
|
34
29
|
filters.push(`OrderDirection eq '${direction}'`);
|
|
35
30
|
if (order_type)
|
|
36
31
|
filters.push(`OrderType eq '${order_type}'`);
|
|
37
|
-
if (modified_after)
|
|
32
|
+
if (modified_after) {
|
|
33
|
+
if (!/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2})?)?$/.test(modified_after)) {
|
|
34
|
+
return (0, utils_js_1.respond)("Error: modified_after must be ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS)");
|
|
35
|
+
}
|
|
38
36
|
filters.push(`LastModified ge datetime'${modified_after}'`);
|
|
37
|
+
}
|
|
39
38
|
if (approval_status)
|
|
40
39
|
filters.push(`ApprovalStatus eq '${approval_status}'`);
|
|
41
40
|
if (paid !== undefined)
|
|
42
41
|
filters.push(`Paid eq ${paid}`);
|
|
43
|
-
const
|
|
44
|
-
if (filters.length)
|
|
45
|
-
params.set("$filter", filters.join(" and "));
|
|
46
|
-
if (search)
|
|
47
|
-
params.set("fullTextSearch", search);
|
|
48
|
-
if (orderby)
|
|
49
|
-
params.set("$orderby", orderby);
|
|
50
|
-
if (top)
|
|
51
|
-
params.set("$top", String(top));
|
|
52
|
-
if (skip)
|
|
53
|
-
params.set("$skip", String(skip));
|
|
54
|
-
const qs = params.toString();
|
|
42
|
+
const qs = (0, utils_js_1.buildODataParams)({ filter: filters.length ? filters.join(" and ") : undefined, search, orderby, top, skip });
|
|
55
43
|
const data = await client.request("GET", `/v1/orders${qs ? `?${qs}` : ""}`, undefined, company_id);
|
|
56
|
-
return respond(JSON.stringify(data, null, 2));
|
|
44
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
57
45
|
});
|
|
58
46
|
server.tool("billit_get_order", "Get full details of an order including all order lines, customer/supplier info, totals (excl/incl VAT), payment status, and booking entries. Use this after billit_list_orders to get line items. Next steps: billit_update_order (mark paid/sent), billit_register_payment, billit_confirm_order, billit_send_order.", {
|
|
59
47
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID from billit_list_orders result"),
|
|
60
|
-
company_id: companyId,
|
|
48
|
+
company_id: utils_js_1.companyId,
|
|
61
49
|
}, async ({ order_id, company_id }) => {
|
|
62
50
|
const data = await client.request("GET", `/v1/orders/${order_id}`, undefined, company_id);
|
|
63
|
-
return respond(JSON.stringify(data, null, 2));
|
|
51
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
64
52
|
});
|
|
65
|
-
server.tool("billit_create_order", "Create a new order (invoice or credit note) in Billit. For outgoing sales invoices use order_direction='Income'. For incoming purchase invoices use order_direction='Cost'. Returns the created order ID. Next steps: billit_confirm_order to set ApprovalStatus=approved, billit_send_order to email/Peppol
|
|
53
|
+
server.tool("billit_create_order", (0, utils_js_1.withLlmTip)("Create a new order (invoice or credit note) in Billit. For outgoing sales invoices use order_direction='Income'. For incoming purchase invoices use order_direction='Cost'. Returns the created order ID. Next steps: billit_confirm_order to set ApprovalStatus=approved, billit_send_order to email/Peppol.", "ERROR: lines param not parsed → CAUSE: must be a JSON string array → FIX: pass '[{\"description\":\"Service\",\"quantity\":1,\"unit_price_excl\":100,\"vat_percentage\":21}]'.\nExample: sales invoice for BE0123456789 → order_direction='Income', order_type='Invoice'."), {
|
|
66
54
|
order_type: zod_1.z.enum(["Invoice", "CreditNote"]).describe("'Invoice' or 'CreditNote'"),
|
|
67
55
|
order_direction: zod_1.z.enum(["Income", "Cost"]).describe("'Income' = outgoing sales invoice (you send to customer), 'Cost' = incoming purchase invoice (from supplier)"),
|
|
68
56
|
order_date: zod_1.z.string().describe("Invoice date (YYYY-MM-DD)"),
|
|
@@ -80,9 +68,17 @@ function registerOrderTools(server, client) {
|
|
|
80
68
|
payment_reference: zod_1.z.string().optional().describe("Structured payment reference (e.g. +++084/2613/66074+++)"),
|
|
81
69
|
currency: zod_1.z.string().optional().describe("Currency code (default: EUR)"),
|
|
82
70
|
lines: zod_1.z.string().describe("JSON string array of order lines: [{\"description\": \"...\", \"quantity\": 1, \"unit_price_excl\": 100.0, \"vat_percentage\": 21}]"),
|
|
83
|
-
|
|
71
|
+
dry_run: utils_js_1.coerceBool.describe("When true, validates input and returns what would be created without calling the API (default: false)"),
|
|
72
|
+
company_id: utils_js_1.companyId,
|
|
84
73
|
}, async (params) => {
|
|
85
|
-
|
|
74
|
+
let parsedLines;
|
|
75
|
+
try {
|
|
76
|
+
parsedLines = JSON.parse(params.lines);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return (0, utils_js_1.respond)(`Error: 'lines' is not valid JSON. Expected a JSON array of objects, e.g.:\n` +
|
|
80
|
+
`[{"description":"Service","quantity":1,"unit_price_excl":100,"vat_percentage":21}]`);
|
|
81
|
+
}
|
|
86
82
|
const body = {
|
|
87
83
|
OrderType: params.order_type,
|
|
88
84
|
OrderDirection: params.order_direction,
|
|
@@ -111,21 +107,25 @@ function registerOrderTools(server, client) {
|
|
|
111
107
|
...(params.payment_reference && { PaymentReference: params.payment_reference }),
|
|
112
108
|
...(params.currency && { Currency: params.currency }),
|
|
113
109
|
};
|
|
110
|
+
if (params.dry_run) {
|
|
111
|
+
return (0, utils_js_1.respond)(`Dry run: would create ${params.order_type} (${params.order_direction}) for ${params.customer_name}. No changes made.`);
|
|
112
|
+
}
|
|
114
113
|
const data = await client.request("POST", "/v1/orders", body, params.company_id);
|
|
115
|
-
return respond(JSON.stringify(data, null, 2));
|
|
114
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
116
115
|
});
|
|
117
|
-
server.tool("billit_update_order", "Update a limited set of fields on an existing order: payment status, send status, approval status, internal info, account code, export flags. Only include fields you want to change — absent fields are not modified
|
|
116
|
+
server.tool("billit_update_order", (0, utils_js_1.withLlmTip)("Update a limited set of fields on an existing order: payment status, send status, approval status, internal info, account code, export flags. Only include fields you want to change — absent fields are not modified.", "Only fields present in the request are updated. To mark as paid, provide both paid=true and paid_date. To approve use billit_confirm_order (shortcut) or set approval_status='approved' here."), {
|
|
118
117
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID to update"),
|
|
119
|
-
paid: coerceBool.describe("Set to true to mark order as paid"),
|
|
118
|
+
paid: utils_js_1.coerceBool.describe("Set to true to mark order as paid"),
|
|
120
119
|
paid_date: zod_1.z.string().optional().describe("Date payment was received (YYYY-MM-DD), required when setting paid=true"),
|
|
121
|
-
is_sent: coerceBool.describe("Mark order as sent to customer"),
|
|
120
|
+
is_sent: utils_js_1.coerceBool.describe("Mark order as sent to customer"),
|
|
122
121
|
approval_status: zod_1.z.enum(["none", "approved", "rejected"]).optional().describe("'none', 'approved', or 'rejected' — controls Billit processing"),
|
|
123
122
|
internal_info: zod_1.z.string().optional().describe("Internal note/memo not visible to customer"),
|
|
124
123
|
account_code: zod_1.z.string().optional().describe("Accounting code for bookkeeping export"),
|
|
125
|
-
invoiced: coerceBool.describe("Mark as invoiced (for offers)"),
|
|
126
|
-
exported_to_connector: coerceBool.describe("Mark as exported to external accounting connector"),
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
invoiced: utils_js_1.coerceBool.describe("Mark as invoiced (for offers)"),
|
|
125
|
+
exported_to_connector: utils_js_1.coerceBool.describe("Mark as exported to external accounting connector"),
|
|
126
|
+
dry_run: utils_js_1.coerceBool.describe("When true, returns what would be updated without calling the API (default: false)"),
|
|
127
|
+
company_id: utils_js_1.companyId,
|
|
128
|
+
}, async ({ order_id, paid, paid_date, is_sent, approval_status, internal_info, account_code, invoiced, exported_to_connector, dry_run, company_id }) => {
|
|
129
129
|
const body = {};
|
|
130
130
|
if (paid !== undefined)
|
|
131
131
|
body.Paid = paid;
|
|
@@ -143,42 +143,61 @@ function registerOrderTools(server, client) {
|
|
|
143
143
|
body.Invoiced = invoiced;
|
|
144
144
|
if (exported_to_connector !== undefined)
|
|
145
145
|
body.ExportedToConnector = exported_to_connector;
|
|
146
|
+
if (dry_run) {
|
|
147
|
+
return (0, utils_js_1.respond)(`Dry run: would update order ${order_id} with ${JSON.stringify(body)}. No changes made.`);
|
|
148
|
+
}
|
|
146
149
|
const data = await client.request("PATCH", `/v1/orders/${order_id}`, body, company_id);
|
|
147
|
-
return respond(JSON.stringify(data, null, 2));
|
|
150
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
148
151
|
});
|
|
149
152
|
server.tool("billit_confirm_order", "Shortcut to approve an order for Billit processing. Sets ApprovalStatus to 'approved'. Required before Billit will process/send the invoice. Equivalent to billit_update_order with approval_status='approved'.", {
|
|
150
153
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID to approve"),
|
|
151
|
-
|
|
152
|
-
|
|
154
|
+
dry_run: utils_js_1.coerceBool.describe("When true, returns what would happen without calling the API (default: false)"),
|
|
155
|
+
company_id: utils_js_1.companyId,
|
|
156
|
+
}, async ({ order_id, dry_run, company_id }) => {
|
|
157
|
+
if (dry_run) {
|
|
158
|
+
return (0, utils_js_1.respond)(`Dry run: would confirm (approve) order ${order_id}. No changes made.`);
|
|
159
|
+
}
|
|
153
160
|
const data = await client.request("PATCH", `/v1/orders/${order_id}`, { ApprovalStatus: "approved" }, company_id);
|
|
154
|
-
return respond(JSON.stringify(data, null, 2));
|
|
161
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
155
162
|
});
|
|
156
|
-
server.tool("billit_delete_order", "Delete an order
|
|
163
|
+
server.tool("billit_delete_order", "Delete an order permanently. Typically only applicable for draft or rejected orders. Supports dry_run=true to preview without deleting.", {
|
|
157
164
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID to delete"),
|
|
158
|
-
|
|
159
|
-
|
|
165
|
+
dry_run: utils_js_1.coerceBool.describe("When true, simulates the delete without making changes (default: false)"),
|
|
166
|
+
company_id: utils_js_1.companyId,
|
|
167
|
+
}, async ({ order_id, dry_run, company_id }) => {
|
|
168
|
+
if (dry_run) {
|
|
169
|
+
return (0, utils_js_1.respond)(`Dry run: would delete order ${order_id}. No changes made.`);
|
|
170
|
+
}
|
|
160
171
|
await client.request("DELETE", `/v1/orders/${order_id}`, undefined, company_id);
|
|
161
|
-
return respond(`Order ${order_id} deleted.`);
|
|
172
|
+
return (0, utils_js_1.respond)(`Order ${order_id} deleted.`);
|
|
162
173
|
});
|
|
163
174
|
server.tool("billit_register_payment", "Register a payment for an order. Use after confirming receipt of payment. Multiple payments can be registered (partial payments). Next step: billit_update_order with paid=true when fully paid.", {
|
|
164
175
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID"),
|
|
165
176
|
amount: zod_1.z.coerce.number().describe("Payment amount as decimal (e.g. 121.00)"),
|
|
166
177
|
payment_date: zod_1.z.string().describe("Date payment was received (YYYY-MM-DD)"),
|
|
167
178
|
payment_reference: zod_1.z.string().optional().describe("Payment reference or bank transaction ID"),
|
|
168
|
-
|
|
169
|
-
|
|
179
|
+
dry_run: utils_js_1.coerceBool.describe("When true, returns what would be registered without calling the API (default: false)"),
|
|
180
|
+
company_id: utils_js_1.companyId,
|
|
181
|
+
}, async ({ order_id, amount, payment_date, payment_reference, dry_run, company_id }) => {
|
|
170
182
|
const body = { Amount: amount, PaymentDate: payment_date };
|
|
171
183
|
if (payment_reference)
|
|
172
184
|
body.PaymentReference = payment_reference;
|
|
185
|
+
if (dry_run) {
|
|
186
|
+
return (0, utils_js_1.respond)(`Dry run: would register payment of ${amount} on order ${order_id} for ${payment_date}. No changes made.`);
|
|
187
|
+
}
|
|
173
188
|
const data = await client.request("POST", `/v1/orders/${order_id}/payments`, body, company_id);
|
|
174
|
-
return respond(JSON.stringify(data, null, 2));
|
|
189
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
175
190
|
});
|
|
176
|
-
server.tool("billit_send_order", "Send one or more orders to the customer via email or Peppol (depending on customer configuration). Returns immediately — delivery is async. Prerequisites: order must be confirmed (ApprovalStatus=approved). Use billit_peppol_lookup_participant first to check if customer is on Peppol
|
|
191
|
+
server.tool("billit_send_order", (0, utils_js_1.withLlmTip)("Send one or more orders to the customer via email or Peppol (depending on customer configuration). Returns immediately — delivery is async. Prerequisites: order must be confirmed (ApprovalStatus=approved). Use billit_peppol_lookup_participant first to check if customer is on Peppol.", "Sending method (email vs Peppol) is determined by Billit based on customer config. To force Peppol, use billit_peppol_send_order instead.\nERROR: send fails → CAUSE: order not approved → FIX: call billit_confirm_order first to set ApprovalStatus='approved'."), {
|
|
177
192
|
order_ids: zod_1.z.array(zod_1.z.number()).describe("Array of numeric order IDs to send (can send multiple at once)"),
|
|
178
|
-
|
|
179
|
-
|
|
193
|
+
dry_run: utils_js_1.coerceBool.describe("When true, returns what would be sent without calling the API (default: false)"),
|
|
194
|
+
company_id: utils_js_1.companyId,
|
|
195
|
+
}, async ({ order_ids, dry_run, company_id }) => {
|
|
196
|
+
if (dry_run) {
|
|
197
|
+
return (0, utils_js_1.respond)(`Dry run: would send order(s) ${order_ids.join(", ")}. No changes made.`);
|
|
198
|
+
}
|
|
180
199
|
const data = await client.request("POST", "/v1/orders/commands/send", { OrderIDs: order_ids }, company_id);
|
|
181
|
-
return respond(JSON.stringify(data ?? { sent: order_ids }, null, 2));
|
|
200
|
+
return (0, utils_js_1.respond)(JSON.stringify(data ?? { sent: order_ids }, null, 2));
|
|
182
201
|
});
|
|
183
202
|
}
|
|
184
203
|
//# 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":"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"}
|
|
1
|
+
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parties.d.ts","sourceRoot":"","sources":["../../src/tools/parties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"parties.d.ts","sourceRoot":"","sources":["../../src/tools/parties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAiIzE"}
|
package/dist/tools/parties.js
CHANGED
|
@@ -2,49 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerPartyTools = registerPartyTools;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
|
|
6
|
-
return { content: [{ type: "text", text }] };
|
|
7
|
-
}
|
|
8
|
-
const companyId = zod_1.z.coerce.number().optional()
|
|
9
|
-
.describe("Billit PartyID of the company to act as. If not set, uses BILLIT_PARTY_ID env. If env is 0, call billit_get_account_info first to discover available companies.");
|
|
5
|
+
const utils_js_1 = require("./utils.js");
|
|
10
6
|
function registerPartyTools(server, client) {
|
|
11
|
-
server.tool("billit_list_parties", "List parties (customers and/or suppliers) in Billit. Returns array with PartyID, CommercialName, VATNumber, Email, PartyType. Supports OData $filter, $orderby, full-text search. Next steps: billit_get_party for full details, billit_create_order to create an invoice for a party.\n\nEXAMPLES:\n- filter=\"PartyType eq 'Customer'\"\n- filter=\"DisplayName eq 'Acme NV'\"\n- orderby='CommercialName asc'
|
|
7
|
+
server.tool("billit_list_parties", (0, utils_js_1.withLlmTip)("List parties (customers and/or suppliers) in Billit. Returns array with PartyID, CommercialName, VATNumber, Email, PartyType. Supports OData $filter, $orderby, full-text search. Next steps: billit_get_party for full details, billit_create_order to create an invoice for a party.\n\nEXAMPLES:\n- filter=\"PartyType eq 'Customer'\"\n- filter=\"DisplayName eq 'Acme NV'\"\n- orderby='CommercialName asc'", "ERROR: fullTextSearch in $filter → CAUSE: fullTextSearch is a separate query param → FIX: pass as 'fullTextSearch' param, not inside $filter.\nPartyName/DisplayName may be empty in list responses — use billit_get_party to retrieve the full party name."), {
|
|
12
8
|
party_type: zod_1.z.enum(["Customer", "Supplier", "Both"]).optional().describe("Shortcut filter by party type. Equivalent to filter=\"PartyType eq '...'\"."),
|
|
13
|
-
filter: zod_1.z.string().optional().describe("OData $filter expression. Examples: \"DisplayName eq 'Acme NV'\", \"PartyType eq 'Customer'\""),
|
|
9
|
+
filter: zod_1.z.string().optional().describe("OData $filter expression. Examples: \"DisplayName eq 'Acme NV'\", \"PartyType eq 'Customer'\". NOTE: If you also provide party_type, it will be merged with AND unless your filter already contains a PartyType condition."),
|
|
14
10
|
orderby: zod_1.z.string().optional().describe("OData $orderby expression. Examples: 'CommercialName asc', 'DisplayName desc'"),
|
|
15
11
|
search: zod_1.z.string().optional().describe("Full-text search on name, VAT number, email. Sent as separate 'fullTextSearch' query param."),
|
|
16
12
|
top: zod_1.z.coerce.number().optional().describe("Max results per page (max: 120)"),
|
|
17
13
|
skip: zod_1.z.coerce.number().optional().describe("Items to skip for pagination (default: 0)"),
|
|
18
|
-
company_id: companyId,
|
|
14
|
+
company_id: utils_js_1.companyId,
|
|
19
15
|
}, async ({ party_type, filter, orderby, search, top, skip, company_id }) => {
|
|
20
16
|
const filters = [];
|
|
21
|
-
if (party_type)
|
|
17
|
+
if (party_type && !(filter && /PartyType\s+eq\b/i.test(filter))) {
|
|
22
18
|
filters.push(`PartyType eq '${party_type}'`);
|
|
19
|
+
}
|
|
23
20
|
if (filter)
|
|
24
21
|
filters.push(filter);
|
|
25
|
-
const
|
|
26
|
-
if (filters.length)
|
|
27
|
-
params.set("$filter", filters.join(" and "));
|
|
28
|
-
if (orderby)
|
|
29
|
-
params.set("$orderby", orderby);
|
|
30
|
-
if (search)
|
|
31
|
-
params.set("fullTextSearch", search);
|
|
32
|
-
if (top)
|
|
33
|
-
params.set("$top", String(top));
|
|
34
|
-
if (skip)
|
|
35
|
-
params.set("$skip", String(skip));
|
|
36
|
-
const qs = params.toString();
|
|
22
|
+
const qs = (0, utils_js_1.buildODataParams)({ filter: filters.length ? filters.join(" and ") : undefined, search, orderby, top, skip });
|
|
37
23
|
const data = await client.request("GET", `/v1/parties${qs ? `?${qs}` : ""}`, undefined, company_id);
|
|
38
|
-
return respond(JSON.stringify(data, null, 2));
|
|
24
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
39
25
|
});
|
|
40
26
|
server.tool("billit_get_party", "Get full details of a party including all addresses, identifiers (GLN, VAT), IBAN/BIC, language, and contact info. Use PartyID from billit_list_parties.", {
|
|
41
27
|
party_id: zod_1.z.coerce.number().describe("Numeric party ID from billit_list_parties result"),
|
|
42
|
-
company_id: companyId,
|
|
28
|
+
company_id: utils_js_1.companyId,
|
|
43
29
|
}, async ({ party_id, company_id }) => {
|
|
44
30
|
const data = await client.request("GET", `/v1/parties/${party_id}`, undefined, company_id);
|
|
45
|
-
return respond(JSON.stringify(data, null, 2));
|
|
31
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
46
32
|
});
|
|
47
|
-
server.tool("billit_create_party", "Create a new customer or supplier party in Billit. Use billit_search_company first to auto-fill company details from KBO/VAT lookup. Returns the created PartyID. Next steps: billit_create_order to create an invoice for this party
|
|
33
|
+
server.tool("billit_create_party", (0, utils_js_1.withLlmTip)("Create a new customer or supplier party in Billit. Use billit_search_company first to auto-fill company details from KBO/VAT lookup. Returns the created PartyID. Next steps: billit_create_order to create an invoice for this party.", "Use billit_search_company with the company VAT/KBO number to look up official company data (name, address) before creating. This avoids typos and ensures correct data."), {
|
|
48
34
|
commercial_name: zod_1.z.string().describe("Company or person name (required)"),
|
|
49
35
|
party_type: zod_1.z.enum(["Customer", "Supplier", "Both"]).optional().describe("'Customer', 'Supplier', or 'Both' (default: Customer)"),
|
|
50
36
|
vat_number: zod_1.z.string().optional().describe("VAT number in BE format: BE0123456789"),
|
|
@@ -61,7 +47,8 @@ function registerPartyTools(server, client) {
|
|
|
61
47
|
city: zod_1.z.string().optional().describe("City name"),
|
|
62
48
|
country_code: zod_1.z.string().optional().describe("ISO country code (default: BE)"),
|
|
63
49
|
address_type: zod_1.z.enum(["InvoiceAddress", "DeliveryAddress"]).optional().describe("Address type: 'InvoiceAddress' (default) or 'DeliveryAddress'"),
|
|
64
|
-
|
|
50
|
+
dry_run: utils_js_1.coerceBool.describe("When true, validates input and returns what would be created without calling the API (default: false)"),
|
|
51
|
+
company_id: utils_js_1.companyId,
|
|
65
52
|
}, async (params) => {
|
|
66
53
|
const body = {
|
|
67
54
|
CommercialName: params.commercial_name,
|
|
@@ -85,8 +72,11 @@ function registerPartyTools(server, client) {
|
|
|
85
72
|
CountryCode: params.country_code ?? "BE",
|
|
86
73
|
}];
|
|
87
74
|
}
|
|
75
|
+
if (params.dry_run) {
|
|
76
|
+
return (0, utils_js_1.respond)(`Dry run: would create party '${params.commercial_name}' (${params.party_type ?? "Customer"}). No changes made.`);
|
|
77
|
+
}
|
|
88
78
|
const data = await client.request("POST", "/v1/parties", body, params.company_id);
|
|
89
|
-
return respond(JSON.stringify(data, null, 2));
|
|
79
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
90
80
|
});
|
|
91
81
|
server.tool("billit_update_party", "Update party details. Only fields provided in the request are modified — absent fields remain unchanged.", {
|
|
92
82
|
party_id: zod_1.z.coerce.number().describe("Numeric party ID to update"),
|
|
@@ -97,8 +87,9 @@ function registerPartyTools(server, client) {
|
|
|
97
87
|
language: zod_1.z.enum(["NL", "FR", "EN", "DE"]).optional().describe("Updated language: NL, FR, EN, or DE"),
|
|
98
88
|
iban: zod_1.z.string().optional().describe("Updated IBAN"),
|
|
99
89
|
bic: zod_1.z.string().optional().describe("Updated BIC/SWIFT"),
|
|
100
|
-
|
|
101
|
-
|
|
90
|
+
dry_run: utils_js_1.coerceBool.describe("When true, returns what would be updated without calling the API (default: false)"),
|
|
91
|
+
company_id: utils_js_1.companyId,
|
|
92
|
+
}, async ({ party_id, commercial_name, vat_number, email, phone, language, iban, bic, dry_run, company_id }) => {
|
|
102
93
|
const body = {};
|
|
103
94
|
if (commercial_name !== undefined)
|
|
104
95
|
body.CommercialName = commercial_name;
|
|
@@ -114,8 +105,11 @@ function registerPartyTools(server, client) {
|
|
|
114
105
|
body.IBAN = iban;
|
|
115
106
|
if (bic !== undefined)
|
|
116
107
|
body.BIC = bic;
|
|
108
|
+
if (dry_run) {
|
|
109
|
+
return (0, utils_js_1.respond)(`Dry run: would update party ${party_id} with ${JSON.stringify(body)}. No changes made.`);
|
|
110
|
+
}
|
|
117
111
|
const data = await client.request("PATCH", `/v1/parties/${party_id}`, body, company_id);
|
|
118
|
-
return respond(JSON.stringify(data, null, 2));
|
|
112
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
119
113
|
});
|
|
120
114
|
}
|
|
121
115
|
//# sourceMappingURL=parties.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parties.js","sourceRoot":"","sources":["../../src/tools/parties.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parties.js","sourceRoot":"","sources":["../../src/tools/parties.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peppol.d.ts","sourceRoot":"","sources":["../../src/tools/peppol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"peppol.d.ts","sourceRoot":"","sources":["../../src/tools/peppol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAuH1E"}
|
package/dist/tools/peppol.js
CHANGED
|
@@ -2,63 +2,78 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerPeppolTools = registerPeppolTools;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
|
|
6
|
-
return { content: [{ type: "text", text }] };
|
|
7
|
-
}
|
|
8
|
-
const companyId = zod_1.z.coerce.number().optional()
|
|
9
|
-
.describe("Billit PartyID of the company to act as. If not set, uses BILLIT_PARTY_ID env. If env is 0, call billit_get_account_info first to discover available companies.");
|
|
5
|
+
const utils_js_1 = require("./utils.js");
|
|
10
6
|
function registerPeppolTools(server, client) {
|
|
11
7
|
server.tool("billit_peppol_list_inbox", "List incoming Peppol messages (e-invoices received from suppliers via the Peppol network). Returns inbox items with inboxItemId, sender, document type, and date. Supports OData $orderby. Next steps: billit_peppol_confirm_inbox to accept, billit_peppol_refuse_inbox to reject.", {
|
|
12
8
|
orderby: zod_1.z.string().optional().describe("OData $orderby expression. Example: 'ReceivedDate desc'"),
|
|
13
9
|
top: zod_1.z.coerce.number().optional().describe("Max results per page (max: 120)"),
|
|
14
10
|
skip: zod_1.z.coerce.number().optional().describe("Items to skip for pagination (default: 0)"),
|
|
15
|
-
company_id: companyId,
|
|
11
|
+
company_id: utils_js_1.companyId,
|
|
16
12
|
}, async ({ orderby, top, skip, company_id }) => {
|
|
17
|
-
const
|
|
18
|
-
if (orderby)
|
|
19
|
-
params.set("$orderby", orderby);
|
|
20
|
-
if (top)
|
|
21
|
-
params.set("$top", String(top));
|
|
22
|
-
if (skip)
|
|
23
|
-
params.set("$skip", String(skip));
|
|
24
|
-
const qs = params.toString();
|
|
13
|
+
const qs = (0, utils_js_1.buildODataParams)({ orderby, top, skip });
|
|
25
14
|
const data = await client.request("GET", `/v1/peppol/inbox${qs ? `?${qs}` : ""}`, undefined, company_id);
|
|
26
|
-
return respond(JSON.stringify(data, null, 2));
|
|
15
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
27
16
|
});
|
|
28
17
|
server.tool("billit_peppol_confirm_inbox", "Accept an incoming Peppol message. Marks the item as processed and accepted. Use after reviewing an incoming e-invoice.", {
|
|
29
18
|
inbox_item_id: zod_1.z.string().describe("Inbox item ID from billit_peppol_list_inbox result"),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
19
|
+
dry_run: utils_js_1.coerceBool.describe("When true, preview the action without executing it (default: false)"),
|
|
20
|
+
company_id: utils_js_1.companyId,
|
|
21
|
+
}, async ({ inbox_item_id, dry_run, company_id }) => {
|
|
22
|
+
if (dry_run) {
|
|
23
|
+
return (0, utils_js_1.respond)(JSON.stringify({ dry_run: true, would: `Confirm Peppol inbox item ${inbox_item_id}` }, null, 2));
|
|
24
|
+
}
|
|
25
|
+
const data = await client.request("POST", `/v1/peppol/inbox/${encodeURIComponent(inbox_item_id)}/confirm`, undefined, company_id);
|
|
26
|
+
return (0, utils_js_1.respond)(JSON.stringify(data ?? { success: true }, null, 2));
|
|
34
27
|
});
|
|
35
28
|
server.tool("billit_peppol_refuse_inbox", "Refuse/reject an incoming Peppol message. Use when an incoming e-invoice is incorrect or unexpected.", {
|
|
36
29
|
inbox_item_id: zod_1.z.string().describe("Inbox item ID from billit_peppol_list_inbox result"),
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
dry_run: utils_js_1.coerceBool.describe("When true, preview the action without executing it (default: false)"),
|
|
31
|
+
company_id: utils_js_1.companyId,
|
|
32
|
+
}, async ({ inbox_item_id, dry_run, company_id }) => {
|
|
33
|
+
if (dry_run) {
|
|
34
|
+
return (0, utils_js_1.respond)(JSON.stringify({ dry_run: true, would: `Refuse Peppol inbox item ${inbox_item_id}` }, null, 2));
|
|
35
|
+
}
|
|
36
|
+
const data = await client.request("POST", `/v1/peppol/inbox/${encodeURIComponent(inbox_item_id)}/refuse`, undefined, company_id);
|
|
37
|
+
return (0, utils_js_1.respond)(JSON.stringify(data ?? { success: true }, null, 2));
|
|
41
38
|
});
|
|
42
|
-
server.tool("billit_peppol_send_order", "Send a specific order directly via the Peppol e-invoicing network. Use billit_peppol_lookup_participant first to verify the customer is a Peppol participant. Prerequisites: order must be confirmed (ApprovalStatus=approved)
|
|
39
|
+
server.tool("billit_peppol_send_order", (0, utils_js_1.withLlmTip)("Send a specific order directly via the Peppol e-invoicing network. Use billit_peppol_lookup_participant first to verify the customer is a Peppol participant. Prerequisites: order must be confirmed (ApprovalStatus=approved).", "ERROR: Peppol send fails → CAUSE: customer not registered on Peppol → FIX: call billit_peppol_lookup_participant with their VAT/CBE number first. If not on Peppol, use billit_send_order (falls back to email) instead."), {
|
|
43
40
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID to send via Peppol"),
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
dry_run: utils_js_1.coerceBool.describe("When true, preview the action without executing it (default: false)"),
|
|
42
|
+
company_id: utils_js_1.companyId,
|
|
43
|
+
}, async ({ order_id, dry_run, company_id }) => {
|
|
44
|
+
if (dry_run) {
|
|
45
|
+
return (0, utils_js_1.respond)(JSON.stringify({ dry_run: true, would: `Send order ${order_id} via Peppol` }, null, 2));
|
|
46
|
+
}
|
|
46
47
|
const data = await client.request("POST", "/v1/peppol/sendOrder", { OrderID: order_id }, company_id);
|
|
47
|
-
return respond(JSON.stringify(data ?? { success: true }, null, 2));
|
|
48
|
+
return (0, utils_js_1.respond)(JSON.stringify(data ?? { success: true }, null, 2));
|
|
48
49
|
});
|
|
49
50
|
server.tool("billit_peppol_lookup_participant", "Check if a company is registered as a Peppol participant. Returns participant information including endpoint and supported document types. Use before billit_peppol_send_order to verify the customer is reachable.", {
|
|
50
51
|
vat_or_cbe: zod_1.z.string().describe("Company VAT number (e.g. BE0123456789) or CBE/KBO enterprise number to look up on Peppol"),
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
company_id: utils_js_1.companyId,
|
|
53
|
+
}, async ({ vat_or_cbe, company_id }) => {
|
|
54
|
+
const data = await client.request("GET", `/v1/peppol/participantInformation/${encodeURIComponent(vat_or_cbe)}`, undefined, company_id);
|
|
55
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
54
56
|
});
|
|
55
|
-
server.tool("billit_peppol_register", "Register the current Billit party as a Peppol participant. Enables receiving e-invoices via Peppol and sending outgoing invoices via the network. One-time setup operation.", {
|
|
57
|
+
server.tool("billit_peppol_register", "Register the current Billit party as a Peppol participant. Enables receiving e-invoices via Peppol and sending outgoing invoices via the network. One-time setup operation.", {
|
|
58
|
+
dry_run: utils_js_1.coerceBool.describe("When true, preview the action without executing it (default: false)"),
|
|
59
|
+
company_id: utils_js_1.companyId,
|
|
60
|
+
}, async ({ dry_run, company_id }) => {
|
|
61
|
+
if (dry_run) {
|
|
62
|
+
return (0, utils_js_1.respond)(JSON.stringify({ dry_run: true, would: "Register party as Peppol participant" }, null, 2));
|
|
63
|
+
}
|
|
56
64
|
const data = await client.request("POST", "/v1/peppol/participants", undefined, company_id);
|
|
57
|
-
return respond(JSON.stringify(data ?? { success: true }, null, 2));
|
|
65
|
+
return (0, utils_js_1.respond)(JSON.stringify(data ?? { success: true }, null, 2));
|
|
58
66
|
});
|
|
59
|
-
server.tool("billit_peppol_unregister", "Unregister the current Billit party from the Peppol network. After this, the party can no longer receive or send via Peppol. Use with caution
|
|
67
|
+
server.tool("billit_peppol_unregister", (0, utils_js_1.withLlmTip)("Unregister the current Billit party from the Peppol network. After this, the party can no longer receive or send via Peppol. Use with caution. Supports dry_run=true to preview without making changes.", "Unregistering from Peppol is immediate and affects all incoming e-invoices. Always confirm with the user before calling this."), {
|
|
68
|
+
company_id: utils_js_1.companyId,
|
|
69
|
+
dry_run: utils_js_1.coerceBool
|
|
70
|
+
.describe("If true, returns what would happen without actually unregistering. Default: false."),
|
|
71
|
+
}, async ({ company_id, dry_run }) => {
|
|
72
|
+
if (dry_run) {
|
|
73
|
+
return (0, utils_js_1.respond)("Dry run: would unregister party from Peppol. No changes made.");
|
|
74
|
+
}
|
|
60
75
|
const data = await client.request("DELETE", "/v1/peppol/participants", undefined, company_id);
|
|
61
|
-
return respond(JSON.stringify(data ?? { success: true }, null, 2));
|
|
76
|
+
return (0, utils_js_1.respond)(JSON.stringify(data ?? { success: true }, null, 2));
|
|
62
77
|
});
|
|
63
78
|
}
|
|
64
79
|
//# sourceMappingURL=peppol.js.map
|
package/dist/tools/peppol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peppol.js","sourceRoot":"","sources":["../../src/tools/peppol.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"peppol.js","sourceRoot":"","sources":["../../src/tools/peppol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/tools/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/tools/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA4D3E"}
|