uol-mcp 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/README.cs.md +32 -7
- package/README.md +31 -8
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/domain/contact-names.js +46 -13
- package/dist/domain/contact-names.js.map +1 -1
- package/dist/domain/files.js +25 -6
- package/dist/domain/files.js.map +1 -1
- package/dist/domain/uploads.js +3 -0
- package/dist/domain/uploads.js.map +1 -1
- package/dist/http.js +7 -1
- package/dist/http.js.map +1 -1
- package/dist/tools/insights.js +30 -7
- package/dist/tools/insights.js.map +1 -1
- package/dist/uol/client.js +13 -1
- package/dist/uol/client.js.map +1 -1
- package/package.json +3 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to uol-mcp. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
4
|
+
and the project uses [Semantic Versioning](https://semver.org/).
|
|
5
|
+
|
|
6
|
+
## [Unreleased]
|
|
7
|
+
|
|
8
|
+
## [0.4.1] — 2026-11-05
|
|
9
|
+
|
|
10
|
+
### Security
|
|
11
|
+
|
|
12
|
+
- Ids are validated before they go into a URL path. `..` used to pass, so
|
|
13
|
+
`untag_uploaded_document(tag_id="..")` became `DELETE /uploaded_documents/<id>/` — a tag removal
|
|
14
|
+
that deleted the whole document.
|
|
15
|
+
- The HTTP server no longer reads `file_path` uploads from its own disk unless `UOL_UPLOAD_DIRS` is set
|
|
16
|
+
explicitly; remote callers send `content_base64`.
|
|
17
|
+
- Download file names built from ids are sanitised too; downloads never replace an existing file
|
|
18
|
+
(a taken name gets a ` (1)` suffix) and are saved readable by the owner only.
|
|
19
|
+
- An invalid `UOL_PROFILES_FILE` is reported without quoting the file, which could contain a token.
|
|
20
|
+
- The Docker image no longer ships npm, yarn and corepack (the server needs only node), and the base
|
|
21
|
+
image is pinned by digest.
|
|
22
|
+
- Release workflow hardened: publishing waits for approval on the `release` environment, actions are
|
|
23
|
+
pinned to commit SHAs, jobs with publishing rights don't run dependency install scripts, the
|
|
24
|
+
`mcp-publisher` download is checked against its release checksum, and an existing release asset is
|
|
25
|
+
never overwritten.
|
|
26
|
+
- CI scans: `npm audit`, Trivy (image), CodeQL, dependency review on pull requests, Dependabot.
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- Supplier and customer names were missing on long invoice lists: names were looked up one contact
|
|
31
|
+
at a time, at most 15 per call. Long lists now read the contact list first.
|
|
32
|
+
- `get_business_snapshot` lists sections that were read only partly in `incomplete`, and
|
|
33
|
+
`get_bank_balances` returns `truncated`, as the other summaries already did.
|
|
34
|
+
|
|
35
|
+
## [0.4.0] — 2026-11-05
|
|
36
|
+
|
|
37
|
+
First public release (0.1–0.3 were internal milestones).
|
|
38
|
+
|
|
39
|
+
### Added
|
|
40
|
+
|
|
41
|
+
- **Read tools** (default): company, codebooks, sales and purchase invoices with payment status,
|
|
42
|
+
receivables with totals per currency, PDF / ISDOC export, contacts, uploaded documents, `api_get`.
|
|
43
|
+
- **Insights**: financial overview from the general ledger, VAT per filing period, bank balances, and a
|
|
44
|
+
one-call business snapshot.
|
|
45
|
+
- **Optional toolsets** (`UOL_TOOLSETS`): `ledger`, `banking`, `warehouse`.
|
|
46
|
+
- **Writes** (`UOL_ACCESS=write`): document upload, sales invoices (draft by default, idempotent),
|
|
47
|
+
purchase invoices, contacts, payment demands, the uploaded-document workflow; every write supports
|
|
48
|
+
`dry_run` and can be recorded in `UOL_AUDIT_LOG`.
|
|
49
|
+
- **Destructive tools** (`UOL_ACCESS=full`): delete a draft, storno / back to draft, `api_request`.
|
|
50
|
+
- **Several companies**: `UOL_ACCOUNTS` (all in the client config) or `UOL_PROFILES_FILE`;
|
|
51
|
+
`list_accounts` and an `account` argument on every tool.
|
|
52
|
+
- Czech prompts (`monthly_review`, `vat_check`, `overdue_followup`, `process_inbox`) and the
|
|
53
|
+
`uol://guide` / `uol://company` resources.
|
|
54
|
+
- Streamable HTTP transport: single-tenant with a bearer token, or pass-through with per-request
|
|
55
|
+
credentials.
|
|
56
|
+
- `uol-mcp doctor` checks the configuration (every account).
|
|
57
|
+
- Distribution: npm, GHCR image (amd64 / arm64), Claude Desktop extension (`.mcpb`), MCP Registry
|
|
58
|
+
(`eu.humblecode/uol`).
|
|
59
|
+
|
|
60
|
+
[Unreleased]: https://github.com/jakubbegera/uol-mcp/compare/v0.4.1...HEAD
|
|
61
|
+
[0.4.1]: https://github.com/jakubbegera/uol-mcp/compare/v0.4.0...v0.4.1
|
|
62
|
+
[0.4.0]: https://github.com/jakubbegera/uol-mcp/releases/tag/v0.4.0
|
package/README.cs.md
CHANGED
|
@@ -9,8 +9,8 @@ vydané a přijaté faktury, kdo vám dluží, nahrané doklady, kontakty.
|
|
|
9
9
|
|
|
10
10
|
[English](README.md)
|
|
11
11
|
|
|
12
|
-
**Stav:** verze 0.4, ve výchozím stavu pouze čtení, zápis lze zapnout.
|
|
13
|
-
|
|
12
|
+
**Stav:** verze 0.4, ve výchozím stavu pouze čtení, zápis lze zapnout. Změny jednotlivých verzí
|
|
13
|
+
popisuje [CHANGELOG.md](CHANGELOG.md).
|
|
14
14
|
|
|
15
15
|
## Co umí
|
|
16
16
|
|
|
@@ -85,7 +85,8 @@ popisuje [anglické README](README.md#configuration).
|
|
|
85
85
|
|
|
86
86
|
S `UOL_ACCESS=write` (v Claude Desktop rozšíření pole „Access“ = `write`) asistent umí navíc:
|
|
87
87
|
|
|
88
|
-
- **nahrát doklad** (PDF) účetní do UOL, a to jen ze složek Stažené soubory, Plocha a Dokumenty
|
|
88
|
+
- **nahrát doklad** (PDF) účetní do UOL, a to jen ze složek Stažené soubory, Plocha a Dokumenty
|
|
89
|
+
(nebo ze složek v `UOL_UPLOAD_DIRS`);
|
|
89
90
|
- **vystavit fakturu** existujícímu kontaktu, standardně jako koncept;
|
|
90
91
|
- **upravit nebo vystavit koncept faktury**; už vystavenou fakturu UOL měnit nedovolí;
|
|
91
92
|
- **zaevidovat přijatou fakturu**, **založit nebo upravit kontakt** (s kontrolou duplicitního IČO);
|
|
@@ -100,9 +101,26 @@ Opakované vytvoření stejné faktury nevznikne dvakrát.
|
|
|
100
101
|
|
|
101
102
|
## Více firem (pro účetní)
|
|
102
103
|
|
|
103
|
-
Jeden server obslouží víc klientských firem
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
Jeden server obslouží víc klientských firem. Účty vyjmenujete v `UOL_ACCOUNTS` a každému dáte
|
|
105
|
+
vlastní proměnné, vše přímo v konfiguraci klienta:
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
"env": {
|
|
109
|
+
"UOL_ACCOUNTS": "firma,novak",
|
|
110
|
+
"UOL_ACCOUNT_FIRMA_TENANT": "firma",
|
|
111
|
+
"UOL_ACCOUNT_FIRMA_EMAIL": "vas@email.cz",
|
|
112
|
+
"UOL_ACCOUNT_FIRMA_TOKEN": "token-firmy",
|
|
113
|
+
"UOL_ACCOUNT_NOVAK_TENANT": "novak",
|
|
114
|
+
"UOL_ACCOUNT_NOVAK_EMAIL": "vas@email.cz",
|
|
115
|
+
"UOL_ACCOUNT_NOVAK_TOKEN": "token-novaka",
|
|
116
|
+
"UOL_ACCOUNT_NOVAK_LABEL": "Novák s.r.o."
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Výchozí je první účet. Asistent pak u každého dotazu ví, které firmy se týká, třeba „Kdo dluží firmě
|
|
121
|
+
Novák?“. Tokeny nemusí být v konfiguraci napsané přímo: s 1Password CLI stačí odkazy `op://…`
|
|
122
|
+
a server spustit přes `op run`. Stejné nastavení jde mít i v souboru (`UOL_PROFILES_FILE`), viz
|
|
123
|
+
[anglické README](README.md#several-companies).
|
|
106
124
|
|
|
107
125
|
## Soukromí a bezpečnost
|
|
108
126
|
|
|
@@ -111,7 +129,14 @@ třeba „Kdo dluží firmě Novák?“. Formát souboru popisuje [anglické REA
|
|
|
111
129
|
- Vše, co nástroje vrátí, dostane AI model, který váš klient používá. Účetnictví obsahuje osobní
|
|
112
130
|
údaje kontaktů a zaměstnanců; zvolte si takový tarif, s jehož podmínkami souhlasíte.
|
|
113
131
|
- Přihlašovací údaje se posílají jen na `https://*.uol.cz` a nikdy se nezapisují do logů.
|
|
114
|
-
- Stažené soubory se ukládají jen do složky `UOL_DOWNLOAD_DIR` (výchozí `~/Downloads/uol-mcp`)
|
|
132
|
+
- Stažené soubory se ukládají jen do složky `UOL_DOWNLOAD_DIR` (výchozí `~/Downloads/uol-mcp`),
|
|
133
|
+
čitelné jen pro vás, a nikdy nepřepíšou existující soubor.
|
|
134
|
+
|
|
135
|
+
## Zapojte se
|
|
136
|
+
|
|
137
|
+
Příspěvky jsou vítané: chyby, zvláštnosti API, nové nástroje i úpravy dokumentace. Postup popisuje
|
|
138
|
+
[CONTRIBUTING.md](CONTRIBUTING.md) (anglicky). Bezpečnostní problémy prosím hlaste neveřejně podle
|
|
139
|
+
[SECURITY.md](SECURITY.md).
|
|
115
140
|
|
|
116
141
|
## Licence
|
|
117
142
|
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ bookkeeping: issued and received invoices, who owes you money, uploaded document
|
|
|
9
9
|
|
|
10
10
|
[Česky](README.cs.md)
|
|
11
11
|
|
|
12
|
-
**Status:** v0.4 — read-only by default, opt-in writes.
|
|
12
|
+
**Status:** v0.4 — read-only by default, opt-in writes. What changed: [CHANGELOG.md](CHANGELOG.md).
|
|
13
13
|
|
|
14
14
|
## What it can do
|
|
15
15
|
|
|
@@ -67,9 +67,11 @@ Want to try it first? `UOL_TENANT=demo` uses UOL's public DEMO company, no token
|
|
|
67
67
|
| `UOL_DOWNLOAD_DIR` | Where exported and downloaded files go (default `~/Downloads/uol-mcp`) |
|
|
68
68
|
| `UOL_TOOLSETS` | Comma-separated: `core`, `insights` (these two are the default), `ledger`, `banking`, `warehouse`, or `all` |
|
|
69
69
|
| `UOL_ACCESS` | `read` (default), `write` or `full` — see [Writing](#writing-opt-in) |
|
|
70
|
-
| `
|
|
71
|
-
| `
|
|
70
|
+
| `UOL_ACCOUNTS`, `UOL_DEFAULT_ACCOUNT` | Several companies in one server — see [Several companies](#several-companies) |
|
|
71
|
+
| `UOL_PROFILES_FILE` | The same from a JSON file |
|
|
72
|
+
| `UOL_UPLOAD_DIRS` | Folders `upload_document` may read from (default `~/Downloads`, `~/Desktop`, `~/Documents`; `:`-separated, `;` on Windows). The HTTP server has no default: without this variable it accepts only `content_base64` |
|
|
72
73
|
| `UOL_AUDIT_LOG` | File that records every write as a JSON line |
|
|
74
|
+
| `UOL_TIMEOUT_MS` | Timeout of one UOL request (default `30000`) |
|
|
73
75
|
| `UOL_DEBUG` | `1` logs requests to stderr (never credentials) |
|
|
74
76
|
|
|
75
77
|
### Claude Desktop
|
|
@@ -146,8 +148,20 @@ Two modes:
|
|
|
146
148
|
`MCP_AUTH_TOKEN` is optional.
|
|
147
149
|
|
|
148
150
|
Over HTTP, exported invoices and downloaded documents come back inside the tool result instead of
|
|
149
|
-
being saved on the server
|
|
150
|
-
|
|
151
|
+
being saved on the server, and `upload_document` takes the file as `content_base64` — it reads no
|
|
152
|
+
paths on the server unless `UOL_UPLOAD_DIRS` is set. In Docker, bind to all interfaces and publish the
|
|
153
|
+
port: `docker run -p 3000:3000 -e MCP_TRANSPORT=http -e HOST=0.0.0.0 -e MCP_ALLOWED_HOSTS=mcp.example.com …`.
|
|
154
|
+
|
|
155
|
+
| Variable | Meaning |
|
|
156
|
+
|---|---|
|
|
157
|
+
| `MCP_TRANSPORT` | `http` starts the HTTP server (same as `--http`) |
|
|
158
|
+
| `HOST`, `PORT` | Bind address, default `127.0.0.1:3000` |
|
|
159
|
+
| `MCP_AUTH_TOKEN` | Bearer token clients must send; required in one-tenant mode, recommended in pass-through |
|
|
160
|
+
| `MCP_ALLOWED_HOSTS` | Accepted `Host` names (comma-separated) when not bound to localhost |
|
|
161
|
+
| `MCP_ALLOWED_ORIGINS` | Browser origins allowed to call the endpoint (none by default) |
|
|
162
|
+
|
|
163
|
+
The server speaks plain HTTP: anywhere beyond localhost, put it behind a reverse proxy that
|
|
164
|
+
terminates TLS, and use a long random `MCP_AUTH_TOKEN`.
|
|
151
165
|
|
|
152
166
|
### Check the setup
|
|
153
167
|
|
|
@@ -223,7 +237,7 @@ its own rate limit.
|
|
|
223
237
|
- Whatever the tools return goes to the AI model your client uses. Accounting data contains personal
|
|
224
238
|
data of your contacts and employees — use a plan whose terms you are comfortable with.
|
|
225
239
|
- Credentials are used only for `https://*.uol.cz` and are never written to logs or tool output.
|
|
226
|
-
- Downloaded files are saved under `UOL_DOWNLOAD_DIR` only.
|
|
240
|
+
- Downloaded files are saved under `UOL_DOWNLOAD_DIR` only, readable by the owner, and never replace an existing file (a taken name gets a ` (1)` suffix).
|
|
227
241
|
|
|
228
242
|
## From source
|
|
229
243
|
|
|
@@ -249,11 +263,20 @@ bash scripts/build-mcpb.sh # builds build/uol-mcp.mcpb
|
|
|
249
263
|
docker build -t uol-mcp .
|
|
250
264
|
```
|
|
251
265
|
|
|
252
|
-
|
|
253
|
-
|
|
266
|
+
CI runs the type check, tests, `npm audit`, a Trivy scan of the Docker image, CodeQL and, on pull
|
|
267
|
+
requests, dependency review; Dependabot keeps dependencies, actions and the base image current.
|
|
268
|
+
|
|
269
|
+
Releases are cut by pushing a `v*` tag; after a maintainer approves the `release` environment,
|
|
270
|
+
`.github/workflows/release.yml` publishes to npm, GHCR, the GitHub release (MCPB bundle) and the MCP
|
|
271
|
+
Registry.
|
|
254
272
|
|
|
255
273
|
Design notes, API facts and the roadmap are in [docs/DESIGN.md](docs/DESIGN.md).
|
|
256
274
|
|
|
275
|
+
## Contributing
|
|
276
|
+
|
|
277
|
+
Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md). Report security problems
|
|
278
|
+
privately as described in [SECURITY.md](SECURITY.md).
|
|
279
|
+
|
|
257
280
|
## License
|
|
258
281
|
|
|
259
282
|
[MIT](LICENSE)
|
package/dist/config.js
CHANGED
|
@@ -102,6 +102,7 @@ export function loadConfig(env = process.env) {
|
|
|
102
102
|
toolsets,
|
|
103
103
|
access,
|
|
104
104
|
uploadDirs: uploadDirs && uploadDirs.length > 0 ? uploadDirs : defaultUploadDirs(),
|
|
105
|
+
explicitUploadDirs: Boolean(uploadDirs && uploadDirs.length > 0),
|
|
105
106
|
auditLog: value(env.UOL_AUDIT_LOG),
|
|
106
107
|
warnings,
|
|
107
108
|
downloadDir: value(env.UOL_DOWNLOAD_DIR) ?? defaultDownloadDir(),
|
|
@@ -204,7 +205,9 @@ export function loadProfiles(path, env, warnings) {
|
|
|
204
205
|
parsed = JSON.parse(readFileSync(path, 'utf8'));
|
|
205
206
|
}
|
|
206
207
|
catch (error) {
|
|
207
|
-
|
|
208
|
+
// JSON.parse quotes the text around the error, which may be a token, so only the kind of failure is reported.
|
|
209
|
+
const reason = error instanceof SyntaxError ? 'is not valid JSON' : `can't be read (${error.code ?? 'error'})`;
|
|
210
|
+
throw new ConfigError(`UOL_PROFILES_FILE ${path} ${reason}`);
|
|
208
211
|
}
|
|
209
212
|
const root = (parsed ?? {});
|
|
210
213
|
const entries = Object.entries(root.accounts ?? {});
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,OAAO,EAAE,8BAA8B;IACvC,KAAK,EAAE,4BAA4B;IACnC,KAAK,EAAE,wBAAwB;CACvB,CAAC;AAUX,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AAExF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,gBAAgB,GAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEzE,+FAA+F;AAC/F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,48 @@
|
|
|
1
|
+
/** Contacts per page when names are read from the contact list. */
|
|
2
|
+
const LIST_PAGE_SIZE = 100;
|
|
1
3
|
/**
|
|
2
4
|
* Contact id → display name. Invoices and receivables reference counterparties
|
|
3
|
-
* only by slug (`skoda_auto_as`), so lists resolve names here.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
5
|
+
* only by slug (`skoda_auto_as`), so lists resolve names here. A few names are
|
|
6
|
+
* looked up one by one; when more are missing than that, the contact list is
|
|
7
|
+
* read first (100 names per request, hidden contacts included), which keeps a
|
|
8
|
+
* page of 100 invoices with dozens of suppliers inside the rate limit. Ids the
|
|
9
|
+
* list doesn't cover fall back to single lookups, still capped per call; ids
|
|
10
|
+
* beyond the cap keep a null name and the slug is still returned.
|
|
6
11
|
*/
|
|
7
12
|
export class ContactNames {
|
|
8
13
|
client;
|
|
9
14
|
ttlMs;
|
|
10
15
|
now;
|
|
16
|
+
maxListPages;
|
|
11
17
|
cache = new Map();
|
|
12
|
-
constructor(client, ttlMs = 10 * 60_000, now = Date.now) {
|
|
18
|
+
constructor(client, ttlMs = 10 * 60_000, now = Date.now, maxListPages = 10) {
|
|
13
19
|
this.client = client;
|
|
14
20
|
this.ttlMs = ttlMs;
|
|
15
21
|
this.now = now;
|
|
22
|
+
this.maxListPages = maxListPages;
|
|
16
23
|
}
|
|
17
24
|
remember(contact) {
|
|
18
25
|
if (contact.contact_id)
|
|
19
26
|
this.cache.set(contact.contact_id, { name: contact.name ?? null, at: this.now() });
|
|
20
27
|
}
|
|
21
28
|
async resolve(ids, maxLookups = 15) {
|
|
29
|
+
const wanted = [...new Set(ids)].filter((id) => Boolean(id));
|
|
22
30
|
const result = new Map();
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
const fromCache = () => {
|
|
32
|
+
const missing = [];
|
|
33
|
+
for (const id of wanted) {
|
|
34
|
+
const hit = this.cache.get(id);
|
|
35
|
+
if (hit && this.now() - hit.at < this.ttlMs)
|
|
36
|
+
result.set(id, hit.name);
|
|
37
|
+
else
|
|
38
|
+
missing.push(id);
|
|
39
|
+
}
|
|
40
|
+
return missing;
|
|
41
|
+
};
|
|
42
|
+
let missing = fromCache();
|
|
43
|
+
if (missing.length > maxLookups) {
|
|
44
|
+
await this.readList(new Set(missing));
|
|
45
|
+
missing = fromCache();
|
|
32
46
|
}
|
|
33
47
|
await Promise.all(missing.slice(0, maxLookups).map(async (id) => {
|
|
34
48
|
try {
|
|
@@ -42,5 +56,24 @@ export class ContactNames {
|
|
|
42
56
|
}));
|
|
43
57
|
return result;
|
|
44
58
|
}
|
|
59
|
+
/** Pages through the contact list until every wanted id is cached (or the page cap is hit). */
|
|
60
|
+
async readList(wanted) {
|
|
61
|
+
for (let page = 1; page <= this.maxListPages && wanted.size > 0; page++) {
|
|
62
|
+
let body;
|
|
63
|
+
try {
|
|
64
|
+
body = await this.client.contacts({ hidden: 'all', per_page: LIST_PAGE_SIZE, page });
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return; // single lookups still cover what they can
|
|
68
|
+
}
|
|
69
|
+
for (const contact of body.items ?? []) {
|
|
70
|
+
this.remember(contact);
|
|
71
|
+
if (contact.contact_id)
|
|
72
|
+
wanted.delete(contact.contact_id);
|
|
73
|
+
}
|
|
74
|
+
if (!body._meta?.pagination?.next)
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
45
78
|
}
|
|
46
79
|
//# sourceMappingURL=contact-names.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-names.js","sourceRoot":"","sources":["../../src/domain/contact-names.ts"],"names":[],"mappings":"AAOA
|
|
1
|
+
{"version":3,"file":"contact-names.js","sourceRoot":"","sources":["../../src/domain/contact-names.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/files.js
CHANGED
|
@@ -2,16 +2,35 @@ import { mkdir, writeFile } from 'node:fs/promises';
|
|
|
2
2
|
import { join, resolve } from 'node:path';
|
|
3
3
|
/** Characters that are invalid on at least one of Windows / macOS / Linux. */
|
|
4
4
|
const UNSAFE = /[<>:"/\\|?*\u0000-\u001f]/g;
|
|
5
|
+
const clean = (name) => name.replace(UNSAFE, '_').replace(/^\.+/, '').trim().slice(0, 180);
|
|
6
|
+
/**
|
|
7
|
+
* A file name that stays inside the download folder. The fallback is cleaned too: it is built
|
|
8
|
+
* from ids the model passes in, so it is no more trusted than the name UOL sends.
|
|
9
|
+
*/
|
|
5
10
|
export function safeFileName(name, fallback) {
|
|
6
|
-
|
|
7
|
-
return cleaned || fallback;
|
|
11
|
+
return clean(name ?? '') || clean(fallback) || 'download';
|
|
8
12
|
}
|
|
9
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Writes [bytes] into [dir] (created on demand) and returns the absolute path. An existing
|
|
15
|
+
* file is never replaced: a taken name gets a " (1)", " (2)" … suffix, as browsers do.
|
|
16
|
+
* Files are readable by the owner only, since they hold accounting documents.
|
|
17
|
+
*/
|
|
10
18
|
export async function saveDownload(dir, name, bytes) {
|
|
11
19
|
const target = resolve(dir);
|
|
12
20
|
await mkdir(target, { recursive: true });
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
const dot = name.lastIndexOf('.');
|
|
22
|
+
const [stem, extension] = dot > 0 ? [name.slice(0, dot), name.slice(dot)] : [name, ''];
|
|
23
|
+
for (let n = 0; n < 1000; n++) {
|
|
24
|
+
const path = join(target, n === 0 ? name : `${stem} (${n})${extension}`);
|
|
25
|
+
try {
|
|
26
|
+
await writeFile(path, bytes, { flag: 'wx', mode: 0o600 });
|
|
27
|
+
return path;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
if (error.code !== 'EEXIST')
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
throw new Error(`${target} already holds 1000 files named like ${name}`);
|
|
16
35
|
}
|
|
17
36
|
//# sourceMappingURL=files.js.map
|
package/dist/domain/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/domain/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,8EAA8E;AAC9E,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAE5C,MAAM,
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/domain/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,8EAA8E;AAC9E,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAE5C,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEnG;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAwB,EAAE,QAAgB;IACrE,OAAO,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,IAAY,EAAE,KAAiB;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QACtE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,wCAAwC,IAAI,EAAE,CAAC,CAAC;AAC3E,CAAC"}
|
package/dist/domain/uploads.js
CHANGED
|
@@ -15,6 +15,9 @@ function expandHome(path) {
|
|
|
15
15
|
* could ship arbitrary local files into the accounting system.
|
|
16
16
|
*/
|
|
17
17
|
export async function readUploadFile(filePath, allowedDirs) {
|
|
18
|
+
if (allowedDirs.length === 0) {
|
|
19
|
+
throw new InputError('This server takes no file paths; send the file as content_base64 instead.');
|
|
20
|
+
}
|
|
18
21
|
const expanded = expandHome(filePath.trim());
|
|
19
22
|
if (!isAbsolute(expanded))
|
|
20
23
|
throw new InputError('file_path must be an absolute path (or start with ~/).');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../src/domain/uploads.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../src/domain/uploads.ts"],"names":[],"mappings":"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"}
|
package/dist/http.js
CHANGED
|
@@ -30,7 +30,13 @@ export function httpMode(config) {
|
|
|
30
30
|
}
|
|
31
31
|
/** Builds the request listener; separate from listen() so tests can drive it. */
|
|
32
32
|
export function createHttpHandler(baseConfig, options, deps = {}) {
|
|
33
|
-
|
|
33
|
+
// file_path uploads would read this machine's disk on behalf of remote callers, so the
|
|
34
|
+
// default folders don't apply here; clients send content_base64 unless the operator opts in.
|
|
35
|
+
const config = {
|
|
36
|
+
...baseConfig,
|
|
37
|
+
embedFiles: true,
|
|
38
|
+
uploadDirs: baseConfig.explicitUploadDirs ? baseConfig.uploadDirs : [],
|
|
39
|
+
};
|
|
34
40
|
const mode = httpMode(config);
|
|
35
41
|
if (mode === 'single-tenant' && !options.authToken) {
|
|
36
42
|
throw new ConfigError('MCP_AUTH_TOKEN is required when the HTTP server holds UOL credentials');
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAA0D,YAAY,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACrH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAkB,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAqB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA0BtF,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC/D,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;CACZ,CAAC;AAEX,MAAM,UAAU,kBAAkB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IACrE,MAAM,IAAI,GAAG,CAAC,GAAuB,EAAE,EAAE,CACvC,GAAG;QACD,EAAE,KAAK,CAAC,GAAG,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,WAAW;QACrC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACpD,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,SAAS;QAClD,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACzC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;KAC9C,CAAC;AACJ,CAAC;AAID,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,OAAO,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;AACrF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,UAAqB,EAAE,OAAoB,EAAE,IAAI,GAAiB,EAAE;IACpG,MAAM,MAAM,GAAc,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/insights.js
CHANGED
|
@@ -154,9 +154,10 @@ export function registerInsightTools(server, ctx) {
|
|
|
154
154
|
by_currency: z.array(currencyBalance),
|
|
155
155
|
history: z.array(accountBalance).nullable(),
|
|
156
156
|
note: z.string(),
|
|
157
|
+
truncated: z.boolean().describe('True when UOL had more snapshots than one call reads'),
|
|
157
158
|
}),
|
|
158
159
|
}, async ({ history }, { client }) => {
|
|
159
|
-
const { rows } = await fetchPages((page, perPage) => client.bankBalances({ page, per_page: perPage }), 8);
|
|
160
|
+
const { rows, truncated } = await fetchPages((page, perPage) => client.bankBalances({ page, per_page: perPage }), 8);
|
|
160
161
|
const accounts = latestBalances(rows);
|
|
161
162
|
const snapshots = history
|
|
162
163
|
? rows
|
|
@@ -165,13 +166,16 @@ export function registerInsightTools(server, ctx) {
|
|
|
165
166
|
.sort((a, b) => b.as_of.localeCompare(a.as_of))
|
|
166
167
|
.slice(0, 120)
|
|
167
168
|
: null;
|
|
168
|
-
return {
|
|
169
|
+
return {
|
|
170
|
+
data: { accounts, by_currency: balancesByCurrency(accounts), history: snapshots, note: BANK_NOTE, truncated },
|
|
171
|
+
};
|
|
169
172
|
});
|
|
170
173
|
registerReadTool(server, ctx, 'get_business_snapshot', {
|
|
171
174
|
title: 'Business snapshot',
|
|
172
175
|
description: '"How is the company doing?" in one call: this month vs last month (revenue, expenses, profit), the current VAT period, ' +
|
|
173
176
|
'unpaid and overdue receivables, uploaded documents waiting for the accountant, and bank balances. ' +
|
|
174
|
-
'Sections that fail (e.g. missing permission) are null and listed in errors
|
|
177
|
+
'Sections that fail (e.g. missing permission) are null and listed in errors; sections read only partly are listed in ' +
|
|
178
|
+
'incomplete. Use the dedicated tools for detail.',
|
|
175
179
|
input: z.object({}),
|
|
176
180
|
output: z.object({
|
|
177
181
|
as_of: z.string(),
|
|
@@ -188,10 +192,18 @@ export function registerInsightTools(server, ctx) {
|
|
|
188
192
|
documents_to_process: z.number().nullable().describe('Uploaded documents in state unprocessed'),
|
|
189
193
|
bank: z.array(currencyBalance).nullable().describe(BANK_NOTE),
|
|
190
194
|
errors: z.array(z.object({ section: z.string(), message: z.string() })),
|
|
195
|
+
incomplete: z
|
|
196
|
+
.array(z.string())
|
|
197
|
+
.describe('Sections where UOL had more rows than one call reads; their figures may be too low'),
|
|
191
198
|
}),
|
|
192
199
|
}, async (_args, { client, contacts }) => {
|
|
193
200
|
const today = pragueDate(ctx.now());
|
|
194
201
|
const errors = [];
|
|
202
|
+
const incomplete = [];
|
|
203
|
+
const flag = (section, truncated) => {
|
|
204
|
+
if (truncated)
|
|
205
|
+
incomplete.push(section);
|
|
206
|
+
};
|
|
195
207
|
const attempt = async (section, run) => {
|
|
196
208
|
try {
|
|
197
209
|
return await run();
|
|
@@ -203,9 +215,14 @@ export function registerInsightTools(server, ctx) {
|
|
|
203
215
|
};
|
|
204
216
|
const [companyInfo, ledger, receivables, documents, bank] = await Promise.all([
|
|
205
217
|
attempt('company', () => companyVatKind(client)),
|
|
206
|
-
attempt('financials', () =>
|
|
218
|
+
attempt('financials', async () => {
|
|
219
|
+
const summary = await ledgerSummary(client, monthKeys(today, 2), today);
|
|
220
|
+
flag('financials', summary.truncated);
|
|
221
|
+
return summary;
|
|
222
|
+
}),
|
|
207
223
|
attempt('receivables', async () => {
|
|
208
|
-
const { rows } = await fetchAllReceivables(client, { state: 'unpaid' });
|
|
224
|
+
const { rows, truncated } = await fetchAllReceivables(client, { state: 'unpaid' });
|
|
225
|
+
flag('receivables', truncated);
|
|
209
226
|
const open = rows.filter((r) => !r.cancelled).map((r) => receivableRow(r, today));
|
|
210
227
|
const mostOverdue = open
|
|
211
228
|
.filter((r) => r.days_overdue > 0)
|
|
@@ -222,12 +239,17 @@ export function registerInsightTools(server, ctx) {
|
|
|
222
239
|
return items === 0 ? 0 : (pageInfo(body, 1, 1).total_pages ?? items);
|
|
223
240
|
}),
|
|
224
241
|
attempt('bank', async () => {
|
|
225
|
-
const { rows } = await fetchPages((page, perPage) => client.bankBalances({ page, per_page: perPage }), 8);
|
|
242
|
+
const { rows, truncated } = await fetchPages((page, perPage) => client.bankBalances({ page, per_page: perPage }), 8);
|
|
243
|
+
flag('bank', truncated);
|
|
226
244
|
return balancesByCurrency(latestBalances(rows));
|
|
227
245
|
}),
|
|
228
246
|
]);
|
|
229
247
|
const vat = companyInfo && companyInfo.period !== 'not_vat_payer'
|
|
230
|
-
? await attempt('vat', async () =>
|
|
248
|
+
? await attempt('vat', async () => {
|
|
249
|
+
const overview = await vatOverview(client, companyInfo.period, 1, today);
|
|
250
|
+
flag('vat', overview.truncated);
|
|
251
|
+
return overview.periods[0] ?? null;
|
|
252
|
+
})
|
|
231
253
|
: null;
|
|
232
254
|
return {
|
|
233
255
|
data: {
|
|
@@ -240,6 +262,7 @@ export function registerInsightTools(server, ctx) {
|
|
|
240
262
|
documents_to_process: documents,
|
|
241
263
|
bank: bank && bank.length > 0 ? bank : null,
|
|
242
264
|
errors,
|
|
265
|
+
incomplete,
|
|
243
266
|
},
|
|
244
267
|
};
|
|
245
268
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAsB,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAgB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAoB,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6FAA6F,CAAC;IAC3H,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;IAChG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACrF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACvE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;IAC/G,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CACpF,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;CAC3F,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,SAAS,GACb,kHAAkH,CAAC;AAErH,MAAM,QAAQ,GACZ,qHAAqH;IACrH,qHAAqH,CAAC;AAExH,SAAS,QAAQ,CAAC,IAAa,EAAE,SAA6B;IAC5D,OAAO,SAAS,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAiB;IAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,qEAAqE;AACrE,SAAS,MAAM,CAAC,OAAe,EAAE,QAAgB;IAC/C,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACrG,CAAC;AAED,SAAS,UAAU,CAAC,OAAsB;IACxC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,cAAc,EAAE,QAAQ,CAAC,KAAK;QAC9B,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC7D,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAChE,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,GAAgB;IACtE,gBAAgB,CACd,MAAM,EACN,GAAG,EACH,wBAAwB,EACxB;QACE,KAAK,EAAE,uCAAuC;QAC9C,WAAW,EACT,iJAAiJ;YACjJ,wHAAwH;YACxH,iHAAiH;QACnH,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SAClG,CAAC;QACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;YAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACnF,mBAAmB,EAAE,CAAC;iBACnB,MAAM,CAAC;gBACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;gBAC1B,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACzC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;aAC1B,CAAC;iBACD,QAAQ,EAAE;YACb,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;YACzC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;YAC1C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;SAChH,CAAC;KACH,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,CAAC,GAAsC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9G,OAAO;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACrF,mBAAmB,EAAE,UAAU,CAAC,OAAO,CAAC;gBACxC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gBAAgB,CACd,MAAM,EACN,GAAG,EACH,kBAAkB,EAClB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,iHAAiH;YACjH,2EAA2E;YAC3E,GAAG,QAAQ,EAAE;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,EAAE;iBACV,QAAQ,CAAC,kEAAkE,CAAC;SAChF,CAAC;QACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;SACvB,CAAC;KACH,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;QACzG,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IACrF,CAAC,CACF,CAAC;IAEF,gBAAgB,CACd,MAAM,EACN,GAAG,EACH,mBAAmB,EACnB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,qFAAqF,SAAS,EAAE;QAC7G,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sDAAsD,CAAC;SACrG,CAAC;QACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;YACjC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;YACrC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;YAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;SACxF,CAAC;KACH,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrH,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO;YACvB,CAAC,CAAC,IAAI;iBACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC;iBAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBAC9C,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC;QACT,OAAO;YACL,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;SAC9G,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gBAAgB,CACd,MAAM,EACN,GAAG,EACH,uBAAuB,EACvB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,yHAAyH;YACzH,oGAAoG;YACpG,sHAAsH;YACtH,iDAAiD;QACnD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC5H,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE;YACnC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE;YACvC,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE;YACzC,WAAW,EAAE,CAAC;iBACX,MAAM,CAAC;gBACN,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;gBACvC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;aAC3C,CAAC;iBACD,QAAQ,EAAE;YACb,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YAC/F,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvE,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CAAC,oFAAoF,CAAC;SAClG,CAAC;KACH,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,SAAkB,EAAE,EAAE;YACnD,IAAI,SAAS;gBAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,EAAK,OAAe,EAAE,GAAqB,EAAqB,EAAE;YACrF,IAAI,CAAC;gBACH,OAAO,MAAM,GAAG,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5E,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;gBAC/B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtC,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;YACF,OAAO,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACnF,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAClF,MAAM,WAAW,GAAG,IAAI;qBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;qBACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;qBAC/C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACf,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5E,KAAK,MAAM,CAAC,IAAI,WAAW;oBAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzG,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;YACvE,CAAC,CAAC;YACF,OAAO,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;gBACzC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;gBACtC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;YACvE,CAAC,CAAC;YACF,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBACzB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrH,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACxB,OAAO,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,GAAG,GACP,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,eAAe;YACnD,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;gBAC9B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAiB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpF,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAChC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YACrC,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAEX,OAAO;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;gBACtG,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI;gBACrC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI;gBACzC,kBAAkB,EAAE,GAAG;gBACvB,WAAW;gBACX,oBAAoB,EAAE,SAAS;gBAC/B,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC3C,MAAM;gBACN,UAAU;aACX;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/uol/client.js
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { InputError } from '../domain/uploads.js';
|
|
2
|
+
/**
|
|
3
|
+
* Path segment for an id. UOL ids are numbers or ASCII slugs; anything else — `..`, `/`, `?` —
|
|
4
|
+
* could point a request at a different endpoint (an untag turning into a delete), so it is
|
|
5
|
+
* refused before anything is sent.
|
|
6
|
+
*/
|
|
7
|
+
const id = (value) => {
|
|
8
|
+
const text = String(value);
|
|
9
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9_.-]{0,199}$/.test(text)) {
|
|
10
|
+
throw new InputError(`Not a valid UOL id: ${JSON.stringify(text.slice(0, 80))}`);
|
|
11
|
+
}
|
|
12
|
+
return text;
|
|
13
|
+
};
|
|
2
14
|
/** One method per UOL endpoint the tools use. */
|
|
3
15
|
export class UolClient {
|
|
4
16
|
http;
|
package/dist/uol/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/uol/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/uol/client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uol-mcp",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Unofficial MCP server for the UOL Účetnictví accounting API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Jakub Begera",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"dist",
|
|
20
20
|
"README.md",
|
|
21
21
|
"README.cs.md",
|
|
22
|
+
"CHANGELOG.md",
|
|
22
23
|
"LICENSE"
|
|
23
24
|
],
|
|
24
25
|
"engines": {
|
|
@@ -48,6 +49,7 @@
|
|
|
48
49
|
"zod": "^4.6.7"
|
|
49
50
|
},
|
|
50
51
|
"devDependencies": {
|
|
52
|
+
"@anthropic-ai/mcpb": "2.1.2",
|
|
51
53
|
"@modelcontextprotocol/client": "^2.4.0",
|
|
52
54
|
"@types/node": "^22.20.5",
|
|
53
55
|
"tsx": "^4.23.15",
|