@ksefnik/shared 0.0.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.
Files changed (82) hide show
  1. package/LICENSE +21 -0
  2. package/dist/errors/bank.error.d.ts +8 -0
  3. package/dist/errors/bank.error.d.ts.map +1 -0
  4. package/dist/errors/bank.error.js +14 -0
  5. package/dist/errors/bank.error.js.map +1 -0
  6. package/dist/errors/base.d.ts +6 -0
  7. package/dist/errors/base.d.ts.map +1 -0
  8. package/dist/errors/base.js +11 -0
  9. package/dist/errors/base.js.map +1 -0
  10. package/dist/errors/index.d.ts +6 -0
  11. package/dist/errors/index.d.ts.map +1 -0
  12. package/dist/errors/index.js +6 -0
  13. package/dist/errors/index.js.map +1 -0
  14. package/dist/errors/ksef.error.d.ts +12 -0
  15. package/dist/errors/ksef.error.d.ts.map +1 -0
  16. package/dist/errors/ksef.error.js +22 -0
  17. package/dist/errors/ksef.error.js.map +1 -0
  18. package/dist/errors/reconciliation.error.d.ts +5 -0
  19. package/dist/errors/reconciliation.error.d.ts.map +1 -0
  20. package/dist/errors/reconciliation.error.js +8 -0
  21. package/dist/errors/reconciliation.error.js.map +1 -0
  22. package/dist/errors/validation.error.d.ts +8 -0
  23. package/dist/errors/validation.error.d.ts.map +1 -0
  24. package/dist/errors/validation.error.js +18 -0
  25. package/dist/errors/validation.error.js.map +1 -0
  26. package/dist/index.d.ts +4 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +4 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/schemas/bank-transaction.schema.d.ts +40 -0
  31. package/dist/schemas/bank-transaction.schema.d.ts.map +1 -0
  32. package/dist/schemas/bank-transaction.schema.js +15 -0
  33. package/dist/schemas/bank-transaction.schema.js.map +1 -0
  34. package/dist/schemas/helpers.d.ts +4 -0
  35. package/dist/schemas/helpers.d.ts.map +1 -0
  36. package/dist/schemas/helpers.js +14 -0
  37. package/dist/schemas/helpers.js.map +1 -0
  38. package/dist/schemas/index.d.ts +6 -0
  39. package/dist/schemas/index.d.ts.map +1 -0
  40. package/dist/schemas/index.js +6 -0
  41. package/dist/schemas/index.js.map +1 -0
  42. package/dist/schemas/invoice.schema.d.ts +127 -0
  43. package/dist/schemas/invoice.schema.d.ts.map +1 -0
  44. package/dist/schemas/invoice.schema.js +32 -0
  45. package/dist/schemas/invoice.schema.js.map +1 -0
  46. package/dist/schemas/match.schema.d.ts +34 -0
  47. package/dist/schemas/match.schema.d.ts.map +1 -0
  48. package/dist/schemas/match.schema.js +13 -0
  49. package/dist/schemas/match.schema.js.map +1 -0
  50. package/dist/schemas/reconciliation-report.schema.d.ts +356 -0
  51. package/dist/schemas/reconciliation-report.schema.d.ts.map +1 -0
  52. package/dist/schemas/reconciliation-report.schema.js +23 -0
  53. package/dist/schemas/reconciliation-report.schema.js.map +1 -0
  54. package/dist/types/bank-parser.d.ts +7 -0
  55. package/dist/types/bank-parser.d.ts.map +1 -0
  56. package/dist/types/bank-parser.js +2 -0
  57. package/dist/types/bank-parser.js.map +1 -0
  58. package/dist/types/config.d.ts +13 -0
  59. package/dist/types/config.d.ts.map +1 -0
  60. package/dist/types/config.js +2 -0
  61. package/dist/types/config.js.map +1 -0
  62. package/dist/types/index.d.ts +7 -0
  63. package/dist/types/index.d.ts.map +1 -0
  64. package/dist/types/index.js +2 -0
  65. package/dist/types/index.js.map +1 -0
  66. package/dist/types/ksef-adapter.d.ts +36 -0
  67. package/dist/types/ksef-adapter.d.ts.map +1 -0
  68. package/dist/types/ksef-adapter.js +2 -0
  69. package/dist/types/ksef-adapter.js.map +1 -0
  70. package/dist/types/plugin.d.ts +24 -0
  71. package/dist/types/plugin.d.ts.map +1 -0
  72. package/dist/types/plugin.js +2 -0
  73. package/dist/types/plugin.js.map +1 -0
  74. package/dist/types/reconciliation-pass.d.ts +19 -0
  75. package/dist/types/reconciliation-pass.d.ts.map +1 -0
  76. package/dist/types/reconciliation-pass.js +2 -0
  77. package/dist/types/reconciliation-pass.js.map +1 -0
  78. package/dist/types/storage.d.ts +23 -0
  79. package/dist/types/storage.d.ts.map +1 -0
  80. package/dist/types/storage.js +2 -0
  81. package/dist/types/storage.js.map +1 -0
  82. package/package.json +39 -0
@@ -0,0 +1,356 @@
1
+ import { z } from 'zod';
2
+ declare const SummarySchema: z.ZodObject<{
3
+ totalInvoices: z.ZodNumber;
4
+ totalTransactions: z.ZodNumber;
5
+ matchedCount: z.ZodNumber;
6
+ unmatchedInvoiceCount: z.ZodNumber;
7
+ unmatchedTransactionCount: z.ZodNumber;
8
+ averageConfidence: z.ZodNumber;
9
+ passBreakdown: z.ZodRecord<z.ZodString, z.ZodNumber>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ totalInvoices: number;
12
+ totalTransactions: number;
13
+ matchedCount: number;
14
+ unmatchedInvoiceCount: number;
15
+ unmatchedTransactionCount: number;
16
+ averageConfidence: number;
17
+ passBreakdown: Record<string, number>;
18
+ }, {
19
+ totalInvoices: number;
20
+ totalTransactions: number;
21
+ matchedCount: number;
22
+ unmatchedInvoiceCount: number;
23
+ unmatchedTransactionCount: number;
24
+ averageConfidence: number;
25
+ passBreakdown: Record<string, number>;
26
+ }>;
27
+ export declare const ReconciliationReportSchema: z.ZodObject<{
28
+ id: z.ZodString;
29
+ matched: z.ZodArray<z.ZodObject<{
30
+ id: z.ZodString;
31
+ invoiceId: z.ZodString;
32
+ transactionId: z.ZodString;
33
+ transactionIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
34
+ confidence: z.ZodNumber;
35
+ passName: z.ZodString;
36
+ reasons: z.ZodArray<z.ZodString, "many">;
37
+ confirmed: z.ZodDefault<z.ZodBoolean>;
38
+ createdAt: z.ZodString;
39
+ }, "strip", z.ZodTypeAny, {
40
+ id: string;
41
+ createdAt: string;
42
+ invoiceId: string;
43
+ transactionId: string;
44
+ confidence: number;
45
+ passName: string;
46
+ reasons: string[];
47
+ confirmed: boolean;
48
+ transactionIds?: string[] | undefined;
49
+ }, {
50
+ id: string;
51
+ createdAt: string;
52
+ invoiceId: string;
53
+ transactionId: string;
54
+ confidence: number;
55
+ passName: string;
56
+ reasons: string[];
57
+ transactionIds?: string[] | undefined;
58
+ confirmed?: boolean | undefined;
59
+ }>, "many">;
60
+ unmatchedInvoices: z.ZodArray<z.ZodObject<{
61
+ id: z.ZodString;
62
+ invoiceNumber: z.ZodString;
63
+ sellerNIP: z.ZodEffects<z.ZodString, string, string>;
64
+ buyerNIP: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
65
+ grossAmount: z.ZodNumber;
66
+ netAmount: z.ZodOptional<z.ZodNumber>;
67
+ vatAmount: z.ZodOptional<z.ZodNumber>;
68
+ currency: z.ZodLiteral<"PLN">;
69
+ issueDate: z.ZodString;
70
+ salesDate: z.ZodOptional<z.ZodString>;
71
+ dueDate: z.ZodOptional<z.ZodString>;
72
+ ksefReference: z.ZodOptional<z.ZodString>;
73
+ sellerName: z.ZodOptional<z.ZodString>;
74
+ buyerName: z.ZodOptional<z.ZodString>;
75
+ description: z.ZodOptional<z.ZodString>;
76
+ lineItems: z.ZodOptional<z.ZodArray<z.ZodObject<{
77
+ lineNumber: z.ZodNumber;
78
+ description: z.ZodString;
79
+ unit: z.ZodOptional<z.ZodString>;
80
+ quantity: z.ZodOptional<z.ZodNumber>;
81
+ unitNetPrice: z.ZodOptional<z.ZodNumber>;
82
+ netAmount: z.ZodNumber;
83
+ vatRate: z.ZodOptional<z.ZodNumber>;
84
+ }, "strip", z.ZodTypeAny, {
85
+ lineNumber: number;
86
+ description: string;
87
+ netAmount: number;
88
+ unit?: string | undefined;
89
+ quantity?: number | undefined;
90
+ unitNetPrice?: number | undefined;
91
+ vatRate?: number | undefined;
92
+ }, {
93
+ lineNumber: number;
94
+ description: string;
95
+ netAmount: number;
96
+ unit?: string | undefined;
97
+ quantity?: number | undefined;
98
+ unitNetPrice?: number | undefined;
99
+ vatRate?: number | undefined;
100
+ }>, "many">>;
101
+ rawXml: z.ZodOptional<z.ZodString>;
102
+ createdAt: z.ZodString;
103
+ }, "strip", z.ZodTypeAny, {
104
+ id: string;
105
+ invoiceNumber: string;
106
+ sellerNIP: string;
107
+ grossAmount: number;
108
+ currency: "PLN";
109
+ issueDate: string;
110
+ createdAt: string;
111
+ description?: string | undefined;
112
+ netAmount?: number | undefined;
113
+ buyerNIP?: string | undefined;
114
+ vatAmount?: number | undefined;
115
+ salesDate?: string | undefined;
116
+ dueDate?: string | undefined;
117
+ ksefReference?: string | undefined;
118
+ sellerName?: string | undefined;
119
+ buyerName?: string | undefined;
120
+ lineItems?: {
121
+ lineNumber: number;
122
+ description: string;
123
+ netAmount: number;
124
+ unit?: string | undefined;
125
+ quantity?: number | undefined;
126
+ unitNetPrice?: number | undefined;
127
+ vatRate?: number | undefined;
128
+ }[] | undefined;
129
+ rawXml?: string | undefined;
130
+ }, {
131
+ id: string;
132
+ invoiceNumber: string;
133
+ sellerNIP: string;
134
+ grossAmount: number;
135
+ currency: "PLN";
136
+ issueDate: string;
137
+ createdAt: string;
138
+ description?: string | undefined;
139
+ netAmount?: number | undefined;
140
+ buyerNIP?: string | undefined;
141
+ vatAmount?: number | undefined;
142
+ salesDate?: string | undefined;
143
+ dueDate?: string | undefined;
144
+ ksefReference?: string | undefined;
145
+ sellerName?: string | undefined;
146
+ buyerName?: string | undefined;
147
+ lineItems?: {
148
+ lineNumber: number;
149
+ description: string;
150
+ netAmount: number;
151
+ unit?: string | undefined;
152
+ quantity?: number | undefined;
153
+ unitNetPrice?: number | undefined;
154
+ vatRate?: number | undefined;
155
+ }[] | undefined;
156
+ rawXml?: string | undefined;
157
+ }>, "many">;
158
+ unmatchedTransactions: z.ZodArray<z.ZodObject<{
159
+ id: z.ZodString;
160
+ date: z.ZodString;
161
+ amount: z.ZodNumber;
162
+ description: z.ZodString;
163
+ senderName: z.ZodOptional<z.ZodString>;
164
+ senderNIP: z.ZodOptional<z.ZodString>;
165
+ recipientName: z.ZodOptional<z.ZodString>;
166
+ recipientNIP: z.ZodOptional<z.ZodString>;
167
+ bank: z.ZodEnum<["mt940", "mbank", "ing", "pko", "santander", "other"]>;
168
+ raw: z.ZodString;
169
+ createdAt: z.ZodString;
170
+ }, "strip", z.ZodTypeAny, {
171
+ description: string;
172
+ id: string;
173
+ date: string;
174
+ createdAt: string;
175
+ amount: number;
176
+ bank: "mt940" | "mbank" | "ing" | "pko" | "santander" | "other";
177
+ raw: string;
178
+ senderName?: string | undefined;
179
+ senderNIP?: string | undefined;
180
+ recipientName?: string | undefined;
181
+ recipientNIP?: string | undefined;
182
+ }, {
183
+ description: string;
184
+ id: string;
185
+ date: string;
186
+ createdAt: string;
187
+ amount: number;
188
+ bank: "mt940" | "mbank" | "ing" | "pko" | "santander" | "other";
189
+ raw: string;
190
+ senderName?: string | undefined;
191
+ senderNIP?: string | undefined;
192
+ recipientName?: string | undefined;
193
+ recipientNIP?: string | undefined;
194
+ }>, "many">;
195
+ summary: z.ZodObject<{
196
+ totalInvoices: z.ZodNumber;
197
+ totalTransactions: z.ZodNumber;
198
+ matchedCount: z.ZodNumber;
199
+ unmatchedInvoiceCount: z.ZodNumber;
200
+ unmatchedTransactionCount: z.ZodNumber;
201
+ averageConfidence: z.ZodNumber;
202
+ passBreakdown: z.ZodRecord<z.ZodString, z.ZodNumber>;
203
+ }, "strip", z.ZodTypeAny, {
204
+ totalInvoices: number;
205
+ totalTransactions: number;
206
+ matchedCount: number;
207
+ unmatchedInvoiceCount: number;
208
+ unmatchedTransactionCount: number;
209
+ averageConfidence: number;
210
+ passBreakdown: Record<string, number>;
211
+ }, {
212
+ totalInvoices: number;
213
+ totalTransactions: number;
214
+ matchedCount: number;
215
+ unmatchedInvoiceCount: number;
216
+ unmatchedTransactionCount: number;
217
+ averageConfidence: number;
218
+ passBreakdown: Record<string, number>;
219
+ }>;
220
+ runAt: z.ZodString;
221
+ durationMs: z.ZodNumber;
222
+ }, "strip", z.ZodTypeAny, {
223
+ id: string;
224
+ matched: {
225
+ id: string;
226
+ createdAt: string;
227
+ invoiceId: string;
228
+ transactionId: string;
229
+ confidence: number;
230
+ passName: string;
231
+ reasons: string[];
232
+ confirmed: boolean;
233
+ transactionIds?: string[] | undefined;
234
+ }[];
235
+ unmatchedInvoices: {
236
+ id: string;
237
+ invoiceNumber: string;
238
+ sellerNIP: string;
239
+ grossAmount: number;
240
+ currency: "PLN";
241
+ issueDate: string;
242
+ createdAt: string;
243
+ description?: string | undefined;
244
+ netAmount?: number | undefined;
245
+ buyerNIP?: string | undefined;
246
+ vatAmount?: number | undefined;
247
+ salesDate?: string | undefined;
248
+ dueDate?: string | undefined;
249
+ ksefReference?: string | undefined;
250
+ sellerName?: string | undefined;
251
+ buyerName?: string | undefined;
252
+ lineItems?: {
253
+ lineNumber: number;
254
+ description: string;
255
+ netAmount: number;
256
+ unit?: string | undefined;
257
+ quantity?: number | undefined;
258
+ unitNetPrice?: number | undefined;
259
+ vatRate?: number | undefined;
260
+ }[] | undefined;
261
+ rawXml?: string | undefined;
262
+ }[];
263
+ unmatchedTransactions: {
264
+ description: string;
265
+ id: string;
266
+ date: string;
267
+ createdAt: string;
268
+ amount: number;
269
+ bank: "mt940" | "mbank" | "ing" | "pko" | "santander" | "other";
270
+ raw: string;
271
+ senderName?: string | undefined;
272
+ senderNIP?: string | undefined;
273
+ recipientName?: string | undefined;
274
+ recipientNIP?: string | undefined;
275
+ }[];
276
+ summary: {
277
+ totalInvoices: number;
278
+ totalTransactions: number;
279
+ matchedCount: number;
280
+ unmatchedInvoiceCount: number;
281
+ unmatchedTransactionCount: number;
282
+ averageConfidence: number;
283
+ passBreakdown: Record<string, number>;
284
+ };
285
+ runAt: string;
286
+ durationMs: number;
287
+ }, {
288
+ id: string;
289
+ matched: {
290
+ id: string;
291
+ createdAt: string;
292
+ invoiceId: string;
293
+ transactionId: string;
294
+ confidence: number;
295
+ passName: string;
296
+ reasons: string[];
297
+ transactionIds?: string[] | undefined;
298
+ confirmed?: boolean | undefined;
299
+ }[];
300
+ unmatchedInvoices: {
301
+ id: string;
302
+ invoiceNumber: string;
303
+ sellerNIP: string;
304
+ grossAmount: number;
305
+ currency: "PLN";
306
+ issueDate: string;
307
+ createdAt: string;
308
+ description?: string | undefined;
309
+ netAmount?: number | undefined;
310
+ buyerNIP?: string | undefined;
311
+ vatAmount?: number | undefined;
312
+ salesDate?: string | undefined;
313
+ dueDate?: string | undefined;
314
+ ksefReference?: string | undefined;
315
+ sellerName?: string | undefined;
316
+ buyerName?: string | undefined;
317
+ lineItems?: {
318
+ lineNumber: number;
319
+ description: string;
320
+ netAmount: number;
321
+ unit?: string | undefined;
322
+ quantity?: number | undefined;
323
+ unitNetPrice?: number | undefined;
324
+ vatRate?: number | undefined;
325
+ }[] | undefined;
326
+ rawXml?: string | undefined;
327
+ }[];
328
+ unmatchedTransactions: {
329
+ description: string;
330
+ id: string;
331
+ date: string;
332
+ createdAt: string;
333
+ amount: number;
334
+ bank: "mt940" | "mbank" | "ing" | "pko" | "santander" | "other";
335
+ raw: string;
336
+ senderName?: string | undefined;
337
+ senderNIP?: string | undefined;
338
+ recipientName?: string | undefined;
339
+ recipientNIP?: string | undefined;
340
+ }[];
341
+ summary: {
342
+ totalInvoices: number;
343
+ totalTransactions: number;
344
+ matchedCount: number;
345
+ unmatchedInvoiceCount: number;
346
+ unmatchedTransactionCount: number;
347
+ averageConfidence: number;
348
+ passBreakdown: Record<string, number>;
349
+ };
350
+ runAt: string;
351
+ durationMs: number;
352
+ }>;
353
+ export type ReconciliationReport = z.infer<typeof ReconciliationReportSchema>;
354
+ export type Summary = z.infer<typeof SummarySchema>;
355
+ export {};
356
+ //# sourceMappingURL=reconciliation-report.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciliation-report.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/reconciliation-report.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAQjB,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQrC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC7E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { MatchSchema } from './match.schema.js';
3
+ import { InvoiceSchema } from './invoice.schema.js';
4
+ import { BankTransactionSchema } from './bank-transaction.schema.js';
5
+ const SummarySchema = z.object({
6
+ totalInvoices: z.number().int().nonnegative(),
7
+ totalTransactions: z.number().int().nonnegative(),
8
+ matchedCount: z.number().int().nonnegative(),
9
+ unmatchedInvoiceCount: z.number().int().nonnegative(),
10
+ unmatchedTransactionCount: z.number().int().nonnegative(),
11
+ averageConfidence: z.number().min(0).max(100),
12
+ passBreakdown: z.record(z.string(), z.number().int().nonnegative()),
13
+ });
14
+ export const ReconciliationReportSchema = z.object({
15
+ id: z.string().uuid(),
16
+ matched: z.array(MatchSchema),
17
+ unmatchedInvoices: z.array(InvoiceSchema),
18
+ unmatchedTransactions: z.array(BankTransactionSchema),
19
+ summary: SummarySchema,
20
+ runAt: z.string().datetime(),
21
+ durationMs: z.number().int().nonnegative(),
22
+ });
23
+ //# sourceMappingURL=reconciliation-report.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciliation-report.schema.js","sourceRoot":"","sources":["../../src/schemas/reconciliation-report.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC7C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACjD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrD,yBAAyB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;CACpE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAC7B,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IACzC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACrD,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC3C,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { BankTransaction } from '../schemas/index.js';
2
+ export interface BankStatementParser {
3
+ bank: string;
4
+ canParse(content: string | Buffer): Promise<boolean>;
5
+ parse(content: string | Buffer): Promise<BankTransaction[]>;
6
+ }
7
+ //# sourceMappingURL=bank-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bank-parser.d.ts","sourceRoot":"","sources":["../../src/types/bank-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACpD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;CAC5D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bank-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bank-parser.js","sourceRoot":"","sources":["../../src/types/bank-parser.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export interface KsefnikConfig {
2
+ nip: string;
3
+ environment: 'production' | 'demo' | 'test';
4
+ token?: string;
5
+ storage?: 'memory' | 'sqlite';
6
+ sqlitePath?: string;
7
+ plugins?: string[];
8
+ reconciliation?: {
9
+ minConfidence?: number;
10
+ enabledPasses?: string[];
11
+ };
12
+ }
13
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,YAAY,GAAG,MAAM,GAAG,MAAM,CAAA;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,cAAc,CAAC,EAAE;QACf,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KACzB,CAAA;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export type { ReconciliationPass, MatchingContext, MatchResult, } from './reconciliation-pass.js';
2
+ export type { KsefPlugin, McpToolDefinition, CliCommand, } from './plugin.js';
3
+ export type { BankStatementParser } from './bank-parser.js';
4
+ export type { KsefAdapter, FetchInvoicesOpts, SendInvoiceInput, SendInvoiceResult, UpoResult, } from './ksef-adapter.js';
5
+ export type { Storage, InvoiceQuery, TransactionQuery, } from './storage.js';
6
+ export type { KsefnikConfig } from './config.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,WAAW,GACZ,MAAM,0BAA0B,CAAA;AACjC,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,UAAU,GACX,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,GACV,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,OAAO,EACP,YAAY,EACZ,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ import type { Invoice } from '../schemas/index.js';
2
+ export type InvoiceSubjectType = 'Subject1' | 'Subject2' | 'Subject3';
3
+ export interface FetchInvoicesOpts {
4
+ from: string;
5
+ to: string;
6
+ nip?: string;
7
+ /**
8
+ * Role of the queried NIP in the invoice. `Subject1` = issuer (sales invoices,
9
+ * where the company sold), `Subject2` = buyer (cost invoices, where the
10
+ * company bought). Defaults to `Subject2` for backwards compatibility.
11
+ */
12
+ subjectType?: InvoiceSubjectType;
13
+ pageSize?: number;
14
+ pageOffset?: number;
15
+ }
16
+ export interface SendInvoiceInput {
17
+ xml: string;
18
+ nip: string;
19
+ }
20
+ export interface SendInvoiceResult {
21
+ ksefReference: string;
22
+ timestamp: string;
23
+ }
24
+ export interface UpoResult {
25
+ ksefReference: string;
26
+ upoXml: string;
27
+ status: 'confirmed' | 'pending' | 'rejected';
28
+ }
29
+ export interface KsefAdapter {
30
+ fetchInvoices(opts: FetchInvoicesOpts): Promise<Invoice[]>;
31
+ sendInvoice(input: SendInvoiceInput): Promise<SendInvoiceResult>;
32
+ getUpo(ksefReference: string): Promise<UpoResult>;
33
+ initSession?(): Promise<void>;
34
+ closeSession?(): Promise<void>;
35
+ }
36
+ //# sourceMappingURL=ksef-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ksef-adapter.d.ts","sourceRoot":"","sources":["../../src/types/ksef-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAA;AAErE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,CAAA;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAChE,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IACjD,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ksef-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ksef-adapter.js","sourceRoot":"","sources":["../../src/types/ksef-adapter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import type { Invoice, ReconciliationReport } from '../schemas/index.js';
2
+ import type { ReconciliationPass } from './reconciliation-pass.js';
3
+ export interface McpToolDefinition {
4
+ name: string;
5
+ description: string;
6
+ inputSchema: Record<string, unknown>;
7
+ handler: (input: unknown) => Promise<unknown>;
8
+ }
9
+ export interface CliCommand {
10
+ name: string;
11
+ description: string;
12
+ options?: Record<string, unknown>;
13
+ action: (...args: unknown[]) => Promise<void>;
14
+ }
15
+ export interface KsefPlugin {
16
+ name: string;
17
+ version: string;
18
+ reconciliationPasses?(): ReconciliationPass[];
19
+ onReconciliationComplete?(report: ReconciliationReport): Promise<void>;
20
+ onInvoicesSynced?(invoices: Invoice[]): Promise<void>;
21
+ mcpTools?(): McpToolDefinition[];
22
+ cliCommands?(): CliCommand[];
23
+ }
24
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAElE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,oBAAoB,CAAC,IAAI,kBAAkB,EAAE,CAAA;IAC7C,wBAAwB,CAAC,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtE,gBAAgB,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAA;IAChC,WAAW,CAAC,IAAI,UAAU,EAAE,CAAA;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import type { Invoice, BankTransaction, Match } from '../schemas/index.js';
2
+ export interface MatchingContext {
3
+ invoices: Invoice[];
4
+ transactions: BankTransaction[];
5
+ alreadyMatched: Match[];
6
+ }
7
+ export interface MatchResult {
8
+ invoiceId: string;
9
+ transactionId: string;
10
+ transactionIds?: string[];
11
+ confidence: number;
12
+ reasons: string[];
13
+ }
14
+ export interface ReconciliationPass {
15
+ name: string;
16
+ order: number;
17
+ run(context: MatchingContext): Promise<MatchResult[]>;
18
+ }
19
+ //# sourceMappingURL=reconciliation-pass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciliation-pass.d.ts","sourceRoot":"","sources":["../../src/types/reconciliation-pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE1E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,YAAY,EAAE,eAAe,EAAE,CAAA;IAC/B,cAAc,EAAE,KAAK,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;CACtD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reconciliation-pass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciliation-pass.js","sourceRoot":"","sources":["../../src/types/reconciliation-pass.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import type { Invoice, BankTransaction, ReconciliationReport } from '../schemas/index.js';
2
+ export interface InvoiceQuery {
3
+ nip?: string;
4
+ from?: string;
5
+ to?: string;
6
+ invoiceNumber?: string;
7
+ }
8
+ export interface TransactionQuery {
9
+ from?: string;
10
+ to?: string;
11
+ bank?: string;
12
+ minAmount?: number;
13
+ maxAmount?: number;
14
+ }
15
+ export interface Storage {
16
+ saveInvoices(invoices: Invoice[]): Promise<void>;
17
+ getInvoices(query?: InvoiceQuery): Promise<Invoice[]>;
18
+ saveTransactions(txs: BankTransaction[]): Promise<void>;
19
+ getTransactions(query?: TransactionQuery): Promise<BankTransaction[]>;
20
+ saveReport(report: ReconciliationReport): Promise<void>;
21
+ getReport(id: string): Promise<ReconciliationReport | null>;
22
+ }
23
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/types/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAEzF,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,WAAW,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IACrD,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,eAAe,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IACrE,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;CAC5D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/types/storage.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@ksefnik/shared",
3
+ "version": "0.0.1",
4
+ "description": "Shared Zod schemas and types for the Ksefnik SDK (Polish KSeF e-Invoice reconciliation)",
5
+ "license": "MIT",
6
+ "author": "CodeFormers",
7
+ "homepage": "https://ksefnik.pl",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/CodeFormers-it/ksefnik.git",
11
+ "directory": "packages/shared"
12
+ },
13
+ "keywords": ["ksef", "ksefnik", "poland", "einvoice", "zod", "schemas"],
14
+ "type": "module",
15
+ "main": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "files": ["dist", "!dist/**/__tests__", "!dist/**/*.test.*", "README.md", "LICENSE"],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/index.d.ts",
24
+ "import": "./dist/index.js"
25
+ }
26
+ },
27
+ "scripts": {
28
+ "build": "tsc --build",
29
+ "dev": "tsc --build --watch",
30
+ "typecheck": "tsc --noEmit"
31
+ },
32
+ "dependencies": {
33
+ "zod": "^3.24"
34
+ },
35
+ "devDependencies": {
36
+ "@types/node": "^22",
37
+ "typescript": "^5.7"
38
+ }
39
+ }