@silexpert/core 1.3.94-3 → 1.3.94-4

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.
@@ -1,43 +1,70 @@
1
- export interface TransactionRow {
2
- date: string;
3
- amount: number;
4
- description: string;
5
- [key: string]: any;
6
- }
7
- export interface AnalyzeParams {
1
+ export type TransactionRow = {
2
+ label: string;
3
+ dateValue: string;
4
+ credit: number;
5
+ debit: number;
6
+ };
7
+ export type PreparedRow = TransactionRow & {
8
+ row_id: number;
9
+ date_parsed: Date | null;
10
+ credit_f: number;
11
+ debit_f: number;
12
+ delta: number;
13
+ label_n: string;
14
+ };
15
+ export type AnalyzeParams = {
8
16
  initial: number;
9
17
  target: number;
10
- days?: number;
11
- amount_tol?: number;
12
- min_sim?: number;
18
+ days: number;
19
+ amount_tol: number;
20
+ min_sim: number;
13
21
  useEmbeddings?: boolean;
14
22
  exact?: boolean;
15
23
  exactTimeLimitMs?: number;
16
- }
24
+ };
25
+ export type CandidatePair = {
26
+ row_id_a: number;
27
+ row_id_b: number;
28
+ date_a: string;
29
+ date_b: string;
30
+ label_a: string;
31
+ label_b: string;
32
+ delta_a: number;
33
+ delta_b: number;
34
+ pair_sum: number;
35
+ score: number;
36
+ reason: string;
37
+ };
17
38
  export type AnalyzeBody = {
18
39
  csv: string;
19
40
  initial: number;
20
41
  target: number;
21
42
  params: Omit<AnalyzeParams, 'initial' | 'target'>;
22
- } | {
23
- rows: TransactionRow[];
24
- initial: number;
25
- target: number;
26
- params: Omit<AnalyzeParams, 'initial' | 'target'>;
27
43
  };
28
- export interface AnalyzeResult {
44
+ export type AnalyzeResult = {
29
45
  summary: {
30
- total_rows: number;
31
- duplicates_found: number;
32
- amount_saved: number;
33
- balance_before: number;
34
- balance_after: number;
46
+ lines_before: number;
47
+ lines_after: number;
48
+ dups_candidates: number;
49
+ initial_balance: number;
50
+ final_before: number;
51
+ gap_before: number;
52
+ final_after: number;
53
+ gap_after: number;
54
+ exact_used: boolean;
35
55
  };
36
56
  artifacts: {
37
- preview_before: any[];
38
- preview_after: any[];
39
- duplicates_detailed: any[];
40
- exact_selection?: any[];
57
+ preview_before: Array<any>;
58
+ preview_after: Array<any>;
59
+ duplicates_detailed: CandidatePair[];
60
+ exact_selection?: CandidatePair[];
41
61
  };
42
- }
62
+ textual_summary?: string;
63
+ };
64
+ export type PairIndex = {
65
+ idx: number;
66
+ rows: Set<number>;
67
+ sum_cents: number;
68
+ score: number;
69
+ };
43
70
  //# sourceMappingURL=IBankDedup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IBankDedup.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IBankDedup.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GACnB;IACE,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;CACnD,GACD;IACE,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;CACnD,CAAC;AAEN,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,EAAE;QACT,cAAc,EAAE,GAAG,EAAE,CAAC;QACtB,aAAa,EAAE,GAAG,EAAE,CAAC;QACrB,mBAAmB,EAAE,GAAG,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;KACzB,CAAC;CACH"}
1
+ {"version":3,"file":"IBankDedup.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IBankDedup.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,SAAS,EAAE;QACT,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,mBAAmB,EAAE,aAAa,EAAE,CAAC;QACrC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;KACnC,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IBankDedup.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IBankDedup.ts"],"names":[],"mappings":"","sourcesContent":["export interface TransactionRow {\n date: string;\n amount: number;\n description: string;\n [key: string]: any;\n}\n\nexport interface AnalyzeParams {\n initial: number;\n target: number;\n days?: number;\n amount_tol?: number;\n min_sim?: number;\n useEmbeddings?: boolean;\n exact?: boolean;\n exactTimeLimitMs?: number;\n}\n\nexport type AnalyzeBody =\n | {\n csv: string;\n initial: number;\n target: number;\n params: Omit<AnalyzeParams, 'initial' | 'target'>;\n }\n | {\n rows: TransactionRow[];\n initial: number;\n target: number;\n params: Omit<AnalyzeParams, 'initial' | 'target'>;\n };\n\nexport interface AnalyzeResult {\n summary: {\n total_rows: number;\n duplicates_found: number;\n amount_saved: number;\n balance_before: number;\n balance_after: number;\n };\n artifacts: {\n preview_before: any[];\n preview_after: any[];\n duplicates_detailed: any[];\n exact_selection?: any[];\n };\n}\n"]}
1
+ {"version":3,"file":"IBankDedup.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IBankDedup.ts"],"names":[],"mappings":"","sourcesContent":["export type TransactionRow = {\n label: string;\n dateValue: string; // ex \"2025-06-30\" ou \"30/06/2025\"\n credit: number; // € positifs\n debit: number; // € positifs\n};\n\nexport type PreparedRow = TransactionRow & {\n row_id: number;\n date_parsed: Date | null;\n credit_f: number;\n debit_f: number;\n delta: number; // credit_f - debit_f\n label_n: string;\n};\n\nexport type AnalyzeParams = {\n initial: number;\n target: number; // solde final attendu\n days: number; // fenêtre ±N jours\n amount_tol: number; // tolérance € (0.01)\n min_sim: number; // seuil de similarité [0..1]\n useEmbeddings?: boolean; // default true si clé dispo\n exact?: boolean; // tenter solveur exact\n exactTimeLimitMs?: number; // limite pour le backtracking\n};\n\nexport type CandidatePair = {\n row_id_a: number;\n row_id_b: number;\n date_a: string;\n date_b: string;\n label_a: string;\n label_b: string;\n delta_a: number;\n delta_b: number;\n pair_sum: number; // delta_a + delta_b\n score: number; // [0..1]\n reason: string; // texte explicatif\n};\n\nexport type AnalyzeBody = {\n csv: string;\n initial: number;\n target: number;\n params: Omit<AnalyzeParams, 'initial' | 'target'>;\n};\n\nexport type AnalyzeResult = {\n summary: {\n lines_before: number;\n lines_after: number;\n dups_candidates: number;\n initial_balance: number;\n final_before: number;\n gap_before: number;\n final_after: number;\n gap_after: number;\n exact_used: boolean;\n };\n artifacts: {\n preview_before: Array<any>;\n preview_after: Array<any>;\n duplicates_detailed: CandidatePair[];\n exact_selection?: CandidatePair[];\n };\n textual_summary?: string;\n};\n\nexport type PairIndex = { idx: number; rows: Set<number>; sum_cents: number; score: number };\n"]}
@@ -1,43 +1,70 @@
1
- export interface TransactionRow {
2
- date: string;
3
- amount: number;
4
- description: string;
5
- [key: string]: any;
6
- }
7
- export interface AnalyzeParams {
1
+ export type TransactionRow = {
2
+ label: string;
3
+ dateValue: string;
4
+ credit: number;
5
+ debit: number;
6
+ };
7
+ export type PreparedRow = TransactionRow & {
8
+ row_id: number;
9
+ date_parsed: Date | null;
10
+ credit_f: number;
11
+ debit_f: number;
12
+ delta: number;
13
+ label_n: string;
14
+ };
15
+ export type AnalyzeParams = {
8
16
  initial: number;
9
17
  target: number;
10
- days?: number;
11
- amount_tol?: number;
12
- min_sim?: number;
18
+ days: number;
19
+ amount_tol: number;
20
+ min_sim: number;
13
21
  useEmbeddings?: boolean;
14
22
  exact?: boolean;
15
23
  exactTimeLimitMs?: number;
16
- }
24
+ };
25
+ export type CandidatePair = {
26
+ row_id_a: number;
27
+ row_id_b: number;
28
+ date_a: string;
29
+ date_b: string;
30
+ label_a: string;
31
+ label_b: string;
32
+ delta_a: number;
33
+ delta_b: number;
34
+ pair_sum: number;
35
+ score: number;
36
+ reason: string;
37
+ };
17
38
  export type AnalyzeBody = {
18
39
  csv: string;
19
40
  initial: number;
20
41
  target: number;
21
42
  params: Omit<AnalyzeParams, 'initial' | 'target'>;
22
- } | {
23
- rows: TransactionRow[];
24
- initial: number;
25
- target: number;
26
- params: Omit<AnalyzeParams, 'initial' | 'target'>;
27
43
  };
28
- export interface AnalyzeResult {
44
+ export type AnalyzeResult = {
29
45
  summary: {
30
- total_rows: number;
31
- duplicates_found: number;
32
- amount_saved: number;
33
- balance_before: number;
34
- balance_after: number;
46
+ lines_before: number;
47
+ lines_after: number;
48
+ dups_candidates: number;
49
+ initial_balance: number;
50
+ final_before: number;
51
+ gap_before: number;
52
+ final_after: number;
53
+ gap_after: number;
54
+ exact_used: boolean;
35
55
  };
36
56
  artifacts: {
37
- preview_before: any[];
38
- preview_after: any[];
39
- duplicates_detailed: any[];
40
- exact_selection?: any[];
57
+ preview_before: Array<any>;
58
+ preview_after: Array<any>;
59
+ duplicates_detailed: CandidatePair[];
60
+ exact_selection?: CandidatePair[];
41
61
  };
42
- }
62
+ textual_summary?: string;
63
+ };
64
+ export type PairIndex = {
65
+ idx: number;
66
+ rows: Set<number>;
67
+ sum_cents: number;
68
+ score: number;
69
+ };
43
70
  //# sourceMappingURL=IBankDedup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IBankDedup.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IBankDedup.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GACnB;IACE,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;CACnD,GACD;IACE,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;CACnD,CAAC;AAEN,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,EAAE;QACT,cAAc,EAAE,GAAG,EAAE,CAAC;QACtB,aAAa,EAAE,GAAG,EAAE,CAAC;QACrB,mBAAmB,EAAE,GAAG,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;KACzB,CAAC;CACH"}
1
+ {"version":3,"file":"IBankDedup.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IBankDedup.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,SAAS,EAAE;QACT,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,mBAAmB,EAAE,aAAa,EAAE,CAAC;QACrC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;KACnC,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IBankDedup.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IBankDedup.ts"],"names":[],"mappings":"","sourcesContent":["export interface TransactionRow {\n date: string;\n amount: number;\n description: string;\n [key: string]: any;\n}\n\nexport interface AnalyzeParams {\n initial: number;\n target: number;\n days?: number;\n amount_tol?: number;\n min_sim?: number;\n useEmbeddings?: boolean;\n exact?: boolean;\n exactTimeLimitMs?: number;\n}\n\nexport type AnalyzeBody =\n | {\n csv: string;\n initial: number;\n target: number;\n params: Omit<AnalyzeParams, 'initial' | 'target'>;\n }\n | {\n rows: TransactionRow[];\n initial: number;\n target: number;\n params: Omit<AnalyzeParams, 'initial' | 'target'>;\n };\n\nexport interface AnalyzeResult {\n summary: {\n total_rows: number;\n duplicates_found: number;\n amount_saved: number;\n balance_before: number;\n balance_after: number;\n };\n artifacts: {\n preview_before: any[];\n preview_after: any[];\n duplicates_detailed: any[];\n exact_selection?: any[];\n };\n}\n"]}
1
+ {"version":3,"file":"IBankDedup.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IBankDedup.ts"],"names":[],"mappings":"","sourcesContent":["export type TransactionRow = {\n label: string;\n dateValue: string; // ex \"2025-06-30\" ou \"30/06/2025\"\n credit: number; // € positifs\n debit: number; // € positifs\n};\n\nexport type PreparedRow = TransactionRow & {\n row_id: number;\n date_parsed: Date | null;\n credit_f: number;\n debit_f: number;\n delta: number; // credit_f - debit_f\n label_n: string;\n};\n\nexport type AnalyzeParams = {\n initial: number;\n target: number; // solde final attendu\n days: number; // fenêtre ±N jours\n amount_tol: number; // tolérance € (0.01)\n min_sim: number; // seuil de similarité [0..1]\n useEmbeddings?: boolean; // default true si clé dispo\n exact?: boolean; // tenter solveur exact\n exactTimeLimitMs?: number; // limite pour le backtracking\n};\n\nexport type CandidatePair = {\n row_id_a: number;\n row_id_b: number;\n date_a: string;\n date_b: string;\n label_a: string;\n label_b: string;\n delta_a: number;\n delta_b: number;\n pair_sum: number; // delta_a + delta_b\n score: number; // [0..1]\n reason: string; // texte explicatif\n};\n\nexport type AnalyzeBody = {\n csv: string;\n initial: number;\n target: number;\n params: Omit<AnalyzeParams, 'initial' | 'target'>;\n};\n\nexport type AnalyzeResult = {\n summary: {\n lines_before: number;\n lines_after: number;\n dups_candidates: number;\n initial_balance: number;\n final_before: number;\n gap_before: number;\n final_after: number;\n gap_after: number;\n exact_used: boolean;\n };\n artifacts: {\n preview_before: Array<any>;\n preview_after: Array<any>;\n duplicates_detailed: CandidatePair[];\n exact_selection?: CandidatePair[];\n };\n textual_summary?: string;\n};\n\nexport type PairIndex = { idx: number; rows: Set<number>; sum_cents: number; score: number };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.3.94-3",
3
+ "version": "1.3.94-4",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
6
6
  "main": "dist/cjs/index.js",
@@ -1,47 +1,70 @@
1
- export interface TransactionRow {
2
- date: string;
3
- amount: number;
4
- description: string;
5
- [key: string]: any;
6
- }
1
+ export type TransactionRow = {
2
+ label: string;
3
+ dateValue: string; // ex "2025-06-30" ou "30/06/2025"
4
+ credit: number; // € positifs
5
+ debit: number; // € positifs
6
+ };
7
7
 
8
- export interface AnalyzeParams {
8
+ export type PreparedRow = TransactionRow & {
9
+ row_id: number;
10
+ date_parsed: Date | null;
11
+ credit_f: number;
12
+ debit_f: number;
13
+ delta: number; // credit_f - debit_f
14
+ label_n: string;
15
+ };
16
+
17
+ export type AnalyzeParams = {
9
18
  initial: number;
10
- target: number;
11
- days?: number;
12
- amount_tol?: number;
13
- min_sim?: number;
14
- useEmbeddings?: boolean;
15
- exact?: boolean;
16
- exactTimeLimitMs?: number;
17
- }
19
+ target: number; // solde final attendu
20
+ days: number; // fenêtre ±N jours
21
+ amount_tol: number; // tolérance € (0.01)
22
+ min_sim: number; // seuil de similarité [0..1]
23
+ useEmbeddings?: boolean; // default true si clé dispo
24
+ exact?: boolean; // tenter solveur exact
25
+ exactTimeLimitMs?: number; // limite pour le backtracking
26
+ };
27
+
28
+ export type CandidatePair = {
29
+ row_id_a: number;
30
+ row_id_b: number;
31
+ date_a: string;
32
+ date_b: string;
33
+ label_a: string;
34
+ label_b: string;
35
+ delta_a: number;
36
+ delta_b: number;
37
+ pair_sum: number; // delta_a + delta_b
38
+ score: number; // [0..1]
39
+ reason: string; // texte explicatif
40
+ };
18
41
 
19
- export type AnalyzeBody =
20
- | {
21
- csv: string;
22
- initial: number;
23
- target: number;
24
- params: Omit<AnalyzeParams, 'initial' | 'target'>;
25
- }
26
- | {
27
- rows: TransactionRow[];
28
- initial: number;
29
- target: number;
30
- params: Omit<AnalyzeParams, 'initial' | 'target'>;
31
- };
42
+ export type AnalyzeBody = {
43
+ csv: string;
44
+ initial: number;
45
+ target: number;
46
+ params: Omit<AnalyzeParams, 'initial' | 'target'>;
47
+ };
32
48
 
33
- export interface AnalyzeResult {
49
+ export type AnalyzeResult = {
34
50
  summary: {
35
- total_rows: number;
36
- duplicates_found: number;
37
- amount_saved: number;
38
- balance_before: number;
39
- balance_after: number;
51
+ lines_before: number;
52
+ lines_after: number;
53
+ dups_candidates: number;
54
+ initial_balance: number;
55
+ final_before: number;
56
+ gap_before: number;
57
+ final_after: number;
58
+ gap_after: number;
59
+ exact_used: boolean;
40
60
  };
41
61
  artifacts: {
42
- preview_before: any[];
43
- preview_after: any[];
44
- duplicates_detailed: any[];
45
- exact_selection?: any[];
62
+ preview_before: Array<any>;
63
+ preview_after: Array<any>;
64
+ duplicates_detailed: CandidatePair[];
65
+ exact_selection?: CandidatePair[];
46
66
  };
47
- }
67
+ textual_summary?: string;
68
+ };
69
+
70
+ export type PairIndex = { idx: number; rows: Set<number>; sum_cents: number; score: number };