@abyss-project/tools 1.0.5 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/api/beam.api.d.ts +48 -0
  2. package/dist/api/beam.api.js +104 -0
  3. package/dist/api/beam.api.js.map +1 -0
  4. package/dist/api/extraction-plan-preset.api.d.ts +9 -0
  5. package/dist/api/extraction-plan-preset.api.js +23 -0
  6. package/dist/api/extraction-plan-preset.api.js.map +1 -0
  7. package/dist/api/extraction-plan-preset.api.test.d.ts +1 -0
  8. package/dist/api/extraction-plan-preset.api.test.js +41 -0
  9. package/dist/api/extraction-plan-preset.api.test.js.map +1 -0
  10. package/dist/api/extraction-settings.api.d.ts +4 -0
  11. package/dist/api/extraction-settings.api.js +22 -0
  12. package/dist/api/extraction-settings.api.js.map +1 -0
  13. package/dist/api/extraction.api.d.ts +74 -0
  14. package/dist/api/extraction.api.js +416 -0
  15. package/dist/api/extraction.api.js.map +1 -0
  16. package/dist/api/index.d.ts +4 -1
  17. package/dist/api/index.js +4 -1
  18. package/dist/api/index.js.map +1 -1
  19. package/dist/constants/beam.constants.d.ts +1 -0
  20. package/dist/constants/beam.constants.js +5 -0
  21. package/dist/constants/beam.constants.js.map +1 -0
  22. package/dist/constants/index.d.ts +1 -0
  23. package/dist/constants/index.js +1 -0
  24. package/dist/constants/index.js.map +1 -1
  25. package/dist/index.d.ts +107 -58
  26. package/dist/index.js +105 -58
  27. package/dist/index.js.map +1 -1
  28. package/dist/types/enum/beam.enum.d.ts +12 -0
  29. package/dist/types/enum/beam.enum.js +18 -0
  30. package/dist/types/enum/beam.enum.js.map +1 -0
  31. package/dist/types/enum/combine-strategy.enum.d.ts +5 -0
  32. package/dist/types/enum/combine-strategy.enum.js +10 -0
  33. package/dist/types/enum/combine-strategy.enum.js.map +1 -0
  34. package/dist/types/enum/content-share.enum.d.ts +3 -1
  35. package/dist/types/enum/content-share.enum.js +2 -0
  36. package/dist/types/enum/content-share.enum.js.map +1 -1
  37. package/dist/types/enum/document-type.enum.d.ts +9 -0
  38. package/dist/types/enum/document-type.enum.js +14 -0
  39. package/dist/types/enum/document-type.enum.js.map +1 -0
  40. package/dist/types/enum/extraction-feedback-issue-type.enum.d.ts +8 -0
  41. package/dist/types/enum/extraction-feedback-issue-type.enum.js +13 -0
  42. package/dist/types/enum/extraction-feedback-issue-type.enum.js.map +1 -0
  43. package/dist/types/enum/extraction-warning.enum.d.ts +7 -0
  44. package/dist/types/enum/extraction-warning.enum.js +12 -0
  45. package/dist/types/enum/extraction-warning.enum.js.map +1 -0
  46. package/dist/types/enum/index.d.ts +7 -0
  47. package/dist/types/enum/index.js +7 -0
  48. package/dist/types/enum/index.js.map +1 -1
  49. package/dist/types/enum/interpreter-kind.enum.d.ts +5 -0
  50. package/dist/types/enum/interpreter-kind.enum.js +10 -0
  51. package/dist/types/enum/interpreter-kind.enum.js.map +1 -0
  52. package/dist/types/enum/provider-kind.enum.d.ts +10 -0
  53. package/dist/types/enum/provider-kind.enum.js +16 -0
  54. package/dist/types/enum/provider-kind.enum.js.map +1 -0
  55. package/dist/types/interface/api/requests/beam.request.d.ts +122 -0
  56. package/dist/types/interface/api/{responses/pdf.response.js → requests/beam.request.js} +1 -1
  57. package/dist/types/interface/api/requests/beam.request.js.map +1 -0
  58. package/dist/types/interface/api/requests/{rcb.request.d.ts → extraction.request.d.ts} +81 -52
  59. package/dist/types/interface/api/requests/{pdf.public.request.js → extraction.request.js} +1 -1
  60. package/dist/types/interface/api/requests/extraction.request.js.map +1 -0
  61. package/dist/types/interface/api/requests/index.d.ts +2 -1
  62. package/dist/types/interface/api/requests/index.js +2 -1
  63. package/dist/types/interface/api/requests/index.js.map +1 -1
  64. package/dist/types/interface/api/responses/beam.response.d.ts +92 -0
  65. package/dist/types/interface/api/responses/{rcb.response.js → beam.response.js} +1 -1
  66. package/dist/types/interface/api/responses/beam.response.js.map +1 -0
  67. package/dist/types/interface/api/responses/extraction.response.d.ts +403 -0
  68. package/dist/types/interface/api/{requests/user-tag.request.js → responses/extraction.response.js} +1 -1
  69. package/dist/types/interface/api/responses/extraction.response.js.map +1 -0
  70. package/dist/types/interface/api/responses/index.d.ts +2 -1
  71. package/dist/types/interface/api/responses/index.js +2 -1
  72. package/dist/types/interface/api/responses/index.js.map +1 -1
  73. package/dist/types/interface/models/beam.dto.d.ts +58 -0
  74. package/dist/types/interface/{api/requests/pdf.request.js → models/beam.dto.js} +1 -1
  75. package/dist/types/interface/models/beam.dto.js.map +1 -0
  76. package/dist/types/interface/models/extraction-fetched-provenance.dto.test.d.ts +1 -0
  77. package/dist/types/interface/models/extraction-fetched-provenance.dto.test.js +159 -0
  78. package/dist/types/interface/models/extraction-fetched-provenance.dto.test.js.map +1 -0
  79. package/dist/types/interface/models/extraction-plan.dto.d.ts +163 -0
  80. package/dist/types/interface/models/extraction-plan.dto.js +11 -0
  81. package/dist/types/interface/models/extraction-plan.dto.js.map +1 -0
  82. package/dist/types/interface/models/extraction-plan.dto.test.d.ts +1 -0
  83. package/dist/types/interface/models/extraction-plan.dto.test.js +35 -0
  84. package/dist/types/interface/models/extraction-plan.dto.test.js.map +1 -0
  85. package/dist/types/interface/models/extraction-spatial-template.dto.d.ts +37 -0
  86. package/dist/types/interface/{api/requests/rcb.request.js → models/extraction-spatial-template.dto.js} +1 -1
  87. package/dist/types/interface/models/extraction-spatial-template.dto.js.map +1 -0
  88. package/dist/types/interface/models/extraction-spatial-template.dto.test.d.ts +1 -0
  89. package/dist/types/interface/models/extraction-spatial-template.dto.test.js +15 -0
  90. package/dist/types/interface/models/extraction-spatial-template.dto.test.js.map +1 -0
  91. package/dist/types/interface/models/{rcb.dto.d.ts → extraction.dto.d.ts} +64 -48
  92. package/dist/types/interface/models/extraction.dto.js +28 -0
  93. package/dist/types/interface/models/extraction.dto.js.map +1 -0
  94. package/dist/types/interface/models/index.d.ts +4 -1
  95. package/dist/types/interface/models/index.js +4 -1
  96. package/dist/types/interface/models/index.js.map +1 -1
  97. package/dist/types/interface/models/organization.dto.d.ts +2 -0
  98. package/dist/utils/{rcb-webhook.utils.d.ts → extraction-webhook.utils.d.ts} +2 -2
  99. package/dist/utils/{rcb-webhook.utils.js → extraction-webhook.utils.js} +4 -4
  100. package/dist/utils/extraction-webhook.utils.js.map +1 -0
  101. package/dist/utils/index.d.ts +1 -1
  102. package/dist/utils/index.js +1 -1
  103. package/dist/utils/index.js.map +1 -1
  104. package/package.json +1 -1
  105. package/src/api/beam.api.ts +300 -0
  106. package/src/api/extraction-plan-preset.api.test.ts +24 -0
  107. package/src/api/extraction-plan-preset.api.ts +51 -0
  108. package/src/api/extraction-settings.api.ts +59 -0
  109. package/src/api/extraction.api.ts +899 -0
  110. package/src/api/index.ts +56 -51
  111. package/src/api/tests/beam.api.spec.ts +42 -0
  112. package/src/constants/beam.constants.ts +4 -0
  113. package/src/constants/index.ts +6 -5
  114. package/src/index.ts +840 -747
  115. package/src/types/enum/beam.enum.ts +24 -0
  116. package/src/types/enum/combine-strategy.enum.ts +7 -0
  117. package/src/types/enum/content-share.enum.ts +38 -36
  118. package/src/types/enum/document-type.enum.ts +10 -0
  119. package/src/types/enum/extraction-feedback-issue-type.enum.ts +10 -0
  120. package/src/types/enum/extraction-warning.enum.ts +21 -0
  121. package/src/types/enum/index.ts +13 -6
  122. package/src/types/enum/interpreter-kind.enum.ts +7 -0
  123. package/src/types/enum/provider-kind.enum.ts +13 -0
  124. package/src/types/interface/api/requests/beam.request.ts +152 -0
  125. package/src/types/interface/api/requests/extraction.request.ts +366 -0
  126. package/src/types/interface/api/requests/index.ts +29 -28
  127. package/src/types/interface/api/responses/beam.response.ts +122 -0
  128. package/src/types/interface/api/responses/extraction.response.ts +454 -0
  129. package/src/types/interface/api/responses/index.ts +33 -32
  130. package/src/types/interface/models/beam.dto.ts +67 -0
  131. package/src/types/interface/models/extraction-fetched-provenance.dto.test.ts +193 -0
  132. package/src/types/interface/models/extraction-plan.dto.test.ts +47 -0
  133. package/src/types/interface/models/extraction-plan.dto.ts +241 -0
  134. package/src/types/interface/models/extraction-spatial-template.dto.test.ts +27 -0
  135. package/src/types/interface/models/extraction-spatial-template.dto.ts +48 -0
  136. package/src/types/interface/models/{rcb.dto.ts → extraction.dto.ts} +317 -267
  137. package/src/types/interface/models/index.ts +34 -31
  138. package/src/types/interface/models/organization.dto.ts +21 -12
  139. package/src/types/tests/beam-management-types.spec.ts +38 -0
  140. package/src/types/tests/beam-share-enums.spec.ts +11 -0
  141. package/src/types/tests/beam.dto.spec.ts +61 -0
  142. package/src/types/tests/beam.request-response.spec.ts +43 -0
  143. package/src/utils/{rcb-webhook.utils.ts → extraction-webhook.utils.ts} +30 -30
  144. package/src/utils/index.ts +6 -6
  145. package/tsconfig.json +36 -35
  146. package/dist/api/atlas-page-content.api.d.ts +0 -0
  147. package/dist/api/atlas-page-content.api.js +0 -2
  148. package/dist/api/atlas-page-content.api.js.map +0 -1
  149. package/dist/api/pdf.api.d.ts +0 -15
  150. package/dist/api/pdf.api.js +0 -61
  151. package/dist/api/pdf.api.js.map +0 -1
  152. package/dist/api/pdf.public.api.d.ts +0 -8
  153. package/dist/api/pdf.public.api.js +0 -33
  154. package/dist/api/pdf.public.api.js.map +0 -1
  155. package/dist/api/rcb.api.d.ts +0 -72
  156. package/dist/api/rcb.api.js +0 -400
  157. package/dist/api/rcb.api.js.map +0 -1
  158. package/dist/api/user-tag.api.d.ts +0 -9
  159. package/dist/api/user-tag.api.js +0 -37
  160. package/dist/api/user-tag.api.js.map +0 -1
  161. package/dist/constants/user-tag.constants.d.ts +0 -3
  162. package/dist/constants/user-tag.constants.js +0 -7
  163. package/dist/constants/user-tag.constants.js.map +0 -1
  164. package/dist/types/enum/pdf-session.enum.d.ts +0 -10
  165. package/dist/types/enum/pdf-session.enum.js +0 -16
  166. package/dist/types/enum/pdf-session.enum.js.map +0 -1
  167. package/dist/types/interface/api/requests/pdf.public.request.d.ts +0 -19
  168. package/dist/types/interface/api/requests/pdf.public.request.js.map +0 -1
  169. package/dist/types/interface/api/requests/pdf.request.d.ts +0 -50
  170. package/dist/types/interface/api/requests/pdf.request.js.map +0 -1
  171. package/dist/types/interface/api/requests/rcb.request.js.map +0 -1
  172. package/dist/types/interface/api/requests/user-tag.request.d.ts +0 -44
  173. package/dist/types/interface/api/requests/user-tag.request.js.map +0 -1
  174. package/dist/types/interface/api/responses/pdf.public.response.d.ts +0 -33
  175. package/dist/types/interface/api/responses/pdf.public.response.js +0 -3
  176. package/dist/types/interface/api/responses/pdf.public.response.js.map +0 -1
  177. package/dist/types/interface/api/responses/pdf.response.d.ts +0 -35
  178. package/dist/types/interface/api/responses/pdf.response.js.map +0 -1
  179. package/dist/types/interface/api/responses/rcb.response.d.ts +0 -376
  180. package/dist/types/interface/api/responses/rcb.response.js.map +0 -1
  181. package/dist/types/interface/api/responses/user-tag.response.d.ts +0 -32
  182. package/dist/types/interface/api/responses/user-tag.response.js +0 -3
  183. package/dist/types/interface/api/responses/user-tag.response.js.map +0 -1
  184. package/dist/types/interface/models/pdf-session.dto.d.ts +0 -28
  185. package/dist/types/interface/models/pdf-session.dto.js +0 -3
  186. package/dist/types/interface/models/pdf-session.dto.js.map +0 -1
  187. package/dist/types/interface/models/rcb.dto.js +0 -26
  188. package/dist/types/interface/models/rcb.dto.js.map +0 -1
  189. package/dist/types/interface/models/user-tag.dto.d.ts +0 -22
  190. package/dist/types/interface/models/user-tag.dto.js +0 -3
  191. package/dist/types/interface/models/user-tag.dto.js.map +0 -1
  192. package/dist/utils/rcb-webhook.utils.js.map +0 -1
  193. package/src/api/rcb.api.ts +0 -829
  194. package/src/types/interface/api/requests/rcb.request.ts +0 -267
  195. package/src/types/interface/api/responses/rcb.response.ts +0 -399
@@ -0,0 +1,403 @@
1
+ import { IResponse } from '../type-message/response';
2
+ import type { IExtractionPlanPreset, IExtractModesData, IFieldValue } from '../../models/extraction-plan.dto';
3
+ import { IExtractionBankVersion, IExtraction, IExtractionMetadata, IExtractionFeedback, IExtractionFile, IExtractionTemplate, IExtractionTemplateVersion, IExtractionTransaction, IExtractionWebhookDelivery, ExtractionMode } from '../../models/extraction.dto';
4
+ export interface IExtractSyncData {
5
+ extraction_id: string;
6
+ file_id: string;
7
+ application_file_id: string | null;
8
+ cached: boolean;
9
+ records: IExtractionTransaction[];
10
+ metadata: IExtractionMetadata;
11
+ extraction: {
12
+ mode: ExtractionMode;
13
+ strategy_used: string | null;
14
+ confidence: number | null;
15
+ detected_bank: string | null;
16
+ detected_version: string | null;
17
+ balance_validated: boolean | null;
18
+ duration_ms: number | null;
19
+ warnings: string[];
20
+ alternatives: unknown[];
21
+ used_ocr: boolean;
22
+ ocr_page_count: number;
23
+ };
24
+ documentType: string | null;
25
+ documentTypeConfidence: number | null;
26
+ fields: Record<string, {
27
+ value: unknown;
28
+ confidence: number;
29
+ }> | null;
30
+ }
31
+ export type IExtractSyncResponse = IResponse<IExtractSyncData>;
32
+ export interface IExtractQueueData {
33
+ job_id: string;
34
+ status: string;
35
+ queued_at: string;
36
+ poll_url: string;
37
+ documentType: string | null;
38
+ documentTypeConfidence: number | null;
39
+ fields: Record<string, {
40
+ value: unknown;
41
+ confidence: number;
42
+ }> | null;
43
+ }
44
+ export type IExtractQueueResponse = IResponse<IExtractQueueData>;
45
+ export interface IExtractBulkData {
46
+ accepted: number;
47
+ rejected: number;
48
+ jobs: Array<{
49
+ index: number;
50
+ job_id: string;
51
+ }>;
52
+ errors: Array<{
53
+ index: number;
54
+ error: string;
55
+ }>;
56
+ }
57
+ export type IExtractBulkResponse = IResponse<IExtractBulkData>;
58
+ export interface IDetectData {
59
+ pdfHash: string;
60
+ pageCount: number;
61
+ metadata: {
62
+ ibans: Array<{
63
+ iban: string;
64
+ bankCode: string;
65
+ countryCode: string;
66
+ }>;
67
+ bics: Array<{
68
+ bic: string;
69
+ bankCode: string;
70
+ }>;
71
+ };
72
+ candidates: Array<{
73
+ id: string;
74
+ bankName: string;
75
+ version: string;
76
+ score: number;
77
+ matchedSignals: string[];
78
+ }>;
79
+ durationMs: number;
80
+ }
81
+ export type IDetectResponse = IResponse<IDetectData>;
82
+ export interface IDetectBulkData {
83
+ count: number;
84
+ results: Array<{
85
+ index: number;
86
+ result?: IDetectData;
87
+ error?: string;
88
+ }>;
89
+ }
90
+ export type IDetectBulkResponse = IResponse<IDetectBulkData>;
91
+ export interface IListFilesData {
92
+ data: IExtractionFile[];
93
+ total?: number;
94
+ }
95
+ export type IListFilesResponse = IListFilesData;
96
+ export type IGetFileResponse = IResponse<IExtractionFile>;
97
+ export interface IListFileExtractionsData {
98
+ data: IExtraction[];
99
+ total?: number;
100
+ }
101
+ export type IListFileExtractionsResponse = IListFileExtractionsData;
102
+ export interface IGetExtractionData extends IExtraction {
103
+ documentType: string | null;
104
+ documentTypeConfidence: number | null;
105
+ fields: Record<string, IFieldValue> | null;
106
+ }
107
+ export type IGetExtractionResponse = IResponse<IGetExtractionData>;
108
+ export interface ISearchExtractionRecordsResponse {
109
+ data: IExtractionTransaction[];
110
+ matched: number;
111
+ total: number;
112
+ }
113
+ export interface IDiffExtractionsData {
114
+ left: {
115
+ id: string;
116
+ mode: ExtractionMode;
117
+ recordsCount: number | null;
118
+ };
119
+ right: {
120
+ id: string;
121
+ mode: ExtractionMode;
122
+ recordsCount: number | null;
123
+ };
124
+ same: number;
125
+ added: IExtractionTransaction[];
126
+ removed: IExtractionTransaction[];
127
+ changed: Array<{
128
+ before: IExtractionTransaction;
129
+ after: IExtractionTransaction;
130
+ fields: string[];
131
+ }>;
132
+ summary: {
133
+ leftCount: number;
134
+ rightCount: number;
135
+ sumDeltaCents: number;
136
+ };
137
+ }
138
+ export type IDiffExtractionsResponse = IResponse<IDiffExtractionsData>;
139
+ export interface IAsyncExportData {
140
+ job_id: string;
141
+ status: string;
142
+ poll_url: string;
143
+ }
144
+ export type IAsyncExportResponse = IResponse<IAsyncExportData>;
145
+ export interface IGetExportJobData {
146
+ id: string;
147
+ status: string;
148
+ progress: number | object | string | boolean;
149
+ result: {
150
+ applicationFileId: string;
151
+ filename: string;
152
+ contentType: string;
153
+ byteSize: number;
154
+ } | null;
155
+ error: string | null;
156
+ }
157
+ export type IGetExportJobResponse = IResponse<IGetExportJobData>;
158
+ export interface ITemplateAndVersionData {
159
+ template: IExtractionTemplate;
160
+ version: IExtractionTemplateVersion;
161
+ warnings?: string[];
162
+ }
163
+ export type ICreateTemplateResponse = IResponse<ITemplateAndVersionData>;
164
+ export type IUpdateTemplateResponse = IResponse<ITemplateAndVersionData>;
165
+ export type IListTemplatesResponse = IResponse<IExtractionTemplate[]>;
166
+ export interface IGetTemplateData {
167
+ template: IExtractionTemplate;
168
+ latest_version: IExtractionTemplateVersion | null;
169
+ }
170
+ export type IGetTemplateResponse = IResponse<IGetTemplateData>;
171
+ export type IListTemplateVersionsResponse = IResponse<IExtractionTemplateVersion[]>;
172
+ export interface IExtractionTemplateCollection {
173
+ $schema: 'abyss-rcb-template-collection/v1';
174
+ exported_at: string;
175
+ templates: Array<{
176
+ name: string;
177
+ description: string | null;
178
+ versions: Array<{
179
+ version: number;
180
+ comment: string | null;
181
+ template_json: Record<string, unknown>;
182
+ }>;
183
+ }>;
184
+ }
185
+ export interface IImportTemplateCollectionData {
186
+ imported: Array<{
187
+ originalName: string;
188
+ createdName: string;
189
+ templateId: string;
190
+ versions: number;
191
+ }>;
192
+ errors: Array<{
193
+ originalName: string;
194
+ error: string;
195
+ }>;
196
+ }
197
+ export type IImportTemplateCollectionResponse = IResponse<IImportTemplateCollectionData>;
198
+ export interface IExtractionJob {
199
+ id: string;
200
+ status: 'waiting' | 'active' | 'completed' | 'failed' | 'delayed' | 'paused' | 'pending' | 'stuck';
201
+ progress: number | object | string | boolean;
202
+ result: {
203
+ extractionId: string;
204
+ fileId: string;
205
+ cached: boolean;
206
+ recordsCount: number;
207
+ strategyUsed: string | null;
208
+ } | null;
209
+ error: string | null;
210
+ createdAt: number;
211
+ processedOn: number | null;
212
+ finishedOn: number | null;
213
+ attemptsMade: number;
214
+ }
215
+ export type IGetJobResponse = IResponse<IExtractionJob>;
216
+ export type ICreateFeedbackResponse = IResponse<IExtractionFeedback>;
217
+ export interface IListFeedbackResponse {
218
+ data: IExtractionFeedback[];
219
+ total?: number;
220
+ }
221
+ export type IGetFeedbackResponse = IResponse<IExtractionFeedback>;
222
+ export interface IExtractionHealth {
223
+ status: 'ok' | 'degraded' | 'down';
224
+ redis: 'ok' | 'down';
225
+ queue: 'ok' | 'down';
226
+ worker: 'ok' | 'down';
227
+ isShuttingDown: boolean;
228
+ rssMb: number;
229
+ heapUsedMb: number;
230
+ uptimeSec: number;
231
+ }
232
+ export type IHealthResponse = IResponse<IExtractionHealth>;
233
+ export interface IExtractionStats {
234
+ waiting: number;
235
+ active: number;
236
+ completed: number;
237
+ failed: number;
238
+ delayed: number;
239
+ workerConcurrency: number;
240
+ isPaused: boolean;
241
+ }
242
+ export type IStatsResponse = IResponse<IExtractionStats>;
243
+ export interface IExtractionUsageSummary {
244
+ totalEvents: number;
245
+ successCount: number;
246
+ failedCount: number;
247
+ cachedCount: number;
248
+ totalDurationMs: number;
249
+ totalRecordsExtracted: number;
250
+ totalBytesProcessed: number;
251
+ byEventType: Record<string, number>;
252
+ byBank: Record<string, number>;
253
+ }
254
+ export type ISummaryUsageResponse = IResponse<IExtractionUsageSummary>;
255
+ export interface IListWebhookDeliveriesResponse {
256
+ data: IExtractionWebhookDelivery[];
257
+ total?: number;
258
+ }
259
+ export type IGetWebhookDeliveryResponse = IResponse<IExtractionWebhookDelivery>;
260
+ export interface IGetSharedExtractionData {
261
+ id: string;
262
+ mode: ExtractionMode;
263
+ strategy_used: string | null;
264
+ confidence: number | null;
265
+ records_count: number | null;
266
+ balance_validated: boolean | null;
267
+ records: IExtractionTransaction[];
268
+ metadata: IExtractionMetadata;
269
+ warnings: string[];
270
+ share_expires_at: string | null;
271
+ created_at: string;
272
+ }
273
+ export type IGetSharedExtractionResponse = IResponse<IGetSharedExtractionData>;
274
+ export interface IMintShareExtractionData {
275
+ share_url: string;
276
+ share_token: string;
277
+ share_expires_at: string | null;
278
+ }
279
+ export type IMintShareExtractionResponse = IResponse<IMintShareExtractionData>;
280
+ export interface IChangelogData {
281
+ current_version: string;
282
+ entries: Array<{
283
+ version: string;
284
+ date: string;
285
+ highlights: string[];
286
+ }>;
287
+ }
288
+ export type IChangelogResponse = IResponse<IChangelogData>;
289
+ export interface IListBankVersionsAdminResponse {
290
+ data: IExtractionBankVersion[];
291
+ total?: number;
292
+ }
293
+ export type IGetBankVersionAdminResponse = IResponse<IExtractionBankVersion>;
294
+ export type IUpsertBankVersionAdminResponse = IResponse<IExtractionBankVersion>;
295
+ export interface IReloadBankVersionsAdminData {
296
+ loaded: number;
297
+ skipped: number;
298
+ total: number;
299
+ }
300
+ export type IReloadBankVersionsAdminResponse = IResponse<IReloadBankVersionsAdminData>;
301
+ export interface IDetectorReplayAdminData {
302
+ scanned: number;
303
+ kept: number;
304
+ flipped: number;
305
+ newDetections: number;
306
+ skipped: number;
307
+ details: unknown[];
308
+ durationMs: number;
309
+ }
310
+ export type IDetectorReplayAdminResponse = IResponse<IDetectorReplayAdminData>;
311
+ export interface IListRequestLogAdminData {
312
+ data: Array<{
313
+ ts: number;
314
+ method: string;
315
+ path: string;
316
+ status: number;
317
+ durationMs: number;
318
+ userId: string | null;
319
+ requestId: string | null;
320
+ rateLimitBucket: string | null;
321
+ }>;
322
+ meta: {
323
+ capacity: number;
324
+ used: number;
325
+ oldestTs: number | null;
326
+ newestTs: number | null;
327
+ };
328
+ }
329
+ export interface IExtractionPerBankMetric {
330
+ bank: string;
331
+ extractions: number;
332
+ avgConfidence: number;
333
+ avgRecords: number;
334
+ balanceValidatedRate: number;
335
+ avgDurationMs: number;
336
+ feedbackOpen: number;
337
+ }
338
+ export type IPerBankMetricsAdminResponse = IResponse<IExtractionPerBankMetric[]>;
339
+ export interface IExtractionLatencyBucket {
340
+ bucket: string;
341
+ count: number;
342
+ }
343
+ export type ILatencyMetricsAdminResponse = IResponse<IExtractionLatencyBucket[]>;
344
+ export interface IExtractionOverviewMetrics {
345
+ last24h: {
346
+ extractions: number;
347
+ failures: number;
348
+ avgLatencyMs: number;
349
+ };
350
+ last30d: {
351
+ extractions: number;
352
+ uniqueUsers: number;
353
+ };
354
+ }
355
+ export type IOverviewMetricsAdminResponse = IResponse<IExtractionOverviewMetrics>;
356
+ import type { IExtractionWebhook } from '../../models/extraction.dto';
357
+ export interface IPaginateExtractionWebhookData {
358
+ rows: IExtractionWebhook[];
359
+ total: number;
360
+ }
361
+ export type IPaginateExtractionWebhookResponse = IResponse<IPaginateExtractionWebhookData>;
362
+ export type IGetExtractionWebhookResponse = IResponse<{
363
+ webhook: IExtractionWebhook;
364
+ }>;
365
+ export type ICreateExtractionWebhookResponse = IResponse<{
366
+ webhook: IExtractionWebhook;
367
+ }>;
368
+ export type IUpdateExtractionWebhookResponse = IResponse<{
369
+ webhook: IExtractionWebhook;
370
+ }>;
371
+ export type IDeleteExtractionWebhookResponse = IResponse<{
372
+ ok: true;
373
+ }>;
374
+ export type IResetSecretExtractionWebhookResponse = IResponse<{
375
+ webhook: IExtractionWebhook;
376
+ }>;
377
+ export interface IGetExtractionSettingsResponse {
378
+ data: {
379
+ improvement_default: boolean;
380
+ };
381
+ }
382
+ export type IUpsertExtractionSettingsResponse = IGetExtractionSettingsResponse;
383
+ export interface IToggleExtractionTrainingResponse {
384
+ data: {
385
+ id: string;
386
+ usable_for_training: boolean;
387
+ training_file_id: string | null;
388
+ };
389
+ }
390
+ export interface IListModesResponse {
391
+ data: IExtractModesData;
392
+ }
393
+ export interface IListPlanPresetsResponse {
394
+ data: IExtractionPlanPreset[];
395
+ }
396
+ export interface IGetPlanPresetResponse {
397
+ data: IExtractionPlanPreset;
398
+ }
399
+ export interface IDeletePlanPresetResponse {
400
+ data: {
401
+ id: string;
402
+ };
403
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-tag.request.js.map
3
+ //# sourceMappingURL=extraction.response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction.response.js","sourceRoot":"","sources":["../../../../../src/types/interface/api/responses/extraction.response.ts"],"names":[],"mappings":""}
@@ -22,11 +22,12 @@ export * from './retrospective-section.response';
22
22
  export * from './short-link.response';
23
23
  export * from './short-link.public.response';
24
24
  export * from './short-link.admin.response';
25
+ export * from './beam.response';
25
26
  export * from './metrics.response';
26
27
  export * from './tag.response';
27
28
  export * from './enriched-paginate.response';
28
29
  export * from './count.response';
29
30
  export * from './recent.response';
30
31
  export * from './transfer.response';
31
- export * from './rcb.response';
32
+ export * from './extraction.response';
32
33
  export * from './monitor.response';
@@ -38,12 +38,13 @@ __exportStar(require("./retrospective-section.response"), exports);
38
38
  __exportStar(require("./short-link.response"), exports);
39
39
  __exportStar(require("./short-link.public.response"), exports);
40
40
  __exportStar(require("./short-link.admin.response"), exports);
41
+ __exportStar(require("./beam.response"), exports);
41
42
  __exportStar(require("./metrics.response"), exports);
42
43
  __exportStar(require("./tag.response"), exports);
43
44
  __exportStar(require("./enriched-paginate.response"), exports);
44
45
  __exportStar(require("./count.response"), exports);
45
46
  __exportStar(require("./recent.response"), exports);
46
47
  __exportStar(require("./transfer.response"), exports);
47
- __exportStar(require("./rcb.response"), exports);
48
+ __exportStar(require("./extraction.response"), exports);
48
49
  __exportStar(require("./monitor.response"), exports);
49
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/types/interface/api/responses/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,mDAAiC;AACjC,0DAAwC;AACxC,4DAA0C;AAC1C,yDAAuC;AACvC,wDAAsC;AACtC,mDAAiC;AACjC,wDAAsC;AACtC,kEAAgD;AAChD,gEAA8C;AAC9C,iEAA+C;AAC/C,0DAAwC;AACxC,yDAAuC;AACvC,kDAAgC;AAChC,yDAAuC;AACvC,kDAAgC;AAChC,2DAAyC;AACzC,kEAAgD;AAChD,gEAA8C;AAC9C,kEAAgD;AAChD,mEAAiD;AACjD,wDAAsC;AACtC,+DAA6C;AAC7C,8DAA4C;AAC5C,qDAAmC;AACnC,iDAA+B;AAC/B,+DAA6C;AAC7C,mDAAiC;AACjC,oDAAkC;AAClC,sDAAoC;AACpC,iDAA+B;AAC/B,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/types/interface/api/responses/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,mDAAiC;AACjC,0DAAwC;AACxC,4DAA0C;AAC1C,yDAAuC;AACvC,wDAAsC;AACtC,mDAAiC;AACjC,wDAAsC;AACtC,kEAAgD;AAChD,gEAA8C;AAC9C,iEAA+C;AAC/C,0DAAwC;AACxC,yDAAuC;AACvC,kDAAgC;AAChC,yDAAuC;AACvC,kDAAgC;AAChC,2DAAyC;AACzC,kEAAgD;AAChD,gEAA8C;AAC9C,kEAAgD;AAChD,mEAAiD;AACjD,wDAAsC;AACtC,+DAA6C;AAC7C,8DAA4C;AAC5C,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,+DAA6C;AAC7C,mDAAiC;AACjC,oDAAkC;AAClC,sDAAoC;AACpC,wDAAsC;AACtC,qDAAmC"}
@@ -0,0 +1,58 @@
1
+ import { IOrganization } from './organization.dto';
2
+ import { IUser } from './user.dto';
3
+ import { IProject } from './project.dto';
4
+ import { BeamVisibility } from '../../enum/beam.enum';
5
+ export interface IBeamTransfer {
6
+ id: string;
7
+ slug: string;
8
+ manageTokenHash: string | null;
9
+ userId: string | null;
10
+ organizationId: string | null;
11
+ projectId: string | null;
12
+ createdByUserId: string | null;
13
+ visibility: BeamVisibility;
14
+ passwordHash: string | null;
15
+ title: string | null;
16
+ message: string | null;
17
+ isActive: boolean;
18
+ expiresAt: Date | null;
19
+ finalizedAt: Date | null;
20
+ maxDownloads: number | null;
21
+ downloadCount: number;
22
+ lastDownloadedAt: Date | null;
23
+ totalSizeOctet: number;
24
+ fileCount: number;
25
+ createdAt?: Date;
26
+ updatedAt?: Date;
27
+ user?: IUser | null;
28
+ project?: IProject | null;
29
+ organization?: IOrganization | null;
30
+ files?: IBeamFile[];
31
+ recipients?: IBeamRecipient[];
32
+ }
33
+ export interface IBeamFile {
34
+ id: string;
35
+ transferId: string;
36
+ storageFileId: string;
37
+ thumbnailStorageFileId: string | null;
38
+ name: string;
39
+ mimeType: string | null;
40
+ sizeOctet: number;
41
+ isImage: boolean;
42
+ width: number | null;
43
+ height: number | null;
44
+ downloadCount: number;
45
+ position: number;
46
+ createdAt?: Date;
47
+ transfer?: IBeamTransfer;
48
+ }
49
+ export interface IBeamRecipient {
50
+ id: string;
51
+ transferId: string;
52
+ email: string;
53
+ locale: string | null;
54
+ sentAt: Date | null;
55
+ firstOpenedAt: Date | null;
56
+ createdAt?: Date;
57
+ transfer?: IBeamTransfer;
58
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=pdf.request.js.map
3
+ //# sourceMappingURL=beam.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beam.dto.js","sourceRoot":"","sources":["../../../../src/types/interface/models/beam.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const enum_1 = require("../../enum");
4
+ const fv = {
5
+ value: 120,
6
+ confidence: 0.95,
7
+ chosen: {
8
+ provider: enum_1.ProviderKind.TEXT,
9
+ interpreter: enum_1.InterpreterKind.ALGORITHMIC,
10
+ providerId: 'pdf-auto',
11
+ interpreterId: 'algo-v1',
12
+ },
13
+ sources: [
14
+ {
15
+ mode: {
16
+ provider: enum_1.ProviderKind.TEXT,
17
+ interpreter: enum_1.InterpreterKind.ALGORITHMIC,
18
+ providerId: 'pdf-auto',
19
+ interpreterId: 'algo-v1',
20
+ },
21
+ value: 120,
22
+ confidence: 0.95,
23
+ signals: [],
24
+ },
25
+ ],
26
+ agreement: { agreed: false, distinctValues: 1 },
27
+ signals: [],
28
+ };
29
+ const fvWithSignals = {
30
+ value: 'FR7630001007941234567890185',
31
+ confidence: 0.98,
32
+ chosen: {
33
+ provider: enum_1.ProviderKind.TEXT,
34
+ interpreter: enum_1.InterpreterKind.ALGORITHMIC,
35
+ providerId: 'pdf-auto',
36
+ interpreterId: 'algo-v1',
37
+ },
38
+ sources: [
39
+ {
40
+ mode: {
41
+ provider: enum_1.ProviderKind.TEXT,
42
+ interpreter: enum_1.InterpreterKind.ALGORITHMIC,
43
+ providerId: 'pdf-auto',
44
+ interpreterId: 'algo-v1',
45
+ },
46
+ value: 'FR7630001007941234567890185',
47
+ confidence: 0.98,
48
+ signals: [
49
+ { kind: 'format', check: 'iban_mod97', passed: true, weight: 0.2 },
50
+ { kind: 'anchor', detail: "matched near 'IBAN' label", weight: 0.1 },
51
+ ],
52
+ },
53
+ ],
54
+ agreement: { agreed: true, distinctValues: 1 },
55
+ signals: [
56
+ { kind: 'format', check: 'iban_mod97', passed: true, weight: 0.2 },
57
+ { kind: 'coherence', check: 'balance_reconciliation', passed: true, weight: 0.3 },
58
+ { kind: 'agreement', agreed: true, modes: 2, weight: 0.1 },
59
+ ],
60
+ };
61
+ void fvWithSignals;
62
+ for (const sig of fvWithSignals.signals) {
63
+ if (sig.kind === 'format' || sig.kind === 'coherence') {
64
+ const _check = sig.check;
65
+ const _passed = sig.passed;
66
+ void _check;
67
+ void _passed;
68
+ }
69
+ else if (sig.kind === 'anchor') {
70
+ const _detail = sig.detail;
71
+ void _detail;
72
+ }
73
+ else {
74
+ const _agreed = sig.agreed;
75
+ const _modes = sig.modes;
76
+ void _agreed;
77
+ void _modes;
78
+ }
79
+ }
80
+ const manifest = {
81
+ resolvedPlan: {
82
+ stages: [
83
+ { runParallel: false, passes: [{ providerId: 'pdf-auto', interpreterId: 'algo-v1' }] },
84
+ ],
85
+ combine: enum_1.CombineStrategy.MAX_CONFIDENCE,
86
+ },
87
+ combine: enum_1.CombineStrategy.MAX_CONFIDENCE,
88
+ passes: [
89
+ { providerId: 'pdf-auto', providerVersion: '1.0.0', interpreterId: 'algo-v1', interpreterVersion: '1.0.0' },
90
+ ],
91
+ createdAt: '2026-06-28T00:00:00.000Z',
92
+ };
93
+ const globalConfidence = {
94
+ stats: {
95
+ overall: 0.95,
96
+ mean: 0.95,
97
+ highest: 0.95,
98
+ lowest: 0.95,
99
+ median: 0.95,
100
+ belowThreshold: { threshold: 0.7, count: 0 },
101
+ fieldCount: 1,
102
+ },
103
+ method: enum_1.CombineStrategy.MAX_CONFIDENCE,
104
+ aggregation: 'weighted-by-field-importance',
105
+ perPass: [
106
+ {
107
+ mode: {
108
+ provider: enum_1.ProviderKind.TEXT,
109
+ interpreter: enum_1.InterpreterKind.ALGORITHMIC,
110
+ providerId: 'pdf-auto',
111
+ interpreterId: 'algo-v1',
112
+ },
113
+ confidence: 0.95,
114
+ fieldsContributed: 1,
115
+ ocrPageCount: 0,
116
+ },
117
+ ],
118
+ lowestFields: [{ fieldKey: 'totalTtc', confidence: 0.95 }],
119
+ };
120
+ const fetched = {
121
+ fieldsJson: { totalTtc: fv },
122
+ executionManifest: manifest,
123
+ globalConfidence,
124
+ usedOcr: true,
125
+ ocrPageCount: 3,
126
+ };
127
+ void fetched;
128
+ const totalTtc = (fetched.fieldsJson ?? {}).totalTtc;
129
+ if (totalTtc) {
130
+ const _chosenId = totalTtc.chosen.interpreterId;
131
+ const _sourceCount = totalTtc.sources.length;
132
+ void _chosenId;
133
+ void _sourceCount;
134
+ }
135
+ const _legacyRead = (fetched.fieldsJson ?? {}).totalTtc;
136
+ void _legacyRead;
137
+ const getData = {
138
+ fields: { totalTtc: fv },
139
+ executionManifest: manifest,
140
+ globalConfidence,
141
+ };
142
+ void getData;
143
+ const _usedOcr = fetched.usedOcr;
144
+ const _ocrPages = fetched.ocrPageCount;
145
+ void _usedOcr;
146
+ void _ocrPages;
147
+ if (fetched.executionManifest) {
148
+ const _createdAt = fetched.executionManifest.createdAt;
149
+ const _passCount = fetched.executionManifest.passes.length;
150
+ void _createdAt;
151
+ void _passCount;
152
+ }
153
+ if (fetched.globalConfidence) {
154
+ const _overall = fetched.globalConfidence.stats.overall;
155
+ const _agg = fetched.globalConfidence.aggregation;
156
+ void _overall;
157
+ void _agg;
158
+ }
159
+ //# sourceMappingURL=extraction-fetched-provenance.dto.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction-fetched-provenance.dto.test.js","sourceRoot":"","sources":["../../../../src/types/interface/models/extraction-fetched-provenance.dto.test.ts"],"names":[],"mappings":"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"}