noxctl 0.4.1 → 0.6.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 +4 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +117 -2
- package/dist/cli.js.map +1 -1
- package/dist/credentials-store.d.ts.map +1 -1
- package/dist/credentials-store.js.map +1 -1
- package/dist/formatter.d.ts.map +1 -1
- package/dist/formatter.js.map +1 -1
- package/dist/fortnox-client.d.ts +29 -1
- package/dist/fortnox-client.d.ts.map +1 -1
- package/dist/fortnox-client.js +177 -59
- package/dist/fortnox-client.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/operations/invoices.d.ts +38 -0
- package/dist/operations/invoices.d.ts.map +1 -1
- package/dist/operations/invoices.js +54 -3
- package/dist/operations/invoices.js.map +1 -1
- package/dist/tools/invoices.d.ts.map +1 -1
- package/dist/tools/invoices.js +136 -1
- package/dist/tools/invoices.js.map +1 -1
- package/package.json +3 -3
package/dist/tools/invoices.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { closeSync, constants as fsConstants, lstatSync, mkdtempSync, openSync, writeSync, } from 'node:fs';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { join, resolve } from 'node:path';
|
|
5
|
+
import { listInvoices, getInvoice, createInvoice, updateInvoice, sendInvoice, getInvoicePdf, markInvoicePrinted, bookkeepInvoice, creditInvoice, } from '../operations/invoices.js';
|
|
3
6
|
import { invoiceListColumns, invoiceDetailColumns, invoiceConfirmColumns } from '../views.js';
|
|
4
7
|
import { confirmationResponse, detailResponse, dryRunResponse, listResponse, requireConfirmation, } from '../tool-output.js';
|
|
5
8
|
const InvoiceRowSchema = z.object({
|
|
@@ -13,6 +16,52 @@ const InvoiceRowSchema = z.object({
|
|
|
13
16
|
Discount: z.number().optional().describe('Rabatt i procent'),
|
|
14
17
|
});
|
|
15
18
|
const DocumentNumberSchema = z.string().regex(/^\d+$/, 'Document number must be numeric');
|
|
19
|
+
/**
|
|
20
|
+
* Write a PDF to `target`, refusing to write through a symlink.
|
|
21
|
+
*
|
|
22
|
+
* These paths come from tool arguments, i.e. they are model-generated and can be
|
|
23
|
+
* influenced by whatever the model just read. `O_EXCL` already refuses to follow
|
|
24
|
+
* a symlink; `O_NOFOLLOW` gives the overwrite path the same guarantee, so
|
|
25
|
+
* "replace this file" can never silently truncate a symlink's target instead.
|
|
26
|
+
* O_NOFOLLOW is POSIX-only, so Windows falls back to an explicit lstat check.
|
|
27
|
+
*/
|
|
28
|
+
function writePdf(target, pdf, overwrite) {
|
|
29
|
+
const { O_WRONLY, O_CREAT, O_TRUNC, O_EXCL, O_NOFOLLOW } = fsConstants;
|
|
30
|
+
const flags = overwrite
|
|
31
|
+
? O_WRONLY | O_CREAT | O_TRUNC | (O_NOFOLLOW ?? 0)
|
|
32
|
+
: O_WRONLY | O_CREAT | O_EXCL;
|
|
33
|
+
// Windows has no O_NOFOLLOW, so the flag above degrades to a no-op there.
|
|
34
|
+
// Check explicitly instead. This is a TOCTOU-racy fallback rather than an
|
|
35
|
+
// atomic guarantee, but it closes the ordinary case on the one platform the
|
|
36
|
+
// kernel flag cannot cover.
|
|
37
|
+
if (overwrite && !O_NOFOLLOW && lstatSync(target, { throwIfNoEntry: false })?.isSymbolicLink()) {
|
|
38
|
+
throw new Error(`${target} is a symbolic link. Refusing to write through it — pass the real path instead.`);
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const fd = openSync(target, flags, 0o600);
|
|
42
|
+
try {
|
|
43
|
+
// writeSync may return a short count; keep going until the whole buffer
|
|
44
|
+
// has landed. writeFileSync used to do this loop internally.
|
|
45
|
+
let written = 0;
|
|
46
|
+
while (written < pdf.length) {
|
|
47
|
+
written += writeSync(fd, pdf, written, pdf.length - written);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
closeSync(fd);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
const code = err.code;
|
|
56
|
+
if (code === 'EEXIST') {
|
|
57
|
+
throw new Error(`${target} already exists. Pass a different outputPath, or overwrite: true to replace it.`);
|
|
58
|
+
}
|
|
59
|
+
if (code === 'ELOOP') {
|
|
60
|
+
throw new Error(`${target} is a symbolic link. Refusing to write through it — pass the real path instead.`);
|
|
61
|
+
}
|
|
62
|
+
throw err;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
16
65
|
export function registerInvoiceTools(server) {
|
|
17
66
|
server.tool('fortnox_list_invoices', 'Lista/filtrera fakturor i Fortnox. Returnerar: DocumentNumber, CustomerName, InvoiceDate, DueDate, Total, Balance.', {
|
|
18
67
|
filter: z
|
|
@@ -128,6 +177,92 @@ export function registerInvoiceTools(server) {
|
|
|
128
177
|
const invoice = await sendInvoice(documentNumber, sendMethod, emailOptions);
|
|
129
178
|
return confirmationResponse(`Faktura ${documentNumber} skickad via ${sendMethod}.`, invoice, invoiceConfirmColumns, includeRaw);
|
|
130
179
|
});
|
|
180
|
+
server.tool('fortnox_invoice_pdf', 'Hämta en faktura som PDF och spara den på disk. Returnerar sökvägen till filen (inte PDF-innehållet). PDF:en hämtas alltid via Fortnox /preview, vilket INTE ändrar fakturan. Med markSent anropas /print efteråt, efter att filen skrivits.', {
|
|
181
|
+
documentNumber: DocumentNumberSchema.describe('Fakturanummer'),
|
|
182
|
+
outputPath: z
|
|
183
|
+
.string()
|
|
184
|
+
.optional()
|
|
185
|
+
.describe('Sökväg att spara PDF:en till. Skriver inte över en befintlig fil om inte overwrite är satt. Utelämnas: en ny privat temp-katalog används.'),
|
|
186
|
+
overwrite: z
|
|
187
|
+
.boolean()
|
|
188
|
+
.optional()
|
|
189
|
+
.describe('Tillåt att en befintlig fil på outputPath skrivs över'),
|
|
190
|
+
markSent: z
|
|
191
|
+
.boolean()
|
|
192
|
+
.optional()
|
|
193
|
+
.describe('Markera även fakturan som skickad i Fortnox (använder /print)'),
|
|
194
|
+
confirm: z
|
|
195
|
+
.boolean()
|
|
196
|
+
.optional()
|
|
197
|
+
.describe('Bekräfta — krävs endast när markSent är satt, eftersom den ändrar fakturan'),
|
|
198
|
+
dryRun: z.boolean().optional().describe('Visa åtgärden utan att hämta PDF:en'),
|
|
199
|
+
}, async ({ documentNumber, outputPath, overwrite, markSent, confirm, dryRun }) => {
|
|
200
|
+
const action = markSent
|
|
201
|
+
? `download invoice ${documentNumber} as PDF and mark it as sent`
|
|
202
|
+
: `download invoice ${documentNumber} as PDF`;
|
|
203
|
+
if (dryRun)
|
|
204
|
+
return dryRunResponse(action);
|
|
205
|
+
// Only the /print variant changes the invoice; a plain download is read-only.
|
|
206
|
+
if (markSent && !confirm)
|
|
207
|
+
requireConfirmation(action);
|
|
208
|
+
// Arguments here are agent-generated, so a stray path must not silently
|
|
209
|
+
// truncate an existing file. Without an explicit path we use a fresh
|
|
210
|
+
// private directory rather than a predictable, clobber-prone temp name.
|
|
211
|
+
const target = outputPath
|
|
212
|
+
? resolve(outputPath)
|
|
213
|
+
: join(mkdtempSync(join(tmpdir(), 'noxctl-')), `invoice-${documentNumber}.pdf`);
|
|
214
|
+
const pdf = await getInvoicePdf(documentNumber);
|
|
215
|
+
writePdf(target, pdf, overwrite);
|
|
216
|
+
// Only now that the PDF is safely on disk do we change anything in Fortnox.
|
|
217
|
+
// If that fails, the download still succeeded — say so, or the caller has
|
|
218
|
+
// no idea a usable file is sitting there.
|
|
219
|
+
let printed;
|
|
220
|
+
if (markSent) {
|
|
221
|
+
try {
|
|
222
|
+
printed = await markInvoicePrinted(documentNumber);
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
throw new Error(`Faktura ${documentNumber} sparades som PDF: ${target} (${pdf.length} bytes), men kunde inte markeras som skickad: ${err instanceof Error ? err.message : String(err)}`);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// Prefer the document /print actually produced, so the saved copy matches
|
|
229
|
+
// the version that was marked as sent. Best-effort: the /preview copy is
|
|
230
|
+
// already on disk, and the invoice is already flagged, so a failure here
|
|
231
|
+
// must not be raised as if the whole operation failed.
|
|
232
|
+
let bytes = pdf.length;
|
|
233
|
+
let refreshNote = '';
|
|
234
|
+
if (printed?.pdf) {
|
|
235
|
+
try {
|
|
236
|
+
writePdf(target, printed.pdf, true);
|
|
237
|
+
bytes = printed.pdf.length;
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
refreshNote = ` Den sparade filen är /preview-versionen; kunde inte skriva om den med den utskrivna versionen: ${err instanceof Error ? err.message : String(err)}`;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// Only state that the invoice is sent if Fortnox confirmed it. Asking for
|
|
244
|
+
// markSent is not evidence that it took effect.
|
|
245
|
+
let sentNote = '';
|
|
246
|
+
if (printed && !printed.confirmed) {
|
|
247
|
+
sentNote = ` ${String(printed.invoice.Note)}`;
|
|
248
|
+
}
|
|
249
|
+
else if (printed && printed.invoice.Sent === true) {
|
|
250
|
+
sentNote = ' Fakturan är nu markerad som skickad.';
|
|
251
|
+
}
|
|
252
|
+
else if (printed) {
|
|
253
|
+
sentNote = ' Varning: Fortnox rapporterar fortfarande fakturan som ej skickad.';
|
|
254
|
+
}
|
|
255
|
+
return confirmationResponse(`Faktura ${documentNumber} sparad som PDF: ${target} (${bytes} bytes).` +
|
|
256
|
+
sentNote +
|
|
257
|
+
refreshNote, {
|
|
258
|
+
DocumentNumber: documentNumber,
|
|
259
|
+
Path: target,
|
|
260
|
+
Bytes: bytes,
|
|
261
|
+
// Report what Fortnox says, not what we asked for; undefined means
|
|
262
|
+
// "not checked" or "could not be confirmed".
|
|
263
|
+
Sent: printed?.confirmed ? printed.invoice.Sent : undefined,
|
|
264
|
+
});
|
|
265
|
+
});
|
|
131
266
|
server.tool('fortnox_bookkeep_invoice', 'Bokför en faktura i Fortnox', {
|
|
132
267
|
documentNumber: DocumentNumberSchema.describe('Fakturanummer att bokföra'),
|
|
133
268
|
confirm: z.boolean().optional().describe('Bekräfta att fakturan ska bokföras'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../src/tools/invoices.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../src/tools/invoices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,SAAS,EACT,SAAS,IAAI,WAAW,EACxB,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,aAAa,GACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACzD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC5E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;AAE1F;;;;;;;;GAQG;AACH,SAAS,QAAQ,CAAC,MAAc,EAAE,GAAW,EAAE,SAAmB;IAChE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;IACvE,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAEhC,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,4BAA4B;IAC5B,IAAI,SAAS,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC;QAC/F,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,iFAAiF,CAC3F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,wEAAwE;YACxE,6DAA6D;YAC7D,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,OAAO,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,iFAAiF,CAC3F,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,iFAAiF,CAC3F,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,oHAAoH,EACpH;QACE,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;aACvE,QAAQ,EAAE;aACV,QAAQ,CAAC,mBAAmB,CAAC;QAChC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACnE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACjE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACvD,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAC/E,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC9E,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,YAAY,CACjB,IAAI,CAAC,QAAQ,IAAI,EAAE,EACnB,kBAAkB,EAClB,IAAI,EACJ,IAAI,CAAC,eAAe,EACpB,UAAU,CACX,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,2LAA2L,EAC3L;QACE,cAAc,EAAE,oBAAoB,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC9D,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC9E,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC;QACjD,OAAO,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,4BAA4B,EAC5B;QACE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACpE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC5E,MAAM,EAAE,CAAC;aACN,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,qDAAqD,CAAC;QAClE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC9E,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,cAAc,CAAC,+BAA+B,MAAM,CAAC,cAAc,EAAE,EAAE;gBAC5E,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,mBAAmB,CAAC,+BAA+B,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QAE1F,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,wDAAwD,EACxD;QACE,cAAc,EAAE,oBAAoB,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC5E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5D,WAAW,EAAE,CAAC;aACX,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1D,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACpE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAC7D,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACrD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAChF,MAAM,EAAE,CAAC;aACN,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC9E,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE;QACnE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,cAAc,CAAC,kBAAkB,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,mBAAmB,CAAC,kBAAkB,cAAc,EAAE,CAAC,CAAC;QAEtE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC5D,OAAO,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,2DAA2D,EAC3D;QACE,cAAc,EAAE,oBAAoB,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC9D,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;aACpC,QAAQ,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;QACzC,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,kDAAkD,CAAC;QAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC7E,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACjF,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC9E,EACD,KAAK,EAAE,EACL,cAAc,EACd,MAAM,EACN,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE,EAAE;QACH,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,cAAc,CAAC,gBAAgB,cAAc,QAAQ,UAAU,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,mBAAmB,CAAC,gBAAgB,cAAc,QAAQ,UAAU,EAAE,CAAC,CAAC;QAEtF,MAAM,YAAY,GAChB,YAAY,IAAI,SAAS,IAAI,QAAQ;YACnC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE;YAC3D,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC5E,OAAO,oBAAoB,CACzB,WAAW,cAAc,gBAAgB,UAAU,GAAG,EACtD,OAAO,EACP,qBAAqB,EACrB,UAAU,CACX,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,8OAA8O,EAC9O;QACE,cAAc,EAAE,oBAAoB,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC9D,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2IAA2I,CAC5I;QACH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,uDAAuD,CAAC;QACpE,QAAQ,EAAE,CAAC;aACR,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,+DAA+D,CAAC;QAC5E,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,4EAA4E,CAAC;QACzF,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAC/E,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7E,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,oBAAoB,cAAc,6BAA6B;YACjE,CAAC,CAAC,oBAAoB,cAAc,SAAS,CAAC;QAChD,IAAI,MAAM;YAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,8EAA8E;QAC9E,IAAI,QAAQ,IAAI,CAAC,OAAO;YAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEtD,wEAAwE;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,MAAM,MAAM,GAAG,UAAU;YACvB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,WAAW,cAAc,MAAM,CAAC,CAAC;QAElF,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,CAAC;QAChD,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAEjC,4EAA4E;QAC5E,0EAA0E;QAC1E,0CAA0C;QAC1C,IAAI,OAAO,CAAC;QACZ,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,WAAW,cAAc,sBAAsB,MAAM,KAAK,GAAG,CAAC,MAAM,iDAClE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,uDAAuD;QACvD,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;QACvB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACpC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,WAAW,GAAG,mGACZ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CAAC;YACL,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,gDAAgD;QAChD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAClC,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,CAAC;aAAM,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACpD,QAAQ,GAAG,uCAAuC,CAAC;QACrD,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,QAAQ,GAAG,oEAAoE,CAAC;QAClF,CAAC;QAED,OAAO,oBAAoB,CACzB,WAAW,cAAc,oBAAoB,MAAM,KAAK,KAAK,UAAU;YACrE,QAAQ;YACR,WAAW,EACb;YACE,cAAc,EAAE,cAAc;YAC9B,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;YACZ,mEAAmE;YACnE,6CAA6C;YAC7C,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC5D,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,6BAA6B,EAC7B;QACE,cAAc,EAAE,oBAAoB,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC1E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC9E,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAClF,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC9E,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,cAAc,CAAC,oBAAoB,cAAc,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,mBAAmB,CAAC,oBAAoB,cAAc,EAAE,CAAC,CAAC;QAExE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC;QACtD,OAAO,oBAAoB,CACzB,WAAW,cAAc,WAAW,EACpC,OAAO,EACP,qBAAqB,EACrB,UAAU,CACX,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,gCAAgC,EAChC;QACE,cAAc,EAAE,oBAAoB,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC5E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAChF,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACpF,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC9E,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,cAAc,CAAC,kBAAkB,cAAc,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,mBAAmB,CAAC,kBAAkB,cAAc,EAAE,CAAC,CAAC;QAEtE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,CAAC;QACpD,OAAO,oBAAoB,CACzB,oCAAoC,cAAc,GAAG,EACrD,OAAO,EACP,qBAAqB,EACrB,UAAU,CACX,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "noxctl",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"mcpName": "io.github.magnus-gille/noxctl",
|
|
5
5
|
"description": "CLI and MCP server for Fortnox accounting — invoices, customers, bookkeeping, and VAT",
|
|
6
6
|
"type": "module",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"author": "Magnus Gille",
|
|
37
37
|
"license": "MIT",
|
|
38
38
|
"engines": {
|
|
39
|
-
"node": ">=
|
|
39
|
+
"node": ">=22.12.0"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
"dist/",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
],
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
48
|
-
"commander": "^
|
|
48
|
+
"commander": "^15.0.0",
|
|
49
49
|
"zod": "^4.3.6"
|
|
50
50
|
},
|
|
51
51
|
"lint-staged": {
|