@silexpert/core 1.3.94-10 → 1.3.94-11

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,9 +1,9 @@
1
- import { BankDedupRequest, BankDedupResponse } from '../../types';
1
+ import { BankDedupResponse } from '../../types';
2
2
  import { Resource } from '../Resource';
3
3
  export declare class BankDedup extends Resource {
4
4
  /**
5
5
  * Analyze bank transactions for deduplication
6
6
  */
7
- getAnalysis(body: BankDedupRequest): Promise<BankDedupResponse>;
7
+ getAnalysis(body: FormData): Promise<BankDedupResponse>;
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,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAGvE"}
1
+ {"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG/D"}
@@ -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,IAAsB;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;CACF;AAPD,8BAOC","sourcesContent":["import { BankDedupRequest, BankDedupResponse } from '../../types';\nimport { Resource } from '../Resource';\n\nexport class BankDedup extends Resource {\n /**\n * Analyze bank transactions for deduplication\n */\n public getAnalysis(body: BankDedupRequest): Promise<BankDedupResponse> {\n return this.axios.$post('/bank-dedup/detect', body);\n }\n}\n"]}
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,IAAc;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;CACF;AAPD,8BAOC","sourcesContent":["import { BankDedupResponse } from '../../types';\nimport { Resource } from '../Resource';\n\nexport class BankDedup extends Resource {\n /**\n * Analyze bank transactions for deduplication\n */\n public getAnalysis(body: FormData): Promise<BankDedupResponse> {\n return this.axios.$post('/bank-dedup/detect', body);\n }\n}\n"]}
@@ -26,6 +26,21 @@ export declare class DuplicateGroup {
26
26
  confidence: number;
27
27
  method: 'exact' | 'fuzzy_high' | 'fuzzy_medium' | 'fuzzy_low';
28
28
  }
29
+ export declare class BankDedupRemovedTx {
30
+ id: string;
31
+ isSelected: boolean;
32
+ confidence?: number;
33
+ method?: string;
34
+ amount?: number;
35
+ transactionCount?: number;
36
+ transactions?: {
37
+ id: string;
38
+ label: string;
39
+ dateValue: string;
40
+ isKept: boolean;
41
+ isCredit: boolean;
42
+ }[];
43
+ }
29
44
  export declare class BankDedupResult {
30
45
  success: true;
31
46
  initial: number;
@@ -34,7 +49,7 @@ export declare class BankDedupResult {
34
49
  finalAfterDedup: number;
35
50
  diffBefore: number;
36
51
  diffAfter: number;
37
- removedGroups: BankDedupGroup[];
52
+ removedTxs: BankDedupRemovedTx[];
38
53
  removedCount: number;
39
54
  keptCount: number;
40
55
  csvDeduped: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankDedup/BankDedup.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAgB;IAG3B,GAAG,EAAE,MAAM,CAAC;IAIZ,OAAO,EAAE,MAAM,CAAC;IAIhB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,uBAAuB;IAGlC,OAAO,EAAE,MAAM,CAAC;IAIhB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,MAAM;IAGjB,EAAE,EAAE,MAAM,CAAC;IAIX,KAAK,EAAE,MAAM,CAAC;IAId,SAAS,EAAE,MAAM,CAAC;IAIlB,MAAM,EAAE,MAAM,CAAC;IAIf,KAAK,EAAE,MAAM,CAAC;IAId,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAKb,MAAM,EAAE,MAAM,CAAC;IAIf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IAGzB,EAAE,EAAE,MAAM,CAAC;IAKX,YAAY,EAAE,MAAM,EAAE,CAAC;IAIvB,MAAM,EAAE,MAAM,CAAC;IAIf,KAAK,EAAE,MAAM,CAAC;IAId,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAMb,UAAU,EAAE,MAAM,CAAC;IAInB,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,cAAc,GAAG,WAAW,CAAC;CAC/D;AAED,qBAAa,eAAe;IAG1B,OAAO,EAAE,IAAI,CAAC;IAId,OAAO,EAAE,MAAM,CAAC;IAIhB,MAAM,EAAE,MAAM,CAAC;IAIf,QAAQ,EAAE,MAAM,CAAC;IAIjB,eAAe,EAAE,MAAM,CAAC;IAIxB,UAAU,EAAE,MAAM,CAAC;IAInB,SAAS,EAAE,MAAM,CAAC;IAKlB,aAAa,EAAE,cAAc,EAAE,CAAC;IAIhC,YAAY,EAAE,MAAM,CAAC;IAIrB,SAAS,EAAE,MAAM,CAAC;IAIlB,UAAU,EAAE,MAAM,CAAC;IAKnB,SAAS,EAAE,cAAc,EAAE,CAAC;IAG5B,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH;AAED,qBAAa,cAAc;IAGzB,EAAE,EAAE,MAAM,CAAC;IAIX,UAAU,EAAE,OAAO,CAAC;IAOpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;CACL;AAED,qBAAa,mBAAmB;IAG9B,OAAO,EAAE,KAAK,CAAC;IAIf,MAAM,EAAE,sBAAsB,GAAG,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,CAAC;IAIjG,OAAO,EAAE,MAAM,CAAC;IAKhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAKjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,WAAW,CAAC,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAIF,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankDedup/BankDedup.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.BankDedupImpossible = exports.BankDedupGroup = exports.BankDedupResult = exports.DuplicateGroup = exports.BankTx = exports.BankDedupFileUploadBody = exports.BankDedupRequest = void 0;
12
+ exports.BankDedupImpossible = exports.BankDedupGroup = exports.BankDedupResult = exports.BankDedupRemovedTx = exports.DuplicateGroup = exports.BankTx = exports.BankDedupFileUploadBody = exports.BankDedupRequest = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const utils_1 = require("../../../../utils");
15
15
  class BankDedupRequest {
@@ -128,6 +128,51 @@ __decorate([
128
128
  (0, class_validator_1.IsIn)(['exact', 'fuzzy_high', 'fuzzy_medium', 'fuzzy_low']),
129
129
  __metadata("design:type", String)
130
130
  ], DuplicateGroup.prototype, "method", void 0);
131
+ class BankDedupRemovedTx {
132
+ }
133
+ exports.BankDedupRemovedTx = BankDedupRemovedTx;
134
+ __decorate([
135
+ (0, utils_1.ApiProperty)(),
136
+ (0, class_validator_1.IsString)(),
137
+ __metadata("design:type", String)
138
+ ], BankDedupRemovedTx.prototype, "id", void 0);
139
+ __decorate([
140
+ (0, utils_1.ApiProperty)(),
141
+ (0, class_validator_1.IsBoolean)(),
142
+ __metadata("design:type", Boolean)
143
+ ], BankDedupRemovedTx.prototype, "isSelected", void 0);
144
+ __decorate([
145
+ (0, utils_1.ApiProperty)(),
146
+ (0, class_validator_1.IsOptional)(),
147
+ (0, class_validator_1.IsNumber)(),
148
+ (0, class_validator_1.Min)(0),
149
+ (0, class_validator_1.Max)(1),
150
+ __metadata("design:type", Number)
151
+ ], BankDedupRemovedTx.prototype, "confidence", void 0);
152
+ __decorate([
153
+ (0, utils_1.ApiProperty)(),
154
+ (0, class_validator_1.IsOptional)(),
155
+ (0, class_validator_1.IsString)(),
156
+ __metadata("design:type", String)
157
+ ], BankDedupRemovedTx.prototype, "method", void 0);
158
+ __decorate([
159
+ (0, utils_1.ApiProperty)(),
160
+ (0, class_validator_1.IsOptional)(),
161
+ (0, class_validator_1.IsNumber)(),
162
+ __metadata("design:type", Number)
163
+ ], BankDedupRemovedTx.prototype, "amount", void 0);
164
+ __decorate([
165
+ (0, utils_1.ApiProperty)(),
166
+ (0, class_validator_1.IsOptional)(),
167
+ (0, class_validator_1.IsNumber)(),
168
+ __metadata("design:type", Number)
169
+ ], BankDedupRemovedTx.prototype, "transactionCount", void 0);
170
+ __decorate([
171
+ (0, utils_1.ApiProperty)(),
172
+ (0, class_validator_1.IsOptional)(),
173
+ (0, class_validator_1.IsArray)(),
174
+ __metadata("design:type", Array)
175
+ ], BankDedupRemovedTx.prototype, "transactions", void 0);
131
176
  class BankDedupResult {
132
177
  }
133
178
  exports.BankDedupResult = BankDedupResult;
@@ -171,7 +216,7 @@ __decorate([
171
216
  (0, class_validator_1.IsArray)(),
172
217
  (0, class_validator_1.ValidateNested)({ each: true }),
173
218
  __metadata("design:type", Array)
174
- ], BankDedupResult.prototype, "removedGroups", void 0);
219
+ ], BankDedupResult.prototype, "removedTxs", void 0);
175
220
  __decorate([
176
221
  (0, utils_1.ApiProperty)(),
177
222
  (0, class_validator_1.IsNumber)(),
@@ -1 +1 @@
1
- {"version":3,"file":"BankDedup.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankDedup/BankDedup.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsString, IsNumber, IsArray, ValidateNested, IsBoolean, IsIn, IsOptional, Min, Max } from 'class-validator';\nimport { ApiProperty } from '../../../../utils';\n\nexport class BankDedupRequest {\n @ApiProperty()\n @IsString()\n csv: string; // CSV en string (avec header: label,dateValue,credit,debit)\n\n @ApiProperty()\n @IsNumber()\n initial: number; // solde initial\n\n @ApiProperty()\n @IsNumber()\n target: number; // solde cible\n}\n\nexport class BankDedupFileUploadBody {\n @ApiProperty()\n @IsNumber()\n initial: number; // solde initial\n\n @ApiProperty()\n @IsNumber()\n target: number; // solde cible\n}\n\nexport class BankTx {\n @ApiProperty()\n @IsString()\n id: string; // id interne généré\n\n @ApiProperty()\n @IsString()\n label: string;\n\n @ApiProperty()\n @IsString()\n dateValue: string; // YYYY-MM-DD\n\n @ApiProperty()\n @IsNumber()\n credit: number;\n\n @ApiProperty()\n @IsNumber()\n debit: number;\n\n @ApiProperty()\n @IsIn([1, -1])\n sign: 1 | -1; // 1 = crédit net, -1 = débit net\n\n @ApiProperty()\n @IsNumber()\n @Min(0)\n amount: number; // valeur absolue du mouvement (en positif)\n\n @ApiProperty()\n @IsNumber()\n cents: number; // montant en centimes pour calculs exacts\n}\n\nexport class DuplicateGroup {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty({ type: [BankTx] })\n @IsArray()\n @ValidateNested({ each: true })\n transactions: BankTx[];\n\n @ApiProperty()\n @IsNumber()\n amount: number; // montant commun\n\n @ApiProperty()\n @IsNumber()\n cents: number; // montant en centimes\n\n @ApiProperty()\n @IsIn([1, -1])\n sign: 1 | -1; // signe commun\n\n @ApiProperty()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence: number; // score de confiance [0 - 1]\n\n @ApiProperty()\n @IsIn(['exact', 'fuzzy_high', 'fuzzy_medium', 'fuzzy_low'])\n method: 'exact' | 'fuzzy_high' | 'fuzzy_medium' | 'fuzzy_low'; // méthode de détection\n}\n\nexport class BankDedupResult {\n @ApiProperty()\n @IsBoolean()\n success: true;\n\n @ApiProperty()\n @IsNumber()\n initial: number;\n\n @ApiProperty()\n @IsNumber()\n target: number;\n\n @ApiProperty()\n @IsNumber()\n finalRaw: number;\n\n @ApiProperty()\n @IsNumber()\n finalAfterDedup: number;\n\n @ApiProperty()\n @IsNumber()\n diffBefore: number; // target - finalRaw\n\n @ApiProperty()\n @IsNumber()\n diffAfter: number; // target - finalAfterDedup (DOIT être exactement 0, aucune tolérance)\n\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n removedGroups: BankDedupGroup[];\n\n @ApiProperty()\n @IsNumber()\n removedCount: number;\n\n @ApiProperty()\n @IsNumber()\n keptCount: number;\n\n @ApiProperty()\n @IsString()\n csvDeduped: string;\n\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n allGroups: BankDedupGroup[];\n\n @ApiProperty()\n debug: {\n totalGroups: number;\n selectedGroups: number;\n iterations: number;\n strategiesUsed: string[];\n };\n}\n\nexport class BankDedupGroup {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty()\n @IsBoolean()\n isSelected: boolean;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsString()\n method?: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n amount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n transactionCount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsArray()\n transactions?: {\n id: string;\n label: string;\n dateValue: string;\n isKept: boolean;\n isCredit: boolean;\n }[];\n}\n\nexport class BankDedupImpossible {\n @ApiProperty()\n @IsBoolean()\n success: false;\n\n @ApiProperty()\n @IsIn(['NO_EXACT_COMBINATION', 'CSV_PARSE_ERROR', 'INVALID_INPUT', 'INSUFFICIENT_DUPLICATES'])\n reason: 'NO_EXACT_COMBINATION' | 'CSV_PARSE_ERROR' | 'INVALID_INPUT' | 'INSUFFICIENT_DUPLICATES';\n\n @ApiProperty()\n @IsString()\n message: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n initial?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n target?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n finalRaw?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n diffBefore?: number;\n\n @ApiProperty()\n @IsOptional()\n bestAttempt?: {\n finalAfterDedup: number;\n diffAfter: number;\n removedCount: number;\n };\n\n @ApiProperty()\n @IsOptional()\n stats?: {\n totalTx?: number;\n totalGroups?: number;\n strategiesTried?: string[];\n };\n}\n\nexport type BankDedupResponse = BankDedupResult | BankDedupImpossible;\n"]}
1
+ {"version":3,"file":"BankDedup.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankDedup/BankDedup.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsString, IsNumber, IsArray, ValidateNested, IsBoolean, IsIn, IsOptional, Min, Max } from 'class-validator';\nimport { ApiProperty } from '../../../../utils';\n\nexport class BankDedupRequest {\n @ApiProperty()\n @IsString()\n csv: string; // CSV en string (avec header: label,dateValue,credit,debit)\n\n @ApiProperty()\n @IsNumber()\n initial: number; // solde initial\n\n @ApiProperty()\n @IsNumber()\n target: number; // solde cible\n}\n\nexport class BankDedupFileUploadBody {\n @ApiProperty()\n @IsNumber()\n initial: number; // solde initial\n\n @ApiProperty()\n @IsNumber()\n target: number; // solde cible\n}\n\nexport class BankTx {\n @ApiProperty()\n @IsString()\n id: string; // id interne généré\n\n @ApiProperty()\n @IsString()\n label: string;\n\n @ApiProperty()\n @IsString()\n dateValue: string; // YYYY-MM-DD\n\n @ApiProperty()\n @IsNumber()\n credit: number;\n\n @ApiProperty()\n @IsNumber()\n debit: number;\n\n @ApiProperty()\n @IsIn([1, -1])\n sign: 1 | -1; // 1 = crédit net, -1 = débit net\n\n @ApiProperty()\n @IsNumber()\n @Min(0)\n amount: number; // valeur absolue du mouvement (en positif)\n\n @ApiProperty()\n @IsNumber()\n cents: number; // montant en centimes pour calculs exacts\n}\n\nexport class DuplicateGroup {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty({ type: [BankTx] })\n @IsArray()\n @ValidateNested({ each: true })\n transactions: BankTx[];\n\n @ApiProperty()\n @IsNumber()\n amount: number; // montant commun\n\n @ApiProperty()\n @IsNumber()\n cents: number; // montant en centimes\n\n @ApiProperty()\n @IsIn([1, -1])\n sign: 1 | -1; // signe commun\n\n @ApiProperty()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence: number; // score de confiance [0 - 1]\n\n @ApiProperty()\n @IsIn(['exact', 'fuzzy_high', 'fuzzy_medium', 'fuzzy_low'])\n method: 'exact' | 'fuzzy_high' | 'fuzzy_medium' | 'fuzzy_low'; // méthode de détection\n}\n\nexport class BankDedupRemovedTx {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty()\n @IsBoolean()\n isSelected: boolean;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsString()\n method?: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n amount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n transactionCount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsArray()\n transactions?: {\n id: string;\n label: string;\n dateValue: string;\n isKept: boolean;\n isCredit: boolean;\n }[];\n}\n\nexport class BankDedupResult {\n @ApiProperty()\n @IsBoolean()\n success: true;\n\n @ApiProperty()\n @IsNumber()\n initial: number;\n\n @ApiProperty()\n @IsNumber()\n target: number;\n\n @ApiProperty()\n @IsNumber()\n finalRaw: number;\n\n @ApiProperty()\n @IsNumber()\n finalAfterDedup: number;\n\n @ApiProperty()\n @IsNumber()\n diffBefore: number; // target - finalRaw\n\n @ApiProperty()\n @IsNumber()\n diffAfter: number; // target - finalAfterDedup (DOIT être exactement 0, aucune tolérance)\n\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n removedTxs: BankDedupRemovedTx[];\n\n @ApiProperty()\n @IsNumber()\n removedCount: number;\n\n @ApiProperty()\n @IsNumber()\n keptCount: number;\n\n @ApiProperty()\n @IsString()\n csvDeduped: string;\n\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n allGroups: BankDedupGroup[];\n\n @ApiProperty()\n debug: {\n totalGroups: number;\n selectedGroups: number;\n iterations: number;\n strategiesUsed: string[];\n };\n}\n\nexport class BankDedupGroup {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty()\n @IsBoolean()\n isSelected: boolean;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsString()\n method?: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n amount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n transactionCount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsArray()\n transactions?: {\n id: string;\n label: string;\n dateValue: string;\n isKept: boolean;\n isCredit: boolean;\n }[];\n}\n\nexport class BankDedupImpossible {\n @ApiProperty()\n @IsBoolean()\n success: false;\n\n @ApiProperty()\n @IsIn(['NO_EXACT_COMBINATION', 'CSV_PARSE_ERROR', 'INVALID_INPUT', 'INSUFFICIENT_DUPLICATES'])\n reason: 'NO_EXACT_COMBINATION' | 'CSV_PARSE_ERROR' | 'INVALID_INPUT' | 'INSUFFICIENT_DUPLICATES';\n\n @ApiProperty()\n @IsString()\n message: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n initial?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n target?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n finalRaw?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n diffBefore?: number;\n\n @ApiProperty()\n @IsOptional()\n bestAttempt?: {\n finalAfterDedup: number;\n diffAfter: number;\n removedCount: number;\n };\n\n @ApiProperty()\n @IsOptional()\n stats?: {\n totalTx?: number;\n totalGroups?: number;\n strategiesTried?: string[];\n };\n}\n\nexport type BankDedupResponse = BankDedupResult | BankDedupImpossible;\n"]}
@@ -1,9 +1,9 @@
1
- import { BankDedupRequest, BankDedupResponse } from '../../types';
1
+ import { BankDedupResponse } from '../../types';
2
2
  import { Resource } from '../Resource';
3
3
  export declare class BankDedup extends Resource {
4
4
  /**
5
5
  * Analyze bank transactions for deduplication
6
6
  */
7
- getAnalysis(body: BankDedupRequest): Promise<BankDedupResponse>;
7
+ getAnalysis(body: FormData): Promise<BankDedupResponse>;
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,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAGvE"}
1
+ {"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../ts/api/resources/BankDedup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,SAAU,SAAQ,QAAQ;IACrC;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG/D"}
@@ -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,IAAsB;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;CACF","sourcesContent":["import { BankDedupRequest, BankDedupResponse } from '../../types';\nimport { Resource } from '../Resource';\n\nexport class BankDedup extends Resource {\n /**\n * Analyze bank transactions for deduplication\n */\n public getAnalysis(body: BankDedupRequest): Promise<BankDedupResponse> {\n return this.axios.$post('/bank-dedup/detect', body);\n }\n}\n"]}
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,IAAc;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;CACF","sourcesContent":["import { BankDedupResponse } from '../../types';\nimport { Resource } from '../Resource';\n\nexport class BankDedup extends Resource {\n /**\n * Analyze bank transactions for deduplication\n */\n public getAnalysis(body: FormData): Promise<BankDedupResponse> {\n return this.axios.$post('/bank-dedup/detect', body);\n }\n}\n"]}
@@ -26,6 +26,21 @@ export declare class DuplicateGroup {
26
26
  confidence: number;
27
27
  method: 'exact' | 'fuzzy_high' | 'fuzzy_medium' | 'fuzzy_low';
28
28
  }
29
+ export declare class BankDedupRemovedTx {
30
+ id: string;
31
+ isSelected: boolean;
32
+ confidence?: number;
33
+ method?: string;
34
+ amount?: number;
35
+ transactionCount?: number;
36
+ transactions?: {
37
+ id: string;
38
+ label: string;
39
+ dateValue: string;
40
+ isKept: boolean;
41
+ isCredit: boolean;
42
+ }[];
43
+ }
29
44
  export declare class BankDedupResult {
30
45
  success: true;
31
46
  initial: number;
@@ -34,7 +49,7 @@ export declare class BankDedupResult {
34
49
  finalAfterDedup: number;
35
50
  diffBefore: number;
36
51
  diffAfter: number;
37
- removedGroups: BankDedupGroup[];
52
+ removedTxs: BankDedupRemovedTx[];
38
53
  removedCount: number;
39
54
  keptCount: number;
40
55
  csvDeduped: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankDedup/BankDedup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BankDedup.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankDedup/BankDedup.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAgB;IAG3B,GAAG,EAAE,MAAM,CAAC;IAIZ,OAAO,EAAE,MAAM,CAAC;IAIhB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,uBAAuB;IAGlC,OAAO,EAAE,MAAM,CAAC;IAIhB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,MAAM;IAGjB,EAAE,EAAE,MAAM,CAAC;IAIX,KAAK,EAAE,MAAM,CAAC;IAId,SAAS,EAAE,MAAM,CAAC;IAIlB,MAAM,EAAE,MAAM,CAAC;IAIf,KAAK,EAAE,MAAM,CAAC;IAId,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAKb,MAAM,EAAE,MAAM,CAAC;IAIf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IAGzB,EAAE,EAAE,MAAM,CAAC;IAKX,YAAY,EAAE,MAAM,EAAE,CAAC;IAIvB,MAAM,EAAE,MAAM,CAAC;IAIf,KAAK,EAAE,MAAM,CAAC;IAId,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAMb,UAAU,EAAE,MAAM,CAAC;IAInB,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,cAAc,GAAG,WAAW,CAAC;CAC/D;AAED,qBAAa,kBAAkB;IAG7B,EAAE,EAAE,MAAM,CAAC;IAIX,UAAU,EAAE,OAAO,CAAC;IAOpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;CACL;AAED,qBAAa,eAAe;IAG1B,OAAO,EAAE,IAAI,CAAC;IAId,OAAO,EAAE,MAAM,CAAC;IAIhB,MAAM,EAAE,MAAM,CAAC;IAIf,QAAQ,EAAE,MAAM,CAAC;IAIjB,eAAe,EAAE,MAAM,CAAC;IAIxB,UAAU,EAAE,MAAM,CAAC;IAInB,SAAS,EAAE,MAAM,CAAC;IAKlB,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAIjC,YAAY,EAAE,MAAM,CAAC;IAIrB,SAAS,EAAE,MAAM,CAAC;IAIlB,UAAU,EAAE,MAAM,CAAC;IAKnB,SAAS,EAAE,cAAc,EAAE,CAAC;IAG5B,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH;AAED,qBAAa,cAAc;IAGzB,EAAE,EAAE,MAAM,CAAC;IAIX,UAAU,EAAE,OAAO,CAAC;IAOpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;CACL;AAED,qBAAa,mBAAmB;IAG9B,OAAO,EAAE,KAAK,CAAC;IAIf,MAAM,EAAE,sBAAsB,GAAG,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,CAAC;IAIjG,OAAO,EAAE,MAAM,CAAC;IAKhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAKjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,WAAW,CAAC,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAIF,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,mBAAmB,CAAC"}
@@ -141,6 +141,57 @@ __decorate([
141
141
  IsIn(['exact', 'fuzzy_high', 'fuzzy_medium', 'fuzzy_low']),
142
142
  __metadata("design:type", String)
143
143
  ], DuplicateGroup.prototype, "method", void 0);
144
+ export class BankDedupRemovedTx {
145
+ id;
146
+ isSelected;
147
+ confidence;
148
+ method;
149
+ amount;
150
+ transactionCount;
151
+ transactions;
152
+ }
153
+ __decorate([
154
+ ApiProperty(),
155
+ IsString(),
156
+ __metadata("design:type", String)
157
+ ], BankDedupRemovedTx.prototype, "id", void 0);
158
+ __decorate([
159
+ ApiProperty(),
160
+ IsBoolean(),
161
+ __metadata("design:type", Boolean)
162
+ ], BankDedupRemovedTx.prototype, "isSelected", void 0);
163
+ __decorate([
164
+ ApiProperty(),
165
+ IsOptional(),
166
+ IsNumber(),
167
+ Min(0),
168
+ Max(1),
169
+ __metadata("design:type", Number)
170
+ ], BankDedupRemovedTx.prototype, "confidence", void 0);
171
+ __decorate([
172
+ ApiProperty(),
173
+ IsOptional(),
174
+ IsString(),
175
+ __metadata("design:type", String)
176
+ ], BankDedupRemovedTx.prototype, "method", void 0);
177
+ __decorate([
178
+ ApiProperty(),
179
+ IsOptional(),
180
+ IsNumber(),
181
+ __metadata("design:type", Number)
182
+ ], BankDedupRemovedTx.prototype, "amount", void 0);
183
+ __decorate([
184
+ ApiProperty(),
185
+ IsOptional(),
186
+ IsNumber(),
187
+ __metadata("design:type", Number)
188
+ ], BankDedupRemovedTx.prototype, "transactionCount", void 0);
189
+ __decorate([
190
+ ApiProperty(),
191
+ IsOptional(),
192
+ IsArray(),
193
+ __metadata("design:type", Array)
194
+ ], BankDedupRemovedTx.prototype, "transactions", void 0);
144
195
  export class BankDedupResult {
145
196
  success;
146
197
  initial;
@@ -149,7 +200,7 @@ export class BankDedupResult {
149
200
  finalAfterDedup;
150
201
  diffBefore; // target - finalRaw
151
202
  diffAfter; // target - finalAfterDedup (DOIT être exactement 0, aucune tolérance)
152
- removedGroups;
203
+ removedTxs;
153
204
  removedCount;
154
205
  keptCount;
155
206
  csvDeduped;
@@ -196,7 +247,7 @@ __decorate([
196
247
  IsArray(),
197
248
  ValidateNested({ each: true }),
198
249
  __metadata("design:type", Array)
199
- ], BankDedupResult.prototype, "removedGroups", void 0);
250
+ ], BankDedupResult.prototype, "removedTxs", void 0);
200
251
  __decorate([
201
252
  ApiProperty(),
202
253
  IsNumber(),
@@ -1 +1 @@
1
- {"version":3,"file":"BankDedup.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankDedup/BankDedup.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsString, IsNumber, IsArray, ValidateNested, IsBoolean, IsIn, IsOptional, Min, Max } from 'class-validator';\nimport { ApiProperty } from '../../../../utils';\n\nexport class BankDedupRequest {\n @ApiProperty()\n @IsString()\n csv: string; // CSV en string (avec header: label,dateValue,credit,debit)\n\n @ApiProperty()\n @IsNumber()\n initial: number; // solde initial\n\n @ApiProperty()\n @IsNumber()\n target: number; // solde cible\n}\n\nexport class BankDedupFileUploadBody {\n @ApiProperty()\n @IsNumber()\n initial: number; // solde initial\n\n @ApiProperty()\n @IsNumber()\n target: number; // solde cible\n}\n\nexport class BankTx {\n @ApiProperty()\n @IsString()\n id: string; // id interne généré\n\n @ApiProperty()\n @IsString()\n label: string;\n\n @ApiProperty()\n @IsString()\n dateValue: string; // YYYY-MM-DD\n\n @ApiProperty()\n @IsNumber()\n credit: number;\n\n @ApiProperty()\n @IsNumber()\n debit: number;\n\n @ApiProperty()\n @IsIn([1, -1])\n sign: 1 | -1; // 1 = crédit net, -1 = débit net\n\n @ApiProperty()\n @IsNumber()\n @Min(0)\n amount: number; // valeur absolue du mouvement (en positif)\n\n @ApiProperty()\n @IsNumber()\n cents: number; // montant en centimes pour calculs exacts\n}\n\nexport class DuplicateGroup {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty({ type: [BankTx] })\n @IsArray()\n @ValidateNested({ each: true })\n transactions: BankTx[];\n\n @ApiProperty()\n @IsNumber()\n amount: number; // montant commun\n\n @ApiProperty()\n @IsNumber()\n cents: number; // montant en centimes\n\n @ApiProperty()\n @IsIn([1, -1])\n sign: 1 | -1; // signe commun\n\n @ApiProperty()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence: number; // score de confiance [0 - 1]\n\n @ApiProperty()\n @IsIn(['exact', 'fuzzy_high', 'fuzzy_medium', 'fuzzy_low'])\n method: 'exact' | 'fuzzy_high' | 'fuzzy_medium' | 'fuzzy_low'; // méthode de détection\n}\n\nexport class BankDedupResult {\n @ApiProperty()\n @IsBoolean()\n success: true;\n\n @ApiProperty()\n @IsNumber()\n initial: number;\n\n @ApiProperty()\n @IsNumber()\n target: number;\n\n @ApiProperty()\n @IsNumber()\n finalRaw: number;\n\n @ApiProperty()\n @IsNumber()\n finalAfterDedup: number;\n\n @ApiProperty()\n @IsNumber()\n diffBefore: number; // target - finalRaw\n\n @ApiProperty()\n @IsNumber()\n diffAfter: number; // target - finalAfterDedup (DOIT être exactement 0, aucune tolérance)\n\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n removedGroups: BankDedupGroup[];\n\n @ApiProperty()\n @IsNumber()\n removedCount: number;\n\n @ApiProperty()\n @IsNumber()\n keptCount: number;\n\n @ApiProperty()\n @IsString()\n csvDeduped: string;\n\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n allGroups: BankDedupGroup[];\n\n @ApiProperty()\n debug: {\n totalGroups: number;\n selectedGroups: number;\n iterations: number;\n strategiesUsed: string[];\n };\n}\n\nexport class BankDedupGroup {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty()\n @IsBoolean()\n isSelected: boolean;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsString()\n method?: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n amount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n transactionCount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsArray()\n transactions?: {\n id: string;\n label: string;\n dateValue: string;\n isKept: boolean;\n isCredit: boolean;\n }[];\n}\n\nexport class BankDedupImpossible {\n @ApiProperty()\n @IsBoolean()\n success: false;\n\n @ApiProperty()\n @IsIn(['NO_EXACT_COMBINATION', 'CSV_PARSE_ERROR', 'INVALID_INPUT', 'INSUFFICIENT_DUPLICATES'])\n reason: 'NO_EXACT_COMBINATION' | 'CSV_PARSE_ERROR' | 'INVALID_INPUT' | 'INSUFFICIENT_DUPLICATES';\n\n @ApiProperty()\n @IsString()\n message: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n initial?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n target?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n finalRaw?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n diffBefore?: number;\n\n @ApiProperty()\n @IsOptional()\n bestAttempt?: {\n finalAfterDedup: number;\n diffAfter: number;\n removedCount: number;\n };\n\n @ApiProperty()\n @IsOptional()\n stats?: {\n totalTx?: number;\n totalGroups?: number;\n strategiesTried?: string[];\n };\n}\n\nexport type BankDedupResponse = BankDedupResult | BankDedupImpossible;\n"]}
1
+ {"version":3,"file":"BankDedup.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankDedup/BankDedup.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsString, IsNumber, IsArray, ValidateNested, IsBoolean, IsIn, IsOptional, Min, Max } from 'class-validator';\nimport { ApiProperty } from '../../../../utils';\n\nexport class BankDedupRequest {\n @ApiProperty()\n @IsString()\n csv: string; // CSV en string (avec header: label,dateValue,credit,debit)\n\n @ApiProperty()\n @IsNumber()\n initial: number; // solde initial\n\n @ApiProperty()\n @IsNumber()\n target: number; // solde cible\n}\n\nexport class BankDedupFileUploadBody {\n @ApiProperty()\n @IsNumber()\n initial: number; // solde initial\n\n @ApiProperty()\n @IsNumber()\n target: number; // solde cible\n}\n\nexport class BankTx {\n @ApiProperty()\n @IsString()\n id: string; // id interne généré\n\n @ApiProperty()\n @IsString()\n label: string;\n\n @ApiProperty()\n @IsString()\n dateValue: string; // YYYY-MM-DD\n\n @ApiProperty()\n @IsNumber()\n credit: number;\n\n @ApiProperty()\n @IsNumber()\n debit: number;\n\n @ApiProperty()\n @IsIn([1, -1])\n sign: 1 | -1; // 1 = crédit net, -1 = débit net\n\n @ApiProperty()\n @IsNumber()\n @Min(0)\n amount: number; // valeur absolue du mouvement (en positif)\n\n @ApiProperty()\n @IsNumber()\n cents: number; // montant en centimes pour calculs exacts\n}\n\nexport class DuplicateGroup {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty({ type: [BankTx] })\n @IsArray()\n @ValidateNested({ each: true })\n transactions: BankTx[];\n\n @ApiProperty()\n @IsNumber()\n amount: number; // montant commun\n\n @ApiProperty()\n @IsNumber()\n cents: number; // montant en centimes\n\n @ApiProperty()\n @IsIn([1, -1])\n sign: 1 | -1; // signe commun\n\n @ApiProperty()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence: number; // score de confiance [0 - 1]\n\n @ApiProperty()\n @IsIn(['exact', 'fuzzy_high', 'fuzzy_medium', 'fuzzy_low'])\n method: 'exact' | 'fuzzy_high' | 'fuzzy_medium' | 'fuzzy_low'; // méthode de détection\n}\n\nexport class BankDedupRemovedTx {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty()\n @IsBoolean()\n isSelected: boolean;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsString()\n method?: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n amount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n transactionCount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsArray()\n transactions?: {\n id: string;\n label: string;\n dateValue: string;\n isKept: boolean;\n isCredit: boolean;\n }[];\n}\n\nexport class BankDedupResult {\n @ApiProperty()\n @IsBoolean()\n success: true;\n\n @ApiProperty()\n @IsNumber()\n initial: number;\n\n @ApiProperty()\n @IsNumber()\n target: number;\n\n @ApiProperty()\n @IsNumber()\n finalRaw: number;\n\n @ApiProperty()\n @IsNumber()\n finalAfterDedup: number;\n\n @ApiProperty()\n @IsNumber()\n diffBefore: number; // target - finalRaw\n\n @ApiProperty()\n @IsNumber()\n diffAfter: number; // target - finalAfterDedup (DOIT être exactement 0, aucune tolérance)\n\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n removedTxs: BankDedupRemovedTx[];\n\n @ApiProperty()\n @IsNumber()\n removedCount: number;\n\n @ApiProperty()\n @IsNumber()\n keptCount: number;\n\n @ApiProperty()\n @IsString()\n csvDeduped: string;\n\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n allGroups: BankDedupGroup[];\n\n @ApiProperty()\n debug: {\n totalGroups: number;\n selectedGroups: number;\n iterations: number;\n strategiesUsed: string[];\n };\n}\n\nexport class BankDedupGroup {\n @ApiProperty()\n @IsString()\n id: string;\n\n @ApiProperty()\n @IsBoolean()\n isSelected: boolean;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n @Min(0)\n @Max(1)\n confidence?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsString()\n method?: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n amount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n transactionCount?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsArray()\n transactions?: {\n id: string;\n label: string;\n dateValue: string;\n isKept: boolean;\n isCredit: boolean;\n }[];\n}\n\nexport class BankDedupImpossible {\n @ApiProperty()\n @IsBoolean()\n success: false;\n\n @ApiProperty()\n @IsIn(['NO_EXACT_COMBINATION', 'CSV_PARSE_ERROR', 'INVALID_INPUT', 'INSUFFICIENT_DUPLICATES'])\n reason: 'NO_EXACT_COMBINATION' | 'CSV_PARSE_ERROR' | 'INVALID_INPUT' | 'INSUFFICIENT_DUPLICATES';\n\n @ApiProperty()\n @IsString()\n message: string;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n initial?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n target?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n finalRaw?: number;\n\n @ApiProperty()\n @IsOptional()\n @IsNumber()\n diffBefore?: number;\n\n @ApiProperty()\n @IsOptional()\n bestAttempt?: {\n finalAfterDedup: number;\n diffAfter: number;\n removedCount: number;\n };\n\n @ApiProperty()\n @IsOptional()\n stats?: {\n totalTx?: number;\n totalGroups?: number;\n strategiesTried?: string[];\n };\n}\n\nexport type BankDedupResponse = BankDedupResult | BankDedupImpossible;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.3.94-10",
3
+ "version": "1.3.94-11",
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,11 +1,11 @@
1
- import { BankDedupRequest, BankDedupResponse } from '../../types';
1
+ import { BankDedupResponse } from '../../types';
2
2
  import { Resource } from '../Resource';
3
3
 
4
4
  export class BankDedup extends Resource {
5
5
  /**
6
6
  * Analyze bank transactions for deduplication
7
7
  */
8
- public getAnalysis(body: BankDedupRequest): Promise<BankDedupResponse> {
8
+ public getAnalysis(body: FormData): Promise<BankDedupResponse> {
9
9
  return this.axios.$post('/bank-dedup/detect', body);
10
10
  }
11
11
  }
@@ -93,6 +93,49 @@ export class DuplicateGroup {
93
93
  method: 'exact' | 'fuzzy_high' | 'fuzzy_medium' | 'fuzzy_low'; // méthode de détection
94
94
  }
95
95
 
96
+ export class BankDedupRemovedTx {
97
+ @ApiProperty()
98
+ @IsString()
99
+ id: string;
100
+
101
+ @ApiProperty()
102
+ @IsBoolean()
103
+ isSelected: boolean;
104
+
105
+ @ApiProperty()
106
+ @IsOptional()
107
+ @IsNumber()
108
+ @Min(0)
109
+ @Max(1)
110
+ confidence?: number;
111
+
112
+ @ApiProperty()
113
+ @IsOptional()
114
+ @IsString()
115
+ method?: string;
116
+
117
+ @ApiProperty()
118
+ @IsOptional()
119
+ @IsNumber()
120
+ amount?: number;
121
+
122
+ @ApiProperty()
123
+ @IsOptional()
124
+ @IsNumber()
125
+ transactionCount?: number;
126
+
127
+ @ApiProperty()
128
+ @IsOptional()
129
+ @IsArray()
130
+ transactions?: {
131
+ id: string;
132
+ label: string;
133
+ dateValue: string;
134
+ isKept: boolean;
135
+ isCredit: boolean;
136
+ }[];
137
+ }
138
+
96
139
  export class BankDedupResult {
97
140
  @ApiProperty()
98
141
  @IsBoolean()
@@ -125,7 +168,7 @@ export class BankDedupResult {
125
168
  @ApiProperty()
126
169
  @IsArray()
127
170
  @ValidateNested({ each: true })
128
- removedGroups: BankDedupGroup[];
171
+ removedTxs: BankDedupRemovedTx[];
129
172
 
130
173
  @ApiProperty()
131
174
  @IsNumber()