@codemill-solutions/yuki-mcp 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -9
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -6
- package/dist/index.js.map +1 -1
- package/dist/tools/accounting-info.d.ts +16 -0
- package/dist/tools/accounting-info.d.ts.map +1 -1
- package/dist/tools/accounting-info.js +54 -15
- package/dist/tools/accounting-info.js.map +1 -1
- package/dist/tools/administrations.d.ts.map +1 -1
- package/dist/tools/administrations.js +6 -5
- package/dist/tools/administrations.js.map +1 -1
- package/dist/yuki-client.d.ts +61 -16
- package/dist/yuki-client.d.ts.map +1 -1
- package/dist/yuki-client.js +117 -35
- package/dist/yuki-client.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -8,18 +8,38 @@ Built with Node.js, TypeScript, and [`@modelcontextprotocol/sdk`](https://github
|
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
|
+
The quickest way is to let your MCP host run the package directly through `npx` — nothing to install or build. Add it to your MCP host configuration (e.g. `claude_desktop_config.json`):
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"mcpServers": {
|
|
16
|
+
"yuki": {
|
|
17
|
+
"command": "npx",
|
|
18
|
+
"args": ["-y", "@codemill-solutions/yuki-mcp"],
|
|
19
|
+
"env": {
|
|
20
|
+
"YUKI_API_KEY": "your-api-key-here",
|
|
21
|
+
"YUKI_DOMAIN_ID": "your-administration-guid-here",
|
|
22
|
+
"YUKI_REGION": "nl"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
> **Belgian administrations must set `YUKI_REGION=be`.** See [API region](#api-region).
|
|
30
|
+
|
|
31
|
+
Prefer a pinned local install? Install the package and point your host at its entry point instead:
|
|
32
|
+
|
|
11
33
|
```bash
|
|
12
34
|
npm install @codemill-solutions/yuki-mcp
|
|
13
35
|
```
|
|
14
36
|
|
|
15
|
-
Then add it to your MCP host configuration (e.g. `claude_desktop_config.json`):
|
|
16
|
-
|
|
17
37
|
```json
|
|
18
38
|
{
|
|
19
39
|
"mcpServers": {
|
|
20
40
|
"yuki": {
|
|
21
41
|
"command": "node",
|
|
22
|
-
"args": ["node_modules/@codemill-solutions/yuki-mcp/dist/index.js"],
|
|
42
|
+
"args": ["/absolute/path/to/node_modules/@codemill-solutions/yuki-mcp/dist/index.js"],
|
|
23
43
|
"env": {
|
|
24
44
|
"YUKI_API_KEY": "your-api-key-here",
|
|
25
45
|
"YUKI_DOMAIN_ID": "your-administration-guid-here",
|
|
@@ -30,7 +50,7 @@ Then add it to your MCP host configuration (e.g. `claude_desktop_config.json`):
|
|
|
30
50
|
}
|
|
31
51
|
```
|
|
32
52
|
|
|
33
|
-
> **
|
|
53
|
+
> Desktop MCP hosts such as Claude Desktop do not inherit your shell's `PATH`. If the server only reports **"Server disconnected"**, use absolute paths for the command (`which npx` / `which node`, e.g. `/opt/homebrew/bin/npx` on Apple Silicon Macs) — see [Troubleshooting](#troubleshooting).
|
|
34
54
|
|
|
35
55
|
---
|
|
36
56
|
|
|
@@ -123,21 +143,45 @@ YUKI_BASE_URL=https://api.yukiworks.be/ws/
|
|
|
123
143
|
|
|
124
144
|
Defaults are unchanged — omitting both keeps the previous `api.yukiworks.nl` behaviour.
|
|
125
145
|
|
|
146
|
+
### Per administration
|
|
147
|
+
|
|
148
|
+
`YUKI_REGION` / `YUKI_BASE_URL` set the server-wide default. When one server serves administrations in more than one region, pin the exceptions in the [keys file](#keys-file-format):
|
|
149
|
+
|
|
150
|
+
```json
|
|
151
|
+
{
|
|
152
|
+
"<dutch-administration-id>": "api-key-nl",
|
|
153
|
+
"<belgian-administration-id>": { "apiKey": "api-key-be", "region": "be" }
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
When a call still lands on the wrong host, the `Domain has no active database` fault names the host that was called and the regions to try.
|
|
158
|
+
|
|
126
159
|
---
|
|
127
160
|
|
|
128
161
|
## Multi-administration support
|
|
129
162
|
|
|
130
|
-
If you manage **multiple Yuki administrations** (each with its own API key), you can supply a JSON file that maps every `administrationId` to its corresponding API key. The server then authenticates per administration automatically — no single shared key required.
|
|
163
|
+
If you manage **multiple Yuki administrations** (each with its own API key), you can supply a JSON file that maps every `administrationId` to its corresponding API key. The server then authenticates per administration automatically — no single shared key required. Administrations in different regions can share one server: give an entry its own `region`.
|
|
131
164
|
|
|
132
165
|
### Keys file format
|
|
133
166
|
|
|
167
|
+
Each value is either the API key itself, or an object with the key plus an optional region override:
|
|
168
|
+
|
|
134
169
|
```json
|
|
135
170
|
{
|
|
136
171
|
"a1b2c3d4-0000-0000-0000-000000000001": "api-key-for-admin-1",
|
|
137
|
-
"a1b2c3d4-0000-0000-0000-000000000002": "api-key-for-admin-2"
|
|
172
|
+
"a1b2c3d4-0000-0000-0000-000000000002": { "apiKey": "api-key-for-admin-2", "region": "be" },
|
|
173
|
+
"a1b2c3d4-0000-0000-0000-000000000003": { "apiKey": "api-key-for-admin-3", "baseUrl": "https://api.yukiworks.be/ws/" }
|
|
138
174
|
}
|
|
139
175
|
```
|
|
140
176
|
|
|
177
|
+
| Field | Required | Purpose |
|
|
178
|
+
|-------|----------|---------|
|
|
179
|
+
| `apiKey` | yes | The administration's API key |
|
|
180
|
+
| `region` | no | `nl` or `be` — the API host for this administration. Defaults to the server-wide `YUKI_REGION` |
|
|
181
|
+
| `baseUrl` | no | Full API URL for this administration; takes precedence over `region` |
|
|
182
|
+
|
|
183
|
+
Plain string entries keep using the server-wide region, so existing files work unchanged. An unknown `region` is reported as an error (at startup or from `reload_keys`) rather than silently falling back to the default host. Each session is bound to the host that issued it, so tools need no extra parameters; `reload_keys` treats a changed region like a changed key and re-authenticates.
|
|
184
|
+
|
|
141
185
|
### Path resolution (first match wins)
|
|
142
186
|
|
|
143
187
|
| Priority | Path |
|
|
@@ -160,7 +204,7 @@ If neither `YUKI_API_KEY` nor a keys file is found at startup, the server logs a
|
|
|
160
204
|
|
|
161
205
|
When a new key is generated externally — for example by a sibling MCP server that drives the Yuki Integraties UI to create a fresh API key for a new administration — the new entry only lands in `~/.yuki/api-keys.json`. By default the MCP server reads that file once at startup, so a freshly added key would require a server restart before it can be used for SOAP calls.
|
|
162
206
|
|
|
163
|
-
The **`reload_keys`** tool (see [Available tools](#available-tools-31) below) avoids this: it re-reads the keys file from disk and replaces the in-memory map in place. Sessions for
|
|
207
|
+
The **`reload_keys`** tool (see [Available tools](#available-tools-31) below) avoids this: it re-reads the keys file from disk and replaces the in-memory map in place. Sessions for entries whose key or region **changed** or that were **removed** are evicted from the session cache automatically; sessions for unchanged entries stay warm so subsequent calls do not pay the re-authentication cost.
|
|
164
208
|
|
|
165
209
|
Typical flow for a sibling tool that has just minted a new key:
|
|
166
210
|
|
|
@@ -180,7 +224,7 @@ Typical flow for a sibling tool that has just minted a new key:
|
|
|
180
224
|
|------|-------------|
|
|
181
225
|
| `get_administrations` | List all administrations (companies) for this API key. **Run this first** to find the correct `administrationId`. |
|
|
182
226
|
| `get_administration_id` | Look up an administration's GUID by its exact name. Useful when you know the name but not the GUID. |
|
|
183
|
-
| `reload_keys` | Re-read the `administrationId → apiKey` JSON file from disk without restarting the server. Returns a diff of added/updated/removed IDs and invalidates affected sessions. Use after an external `create_api_key` flow. |
|
|
227
|
+
| `reload_keys` | Re-read the `administrationId → apiKey` JSON file (including per-administration `region` overrides) from disk without restarting the server. Returns a diff of added/updated/removed IDs and invalidates affected sessions. Use after an external `create_api_key` flow. |
|
|
184
228
|
|
|
185
229
|
### Relations
|
|
186
230
|
|
|
@@ -200,7 +244,7 @@ Typical flow for a sibling tool that has just minted a new key:
|
|
|
200
244
|
|
|
201
245
|
| Tool | Key parameters | Description |
|
|
202
246
|
|------|----------------|-------------|
|
|
203
|
-
| `get_missing_invoices` |
|
|
247
|
+
| `get_missing_invoices` | `types?` | Retrieve bank payments that still need a matching purchase invoice — equivalent to "Postbus → Ontbrekende facturen" in the Yuki web interface. Works for Dutch and Belgian administrations; the response includes `typesSeen`, and an unexpected `<Type>` label can be passed via `types`. |
|
|
204
248
|
| `get_purchase_invoices` | `dateOutstanding?`, `sortOrder?`, `includeBankTransactions?` | Retrieve outstanding (unpaid) purchase invoices. |
|
|
205
249
|
| `process_purchase_invoice` | `date`, `invoiceAmount`, `invoiceVatAmount`, `contact`, `lines` | Book an incoming purchase invoice. Accepts an optional PDF as base64. |
|
|
206
250
|
|
|
@@ -343,6 +387,8 @@ Design agent workflows to fetch broad lists once and reference them from the age
|
|
|
343
387
|
|
|
344
388
|
| Error | Likely cause |
|
|
345
389
|
|-------|-------------|
|
|
390
|
+
| **Server disconnected** with no further output | The MCP host could not start the server. Desktop hosts don't inherit your shell's `PATH`, so use absolute paths (`which npx` / `which node`). With package versions up to 1.6.0, `npx` also fails with `could not determine executable to run` because the package had no `bin` entry — upgrade, or run `node` against `dist/index.js` |
|
|
391
|
+
| `get_missing_invoices` returns `count: 0` while Yuki shows missing invoices | Your administration reports a `<Type>` label the tool doesn't recognise — check `typesSeen` in the response and pass the bank-side labels via the `types` parameter |
|
|
346
392
|
| `SOAP Fault: Authentication failed` | `YUKI_API_KEY` is incorrect or API access is not enabled in Yuki Settings |
|
|
347
393
|
| `No API key found for administration …` | The `administrationId` passed to the tool is not in the loaded keys file — check `YUKI_API_KEYS_FILE` |
|
|
348
394
|
| `SOAP Fault: Administration not found` | Wrong `administrationId` — run `get_administrations` to get the correct GUID |
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
1
2
|
import 'dotenv/config';
|
|
2
3
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
4
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
|
-
import { YukiClient, loadApiKeysFile } from './yuki-client.js';
|
|
5
|
+
import { YukiClient, YUKI_BASE_URL, loadApiKeysFile } from './yuki-client.js';
|
|
5
6
|
// Read tools
|
|
6
7
|
import { registerAdministrationTools, registerAdministrationLookupTools, registerReloadKeysTools, } from './tools/administrations.js';
|
|
7
8
|
import { registerRelationTools } from './tools/relations.js';
|
|
@@ -22,8 +23,10 @@ import { registerBackofficeTools } from './tools/backoffice.js';
|
|
|
22
23
|
// This allows the MCP server to serve multiple Yuki administrations, each with
|
|
23
24
|
// its own API key, without requiring a single YUKI_API_KEY for all of them.
|
|
24
25
|
//
|
|
25
|
-
// The file format is a plain JSON object
|
|
26
|
-
//
|
|
26
|
+
// The file format is a plain JSON object. A value is either the API key, or an
|
|
27
|
+
// object that also pins the administration to its own API region:
|
|
28
|
+
// { "<administrationId>": "<apiKey>",
|
|
29
|
+
// "<administrationId>": { "apiKey": "<apiKey>", "region": "be" }, ... }
|
|
27
30
|
//
|
|
28
31
|
// Path resolution + parsing lives in `yuki-client.ts` (`loadApiKeysFile`) so
|
|
29
32
|
// the runtime `reload_keys` tool can share the exact same behaviour.
|
|
@@ -34,7 +37,10 @@ try {
|
|
|
34
37
|
keysFilePath = loaded.path;
|
|
35
38
|
apiKeyMap = loaded.map;
|
|
36
39
|
if (loaded.found) {
|
|
37
|
-
|
|
40
|
+
const overrides = [...apiKeyMap.values()].filter((entry) => entry.baseUrl !== YUKI_BASE_URL).length;
|
|
41
|
+
process.stderr.write(`[yuki-mcp] Loaded ${apiKeyMap.size} API keys from ${keysFilePath}` +
|
|
42
|
+
(overrides > 0 ? ` (${overrides} with a region/baseUrl override)` : '') +
|
|
43
|
+
'\n');
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
46
|
catch (err) {
|
|
@@ -56,7 +62,7 @@ const yukiClient = new YukiClient(apiKey, domainId, apiKeyMap);
|
|
|
56
62
|
// ── MCP server ────────────────────────────────────────────────────────────────
|
|
57
63
|
const server = new McpServer({
|
|
58
64
|
name: 'yuki-mcp',
|
|
59
|
-
version: '1.
|
|
65
|
+
version: '1.7.0',
|
|
60
66
|
});
|
|
61
67
|
// ── Read tools ────────────────────────────────────────────────────────────────
|
|
62
68
|
registerAdministrationTools(server, yukiClient);
|
|
@@ -85,5 +91,5 @@ const keyInfo = apiKeyMap.size > 0
|
|
|
85
91
|
? 'single YUKI_API_KEY'
|
|
86
92
|
: 'no API keys configured';
|
|
87
93
|
process.stderr.write(`[yuki-mcp] Server started — 31 tools registered. ` +
|
|
88
|
-
`Domain ID: ${domainId || '(none)'} — ${keyInfo}\n`);
|
|
94
|
+
`Domain ID: ${domainId || '(none)'} — ${keyInfo} — API host: ${YUKI_BASE_URL}\n`);
|
|
89
95
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,4 +16,20 @@ import { YukiClient } from '../yuki-client.js';
|
|
|
16
16
|
* Note: uses sessionID / administrationID (uppercase D), same as Accounting.asmx.
|
|
17
17
|
*/
|
|
18
18
|
export declare function registerAccountingInfoTools(server: McpServer, client: YukiClient): void;
|
|
19
|
+
/**
|
|
20
|
+
* <Type> labels that OutstandingCreditorItems uses for bank-side items, i.e.
|
|
21
|
+
* payments without a matching purchase invoice. The label depends on the region
|
|
22
|
+
* of the administration: Dutch administrations report "Afschriftregel", Belgian
|
|
23
|
+
* ones "Banktransactie" / "Creditcardbetaling". Invoice-side items
|
|
24
|
+
* ("Aankoopfactuur", "Aankoop creditnota", …) never belong in this list.
|
|
25
|
+
*/
|
|
26
|
+
export declare const DEFAULT_MISSING_INVOICE_TYPES: readonly string[];
|
|
27
|
+
/**
|
|
28
|
+
* Read the <Type> label of an OutstandingCreditorItems row. The element carries
|
|
29
|
+
* an ID attribute, so fast-xml-parser returns it as { "@_ID": "", "#text": "…" }
|
|
30
|
+
* rather than a plain string.
|
|
31
|
+
*/
|
|
32
|
+
export declare function readItemType(item: Record<string, unknown>): string;
|
|
33
|
+
/** Case-insensitive membership test against the accepted bank-side labels. */
|
|
34
|
+
export declare function isMissingInvoiceType(type: string, accepted?: readonly string[]): boolean;
|
|
19
35
|
//# sourceMappingURL=accounting-info.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounting-info.d.ts","sourceRoot":"","sources":["../../src/tools/accounting-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"accounting-info.d.ts","sourceRoot":"","sources":["../../src/tools/accounting-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CA6evF;AAgCD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAI1D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAIlE;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,SAAS,MAAM,EAAkC,GAC1D,OAAO,CAGT"}
|
|
@@ -270,10 +270,12 @@ export function registerAccountingInfoTools(server, client) {
|
|
|
270
270
|
* inkoopfacturen" in the Yuki web interface.
|
|
271
271
|
*
|
|
272
272
|
* How it works: uses OutstandingCreditorItems with includeBankTransactions=true
|
|
273
|
-
* and
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
273
|
+
* and keeps the bank-side items: payments that Yuki has matched to a creditor
|
|
274
|
+
* but for which no purchase invoice document has been uploaded. The <Type>
|
|
275
|
+
* label of those items depends on the region of the administration — Dutch
|
|
276
|
+
* administrations report "Afschriftregel", Belgian ones "Banktransactie" and
|
|
277
|
+
* "Creditcardbetaling" (see DEFAULT_MISSING_INVOICE_TYPES). The documentID on
|
|
278
|
+
* each item refers to the bank statement, not to a purchase invoice.
|
|
277
279
|
*
|
|
278
280
|
* Yuki service: Accounting.asmx · OutstandingCreditorItems
|
|
279
281
|
* Rate cost: 1 request.
|
|
@@ -284,12 +286,18 @@ export function registerAccountingInfoTools(server, client) {
|
|
|
284
286
|
'Returns creditor name, open amount, date, and bank description for each unmatched payment. ' +
|
|
285
287
|
'Use upload_document or process_purchase_invoice to resolve items in this list.',
|
|
286
288
|
inputSchema: {
|
|
289
|
+
types: z
|
|
290
|
+
.array(z.string())
|
|
291
|
+
.optional()
|
|
292
|
+
.describe('<Type> labels to treat as unmatched bank payments. Defaults to ' +
|
|
293
|
+
`${DEFAULT_MISSING_INVOICE_TYPES.join(', ')} (Dutch and Belgian labels). ` +
|
|
294
|
+
'Override when the response reports other labels in typesSeen.'),
|
|
287
295
|
administrationId: z
|
|
288
296
|
.string()
|
|
289
297
|
.optional()
|
|
290
298
|
.describe('Administration ID (GUID). Defaults to YUKI_DOMAIN_ID env var.'),
|
|
291
299
|
},
|
|
292
|
-
}, async ({ administrationId }) => {
|
|
300
|
+
}, async ({ types, administrationId }) => {
|
|
293
301
|
try {
|
|
294
302
|
const adminId = administrationId ?? client.defaultDomainId;
|
|
295
303
|
if (!adminId)
|
|
@@ -306,18 +314,18 @@ export function registerAccountingInfoTools(server, client) {
|
|
|
306
314
|
},
|
|
307
315
|
});
|
|
308
316
|
const items = normalizeList(result, ['OutstandingCreditorItems', 'Items', 'CreditorItems'], ['Item', 'CreditorItem', 'Row']);
|
|
309
|
-
//
|
|
310
|
-
// "
|
|
311
|
-
//
|
|
312
|
-
|
|
317
|
+
// Keep the bank-side items; invoice-side items ("Aankoopfactuur",
|
|
318
|
+
// "Aankoop creditnota", …) are open purchase invoices, not missing ones.
|
|
319
|
+
// typesSeen is reported back so an unexpected label is easy to spot.
|
|
320
|
+
const accepted = types && types.length > 0 ? types : DEFAULT_MISSING_INVOICE_TYPES;
|
|
321
|
+
const typesSeen = {};
|
|
313
322
|
const missing = items.filter((item) => {
|
|
314
|
-
const
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
: String(raw ?? '');
|
|
318
|
-
return type === 'Afschriftregel';
|
|
323
|
+
const type = readItemType(item) || '(empty)';
|
|
324
|
+
typesSeen[type] = (typesSeen[type] ?? 0) + 1;
|
|
325
|
+
return isMissingInvoiceType(type, accepted);
|
|
319
326
|
});
|
|
320
327
|
const invoices = missing.map((item) => ({
|
|
328
|
+
type: readItemType(item),
|
|
321
329
|
bankStatementDocumentId: item['DocumentID'] ?? item['documentID'] ?? null,
|
|
322
330
|
date: item['Date'] ?? item['date'] ?? null,
|
|
323
331
|
creditorName: item['Contact'] ?? item['ContactName'] ?? null,
|
|
@@ -335,8 +343,11 @@ export function registerAccountingInfoTools(server, client) {
|
|
|
335
343
|
text: JSON.stringify({
|
|
336
344
|
success: true,
|
|
337
345
|
count: invoices.length,
|
|
346
|
+
totalItems: items.length,
|
|
347
|
+
typesSeen,
|
|
338
348
|
note: 'Bank payments without a matching purchase invoice. ' +
|
|
339
|
-
'Use upload_document or process_purchase_invoice to resolve each item.'
|
|
349
|
+
'Use upload_document or process_purchase_invoice to resolve each item. ' +
|
|
350
|
+
'If count is 0 while typesSeen lists bank-side labels, pass those labels via the types parameter.',
|
|
340
351
|
missingInvoices: invoices,
|
|
341
352
|
}, null, 2),
|
|
342
353
|
},
|
|
@@ -441,6 +452,34 @@ function normalizeList(result, wrappers, itemTags) {
|
|
|
441
452
|
}
|
|
442
453
|
return [result];
|
|
443
454
|
}
|
|
455
|
+
// ── get_missing_invoices helpers ──────────────────────────────────────────────
|
|
456
|
+
/**
|
|
457
|
+
* <Type> labels that OutstandingCreditorItems uses for bank-side items, i.e.
|
|
458
|
+
* payments without a matching purchase invoice. The label depends on the region
|
|
459
|
+
* of the administration: Dutch administrations report "Afschriftregel", Belgian
|
|
460
|
+
* ones "Banktransactie" / "Creditcardbetaling". Invoice-side items
|
|
461
|
+
* ("Aankoopfactuur", "Aankoop creditnota", …) never belong in this list.
|
|
462
|
+
*/
|
|
463
|
+
export const DEFAULT_MISSING_INVOICE_TYPES = [
|
|
464
|
+
'Afschriftregel',
|
|
465
|
+
'Banktransactie',
|
|
466
|
+
'Creditcardbetaling',
|
|
467
|
+
];
|
|
468
|
+
/**
|
|
469
|
+
* Read the <Type> label of an OutstandingCreditorItems row. The element carries
|
|
470
|
+
* an ID attribute, so fast-xml-parser returns it as { "@_ID": "", "#text": "…" }
|
|
471
|
+
* rather than a plain string.
|
|
472
|
+
*/
|
|
473
|
+
export function readItemType(item) {
|
|
474
|
+
const raw = item['Type'] ?? item['type'];
|
|
475
|
+
const text = raw && typeof raw === 'object' ? raw['#text'] : raw;
|
|
476
|
+
return String(text ?? '').trim();
|
|
477
|
+
}
|
|
478
|
+
/** Case-insensitive membership test against the accepted bank-side labels. */
|
|
479
|
+
export function isMissingInvoiceType(type, accepted = DEFAULT_MISSING_INVOICE_TYPES) {
|
|
480
|
+
const needle = type.trim().toLowerCase();
|
|
481
|
+
return accepted.some((label) => label.trim().toLowerCase() === needle);
|
|
482
|
+
}
|
|
444
483
|
/** Uniform error response shape. */
|
|
445
484
|
function errorResponse(err) {
|
|
446
485
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounting-info.js","sourceRoot":"","sources":["../../src/tools/accounting-info.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accounting-info.js","sourceRoot":"","sources":["../../src/tools/accounting-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAkB;IAC/E,gFAAgF;IAEhF;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,kFAAkF;YAClF,8FAA8F;YAC9F,4EAA4E;YAC5E,mDAAmD;QACrD,WAAW,EAAE;YACX,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB,IAAI,MAAM,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAE9F,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,oBAAoB;gBAC5B,MAAM,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE;aACjD,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAEpG,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACnF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,gFAAgF;IAEhF;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,+EAA+E;YAC/E,sDAAsD;YACtD,0EAA0E;YAC1E,0DAA0D;QAC5D,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB,IAAI,MAAM,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAE9F,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,oBAAoB;gBAC5B,MAAM,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;aACjE,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAC;YAEvH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACzF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,+EAA+E;IAE/E;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,YAAY,CACjB,8BAA8B,EAC9B;QACE,WAAW,EACT,2EAA2E;YAC3E,8EAA8E;YAC9E,qDAAqD;YACrD,mDAAmD;YACnD,sFAAsF;QACxF,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAC7E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACzE,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yFAAyF,CAAC;YACtG,aAAa,EAAE,CAAC;iBACb,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;iBAChB,QAAQ,EAAE;iBACV,OAAO,CAAC,GAAG,CAAC;iBACZ,QAAQ,CAAC,2DAA2D,CAAC;YACxE,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE;QAC/E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB,IAAI,MAAM,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAE9F,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,uBAAuB;gBAC/B,MAAM,EAAE;oBACN,SAAS;oBACT,gBAAgB,EAAE,OAAO;oBACzB,aAAa,EAAE,aAAa,IAAI,EAAE;oBAClC,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE,aAAa,IAAI,GAAG;iBACpC;aACF,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,aAAa,CAChC,MAAM,EACN,CAAC,kBAAkB,EAAE,cAAc,CAAC,EACpC,CAAC,iBAAiB,EAAE,aAAa,EAAE,KAAK,CAAC,CAC1C,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,YAAY,CAAC,MAAM;4BAC1B,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;4BAC9B,aAAa,EAAE,aAAa,IAAI,OAAO;4BACvC,aAAa;4BACb,YAAY;yBACb,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,gFAAgF;IAEhF;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EACT,mFAAmF;YACnF,4DAA4D;YAC5D,+CAA+C;QACjD,WAAW,EAAE;YACX,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CAAC,4EAA4E,CAAC;YACzF,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB,IAAI,MAAM,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAE9F,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,wBAAwB;gBAChC,MAAM,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE;aAC/E,CAAC,CAAC;YAEH,gEAAgE;YAChE,MAAM,GAAG,GAAG,MAAiC,CAAC;YAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;YAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;YAE/E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,OAAO,EAAE,IAAI;4BACb,aAAa;4BACb,QAAQ;4BACR,cAAc,EAAE,QAAQ;yBACzB,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,gFAAgF;IAEhF;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,uEAAuE;YACvE,4EAA4E;YAC5E,6FAA6F;YAC7F,gFAAgF;QAClF,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,iEAAiE;gBAC/D,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B;gBAC1E,+DAA+D,CAClE;YACH,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB,IAAI,MAAM,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAE9F,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,iBAAiB;gBAC1B,MAAM,EAAE,0BAA0B;gBAClC,MAAM,EAAE;oBACN,SAAS;oBACT,gBAAgB,EAAE,OAAO;oBACzB,uBAAuB,EAAE,IAAI;oBAC7B,SAAS,EAAE,UAAU;iBACtB;aACF,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,aAAa,CACzB,MAAM,EACN,CAAC,0BAA0B,EAAE,OAAO,EAAE,eAAe,CAAC,EACtD,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CACE,CAAC;YAEpC,kEAAkE;YAClE,yEAAyE;YACzE,qEAAqE;YACrE,MAAM,QAAQ,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACnF,MAAM,SAAS,GAA2B,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;gBAC7C,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC7C,OAAO,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;gBACxB,uBAAuB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI;gBACzE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI;gBAC1C,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI;gBAC5D,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI;gBAC1D,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI;gBAC5D,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI;gBACxE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI;gBAC/D,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI;gBACzD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI;aACpD,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,QAAQ,CAAC,MAAM;4BACtB,UAAU,EAAE,KAAK,CAAC,MAAM;4BACxB,SAAS;4BACT,IAAI,EACF,qDAAqD;gCACrD,wEAAwE;gCACxE,kGAAkG;4BACpG,eAAe,EAAE,QAAQ;yBAC1B,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,gFAAgF;IAEhF;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EACT,8EAA8E;YAC9E,+EAA+E;YAC/E,mDAAmD;QACrD,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,aAAa,EAAE,CAAC;iBACb,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;iBAChB,QAAQ,EAAE;iBACV,OAAO,CAAC,GAAG,CAAC;iBACZ,QAAQ,CAAC,2DAA2D,CAAC;YACxE,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB,IAAI,MAAM,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAE9F,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,4BAA4B;gBACpC,MAAM,EAAE;oBACN,SAAS;oBACT,gBAAgB,EAAE,OAAO;oBACzB,MAAM,EAAE,MAAM;oBACd,aAAa,EAAE,aAAa,IAAI,GAAG;iBACpC;aACF,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,aAAa,CAC5B,MAAM,EACN,CAAC,eAAe,EAAE,sBAAsB,CAAC,EACzC,CAAC,cAAc,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAC/C,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,EAC1E,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,kFAAkF;AAElF,qFAAqF;AACrF,SAAS,aAAa,CAAC,MAAe,EAAE,QAAkB,EAAE,QAAkB;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAEzC,MAAM,GAAG,GAAG,MAAiC,CAAC;IAE9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,CAA4B,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAc,CAAC;YAC9D,IAAI,KAAK,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,GAAG,CAAc,CAAC;QAC1D,IAAI,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAsB;IAC9D,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAA6B;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAA+B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9F,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,WAA8B,6BAA6B;IAE3D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,oCAAoC;AACpC,SAAS,aAAa,CAAC,GAAY;IACjC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACvG,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"administrations.d.ts","sourceRoot":"","sources":["../../src/tools/administrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAmB,MAAM,mBAAmB,CAAC;AAEhE;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAqDvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAuC7F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"administrations.d.ts","sourceRoot":"","sources":["../../src/tools/administrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAmB,MAAM,mBAAmB,CAAC;AAEhE;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAqDvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAuC7F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CA2EnF"}
|
|
@@ -121,11 +121,12 @@ export function registerAdministrationLookupTools(server, client) {
|
|
|
121
121
|
*/
|
|
122
122
|
export function registerReloadKeysTools(server, client) {
|
|
123
123
|
server.registerTool('reload_keys', {
|
|
124
|
-
description: 'Reload the administrationId → apiKey map
|
|
125
|
-
'restarting the MCP server. Use after a
|
|
126
|
-
'(for example via a `create_api_key` flow) to
|
|
127
|
-
'immediately. Sessions for changed/removed
|
|
128
|
-
'
|
|
124
|
+
description: 'Reload the administrationId → apiKey map (including per-administration region ' +
|
|
125
|
+
'overrides) from the JSON keys file without restarting the MCP server. Use after a ' +
|
|
126
|
+
'new key has been generated externally (for example via a `create_api_key` flow) to ' +
|
|
127
|
+
'make it usable for SOAP calls immediately. Sessions for changed/removed entries are ' +
|
|
128
|
+
'invalidated; unchanged entries keep their cached session. Returns a diff of ' +
|
|
129
|
+
'added/updated/removed IDs.',
|
|
129
130
|
inputSchema: {
|
|
130
131
|
path: z
|
|
131
132
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"administrations.js","sourceRoot":"","sources":["../../src/tools/administrations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"administrations.js","sourceRoot":"","sources":["../../src/tools/administrations.ts"],"names":[],"mappings":"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"}
|
package/dist/yuki-client.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Resolve the Yuki API base URL.
|
|
2
|
+
* Resolve the server-wide Yuki API base URL.
|
|
3
3
|
*
|
|
4
4
|
* `YUKI_BASE_URL` (a full URL) takes precedence, so unlisted or future hosts
|
|
5
5
|
* can be reached without a code change. Otherwise `YUKI_REGION` selects a
|
|
6
6
|
* known regional host. Defaults to the Dutch host for backwards compatibility.
|
|
7
|
+
* Keys-file entries can override the host per administration (see
|
|
8
|
+
* `loadApiKeysFile`).
|
|
7
9
|
*/
|
|
8
10
|
export declare function resolveBaseUrl(env?: NodeJS.ProcessEnv): string;
|
|
11
|
+
export declare const YUKI_BASE_URL: string;
|
|
9
12
|
/**
|
|
10
13
|
* Wraps a raw XML string so it is embedded directly into the SOAP body
|
|
11
14
|
* without being HTML-entity-encoded.
|
|
@@ -28,17 +31,39 @@ export interface SoapCallOptions {
|
|
|
28
31
|
method: string;
|
|
29
32
|
/** Key-value pairs serialised as child XML elements inside the method element */
|
|
30
33
|
params: Record<string, SoapParamValue>;
|
|
34
|
+
/**
|
|
35
|
+
* API base URL to call. Only `Authenticate` needs it (there is no session
|
|
36
|
+
* yet); every other call is routed by the host of the session ID it carries.
|
|
37
|
+
*/
|
|
38
|
+
baseUrl?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Credentials for one administration from the keys file: its API key and the
|
|
42
|
+
* API base URL to call for it. A keys-file value is either a bare API key
|
|
43
|
+
* (string, server-wide region) or an object with an optional `region` or
|
|
44
|
+
* `baseUrl` override:
|
|
45
|
+
*
|
|
46
|
+
* {
|
|
47
|
+
* "<administrationId>": "<apiKey>",
|
|
48
|
+
* "<administrationId>": { "apiKey": "<apiKey>", "region": "be" },
|
|
49
|
+
* "<administrationId>": { "apiKey": "<apiKey>", "baseUrl": "https://…/ws/" }
|
|
50
|
+
* }
|
|
51
|
+
*/
|
|
52
|
+
export interface AdministrationCredentials {
|
|
53
|
+
apiKey: string;
|
|
54
|
+
/** Resolved API base URL for this administration (per-entry override or the server default). */
|
|
55
|
+
baseUrl: string;
|
|
31
56
|
}
|
|
32
57
|
export interface LoadedApiKeys {
|
|
33
58
|
/** Absolute path that was read from. */
|
|
34
59
|
path: string;
|
|
35
|
-
/** Map of administrationId →
|
|
36
|
-
map: Map<string,
|
|
60
|
+
/** Map of administrationId → credentials. Empty if the file did not exist. */
|
|
61
|
+
map: Map<string, AdministrationCredentials>;
|
|
37
62
|
/** True when the resolved file existed and was parsed. */
|
|
38
63
|
found: boolean;
|
|
39
64
|
}
|
|
40
65
|
export declare function resolveApiKeysFilePath(explicitPath?: string): string;
|
|
41
|
-
export declare function loadApiKeysFile(explicitPath?: string): LoadedApiKeys;
|
|
66
|
+
export declare function loadApiKeysFile(explicitPath?: string, defaultBaseUrl?: string): LoadedApiKeys;
|
|
42
67
|
/**
|
|
43
68
|
* Diff returned by `YukiClient.reloadApiKeys` so callers can report what changed
|
|
44
69
|
* — useful for the `reload_keys` MCP tool and for log-stderr lines.
|
|
@@ -46,7 +71,7 @@ export declare function loadApiKeysFile(explicitPath?: string): LoadedApiKeys;
|
|
|
46
71
|
export interface ApiKeyReloadDiff {
|
|
47
72
|
/** Keys that did not exist before this reload. */
|
|
48
73
|
added: string[];
|
|
49
|
-
/** Keys that existed before but
|
|
74
|
+
/** Keys that existed before but changed API key or host (session invalidated). */
|
|
50
75
|
updated: string[];
|
|
51
76
|
/** Keys that existed before but are no longer in the file (session invalidated). */
|
|
52
77
|
removed: string[];
|
|
@@ -56,11 +81,13 @@ export interface ApiKeyReloadDiff {
|
|
|
56
81
|
export declare class YukiClient {
|
|
57
82
|
private readonly apiKey;
|
|
58
83
|
private readonly domainId;
|
|
84
|
+
private readonly baseUrl;
|
|
59
85
|
private readonly parser;
|
|
60
86
|
/**
|
|
61
|
-
* Map from administrationId →
|
|
62
|
-
* startup and mutated in place by
|
|
63
|
-
* automatically see the latest set
|
|
87
|
+
* Map from administrationId → credentials (API key + API base URL).
|
|
88
|
+
* Populated from the JSON keys file at startup and mutated in place by
|
|
89
|
+
* `reloadApiKeys()` so that all tools automatically see the latest set
|
|
90
|
+
* without rebuilding the client.
|
|
64
91
|
*/
|
|
65
92
|
private readonly apiKeyMap;
|
|
66
93
|
/**
|
|
@@ -68,13 +95,20 @@ export declare class YukiClient {
|
|
|
68
95
|
* reuses the same session ID for subsequent calls.
|
|
69
96
|
*/
|
|
70
97
|
private readonly sessionCache;
|
|
71
|
-
|
|
98
|
+
/**
|
|
99
|
+
* API base URL per live session ID. A session is only valid on the host that
|
|
100
|
+
* issued it, so data calls are routed by the session ID they carry. That is
|
|
101
|
+
* what lets one server instance serve administrations in different regions
|
|
102
|
+
* without every tool having to pass the administration along.
|
|
103
|
+
*/
|
|
104
|
+
private readonly sessionHosts;
|
|
105
|
+
constructor(apiKey: string, domainId: string, apiKeyMap?: Map<string, AdministrationCredentials>, baseUrl?: string);
|
|
72
106
|
/**
|
|
73
107
|
* Return a valid Yuki session ID, authenticating if needed.
|
|
74
108
|
*
|
|
75
109
|
* When `adminId` is provided and exists in the API key map, the corresponding
|
|
76
|
-
* per-administration API key is used for authentication.
|
|
77
|
-
* to the default `YUKI_API_KEY
|
|
110
|
+
* per-administration API key — and its API host — is used for authentication.
|
|
111
|
+
* Otherwise falls back to the default `YUKI_API_KEY` on the server-wide host.
|
|
78
112
|
*
|
|
79
113
|
* Session IDs are cached per API key for the lifetime of this process.
|
|
80
114
|
* On session expiry (SOAP fault) callers should catch the error, reset
|
|
@@ -88,15 +122,26 @@ export declare class YukiClient {
|
|
|
88
122
|
* is cleared. Without arguments all cached sessions are cleared.
|
|
89
123
|
*/
|
|
90
124
|
invalidateSession(adminId?: string): void;
|
|
125
|
+
/** Drop the cached session for an API key together with its host binding. */
|
|
126
|
+
private evictSession;
|
|
127
|
+
/**
|
|
128
|
+
* Pick the API base URL for a call: an explicit `baseUrl` on the options,
|
|
129
|
+
* else the host that issued the session ID in the params, else the
|
|
130
|
+
* server-wide default.
|
|
131
|
+
*/
|
|
132
|
+
private resolveCallBaseUrl;
|
|
91
133
|
/** The default domain / administration ID from the environment. */
|
|
92
134
|
get defaultDomainId(): string;
|
|
135
|
+
/** The server-wide API base URL; keys-file entries may override it per administration. */
|
|
136
|
+
get defaultBaseUrl(): string;
|
|
93
137
|
/** Number of administration-specific API keys loaded from the keys file. */
|
|
94
138
|
get apiKeyCount(): number;
|
|
95
139
|
/**
|
|
96
|
-
* Replace the in-memory `apiKeyMap` with `next`, in place. Sessions for
|
|
97
|
-
*
|
|
98
|
-
* the next call re-authenticates against
|
|
99
|
-
*
|
|
140
|
+
* Replace the in-memory `apiKeyMap` with `next`, in place. Sessions for
|
|
141
|
+
* entries whose API key **or host changed**, or that were **removed**, are
|
|
142
|
+
* evicted from the session cache so the next call re-authenticates against
|
|
143
|
+
* Yuki with the correct credentials on the correct host. Sessions for
|
|
144
|
+
* unchanged entries are kept warm.
|
|
100
145
|
*
|
|
101
146
|
* Designed to be called from the `reload_keys` MCP tool after a fresh
|
|
102
147
|
* `api-keys.json` has been written (e.g. by a `create_api_key` flow in a
|
|
@@ -104,7 +149,7 @@ export declare class YukiClient {
|
|
|
104
149
|
*
|
|
105
150
|
* Returns a diff so callers can report what changed.
|
|
106
151
|
*/
|
|
107
|
-
reloadApiKeys(next: Map<string,
|
|
152
|
+
reloadApiKeys(next: Map<string, AdministrationCredentials>): ApiKeyReloadDiff;
|
|
108
153
|
/** Build a SOAP 1.1 envelope around the given method body. */
|
|
109
154
|
private buildSoapEnvelope;
|
|
110
155
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yuki-client.d.ts","sourceRoot":"","sources":["../src/yuki-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"yuki-client.d.ts","sourceRoot":"","sources":["../src/yuki-client.ts"],"names":[],"mappings":"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"}
|
package/dist/yuki-client.js
CHANGED
|
@@ -11,6 +11,16 @@ const YUKI_REGION_HOSTS = {
|
|
|
11
11
|
be: 'https://api.yukiworks.be/ws/',
|
|
12
12
|
};
|
|
13
13
|
const DEFAULT_YUKI_REGION = 'nl';
|
|
14
|
+
const SUPPORTED_REGIONS = Object.keys(YUKI_REGION_HOSTS).join(', ');
|
|
15
|
+
/** Ensure a base URL ends with a slash so `${baseUrl}${service}` composes. */
|
|
16
|
+
function normalizeBaseUrl(url) {
|
|
17
|
+
const trimmed = url.trim();
|
|
18
|
+
return trimmed.endsWith('/') ? trimmed : `${trimmed}/`;
|
|
19
|
+
}
|
|
20
|
+
/** Look up the API host for a region code; case- and whitespace-insensitive. */
|
|
21
|
+
function regionHost(region) {
|
|
22
|
+
return YUKI_REGION_HOSTS[region.trim().toLowerCase()];
|
|
23
|
+
}
|
|
14
24
|
/**
|
|
15
25
|
* Append a hint when a fault looks like the caller is talking to the wrong
|
|
16
26
|
* regional host. Yuki returns the same opaque message for a genuinely
|
|
@@ -25,29 +35,32 @@ function regionHint(fault, url) {
|
|
|
25
35
|
.map(([region]) => region);
|
|
26
36
|
if (alternatives.length === 0)
|
|
27
37
|
return '';
|
|
28
|
-
return (` (called ${url}. If this administration
|
|
29
|
-
` to one of: ${alternatives.join(', ')} — or
|
|
38
|
+
return (` (called ${url}. If this administration belongs to a different region, set YUKI_REGION` +
|
|
39
|
+
` to one of: ${alternatives.join(', ')} — or "region" for this administration in the keys file —` +
|
|
40
|
+
' or point YUKI_BASE_URL at the right host.)');
|
|
30
41
|
}
|
|
31
42
|
/**
|
|
32
|
-
* Resolve the Yuki API base URL.
|
|
43
|
+
* Resolve the server-wide Yuki API base URL.
|
|
33
44
|
*
|
|
34
45
|
* `YUKI_BASE_URL` (a full URL) takes precedence, so unlisted or future hosts
|
|
35
46
|
* can be reached without a code change. Otherwise `YUKI_REGION` selects a
|
|
36
47
|
* known regional host. Defaults to the Dutch host for backwards compatibility.
|
|
48
|
+
* Keys-file entries can override the host per administration (see
|
|
49
|
+
* `loadApiKeysFile`).
|
|
37
50
|
*/
|
|
38
51
|
export function resolveBaseUrl(env = process.env) {
|
|
39
52
|
const explicit = env['YUKI_BASE_URL']?.trim();
|
|
40
53
|
if (explicit)
|
|
41
|
-
return explicit
|
|
54
|
+
return normalizeBaseUrl(explicit);
|
|
42
55
|
const region = (env['YUKI_REGION']?.trim() || DEFAULT_YUKI_REGION).toLowerCase();
|
|
43
|
-
const host =
|
|
56
|
+
const host = regionHost(region);
|
|
44
57
|
if (!host) {
|
|
45
|
-
throw new Error(`Unknown YUKI_REGION "${region}". Supported regions: ${
|
|
58
|
+
throw new Error(`Unknown YUKI_REGION "${region}". Supported regions: ${SUPPORTED_REGIONS}. ` +
|
|
46
59
|
'Alternatively set YUKI_BASE_URL to a full API URL.');
|
|
47
60
|
}
|
|
48
61
|
return host;
|
|
49
62
|
}
|
|
50
|
-
const YUKI_BASE_URL = resolveBaseUrl();
|
|
63
|
+
export const YUKI_BASE_URL = resolveBaseUrl();
|
|
51
64
|
const YUKI_NAMESPACE = 'http://www.theyukicompany.com/';
|
|
52
65
|
// Tags that should always be treated as arrays even when there is only one element
|
|
53
66
|
const ALWAYS_ARRAY_TAGS = new Set([
|
|
@@ -112,27 +125,59 @@ export function resolveApiKeysFilePath(explicitPath) {
|
|
|
112
125
|
return userPath;
|
|
113
126
|
return 'api-keys.json';
|
|
114
127
|
}
|
|
115
|
-
export function loadApiKeysFile(explicitPath) {
|
|
128
|
+
export function loadApiKeysFile(explicitPath, defaultBaseUrl = YUKI_BASE_URL) {
|
|
116
129
|
const path = resolveApiKeysFilePath(explicitPath);
|
|
117
130
|
const map = new Map();
|
|
118
131
|
if (!existsSync(path)) {
|
|
119
132
|
return { path, map, found: false };
|
|
120
133
|
}
|
|
121
134
|
const raw = JSON.parse(readFileSync(path, 'utf-8'));
|
|
122
|
-
for (const [adminId,
|
|
123
|
-
if (adminId
|
|
124
|
-
|
|
135
|
+
for (const [adminId, entry] of Object.entries(raw)) {
|
|
136
|
+
if (!adminId)
|
|
137
|
+
continue;
|
|
138
|
+
const credentials = parseKeyEntry(entry, defaultBaseUrl, `administration ${adminId} in ${path}`);
|
|
139
|
+
if (credentials)
|
|
140
|
+
map.set(adminId, credentials);
|
|
125
141
|
}
|
|
126
142
|
return { path, map, found: true };
|
|
127
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Validate one keys-file value. Entries without an API key are skipped (as
|
|
146
|
+
* before); an unknown region throws so a typo is reported instead of silently
|
|
147
|
+
* falling back to the default host.
|
|
148
|
+
*/
|
|
149
|
+
function parseKeyEntry(entry, defaultBaseUrl, source) {
|
|
150
|
+
if (typeof entry === 'string') {
|
|
151
|
+
return entry ? { apiKey: entry, baseUrl: defaultBaseUrl } : null;
|
|
152
|
+
}
|
|
153
|
+
if (!entry || typeof entry !== 'object')
|
|
154
|
+
return null;
|
|
155
|
+
const apiKey = typeof entry.apiKey === 'string' ? entry.apiKey.trim() : '';
|
|
156
|
+
if (!apiKey)
|
|
157
|
+
return null;
|
|
158
|
+
if (typeof entry.baseUrl === 'string' && entry.baseUrl.trim()) {
|
|
159
|
+
return { apiKey, baseUrl: normalizeBaseUrl(entry.baseUrl) };
|
|
160
|
+
}
|
|
161
|
+
if (typeof entry.region === 'string' && entry.region.trim()) {
|
|
162
|
+
const host = regionHost(entry.region);
|
|
163
|
+
if (!host) {
|
|
164
|
+
throw new Error(`Unknown region "${entry.region.trim()}" for ${source}. Supported regions: ${SUPPORTED_REGIONS}. ` +
|
|
165
|
+
'Alternatively set "baseUrl" to a full API URL.');
|
|
166
|
+
}
|
|
167
|
+
return { apiKey, baseUrl: host };
|
|
168
|
+
}
|
|
169
|
+
return { apiKey, baseUrl: defaultBaseUrl };
|
|
170
|
+
}
|
|
128
171
|
export class YukiClient {
|
|
129
172
|
apiKey;
|
|
130
173
|
domainId;
|
|
174
|
+
baseUrl;
|
|
131
175
|
parser;
|
|
132
176
|
/**
|
|
133
|
-
* Map from administrationId →
|
|
134
|
-
* startup and mutated in place by
|
|
135
|
-
* automatically see the latest set
|
|
177
|
+
* Map from administrationId → credentials (API key + API base URL).
|
|
178
|
+
* Populated from the JSON keys file at startup and mutated in place by
|
|
179
|
+
* `reloadApiKeys()` so that all tools automatically see the latest set
|
|
180
|
+
* without rebuilding the client.
|
|
136
181
|
*/
|
|
137
182
|
apiKeyMap;
|
|
138
183
|
/**
|
|
@@ -140,9 +185,17 @@ export class YukiClient {
|
|
|
140
185
|
* reuses the same session ID for subsequent calls.
|
|
141
186
|
*/
|
|
142
187
|
sessionCache = new Map();
|
|
143
|
-
|
|
188
|
+
/**
|
|
189
|
+
* API base URL per live session ID. A session is only valid on the host that
|
|
190
|
+
* issued it, so data calls are routed by the session ID they carry. That is
|
|
191
|
+
* what lets one server instance serve administrations in different regions
|
|
192
|
+
* without every tool having to pass the administration along.
|
|
193
|
+
*/
|
|
194
|
+
sessionHosts = new Map();
|
|
195
|
+
constructor(apiKey, domainId, apiKeyMap, baseUrl = YUKI_BASE_URL) {
|
|
144
196
|
this.apiKey = apiKey;
|
|
145
197
|
this.domainId = domainId;
|
|
198
|
+
this.baseUrl = baseUrl;
|
|
146
199
|
this.apiKeyMap = apiKeyMap ?? new Map();
|
|
147
200
|
this.parser = new XMLParser({
|
|
148
201
|
ignoreAttributes: false,
|
|
@@ -159,16 +212,18 @@ export class YukiClient {
|
|
|
159
212
|
* Return a valid Yuki session ID, authenticating if needed.
|
|
160
213
|
*
|
|
161
214
|
* When `adminId` is provided and exists in the API key map, the corresponding
|
|
162
|
-
* per-administration API key is used for authentication.
|
|
163
|
-
* to the default `YUKI_API_KEY
|
|
215
|
+
* per-administration API key — and its API host — is used for authentication.
|
|
216
|
+
* Otherwise falls back to the default `YUKI_API_KEY` on the server-wide host.
|
|
164
217
|
*
|
|
165
218
|
* Session IDs are cached per API key for the lifetime of this process.
|
|
166
219
|
* On session expiry (SOAP fault) callers should catch the error, reset
|
|
167
220
|
* the cache via invalidateSession(), and retry.
|
|
168
221
|
*/
|
|
169
222
|
async getSessionID(adminId) {
|
|
170
|
-
// Resolve which
|
|
171
|
-
const
|
|
223
|
+
// Resolve which credentials to use for this administration
|
|
224
|
+
const entry = adminId ? this.apiKeyMap.get(adminId) : undefined;
|
|
225
|
+
const apiKey = entry?.apiKey ?? this.apiKey;
|
|
226
|
+
const baseUrl = entry?.baseUrl ?? this.baseUrl;
|
|
172
227
|
if (!apiKey) {
|
|
173
228
|
throw new Error(adminId
|
|
174
229
|
? `No API key found for administration ${adminId}. ` +
|
|
@@ -179,16 +234,19 @@ export class YukiClient {
|
|
|
179
234
|
const cached = this.sessionCache.get(apiKey);
|
|
180
235
|
if (cached)
|
|
181
236
|
return cached;
|
|
237
|
+
// Authenticate has no session yet, so it is the one call that names its host
|
|
182
238
|
const result = await this.callSoap({
|
|
183
239
|
service: 'Accounting.asmx',
|
|
184
240
|
method: 'Authenticate',
|
|
185
241
|
params: { accessKey: apiKey },
|
|
242
|
+
baseUrl,
|
|
186
243
|
});
|
|
187
244
|
const sessionID = extractString(result);
|
|
188
245
|
if (!sessionID) {
|
|
189
246
|
throw new Error('Authenticate returned an empty session ID. Check your API key.');
|
|
190
247
|
}
|
|
191
248
|
this.sessionCache.set(apiKey, sessionID);
|
|
249
|
+
this.sessionHosts.set(sessionID, baseUrl);
|
|
192
250
|
return sessionID;
|
|
193
251
|
}
|
|
194
252
|
/**
|
|
@@ -199,27 +257,51 @@ export class YukiClient {
|
|
|
199
257
|
*/
|
|
200
258
|
invalidateSession(adminId) {
|
|
201
259
|
if (adminId) {
|
|
202
|
-
const apiKey = this.apiKeyMap.get(adminId) ?? this.apiKey;
|
|
260
|
+
const apiKey = this.apiKeyMap.get(adminId)?.apiKey ?? this.apiKey;
|
|
203
261
|
if (apiKey)
|
|
204
|
-
this.
|
|
262
|
+
this.evictSession(apiKey);
|
|
205
263
|
}
|
|
206
264
|
else {
|
|
207
265
|
this.sessionCache.clear();
|
|
266
|
+
this.sessionHosts.clear();
|
|
208
267
|
}
|
|
209
268
|
}
|
|
269
|
+
/** Drop the cached session for an API key together with its host binding. */
|
|
270
|
+
evictSession(apiKey) {
|
|
271
|
+
const sessionID = this.sessionCache.get(apiKey);
|
|
272
|
+
if (sessionID !== undefined)
|
|
273
|
+
this.sessionHosts.delete(sessionID);
|
|
274
|
+
this.sessionCache.delete(apiKey);
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Pick the API base URL for a call: an explicit `baseUrl` on the options,
|
|
278
|
+
* else the host that issued the session ID in the params, else the
|
|
279
|
+
* server-wide default.
|
|
280
|
+
*/
|
|
281
|
+
resolveCallBaseUrl(options) {
|
|
282
|
+
if (options.baseUrl)
|
|
283
|
+
return options.baseUrl;
|
|
284
|
+
const sessionID = options.params['sessionID'] ?? options.params['sessionId'];
|
|
285
|
+
return (typeof sessionID === 'string' && this.sessionHosts.get(sessionID)) || this.baseUrl;
|
|
286
|
+
}
|
|
210
287
|
/** The default domain / administration ID from the environment. */
|
|
211
288
|
get defaultDomainId() {
|
|
212
289
|
return this.domainId;
|
|
213
290
|
}
|
|
291
|
+
/** The server-wide API base URL; keys-file entries may override it per administration. */
|
|
292
|
+
get defaultBaseUrl() {
|
|
293
|
+
return this.baseUrl;
|
|
294
|
+
}
|
|
214
295
|
/** Number of administration-specific API keys loaded from the keys file. */
|
|
215
296
|
get apiKeyCount() {
|
|
216
297
|
return this.apiKeyMap.size;
|
|
217
298
|
}
|
|
218
299
|
/**
|
|
219
|
-
* Replace the in-memory `apiKeyMap` with `next`, in place. Sessions for
|
|
220
|
-
*
|
|
221
|
-
* the next call re-authenticates against
|
|
222
|
-
*
|
|
300
|
+
* Replace the in-memory `apiKeyMap` with `next`, in place. Sessions for
|
|
301
|
+
* entries whose API key **or host changed**, or that were **removed**, are
|
|
302
|
+
* evicted from the session cache so the next call re-authenticates against
|
|
303
|
+
* Yuki with the correct credentials on the correct host. Sessions for
|
|
304
|
+
* unchanged entries are kept warm.
|
|
223
305
|
*
|
|
224
306
|
* Designed to be called from the `reload_keys` MCP tool after a fresh
|
|
225
307
|
* `api-keys.json` has been written (e.g. by a `create_api_key` flow in a
|
|
@@ -232,17 +314,17 @@ export class YukiClient {
|
|
|
232
314
|
const updated = [];
|
|
233
315
|
const removed = [];
|
|
234
316
|
// Detect updates + removals against the previous state
|
|
235
|
-
for (const [adminId,
|
|
236
|
-
const
|
|
237
|
-
if (
|
|
317
|
+
for (const [adminId, previous] of this.apiKeyMap) {
|
|
318
|
+
const entry = next.get(adminId);
|
|
319
|
+
if (entry === undefined) {
|
|
238
320
|
removed.push(adminId);
|
|
239
321
|
// Evict the cached session for the removed key
|
|
240
|
-
this.
|
|
322
|
+
this.evictSession(previous.apiKey);
|
|
241
323
|
}
|
|
242
|
-
else if (
|
|
324
|
+
else if (entry.apiKey !== previous.apiKey || entry.baseUrl !== previous.baseUrl) {
|
|
243
325
|
updated.push(adminId);
|
|
244
|
-
// Evict the session bound to the old key
|
|
245
|
-
this.
|
|
326
|
+
// Evict the session bound to the old key or host
|
|
327
|
+
this.evictSession(previous.apiKey);
|
|
246
328
|
}
|
|
247
329
|
}
|
|
248
330
|
// Detect additions
|
|
@@ -252,8 +334,8 @@ export class YukiClient {
|
|
|
252
334
|
}
|
|
253
335
|
// Apply the new state in place (preserves the Map reference)
|
|
254
336
|
this.apiKeyMap.clear();
|
|
255
|
-
for (const [adminId,
|
|
256
|
-
this.apiKeyMap.set(adminId,
|
|
337
|
+
for (const [adminId, entry] of next) {
|
|
338
|
+
this.apiKeyMap.set(adminId, entry);
|
|
257
339
|
}
|
|
258
340
|
return { added, updated, removed, total: this.apiKeyMap.size };
|
|
259
341
|
}
|
|
@@ -298,7 +380,7 @@ export class YukiClient {
|
|
|
298
380
|
*/
|
|
299
381
|
async callSoap(options) {
|
|
300
382
|
const { service, method, params } = options;
|
|
301
|
-
const url = `${
|
|
383
|
+
const url = `${this.resolveCallBaseUrl(options)}${service}`;
|
|
302
384
|
const soapBody = this.buildSoapEnvelope(method, this.serializeParams(params));
|
|
303
385
|
const soapAction = `${YUKI_NAMESPACE}${method}`;
|
|
304
386
|
let responseData;
|
package/dist/yuki-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yuki-client.js","sourceRoot":"","sources":["../src/yuki-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yuki-client.js","sourceRoot":"","sources":["../src/yuki-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codemill-solutions/yuki-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "MCP server for the Yuki accounting SOAP API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "CodeMill Solutions B.V.",
|
|
@@ -31,6 +31,9 @@
|
|
|
31
31
|
"type": "module",
|
|
32
32
|
"main": "dist/index.js",
|
|
33
33
|
"types": "dist/index.d.ts",
|
|
34
|
+
"bin": {
|
|
35
|
+
"yuki-mcp": "dist/index.js"
|
|
36
|
+
},
|
|
34
37
|
"files": [
|
|
35
38
|
"dist"
|
|
36
39
|
],
|
|
@@ -47,7 +50,6 @@
|
|
|
47
50
|
"access": "public"
|
|
48
51
|
},
|
|
49
52
|
"dependencies": {
|
|
50
|
-
"@anthropic-ai/sdk": "^0.78.0",
|
|
51
53
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
52
54
|
"axios": "^1.16.1",
|
|
53
55
|
"dotenv": "^16.6.1",
|
|
@@ -55,6 +57,7 @@
|
|
|
55
57
|
"zod": "^3.25.76"
|
|
56
58
|
},
|
|
57
59
|
"devDependencies": {
|
|
60
|
+
"@anthropic-ai/sdk": "^0.78.0",
|
|
58
61
|
"@types/node": "^22.19.19",
|
|
59
62
|
"prettier": "^3.8.3",
|
|
60
63
|
"tsx": "^4.22.3",
|