noxctl 0.1.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/LICENSE +21 -0
- package/README.md +326 -0
- package/dist/auth.d.ts +29 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +267 -0
- package/dist/auth.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1012 -0
- package/dist/cli.js.map +1 -0
- package/dist/credentials-store.d.ts +4 -0
- package/dist/credentials-store.d.ts.map +1 -0
- package/dist/credentials-store.js +223 -0
- package/dist/credentials-store.js.map +1 -0
- package/dist/formatter.d.ts +62 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +200 -0
- package/dist/formatter.js.map +1 -0
- package/dist/fortnox-client.d.ts +27 -0
- package/dist/fortnox-client.d.ts.map +1 -0
- package/dist/fortnox-client.js +178 -0
- package/dist/fortnox-client.js.map +1 -0
- package/dist/identifiers.d.ts +4 -0
- package/dist/identifiers.d.ts.map +1 -0
- package/dist/identifiers.js +16 -0
- package/dist/identifiers.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/operations/accounts.d.ts +18 -0
- package/dist/operations/accounts.d.ts.map +1 -0
- package/dist/operations/accounts.js +28 -0
- package/dist/operations/accounts.js.map +1 -0
- package/dist/operations/articles.d.ts +20 -0
- package/dist/operations/articles.d.ts.map +1 -0
- package/dist/operations/articles.js +36 -0
- package/dist/operations/articles.js.map +1 -0
- package/dist/operations/company.d.ts +2 -0
- package/dist/operations/company.d.ts.map +1 -0
- package/dist/operations/company.js +6 -0
- package/dist/operations/company.js.map +1 -0
- package/dist/operations/customers.d.ts +20 -0
- package/dist/operations/customers.d.ts.map +1 -0
- package/dist/operations/customers.js +37 -0
- package/dist/operations/customers.js.map +1 -0
- package/dist/operations/financial-reports.d.ts +37 -0
- package/dist/operations/financial-reports.d.ts.map +1 -0
- package/dist/operations/financial-reports.js +193 -0
- package/dist/operations/financial-reports.js.map +1 -0
- package/dist/operations/invoices.d.ts +32 -0
- package/dist/operations/invoices.d.ts.map +1 -0
- package/dist/operations/invoices.js +74 -0
- package/dist/operations/invoices.js.map +1 -0
- package/dist/operations/supplier-invoices.d.ts +23 -0
- package/dist/operations/supplier-invoices.d.ts.map +1 -0
- package/dist/operations/supplier-invoices.js +36 -0
- package/dist/operations/supplier-invoices.js.map +1 -0
- package/dist/operations/suppliers.d.ts +20 -0
- package/dist/operations/suppliers.d.ts.map +1 -0
- package/dist/operations/suppliers.js +36 -0
- package/dist/operations/suppliers.js.map +1 -0
- package/dist/operations/tax.d.ts +26 -0
- package/dist/operations/tax.d.ts.map +1 -0
- package/dist/operations/tax.js +47 -0
- package/dist/operations/tax.js.map +1 -0
- package/dist/operations/vouchers.d.ts +22 -0
- package/dist/operations/vouchers.d.ts.map +1 -0
- package/dist/operations/vouchers.js +41 -0
- package/dist/operations/vouchers.js.map +1 -0
- package/dist/tool-output.d.ts +16 -0
- package/dist/tool-output.d.ts.map +1 -0
- package/dist/tool-output.js +48 -0
- package/dist/tool-output.js.map +1 -0
- package/dist/tools/articles.d.ts +3 -0
- package/dist/tools/articles.d.ts.map +1 -0
- package/dist/tools/articles.js +75 -0
- package/dist/tools/articles.js.map +1 -0
- package/dist/tools/bookkeeping.d.ts +3 -0
- package/dist/tools/bookkeeping.d.ts.map +1 -0
- package/dist/tools/bookkeeping.js +82 -0
- package/dist/tools/bookkeeping.js.map +1 -0
- package/dist/tools/company.d.ts +3 -0
- package/dist/tools/company.d.ts.map +1 -0
- package/dist/tools/company.js +13 -0
- package/dist/tools/company.js.map +1 -0
- package/dist/tools/customers.d.ts +3 -0
- package/dist/tools/customers.d.ts.map +1 -0
- package/dist/tools/customers.js +75 -0
- package/dist/tools/customers.js.map +1 -0
- package/dist/tools/financial-reports.d.ts +3 -0
- package/dist/tools/financial-reports.d.ts.map +1 -0
- package/dist/tools/financial-reports.js +35 -0
- package/dist/tools/financial-reports.js.map +1 -0
- package/dist/tools/invoices.d.ts +3 -0
- package/dist/tools/invoices.d.ts.map +1 -0
- package/dist/tools/invoices.js +160 -0
- package/dist/tools/invoices.js.map +1 -0
- package/dist/tools/status.d.ts +3 -0
- package/dist/tools/status.d.ts.map +1 -0
- package/dist/tools/status.js +109 -0
- package/dist/tools/status.js.map +1 -0
- package/dist/tools/supplier-invoices.d.ts +3 -0
- package/dist/tools/supplier-invoices.d.ts.map +1 -0
- package/dist/tools/supplier-invoices.js +88 -0
- package/dist/tools/supplier-invoices.js.map +1 -0
- package/dist/tools/suppliers.d.ts +3 -0
- package/dist/tools/suppliers.d.ts.map +1 -0
- package/dist/tools/suppliers.js +77 -0
- package/dist/tools/suppliers.js.map +1 -0
- package/dist/tools/tax.d.ts +3 -0
- package/dist/tools/tax.d.ts.map +1 -0
- package/dist/tools/tax.js +18 -0
- package/dist/tools/tax.js.map +1 -0
- package/dist/views.d.ts +19 -0
- package/dist/views.d.ts.map +1 -0
- package/dist/views.js +165 -0
- package/dist/views.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../src/tools/invoices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuH3D"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { textResponse } from '../tool-output.js';
|
|
2
|
+
export function registerStatusTools(server) {
|
|
3
|
+
server.tool('fortnox_status', 'Diagnostik: kontrollera anslutning, autentisering och behörigheter (scopes). Motsvarar CLI-kommandot `noxctl doctor`.', {}, async () => {
|
|
4
|
+
const lines = [];
|
|
5
|
+
let ok = true;
|
|
6
|
+
function pass(label, detail) {
|
|
7
|
+
lines.push(`✓ ${label}${detail ? ` — ${detail}` : ''}`);
|
|
8
|
+
}
|
|
9
|
+
function fail(label, detail) {
|
|
10
|
+
ok = false;
|
|
11
|
+
lines.push(`✗ ${label}${detail ? ` — ${detail}` : ''}`);
|
|
12
|
+
}
|
|
13
|
+
// 1. Node version
|
|
14
|
+
const nodeVersion = process.versions.node;
|
|
15
|
+
const major = parseInt(nodeVersion.split('.')[0], 10);
|
|
16
|
+
if (major >= 20) {
|
|
17
|
+
pass('Node.js', `v${nodeVersion}`);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
fail('Node.js', `v${nodeVersion} (need 20+)`);
|
|
21
|
+
}
|
|
22
|
+
// 2. Credentials
|
|
23
|
+
const { loadCredentials } = await import('../auth.js');
|
|
24
|
+
const creds = await loadCredentials();
|
|
25
|
+
if (!creds) {
|
|
26
|
+
fail('Credentials', 'not found — run `noxctl init` to set up');
|
|
27
|
+
lines.push('');
|
|
28
|
+
lines.push(ok ? 'All checks passed.' : 'Some checks failed.');
|
|
29
|
+
return textResponse(lines.join('\n'));
|
|
30
|
+
}
|
|
31
|
+
pass('Credentials', 'found');
|
|
32
|
+
// 3. Client ID
|
|
33
|
+
if (creds.client_id) {
|
|
34
|
+
pass('Client ID', `${creds.client_id.slice(0, 8)}...`);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
fail('Client ID', 'missing');
|
|
38
|
+
}
|
|
39
|
+
// 4. Service account
|
|
40
|
+
if (creds.tenant_id) {
|
|
41
|
+
pass('Service account', `tenant ${creds.tenant_id}`);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
pass('Service account', 'not configured (using refresh token flow)');
|
|
45
|
+
}
|
|
46
|
+
// 5. Token expiry
|
|
47
|
+
const now = Date.now();
|
|
48
|
+
if (creds.expires_at > now) {
|
|
49
|
+
const minutesLeft = Math.round((creds.expires_at - now) / 60000);
|
|
50
|
+
pass('Access token', `valid for ~${minutesLeft} min`);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
pass('Access token', 'expired (will auto-refresh on next request)');
|
|
54
|
+
}
|
|
55
|
+
// 6. API connectivity
|
|
56
|
+
try {
|
|
57
|
+
const { getCompanyInfo } = await import('../operations/company.js');
|
|
58
|
+
const data = await getCompanyInfo();
|
|
59
|
+
const company = data;
|
|
60
|
+
const name = company['CompanyName'] || 'unknown';
|
|
61
|
+
pass('API connection', `${name}`);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
65
|
+
fail('API connection', msg);
|
|
66
|
+
lines.push('');
|
|
67
|
+
lines.push(ok ? 'All checks passed.' : 'Some checks failed.');
|
|
68
|
+
return textResponse(lines.join('\n'));
|
|
69
|
+
}
|
|
70
|
+
// 7. Scope validation
|
|
71
|
+
const { SCOPES } = await import('../auth.js');
|
|
72
|
+
const { fortnoxRequest, FortnoxApiError } = await import('../fortnox-client.js');
|
|
73
|
+
const scopeEndpoints = {
|
|
74
|
+
article: 'articles?limit=1',
|
|
75
|
+
customer: 'customers?limit=1',
|
|
76
|
+
invoice: 'invoices?limit=1',
|
|
77
|
+
supplier: 'suppliers?limit=1',
|
|
78
|
+
supplierinvoice: 'supplierinvoices?limit=1',
|
|
79
|
+
bookkeeping: 'vouchers?limit=1',
|
|
80
|
+
companyinformation: 'companyinformation',
|
|
81
|
+
settings: 'settings/company',
|
|
82
|
+
};
|
|
83
|
+
const required = SCOPES.split(' ');
|
|
84
|
+
const missing = [];
|
|
85
|
+
for (const scope of required) {
|
|
86
|
+
const endpoint = scopeEndpoints[scope];
|
|
87
|
+
if (!endpoint)
|
|
88
|
+
continue;
|
|
89
|
+
try {
|
|
90
|
+
await fortnoxRequest(endpoint);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
if (err instanceof FortnoxApiError && err.statusCode === 403) {
|
|
94
|
+
missing.push(scope);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (missing.length === 0) {
|
|
99
|
+
pass('Scopes', `all ${required.length} scopes authorized`);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
fail('Scopes', `missing: ${missing.join(', ')}. Enable them in your Fortnox app at developer.fortnox.se`);
|
|
103
|
+
}
|
|
104
|
+
lines.push('');
|
|
105
|
+
lines.push(ok ? 'All checks passed.' : 'Some checks failed.');
|
|
106
|
+
return textResponse(lines.join('\n'));
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supplier-invoices.d.ts","sourceRoot":"","sources":["../../src/tools/supplier-invoices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BpE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0GpE"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { listSupplierInvoices, getSupplierInvoice, createSupplierInvoice, bookkeepSupplierInvoice, } from '../operations/supplier-invoices.js';
|
|
3
|
+
import { supplierInvoiceListColumns, supplierInvoiceDetailColumns, supplierInvoiceConfirmColumns, } from '../views.js';
|
|
4
|
+
import { detailResponse, dryRunResponse, listResponse, requireConfirmation, } from '../tool-output.js';
|
|
5
|
+
const SupplierInvoiceRowSchema = z.object({
|
|
6
|
+
Account: z.number().describe('Kontonummer'),
|
|
7
|
+
Debit: z.number().optional().describe('Debetbelopp'),
|
|
8
|
+
Credit: z.number().optional().describe('Kreditbelopp'),
|
|
9
|
+
Description: z.string().optional().describe('Beskrivning'),
|
|
10
|
+
});
|
|
11
|
+
export function registerSupplierInvoiceTools(server) {
|
|
12
|
+
server.tool('fortnox_list_supplier_invoices', 'Lista leverantörsfakturor i Fortnox. Returnerar: GivenNumber, SupplierName, InvoiceDate, DueDate, Total, Balance.', {
|
|
13
|
+
filter: z
|
|
14
|
+
.enum(['fullypaid', 'cancelled', 'unpaid', 'unpaidoverdue', 'unbooked', 'pendingpayment'])
|
|
15
|
+
.optional()
|
|
16
|
+
.describe('Filter: fullypaid, cancelled, unpaid, unpaidoverdue, unbooked, pendingpayment'),
|
|
17
|
+
supplierNumber: z.string().optional().describe('Filtrera på leverantörsnummer'),
|
|
18
|
+
fromDate: z.string().optional().describe('Från datum (YYYY-MM-DD)'),
|
|
19
|
+
toDate: z.string().optional().describe('Till datum (YYYY-MM-DD)'),
|
|
20
|
+
page: z.number().optional().describe('Sidnummer (default 1)'),
|
|
21
|
+
limit: z.number().optional().describe('Antal per sida (default 100, max 500)'),
|
|
22
|
+
all: z.boolean().optional().describe('Hämta alla sidor (ignorerar page/limit)'),
|
|
23
|
+
includeRaw: z.boolean().optional().describe('Inkludera rå JSON från Fortnox'),
|
|
24
|
+
}, async ({ filter, supplierNumber, fromDate, toDate, page, limit, all, includeRaw }) => {
|
|
25
|
+
const data = await listSupplierInvoices({
|
|
26
|
+
filter,
|
|
27
|
+
supplierNumber,
|
|
28
|
+
fromDate,
|
|
29
|
+
toDate,
|
|
30
|
+
page,
|
|
31
|
+
limit,
|
|
32
|
+
all,
|
|
33
|
+
});
|
|
34
|
+
return listResponse(data.SupplierInvoices ?? [], supplierInvoiceListColumns, data, data.MetaInformation, includeRaw);
|
|
35
|
+
});
|
|
36
|
+
server.tool('fortnox_get_supplier_invoice', 'Hämta en enskild leverantörsfaktura från Fortnox. Returnerar: GivenNumber, SupplierNumber, SupplierName, InvoiceNumber, InvoiceDate, DueDate, Total, Balance, Currency, Booked, OCR, Comments.', {
|
|
37
|
+
givenNumber: z.string().describe('Leverantörsfakturanummer (GivenNumber)'),
|
|
38
|
+
includeRaw: z.boolean().optional().describe('Inkludera rå JSON från Fortnox'),
|
|
39
|
+
}, async ({ givenNumber, includeRaw }) => {
|
|
40
|
+
const data = await getSupplierInvoice(givenNumber);
|
|
41
|
+
return detailResponse(data, supplierInvoiceDetailColumns, data, includeRaw);
|
|
42
|
+
});
|
|
43
|
+
server.tool('fortnox_create_supplier_invoice', 'Skapa en leverantörsfaktura i Fortnox', {
|
|
44
|
+
SupplierNumber: z.string().describe('Leverantörsnummer'),
|
|
45
|
+
InvoiceNumber: z.string().optional().describe('Leverantörens fakturanummer'),
|
|
46
|
+
InvoiceDate: z.string().optional().describe('Fakturadatum (YYYY-MM-DD)'),
|
|
47
|
+
DueDate: z.string().optional().describe('Förfallodatum (YYYY-MM-DD)'),
|
|
48
|
+
Total: z.number().optional().describe('Totalbelopp inkl. moms'),
|
|
49
|
+
OCR: z.string().optional().describe('OCR-nummer'),
|
|
50
|
+
Currency: z.string().optional().describe('Valutakod (default SEK)'),
|
|
51
|
+
Comments: z.string().optional().describe('Kommentarer'),
|
|
52
|
+
SupplierInvoiceRows: z
|
|
53
|
+
.array(SupplierInvoiceRowSchema)
|
|
54
|
+
.optional()
|
|
55
|
+
.describe('Fakturarader med konto, debet och kredit'),
|
|
56
|
+
confirm: z.boolean().optional().describe('Bekräfta att leverantörsfakturan ska skapas'),
|
|
57
|
+
dryRun: z
|
|
58
|
+
.boolean()
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Visa vad som skulle skickas utan att skapa leverantörsfakturan'),
|
|
61
|
+
includeRaw: z.boolean().optional().describe('Inkludera rå JSON från Fortnox'),
|
|
62
|
+
}, async ({ confirm, dryRun, includeRaw, ...params }) => {
|
|
63
|
+
if (dryRun) {
|
|
64
|
+
return dryRunResponse(`create supplier invoice for supplier ${params.SupplierNumber}`, {
|
|
65
|
+
SupplierInvoice: params,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
if (!confirm)
|
|
69
|
+
requireConfirmation(`create supplier invoice for supplier ${params.SupplierNumber}`);
|
|
70
|
+
const data = await createSupplierInvoice(params);
|
|
71
|
+
return detailResponse(data, supplierInvoiceDetailColumns, data, includeRaw);
|
|
72
|
+
});
|
|
73
|
+
server.tool('fortnox_bookkeep_supplier_invoice', 'Bokför en leverantörsfaktura i Fortnox', {
|
|
74
|
+
givenNumber: z.string().describe('Leverantörsfakturanummer att bokföra'),
|
|
75
|
+
confirm: z.boolean().optional().describe('Bekräfta att leverantörsfakturan ska bokföras'),
|
|
76
|
+
dryRun: z.boolean().optional().describe('Visa vad som skulle hända utan att bokföra'),
|
|
77
|
+
includeRaw: z.boolean().optional().describe('Inkludera rå JSON från Fortnox'),
|
|
78
|
+
}, async ({ givenNumber, confirm, dryRun, includeRaw }) => {
|
|
79
|
+
if (dryRun) {
|
|
80
|
+
return dryRunResponse(`bookkeep supplier invoice ${givenNumber}`);
|
|
81
|
+
}
|
|
82
|
+
if (!confirm)
|
|
83
|
+
requireConfirmation(`bookkeep supplier invoice ${givenNumber}`);
|
|
84
|
+
const data = await bookkeepSupplierInvoice(givenNumber);
|
|
85
|
+
return detailResponse(data, supplierInvoiceConfirmColumns, data, includeRaw);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=supplier-invoices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supplier-invoices.js","sourceRoot":"","sources":["../../src/tools/supplier-invoices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../src/tools/suppliers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoG7D"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { listSuppliers, getSupplier, createSupplier, updateSupplier, } from '../operations/suppliers.js';
|
|
3
|
+
import { supplierListColumns, supplierDetailColumns } from '../views.js';
|
|
4
|
+
import { detailResponse, dryRunResponse, listResponse, requireConfirmation, } from '../tool-output.js';
|
|
5
|
+
export function registerSupplierTools(server) {
|
|
6
|
+
server.tool('fortnox_list_suppliers', 'Lista/sök leverantörer i Fortnox. Returnerar: SupplierNumber, Name, OrganisationNumber, City, Email.', {
|
|
7
|
+
search: z.string().optional().describe('Sökterm (namn)'),
|
|
8
|
+
page: z.number().optional().describe('Sidnummer (default 1)'),
|
|
9
|
+
limit: z.number().optional().describe('Antal per sida (default 100, max 500)'),
|
|
10
|
+
all: z.boolean().optional().describe('Hämta alla sidor (ignorerar page/limit)'),
|
|
11
|
+
includeRaw: z.boolean().optional().describe('Inkludera rå JSON från Fortnox'),
|
|
12
|
+
}, async ({ search, page, limit, all, includeRaw }) => {
|
|
13
|
+
const data = await listSuppliers({ search, page, limit, all });
|
|
14
|
+
return listResponse(data.Suppliers ?? [], supplierListColumns, data, data.MetaInformation, includeRaw);
|
|
15
|
+
});
|
|
16
|
+
server.tool('fortnox_get_supplier', 'Hämta en enskild leverantör från Fortnox. Returnerar: SupplierNumber, Name, OrganisationNumber, Email, Phone1, Address1, ZipCode, City, BG, PG, BankAccountNumber.', {
|
|
17
|
+
supplierNumber: z.string().describe('Leverantörsnummer'),
|
|
18
|
+
includeRaw: z.boolean().optional().describe('Inkludera rå JSON från Fortnox'),
|
|
19
|
+
}, async ({ supplierNumber, includeRaw }) => {
|
|
20
|
+
const data = await getSupplier(supplierNumber);
|
|
21
|
+
return detailResponse(data, supplierDetailColumns, data, includeRaw);
|
|
22
|
+
});
|
|
23
|
+
server.tool('fortnox_create_supplier', 'Skapa en ny leverantör i Fortnox', {
|
|
24
|
+
Name: z.string().describe('Leverantörsnamn'),
|
|
25
|
+
OrganisationNumber: z.string().optional().describe('Organisationsnummer'),
|
|
26
|
+
Email: z.string().optional().describe('E-postadress'),
|
|
27
|
+
Phone1: z.string().optional().describe('Telefonnummer'),
|
|
28
|
+
Address1: z.string().optional().describe('Adressrad 1'),
|
|
29
|
+
ZipCode: z.string().optional().describe('Postnummer'),
|
|
30
|
+
City: z.string().optional().describe('Ort'),
|
|
31
|
+
BankAccountNumber: z.string().optional().describe('Bankkontonummer'),
|
|
32
|
+
BG: z.string().optional().describe('Bankgiro'),
|
|
33
|
+
PG: z.string().optional().describe('Plusgiro'),
|
|
34
|
+
confirm: z.boolean().optional().describe('Bekräfta att leverantören ska skapas'),
|
|
35
|
+
dryRun: z
|
|
36
|
+
.boolean()
|
|
37
|
+
.optional()
|
|
38
|
+
.describe('Visa vad som skulle skickas utan att skapa leverantören'),
|
|
39
|
+
includeRaw: z.boolean().optional().describe('Inkludera rå JSON från Fortnox'),
|
|
40
|
+
}, async ({ confirm, dryRun, includeRaw, ...params }) => {
|
|
41
|
+
if (dryRun) {
|
|
42
|
+
return dryRunResponse(`create supplier "${params.Name}"`, { Supplier: params });
|
|
43
|
+
}
|
|
44
|
+
if (!confirm)
|
|
45
|
+
requireConfirmation(`create supplier "${params.Name}"`);
|
|
46
|
+
const data = await createSupplier(params);
|
|
47
|
+
return detailResponse(data, supplierDetailColumns, data, includeRaw);
|
|
48
|
+
});
|
|
49
|
+
server.tool('fortnox_update_supplier', 'Uppdatera en befintlig leverantör i Fortnox', {
|
|
50
|
+
supplierNumber: z.string().describe('Leverantörsnummer att uppdatera'),
|
|
51
|
+
Name: z.string().optional().describe('Leverantörsnamn'),
|
|
52
|
+
OrganisationNumber: z.string().optional().describe('Organisationsnummer'),
|
|
53
|
+
Email: z.string().optional().describe('E-postadress'),
|
|
54
|
+
Phone1: z.string().optional().describe('Telefonnummer'),
|
|
55
|
+
Address1: z.string().optional().describe('Adressrad 1'),
|
|
56
|
+
ZipCode: z.string().optional().describe('Postnummer'),
|
|
57
|
+
City: z.string().optional().describe('Ort'),
|
|
58
|
+
BankAccountNumber: z.string().optional().describe('Bankkontonummer'),
|
|
59
|
+
BG: z.string().optional().describe('Bankgiro'),
|
|
60
|
+
PG: z.string().optional().describe('Plusgiro'),
|
|
61
|
+
confirm: z.boolean().optional().describe('Bekräfta att leverantören ska uppdateras'),
|
|
62
|
+
dryRun: z
|
|
63
|
+
.boolean()
|
|
64
|
+
.optional()
|
|
65
|
+
.describe('Visa vad som skulle skickas utan att uppdatera leverantören'),
|
|
66
|
+
includeRaw: z.boolean().optional().describe('Inkludera rå JSON från Fortnox'),
|
|
67
|
+
}, async ({ supplierNumber, confirm, dryRun, includeRaw, ...fields }) => {
|
|
68
|
+
if (dryRun) {
|
|
69
|
+
return dryRunResponse(`update supplier ${supplierNumber}`, { Supplier: fields });
|
|
70
|
+
}
|
|
71
|
+
if (!confirm)
|
|
72
|
+
requireConfirmation(`update supplier ${supplierNumber}`);
|
|
73
|
+
const data = await updateSupplier(supplierNumber, fields);
|
|
74
|
+
return detailResponse(data, supplierDetailColumns, data, includeRaw);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=suppliers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suppliers.js","sourceRoot":"","sources":["../../src/tools/suppliers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tax.d.ts","sourceRoot":"","sources":["../../src/tools/tax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkBxD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { generateTaxReport } from '../operations/tax.js';
|
|
3
|
+
import { taxReportResponse } from '../tool-output.js';
|
|
4
|
+
export function registerTaxTools(server) {
|
|
5
|
+
server.tool('fortnox_tax_report', 'Informativ momssammanstallning for en period. Kontrollera alltid mot Fortnox momsrapport innan deklaration.', {
|
|
6
|
+
fromDate: z.string().describe('Från datum (YYYY-MM-DD), t.ex. första dagen i kvartalet'),
|
|
7
|
+
toDate: z.string().describe('Till datum (YYYY-MM-DD), t.ex. sista dagen i kvartalet'),
|
|
8
|
+
financialYear: z.number().optional().describe('Räkenskapsår (default: nuvarande)'),
|
|
9
|
+
includeRaw: z
|
|
10
|
+
.boolean()
|
|
11
|
+
.optional()
|
|
12
|
+
.describe('Inkludera rå JSON från Fortnox (kan exponera mer bokförings- och persondata)'),
|
|
13
|
+
}, async ({ includeRaw, ...params }) => {
|
|
14
|
+
const report = await generateTaxReport(params);
|
|
15
|
+
return taxReportResponse(report, includeRaw);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=tax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tax.js","sourceRoot":"","sources":["../../src/tools/tax.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,6GAA6G,EAC7G;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;QACxF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QACrF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAClF,UAAU,EAAE,CAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,8EAA8E,CAAC;KAC5F,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,iBAAiB,CAAC,MAA4C,EAAE,UAAU,CAAC,CAAC;IACrF,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/views.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Column } from './formatter.js';
|
|
2
|
+
export declare const invoiceListColumns: Column[];
|
|
3
|
+
export declare const invoiceDetailColumns: Column[];
|
|
4
|
+
export declare const invoiceConfirmColumns: Column[];
|
|
5
|
+
export declare const customerListColumns: Column[];
|
|
6
|
+
export declare const customerDetailColumns: Column[];
|
|
7
|
+
export declare const voucherListColumns: Column[];
|
|
8
|
+
export declare const voucherDetailColumns: Column[];
|
|
9
|
+
export declare const voucherRowColumns: Column[];
|
|
10
|
+
export declare const articleListColumns: Column[];
|
|
11
|
+
export declare const articleDetailColumns: Column[];
|
|
12
|
+
export declare const supplierListColumns: Column[];
|
|
13
|
+
export declare const supplierDetailColumns: Column[];
|
|
14
|
+
export declare const supplierInvoiceListColumns: Column[];
|
|
15
|
+
export declare const supplierInvoiceDetailColumns: Column[];
|
|
16
|
+
export declare const supplierInvoiceConfirmColumns: Column[];
|
|
17
|
+
export declare const accountListColumns: Column[];
|
|
18
|
+
export declare const companyDetailColumns: Column[];
|
|
19
|
+
//# sourceMappingURL=views.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../src/views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAO7C,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAOtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAaxC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAOzC,CAAC;AAKF,eAAO,MAAM,mBAAmB,EAAE,MAAM,EAMvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAWzC,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAKtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAKxC,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAKrC,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAMtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,EASxC,CAAC;AAKF,eAAO,MAAM,mBAAmB,EAAE,MAAM,EAMvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAYzC,CAAC;AAKF,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAO9C,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,MAAM,EAahD,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,MAAM,EAKjD,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAItC,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,MAAM,EASxC,CAAC"}
|
package/dist/views.js
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
const currency = (v) => (typeof v === 'number' ? v.toFixed(2) : String(v ?? ''));
|
|
2
|
+
// --- Invoice views (target ≤80 cols) ---
|
|
3
|
+
// 7 + 2 + 20 + 2 + 10 + 2 + 10 + 2 + 10 + 2 + 10 = 77
|
|
4
|
+
export const invoiceListColumns = [
|
|
5
|
+
{ key: 'DocumentNumber', header: 'Doc #', width: 7, align: 'right' },
|
|
6
|
+
{ key: 'CustomerName', header: 'Customer', width: 20 },
|
|
7
|
+
{ key: 'InvoiceDate', header: 'Date', width: 10 },
|
|
8
|
+
{ key: 'DueDate', header: 'Due', width: 10 },
|
|
9
|
+
{ key: 'Total', header: 'Total', width: 10, align: 'right', format: currency },
|
|
10
|
+
{ key: 'Balance', header: 'Balance', width: 10, align: 'right', format: currency },
|
|
11
|
+
];
|
|
12
|
+
export const invoiceDetailColumns = [
|
|
13
|
+
{ key: 'DocumentNumber', header: 'Document #', width: 20 },
|
|
14
|
+
{ key: 'CustomerNumber', header: 'Customer #', width: 20 },
|
|
15
|
+
{ key: 'CustomerName', header: 'Customer', width: 40 },
|
|
16
|
+
{ key: 'InvoiceDate', header: 'Invoice Date', width: 10 },
|
|
17
|
+
{ key: 'DueDate', header: 'Due Date', width: 10 },
|
|
18
|
+
{ key: 'Total', header: 'Total', width: 20, format: currency },
|
|
19
|
+
{ key: 'Balance', header: 'Balance', width: 20, format: currency },
|
|
20
|
+
{ key: 'Currency', header: 'Currency', width: 5 },
|
|
21
|
+
{ key: 'Booked', header: 'Booked', width: 5 },
|
|
22
|
+
{ key: 'Sent', header: 'Sent', width: 5 },
|
|
23
|
+
{ key: 'OurReference', header: 'Our Reference', width: 30 },
|
|
24
|
+
{ key: 'CreditInvoiceReference', header: 'Credit Ref', width: 20 },
|
|
25
|
+
];
|
|
26
|
+
export const invoiceConfirmColumns = [
|
|
27
|
+
{ key: 'DocumentNumber', header: 'Document #', width: 20 },
|
|
28
|
+
{ key: 'CustomerNumber', header: 'Customer #', width: 20 },
|
|
29
|
+
{ key: 'Total', header: 'Total', width: 20, format: currency },
|
|
30
|
+
{ key: 'Booked', header: 'Booked', width: 5 },
|
|
31
|
+
{ key: 'Sent', header: 'Sent', width: 5 },
|
|
32
|
+
{ key: 'CreditInvoiceReference', header: 'Credit Ref', width: 20 },
|
|
33
|
+
];
|
|
34
|
+
// --- Customer views (target ≤80 cols) ---
|
|
35
|
+
// 7 + 2 + 25 + 2 + 12 + 2 + 12 + 2 + 14 = 78
|
|
36
|
+
export const customerListColumns = [
|
|
37
|
+
{ key: 'CustomerNumber', header: '#', width: 7, align: 'right' },
|
|
38
|
+
{ key: 'Name', header: 'Name', width: 25 },
|
|
39
|
+
{ key: 'OrganisationNumber', header: 'Org Nr', width: 12 },
|
|
40
|
+
{ key: 'City', header: 'City', width: 12 },
|
|
41
|
+
{ key: 'Email', header: 'Email', width: 14 },
|
|
42
|
+
];
|
|
43
|
+
export const customerDetailColumns = [
|
|
44
|
+
{ key: 'CustomerNumber', header: 'Customer #', width: 20 },
|
|
45
|
+
{ key: 'Name', header: 'Name', width: 40 },
|
|
46
|
+
{ key: 'OrganisationNumber', header: 'Org Nr', width: 20 },
|
|
47
|
+
{ key: 'Email', header: 'Email', width: 40 },
|
|
48
|
+
{ key: 'Phone', header: 'Phone', width: 20 },
|
|
49
|
+
{ key: 'Address1', header: 'Address', width: 40 },
|
|
50
|
+
{ key: 'ZipCode', header: 'Zip Code', width: 10 },
|
|
51
|
+
{ key: 'City', header: 'City', width: 20 },
|
|
52
|
+
{ key: 'Country', header: 'Country', width: 5 },
|
|
53
|
+
{ key: 'VATNumber', header: 'VAT Number', width: 20 },
|
|
54
|
+
];
|
|
55
|
+
// --- Voucher views (target ≤80 cols) ---
|
|
56
|
+
// 6 + 2 + 7 + 2 + 10 + 2 + 45 = 74
|
|
57
|
+
export const voucherListColumns = [
|
|
58
|
+
{ key: 'VoucherSeries', header: 'Series', width: 6 },
|
|
59
|
+
{ key: 'VoucherNumber', header: 'Number', width: 7, align: 'right' },
|
|
60
|
+
{ key: 'TransactionDate', header: 'Date', width: 10 },
|
|
61
|
+
{ key: 'Description', header: 'Description', width: 45 },
|
|
62
|
+
];
|
|
63
|
+
export const voucherDetailColumns = [
|
|
64
|
+
{ key: 'VoucherSeries', header: 'Series', width: 10 },
|
|
65
|
+
{ key: 'VoucherNumber', header: 'Number', width: 10 },
|
|
66
|
+
{ key: 'TransactionDate', header: 'Date', width: 10 },
|
|
67
|
+
{ key: 'Description', header: 'Description', width: 50 },
|
|
68
|
+
];
|
|
69
|
+
// 8 + 2 + 12 + 2 + 12 + 2 + 30 = 68
|
|
70
|
+
export const voucherRowColumns = [
|
|
71
|
+
{ key: 'Account', header: 'Account', width: 8, align: 'right' },
|
|
72
|
+
{ key: 'Debit', header: 'Debit', width: 12, align: 'right', format: currency },
|
|
73
|
+
{ key: 'Credit', header: 'Credit', width: 12, align: 'right', format: currency },
|
|
74
|
+
{ key: 'Description', header: 'Description', width: 30 },
|
|
75
|
+
];
|
|
76
|
+
// --- Article views (target ≤80 cols) ---
|
|
77
|
+
// 10 + 2 + 30 + 2 + 10 + 2 + 6 + 2 + 10 = 74
|
|
78
|
+
export const articleListColumns = [
|
|
79
|
+
{ key: 'ArticleNumber', header: 'Art #', width: 10, align: 'right' },
|
|
80
|
+
{ key: 'Description', header: 'Description', width: 30 },
|
|
81
|
+
{ key: 'SalesPrice', header: 'Price', width: 10, align: 'right', format: currency },
|
|
82
|
+
{ key: 'Unit', header: 'Unit', width: 6 },
|
|
83
|
+
{ key: 'Active', header: 'Active', width: 10 },
|
|
84
|
+
];
|
|
85
|
+
export const articleDetailColumns = [
|
|
86
|
+
{ key: 'ArticleNumber', header: 'Article #', width: 20 },
|
|
87
|
+
{ key: 'Description', header: 'Description', width: 40 },
|
|
88
|
+
{ key: 'SalesPrice', header: 'Sales Price', width: 20, format: currency },
|
|
89
|
+
{ key: 'PurchasePrice', header: 'Purchase Price', width: 20, format: currency },
|
|
90
|
+
{ key: 'Unit', header: 'Unit', width: 10 },
|
|
91
|
+
{ key: 'SalesAccount', header: 'Sales Account', width: 10 },
|
|
92
|
+
{ key: 'VAT', header: 'VAT %', width: 10 },
|
|
93
|
+
{ key: 'Active', header: 'Active', width: 5 },
|
|
94
|
+
];
|
|
95
|
+
// --- Supplier views (target ≤80 cols) ---
|
|
96
|
+
// 7 + 2 + 25 + 2 + 12 + 2 + 12 + 2 + 14 = 78
|
|
97
|
+
export const supplierListColumns = [
|
|
98
|
+
{ key: 'SupplierNumber', header: '#', width: 7, align: 'right' },
|
|
99
|
+
{ key: 'Name', header: 'Name', width: 25 },
|
|
100
|
+
{ key: 'OrganisationNumber', header: 'Org Nr', width: 12 },
|
|
101
|
+
{ key: 'City', header: 'City', width: 12 },
|
|
102
|
+
{ key: 'Email', header: 'Email', width: 14 },
|
|
103
|
+
];
|
|
104
|
+
export const supplierDetailColumns = [
|
|
105
|
+
{ key: 'SupplierNumber', header: 'Supplier #', width: 20 },
|
|
106
|
+
{ key: 'Name', header: 'Name', width: 40 },
|
|
107
|
+
{ key: 'OrganisationNumber', header: 'Org Nr', width: 20 },
|
|
108
|
+
{ key: 'Email', header: 'Email', width: 40 },
|
|
109
|
+
{ key: 'Phone1', header: 'Phone', width: 20 },
|
|
110
|
+
{ key: 'Address1', header: 'Address', width: 40 },
|
|
111
|
+
{ key: 'ZipCode', header: 'Zip Code', width: 10 },
|
|
112
|
+
{ key: 'City', header: 'City', width: 20 },
|
|
113
|
+
{ key: 'BG', header: 'Bankgiro', width: 15 },
|
|
114
|
+
{ key: 'PG', header: 'Plusgiro', width: 15 },
|
|
115
|
+
{ key: 'BankAccountNumber', header: 'Bank Account', width: 20 },
|
|
116
|
+
];
|
|
117
|
+
// --- Supplier invoice views (target ≤80 cols) ---
|
|
118
|
+
// 7 + 2 + 20 + 2 + 10 + 2 + 10 + 2 + 10 + 2 + 10 = 77
|
|
119
|
+
export const supplierInvoiceListColumns = [
|
|
120
|
+
{ key: 'GivenNumber', header: 'Inv #', width: 7, align: 'right' },
|
|
121
|
+
{ key: 'SupplierName', header: 'Supplier', width: 20 },
|
|
122
|
+
{ key: 'InvoiceDate', header: 'Date', width: 10 },
|
|
123
|
+
{ key: 'DueDate', header: 'Due', width: 10 },
|
|
124
|
+
{ key: 'Total', header: 'Total', width: 10, align: 'right', format: currency },
|
|
125
|
+
{ key: 'Balance', header: 'Balance', width: 10, align: 'right', format: currency },
|
|
126
|
+
];
|
|
127
|
+
export const supplierInvoiceDetailColumns = [
|
|
128
|
+
{ key: 'GivenNumber', header: 'Given #', width: 20 },
|
|
129
|
+
{ key: 'SupplierNumber', header: 'Supplier #', width: 20 },
|
|
130
|
+
{ key: 'SupplierName', header: 'Supplier', width: 40 },
|
|
131
|
+
{ key: 'InvoiceNumber', header: 'Invoice Nr', width: 20 },
|
|
132
|
+
{ key: 'InvoiceDate', header: 'Invoice Date', width: 10 },
|
|
133
|
+
{ key: 'DueDate', header: 'Due Date', width: 10 },
|
|
134
|
+
{ key: 'Total', header: 'Total', width: 20, format: currency },
|
|
135
|
+
{ key: 'Balance', header: 'Balance', width: 20, format: currency },
|
|
136
|
+
{ key: 'Currency', header: 'Currency', width: 5 },
|
|
137
|
+
{ key: 'Booked', header: 'Booked', width: 5 },
|
|
138
|
+
{ key: 'OCR', header: 'OCR', width: 20 },
|
|
139
|
+
{ key: 'Comments', header: 'Comments', width: 40 },
|
|
140
|
+
];
|
|
141
|
+
export const supplierInvoiceConfirmColumns = [
|
|
142
|
+
{ key: 'GivenNumber', header: 'Given #', width: 20 },
|
|
143
|
+
{ key: 'SupplierNumber', header: 'Supplier #', width: 20 },
|
|
144
|
+
{ key: 'Total', header: 'Total', width: 20, format: currency },
|
|
145
|
+
{ key: 'Booked', header: 'Booked', width: 5 },
|
|
146
|
+
];
|
|
147
|
+
// --- Account views (target ≤80 cols) ---
|
|
148
|
+
// 8 + 2 + 50 + 2 + 6 = 68
|
|
149
|
+
export const accountListColumns = [
|
|
150
|
+
{ key: 'Number', header: 'Account', width: 8, align: 'right' },
|
|
151
|
+
{ key: 'Description', header: 'Description', width: 50 },
|
|
152
|
+
{ key: 'SRU', header: 'SRU', width: 6, align: 'right' },
|
|
153
|
+
];
|
|
154
|
+
// --- Company views ---
|
|
155
|
+
export const companyDetailColumns = [
|
|
156
|
+
{ key: 'CompanyName', header: 'Company', width: 40 },
|
|
157
|
+
{ key: 'OrganisationNumber', header: 'Org Nr', width: 20 },
|
|
158
|
+
{ key: 'Address', header: 'Address', width: 40 },
|
|
159
|
+
{ key: 'ZipCode', header: 'Zip Code', width: 10 },
|
|
160
|
+
{ key: 'City', header: 'City', width: 20 },
|
|
161
|
+
{ key: 'Country', header: 'Country', width: 5 },
|
|
162
|
+
{ key: 'Email', header: 'Email', width: 40 },
|
|
163
|
+
{ key: 'DatabaseNumber', header: 'Database #', width: 10 },
|
|
164
|
+
];
|
|
165
|
+
//# sourceMappingURL=views.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../src/views.ts"],"names":[],"mappings":"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"}
|