laserninja opened a new pull request, #13768: URL: https://github.com/apache/gravitino/pull/13768
### What changes were proposed in this pull request? Add Semantic Model create/update request envelopes, the model response envelope, and server-error mapping for the Python client. Reuse the semantic JSON serializer so nested decimal values remain exact JSON numbers through REST envelopes. This is the first part of #12860. Catalog operations and relational catalog wiring remain in #12860. ### Why are the changes needed? The catalog operations need validated REST envelopes and error mapping built on the API and DTO support already merged in #12858 and #12859. Part of #12614. ### Does this PR introduce _any_ user-facing change? No new catalog operations. This adds internal request/response types and error handling. ### How was this patch tested? Standalone tests cover all update wire shapes, invalid envelopes, and lossless definition serialization through create, replace-definition, and response envelopes. Existing tests cover Semantic Model error mapping. The decimal regressions failed before connecting the envelopes to SemanticJsonMixin and pass afterward. The standalone full Python unit suite passes: 1,193 tests. Black and Pylint pass. Run from `clients/client-python`: ```sh python -m pytest tests/unittests -q --tb=short ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
