Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[FormRecognier] initial merge (#7996)
* Add initial files for FormRecognizer * Add autorest generated files * Adding more source files * Add configuration files * Add shim.d.ts * Fix typo * Add folders for test and api review file * upgrade to typescript 3.7.5 * Remove extra comma * format source files * Export the FormRecognizerApiKeyCredential type * Add a basic JS sample * Change version to 2.0.0-preview.1 * Rename FormRecognizerApiKeyCredential to CognitiveKeyCredential * Initial LRO implementation for StartTrainning * Improving LRO for training - add trainModel.js example * Re-generate code using swagger json with some fix and autorest-beta * Fix trainCustomModel the service expects full object shape * Add analyzeReceipt() and getAnalyzeReceiptResult() * Hack around the autorest issue where it doesn't support multiple input content-types * minor cleanup * Avoid exposing trainCustomModelInternal() * Add analyze layout functions and a sample * Clean up/formatting/etc. * Add analyze form sample * Rename analyze to extract * fix samples after renaming * Remove browser minification * Rename to remove `Result` suffix * Remove browser bundle from pack file list * Add tracing test * Fix options * Add util from cognitive-search * Add types specific to receipt analysis. * Add a AnalyzeReceiptResultResponse type that has the shape of AnalyzeReceiptOperationResult plus HttpResponse. Its _response is still the original response. * Rework public types for receipt result. * Remove `fields` and prompt its properties up Also add raw receipt fields to result * Add paged async iterator to list custom models * Enable Item.Quantity and add null coalesing * Move receipt and layout into FormRecognizerClient * Add field and datatable types * [wip] create two clients for layout and receipt use the new PageResult type and added incomplete transformation * [wip] rework some model types * Add LRO poller for analyzing receipt. * Use response type union for now * Update sample to use LRO poller * - Add LRO for custom and layout - Add tip - Add missing common field value for receipt item field. * Update to core-paging 1.1.0 * Return models with type discriminated union * Genericize analyze LRO poller * Fix ae-forgotten-export warnings * Tweak exports * export public portion of the poller operation options * Fix while condition * Add typescript samples * Add Price to receipt item field and fix javascript samples * Use hand-defined AnalyzeFormResult as response.analyzeResults fix custom form analysis * Tweak samples - move typescript samples further down into src/ folder - update extractForm.js sample * Fix some models Make listModelsAll() private * Fix receipt model to use hand-crafted type definition * Use hand-crafted type definition for trained models * Upgrade to @azure/identity 1.1.0-preview1 and move it to devDependencies * Separate training and training with labels * Remove unnecessary constraints * Add page number to TextElement * Remove model `kind` since we now have two distinct types Always pass `includeKeys: true` because the service doesn't have a use for `false` case * Add two separate methods to extract form for models trained with labels v.s. without labels * Update api.md * Rename TextElement => ExtractedElement Define user-friendly FormRecognizerRequestBody type * Rename properties remove ICanHazStatus * Make extract options optional * Transform readResults and pageResults from original response * Move transform methods to a separate file * Rename refactoring - remove "Custom" from "CustomForm" - rename "Start" in LRO operatations to "Begin" - rename "Analyze" to "Extract" - rename "Form" to "Forms" and "Receipt" to "Receipts" in extract methods Also added `containingLine` to TextWord` * Rename files formRecognizerClient.ts => recognizerClient.ts customRecognizerClient.ts => formRecognizerClient.ts * Adapt to rename * Add transform for fields Format source code files * Fix typing for array and object fields they are container types and don't have common filed values * passing `body` to sendOperationRequest Fix JS samples * Apply same code coverage fix * Add discriminated union `kind` for extracted elements * Align with monorepo conventions * Remove unnecessary checks * Rename valueXxx fields to all be value * Fix pageNumber issue where it is not passed to toTextLine() * Use ?. operator * Remove the hacky workaround in core-http to set request body * Work around codegen issue with hand-crafted operation specs Fix model retrieval moethods Update samples * Fix option passing for training * remove unused file * Add README.md * Enable code-gen using v3 and dev version of typescript plugin * Rename refactoring to be closer to other langauges * Re-generate using the v6 typescript generator * Fix generated code * Fix json case * update api.md * Remove the grouping of results under analyzeResult * Fix json case * Remove usage of Omit<T> * Add ref docs for models * Re-generate after the mapper fix * Add more ref docs * Rename CognitiveKeyCredential to FormRecognizerApiKeyCredential * Rename extractReceipt => beginExtractReceipt stop exporting internal poller clients * Add ref docs for from client * Rename extractLayout to beginExtractLayout Add more ref docs * Add ref doc for receipt * Add train model sample code into README * Change version to 1.0.0-preview.1 * Add unit tests for conversions from original response * Add unit tests for toFieldValue() * Add unit test for toTable() transform * Re-generate after patches to swagger json * Adapt the mocha-multi reporter change from master * Improve code snippets in README * Remove TokenCredential from preview.1 * Add check for receipt's docType * Change analyze polling interval to 5 seconds * Add getContentType() to identify supported content types * Address doc review feedback Fixes #8125 * Remove more mentioning of AAD * Add supported content types to parameter ref doc * Cache readable stream to buffer up to 50 MB. Add input content type detection Add tests * Remove .only * Use Point2D[] for bounding boxes. * Move training and model management to FormTrainingClient * Move layout and receipt recognition back to FormRecognizerClient * Rename refactoring - Extract => Recognize - Extracted => Recognized or Form - field.name => field.fieldLabel * Fix build
- Loading branch information