mindee 5.8.0 → 5.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/package.json +103 -95
- package/src/geometry/bbox.d.ts +18 -6
- package/src/geometry/bbox.js +7 -3
- package/src/geometry/boundingBox.d.ts +3 -1
- package/src/geometry/boundingBox.js +3 -1
- package/src/geometry/boundingBoxUtils.d.ts +4 -4
- package/src/geometry/boundingBoxUtils.js +7 -7
- package/src/geometry/minMax.d.ts +9 -3
- package/src/geometry/point.d.ts +3 -1
- package/src/geometry/polygon.d.ts +3 -1
- package/src/geometry/polygon.js +3 -1
- package/src/http/apiCore.js +1 -1
- package/src/http/baseSettings.d.ts +15 -5
- package/src/http/baseSettings.js +4 -2
- package/src/http/dispatcher.js +4 -2
- package/src/image/extractedImage.d.ts +13 -5
- package/src/image/extractedImage.js +3 -3
- package/src/image/extractedImages.d.ts +4 -2
- package/src/image/extractedImages.js +3 -1
- package/src/image/imageCompressor.d.ts +1 -0
- package/src/image/imageCompressor.js +2 -2
- package/src/image/imageExtractor.d.ts +2 -2
- package/src/image/imageExtractor.js +14 -14
- package/src/input/base64Input.d.ts +9 -3
- package/src/input/base64Input.js +9 -3
- package/src/input/bufferInput.d.ts +7 -2
- package/src/input/bufferInput.js +6 -2
- package/src/input/bytesInput.d.ts +10 -3
- package/src/input/bytesInput.js +10 -3
- package/src/input/inputSource.d.ts +4 -2
- package/src/input/inputSource.js +3 -2
- package/src/input/localInputSource.d.ts +20 -7
- package/src/input/localInputSource.js +12 -5
- package/src/input/pageOptions.d.ts +9 -3
- package/src/input/pageOptions.js +6 -2
- package/src/input/pathInput.d.ts +12 -4
- package/src/input/pathInput.js +11 -5
- package/src/input/streamInput.d.ts +14 -5
- package/src/input/streamInput.js +13 -4
- package/src/input/urlInput.d.ts +19 -7
- package/src/input/urlInput.js +20 -12
- package/src/parsing/baseLocalResponse.d.ts +8 -4
- package/src/parsing/baseLocalResponse.js +15 -11
- package/src/parsing/stringDict.d.ts +3 -1
- package/src/pdf/extractedPdf.d.ts +16 -6
- package/src/pdf/extractedPdf.js +5 -3
- package/src/pdf/extractedPdfs.d.ts +4 -2
- package/src/pdf/extractedPdfs.js +3 -1
- package/src/pdf/pdfCompressor.js +14 -14
- package/src/pdf/pdfExtractor.d.ts +1 -1
- package/src/pdf/pdfExtractor.js +3 -3
- package/src/pdf/pdfOperation.d.ts +9 -3
- package/src/pdf/pdfOperation.js +14 -14
- package/src/pdf/pdfUtils.js +1 -1
- package/src/v1/cli.js +1 -1
- package/src/v1/client.d.ts +42 -14
- package/src/v1/client.js +8 -8
- package/src/v1/extraction/invoiceSplitterExtractor/extractedInvoiceSplitterImage.d.ts +6 -2
- package/src/v1/extraction/invoiceSplitterExtractor/invoiceSplitterExtractor.d.ts +2 -2
- package/src/v1/extraction/invoiceSplitterExtractor/invoiceSplitterExtractor.js +6 -6
- package/src/v1/extraction/multiReceiptsExtractor/extractedMultiReceiptImage.d.ts +6 -2
- package/src/v1/extraction/multiReceiptsExtractor/multiReceiptsExtractor.d.ts +2 -2
- package/src/v1/extraction/multiReceiptsExtractor/multiReceiptsExtractor.js +3 -3
- package/src/v1/http/apiSettingsV1.d.ts +15 -5
- package/src/v1/http/apiSettingsV1.js +12 -4
- package/src/v1/http/baseEndpoint.d.ts +7 -3
- package/src/v1/http/endpoint.d.ts +10 -4
- package/src/v1/http/endpoint.js +2 -2
- package/src/v1/http/errors.d.ts +9 -3
- package/src/v1/http/errors.js +6 -2
- package/src/v1/http/httpParams.d.ts +37 -13
- package/src/v1/http/workflowEndpoint.d.ts +2 -2
- package/src/v1/http/workflowEndpoint.js +2 -2
- package/src/v1/parsing/common/apiRequest.d.ts +15 -5
- package/src/v1/parsing/common/apiResponse.d.ts +6 -2
- package/src/v1/parsing/common/asyncPredictResponse.d.ts +21 -7
- package/src/v1/parsing/common/document.d.ts +18 -6
- package/src/v1/parsing/common/document.js +2 -2
- package/src/v1/parsing/common/execution.d.ts +40 -14
- package/src/v1/parsing/common/execution.js +1 -1
- package/src/v1/parsing/common/executionFile.d.ts +6 -2
- package/src/v1/parsing/common/executionPriority.d.ts +12 -4
- package/src/v1/parsing/common/executionPriority.js +12 -4
- package/src/v1/parsing/common/extras/cropperExtra.d.ts +7 -3
- package/src/v1/parsing/common/extras/cropperExtra.js +7 -4
- package/src/v1/parsing/common/extras/extras.d.ts +9 -3
- package/src/v1/parsing/common/extras/extras.js +6 -2
- package/src/v1/parsing/common/extras/fullTextOcrExtra.d.ts +9 -3
- package/src/v1/parsing/common/extras/fullTextOcrExtra.js +3 -1
- package/src/v1/parsing/common/extras/ragExtra.d.ts +3 -1
- package/src/v1/parsing/common/extras/ragExtra.js +3 -1
- package/src/v1/parsing/common/feedback/feedbackResponse.d.ts +3 -1
- package/src/v1/parsing/common/feedback/feedbackResponse.js +0 -1
- package/src/v1/parsing/common/inference.d.ts +24 -8
- package/src/v1/parsing/common/inference.js +6 -2
- package/src/v1/parsing/common/mvisionV1.d.ts +3 -1
- package/src/v1/parsing/common/mvisionV1.js +3 -1
- package/src/v1/parsing/common/ocr.d.ts +3 -1
- package/src/v1/parsing/common/ocrPage.d.ts +7 -3
- package/src/v1/parsing/common/ocrPage.js +7 -3
- package/src/v1/parsing/common/orientation.d.ts +7 -3
- package/src/v1/parsing/common/orientation.js +1 -1
- package/src/v1/parsing/common/page.d.ts +12 -4
- package/src/v1/parsing/common/predictResponse.d.ts +3 -1
- package/src/v1/parsing/common/prediction.d.ts +3 -1
- package/src/v1/parsing/common/prediction.js +3 -1
- package/src/v1/parsing/generated/generatedList.d.ts +7 -3
- package/src/v1/parsing/generated/generatedList.js +1 -1
- package/src/v1/parsing/generated/generatedObject.d.ts +26 -10
- package/src/v1/parsing/generated/generatedObject.js +14 -8
- package/src/v1/parsing/localResponse.d.ts +4 -2
- package/src/v1/parsing/localResponse.js +4 -2
- package/src/v1/parsing/standard/addressField.d.ts +24 -8
- package/src/v1/parsing/standard/amount.d.ts +3 -1
- package/src/v1/parsing/standard/amount.js +4 -2
- package/src/v1/parsing/standard/base.d.ts +27 -9
- package/src/v1/parsing/standard/base.js +6 -2
- package/src/v1/parsing/standard/boolean.d.ts +3 -1
- package/src/v1/parsing/standard/classification.d.ts +6 -2
- package/src/v1/parsing/standard/companyRegistration.d.ts +9 -3
- package/src/v1/parsing/standard/companyRegistration.js +4 -2
- package/src/v1/parsing/standard/date.d.ts +12 -4
- package/src/v1/parsing/standard/date.js +3 -1
- package/src/v1/parsing/standard/field.d.ts +7 -5
- package/src/v1/parsing/standard/field.js +4 -4
- package/src/v1/parsing/standard/locale.d.ts +15 -5
- package/src/v1/parsing/standard/paymentDetails.d.ts +15 -5
- package/src/v1/parsing/standard/position.d.ts +15 -5
- package/src/v1/parsing/standard/tax.d.ts +19 -7
- package/src/v1/parsing/standard/tax.js +16 -6
- package/src/v1/parsing/standard/text.d.ts +6 -2
- package/src/v1/parsing/standard/word.d.ts +9 -3
- package/src/v1/parsing/standard/word.js +3 -1
- package/src/v1/product/barcodeReader/barcodeReaderV1.d.ts +13 -5
- package/src/v1/product/barcodeReader/barcodeReaderV1.js +10 -4
- package/src/v1/product/barcodeReader/barcodeReaderV1Document.d.ts +8 -4
- package/src/v1/product/barcodeReader/barcodeReaderV1Document.js +8 -4
- package/src/v1/product/cliProducts.d.ts +2 -2
- package/src/v1/product/cliProducts.js +1 -1
- package/src/v1/product/cropper/cropperV1.d.ts +13 -5
- package/src/v1/product/cropper/cropperV1.js +10 -4
- package/src/v1/product/cropper/cropperV1Document.d.ts +1 -1
- package/src/v1/product/cropper/cropperV1Page.d.ts +5 -3
- package/src/v1/product/cropper/cropperV1Page.js +5 -3
- package/src/v1/product/driverLicense/driverLicenseV1.d.ts +13 -5
- package/src/v1/product/driverLicense/driverLicenseV1.js +10 -4
- package/src/v1/product/driverLicense/driverLicenseV1Document.d.ts +41 -15
- package/src/v1/product/driverLicense/driverLicenseV1Document.js +2 -2
- package/src/v1/product/financialDocument/financialDocumentV1.d.ts +13 -5
- package/src/v1/product/financialDocument/financialDocumentV1.js +10 -4
- package/src/v1/product/financialDocument/financialDocumentV1Document.d.ts +98 -34
- package/src/v1/product/financialDocument/financialDocumentV1Document.js +17 -7
- package/src/v1/product/financialDocument/financialDocumentV1LineItem.d.ts +30 -10
- package/src/v1/product/financialDocument/financialDocumentV1LineItem.js +4 -2
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV1.d.ts +13 -5
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV1.js +10 -4
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV1Document.d.ts +11 -5
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV1Document.js +2 -2
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV2.d.ts +13 -5
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV2.js +10 -4
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV2Bban.d.ts +18 -6
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV2Bban.js +3 -1
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV2Document.d.ts +14 -6
- package/src/v1/product/fr/bankAccountDetails/bankAccountDetailsV2Document.js +2 -2
- package/src/v1/product/fr/carteGrise/carteGriseV1.d.ts +13 -5
- package/src/v1/product/fr/carteGrise/carteGriseV1.js +10 -4
- package/src/v1/product/fr/carteGrise/carteGriseV1Document.d.ts +125 -43
- package/src/v1/product/fr/carteGrise/carteGriseV1Document.js +2 -2
- package/src/v1/product/fr/idCard/idCardV2.d.ts +13 -5
- package/src/v1/product/fr/idCard/idCardV2.js +10 -4
- package/src/v1/product/fr/idCard/idCardV2Document.d.ts +47 -17
- package/src/v1/product/fr/idCard/idCardV2Document.js +5 -3
- package/src/v1/product/fr/idCard/idCardV2Page.d.ts +8 -4
- package/src/v1/product/fr/idCard/idCardV2Page.js +2 -2
- package/src/v1/product/generated/generatedV1.d.ts +13 -5
- package/src/v1/product/generated/generatedV1.js +10 -4
- package/src/v1/product/generated/generatedV1Document.js +2 -2
- package/src/v1/product/generated/generatedV1Page.js +2 -2
- package/src/v1/product/generated/generatedV1Prediction.d.ts +9 -5
- package/src/v1/product/generated/generatedV1Prediction.js +6 -4
- package/src/v1/product/internationalId/internationalIdV2.d.ts +13 -5
- package/src/v1/product/internationalId/internationalIdV2.js +10 -4
- package/src/v1/product/internationalId/internationalIdV2Document.d.ts +53 -19
- package/src/v1/product/internationalId/internationalIdV2Document.js +8 -4
- package/src/v1/product/invoice/invoiceV4.d.ts +13 -5
- package/src/v1/product/invoice/invoiceV4.js +10 -4
- package/src/v1/product/invoice/invoiceV4Document.d.ts +89 -31
- package/src/v1/product/invoice/invoiceV4Document.js +17 -7
- package/src/v1/product/invoice/invoiceV4LineItem.d.ts +30 -10
- package/src/v1/product/invoice/invoiceV4LineItem.js +4 -2
- package/src/v1/product/invoiceSplitter/invoiceSplitterV1.d.ts +13 -5
- package/src/v1/product/invoiceSplitter/invoiceSplitterV1.js +10 -4
- package/src/v1/product/invoiceSplitter/invoiceSplitterV1Document.d.ts +4 -2
- package/src/v1/product/invoiceSplitter/invoiceSplitterV1Document.js +4 -2
- package/src/v1/product/invoiceSplitter/invoiceSplitterV1InvoicePageGroup.d.ts +9 -3
- package/src/v1/product/invoiceSplitter/invoiceSplitterV1InvoicePageGroup.js +3 -1
- package/src/v1/product/multiReceiptsDetector/multiReceiptsDetectorV1.d.ts +13 -5
- package/src/v1/product/multiReceiptsDetector/multiReceiptsDetectorV1.js +10 -4
- package/src/v1/product/multiReceiptsDetector/multiReceiptsDetectorV1Document.d.ts +5 -3
- package/src/v1/product/multiReceiptsDetector/multiReceiptsDetectorV1Document.js +5 -3
- package/src/v1/product/passport/passportV1.d.ts +13 -5
- package/src/v1/product/passport/passportV1.js +10 -4
- package/src/v1/product/passport/passportV1Document.d.ts +35 -13
- package/src/v1/product/passport/passportV1Document.js +5 -3
- package/src/v1/product/receipt/receiptV5.d.ts +13 -5
- package/src/v1/product/receipt/receiptV5.js +10 -4
- package/src/v1/product/receipt/receiptV5Document.d.ts +53 -19
- package/src/v1/product/receipt/receiptV5Document.js +8 -4
- package/src/v1/product/receipt/receiptV5LineItem.d.ts +18 -6
- package/src/v1/product/receipt/receiptV5LineItem.js +4 -2
- package/src/v1/product/resume/resumeV1.d.ts +13 -5
- package/src/v1/product/resume/resumeV1.js +10 -4
- package/src/v1/product/resume/resumeV1Certificate.d.ts +18 -6
- package/src/v1/product/resume/resumeV1Certificate.js +4 -2
- package/src/v1/product/resume/resumeV1Document.d.ts +53 -19
- package/src/v1/product/resume/resumeV1Document.js +29 -11
- package/src/v1/product/resume/resumeV1Education.d.ts +27 -9
- package/src/v1/product/resume/resumeV1Education.js +4 -2
- package/src/v1/product/resume/resumeV1Language.d.ts +12 -4
- package/src/v1/product/resume/resumeV1Language.js +4 -2
- package/src/v1/product/resume/resumeV1ProfessionalExperience.d.ts +33 -11
- package/src/v1/product/resume/resumeV1ProfessionalExperience.js +4 -2
- package/src/v1/product/resume/resumeV1SocialNetworksUrl.d.ts +12 -4
- package/src/v1/product/resume/resumeV1SocialNetworksUrl.js +4 -2
- package/src/v1/product/us/bankCheck/bankCheckV1.d.ts +13 -5
- package/src/v1/product/us/bankCheck/bankCheckV1.js +10 -4
- package/src/v1/product/us/bankCheck/bankCheckV1Document.d.ts +20 -8
- package/src/v1/product/us/bankCheck/bankCheckV1Document.js +5 -3
- package/src/v1/product/us/bankCheck/bankCheckV1Page.d.ts +8 -4
- package/src/v1/product/us/bankCheck/bankCheckV1Page.js +5 -3
- package/src/v2/cli.js +2 -2
- package/src/v2/client.d.ts +103 -21
- package/src/v2/client.js +171 -27
- package/src/v2/clientOptions/baseAnnotationParameters.d.ts +23 -0
- package/src/v2/clientOptions/baseAnnotationParameters.js +17 -0
- package/src/v2/clientOptions/baseProductParameters.js +3 -2
- package/src/v2/clientOptions/baseRagDocumentUploadParameters.d.ts +23 -0
- package/src/v2/clientOptions/baseRagDocumentUploadParameters.js +24 -0
- package/src/v2/clientOptions/index.d.ts +2 -0
- package/src/v2/clientOptions/index.js +2 -0
- package/src/v2/clientOptions/pollingOptions.d.ts +30 -10
- package/src/v2/clientOptions/pollingOptions.js +6 -2
- package/src/v2/fileOperations/crop.d.ts +1 -1
- package/src/v2/http/errors.d.ts +1 -1
- package/src/v2/http/mindeeApiV2.d.ts +36 -7
- package/src/v2/http/mindeeApiV2.js +80 -4
- package/src/v2/parsing/baseRagAnnotationResponse.d.ts +28 -0
- package/src/v2/parsing/baseRagAnnotationResponse.js +14 -0
- package/src/v2/parsing/baseResponse.d.ts +6 -2
- package/src/v2/parsing/baseResponse.js +3 -1
- package/src/v2/parsing/error/errorDetails.d.ts +3 -1
- package/src/v2/parsing/error/errorResponse.d.ts +1 -1
- package/src/v2/parsing/error/errorResponse.js +1 -1
- package/src/v2/parsing/index.d.ts +2 -0
- package/src/v2/parsing/index.js +1 -0
- package/src/v2/parsing/inference/baseInference.d.ts +6 -2
- package/src/v2/parsing/inference/baseInference.js +6 -2
- package/src/v2/parsing/inference/failedInferenceResponse.d.ts +2 -2
- package/src/v2/parsing/inference/failedInferenceResponse.js +2 -2
- package/src/v2/parsing/inference/field/baseField.d.ts +9 -3
- package/src/v2/parsing/inference/field/fieldConfidence.d.ts +12 -4
- package/src/v2/parsing/inference/field/fieldConfidence.js +12 -4
- package/src/v2/parsing/inference/field/fieldLocation.d.ts +9 -3
- package/src/v2/parsing/inference/field/fieldLocation.js +3 -1
- package/src/v2/parsing/inference/field/inferenceFields.d.ts +15 -5
- package/src/v2/parsing/inference/field/inferenceFields.js +12 -4
- package/src/v2/parsing/inference/field/listField.d.ts +6 -2
- package/src/v2/parsing/inference/field/listField.js +6 -2
- package/src/v2/parsing/inference/field/objectField.d.ts +19 -11
- package/src/v2/parsing/inference/field/objectField.js +22 -34
- package/src/v2/parsing/inference/field/ragMetadata.d.ts +3 -1
- package/src/v2/parsing/inference/field/ragMetadata.js +3 -1
- package/src/v2/parsing/inference/field/rawText.d.ts +6 -2
- package/src/v2/parsing/inference/field/rawText.js +6 -2
- package/src/v2/parsing/inference/field/simpleField.d.ts +6 -2
- package/src/v2/parsing/inference/field/simpleField.js +8 -4
- package/src/v2/parsing/inference/inferenceFile.d.ts +6 -2
- package/src/v2/parsing/inference/inferenceFile.js +6 -2
- package/src/v2/parsing/inference/inferenceModel.d.ts +6 -2
- package/src/v2/parsing/inference/inferenceModel.js +6 -2
- package/src/v2/parsing/job/job.d.ts +8 -8
- package/src/v2/parsing/job/job.js +1 -1
- package/src/v2/parsing/job/jobResponse.d.ts +1 -1
- package/src/v2/parsing/job/jobResponse.js +1 -1
- package/src/v2/parsing/job/jobWebhook.d.ts +1 -1
- package/src/v2/parsing/job/jobWebhook.js +1 -1
- package/src/v2/parsing/search/baseSearchResponse.d.ts +1 -1
- package/src/v2/parsing/search/baseSearchResponse.js +1 -1
- package/src/v2/parsing/search/searchModels.d.ts +1 -1
- package/src/v2/parsing/search/searchModels.js +1 -1
- package/src/v2/parsing/search/searchRagDocuments.d.ts +1 -1
- package/src/v2/parsing/search/searchRagDocuments.js +1 -1
- package/src/v2/parsing/search/searchResponse.d.ts +1 -1
- package/src/v2/parsing/search/searchResponse.js +1 -1
- package/src/v2/product/baseProduct.d.ts +26 -6
- package/src/v2/product/baseProduct.js +31 -7
- package/src/v2/product/classification/classification.d.ts +10 -4
- package/src/v2/product/classification/classification.js +10 -4
- package/src/v2/product/classification/classificationClassifier.d.ts +7 -3
- package/src/v2/product/classification/classificationClassifier.js +7 -3
- package/src/v2/product/classification/classificationInference.d.ts +7 -3
- package/src/v2/product/classification/classificationInference.js +7 -3
- package/src/v2/product/classification/classificationResponse.d.ts +4 -2
- package/src/v2/product/classification/classificationResponse.js +4 -2
- package/src/v2/product/classification/classificationResult.d.ts +6 -2
- package/src/v2/product/classification/classificationResult.js +6 -2
- package/src/v2/product/classification/params/classificationParameters.d.ts +1 -1
- package/src/v2/product/classification/params/classificationParameters.js +1 -1
- package/src/v2/product/crop/crop.d.ts +10 -4
- package/src/v2/product/crop/crop.js +10 -4
- package/src/v2/product/crop/cropInference.d.ts +8 -4
- package/src/v2/product/crop/cropInference.js +8 -4
- package/src/v2/product/crop/cropItem.d.ts +8 -4
- package/src/v2/product/crop/cropItem.js +9 -5
- package/src/v2/product/crop/cropResponse.d.ts +4 -2
- package/src/v2/product/crop/cropResponse.js +4 -2
- package/src/v2/product/crop/cropResult.d.ts +7 -3
- package/src/v2/product/crop/cropResult.js +8 -4
- package/src/v2/product/crop/params/cropParameters.d.ts +1 -1
- package/src/v2/product/crop/params/cropParameters.js +1 -1
- package/src/v2/product/extraction/dataSchemaActiveOption.d.ts +3 -1
- package/src/v2/product/extraction/dataSchemaActiveOption.js +3 -1
- package/src/v2/product/extraction/extraction.d.ts +25 -5
- package/src/v2/product/extraction/extraction.js +32 -6
- package/src/v2/product/extraction/extractionActiveOptions.d.ts +6 -2
- package/src/v2/product/extraction/extractionActiveOptions.js +6 -2
- package/src/v2/product/extraction/extractionInference.d.ts +7 -3
- package/src/v2/product/extraction/extractionInference.js +7 -3
- package/src/v2/product/extraction/extractionResponse.d.ts +4 -2
- package/src/v2/product/extraction/extractionResponse.js +4 -2
- package/src/v2/product/extraction/extractionResult.d.ts +9 -5
- package/src/v2/product/extraction/extractionResult.js +9 -5
- package/src/v2/product/extraction/index.d.ts +1 -0
- package/src/v2/product/extraction/index.js +1 -0
- package/src/v2/product/extraction/params/dataSchema.d.ts +12 -4
- package/src/v2/product/extraction/params/dataSchema.js +6 -2
- package/src/v2/product/extraction/params/dataSchemaField.d.ts +39 -13
- package/src/v2/product/extraction/params/dataSchemaField.js +9 -3
- package/src/v2/product/extraction/params/dataSchemaReplace.d.ts +12 -4
- package/src/v2/product/extraction/params/dataSchemaReplace.js +6 -2
- package/src/v2/product/extraction/params/extractionParameters.d.ts +1 -1
- package/src/v2/product/extraction/params/extractionParameters.js +4 -4
- package/src/v2/product/extraction/ragDocuments/annotatedBaseField.d.ts +20 -0
- package/src/v2/product/extraction/ragDocuments/annotatedBaseField.js +15 -0
- package/src/v2/product/extraction/ragDocuments/annotatedFields.d.ts +27 -0
- package/src/v2/product/extraction/ragDocuments/annotatedFields.js +57 -0
- package/src/v2/product/extraction/ragDocuments/annotatedListField.d.ts +26 -0
- package/src/v2/product/extraction/ragDocuments/annotatedListField.js +69 -0
- package/src/v2/product/extraction/ragDocuments/annotatedObjectField.d.ts +43 -0
- package/src/v2/product/extraction/ragDocuments/annotatedObjectField.js +47 -0
- package/src/v2/product/extraction/ragDocuments/annotatedSimpleField.d.ts +15 -0
- package/src/v2/product/extraction/ragDocuments/annotatedSimpleField.js +13 -0
- package/src/v2/product/extraction/ragDocuments/extractionRagAnnotationResponse.d.ts +25 -0
- package/src/v2/product/extraction/ragDocuments/extractionRagAnnotationResponse.js +17 -0
- package/src/v2/product/extraction/ragDocuments/fieldFactory.d.ts +12 -0
- package/src/v2/product/extraction/ragDocuments/fieldFactory.js +23 -0
- package/src/v2/product/extraction/ragDocuments/index.d.ts +7 -0
- package/src/v2/product/extraction/ragDocuments/index.js +7 -0
- package/src/v2/product/extraction/ragDocuments/params/index.d.ts +2 -0
- package/src/v2/product/extraction/ragDocuments/params/index.js +2 -0
- package/src/v2/product/extraction/ragDocuments/params/ragDocumentAnnotationParameters.d.ts +27 -0
- package/src/v2/product/extraction/ragDocuments/params/ragDocumentAnnotationParameters.js +43 -0
- package/src/v2/product/extraction/ragDocuments/params/ragDocumentUploadParameters.d.ts +7 -0
- package/src/v2/product/extraction/ragDocuments/params/ragDocumentUploadParameters.js +9 -0
- package/src/v2/product/extraction/ragDocuments/ragAnnotation.d.ts +12 -0
- package/src/v2/product/extraction/ragDocuments/ragAnnotation.js +9 -0
- package/src/v2/product/ocr/ocr.d.ts +10 -4
- package/src/v2/product/ocr/ocr.js +10 -4
- package/src/v2/product/ocr/ocrInference.d.ts +8 -4
- package/src/v2/product/ocr/ocrInference.js +8 -4
- package/src/v2/product/ocr/ocrPage.d.ts +6 -2
- package/src/v2/product/ocr/ocrPage.js +6 -2
- package/src/v2/product/ocr/ocrResponse.d.ts +4 -2
- package/src/v2/product/ocr/ocrResponse.js +4 -2
- package/src/v2/product/ocr/ocrResult.d.ts +3 -1
- package/src/v2/product/ocr/ocrResult.js +3 -1
- package/src/v2/product/ocr/ocrWord.d.ts +6 -2
- package/src/v2/product/ocr/ocrWord.js +6 -2
- package/src/v2/product/ocr/params/ocrParameters.d.ts +1 -1
- package/src/v2/product/ocr/params/ocrParameters.js +1 -1
- package/src/v2/product/split/params/splitParameters.d.ts +1 -1
- package/src/v2/product/split/params/splitParameters.js +1 -1
- package/src/v2/product/split/split.d.ts +10 -4
- package/src/v2/product/split/split.js +10 -4
- package/src/v2/product/split/splitInference.d.ts +7 -3
- package/src/v2/product/split/splitInference.js +7 -3
- package/src/v2/product/split/splitRange.d.ts +4 -2
- package/src/v2/product/split/splitRange.js +5 -3
- package/src/v2/product/split/splitResponse.d.ts +4 -2
- package/src/v2/product/split/splitResponse.js +4 -2
- package/src/v2/product/split/splitResult.d.ts +3 -1
- package/src/v2/product/split/splitResult.js +4 -2
- package/src/v2/search/baseSearch.d.ts +11 -5
- package/src/v2/search/baseSearch.js +9 -3
- package/src/v2/search/models/modelSearch.d.ts +12 -6
- package/src/v2/search/models/modelSearch.js +12 -6
- package/src/v2/search/models/modelSearchParameters.d.ts +4 -2
- package/src/v2/search/models/modelSearchParameters.js +4 -2
- package/src/v2/search/models/modelSearchResponse.d.ts +2 -2
- package/src/v2/search/models/modelSearchResponse.js +2 -2
- package/src/v2/search/ragDocuments/ragDocumentSearch.d.ts +12 -6
- package/src/v2/search/ragDocuments/ragDocumentSearch.js +12 -6
- package/src/v2/search/ragDocuments/ragDocumentSearchParameters.d.ts +4 -2
- package/src/v2/search/ragDocuments/ragDocumentSearchParameters.js +4 -2
- package/src/v2/search/ragDocuments/ragDocumentSearchResponse.d.ts +2 -2
- package/src/v2/search/ragDocuments/ragDocumentSearchResponse.js +2 -2
|
@@ -2,8 +2,8 @@ import { loadOptionalDependency } from "../dependency/index.js";
|
|
|
2
2
|
import { MindeeImageError } from "../errors/index.js";
|
|
3
3
|
import { getMinMaxX, getMinMaxY } from "../geometry/index.js";
|
|
4
4
|
import { adjustForRotation } from "../geometry/polygonUtils.js";
|
|
5
|
-
import { ExtractedImage } from "
|
|
6
|
-
import { ExtractedImages } from "
|
|
5
|
+
import { ExtractedImage } from "./extractedImage.js";
|
|
6
|
+
import { ExtractedImages } from "./extractedImages.js";
|
|
7
7
|
import { logger } from "../logger.js";
|
|
8
8
|
import { createPdfFromInputSource } from "../pdf/pdfOperation.js";
|
|
9
9
|
import { rasterizePage } from "../pdf/pdfUtils.js";
|
|
@@ -39,7 +39,7 @@ export async function extractImagesFromPolygon(inputSource, polygonsPerPage, qua
|
|
|
39
39
|
/**
|
|
40
40
|
* Helper function to handle the drawing math and orientation.
|
|
41
41
|
*/
|
|
42
|
-
function drawOrientedPage(
|
|
42
|
+
function drawOrientedPage(currentPdfLib, samplePage, cropped, orientation, finalWidth, finalHeight, scaledWidth, scaledHeight) {
|
|
43
43
|
if (orientation === 0) {
|
|
44
44
|
samplePage.drawPage(cropped, {
|
|
45
45
|
width: scaledWidth,
|
|
@@ -52,7 +52,7 @@ function drawOrientedPage(pdfLib, samplePage, cropped, orientation, finalWidth,
|
|
|
52
52
|
y: finalHeight,
|
|
53
53
|
width: scaledWidth,
|
|
54
54
|
height: scaledHeight,
|
|
55
|
-
rotate:
|
|
55
|
+
rotate: currentPdfLib.degrees(270),
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
else if (orientation === 180) {
|
|
@@ -61,7 +61,7 @@ function drawOrientedPage(pdfLib, samplePage, cropped, orientation, finalWidth,
|
|
|
61
61
|
y: finalHeight,
|
|
62
62
|
width: scaledWidth,
|
|
63
63
|
height: scaledHeight,
|
|
64
|
-
rotate:
|
|
64
|
+
rotate: currentPdfLib.degrees(180),
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
else if (orientation === 270) {
|
|
@@ -70,7 +70,7 @@ function drawOrientedPage(pdfLib, samplePage, cropped, orientation, finalWidth,
|
|
|
70
70
|
y: 0,
|
|
71
71
|
width: scaledWidth,
|
|
72
72
|
height: scaledHeight,
|
|
73
|
-
rotate:
|
|
73
|
+
rotate: currentPdfLib.degrees(90),
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -82,7 +82,7 @@ function drawOrientedPage(pdfLib, samplePage, cropped, orientation, finalWidth,
|
|
|
82
82
|
* @param quality The quality of the extracted images.
|
|
83
83
|
*/
|
|
84
84
|
export async function extractFromPage(pdfPage, polygons, asImage = false, quality) {
|
|
85
|
-
const
|
|
85
|
+
const currentPdfLib = await getPdfLib();
|
|
86
86
|
const { width, height } = pdfPage.getSize();
|
|
87
87
|
const extractedElements = [];
|
|
88
88
|
if (quality !== undefined) {
|
|
@@ -100,15 +100,15 @@ export async function extractFromPage(pdfPage, polygons, asImage = false, qualit
|
|
|
100
100
|
const pageIndex = sourceDoc.getPages().indexOf(pdfPage);
|
|
101
101
|
for (const origPolygon of polygons) {
|
|
102
102
|
logger.debug(`Extracting image with polygon: ${origPolygon.toString()}`);
|
|
103
|
-
const tempPdf = await
|
|
103
|
+
const tempPdf = await currentPdfLib.PDFDocument.create();
|
|
104
104
|
const [copiedPage] = await tempPdf.copyPages(sourceDoc, [pageIndex]);
|
|
105
105
|
const polygon = adjustForRotation(origPolygon, orientation);
|
|
106
106
|
const minX = getMinMaxX(polygon).min;
|
|
107
107
|
const maxX = getMinMaxX(polygon).max;
|
|
108
108
|
const minY = getMinMaxY(polygon).min;
|
|
109
109
|
const maxY = getMinMaxY(polygon).max;
|
|
110
|
-
const
|
|
111
|
-
const
|
|
110
|
+
const imgWidth = width * (maxX - minX);
|
|
111
|
+
const imgHeight = height * (maxY - minY);
|
|
112
112
|
const cropped = await tempPdf.embedPage(copiedPage, {
|
|
113
113
|
left: minX * width,
|
|
114
114
|
right: maxX * width,
|
|
@@ -116,13 +116,13 @@ export async function extractFromPage(pdfPage, polygons, asImage = false, qualit
|
|
|
116
116
|
bottom: height - (maxY * height),
|
|
117
117
|
});
|
|
118
118
|
const isVertical = orientation === 90 || orientation === 270;
|
|
119
|
-
const finalWidth = (isVertical ?
|
|
120
|
-
const finalHeight = (isVertical ?
|
|
119
|
+
const finalWidth = (isVertical ? imgHeight : imgWidth) * qualityScale;
|
|
120
|
+
const finalHeight = (isVertical ? imgWidth : imgHeight) * qualityScale;
|
|
121
121
|
const samplePage = tempPdf.addPage([finalWidth, finalHeight]);
|
|
122
122
|
samplePage.drawRectangle({
|
|
123
|
-
x: 0, y: 0, width: finalWidth, height: finalHeight, color:
|
|
123
|
+
x: 0, y: 0, width: finalWidth, height: finalHeight, color: currentPdfLib.rgb(1, 1, 1),
|
|
124
124
|
});
|
|
125
|
-
drawOrientedPage(
|
|
125
|
+
drawOrientedPage(currentPdfLib, samplePage, cropped, orientation, finalWidth, finalHeight, imgWidth * qualityScale, imgHeight * qualityScale);
|
|
126
126
|
const pdfBuffer = Buffer.from(await tempPdf.save());
|
|
127
127
|
extractedElements.push(asImage ? await rasterizePage(pdfBuffer, 0, 100) : pdfBuffer);
|
|
128
128
|
}
|
|
@@ -3,13 +3,19 @@ interface Base64InputProps {
|
|
|
3
3
|
inputString: string;
|
|
4
4
|
filename: string;
|
|
5
5
|
}
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Local input source backed by a base64-encoded payload.
|
|
8
|
+
*/
|
|
7
9
|
export declare class Base64Input extends LocalInputSource {
|
|
8
10
|
private inputString;
|
|
9
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Decoded binary payload built from the base64 input.
|
|
13
|
+
*/
|
|
10
14
|
fileObject: Buffer;
|
|
11
15
|
constructor({ inputString, filename }: Base64InputProps);
|
|
12
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Decodes and validates the provided base64 content.
|
|
18
|
+
*/
|
|
13
19
|
init(): Promise<void>;
|
|
14
20
|
}
|
|
15
21
|
export {};
|
package/src/input/base64Input.js
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import { LocalInputSource } from "./localInputSource.js";
|
|
2
2
|
import { INPUT_TYPE_BASE64 } from "./inputSource.js";
|
|
3
3
|
import { logger } from "../logger.js";
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Local input source backed by a base64-encoded payload.
|
|
6
|
+
*/
|
|
5
7
|
export class Base64Input extends LocalInputSource {
|
|
6
8
|
constructor({ inputString, filename }) {
|
|
7
9
|
super({
|
|
8
10
|
inputType: INPUT_TYPE_BASE64,
|
|
9
11
|
});
|
|
10
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Decoded binary payload built from the base64 input.
|
|
14
|
+
*/
|
|
11
15
|
this.fileObject = Buffer.alloc(0);
|
|
12
16
|
this.filename = filename;
|
|
13
17
|
this.inputString = inputString;
|
|
14
18
|
}
|
|
15
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Decodes and validates the provided base64 content.
|
|
21
|
+
*/
|
|
16
22
|
async init() {
|
|
17
23
|
if (this.initialized) {
|
|
18
24
|
return;
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
1
2
|
import { LocalInputSource } from "./localInputSource.js";
|
|
2
3
|
interface BufferInputProps {
|
|
3
4
|
buffer: Buffer;
|
|
4
5
|
filename: string;
|
|
5
6
|
}
|
|
6
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Local input source backed by an in-memory `Buffer`.
|
|
9
|
+
*/
|
|
7
10
|
export declare class BufferInput extends LocalInputSource {
|
|
8
11
|
constructor({ buffer, filename }: BufferInputProps);
|
|
9
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Validates and initializes the in-memory buffer input.
|
|
14
|
+
*/
|
|
10
15
|
init(): Promise<void>;
|
|
11
16
|
}
|
|
12
17
|
export {};
|
package/src/input/bufferInput.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { LocalInputSource } from "./localInputSource.js";
|
|
2
2
|
import { INPUT_TYPE_BUFFER } from "./inputSource.js";
|
|
3
3
|
import { logger } from "../logger.js";
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Local input source backed by an in-memory `Buffer`.
|
|
6
|
+
*/
|
|
5
7
|
export class BufferInput extends LocalInputSource {
|
|
6
8
|
constructor({ buffer, filename }) {
|
|
7
9
|
super({
|
|
@@ -10,7 +12,9 @@ export class BufferInput extends LocalInputSource {
|
|
|
10
12
|
this.fileObject = buffer;
|
|
11
13
|
this.filename = filename;
|
|
12
14
|
}
|
|
13
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Validates and initializes the in-memory buffer input.
|
|
17
|
+
*/
|
|
14
18
|
async init() {
|
|
15
19
|
if (this.initialized) {
|
|
16
20
|
return;
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
1
2
|
import { LocalInputSource } from "./localInputSource.js";
|
|
2
3
|
interface BytesInputProps {
|
|
3
4
|
inputBytes: Uint8Array;
|
|
4
5
|
filename: string;
|
|
5
6
|
}
|
|
6
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Local input source backed by a `Uint8Array`.
|
|
9
|
+
*/
|
|
7
10
|
export declare class BytesInput extends LocalInputSource {
|
|
8
11
|
private inputBytes;
|
|
9
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Binary payload built from the byte array.
|
|
14
|
+
*/
|
|
10
15
|
fileObject: Buffer;
|
|
11
16
|
constructor({ inputBytes, filename }: BytesInputProps);
|
|
12
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Converts bytes to a buffer and validates MIME type.
|
|
19
|
+
*/
|
|
13
20
|
init(): Promise<void>;
|
|
14
21
|
}
|
|
15
22
|
export {};
|
package/src/input/bytesInput.js
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
1
2
|
import { INPUT_TYPE_BYTES } from "./inputSource.js";
|
|
2
3
|
import { LocalInputSource } from "./localInputSource.js";
|
|
3
4
|
import { logger } from "../logger.js";
|
|
4
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* Local input source backed by a `Uint8Array`.
|
|
7
|
+
*/
|
|
5
8
|
export class BytesInput extends LocalInputSource {
|
|
6
9
|
constructor({ inputBytes, filename }) {
|
|
7
10
|
super({
|
|
8
11
|
inputType: INPUT_TYPE_BYTES,
|
|
9
12
|
});
|
|
10
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Binary payload built from the byte array.
|
|
15
|
+
*/
|
|
11
16
|
this.fileObject = Buffer.alloc(0);
|
|
12
17
|
this.filename = filename;
|
|
13
18
|
this.inputBytes = inputBytes;
|
|
14
19
|
}
|
|
15
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Converts bytes to a buffer and validates MIME type.
|
|
22
|
+
*/
|
|
16
23
|
async init() {
|
|
17
24
|
if (this.initialized) {
|
|
18
25
|
return;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
1
2
|
/**
|
|
2
3
|
* @param {string} inputType - the type of input used in file ("base64", "path", "dummy").
|
|
3
4
|
* NB: dummy is only used for tests purposes
|
|
@@ -22,9 +23,10 @@ export declare abstract class InputSource {
|
|
|
22
23
|
* Whether the input source has been initialized.
|
|
23
24
|
* @protected
|
|
24
25
|
*/
|
|
25
|
-
/** Whether the source has already been initialized. */
|
|
26
26
|
protected initialized: boolean;
|
|
27
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Initializes the input source and populates its file object.
|
|
29
|
+
*/
|
|
28
30
|
init(): Promise<void>;
|
|
29
31
|
/**
|
|
30
32
|
* Returns whether the input source has been initialized.
|
package/src/input/inputSource.js
CHANGED
|
@@ -17,10 +17,11 @@ export class InputSource {
|
|
|
17
17
|
* Whether the input source has been initialized.
|
|
18
18
|
* @protected
|
|
19
19
|
*/
|
|
20
|
-
/** Whether the source has already been initialized. */
|
|
21
20
|
this.initialized = false;
|
|
22
21
|
}
|
|
23
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Initializes the input source and populates its file object.
|
|
24
|
+
*/
|
|
24
25
|
async init() {
|
|
25
26
|
throw new MindeeInputSourceError("not Implemented");
|
|
26
27
|
}
|
|
@@ -1,22 +1,35 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
2
|
+
import { PageOptions } from "./pageOptions.js";
|
|
2
3
|
import { InputSource, InputConstructor } from "./inputSource.js";
|
|
3
4
|
export declare const MIMETYPES: Map<string, string>;
|
|
4
5
|
export declare abstract class LocalInputSource extends InputSource {
|
|
5
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Type of local input source (path, stream, bytes, ...).
|
|
8
|
+
*/
|
|
6
9
|
inputType: string;
|
|
7
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* Original filename associated with the input.
|
|
12
|
+
*/
|
|
8
13
|
filename: string;
|
|
9
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Original filepath when available.
|
|
16
|
+
*/
|
|
10
17
|
filepath?: string;
|
|
11
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* MIME type detected for the source content.
|
|
20
|
+
*/
|
|
12
21
|
mimeType: string;
|
|
13
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Binary payload for local sources.
|
|
24
|
+
*/
|
|
14
25
|
fileObject: Buffer | string;
|
|
15
26
|
/**
|
|
16
27
|
* @param {InputConstructor} constructor Constructor parameters.
|
|
17
28
|
*/
|
|
18
29
|
protected constructor({ inputType }: InputConstructor);
|
|
19
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Detects and validates the MIME type from the current file object.
|
|
32
|
+
*/
|
|
20
33
|
protected checkMimetype(): Promise<string>;
|
|
21
34
|
/**
|
|
22
35
|
* Returns the file object as a Buffer.
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileTypeFromBuffer } from "file-type";
|
|
2
4
|
import { MindeeInputSourceError } from "../errors/index.js";
|
|
3
5
|
import { errorHandler } from "../errors/handler.js";
|
|
4
6
|
import { logger } from "../logger.js";
|
|
5
7
|
import { compressImage } from "../image/index.js";
|
|
6
8
|
import { compressPdf, countPages, extractPages, hasSourceText } from "../pdf/index.js";
|
|
7
|
-
import { fileTypeFromBuffer } from "file-type";
|
|
8
9
|
import { InputSource, INPUT_TYPE_STREAM, INPUT_TYPE_BASE64, INPUT_TYPE_BYTES, INPUT_TYPE_PATH, INPUT_TYPE_BUFFER } from "./inputSource.js";
|
|
9
10
|
export const MIMETYPES = new Map([
|
|
10
11
|
[".pdf", "application/pdf"],
|
|
@@ -29,9 +30,13 @@ export class LocalInputSource extends InputSource {
|
|
|
29
30
|
*/
|
|
30
31
|
constructor({ inputType }) {
|
|
31
32
|
super();
|
|
32
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Original filename associated with the input.
|
|
35
|
+
*/
|
|
33
36
|
this.filename = "";
|
|
34
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* MIME type detected for the source content.
|
|
39
|
+
*/
|
|
35
40
|
this.mimeType = "";
|
|
36
41
|
// Check if inputType is valid
|
|
37
42
|
if (!ALLOWED_INPUT_TYPES.includes(inputType)) {
|
|
@@ -41,7 +46,9 @@ export class LocalInputSource extends InputSource {
|
|
|
41
46
|
this.inputType = inputType;
|
|
42
47
|
logger.debug(`Initialized local input source of type: ${inputType}`);
|
|
43
48
|
}
|
|
44
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Detects and validates the MIME type from the current file object.
|
|
51
|
+
*/
|
|
45
52
|
async checkMimetype() {
|
|
46
53
|
if (!(this.fileObject instanceof Buffer)) {
|
|
47
54
|
throw new MindeeInputSourceError(`MIME type cannot be verified on input source of type ${this.inputType}.`);
|
|
@@ -10,7 +10,9 @@ export interface PageOptions {
|
|
|
10
10
|
* [0, -1] represents the first and last pages of the document.
|
|
11
11
|
*/
|
|
12
12
|
pageIndexes: number[];
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Operation to apply on the document, given the `pageIndexes` specified.
|
|
15
|
+
*/
|
|
14
16
|
operation: PageOptionsOperation;
|
|
15
17
|
/**
|
|
16
18
|
* Apply the operation only if the document has at least this many pages.
|
|
@@ -21,8 +23,12 @@ export interface PageOptions {
|
|
|
21
23
|
* Operation to apply on the document, given the page indexes specified.
|
|
22
24
|
*/
|
|
23
25
|
export declare enum PageOptionsOperation {
|
|
24
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Only keep pages matching the provided indexes.
|
|
28
|
+
*/
|
|
25
29
|
KeepOnly = "KEEP_ONLY",
|
|
26
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Remove pages matching the provided indexes.
|
|
32
|
+
*/
|
|
27
33
|
Remove = "REMOVE"
|
|
28
34
|
}
|
package/src/input/pageOptions.js
CHANGED
|
@@ -4,8 +4,12 @@
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
5
5
|
export var PageOptionsOperation;
|
|
6
6
|
(function (PageOptionsOperation) {
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Only keep pages matching the provided indexes.
|
|
9
|
+
*/
|
|
8
10
|
PageOptionsOperation["KeepOnly"] = "KEEP_ONLY";
|
|
9
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Remove pages matching the provided indexes.
|
|
13
|
+
*/
|
|
10
14
|
PageOptionsOperation["Remove"] = "REMOVE";
|
|
11
15
|
})(PageOptionsOperation || (PageOptionsOperation = {}));
|
package/src/input/pathInput.d.ts
CHANGED
|
@@ -2,14 +2,22 @@ import { LocalInputSource } from "./localInputSource.js";
|
|
|
2
2
|
interface PathInputProps {
|
|
3
3
|
inputPath: string;
|
|
4
4
|
}
|
|
5
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* Local input source that reads a file from disk by path.
|
|
7
|
+
*/
|
|
6
8
|
export declare class PathInput extends LocalInputSource {
|
|
7
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Path used to read the local file.
|
|
11
|
+
*/
|
|
8
12
|
readonly inputPath: string;
|
|
9
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* File content loaded from disk.
|
|
15
|
+
*/
|
|
10
16
|
fileObject: Buffer;
|
|
11
17
|
constructor({ inputPath }: PathInputProps);
|
|
12
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Reads the file from disk and validates MIME type.
|
|
20
|
+
*/
|
|
13
21
|
init(): Promise<void>;
|
|
14
22
|
}
|
|
15
23
|
export {};
|
package/src/input/pathInput.js
CHANGED
|
@@ -1,20 +1,26 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { promises as fs } from "node:fs";
|
|
1
3
|
import { INPUT_TYPE_PATH } from "./inputSource.js";
|
|
2
4
|
import { LocalInputSource } from "./localInputSource.js";
|
|
3
|
-
import path from "path";
|
|
4
5
|
import { logger } from "../logger.js";
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Local input source that reads a file from disk by path.
|
|
8
|
+
*/
|
|
7
9
|
export class PathInput extends LocalInputSource {
|
|
8
10
|
constructor({ inputPath }) {
|
|
9
11
|
super({
|
|
10
12
|
inputType: INPUT_TYPE_PATH,
|
|
11
13
|
});
|
|
12
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* File content loaded from disk.
|
|
16
|
+
*/
|
|
13
17
|
this.fileObject = Buffer.alloc(0);
|
|
14
18
|
this.inputPath = inputPath;
|
|
15
19
|
this.filename = path.basename(this.inputPath);
|
|
16
20
|
}
|
|
17
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Reads the file from disk and validates MIME type.
|
|
23
|
+
*/
|
|
18
24
|
async init() {
|
|
19
25
|
if (this.initialized) {
|
|
20
26
|
return;
|
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
2
|
+
import { Readable } from "node:stream";
|
|
2
3
|
import { LocalInputSource } from "./localInputSource.js";
|
|
3
4
|
interface StreamInputProps {
|
|
4
5
|
inputStream: Readable;
|
|
5
6
|
filename: string;
|
|
6
7
|
}
|
|
7
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Local input source backed by a readable stream.
|
|
10
|
+
*/
|
|
8
11
|
export declare class StreamInput extends LocalInputSource {
|
|
9
12
|
private readonly inputStream;
|
|
10
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Buffered payload created from the stream.
|
|
15
|
+
*/
|
|
11
16
|
fileObject: Buffer;
|
|
12
17
|
constructor({ inputStream, filename }: StreamInputProps);
|
|
13
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Reads the stream to completion and validates MIME type.
|
|
20
|
+
*/
|
|
14
21
|
init(): Promise<void>;
|
|
15
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Converts a readable stream into a single buffer.
|
|
24
|
+
*/
|
|
16
25
|
stream2buffer(stream: Readable, signal?: AbortSignal): Promise<Buffer>;
|
|
17
26
|
}
|
|
18
27
|
export {};
|
package/src/input/streamInput.js
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
1
2
|
import { LocalInputSource } from "./localInputSource.js";
|
|
2
3
|
import { INPUT_TYPE_STREAM } from "./inputSource.js";
|
|
3
4
|
import { logger } from "../logger.js";
|
|
4
5
|
import { MindeeInputSourceError } from "../errors/index.js";
|
|
5
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Local input source backed by a readable stream.
|
|
8
|
+
*/
|
|
6
9
|
export class StreamInput extends LocalInputSource {
|
|
7
10
|
constructor({ inputStream, filename }) {
|
|
8
11
|
super({
|
|
9
12
|
inputType: INPUT_TYPE_STREAM,
|
|
10
13
|
});
|
|
11
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Buffered payload created from the stream.
|
|
16
|
+
*/
|
|
12
17
|
this.fileObject = Buffer.alloc(0);
|
|
13
18
|
this.filename = filename;
|
|
14
19
|
this.inputStream = inputStream;
|
|
15
20
|
}
|
|
16
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Reads the stream to completion and validates MIME type.
|
|
23
|
+
*/
|
|
17
24
|
async init() {
|
|
18
25
|
if (this.initialized) {
|
|
19
26
|
return;
|
|
@@ -23,7 +30,9 @@ export class StreamInput extends LocalInputSource {
|
|
|
23
30
|
this.mimeType = await this.checkMimetype();
|
|
24
31
|
this.initialized = true;
|
|
25
32
|
}
|
|
26
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Converts a readable stream into a single buffer.
|
|
35
|
+
*/
|
|
27
36
|
async stream2buffer(stream, signal) {
|
|
28
37
|
return new Promise((resolve, reject) => {
|
|
29
38
|
if (stream.closed || stream.destroyed) {
|
package/src/input/urlInput.d.ts
CHANGED
|
@@ -1,24 +1,34 @@
|
|
|
1
|
-
import { InputSource } from "./inputSource.js";
|
|
2
1
|
import { Dispatcher } from "undici";
|
|
2
|
+
import { InputSource } from "./inputSource.js";
|
|
3
3
|
import { BytesInput } from "./bytesInput.js";
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Remote input source represented by a validated HTTPS URL.
|
|
6
|
+
*/
|
|
5
7
|
export declare class UrlInput extends InputSource {
|
|
6
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* HTTPS URL of the remote input file.
|
|
10
|
+
*/
|
|
7
11
|
readonly url: string;
|
|
8
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Dispatcher used for HTTP requests.
|
|
14
|
+
*/
|
|
9
15
|
readonly dispatcher: Dispatcher;
|
|
10
16
|
constructor({ url, dispatcher }: {
|
|
11
17
|
url: string;
|
|
12
18
|
dispatcher?: Dispatcher;
|
|
13
19
|
});
|
|
14
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Initializes this source by validating and storing the URL.
|
|
22
|
+
*/
|
|
15
23
|
init(): Promise<void>;
|
|
16
24
|
/**
|
|
17
25
|
* Validates that a URL is safe to fetch: scheme must be https.
|
|
18
26
|
*/
|
|
19
27
|
static validateUrl(url: string): void;
|
|
20
28
|
private fetchFileContent;
|
|
21
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Downloads the URL content and writes it to disk.
|
|
31
|
+
*/
|
|
22
32
|
saveToFile(options: {
|
|
23
33
|
filepath: string;
|
|
24
34
|
filename?: string;
|
|
@@ -28,7 +38,9 @@ export declare class UrlInput extends InputSource {
|
|
|
28
38
|
headers?: Record<string, string>;
|
|
29
39
|
maxRedirects?: number;
|
|
30
40
|
}): Promise<string>;
|
|
31
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Downloads the URL content and returns it as a local bytes source.
|
|
43
|
+
*/
|
|
32
44
|
asLocalInputSource(options?: {
|
|
33
45
|
filename?: string;
|
|
34
46
|
username?: string;
|