@silexpert/core 1.3.94-3 → 1.3.94-5
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/dist/cjs/api/resources/BankDedup.d.ts +1 -1
- package/dist/cjs/api/resources/BankDedup.d.ts.map +1 -1
- package/dist/cjs/api/resources/BankDedup.js +2 -2
- package/dist/cjs/api/resources/BankDedup.js.map +1 -1
- package/dist/cjs/types/Interface/models/IBankDedup.d.ts +54 -27
- package/dist/cjs/types/Interface/models/IBankDedup.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IBankDedup.js.map +1 -1
- package/dist/mjs/api/resources/BankDedup.d.ts +1 -1
- package/dist/mjs/api/resources/BankDedup.d.ts.map +1 -1
- package/dist/mjs/api/resources/BankDedup.js +2 -2
- package/dist/mjs/api/resources/BankDedup.js.map +1 -1
- package/dist/mjs/types/Interface/models/IBankDedup.d.ts +54 -27
- package/dist/mjs/types/Interface/models/IBankDedup.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IBankDedup.js.map +1 -1
- package/package.json +1 -1
- package/ts/api/resources/BankDedup.ts +2 -2
- package/ts/types/Interface/models/IBankDedup.ts +62 -39
|
@@ -4,6 +4,6 @@ export declare class BankDedup extends Resource {
|
|
|
4
4
|
/**
|
|
5
5
|
* Analyze bank transactions for deduplication
|
|
6
6
|
*/
|
|
7
|
-
getAnalysis(body: AnalyzeBody): Promise<AnalyzeResult>;
|
|
7
|
+
getAnalysis(body: AnalyzeBody, signal?: AbortSignal): Promise<AnalyzeResult>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=BankDedup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CAGpF"}
|
|
@@ -6,8 +6,8 @@ class BankDedup extends Resource_1.Resource {
|
|
|
6
6
|
/**
|
|
7
7
|
* Analyze bank transactions for deduplication
|
|
8
8
|
*/
|
|
9
|
-
getAnalysis(body) {
|
|
10
|
-
return this.axios.$post('/bank-dedup/analyze', body);
|
|
9
|
+
getAnalysis(body, signal) {
|
|
10
|
+
return this.axios.$post('/bank-dedup/analyze', body, signal ? { signal } : {});
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.BankDedup = BankDedup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankDedup.js","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":";;;AACA,0CAAuC;AAEvC,MAAa,SAAU,SAAQ,mBAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAiB;
|
|
1
|
+
{"version":3,"file":"BankDedup.js","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":";;;AACA,0CAAuC;AAEvC,MAAa,SAAU,SAAQ,mBAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAiB,EAAE,MAAoB;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;CACF;AAPD,8BAOC","sourcesContent":["import { AnalyzeBody, AnalyzeResult } from '../../types/Interface/models/IBankDedup';\nimport { Resource } from '../Resource';\n\nexport class BankDedup extends Resource {\n /**\n * Analyze bank transactions for deduplication\n */\n public getAnalysis(body: AnalyzeBody, signal?: AbortSignal): Promise<AnalyzeResult> {\n return this.axios.$post('/bank-dedup/analyze', body, signal ? { signal } : {});\n }\n}\n"]}
|
|
@@ -1,43 +1,70 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export
|
|
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
|
|
11
|
-
amount_tol
|
|
12
|
-
min_sim
|
|
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
|
|
44
|
+
export type AnalyzeResult = {
|
|
29
45
|
summary: {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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:
|
|
40
|
-
exact_selection?:
|
|
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,
|
|
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
|
|
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"]}
|
|
@@ -4,6 +4,6 @@ export declare class BankDedup extends Resource {
|
|
|
4
4
|
/**
|
|
5
5
|
* Analyze bank transactions for deduplication
|
|
6
6
|
*/
|
|
7
|
-
getAnalysis(body: AnalyzeBody): Promise<AnalyzeResult>;
|
|
7
|
+
getAnalysis(body: AnalyzeBody, signal?: AbortSignal): Promise<AnalyzeResult>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=BankDedup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CAGpF"}
|
|
@@ -3,8 +3,8 @@ export class BankDedup extends Resource {
|
|
|
3
3
|
/**
|
|
4
4
|
* Analyze bank transactions for deduplication
|
|
5
5
|
*/
|
|
6
|
-
getAnalysis(body) {
|
|
7
|
-
return this.axios.$post('/bank-dedup/analyze', body);
|
|
6
|
+
getAnalysis(body, signal) {
|
|
7
|
+
return this.axios.$post('/bank-dedup/analyze', body, signal ? { signal } : {});
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=BankDedup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankDedup.js","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAiB;
|
|
1
|
+
{"version":3,"file":"BankDedup.js","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAiB,EAAE,MAAoB;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;CACF","sourcesContent":["import { AnalyzeBody, AnalyzeResult } from '../../types/Interface/models/IBankDedup';\nimport { Resource } from '../Resource';\n\nexport class BankDedup extends Resource {\n /**\n * Analyze bank transactions for deduplication\n */\n public getAnalysis(body: AnalyzeBody, signal?: AbortSignal): Promise<AnalyzeResult> {\n return this.axios.$post('/bank-dedup/analyze', body, signal ? { signal } : {});\n }\n}\n"]}
|
|
@@ -1,43 +1,70 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export
|
|
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
|
|
11
|
-
amount_tol
|
|
12
|
-
min_sim
|
|
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
|
|
44
|
+
export type AnalyzeResult = {
|
|
29
45
|
summary: {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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:
|
|
40
|
-
exact_selection?:
|
|
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,
|
|
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
|
|
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
|
+
"version": "1.3.94-5",
|
|
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",
|
|
@@ -5,7 +5,7 @@ export class BankDedup extends Resource {
|
|
|
5
5
|
/**
|
|
6
6
|
* Analyze bank transactions for deduplication
|
|
7
7
|
*/
|
|
8
|
-
public getAnalysis(body: AnalyzeBody): Promise<AnalyzeResult> {
|
|
9
|
-
return this.axios.$post('/bank-dedup/analyze', body);
|
|
8
|
+
public getAnalysis(body: AnalyzeBody, signal?: AbortSignal): Promise<AnalyzeResult> {
|
|
9
|
+
return this.axios.$post('/bank-dedup/analyze', body, signal ? { signal } : {});
|
|
10
10
|
}
|
|
11
11
|
}
|
|
@@ -1,47 +1,70 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
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
|
|
12
|
-
amount_tol
|
|
13
|
-
min_sim
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
|
49
|
+
export type AnalyzeResult = {
|
|
34
50
|
summary: {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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:
|
|
45
|
-
exact_selection?:
|
|
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 };
|