@ekwo-ai/mcp 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 +36 -9
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +26 -2
- package/dist/backend.js.map +1 -1
- package/dist/bin.js +10 -17
- package/dist/bin.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/schema.d.ts +1 -1
- package/dist/schema.js +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +23 -5
- package/dist/server.js.map +1 -1
- package/dist/start.d.ts +17 -0
- package/dist/start.d.ts.map +1 -0
- package/dist/start.js +48 -0
- package/dist/start.js.map +1 -0
- package/dist/tools/import-books.d.ts +63 -0
- package/dist/tools/import-books.d.ts.map +1 -0
- package/dist/tools/import-books.js +84 -0
- package/dist/tools/import-books.js.map +1 -0
- package/dist/tools/write.d.ts +23 -2
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +35 -57
- package/dist/tools/write.js.map +1 -1
- package/dist/unconfigured.d.ts +26 -0
- package/dist/unconfigured.d.ts.map +1 -0
- package/dist/unconfigured.js +57 -0
- package/dist/unconfigured.js.map +1 -0
- package/package.json +6 -8
- package/dist/columns.d.ts +0 -59
- package/dist/columns.d.ts.map +0 -1
- package/dist/columns.js +0 -422
- package/dist/columns.js.map +0 -1
- package/dist/format.d.ts +0 -21
- package/dist/format.d.ts.map +0 -1
- package/dist/format.js +0 -49
- package/dist/format.js.map +0 -1
- package/dist/rounding.d.ts +0 -25
- package/dist/rounding.d.ts.map +0 -1
- package/dist/rounding.js +0 -35
- package/dist/rounding.js.map +0 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The MCP tool `import_books`, and the sources it names.
|
|
3
|
+
*
|
|
4
|
+
* The readers are named after the file they read; a user looks for the
|
|
5
|
+
* software the file came from. So besides the formats, the tool accepts the
|
|
6
|
+
* name of the software whose export a reader was written against, and says
|
|
7
|
+
* which export that is. A name is listed here only once its reader exists and
|
|
8
|
+
* is tested, and the text says what is read — nothing else about the software.
|
|
9
|
+
* `docs/compatibility.md` is the same list, for a person.
|
|
10
|
+
*/
|
|
11
|
+
import { type BookSource } from '@ekwo-ai/core';
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import type { Backend } from '../backend.js';
|
|
14
|
+
/** The software whose export a reader reads, by the name a user types. */
|
|
15
|
+
export declare const NAMED_SOURCES: {
|
|
16
|
+
readonly odoo: {
|
|
17
|
+
readonly reader: "journal-items";
|
|
18
|
+
readonly export: "the export of the Journal Items of Odoo (Accounting), as CSV, with its chart of accounts and its partners";
|
|
19
|
+
};
|
|
20
|
+
readonly xero: {
|
|
21
|
+
readonly reader: "journal-report";
|
|
22
|
+
readonly export: "the Journal Report or the General Ledger Detail of Xero, saved as CSV, with its chart of accounts and its contacts";
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare const NAMED_SOURCE_KEYS: (keyof typeof NAMED_SOURCES)[];
|
|
26
|
+
/** The reader a source names: itself, or the one the software's export is read by. */
|
|
27
|
+
export declare function sourceOf(source: BookSource | keyof typeof NAMED_SOURCES): BookSource;
|
|
28
|
+
export declare const IMPORT_BOOKS_DESCRIPTION: string;
|
|
29
|
+
export declare const ImportBooksInput: z.ZodObject<{
|
|
30
|
+
company_id: z.ZodString;
|
|
31
|
+
source: z.ZodEnum<{
|
|
32
|
+
"trial-balance": "trial-balance";
|
|
33
|
+
fec: "fec";
|
|
34
|
+
"journal-items": "journal-items";
|
|
35
|
+
"journal-report": "journal-report";
|
|
36
|
+
odoo: "odoo";
|
|
37
|
+
xero: "xero";
|
|
38
|
+
}>;
|
|
39
|
+
files: z.ZodArray<z.ZodObject<{
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
content: z.ZodString;
|
|
42
|
+
}, z.core.$strip>>;
|
|
43
|
+
mapping: z.ZodOptional<z.ZodObject<{
|
|
44
|
+
accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodString>>>;
|
|
45
|
+
journals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodString>>>;
|
|
46
|
+
}, z.core.$strip>>;
|
|
47
|
+
dry_run: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
open_years: z.ZodOptional<z.ZodBoolean>;
|
|
49
|
+
opening_date: z.ZodOptional<z.ZodString>;
|
|
50
|
+
allow_result_accounts: z.ZodOptional<z.ZodBoolean>;
|
|
51
|
+
keep_numbers: z.ZodOptional<z.ZodBoolean>;
|
|
52
|
+
date_order: z.ZodOptional<z.ZodEnum<{
|
|
53
|
+
dmy: "dmy";
|
|
54
|
+
mdy: "mdy";
|
|
55
|
+
ymd: "ymd";
|
|
56
|
+
}>>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
/**
|
|
59
|
+
* Books from another system, all of them or none, through `importBooks()` of
|
|
60
|
+
* the core — the function `ekwo import` calls.
|
|
61
|
+
*/
|
|
62
|
+
export declare function importBooksTool(backend: Backend, args: z.infer<typeof ImportBooksInput>): Promise<unknown>;
|
|
63
|
+
//# sourceMappingURL=import-books.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-books.d.ts","sourceRoot":"","sources":["../../src/tools/import-books.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAA4E,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1H,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,0EAA0E;AAC1E,eAAO,MAAM,aAAa;;;;;;;;;CASiD,CAAC;AAE5E,eAAO,MAAM,iBAAiB,EAAiC,CAAC,MAAM,OAAO,aAAa,CAAC,EAAE,CAAC;AAE9F,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,OAAO,aAAa,GAAG,UAAU,CAEpF;AAED,eAAO,MAAM,wBAAwB,QAG8yB,CAAC;AAEp1B,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoC3B,CAAC;AAEH;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GACrC,OAAO,CAAC,OAAO,CAAC,CAalB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The MCP tool `import_books`, and the sources it names.
|
|
3
|
+
*
|
|
4
|
+
* The readers are named after the file they read; a user looks for the
|
|
5
|
+
* software the file came from. So besides the formats, the tool accepts the
|
|
6
|
+
* name of the software whose export a reader was written against, and says
|
|
7
|
+
* which export that is. A name is listed here only once its reader exists and
|
|
8
|
+
* is tested, and the text says what is read — nothing else about the software.
|
|
9
|
+
* `docs/compatibility.md` is the same list, for a person.
|
|
10
|
+
*/
|
|
11
|
+
import { BOOK_SOURCES, BOOK_SOURCE_DESCRIPTIONS, NO_JOURNAL, OPENING, importBooks } from '@ekwo-ai/core';
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { companyId, isoDate } from './read.js';
|
|
14
|
+
/** The software whose export a reader reads, by the name a user types. */
|
|
15
|
+
export const NAMED_SOURCES = {
|
|
16
|
+
odoo: {
|
|
17
|
+
reader: 'journal-items',
|
|
18
|
+
export: 'the export of the Journal Items of Odoo (Accounting), as CSV, with its chart of accounts and its partners',
|
|
19
|
+
},
|
|
20
|
+
xero: {
|
|
21
|
+
reader: 'journal-report',
|
|
22
|
+
export: 'the Journal Report or the General Ledger Detail of Xero, saved as CSV, with its chart of accounts and its contacts',
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
export const NAMED_SOURCE_KEYS = Object.keys(NAMED_SOURCES);
|
|
26
|
+
/** The reader a source names: itself, or the one the software's export is read by. */
|
|
27
|
+
export function sourceOf(source) {
|
|
28
|
+
return source in NAMED_SOURCES ? NAMED_SOURCES[source].reader : source;
|
|
29
|
+
}
|
|
30
|
+
export const IMPORT_BOOKS_DESCRIPTION = "Takes over the books a user kept elsewhere — a FEC, an export of journal items, a journal report, a trial balance, or the export of " +
|
|
31
|
+
NAMED_SOURCE_KEYS.join(' or ') +
|
|
32
|
+
" by name — whole or not at all. Each file is read by the reader of its source; every account of the old chart is matched to one of this company's chart (proposed from the codes, never from a country: the same code, the same digits without the padding zeros, or the longest beginning of three digits or more) and every old journal to a journal of the company. Call it with dry_run first: it returns the correspondence proposed, what is unanswered, and — when everything is answered — what the database would write, rehearsed and rolled back. Show it to the user, let them correct the correspondence, and call again with it and without dry_run. Every entry is posted through post_entry(); a trial balance becomes the opening entry. Imported lines carry no tax and feed no VAT box. The same files twice are refused. Ask the user before the real call.";
|
|
33
|
+
export const ImportBooksInput = z.object({
|
|
34
|
+
company_id: companyId,
|
|
35
|
+
source: z
|
|
36
|
+
.enum([...BOOK_SOURCES, ...NAMED_SOURCE_KEYS])
|
|
37
|
+
.describe('What the files are, never guessed from their content: ' +
|
|
38
|
+
BOOK_SOURCES.map((source) => `\`${source}\` — ${BOOK_SOURCE_DESCRIPTIONS[source]}`).join('; ') +
|
|
39
|
+
'. By the software that wrote them: ' +
|
|
40
|
+
NAMED_SOURCE_KEYS.map((name) => `\`${name}\` reads ${NAMED_SOURCES[name].export} (the same as \`${NAMED_SOURCES[name].reader}\`)`).join('; ') +
|
|
41
|
+
'. A bank statement is not books: it goes through import_bank_statement.'),
|
|
42
|
+
files: z
|
|
43
|
+
.array(z.object({
|
|
44
|
+
name: z.string().min(1).describe('The name the file had, kept on the record of the import.'),
|
|
45
|
+
content: z.string().min(1).describe('The file itself, as text (UTF-8).'),
|
|
46
|
+
}))
|
|
47
|
+
.min(1)
|
|
48
|
+
.describe('The files of one source, in the order given. `journal-items` and `journal-report` take the chart of accounts and the parties beside the lines, each recognised by its header; the others take one file.'),
|
|
49
|
+
mapping: z
|
|
50
|
+
.object({
|
|
51
|
+
accounts: z.record(z.string(), z.string().nullable()).optional().describe('Old account code → code of this company\'s chart.'),
|
|
52
|
+
journals: z
|
|
53
|
+
.record(z.string(), z.string().nullable())
|
|
54
|
+
.optional()
|
|
55
|
+
.describe(`Old journal → code of a journal of this company, or \`${OPENING}\` for the entries that are the opening balance. \`${NO_JOURNAL}\` stands for entries the source gives no journal.`),
|
|
56
|
+
})
|
|
57
|
+
.optional()
|
|
58
|
+
.describe('The correspondence, as a previous call with dry_run returned it and the user completed it. What it answers wins over the proposal.'),
|
|
59
|
+
dry_run: z.boolean().optional().describe('Show what would be written — the correspondence proposed, the entries, the numbers — and write nothing. Always first, and the user reads it before the real call.'),
|
|
60
|
+
open_years: z.boolean().optional().describe('Open the fiscal years the entries fall in where the company has none, on the length and first day of its own. Off, such an entry is refused by name.'),
|
|
61
|
+
opening_date: isoDate.optional().describe('For a trial balance: the first day of the fiscal year it opens. The file does not say it.'),
|
|
62
|
+
allow_result_accounts: z.boolean().optional().describe('Let an opening balance carry income and expense accounts: books taken over in the middle of a year.'),
|
|
63
|
+
keep_numbers: z.boolean().optional().describe('Post each entry under the number it had. Where the country forbids a hole in the sequence it takes the entries.import capability; left out, the journal draws the numbers and the old one is kept as the reference.'),
|
|
64
|
+
date_order: z.enum(['dmy', 'mdy', 'ymd']).optional().describe('For `journal-report`: the order of a date written only in digits, which the file does not say.'),
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Books from another system, all of them or none, through `importBooks()` of
|
|
68
|
+
* the core — the function `ekwo import` calls.
|
|
69
|
+
*/
|
|
70
|
+
export async function importBooksTool(backend, args) {
|
|
71
|
+
return importBooks(backend, {
|
|
72
|
+
company_id: args.company_id,
|
|
73
|
+
source: sourceOf(args.source),
|
|
74
|
+
files: args.files,
|
|
75
|
+
mapping: args.mapping,
|
|
76
|
+
dry_run: args.dry_run,
|
|
77
|
+
open_years: args.open_years,
|
|
78
|
+
opening_date: args.opening_date,
|
|
79
|
+
allow_result_accounts: args.allow_result_accounts,
|
|
80
|
+
keep_numbers: args.keep_numbers,
|
|
81
|
+
date_order: args.date_order,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=import-books.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-books.js","sourceRoot":"","sources":["../../src/tools/import-books.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/write.d.ts
CHANGED
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { z } from 'zod';
|
|
17
17
|
import { type Backend } from '../backend.js';
|
|
18
|
-
export
|
|
18
|
+
export * from './import-books.js';
|
|
19
|
+
export { cancelDocument, createContact, createDocument, postDocument, reconcile, recordPayment, reverseEntry, undoDocument, unreconcile, updateDocumentLines, } from '@ekwo-ai/core';
|
|
19
20
|
export declare const CreateContactInput: z.ZodObject<{
|
|
20
21
|
company_id: z.ZodString;
|
|
21
22
|
name: z.ZodString;
|
|
@@ -148,6 +149,15 @@ export declare const PostDocumentInput: z.ZodObject<{
|
|
|
148
149
|
document_id: z.ZodString;
|
|
149
150
|
dry_run: z.ZodOptional<z.ZodBoolean>;
|
|
150
151
|
}, z.core.$strip>;
|
|
152
|
+
export declare const CancelDocumentInput: z.ZodObject<{
|
|
153
|
+
document_id: z.ZodString;
|
|
154
|
+
date: z.ZodOptional<z.ZodString>;
|
|
155
|
+
credit_note: z.ZodOptional<z.ZodBoolean>;
|
|
156
|
+
}, z.core.$strip>;
|
|
157
|
+
export declare const ReverseEntryInput: z.ZodObject<{
|
|
158
|
+
entry_id: z.ZodString;
|
|
159
|
+
date: z.ZodOptional<z.ZodString>;
|
|
160
|
+
}, z.core.$strip>;
|
|
151
161
|
export declare const RecordPaymentInput: z.ZodObject<{
|
|
152
162
|
company_id: z.ZodString;
|
|
153
163
|
direction: z.ZodOptional<z.ZodEnum<{
|
|
@@ -217,8 +227,14 @@ export declare function createBankTransaction(backend: Backend, args: z.infer<ty
|
|
|
217
227
|
* The statement formats this server has a reader for. A pack names more than
|
|
218
228
|
* these — MT940, OFX, BAI2 — and a format is offered here the day a brick
|
|
219
229
|
* reads it, not the day a pack mentions it.
|
|
230
|
+
*
|
|
231
|
+
* The list moved to the core when a second caller needed it: `describePack()`
|
|
232
|
+
* of the command line answers, for every format a pack names, read or not yet,
|
|
233
|
+
* and it cannot reach this package — the command line depends on the core and
|
|
234
|
+
* on one driver, and a list of three strings is not a reason to make it depend
|
|
235
|
+
* on an MCP server. It is exported from here under the name it always had.
|
|
220
236
|
*/
|
|
221
|
-
export
|
|
237
|
+
export { STATEMENT_FORMATS } from '@ekwo-ai/core';
|
|
222
238
|
export declare const ImportBankStatementInput: z.ZodObject<{
|
|
223
239
|
company_id: z.ZodString;
|
|
224
240
|
format: z.ZodEnum<{
|
|
@@ -232,6 +248,11 @@ export declare const ImportBankStatementInput: z.ZodObject<{
|
|
|
232
248
|
bank_account_id: z.ZodOptional<z.ZodString>;
|
|
233
249
|
iban_country: z.ZodOptional<z.ZodString>;
|
|
234
250
|
}, z.core.$strip>;
|
|
251
|
+
/**
|
|
252
|
+
* Reads the file with the brick of its format and hands the statements to
|
|
253
|
+
* `import_bank_statement()`. The reading moved to the core when the command
|
|
254
|
+
* line needed it too (`ekwo import camt.053 <file>`); this is the same call.
|
|
255
|
+
*/
|
|
235
256
|
export declare function importBankStatement(backend: Backend, args: z.infer<typeof ImportBankStatementInput>): Promise<unknown>;
|
|
236
257
|
export declare const CreateCompanyInput: z.ZodObject<{
|
|
237
258
|
name: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/write.js
CHANGED
|
@@ -13,19 +13,16 @@
|
|
|
13
13
|
* `period_locked:` raise is not an error to be worked around by moving a
|
|
14
14
|
* date; it is the company telling the assistant that the month is closed.
|
|
15
15
|
*/
|
|
16
|
-
import { createHash } from 'node:crypto';
|
|
17
|
-
import { StatementFileError, readCamt053 } from '@ekwo-ai/camt053';
|
|
18
|
-
import { StatementFileError as Cfonb120FileError, readCfonb120 } from '@ekwo-ai/cfonb120';
|
|
19
|
-
import { StatementFileError as CodaFileError, readCoda } from '@ekwo-ai/coda';
|
|
20
16
|
import { z } from 'zod';
|
|
21
17
|
import { EkwoMcpError } from '../backend.js';
|
|
22
|
-
import { DOC_TYPES, amountIn, columns, companyCurrency, idsByCode, moneyFields, only, } from '@ekwo-ai/core';
|
|
18
|
+
import { DOC_TYPES, STATEMENT_FORMATS, amountIn, columns, companyCurrency, idsByCode, importStatementFile, moneyFields, only, } from '@ekwo-ai/core';
|
|
23
19
|
import { companyId, isoDate, uuid } from './read.js';
|
|
20
|
+
export * from './import-books.js';
|
|
24
21
|
// What a contact, a document, a payment and a matching are written with moved
|
|
25
22
|
// to the core, where the command line calls the same functions. The inputs a
|
|
26
23
|
// model fills in stay here, beside their descriptions; the functions are
|
|
27
24
|
// exported from here under the names they always had.
|
|
28
|
-
export { createContact, createDocument, postDocument, reconcile, recordPayment, unreconcile, updateDocumentLines, } from '@ekwo-ai/core';
|
|
25
|
+
export { cancelDocument, createContact, createDocument, postDocument, reconcile, recordPayment, reverseEntry, undoDocument, unreconcile, updateDocumentLines, } from '@ekwo-ai/core';
|
|
29
26
|
// ---------------------------------------------------------------------------
|
|
30
27
|
// Contacts
|
|
31
28
|
// ---------------------------------------------------------------------------
|
|
@@ -246,6 +243,25 @@ export const PostDocumentInput = z.object({
|
|
|
246
243
|
.optional()
|
|
247
244
|
.describe('True: the database posts for real and takes it back, and the entry it would have written is returned. Nothing is written; a refusal is the one posting would give.'),
|
|
248
245
|
});
|
|
246
|
+
export const CancelDocumentInput = z.object({
|
|
247
|
+
document_id: uuid.describe('The posted sale or purchase invoice to undo.'),
|
|
248
|
+
date: isoDate
|
|
249
|
+
.optional()
|
|
250
|
+
.describe("The day a credit note is issued and booked on. Given, it asks for the credit note. Left out: the invoice's own booking day, and refused by name (reversal_date_needed) when that period is no longer open — then ask the user which open date to use; never pick one."),
|
|
251
|
+
credit_note: z
|
|
252
|
+
.boolean()
|
|
253
|
+
.optional()
|
|
254
|
+
.describe('True: undo it with a credit note even where it could go back to draft — the user wants the correction on the record.'),
|
|
255
|
+
});
|
|
256
|
+
// ---------------------------------------------------------------------------
|
|
257
|
+
// Undoing an entry
|
|
258
|
+
// ---------------------------------------------------------------------------
|
|
259
|
+
export const ReverseEntryInput = z.object({
|
|
260
|
+
entry_id: uuid.describe("The posted entry to undo. An entry a document wrote is undone with the document, by cancel_document."),
|
|
261
|
+
date: isoDate
|
|
262
|
+
.optional()
|
|
263
|
+
.describe("The day the reversal is booked on. Left out: the original entry's day, and refused by name (reversal_date_needed) when that period is no longer open — then ask the user which open date to use; never pick one."),
|
|
264
|
+
});
|
|
249
265
|
// ---------------------------------------------------------------------------
|
|
250
266
|
// Payments and matching
|
|
251
267
|
// ---------------------------------------------------------------------------
|
|
@@ -411,14 +427,14 @@ export async function createBankTransaction(backend, args) {
|
|
|
411
427
|
* The statement formats this server has a reader for. A pack names more than
|
|
412
428
|
* these — MT940, OFX, BAI2 — and a format is offered here the day a brick
|
|
413
429
|
* reads it, not the day a pack mentions it.
|
|
430
|
+
*
|
|
431
|
+
* The list moved to the core when a second caller needed it: `describePack()`
|
|
432
|
+
* of the command line answers, for every format a pack names, read or not yet,
|
|
433
|
+
* and it cannot reach this package — the command line depends on the core and
|
|
434
|
+
* on one driver, and a list of three strings is not a reason to make it depend
|
|
435
|
+
* on an MCP server. It is exported from here under the name it always had.
|
|
414
436
|
*/
|
|
415
|
-
export
|
|
416
|
-
/** What each format is delivered as, for the attachment the caller may have stored. */
|
|
417
|
-
const STATEMENT_MIME_TYPES = {
|
|
418
|
-
'camt.053': 'application/xml',
|
|
419
|
-
coda: 'text/plain',
|
|
420
|
-
cfonb120: 'text/plain',
|
|
421
|
-
};
|
|
437
|
+
export { STATEMENT_FORMATS } from '@ekwo-ai/core';
|
|
422
438
|
export const ImportBankStatementInput = z.object({
|
|
423
439
|
company_id: companyId,
|
|
424
440
|
format: z
|
|
@@ -440,51 +456,13 @@ export const ImportBankStatementInput = z.object({
|
|
|
440
456
|
.optional()
|
|
441
457
|
.describe('Only for `cfonb120`, which identifies an account by a bank code, a branch code and a number, and names no country. With the two letters of the country the account is held in, the statement is matched on the IBAN those make there; left out, on the three joined, as written. Never guessed.'),
|
|
442
458
|
});
|
|
459
|
+
/**
|
|
460
|
+
* Reads the file with the brick of its format and hands the statements to
|
|
461
|
+
* `import_bank_statement()`. The reading moved to the core when the command
|
|
462
|
+
* line needed it too (`ekwo import camt.053 <file>`); this is the same call.
|
|
463
|
+
*/
|
|
443
464
|
export async function importBankStatement(backend, args) {
|
|
444
|
-
|
|
445
|
-
try {
|
|
446
|
-
if (args.format === 'coda')
|
|
447
|
-
file = readCoda(args.content);
|
|
448
|
-
else if (args.format === 'cfonb120') {
|
|
449
|
-
file = readCfonb120(args.content, args.iban_country === undefined ? {} : { ibanCountry: args.iban_country });
|
|
450
|
-
}
|
|
451
|
-
else
|
|
452
|
-
file = readCamt053(args.content);
|
|
453
|
-
}
|
|
454
|
-
catch (error) {
|
|
455
|
-
if (error instanceof StatementFileError ||
|
|
456
|
-
error instanceof CodaFileError ||
|
|
457
|
-
error instanceof Cfonb120FileError) {
|
|
458
|
-
throw new EkwoMcpError(`unreadable_statement_file: ${error.message}`, {
|
|
459
|
-
code: error.code,
|
|
460
|
-
hint: `Nothing was imported. The file is not a ${args.format} this server can read; the message says what stopped it.`,
|
|
461
|
-
});
|
|
462
|
-
}
|
|
463
|
-
throw error;
|
|
464
|
-
}
|
|
465
|
-
const bytes = Buffer.from(args.content, 'utf8');
|
|
466
|
-
const source = {
|
|
467
|
-
file_name: args.file_name ?? null,
|
|
468
|
-
checksum: `sha256:${createHash('sha256').update(bytes).digest('hex')}`,
|
|
469
|
-
byte_size: bytes.byteLength,
|
|
470
|
-
mime_type: STATEMENT_MIME_TYPES[args.format],
|
|
471
|
-
storage_path: args.storage_path ?? null,
|
|
472
|
-
};
|
|
473
|
-
const statements = await backend.rpc('import_bank_statement', {
|
|
474
|
-
p_company_id: args.company_id,
|
|
475
|
-
p_file: file,
|
|
476
|
-
p_source: source,
|
|
477
|
-
...(args.bank_account_id !== undefined ? { p_bank_account_id: args.bank_account_id } : {}),
|
|
478
|
-
});
|
|
479
|
-
return {
|
|
480
|
-
format: args.format,
|
|
481
|
-
version: file.version,
|
|
482
|
-
version_verified: 'versionVerified' in file ? file.versionVerified : null,
|
|
483
|
-
checksum: source.checksum,
|
|
484
|
-
statements,
|
|
485
|
-
violations: file.violations,
|
|
486
|
-
note: 'A statement is not an entry: every imported line waits as `pending`, and nothing was booked or paid. Importing the same file again creates nothing; a statement that overlaps an earlier one imports only what is new (`lines_known` is the rest). `warnings` names a missing statement — an opening balance that is not the previous closing one — which is signalled and never refused.',
|
|
487
|
-
};
|
|
465
|
+
return importStatementFile(backend, args);
|
|
488
466
|
}
|
|
489
467
|
// ---------------------------------------------------------------------------
|
|
490
468
|
// Locks
|
package/dist/tools/write.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The server before anybody has told it where the books are.
|
|
3
|
+
*
|
|
4
|
+
* An MCP client lists a server's tools the moment it is added, and so do the
|
|
5
|
+
* directories that index servers — they start the package with no
|
|
6
|
+
* environment and ask for `tools/list`. A server that exits on a missing
|
|
7
|
+
* variable shows up there as "failed to start", and in Claude Desktop as a red
|
|
8
|
+
* dot with the reason buried in a log file. So when the connection is simply
|
|
9
|
+
* *absent*, the server starts anyway, offers its tools, and every call answers
|
|
10
|
+
* with what to set and where. Nothing is connected and nothing is guessed:
|
|
11
|
+
* there is no default database, and no tool pretends to have read one.
|
|
12
|
+
*
|
|
13
|
+
* Only absence is forgiven. A `service_role` key or a malformed user id is a
|
|
14
|
+
* configuration somebody wrote, and it is refused at start as before.
|
|
15
|
+
*/
|
|
16
|
+
import { type Backend } from './backend.js';
|
|
17
|
+
/** Whether a configuration error only says that something is missing. */
|
|
18
|
+
export declare function isMissingConfiguration(error: unknown): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* A backend that refuses every call with the reason the server has none.
|
|
21
|
+
*
|
|
22
|
+
* `mode` says `postgrest` because that is the route the message recommends;
|
|
23
|
+
* no call reaches the point where it is read.
|
|
24
|
+
*/
|
|
25
|
+
export declare function unconfiguredBackend(reason: Error): Backend;
|
|
26
|
+
//# sourceMappingURL=unconfigured.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unconfigured.d.ts","sourceRoot":"","sources":["../src/unconfigured.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAQ1D,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9D;AASD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAmB1D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The server before anybody has told it where the books are.
|
|
3
|
+
*
|
|
4
|
+
* An MCP client lists a server's tools the moment it is added, and so do the
|
|
5
|
+
* directories that index servers — they start the package with no
|
|
6
|
+
* environment and ask for `tools/list`. A server that exits on a missing
|
|
7
|
+
* variable shows up there as "failed to start", and in Claude Desktop as a red
|
|
8
|
+
* dot with the reason buried in a log file. So when the connection is simply
|
|
9
|
+
* *absent*, the server starts anyway, offers its tools, and every call answers
|
|
10
|
+
* with what to set and where. Nothing is connected and nothing is guessed:
|
|
11
|
+
* there is no default database, and no tool pretends to have read one.
|
|
12
|
+
*
|
|
13
|
+
* Only absence is forgiven. A `service_role` key or a malformed user id is a
|
|
14
|
+
* configuration somebody wrote, and it is refused at start as before.
|
|
15
|
+
*/
|
|
16
|
+
import { ENV } from './config.js';
|
|
17
|
+
import { EkwoMcpError } from './backend.js';
|
|
18
|
+
/**
|
|
19
|
+
* The refusals of `readConfig` that mean "nothing, or not enough, was set".
|
|
20
|
+
* Everything else it raises is a value that is there and wrong.
|
|
21
|
+
*/
|
|
22
|
+
const ABSENT = ['missing_configuration', 'missing_credentials', 'missing_act_as_user'];
|
|
23
|
+
/** Whether a configuration error only says that something is missing. */
|
|
24
|
+
export function isMissingConfiguration(error) {
|
|
25
|
+
if (!(error instanceof EkwoMcpError))
|
|
26
|
+
return false;
|
|
27
|
+
return ABSENT.some((code) => error.message.startsWith(`${code}:`));
|
|
28
|
+
}
|
|
29
|
+
const HINT = `Add the variables to the "env" block of this server in claude_desktop_config.json or .mcp.json, then restart the client. ` +
|
|
30
|
+
`Recommended: ${ENV.supabaseUrl}, ${ENV.anonKey} (the anon key, never the service_role key) and either ${ENV.email} with ${ENV.password} or ${ENV.accessToken}. ` +
|
|
31
|
+
`Self-hosted without PostgREST: ${ENV.dbUrl} and ${ENV.actAsUserId}. ` +
|
|
32
|
+
'No database yet: `npx ekwo-os init` installs the schema into a Supabase project or a Postgres. ' +
|
|
33
|
+
'Tell the user this; do not retry the call.';
|
|
34
|
+
/**
|
|
35
|
+
* A backend that refuses every call with the reason the server has none.
|
|
36
|
+
*
|
|
37
|
+
* `mode` says `postgrest` because that is the route the message recommends;
|
|
38
|
+
* no call reaches the point where it is read.
|
|
39
|
+
*/
|
|
40
|
+
export function unconfiguredBackend(reason) {
|
|
41
|
+
const refuse = () => Promise.reject(new EkwoMcpError(`not_configured: this server has no connection to an Ekwo database yet. ${reason.message}`, {
|
|
42
|
+
code: 'not_configured',
|
|
43
|
+
hint: HINT,
|
|
44
|
+
}));
|
|
45
|
+
return {
|
|
46
|
+
mode: 'postgrest',
|
|
47
|
+
actingAs: undefined,
|
|
48
|
+
rpc: refuse,
|
|
49
|
+
rpcVoid: refuse,
|
|
50
|
+
select: refuse,
|
|
51
|
+
insert: refuse,
|
|
52
|
+
update: refuse,
|
|
53
|
+
remove: refuse,
|
|
54
|
+
close: () => Promise.resolve(),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=unconfigured.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unconfigured.js","sourceRoot":"","sources":["../src/unconfigured.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,YAAY,EAAgB,MAAM,cAAc,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,GAAG,CAAC,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,CAAU,CAAC;AAEhG,yEAAyE;AACzE,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,IAAI,GACR,2HAA2H;IAC3H,gBAAgB,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,OAAO,0DAA0D,GAAG,CAAC,KAAK,SAAS,GAAG,CAAC,QAAQ,OAAO,GAAG,CAAC,WAAW,IAAI;IACjK,kCAAkC,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,WAAW,IAAI;IACtE,iGAAiG;IACjG,4CAA4C,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAa;IAC/C,MAAM,MAAM,GAAG,GAAmB,EAAE,CAClC,OAAO,CAAC,MAAM,CACZ,IAAI,YAAY,CAAC,0EAA0E,MAAM,CAAC,OAAO,EAAE,EAAE;QAC3G,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,IAAI;KACX,CAAC,CACH,CAAC;IACJ,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,SAAS;QACnB,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;KAC/B,CAAC;AACJ,CAAC"}
|