From aaee17bb537e379f7361a55238ba034770395dbf Mon Sep 17 00:00:00 2001 From: Francine Wright Date: Tue, 16 Jun 2026 00:41:41 +0000 Subject: [PATCH] Add minimal_compatible field to EdgeModelInfo and regenerate SDK. Updates the public API spec and generated client models to expose the minimal_compatible flag on edge model info responses. Co-authored-by: Cursor --- generated/.openapi-generator/FILES | 2 -- generated/docs/EdgeModelInfo.md | 1 + .../groundlight_openapi_client/api/image_queries_api.py | 2 +- .../groundlight_openapi_client/model/edge_model_info.py | 4 ++++ generated/model.py | 3 ++- package-lock.json | 9 +++++++-- spec/public-api.yaml | 3 +++ 7 files changed, 18 insertions(+), 6 deletions(-) diff --git a/generated/.openapi-generator/FILES b/generated/.openapi-generator/FILES index 302da6ed..27394696 100644 --- a/generated/.openapi-generator/FILES +++ b/generated/.openapi-generator/FILES @@ -172,6 +172,4 @@ setup.cfg setup.py test-requirements.txt test/__init__.py -test/test_detector_mode_enum.py -test/test_null_enum.py tox.ini diff --git a/generated/docs/EdgeModelInfo.md b/generated/docs/EdgeModelInfo.md index 3141373f..330f91f7 100644 --- a/generated/docs/EdgeModelInfo.md +++ b/generated/docs/EdgeModelInfo.md @@ -12,6 +12,7 @@ Name | Type | Description | Notes **pipeline_config** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] **oodd_pipeline_config** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] **predictor_metadata** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**minimal_compatible** | **bool** | | [optional] if omitted the server will use the default value of False **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generated/groundlight_openapi_client/api/image_queries_api.py b/generated/groundlight_openapi_client/api/image_queries_api.py index a687af18..03ad2600 100644 --- a/generated/groundlight_openapi_client/api/image_queries_api.py +++ b/generated/groundlight_openapi_client/api/image_queries_api.py @@ -425,7 +425,7 @@ def list_image_queries(self, **kwargs): def submit_image_query(self, detector_id, **kwargs): """submit_image_query # noqa: E501 - + Submit an image query against a detector. You must use `\"Content-Type: image/jpeg\"` or similar (image/png, image/webp, etc) for the image data. For example: ```Bash $ curl https://api.groundlight.ai/device-api/v1/image-queries?detector_id=det_abc123 \\ --header \"Content-Type: image/jpeg\" \\ --data-binary @path/to/filename.jpeg ``` # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True diff --git a/generated/groundlight_openapi_client/model/edge_model_info.py b/generated/groundlight_openapi_client/model/edge_model_info.py index 66826368..c8da646d 100644 --- a/generated/groundlight_openapi_client/model/edge_model_info.py +++ b/generated/groundlight_openapi_client/model/edge_model_info.py @@ -125,6 +125,7 @@ def openapi_types(): str, none_type, ), # noqa: E501 + "minimal_compatible": (bool,), # noqa: E501 } @cached_property @@ -139,6 +140,7 @@ def discriminator(): "pipeline_config": "pipeline_config", # noqa: E501 "oodd_pipeline_config": "oodd_pipeline_config", # noqa: E501 "predictor_metadata": "predictor_metadata", # noqa: E501 + "minimal_compatible": "minimal_compatible", # noqa: E501 } read_only_vars = {} @@ -188,6 +190,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 pipeline_config (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 oodd_pipeline_config (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 predictor_metadata (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + minimal_compatible (bool): [optional] if omitted the server will use the default value of False # noqa: E501 """ _check_type = kwargs.pop("_check_type", True) @@ -279,6 +282,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 pipeline_config (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 oodd_pipeline_config (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 predictor_metadata (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + minimal_compatible (bool): [optional] if omitted the server will use the default value of False # noqa: E501 """ _check_type = kwargs.pop("_check_type", True) diff --git a/generated/model.py b/generated/model.py index c9161ebd..a9c0f7f3 100644 --- a/generated/model.py +++ b/generated/model.py @@ -1,6 +1,6 @@ # generated by datamodel-codegen: # filename: public-api.yaml -# timestamp: 2026-05-05T17:57:16+00:00 +# timestamp: 2026-06-16T00:34:34+00:00 from __future__ import annotations @@ -107,6 +107,7 @@ class EdgeModelInfo(BaseModel): pipeline_config: Optional[Any] = None oodd_pipeline_config: Optional[Any] = None predictor_metadata: Optional[Any] = None + minimal_compatible: bool = False class ImageQueryTypeEnum(str, Enum): diff --git a/package-lock.json b/package-lock.json index c5bd438b..cbc8a40b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -99,6 +99,7 @@ "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.21.tgz", "integrity": "sha512-YV1HYDGsm2rnR0vrLKidtrG6jYX5yqiIjeur1j8++dKGqhhsJ6cjMs0RfQRSTUH7IjgDemA59/znQ8nRrE0D9g==", "license": "MIT", + "peer": true, "dependencies": { "file-type": "21.3.4", "iterare": "1.2.1", @@ -408,6 +409,7 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-1.17.0.tgz", "integrity": "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==", "license": "MIT", + "peer": true, "dependencies": { "follow-redirects": "^1.16.0", "form-data": "^4.0.5", @@ -2279,13 +2281,15 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/quickjs-wasi/-/quickjs-wasi-2.2.0.tgz", "integrity": "sha512-zQxXmQMrEoD3S+jQdYsloq4qAuaxKFHZj6hHqOYGwB2iQZH+q9e/lf5zQPXCKOk0WJuAjzRFbO4KwHIp2D05Iw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/reflect-metadata": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/rehype-katex": { "version": "7.0.1", @@ -2345,6 +2349,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "license": "Apache-2.0", + "peer": true, "dependencies": { "tslib": "^2.1.0" } diff --git a/spec/public-api.yaml b/spec/public-api.yaml index ba95ac16..494c1f2f 100644 --- a/spec/public-api.yaml +++ b/spec/public-api.yaml @@ -1311,6 +1311,9 @@ components: pipeline_config: {} oodd_pipeline_config: {} predictor_metadata: {} + minimal_compatible: + type: boolean + default: false ImageQuery: type: object description: ImageQuery objects are the answers to natural language questions