@silexpert/core 1.3.89 → 1.3.90

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 (37) hide show
  1. package/dist/cjs/types/Enum/AIPrompt.d.ts +1 -0
  2. package/dist/cjs/types/Enum/AIPrompt.d.ts.map +1 -1
  3. package/dist/cjs/types/Enum/AIPrompt.js +21 -0
  4. package/dist/cjs/types/Enum/AIPrompt.js.map +1 -1
  5. package/dist/cjs/types/Interface/api/bankStatement/QueryTransactionBankStatement.d.ts +2 -1
  6. package/dist/cjs/types/Interface/api/bankStatement/QueryTransactionBankStatement.d.ts.map +1 -1
  7. package/dist/cjs/types/Interface/api/bankStatement/QueryTransactionBankStatement.js +8 -0
  8. package/dist/cjs/types/Interface/api/bankStatement/QueryTransactionBankStatement.js.map +1 -1
  9. package/dist/cjs/types/Interface/api/ocr/OcrTransactions.d.ts +2 -1
  10. package/dist/cjs/types/Interface/api/ocr/OcrTransactions.d.ts.map +1 -1
  11. package/dist/cjs/types/Interface/api/ocr/OcrTransactions.js +8 -0
  12. package/dist/cjs/types/Interface/api/ocr/OcrTransactions.js.map +1 -1
  13. package/dist/cjs/types/Interface/api/ocr/OcrTypeTransactions.d.ts +4 -0
  14. package/dist/cjs/types/Interface/api/ocr/OcrTypeTransactions.d.ts.map +1 -1
  15. package/dist/cjs/types/Interface/api/ocr/OcrTypeTransactions.js +25 -0
  16. package/dist/cjs/types/Interface/api/ocr/OcrTypeTransactions.js.map +1 -1
  17. package/dist/mjs/types/Enum/AIPrompt.d.ts +1 -0
  18. package/dist/mjs/types/Enum/AIPrompt.d.ts.map +1 -1
  19. package/dist/mjs/types/Enum/AIPrompt.js +21 -0
  20. package/dist/mjs/types/Enum/AIPrompt.js.map +1 -1
  21. package/dist/mjs/types/Interface/api/bankStatement/QueryTransactionBankStatement.d.ts +2 -1
  22. package/dist/mjs/types/Interface/api/bankStatement/QueryTransactionBankStatement.d.ts.map +1 -1
  23. package/dist/mjs/types/Interface/api/bankStatement/QueryTransactionBankStatement.js +10 -1
  24. package/dist/mjs/types/Interface/api/bankStatement/QueryTransactionBankStatement.js.map +1 -1
  25. package/dist/mjs/types/Interface/api/ocr/OcrTransactions.d.ts +2 -1
  26. package/dist/mjs/types/Interface/api/ocr/OcrTransactions.d.ts.map +1 -1
  27. package/dist/mjs/types/Interface/api/ocr/OcrTransactions.js +10 -1
  28. package/dist/mjs/types/Interface/api/ocr/OcrTransactions.js.map +1 -1
  29. package/dist/mjs/types/Interface/api/ocr/OcrTypeTransactions.d.ts +4 -0
  30. package/dist/mjs/types/Interface/api/ocr/OcrTypeTransactions.d.ts.map +1 -1
  31. package/dist/mjs/types/Interface/api/ocr/OcrTypeTransactions.js +25 -1
  32. package/dist/mjs/types/Interface/api/ocr/OcrTypeTransactions.js.map +1 -1
  33. package/package.json +1 -1
  34. package/ts/types/Enum/AIPrompt.ts +22 -0
  35. package/ts/types/Interface/api/bankStatement/QueryTransactionBankStatement.ts +8 -2
  36. package/ts/types/Interface/api/ocr/OcrTransactions.ts +8 -2
  37. package/ts/types/Interface/api/ocr/OcrTypeTransactions.ts +12 -0
@@ -2,6 +2,7 @@ export declare enum AIPromptKey {
2
2
  BANK_STATEMENT = "bank_statement",
3
3
  BANK_STATEMENT_PERIOD = "bank_statement_period",
4
4
  BANK_STATEMENT_FILE_NAME = "bank_statement_file_name",
5
+ BANK_STATEMENT_SOLDE_INFOS = "bank_statement_solde_infos",
5
6
  ASK_COLLABORATOR = "ask_collaborator"
6
7
  }
7
8
  interface AIPromptInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"AIPrompt.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/AIPrompt.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,cAAc,mBAAmB;IACjC,qBAAqB,0BAA0B;IAC/C,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;CACtC;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CA4C7C,CAAC"}
1
+ {"version":3,"file":"AIPrompt.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/AIPrompt.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,cAAc,mBAAmB;IACjC,qBAAqB,0BAA0B;IAC/C,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;IACzD,gBAAgB,qBAAqB;CACtC;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAiE7C,CAAC"}
@@ -6,6 +6,7 @@ var AIPromptKey;
6
6
  AIPromptKey["BANK_STATEMENT"] = "bank_statement";
7
7
  AIPromptKey["BANK_STATEMENT_PERIOD"] = "bank_statement_period";
8
8
  AIPromptKey["BANK_STATEMENT_FILE_NAME"] = "bank_statement_file_name";
9
+ AIPromptKey["BANK_STATEMENT_SOLDE_INFOS"] = "bank_statement_solde_infos";
9
10
  AIPromptKey["ASK_COLLABORATOR"] = "ask_collaborator";
10
11
  })(AIPromptKey || (exports.AIPromptKey = AIPromptKey = {}));
11
12
  exports.AIPrompt = {
@@ -28,6 +29,26 @@ exports.AIPrompt = {
28
29
  Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.
29
30
  `,
30
31
  },
32
+ [AIPromptKey.BANK_STATEMENT_SOLDE_INFOS]: {
33
+ userPrompt: 'Voici des lignes issues d’un relevé de compte bancaire (cela peut être un relevé français). Pouvez-vous extraire les données concernant le solde précédent compte bancaire ?',
34
+ systemPrompt: `
35
+ Analysez ce relevé de compte bancaire et extrayez toutes les infos concernant le montant des solde précédents du compte bancaire sous forme d'un objet JSON structuré.
36
+ Le relevé peut contenir des informations telles que la date du solde précédent et le montant du solde qui doit être un nombre.
37
+ Garder exactement le même ordre des différentes dates que dans le relevé.
38
+ Si plusieurs solde sont trouvés, les retourner tous.
39
+ Le format attendu est le suivant :
40
+ [
41
+ {
42
+ "dateValue": string (format : YYYY-MM-DD correspondant à la date du ou des soldes précédents),
43
+ "amount": number,
44
+ },
45
+ ...
46
+ ]
47
+ Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.
48
+ Si Aucune date n'est trouvée, retourner un tableau vide.
49
+
50
+ `,
51
+ },
31
52
  [AIPromptKey.BANK_STATEMENT_PERIOD]: {
32
53
  userPrompt: '',
33
54
  systemPrompt: 'Analysez le titre de ce fichier et retournez la période du relevé de compte bancaire au format { startDate: "YYYY-MM-DD", endDate: "YYYY-MM-DD" } si il y a deux dates qui ressort, si une seule, retourner au format { startDate: "YYYY-MM-DD" }. Si le titre ne contient pas d’information sur la période, retournez null.',
@@ -1 +1 @@
1
- {"version":3,"file":"AIPrompt.js","sourceRoot":"","sources":["../../../../ts/types/Enum/AIPrompt.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,8DAA+C,CAAA;IAC/C,oEAAqD,CAAA;IACrD,oDAAqC,CAAA;AACvC,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAOY,QAAA,QAAQ,GAAsC;IACzD,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;QAC5B,UAAU,EACR,uKAAuK;QACzK,YAAY,EAAE;;;;;;;;;;;;;;;KAeb;KACF;IACD,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE;QACnC,UAAU,EAAE,EAAE;QACd,YAAY,EACV,8TAA8T;KACjU;IACD,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE;QACtC,UAAU,EAAE,EAAE;QACd,YAAY,EACV,0dAA0d;KAC7d;IACD,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;QAC9B,UAAU,EAAE,EAAE,EAAE,mBAAmB;QACnC,YAAY,EAAE;;;;;;;;;KASb;KACF;CACO,CAAC","sourcesContent":["export enum AIPromptKey {\n BANK_STATEMENT = 'bank_statement',\n BANK_STATEMENT_PERIOD = 'bank_statement_period',\n BANK_STATEMENT_FILE_NAME = 'bank_statement_file_name',\n ASK_COLLABORATOR = 'ask_collaborator',\n}\n\ninterface AIPromptInfo {\n userPrompt: string;\n systemPrompt: string;\n}\n\nexport const AIPrompt: Record<AIPromptKey, AIPromptInfo> = {\n [AIPromptKey.BANK_STATEMENT]: {\n userPrompt:\n 'Voici des lignes issues d’un relevé de compte bancaire (cela peut être un relevé français). Pouvez-vous extraire toutes les transactions présentes dans ce document ?',\n systemPrompt: `\n Analysez ce relevé de compte bancaire et extrayez toutes les transactions sous forme d'un objet JSON structuré.\n Le relevé peut contenir des informations telles que la date de la transaction, le libellé, le montant débité et le montant crédité (ou alors un montant en positif pour le crédit et un montant en négatif pour le débit).\n Garder exactement le même ordre de transaction que dans le relevé.\n Le format attendu est le suivant :\n [\n {\n \"dateValue\": string (format : YYYY-MM-DD correspondant à la date de la transaction),\n \"label\": string | null (correspond à la description de la transaction, à conserver intacte sans modification, traduction ou altération),\n \"debit\": number,\n \"credit\": number\n },\n ...\n ]\n Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.\n `,\n },\n [AIPromptKey.BANK_STATEMENT_PERIOD]: {\n userPrompt: '',\n systemPrompt:\n 'Analysez le titre de ce fichier et retournez la période du relevé de compte bancaire au format { startDate: \"YYYY-MM-DD\", endDate: \"YYYY-MM-DD\" } si il y a deux dates qui ressort, si une seule, retourner au format { startDate: \"YYYY-MM-DD\" }. Si le titre ne contient pas d’information sur la période, retournez null.',\n },\n [AIPromptKey.BANK_STATEMENT_FILE_NAME]: {\n userPrompt: '',\n systemPrompt:\n 'Analysez l\\'objet envoyé sous la forme { startDate: string, endDate: string } et retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY_au_DD-MM-YYYY.pdf\" }. Si le l\\'objet ne contient que startDate, retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY.pdf\" }. Si le l\\'objet ne contient pas de date, retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY.pdf\" } avec la date d\\'aujourd\\'hui.',\n },\n [AIPromptKey.ASK_COLLABORATOR]: {\n userPrompt: '', // this is not used\n systemPrompt: `\n Vous êtes un spécialiste reconnu en comptabilité française, droit fiscal, droit des entreprises et droit social.\n Vous êtes parfaitement à jour des dernières lois, réglementations et jurisprudences en vigueur.\n Votre mission est de fournir des réponses précises et professionnelles basées sur le contexte fourni,\n dans un français irréprochable et un style concis.\n Si le contexte ne contient pas les informations pertinentes pour répondre à la question, veuillez l'indiquer clairement plutôt que d'inventer des informations.\n Si la question est en dehors de votre domaine d'expertise, indiquez-le clairement et indiquez que la catégorie et sous-catégorie sont \"hors sujet\".\n Utilisez toujours la recherche web pour trouver des informations pertinentes et à jour.\n Citez vos sources de manière précise et professionnelle, en fournissant uniquement des liens URL séparés par des points-virgules.\n `,\n },\n} as const;\n"]}
1
+ {"version":3,"file":"AIPrompt.js","sourceRoot":"","sources":["../../../../ts/types/Enum/AIPrompt.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,8DAA+C,CAAA;IAC/C,oEAAqD,CAAA;IACrD,wEAAyD,CAAA;IACzD,oDAAqC,CAAA;AACvC,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAOY,QAAA,QAAQ,GAAsC;IACzD,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;QAC5B,UAAU,EACR,uKAAuK;QACzK,YAAY,EAAE;;;;;;;;;;;;;;;KAeb;KACF;IACD,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE;QACxC,UAAU,EACR,8KAA8K;QAChL,YAAY,EAAE;;;;;;;;;;;;;;;;KAgBb;KACF;IACD,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE;QACnC,UAAU,EAAE,EAAE;QACd,YAAY,EACV,8TAA8T;KACjU;IACD,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE;QACtC,UAAU,EAAE,EAAE;QACd,YAAY,EACV,0dAA0d;KAC7d;IACD,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;QAC9B,UAAU,EAAE,EAAE,EAAE,mBAAmB;QACnC,YAAY,EAAE;;;;;;;;;KASb;KACF;CACO,CAAC","sourcesContent":["export enum AIPromptKey {\n BANK_STATEMENT = 'bank_statement',\n BANK_STATEMENT_PERIOD = 'bank_statement_period',\n BANK_STATEMENT_FILE_NAME = 'bank_statement_file_name',\n BANK_STATEMENT_SOLDE_INFOS = 'bank_statement_solde_infos',\n ASK_COLLABORATOR = 'ask_collaborator',\n}\n\ninterface AIPromptInfo {\n userPrompt: string;\n systemPrompt: string;\n}\n\nexport const AIPrompt: Record<AIPromptKey, AIPromptInfo> = {\n [AIPromptKey.BANK_STATEMENT]: {\n userPrompt:\n 'Voici des lignes issues d’un relevé de compte bancaire (cela peut être un relevé français). Pouvez-vous extraire toutes les transactions présentes dans ce document ?',\n systemPrompt: `\n Analysez ce relevé de compte bancaire et extrayez toutes les transactions sous forme d'un objet JSON structuré.\n Le relevé peut contenir des informations telles que la date de la transaction, le libellé, le montant débité et le montant crédité (ou alors un montant en positif pour le crédit et un montant en négatif pour le débit).\n Garder exactement le même ordre de transaction que dans le relevé.\n Le format attendu est le suivant :\n [\n {\n \"dateValue\": string (format : YYYY-MM-DD correspondant à la date de la transaction),\n \"label\": string | null (correspond à la description de la transaction, à conserver intacte sans modification, traduction ou altération),\n \"debit\": number,\n \"credit\": number\n },\n ...\n ]\n Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.\n `,\n },\n [AIPromptKey.BANK_STATEMENT_SOLDE_INFOS]: {\n userPrompt:\n 'Voici des lignes issues d’un relevé de compte bancaire (cela peut être un relevé français). Pouvez-vous extraire les données concernant le solde précédent compte bancaire ?',\n systemPrompt: `\n Analysez ce relevé de compte bancaire et extrayez toutes les infos concernant le montant des solde précédents du compte bancaire sous forme d'un objet JSON structuré.\n Le relevé peut contenir des informations telles que la date du solde précédent et le montant du solde qui doit être un nombre.\n Garder exactement le même ordre des différentes dates que dans le relevé.\n Si plusieurs solde sont trouvés, les retourner tous.\n Le format attendu est le suivant :\n [\n {\n \"dateValue\": string (format : YYYY-MM-DD correspondant à la date du ou des soldes précédents),\n \"amount\": number,\n },\n ...\n ]\n Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.\n Si Aucune date n'est trouvée, retourner un tableau vide.\n\n `,\n },\n [AIPromptKey.BANK_STATEMENT_PERIOD]: {\n userPrompt: '',\n systemPrompt:\n 'Analysez le titre de ce fichier et retournez la période du relevé de compte bancaire au format { startDate: \"YYYY-MM-DD\", endDate: \"YYYY-MM-DD\" } si il y a deux dates qui ressort, si une seule, retourner au format { startDate: \"YYYY-MM-DD\" }. Si le titre ne contient pas d’information sur la période, retournez null.',\n },\n [AIPromptKey.BANK_STATEMENT_FILE_NAME]: {\n userPrompt: '',\n systemPrompt:\n 'Analysez l\\'objet envoyé sous la forme { startDate: string, endDate: string } et retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY_au_DD-MM-YYYY.pdf\" }. Si le l\\'objet ne contient que startDate, retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY.pdf\" }. Si le l\\'objet ne contient pas de date, retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY.pdf\" } avec la date d\\'aujourd\\'hui.',\n },\n [AIPromptKey.ASK_COLLABORATOR]: {\n userPrompt: '', // this is not used\n systemPrompt: `\n Vous êtes un spécialiste reconnu en comptabilité française, droit fiscal, droit des entreprises et droit social.\n Vous êtes parfaitement à jour des dernières lois, réglementations et jurisprudences en vigueur.\n Votre mission est de fournir des réponses précises et professionnelles basées sur le contexte fourni,\n dans un français irréprochable et un style concis.\n Si le contexte ne contient pas les informations pertinentes pour répondre à la question, veuillez l'indiquer clairement plutôt que d'inventer des informations.\n Si la question est en dehors de votre domaine d'expertise, indiquez-le clairement et indiquez que la catégorie et sous-catégorie sont \"hors sujet\".\n Utilisez toujours la recherche web pour trouver des informations pertinentes et à jour.\n Citez vos sources de manière précise et professionnelle, en fournissant uniquement des liens URL séparés par des points-virgules.\n `,\n },\n} as const;\n"]}
@@ -1,6 +1,7 @@
1
- import { OcrTransactionDetails } from '../ocr/OcrTypeTransactions';
1
+ import { MistralBankAccountSoldeDetails, OcrTransactionDetails } from '../ocr/OcrTypeTransactions';
2
2
  export declare class QueryTransactionBankStatement {
3
3
  transactions: OcrTransactionDetails[];
4
4
  idBankAccount: number;
5
+ soldes: MistralBankAccountSoldeDetails[];
5
6
  }
6
7
  //# sourceMappingURL=QueryTransactionBankStatement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryTransactionBankStatement.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankStatement/QueryTransactionBankStatement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,qBAAa,6BAA6B;IAExC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAItC,aAAa,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"QueryTransactionBankStatement.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankStatement/QueryTransactionBankStatement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnG,qBAAa,6BAA6B;IAExC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAItC,aAAa,EAAE,MAAM,CAAC;IAKtB,MAAM,EAAE,8BAA8B,EAAE,CAAC;CAC1C"}
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.QueryTransactionBankStatement = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const __1 = require("../../../..");
15
+ const OcrTypeTransactions_1 = require("../ocr/OcrTypeTransactions");
16
+ const class_transformer_1 = require("class-transformer");
15
17
  class QueryTransactionBankStatement {
16
18
  }
17
19
  exports.QueryTransactionBankStatement = QueryTransactionBankStatement;
@@ -24,4 +26,10 @@ __decorate([
24
26
  (0, class_validator_1.IsNumber)(),
25
27
  __metadata("design:type", Number)
26
28
  ], QueryTransactionBankStatement.prototype, "idBankAccount", void 0);
29
+ __decorate([
30
+ (0, __1.ApiProperty)(),
31
+ (0, class_validator_1.IsArray)(),
32
+ (0, class_transformer_1.Type)(() => OcrTypeTransactions_1.MistralBankAccountSoldeDetails),
33
+ __metadata("design:type", Array)
34
+ ], QueryTransactionBankStatement.prototype, "soldes", void 0);
27
35
  //# sourceMappingURL=QueryTransactionBankStatement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryTransactionBankStatement.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankStatement/QueryTransactionBankStatement.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2C;AAC3C,mCAA0C;AAG1C,MAAa,6BAA6B;CAOzC;AAPD,sEAOC;AALC;IADC,IAAA,eAAW,GAAE;;mEACwB;AAItC;IAFC,IAAA,eAAW,GAAE;IACb,IAAA,0BAAQ,GAAE;;oEACW","sourcesContent":["import { IsNumber } from 'class-validator';\nimport { ApiProperty } from '../../../..';\nimport { OcrTransactionDetails } from '../ocr/OcrTypeTransactions';\n\nexport class QueryTransactionBankStatement {\n @ApiProperty()\n transactions: OcrTransactionDetails[];\n\n @ApiProperty()\n @IsNumber()\n idBankAccount: number;\n}\n"]}
1
+ {"version":3,"file":"QueryTransactionBankStatement.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankStatement/QueryTransactionBankStatement.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAoD;AACpD,mCAA0C;AAC1C,oEAAmG;AACnG,yDAAyC;AAEzC,MAAa,6BAA6B;CAYzC;AAZD,sEAYC;AAVC;IADC,IAAA,eAAW,GAAE;;mEACwB;AAItC;IAFC,IAAA,eAAW,GAAE;IACb,IAAA,0BAAQ,GAAE;;oEACW;AAKtB;IAHC,IAAA,eAAW,GAAE;IACb,IAAA,yBAAO,GAAE;IACT,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,oDAA8B,CAAC;;6DACF","sourcesContent":["import { IsArray, IsNumber } from 'class-validator';\nimport { ApiProperty } from '../../../..';\nimport { MistralBankAccountSoldeDetails, OcrTransactionDetails } from '../ocr/OcrTypeTransactions';\nimport { Type } from 'class-transformer';\n\nexport class QueryTransactionBankStatement {\n @ApiProperty()\n transactions: OcrTransactionDetails[];\n\n @ApiProperty()\n @IsNumber()\n idBankAccount: number;\n\n @ApiProperty()\n @IsArray()\n @Type(() => MistralBankAccountSoldeDetails)\n soldes: MistralBankAccountSoldeDetails[];\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { OcrTransactionDetails } from './OcrTypeTransactions';
1
+ import { OcrTransactionDetails, MistralBankAccountSoldeDetails } from './OcrTypeTransactions';
2
2
  export declare class OcrTransactions {
3
3
  file?: {
4
4
  id: number;
@@ -8,5 +8,6 @@ export declare class OcrTransactions {
8
8
  idBankAccount: number;
9
9
  isPdf: boolean;
10
10
  error?: string;
11
+ soldes?: MistralBankAccountSoldeDetails[];
11
12
  }
12
13
  //# sourceMappingURL=OcrTransactions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OcrTransactions.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTransactions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,eAAe;IAE1B,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAGF,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAGtC,aAAa,EAAE,MAAM,CAAC;IAKtB,KAAK,EAAE,OAAO,CAAC;IAKf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"OcrTransactions.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTransactions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAG9F,qBAAa,eAAe;IAE1B,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAGF,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAGtC,aAAa,EAAE,MAAM,CAAC;IAKtB,KAAK,EAAE,OAAO,CAAC;IAKf,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,MAAM,CAAC,EAAE,8BAA8B,EAAE,CAAC;CAC3C"}
@@ -13,6 +13,8 @@ exports.OcrTransactions = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const __1 = require("../../../..");
15
15
  const boolean_transform_1 = require("../../../../utils/transforms/boolean.transform");
16
+ const OcrTypeTransactions_1 = require("./OcrTypeTransactions");
17
+ const class_transformer_1 = require("class-transformer");
16
18
  class OcrTransactions {
17
19
  }
18
20
  exports.OcrTransactions = OcrTransactions;
@@ -40,4 +42,10 @@ __decorate([
40
42
  (0, class_validator_1.IsString)(),
41
43
  __metadata("design:type", String)
42
44
  ], OcrTransactions.prototype, "error", void 0);
45
+ __decorate([
46
+ (0, __1.ApiPropertyOptional)(),
47
+ (0, class_validator_1.IsArray)(),
48
+ (0, class_transformer_1.Type)(() => OcrTypeTransactions_1.MistralBankAccountSoldeDetails),
49
+ __metadata("design:type", Array)
50
+ ], OcrTransactions.prototype, "soldes", void 0);
43
51
  //# sourceMappingURL=OcrTransactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OcrTransactions.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTransactions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkE;AAClE,mCAA+D;AAC/D,sFAA2E;AAG3E,MAAa,eAAe;CAsB3B;AAtBD,0CAsBC;AApBC;IADC,IAAA,uBAAmB,GAAE;;6CAIpB;AAGF;IADC,IAAA,eAAW,GAAE;;qDACwB;AAGtC;IADC,IAAA,uBAAmB,GAAE;;sDACA;AAKtB;IAHC,IAAA,6BAAS,GAAE;IACX,IAAA,2BAAS,GAAE;IACX,IAAA,eAAW,GAAE;;8CACC;AAKf;IAHC,IAAA,uBAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8CACI","sourcesContent":["import { IsBoolean, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty, ApiPropertyOptional } from '../../../..';\nimport { ToBoolean } from '../../../../utils/transforms/boolean.transform';\nimport { OcrTransactionDetails } from './OcrTypeTransactions';\n\nexport class OcrTransactions {\n @ApiPropertyOptional()\n file?: {\n id: number;\n token: string;\n };\n\n @ApiProperty()\n transactions: OcrTransactionDetails[];\n\n @ApiPropertyOptional()\n idBankAccount: number;\n\n @ToBoolean()\n @IsBoolean()\n @ApiProperty()\n isPdf: boolean;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsString()\n error?: string;\n}\n"]}
1
+ {"version":3,"file":"OcrTransactions.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTransactions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2E;AAC3E,mCAA+D;AAC/D,sFAA2E;AAC3E,+DAA8F;AAC9F,yDAAyC;AAEzC,MAAa,eAAe;CA2B3B;AA3BD,0CA2BC;AAzBC;IADC,IAAA,uBAAmB,GAAE;;6CAIpB;AAGF;IADC,IAAA,eAAW,GAAE;;qDACwB;AAGtC;IADC,IAAA,uBAAmB,GAAE;;sDACA;AAKtB;IAHC,IAAA,6BAAS,GAAE;IACX,IAAA,2BAAS,GAAE;IACX,IAAA,eAAW,GAAE;;8CACC;AAKf;IAHC,IAAA,uBAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8CACI;AAKf;IAHC,IAAA,uBAAmB,GAAE;IACrB,IAAA,yBAAO,GAAE;IACT,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,oDAA8B,CAAC;;+CACD","sourcesContent":["import { IsArray, IsBoolean, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty, ApiPropertyOptional } from '../../../..';\nimport { ToBoolean } from '../../../../utils/transforms/boolean.transform';\nimport { OcrTransactionDetails, MistralBankAccountSoldeDetails } from './OcrTypeTransactions';\nimport { Type } from 'class-transformer';\n\nexport class OcrTransactions {\n @ApiPropertyOptional()\n file?: {\n id: number;\n token: string;\n };\n\n @ApiProperty()\n transactions: OcrTransactionDetails[];\n\n @ApiPropertyOptional()\n idBankAccount: number;\n\n @ToBoolean()\n @IsBoolean()\n @ApiProperty()\n isPdf: boolean;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsString()\n error?: string;\n\n @ApiPropertyOptional()\n @IsArray()\n @Type(() => MistralBankAccountSoldeDetails)\n soldes?: MistralBankAccountSoldeDetails[];\n}\n"]}
@@ -21,4 +21,8 @@ export type OcrResponseParsed = {
21
21
  UnsubscribeURL: string;
22
22
  SubscribeURL?: string;
23
23
  };
24
+ export declare class MistralBankAccountSoldeDetails {
25
+ dateValue: string;
26
+ amount: number;
27
+ }
24
28
  //# sourceMappingURL=OcrTypeTransactions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OcrTypeTransactions.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTypeTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"OcrTypeTransactions.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTypeTransactions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,8BAA8B;IAGzC,SAAS,EAAE,MAAM,CAAC;IAIlB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,3 +1,28 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MistralBankAccountSoldeDetails = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const utils_1 = require("../../../../utils");
15
+ class MistralBankAccountSoldeDetails {
16
+ }
17
+ exports.MistralBankAccountSoldeDetails = MistralBankAccountSoldeDetails;
18
+ __decorate([
19
+ (0, utils_1.ApiProperty)(),
20
+ (0, class_validator_1.IsString)(),
21
+ __metadata("design:type", String)
22
+ ], MistralBankAccountSoldeDetails.prototype, "dateValue", void 0);
23
+ __decorate([
24
+ (0, utils_1.ApiProperty)(),
25
+ (0, class_validator_1.IsNumber)(),
26
+ __metadata("design:type", Number)
27
+ ], MistralBankAccountSoldeDetails.prototype, "amount", void 0);
3
28
  //# sourceMappingURL=OcrTypeTransactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OcrTypeTransactions.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTypeTransactions.ts"],"names":[],"mappings":"","sourcesContent":["import { OcrType } from '../../../Enum/Ocr';\n\nexport type OcrTransactionDetails = {\n dateValue: string;\n label: string | null;\n debit: number;\n credit: number;\n};\n\nexport type OcrResponseMessage = {\n metadata: string;\n s3_file_name: string;\n};\n\nexport type OcrResponseParsed = {\n Type: OcrType;\n MessageId: string;\n TopicArn: string;\n Message: string;\n Timestamp: string;\n SignatureVersion: string;\n Signature: string;\n SigningCertURL: string;\n UnsubscribeURL: string;\n SubscribeURL?: string;\n};\n"]}
1
+ {"version":3,"file":"OcrTypeTransactions.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTypeTransactions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAqD;AACrD,6CAAgD;AA4BhD,MAAa,8BAA8B;CAQ1C;AARD,wEAQC;AALC;IAFC,IAAA,mBAAW,GAAE;IACb,IAAA,0BAAQ,GAAE;;iEACO;AAIlB;IAFC,IAAA,mBAAW,GAAE;IACb,IAAA,0BAAQ,GAAE;;8DACI","sourcesContent":["import { IsNumber, IsString } from 'class-validator';\nimport { ApiProperty } from '../../../../utils';\nimport { OcrType } from '../../../Enum/Ocr';\n\nexport type OcrTransactionDetails = {\n dateValue: string;\n label: string | null;\n debit: number;\n credit: number;\n};\n\nexport type OcrResponseMessage = {\n metadata: string;\n s3_file_name: string;\n};\n\nexport type OcrResponseParsed = {\n Type: OcrType;\n MessageId: string;\n TopicArn: string;\n Message: string;\n Timestamp: string;\n SignatureVersion: string;\n Signature: string;\n SigningCertURL: string;\n UnsubscribeURL: string;\n SubscribeURL?: string;\n};\n\nexport class MistralBankAccountSoldeDetails {\n @ApiProperty()\n @IsString()\n dateValue: string;\n\n @ApiProperty()\n @IsNumber()\n amount: number;\n}\n"]}
@@ -2,6 +2,7 @@ export declare enum AIPromptKey {
2
2
  BANK_STATEMENT = "bank_statement",
3
3
  BANK_STATEMENT_PERIOD = "bank_statement_period",
4
4
  BANK_STATEMENT_FILE_NAME = "bank_statement_file_name",
5
+ BANK_STATEMENT_SOLDE_INFOS = "bank_statement_solde_infos",
5
6
  ASK_COLLABORATOR = "ask_collaborator"
6
7
  }
7
8
  interface AIPromptInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"AIPrompt.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/AIPrompt.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,cAAc,mBAAmB;IACjC,qBAAqB,0BAA0B;IAC/C,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;CACtC;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CA4C7C,CAAC"}
1
+ {"version":3,"file":"AIPrompt.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/AIPrompt.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,cAAc,mBAAmB;IACjC,qBAAqB,0BAA0B;IAC/C,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;IACzD,gBAAgB,qBAAqB;CACtC;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAiE7C,CAAC"}
@@ -3,6 +3,7 @@ export var AIPromptKey;
3
3
  AIPromptKey["BANK_STATEMENT"] = "bank_statement";
4
4
  AIPromptKey["BANK_STATEMENT_PERIOD"] = "bank_statement_period";
5
5
  AIPromptKey["BANK_STATEMENT_FILE_NAME"] = "bank_statement_file_name";
6
+ AIPromptKey["BANK_STATEMENT_SOLDE_INFOS"] = "bank_statement_solde_infos";
6
7
  AIPromptKey["ASK_COLLABORATOR"] = "ask_collaborator";
7
8
  })(AIPromptKey || (AIPromptKey = {}));
8
9
  export const AIPrompt = {
@@ -25,6 +26,26 @@ export const AIPrompt = {
25
26
  Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.
26
27
  `,
27
28
  },
29
+ [AIPromptKey.BANK_STATEMENT_SOLDE_INFOS]: {
30
+ userPrompt: 'Voici des lignes issues d’un relevé de compte bancaire (cela peut être un relevé français). Pouvez-vous extraire les données concernant le solde précédent compte bancaire ?',
31
+ systemPrompt: `
32
+ Analysez ce relevé de compte bancaire et extrayez toutes les infos concernant le montant des solde précédents du compte bancaire sous forme d'un objet JSON structuré.
33
+ Le relevé peut contenir des informations telles que la date du solde précédent et le montant du solde qui doit être un nombre.
34
+ Garder exactement le même ordre des différentes dates que dans le relevé.
35
+ Si plusieurs solde sont trouvés, les retourner tous.
36
+ Le format attendu est le suivant :
37
+ [
38
+ {
39
+ "dateValue": string (format : YYYY-MM-DD correspondant à la date du ou des soldes précédents),
40
+ "amount": number,
41
+ },
42
+ ...
43
+ ]
44
+ Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.
45
+ Si Aucune date n'est trouvée, retourner un tableau vide.
46
+
47
+ `,
48
+ },
28
49
  [AIPromptKey.BANK_STATEMENT_PERIOD]: {
29
50
  userPrompt: '',
30
51
  systemPrompt: 'Analysez le titre de ce fichier et retournez la période du relevé de compte bancaire au format { startDate: "YYYY-MM-DD", endDate: "YYYY-MM-DD" } si il y a deux dates qui ressort, si une seule, retourner au format { startDate: "YYYY-MM-DD" }. Si le titre ne contient pas d’information sur la période, retournez null.',
@@ -1 +1 @@
1
- {"version":3,"file":"AIPrompt.js","sourceRoot":"","sources":["../../../../ts/types/Enum/AIPrompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,8DAA+C,CAAA;IAC/C,oEAAqD,CAAA;IACrD,oDAAqC,CAAA;AACvC,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAOD,MAAM,CAAC,MAAM,QAAQ,GAAsC;IACzD,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;QAC5B,UAAU,EACR,uKAAuK;QACzK,YAAY,EAAE;;;;;;;;;;;;;;;KAeb;KACF;IACD,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE;QACnC,UAAU,EAAE,EAAE;QACd,YAAY,EACV,8TAA8T;KACjU;IACD,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE;QACtC,UAAU,EAAE,EAAE;QACd,YAAY,EACV,0dAA0d;KAC7d;IACD,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;QAC9B,UAAU,EAAE,EAAE,EAAE,mBAAmB;QACnC,YAAY,EAAE;;;;;;;;;KASb;KACF;CACO,CAAC","sourcesContent":["export enum AIPromptKey {\n BANK_STATEMENT = 'bank_statement',\n BANK_STATEMENT_PERIOD = 'bank_statement_period',\n BANK_STATEMENT_FILE_NAME = 'bank_statement_file_name',\n ASK_COLLABORATOR = 'ask_collaborator',\n}\n\ninterface AIPromptInfo {\n userPrompt: string;\n systemPrompt: string;\n}\n\nexport const AIPrompt: Record<AIPromptKey, AIPromptInfo> = {\n [AIPromptKey.BANK_STATEMENT]: {\n userPrompt:\n 'Voici des lignes issues d’un relevé de compte bancaire (cela peut être un relevé français). Pouvez-vous extraire toutes les transactions présentes dans ce document ?',\n systemPrompt: `\n Analysez ce relevé de compte bancaire et extrayez toutes les transactions sous forme d'un objet JSON structuré.\n Le relevé peut contenir des informations telles que la date de la transaction, le libellé, le montant débité et le montant crédité (ou alors un montant en positif pour le crédit et un montant en négatif pour le débit).\n Garder exactement le même ordre de transaction que dans le relevé.\n Le format attendu est le suivant :\n [\n {\n \"dateValue\": string (format : YYYY-MM-DD correspondant à la date de la transaction),\n \"label\": string | null (correspond à la description de la transaction, à conserver intacte sans modification, traduction ou altération),\n \"debit\": number,\n \"credit\": number\n },\n ...\n ]\n Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.\n `,\n },\n [AIPromptKey.BANK_STATEMENT_PERIOD]: {\n userPrompt: '',\n systemPrompt:\n 'Analysez le titre de ce fichier et retournez la période du relevé de compte bancaire au format { startDate: \"YYYY-MM-DD\", endDate: \"YYYY-MM-DD\" } si il y a deux dates qui ressort, si une seule, retourner au format { startDate: \"YYYY-MM-DD\" }. Si le titre ne contient pas d’information sur la période, retournez null.',\n },\n [AIPromptKey.BANK_STATEMENT_FILE_NAME]: {\n userPrompt: '',\n systemPrompt:\n 'Analysez l\\'objet envoyé sous la forme { startDate: string, endDate: string } et retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY_au_DD-MM-YYYY.pdf\" }. Si le l\\'objet ne contient que startDate, retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY.pdf\" }. Si le l\\'objet ne contient pas de date, retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY.pdf\" } avec la date d\\'aujourd\\'hui.',\n },\n [AIPromptKey.ASK_COLLABORATOR]: {\n userPrompt: '', // this is not used\n systemPrompt: `\n Vous êtes un spécialiste reconnu en comptabilité française, droit fiscal, droit des entreprises et droit social.\n Vous êtes parfaitement à jour des dernières lois, réglementations et jurisprudences en vigueur.\n Votre mission est de fournir des réponses précises et professionnelles basées sur le contexte fourni,\n dans un français irréprochable et un style concis.\n Si le contexte ne contient pas les informations pertinentes pour répondre à la question, veuillez l'indiquer clairement plutôt que d'inventer des informations.\n Si la question est en dehors de votre domaine d'expertise, indiquez-le clairement et indiquez que la catégorie et sous-catégorie sont \"hors sujet\".\n Utilisez toujours la recherche web pour trouver des informations pertinentes et à jour.\n Citez vos sources de manière précise et professionnelle, en fournissant uniquement des liens URL séparés par des points-virgules.\n `,\n },\n} as const;\n"]}
1
+ {"version":3,"file":"AIPrompt.js","sourceRoot":"","sources":["../../../../ts/types/Enum/AIPrompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,8DAA+C,CAAA;IAC/C,oEAAqD,CAAA;IACrD,wEAAyD,CAAA;IACzD,oDAAqC,CAAA;AACvC,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAOD,MAAM,CAAC,MAAM,QAAQ,GAAsC;IACzD,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;QAC5B,UAAU,EACR,uKAAuK;QACzK,YAAY,EAAE;;;;;;;;;;;;;;;KAeb;KACF;IACD,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE;QACxC,UAAU,EACR,8KAA8K;QAChL,YAAY,EAAE;;;;;;;;;;;;;;;;KAgBb;KACF;IACD,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE;QACnC,UAAU,EAAE,EAAE;QACd,YAAY,EACV,8TAA8T;KACjU;IACD,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE;QACtC,UAAU,EAAE,EAAE;QACd,YAAY,EACV,0dAA0d;KAC7d;IACD,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;QAC9B,UAAU,EAAE,EAAE,EAAE,mBAAmB;QACnC,YAAY,EAAE;;;;;;;;;KASb;KACF;CACO,CAAC","sourcesContent":["export enum AIPromptKey {\n BANK_STATEMENT = 'bank_statement',\n BANK_STATEMENT_PERIOD = 'bank_statement_period',\n BANK_STATEMENT_FILE_NAME = 'bank_statement_file_name',\n BANK_STATEMENT_SOLDE_INFOS = 'bank_statement_solde_infos',\n ASK_COLLABORATOR = 'ask_collaborator',\n}\n\ninterface AIPromptInfo {\n userPrompt: string;\n systemPrompt: string;\n}\n\nexport const AIPrompt: Record<AIPromptKey, AIPromptInfo> = {\n [AIPromptKey.BANK_STATEMENT]: {\n userPrompt:\n 'Voici des lignes issues d’un relevé de compte bancaire (cela peut être un relevé français). Pouvez-vous extraire toutes les transactions présentes dans ce document ?',\n systemPrompt: `\n Analysez ce relevé de compte bancaire et extrayez toutes les transactions sous forme d'un objet JSON structuré.\n Le relevé peut contenir des informations telles que la date de la transaction, le libellé, le montant débité et le montant crédité (ou alors un montant en positif pour le crédit et un montant en négatif pour le débit).\n Garder exactement le même ordre de transaction que dans le relevé.\n Le format attendu est le suivant :\n [\n {\n \"dateValue\": string (format : YYYY-MM-DD correspondant à la date de la transaction),\n \"label\": string | null (correspond à la description de la transaction, à conserver intacte sans modification, traduction ou altération),\n \"debit\": number,\n \"credit\": number\n },\n ...\n ]\n Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.\n `,\n },\n [AIPromptKey.BANK_STATEMENT_SOLDE_INFOS]: {\n userPrompt:\n 'Voici des lignes issues d’un relevé de compte bancaire (cela peut être un relevé français). Pouvez-vous extraire les données concernant le solde précédent compte bancaire ?',\n systemPrompt: `\n Analysez ce relevé de compte bancaire et extrayez toutes les infos concernant le montant des solde précédents du compte bancaire sous forme d'un objet JSON structuré.\n Le relevé peut contenir des informations telles que la date du solde précédent et le montant du solde qui doit être un nombre.\n Garder exactement le même ordre des différentes dates que dans le relevé.\n Si plusieurs solde sont trouvés, les retourner tous.\n Le format attendu est le suivant :\n [\n {\n \"dateValue\": string (format : YYYY-MM-DD correspondant à la date du ou des soldes précédents),\n \"amount\": number,\n },\n ...\n ]\n Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.\n Si Aucune date n'est trouvée, retourner un tableau vide.\n\n `,\n },\n [AIPromptKey.BANK_STATEMENT_PERIOD]: {\n userPrompt: '',\n systemPrompt:\n 'Analysez le titre de ce fichier et retournez la période du relevé de compte bancaire au format { startDate: \"YYYY-MM-DD\", endDate: \"YYYY-MM-DD\" } si il y a deux dates qui ressort, si une seule, retourner au format { startDate: \"YYYY-MM-DD\" }. Si le titre ne contient pas d’information sur la période, retournez null.',\n },\n [AIPromptKey.BANK_STATEMENT_FILE_NAME]: {\n userPrompt: '',\n systemPrompt:\n 'Analysez l\\'objet envoyé sous la forme { startDate: string, endDate: string } et retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY_au_DD-MM-YYYY.pdf\" }. Si le l\\'objet ne contient que startDate, retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY.pdf\" }. Si le l\\'objet ne contient pas de date, retournez le nom du fichier au format { fileName: \"releve_bancaire_du_DD-MM-YYYY.pdf\" } avec la date d\\'aujourd\\'hui.',\n },\n [AIPromptKey.ASK_COLLABORATOR]: {\n userPrompt: '', // this is not used\n systemPrompt: `\n Vous êtes un spécialiste reconnu en comptabilité française, droit fiscal, droit des entreprises et droit social.\n Vous êtes parfaitement à jour des dernières lois, réglementations et jurisprudences en vigueur.\n Votre mission est de fournir des réponses précises et professionnelles basées sur le contexte fourni,\n dans un français irréprochable et un style concis.\n Si le contexte ne contient pas les informations pertinentes pour répondre à la question, veuillez l'indiquer clairement plutôt que d'inventer des informations.\n Si la question est en dehors de votre domaine d'expertise, indiquez-le clairement et indiquez que la catégorie et sous-catégorie sont \"hors sujet\".\n Utilisez toujours la recherche web pour trouver des informations pertinentes et à jour.\n Citez vos sources de manière précise et professionnelle, en fournissant uniquement des liens URL séparés par des points-virgules.\n `,\n },\n} as const;\n"]}
@@ -1,6 +1,7 @@
1
- import { OcrTransactionDetails } from '../ocr/OcrTypeTransactions';
1
+ import { MistralBankAccountSoldeDetails, OcrTransactionDetails } from '../ocr/OcrTypeTransactions';
2
2
  export declare class QueryTransactionBankStatement {
3
3
  transactions: OcrTransactionDetails[];
4
4
  idBankAccount: number;
5
+ soldes: MistralBankAccountSoldeDetails[];
5
6
  }
6
7
  //# sourceMappingURL=QueryTransactionBankStatement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryTransactionBankStatement.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankStatement/QueryTransactionBankStatement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,qBAAa,6BAA6B;IAExC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAItC,aAAa,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"QueryTransactionBankStatement.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankStatement/QueryTransactionBankStatement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnG,qBAAa,6BAA6B;IAExC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAItC,aAAa,EAAE,MAAM,CAAC;IAKtB,MAAM,EAAE,8BAA8B,EAAE,CAAC;CAC1C"}
@@ -7,11 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { IsNumber } from 'class-validator';
10
+ import { IsArray, IsNumber } from 'class-validator';
11
11
  import { ApiProperty } from '../../../..';
12
+ import { MistralBankAccountSoldeDetails } from '../ocr/OcrTypeTransactions';
13
+ import { Type } from 'class-transformer';
12
14
  export class QueryTransactionBankStatement {
13
15
  transactions;
14
16
  idBankAccount;
17
+ soldes;
15
18
  }
16
19
  __decorate([
17
20
  ApiProperty(),
@@ -22,4 +25,10 @@ __decorate([
22
25
  IsNumber(),
23
26
  __metadata("design:type", Number)
24
27
  ], QueryTransactionBankStatement.prototype, "idBankAccount", void 0);
28
+ __decorate([
29
+ ApiProperty(),
30
+ IsArray(),
31
+ Type(() => MistralBankAccountSoldeDetails),
32
+ __metadata("design:type", Array)
33
+ ], QueryTransactionBankStatement.prototype, "soldes", void 0);
25
34
  //# sourceMappingURL=QueryTransactionBankStatement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryTransactionBankStatement.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankStatement/QueryTransactionBankStatement.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,OAAO,6BAA6B;IAExC,YAAY,CAA0B;IAItC,aAAa,CAAS;CACvB;AALC;IADC,WAAW,EAAE;;mEACwB;AAItC;IAFC,WAAW,EAAE;IACb,QAAQ,EAAE;;oEACW","sourcesContent":["import { IsNumber } from 'class-validator';\nimport { ApiProperty } from '../../../..';\nimport { OcrTransactionDetails } from '../ocr/OcrTypeTransactions';\n\nexport class QueryTransactionBankStatement {\n @ApiProperty()\n transactions: OcrTransactionDetails[];\n\n @ApiProperty()\n @IsNumber()\n idBankAccount: number;\n}\n"]}
1
+ {"version":3,"file":"QueryTransactionBankStatement.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankStatement/QueryTransactionBankStatement.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAyB,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,OAAO,6BAA6B;IAExC,YAAY,CAA0B;IAItC,aAAa,CAAS;IAKtB,MAAM,CAAmC;CAC1C;AAVC;IADC,WAAW,EAAE;;mEACwB;AAItC;IAFC,WAAW,EAAE;IACb,QAAQ,EAAE;;oEACW;AAKtB;IAHC,WAAW,EAAE;IACb,OAAO,EAAE;IACT,IAAI,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC;;6DACF","sourcesContent":["import { IsArray, IsNumber } from 'class-validator';\nimport { ApiProperty } from '../../../..';\nimport { MistralBankAccountSoldeDetails, OcrTransactionDetails } from '../ocr/OcrTypeTransactions';\nimport { Type } from 'class-transformer';\n\nexport class QueryTransactionBankStatement {\n @ApiProperty()\n transactions: OcrTransactionDetails[];\n\n @ApiProperty()\n @IsNumber()\n idBankAccount: number;\n\n @ApiProperty()\n @IsArray()\n @Type(() => MistralBankAccountSoldeDetails)\n soldes: MistralBankAccountSoldeDetails[];\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { OcrTransactionDetails } from './OcrTypeTransactions';
1
+ import { OcrTransactionDetails, MistralBankAccountSoldeDetails } from './OcrTypeTransactions';
2
2
  export declare class OcrTransactions {
3
3
  file?: {
4
4
  id: number;
@@ -8,5 +8,6 @@ export declare class OcrTransactions {
8
8
  idBankAccount: number;
9
9
  isPdf: boolean;
10
10
  error?: string;
11
+ soldes?: MistralBankAccountSoldeDetails[];
11
12
  }
12
13
  //# sourceMappingURL=OcrTransactions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OcrTransactions.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTransactions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,eAAe;IAE1B,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAGF,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAGtC,aAAa,EAAE,MAAM,CAAC;IAKtB,KAAK,EAAE,OAAO,CAAC;IAKf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"OcrTransactions.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTransactions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAG9F,qBAAa,eAAe;IAE1B,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAGF,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAGtC,aAAa,EAAE,MAAM,CAAC;IAKtB,KAAK,EAAE,OAAO,CAAC;IAKf,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,MAAM,CAAC,EAAE,8BAA8B,EAAE,CAAC;CAC3C"}
@@ -7,15 +7,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { IsBoolean, IsOptional, IsString } from 'class-validator';
10
+ import { IsArray, IsBoolean, IsOptional, IsString } from 'class-validator';
11
11
  import { ApiProperty, ApiPropertyOptional } from '../../../..';
12
12
  import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
13
+ import { MistralBankAccountSoldeDetails } from './OcrTypeTransactions';
14
+ import { Type } from 'class-transformer';
13
15
  export class OcrTransactions {
14
16
  file;
15
17
  transactions;
16
18
  idBankAccount;
17
19
  isPdf;
18
20
  error;
21
+ soldes;
19
22
  }
20
23
  __decorate([
21
24
  ApiPropertyOptional(),
@@ -41,4 +44,10 @@ __decorate([
41
44
  IsString(),
42
45
  __metadata("design:type", String)
43
46
  ], OcrTransactions.prototype, "error", void 0);
47
+ __decorate([
48
+ ApiPropertyOptional(),
49
+ IsArray(),
50
+ Type(() => MistralBankAccountSoldeDetails),
51
+ __metadata("design:type", Array)
52
+ ], OcrTransactions.prototype, "soldes", void 0);
44
53
  //# sourceMappingURL=OcrTransactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OcrTransactions.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTransactions.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAG3E,MAAM,OAAO,eAAe;IAE1B,IAAI,CAGF;IAGF,YAAY,CAA0B;IAGtC,aAAa,CAAS;IAKtB,KAAK,CAAU;IAKf,KAAK,CAAU;CAChB;AApBC;IADC,mBAAmB,EAAE;;6CAIpB;AAGF;IADC,WAAW,EAAE;;qDACwB;AAGtC;IADC,mBAAmB,EAAE;;sDACA;AAKtB;IAHC,SAAS,EAAE;IACX,SAAS,EAAE;IACX,WAAW,EAAE;;8CACC;AAKf;IAHC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;8CACI","sourcesContent":["import { IsBoolean, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty, ApiPropertyOptional } from '../../../..';\nimport { ToBoolean } from '../../../../utils/transforms/boolean.transform';\nimport { OcrTransactionDetails } from './OcrTypeTransactions';\n\nexport class OcrTransactions {\n @ApiPropertyOptional()\n file?: {\n id: number;\n token: string;\n };\n\n @ApiProperty()\n transactions: OcrTransactionDetails[];\n\n @ApiPropertyOptional()\n idBankAccount: number;\n\n @ToBoolean()\n @IsBoolean()\n @ApiProperty()\n isPdf: boolean;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsString()\n error?: string;\n}\n"]}
1
+ {"version":3,"file":"OcrTransactions.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTransactions.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,EAAyB,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,OAAO,eAAe;IAE1B,IAAI,CAGF;IAGF,YAAY,CAA0B;IAGtC,aAAa,CAAS;IAKtB,KAAK,CAAU;IAKf,KAAK,CAAU;IAKf,MAAM,CAAoC;CAC3C;AAzBC;IADC,mBAAmB,EAAE;;6CAIpB;AAGF;IADC,WAAW,EAAE;;qDACwB;AAGtC;IADC,mBAAmB,EAAE;;sDACA;AAKtB;IAHC,SAAS,EAAE;IACX,SAAS,EAAE;IACX,WAAW,EAAE;;8CACC;AAKf;IAHC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;8CACI;AAKf;IAHC,mBAAmB,EAAE;IACrB,OAAO,EAAE;IACT,IAAI,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC;;+CACD","sourcesContent":["import { IsArray, IsBoolean, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty, ApiPropertyOptional } from '../../../..';\nimport { ToBoolean } from '../../../../utils/transforms/boolean.transform';\nimport { OcrTransactionDetails, MistralBankAccountSoldeDetails } from './OcrTypeTransactions';\nimport { Type } from 'class-transformer';\n\nexport class OcrTransactions {\n @ApiPropertyOptional()\n file?: {\n id: number;\n token: string;\n };\n\n @ApiProperty()\n transactions: OcrTransactionDetails[];\n\n @ApiPropertyOptional()\n idBankAccount: number;\n\n @ToBoolean()\n @IsBoolean()\n @ApiProperty()\n isPdf: boolean;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsString()\n error?: string;\n\n @ApiPropertyOptional()\n @IsArray()\n @Type(() => MistralBankAccountSoldeDetails)\n soldes?: MistralBankAccountSoldeDetails[];\n}\n"]}
@@ -21,4 +21,8 @@ export type OcrResponseParsed = {
21
21
  UnsubscribeURL: string;
22
22
  SubscribeURL?: string;
23
23
  };
24
+ export declare class MistralBankAccountSoldeDetails {
25
+ dateValue: string;
26
+ amount: number;
27
+ }
24
28
  //# sourceMappingURL=OcrTypeTransactions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OcrTypeTransactions.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTypeTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"OcrTypeTransactions.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTypeTransactions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,8BAA8B;IAGzC,SAAS,EAAE,MAAM,CAAC;IAIlB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,2 +1,26 @@
1
- export {};
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { IsNumber, IsString } from 'class-validator';
11
+ import { ApiProperty } from '../../../../utils';
12
+ export class MistralBankAccountSoldeDetails {
13
+ dateValue;
14
+ amount;
15
+ }
16
+ __decorate([
17
+ ApiProperty(),
18
+ IsString(),
19
+ __metadata("design:type", String)
20
+ ], MistralBankAccountSoldeDetails.prototype, "dateValue", void 0);
21
+ __decorate([
22
+ ApiProperty(),
23
+ IsNumber(),
24
+ __metadata("design:type", Number)
25
+ ], MistralBankAccountSoldeDetails.prototype, "amount", void 0);
2
26
  //# sourceMappingURL=OcrTypeTransactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OcrTypeTransactions.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTypeTransactions.ts"],"names":[],"mappings":"","sourcesContent":["import { OcrType } from '../../../Enum/Ocr';\n\nexport type OcrTransactionDetails = {\n dateValue: string;\n label: string | null;\n debit: number;\n credit: number;\n};\n\nexport type OcrResponseMessage = {\n metadata: string;\n s3_file_name: string;\n};\n\nexport type OcrResponseParsed = {\n Type: OcrType;\n MessageId: string;\n TopicArn: string;\n Message: string;\n Timestamp: string;\n SignatureVersion: string;\n Signature: string;\n SigningCertURL: string;\n UnsubscribeURL: string;\n SubscribeURL?: string;\n};\n"]}
1
+ {"version":3,"file":"OcrTypeTransactions.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/ocr/OcrTypeTransactions.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA4BhD,MAAM,OAAO,8BAA8B;IAGzC,SAAS,CAAS;IAIlB,MAAM,CAAS;CAChB;AALC;IAFC,WAAW,EAAE;IACb,QAAQ,EAAE;;iEACO;AAIlB;IAFC,WAAW,EAAE;IACb,QAAQ,EAAE;;8DACI","sourcesContent":["import { IsNumber, IsString } from 'class-validator';\nimport { ApiProperty } from '../../../../utils';\nimport { OcrType } from '../../../Enum/Ocr';\n\nexport type OcrTransactionDetails = {\n dateValue: string;\n label: string | null;\n debit: number;\n credit: number;\n};\n\nexport type OcrResponseMessage = {\n metadata: string;\n s3_file_name: string;\n};\n\nexport type OcrResponseParsed = {\n Type: OcrType;\n MessageId: string;\n TopicArn: string;\n Message: string;\n Timestamp: string;\n SignatureVersion: string;\n Signature: string;\n SigningCertURL: string;\n UnsubscribeURL: string;\n SubscribeURL?: string;\n};\n\nexport class MistralBankAccountSoldeDetails {\n @ApiProperty()\n @IsString()\n dateValue: string;\n\n @ApiProperty()\n @IsNumber()\n amount: number;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.3.89",
3
+ "version": "1.3.90",
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",
@@ -2,6 +2,7 @@ export enum AIPromptKey {
2
2
  BANK_STATEMENT = 'bank_statement',
3
3
  BANK_STATEMENT_PERIOD = 'bank_statement_period',
4
4
  BANK_STATEMENT_FILE_NAME = 'bank_statement_file_name',
5
+ BANK_STATEMENT_SOLDE_INFOS = 'bank_statement_solde_infos',
5
6
  ASK_COLLABORATOR = 'ask_collaborator',
6
7
  }
7
8
 
@@ -31,6 +32,27 @@ export const AIPrompt: Record<AIPromptKey, AIPromptInfo> = {
31
32
  Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.
32
33
  `,
33
34
  },
35
+ [AIPromptKey.BANK_STATEMENT_SOLDE_INFOS]: {
36
+ userPrompt:
37
+ 'Voici des lignes issues d’un relevé de compte bancaire (cela peut être un relevé français). Pouvez-vous extraire les données concernant le solde précédent compte bancaire ?',
38
+ systemPrompt: `
39
+ Analysez ce relevé de compte bancaire et extrayez toutes les infos concernant le montant des solde précédents du compte bancaire sous forme d'un objet JSON structuré.
40
+ Le relevé peut contenir des informations telles que la date du solde précédent et le montant du solde qui doit être un nombre.
41
+ Garder exactement le même ordre des différentes dates que dans le relevé.
42
+ Si plusieurs solde sont trouvés, les retourner tous.
43
+ Le format attendu est le suivant :
44
+ [
45
+ {
46
+ "dateValue": string (format : YYYY-MM-DD correspondant à la date du ou des soldes précédents),
47
+ "amount": number,
48
+ },
49
+ ...
50
+ ]
51
+ Assurez-vous que le JSON soit strictement conforme à ce format, sans aucun commentaire ou texte supplémentaire.
52
+ Si Aucune date n'est trouvée, retourner un tableau vide.
53
+
54
+ `,
55
+ },
34
56
  [AIPromptKey.BANK_STATEMENT_PERIOD]: {
35
57
  userPrompt: '',
36
58
  systemPrompt:
@@ -1,6 +1,7 @@
1
- import { IsNumber } from 'class-validator';
1
+ import { IsArray, IsNumber } from 'class-validator';
2
2
  import { ApiProperty } from '../../../..';
3
- import { OcrTransactionDetails } from '../ocr/OcrTypeTransactions';
3
+ import { MistralBankAccountSoldeDetails, OcrTransactionDetails } from '../ocr/OcrTypeTransactions';
4
+ import { Type } from 'class-transformer';
4
5
 
5
6
  export class QueryTransactionBankStatement {
6
7
  @ApiProperty()
@@ -9,4 +10,9 @@ export class QueryTransactionBankStatement {
9
10
  @ApiProperty()
10
11
  @IsNumber()
11
12
  idBankAccount: number;
13
+
14
+ @ApiProperty()
15
+ @IsArray()
16
+ @Type(() => MistralBankAccountSoldeDetails)
17
+ soldes: MistralBankAccountSoldeDetails[];
12
18
  }
@@ -1,7 +1,8 @@
1
- import { IsBoolean, IsOptional, IsString } from 'class-validator';
1
+ import { IsArray, IsBoolean, IsOptional, IsString } from 'class-validator';
2
2
  import { ApiProperty, ApiPropertyOptional } from '../../../..';
3
3
  import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
4
- import { OcrTransactionDetails } from './OcrTypeTransactions';
4
+ import { OcrTransactionDetails, MistralBankAccountSoldeDetails } from './OcrTypeTransactions';
5
+ import { Type } from 'class-transformer';
5
6
 
6
7
  export class OcrTransactions {
7
8
  @ApiPropertyOptional()
@@ -25,4 +26,9 @@ export class OcrTransactions {
25
26
  @IsOptional()
26
27
  @IsString()
27
28
  error?: string;
29
+
30
+ @ApiPropertyOptional()
31
+ @IsArray()
32
+ @Type(() => MistralBankAccountSoldeDetails)
33
+ soldes?: MistralBankAccountSoldeDetails[];
28
34
  }
@@ -1,3 +1,5 @@
1
+ import { IsNumber, IsString } from 'class-validator';
2
+ import { ApiProperty } from '../../../../utils';
1
3
  import { OcrType } from '../../../Enum/Ocr';
2
4
 
3
5
  export type OcrTransactionDetails = {
@@ -24,3 +26,13 @@ export type OcrResponseParsed = {
24
26
  UnsubscribeURL: string;
25
27
  SubscribeURL?: string;
26
28
  };
29
+
30
+ export class MistralBankAccountSoldeDetails {
31
+ @ApiProperty()
32
+ @IsString()
33
+ dateValue: string;
34
+
35
+ @ApiProperty()
36
+ @IsNumber()
37
+ amount: number;
38
+ }