mertalev hace 1 año
padre
commit
3c2265ecf4

+ 54 - 0
cli/src/api/open-api/api.ts

@@ -874,12 +874,30 @@ export interface BulkIdsDto {
  * @interface CLIPConfig
  */
 export interface CLIPConfig {
+    /**
+     * 
+     * @type {string}
+     * @memberof CLIPConfig
+     */
+    'embedding_id'?: string;
     /**
      * 
      * @type {boolean}
      * @memberof CLIPConfig
      */
     'enabled': boolean;
+    /**
+     * 
+     * @type {string}
+     * @memberof CLIPConfig
+     */
+    'index_name'?: string;
+    /**
+     * 
+     * @type {number}
+     * @memberof CLIPConfig
+     */
+    'k'?: number;
     /**
      * 
      * @type {CLIPMode}
@@ -1025,12 +1043,30 @@ export interface CheckExistingAssetsResponseDto {
  * @interface ClassificationConfig
  */
 export interface ClassificationConfig {
+    /**
+     * 
+     * @type {string}
+     * @memberof ClassificationConfig
+     */
+    'embedding_id'?: string;
     /**
      * 
      * @type {boolean}
      * @memberof ClassificationConfig
      */
     'enabled': boolean;
+    /**
+     * 
+     * @type {string}
+     * @memberof ClassificationConfig
+     */
+    'index_name'?: string;
+    /**
+     * 
+     * @type {number}
+     * @memberof ClassificationConfig
+     */
+    'k'?: number;
     /**
      * 
      * @type {number}
@@ -2140,12 +2176,30 @@ export interface QueueStatusDto {
  * @interface RecognitionConfig
  */
 export interface RecognitionConfig {
+    /**
+     * 
+     * @type {string}
+     * @memberof RecognitionConfig
+     */
+    'embedding_id'?: string;
     /**
      * 
      * @type {boolean}
      * @memberof RecognitionConfig
      */
     'enabled': boolean;
+    /**
+     * 
+     * @type {string}
+     * @memberof RecognitionConfig
+     */
+    'index_name'?: string;
+    /**
+     * 
+     * @type {number}
+     * @memberof RecognitionConfig
+     */
+    'k'?: number;
     /**
      * 
      * @type {number}

+ 3 - 0
mobile/openapi/doc/CLIPConfig.md

@@ -8,7 +8,10 @@ import 'package:openapi/api.dart';
 ## Properties
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
+**embeddingId** | **String** |  | [optional] 
 **enabled** | **bool** |  | 
+**indexName** | **String** |  | [optional] 
+**k** | **num** |  | [optional] 
 **mode** | [**CLIPMode**](CLIPMode.md) |  | [optional] 
 **modelName** | **String** |  | 
 **modelType** | [**ModelType**](ModelType.md) |  | [optional] 

+ 3 - 0
mobile/openapi/doc/ClassificationConfig.md

@@ -8,7 +8,10 @@ import 'package:openapi/api.dart';
 ## Properties
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
+**embeddingId** | **String** |  | [optional] 
 **enabled** | **bool** |  | 
+**indexName** | **String** |  | [optional] 
+**k** | **num** |  | [optional] 
 **minScore** | **int** |  | 
 **modelName** | **String** |  | 
 **modelType** | [**ModelType**](ModelType.md) |  | [optional] 

+ 3 - 0
mobile/openapi/doc/RecognitionConfig.md

@@ -8,7 +8,10 @@ import 'package:openapi/api.dart';
 ## Properties
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
+**embeddingId** | **String** |  | [optional] 
 **enabled** | **bool** |  | 
+**indexName** | **String** |  | [optional] 
+**k** | **num** |  | [optional] 
 **maxDistance** | **int** |  | 
 **minScore** | **int** |  | 
 **modelName** | **String** |  | 

+ 54 - 1
mobile/openapi/lib/model/classification_config.dart

@@ -13,14 +13,41 @@ part of openapi.api;
 class ClassificationConfig {
   /// Returns a new [ClassificationConfig] instance.
   ClassificationConfig({
+    this.embeddingId,
     required this.enabled,
+    this.indexName,
+    this.k,
     required this.minScore,
     required this.modelName,
     this.modelType,
   });
 
+  ///
+  /// Please note: This property should have been non-nullable! Since the specification file
+  /// does not include a default value (using the "default:" property), however, the generated
+  /// source code must fall back to having a nullable type.
+  /// Consider adding a "default:" property in the specification file to hide this note.
+  ///
+  String? embeddingId;
+
   bool enabled;
 
+  ///
+  /// Please note: This property should have been non-nullable! Since the specification file
+  /// does not include a default value (using the "default:" property), however, the generated
+  /// source code must fall back to having a nullable type.
+  /// Consider adding a "default:" property in the specification file to hide this note.
+  ///
+  String? indexName;
+
+  ///
+  /// Please note: This property should have been non-nullable! Since the specification file
+  /// does not include a default value (using the "default:" property), however, the generated
+  /// source code must fall back to having a nullable type.
+  /// Consider adding a "default:" property in the specification file to hide this note.
+  ///
+  num? k;
+
   int minScore;
 
   String modelName;
@@ -35,7 +62,10 @@ class ClassificationConfig {
 
   @override
   bool operator ==(Object other) => identical(this, other) || other is ClassificationConfig &&
+     other.embeddingId == embeddingId &&
      other.enabled == enabled &&
+     other.indexName == indexName &&
+     other.k == k &&
      other.minScore == minScore &&
      other.modelName == modelName &&
      other.modelType == modelType;
@@ -43,17 +73,35 @@ class ClassificationConfig {
   @override
   int get hashCode =>
     // ignore: unnecessary_parenthesis
+    (embeddingId == null ? 0 : embeddingId!.hashCode) +
     (enabled.hashCode) +
+    (indexName == null ? 0 : indexName!.hashCode) +
+    (k == null ? 0 : k!.hashCode) +
     (minScore.hashCode) +
     (modelName.hashCode) +
     (modelType == null ? 0 : modelType!.hashCode);
 
   @override
-  String toString() => 'ClassificationConfig[enabled=$enabled, minScore=$minScore, modelName=$modelName, modelType=$modelType]';
+  String toString() => 'ClassificationConfig[embeddingId=$embeddingId, enabled=$enabled, indexName=$indexName, k=$k, minScore=$minScore, modelName=$modelName, modelType=$modelType]';
 
   Map<String, dynamic> toJson() {
     final json = <String, dynamic>{};
+    if (this.embeddingId != null) {
+      json[r'embedding_id'] = this.embeddingId;
+    } else {
+    //  json[r'embedding_id'] = null;
+    }
       json[r'enabled'] = this.enabled;
+    if (this.indexName != null) {
+      json[r'index_name'] = this.indexName;
+    } else {
+    //  json[r'index_name'] = null;
+    }
+    if (this.k != null) {
+      json[r'k'] = this.k;
+    } else {
+    //  json[r'k'] = null;
+    }
       json[r'minScore'] = this.minScore;
       json[r'modelName'] = this.modelName;
     if (this.modelType != null) {
@@ -72,7 +120,12 @@ class ClassificationConfig {
       final json = value.cast<String, dynamic>();
 
       return ClassificationConfig(
+        embeddingId: mapValueOfType<String>(json, r'embedding_id'),
         enabled: mapValueOfType<bool>(json, r'enabled')!,
+        indexName: mapValueOfType<String>(json, r'index_name'),
+        k: json[r'k'] == null
+            ? null
+            : num.parse(json[r'k'].toString()),
         minScore: mapValueOfType<int>(json, r'minScore')!,
         modelName: mapValueOfType<String>(json, r'modelName')!,
         modelType: ModelType.fromJson(json[r'modelType']),

+ 54 - 1
mobile/openapi/lib/model/clip_config.dart

@@ -13,14 +13,41 @@ part of openapi.api;
 class CLIPConfig {
   /// Returns a new [CLIPConfig] instance.
   CLIPConfig({
+    this.embeddingId,
     required this.enabled,
+    this.indexName,
+    this.k,
     this.mode,
     required this.modelName,
     this.modelType,
   });
 
+  ///
+  /// Please note: This property should have been non-nullable! Since the specification file
+  /// does not include a default value (using the "default:" property), however, the generated
+  /// source code must fall back to having a nullable type.
+  /// Consider adding a "default:" property in the specification file to hide this note.
+  ///
+  String? embeddingId;
+
   bool enabled;
 
+  ///
+  /// Please note: This property should have been non-nullable! Since the specification file
+  /// does not include a default value (using the "default:" property), however, the generated
+  /// source code must fall back to having a nullable type.
+  /// Consider adding a "default:" property in the specification file to hide this note.
+  ///
+  String? indexName;
+
+  ///
+  /// Please note: This property should have been non-nullable! Since the specification file
+  /// does not include a default value (using the "default:" property), however, the generated
+  /// source code must fall back to having a nullable type.
+  /// Consider adding a "default:" property in the specification file to hide this note.
+  ///
+  num? k;
+
   ///
   /// Please note: This property should have been non-nullable! Since the specification file
   /// does not include a default value (using the "default:" property), however, the generated
@@ -41,7 +68,10 @@ class CLIPConfig {
 
   @override
   bool operator ==(Object other) => identical(this, other) || other is CLIPConfig &&
+     other.embeddingId == embeddingId &&
      other.enabled == enabled &&
+     other.indexName == indexName &&
+     other.k == k &&
      other.mode == mode &&
      other.modelName == modelName &&
      other.modelType == modelType;
@@ -49,17 +79,35 @@ class CLIPConfig {
   @override
   int get hashCode =>
     // ignore: unnecessary_parenthesis
+    (embeddingId == null ? 0 : embeddingId!.hashCode) +
     (enabled.hashCode) +
+    (indexName == null ? 0 : indexName!.hashCode) +
+    (k == null ? 0 : k!.hashCode) +
     (mode == null ? 0 : mode!.hashCode) +
     (modelName.hashCode) +
     (modelType == null ? 0 : modelType!.hashCode);
 
   @override
-  String toString() => 'CLIPConfig[enabled=$enabled, mode=$mode, modelName=$modelName, modelType=$modelType]';
+  String toString() => 'CLIPConfig[embeddingId=$embeddingId, enabled=$enabled, indexName=$indexName, k=$k, mode=$mode, modelName=$modelName, modelType=$modelType]';
 
   Map<String, dynamic> toJson() {
     final json = <String, dynamic>{};
+    if (this.embeddingId != null) {
+      json[r'embedding_id'] = this.embeddingId;
+    } else {
+    //  json[r'embedding_id'] = null;
+    }
       json[r'enabled'] = this.enabled;
+    if (this.indexName != null) {
+      json[r'index_name'] = this.indexName;
+    } else {
+    //  json[r'index_name'] = null;
+    }
+    if (this.k != null) {
+      json[r'k'] = this.k;
+    } else {
+    //  json[r'k'] = null;
+    }
     if (this.mode != null) {
       json[r'mode'] = this.mode;
     } else {
@@ -82,7 +130,12 @@ class CLIPConfig {
       final json = value.cast<String, dynamic>();
 
       return CLIPConfig(
+        embeddingId: mapValueOfType<String>(json, r'embedding_id'),
         enabled: mapValueOfType<bool>(json, r'enabled')!,
+        indexName: mapValueOfType<String>(json, r'index_name'),
+        k: json[r'k'] == null
+            ? null
+            : num.parse(json[r'k'].toString()),
         mode: CLIPMode.fromJson(json[r'mode']),
         modelName: mapValueOfType<String>(json, r'modelName')!,
         modelType: ModelType.fromJson(json[r'modelType']),

+ 54 - 1
mobile/openapi/lib/model/recognition_config.dart

@@ -13,15 +13,42 @@ part of openapi.api;
 class RecognitionConfig {
   /// Returns a new [RecognitionConfig] instance.
   RecognitionConfig({
+    this.embeddingId,
     required this.enabled,
+    this.indexName,
+    this.k,
     required this.maxDistance,
     required this.minScore,
     required this.modelName,
     this.modelType,
   });
 
+  ///
+  /// Please note: This property should have been non-nullable! Since the specification file
+  /// does not include a default value (using the "default:" property), however, the generated
+  /// source code must fall back to having a nullable type.
+  /// Consider adding a "default:" property in the specification file to hide this note.
+  ///
+  String? embeddingId;
+
   bool enabled;
 
+  ///
+  /// Please note: This property should have been non-nullable! Since the specification file
+  /// does not include a default value (using the "default:" property), however, the generated
+  /// source code must fall back to having a nullable type.
+  /// Consider adding a "default:" property in the specification file to hide this note.
+  ///
+  String? indexName;
+
+  ///
+  /// Please note: This property should have been non-nullable! Since the specification file
+  /// does not include a default value (using the "default:" property), however, the generated
+  /// source code must fall back to having a nullable type.
+  /// Consider adding a "default:" property in the specification file to hide this note.
+  ///
+  num? k;
+
   int maxDistance;
 
   int minScore;
@@ -38,7 +65,10 @@ class RecognitionConfig {
 
   @override
   bool operator ==(Object other) => identical(this, other) || other is RecognitionConfig &&
+     other.embeddingId == embeddingId &&
      other.enabled == enabled &&
+     other.indexName == indexName &&
+     other.k == k &&
      other.maxDistance == maxDistance &&
      other.minScore == minScore &&
      other.modelName == modelName &&
@@ -47,18 +77,36 @@ class RecognitionConfig {
   @override
   int get hashCode =>
     // ignore: unnecessary_parenthesis
+    (embeddingId == null ? 0 : embeddingId!.hashCode) +
     (enabled.hashCode) +
+    (indexName == null ? 0 : indexName!.hashCode) +
+    (k == null ? 0 : k!.hashCode) +
     (maxDistance.hashCode) +
     (minScore.hashCode) +
     (modelName.hashCode) +
     (modelType == null ? 0 : modelType!.hashCode);
 
   @override
-  String toString() => 'RecognitionConfig[enabled=$enabled, maxDistance=$maxDistance, minScore=$minScore, modelName=$modelName, modelType=$modelType]';
+  String toString() => 'RecognitionConfig[embeddingId=$embeddingId, enabled=$enabled, indexName=$indexName, k=$k, maxDistance=$maxDistance, minScore=$minScore, modelName=$modelName, modelType=$modelType]';
 
   Map<String, dynamic> toJson() {
     final json = <String, dynamic>{};
+    if (this.embeddingId != null) {
+      json[r'embedding_id'] = this.embeddingId;
+    } else {
+    //  json[r'embedding_id'] = null;
+    }
       json[r'enabled'] = this.enabled;
+    if (this.indexName != null) {
+      json[r'index_name'] = this.indexName;
+    } else {
+    //  json[r'index_name'] = null;
+    }
+    if (this.k != null) {
+      json[r'k'] = this.k;
+    } else {
+    //  json[r'k'] = null;
+    }
       json[r'maxDistance'] = this.maxDistance;
       json[r'minScore'] = this.minScore;
       json[r'modelName'] = this.modelName;
@@ -78,7 +126,12 @@ class RecognitionConfig {
       final json = value.cast<String, dynamic>();
 
       return RecognitionConfig(
+        embeddingId: mapValueOfType<String>(json, r'embedding_id'),
         enabled: mapValueOfType<bool>(json, r'enabled')!,
+        indexName: mapValueOfType<String>(json, r'index_name'),
+        k: json[r'k'] == null
+            ? null
+            : num.parse(json[r'k'].toString()),
         maxDistance: mapValueOfType<int>(json, r'maxDistance')!,
         minScore: mapValueOfType<int>(json, r'minScore')!,
         modelName: mapValueOfType<String>(json, r'modelName')!,

+ 15 - 0
mobile/openapi/test/classification_config_test.dart

@@ -16,11 +16,26 @@ void main() {
   // final instance = ClassificationConfig();
 
   group('test ClassificationConfig', () {
+    // String embeddingId
+    test('to test the property `embeddingId`', () async {
+      // TODO
+    });
+
     // bool enabled
     test('to test the property `enabled`', () async {
       // TODO
     });
 
+    // String indexName
+    test('to test the property `indexName`', () async {
+      // TODO
+    });
+
+    // num k
+    test('to test the property `k`', () async {
+      // TODO
+    });
+
     // int minScore
     test('to test the property `minScore`', () async {
       // TODO

+ 15 - 0
mobile/openapi/test/clip_config_test.dart

@@ -16,11 +16,26 @@ void main() {
   // final instance = CLIPConfig();
 
   group('test CLIPConfig', () {
+    // String embeddingId
+    test('to test the property `embeddingId`', () async {
+      // TODO
+    });
+
     // bool enabled
     test('to test the property `enabled`', () async {
       // TODO
     });
 
+    // String indexName
+    test('to test the property `indexName`', () async {
+      // TODO
+    });
+
+    // num k
+    test('to test the property `k`', () async {
+      // TODO
+    });
+
     // CLIPMode mode
     test('to test the property `mode`', () async {
       // TODO

+ 15 - 0
mobile/openapi/test/recognition_config_test.dart

@@ -16,11 +16,26 @@ void main() {
   // final instance = RecognitionConfig();
 
   group('test RecognitionConfig', () {
+    // String embeddingId
+    test('to test the property `embeddingId`', () async {
+      // TODO
+    });
+
     // bool enabled
     test('to test the property `enabled`', () async {
       // TODO
     });
 
+    // String indexName
+    test('to test the property `indexName`', () async {
+      // TODO
+    });
+
+    // num k
+    test('to test the property `k`', () async {
+      // TODO
+    });
+
     // int maxDistance
     test('to test the property `maxDistance`', () async {
       // TODO

+ 27 - 0
server/immich-openapi-specs.json

@@ -5412,9 +5412,18 @@
       },
       "CLIPConfig": {
         "properties": {
+          "embedding_id": {
+            "type": "string"
+          },
           "enabled": {
             "type": "boolean"
           },
+          "index_name": {
+            "type": "string"
+          },
+          "k": {
+            "type": "number"
+          },
           "mode": {
             "$ref": "#/components/schemas/CLIPMode"
           },
@@ -5526,9 +5535,18 @@
       },
       "ClassificationConfig": {
         "properties": {
+          "embedding_id": {
+            "type": "string"
+          },
           "enabled": {
             "type": "boolean"
           },
+          "index_name": {
+            "type": "string"
+          },
+          "k": {
+            "type": "number"
+          },
           "minScore": {
             "type": "integer"
           },
@@ -6465,9 +6483,18 @@
       },
       "RecognitionConfig": {
         "properties": {
+          "embedding_id": {
+            "type": "string"
+          },
           "enabled": {
             "type": "boolean"
           },
+          "index_name": {
+            "type": "string"
+          },
+          "k": {
+            "type": "number"
+          },
           "maxDistance": {
             "type": "integer"
           },

+ 54 - 0
web/src/api/open-api/api.ts

@@ -874,12 +874,30 @@ export interface BulkIdsDto {
  * @interface CLIPConfig
  */
 export interface CLIPConfig {
+    /**
+     * 
+     * @type {string}
+     * @memberof CLIPConfig
+     */
+    'embedding_id'?: string;
     /**
      * 
      * @type {boolean}
      * @memberof CLIPConfig
      */
     'enabled': boolean;
+    /**
+     * 
+     * @type {string}
+     * @memberof CLIPConfig
+     */
+    'index_name'?: string;
+    /**
+     * 
+     * @type {number}
+     * @memberof CLIPConfig
+     */
+    'k'?: number;
     /**
      * 
      * @type {CLIPMode}
@@ -1025,12 +1043,30 @@ export interface CheckExistingAssetsResponseDto {
  * @interface ClassificationConfig
  */
 export interface ClassificationConfig {
+    /**
+     * 
+     * @type {string}
+     * @memberof ClassificationConfig
+     */
+    'embedding_id'?: string;
     /**
      * 
      * @type {boolean}
      * @memberof ClassificationConfig
      */
     'enabled': boolean;
+    /**
+     * 
+     * @type {string}
+     * @memberof ClassificationConfig
+     */
+    'index_name'?: string;
+    /**
+     * 
+     * @type {number}
+     * @memberof ClassificationConfig
+     */
+    'k'?: number;
     /**
      * 
      * @type {number}
@@ -2140,12 +2176,30 @@ export interface QueueStatusDto {
  * @interface RecognitionConfig
  */
 export interface RecognitionConfig {
+    /**
+     * 
+     * @type {string}
+     * @memberof RecognitionConfig
+     */
+    'embedding_id'?: string;
     /**
      * 
      * @type {boolean}
      * @memberof RecognitionConfig
      */
     'enabled': boolean;
+    /**
+     * 
+     * @type {string}
+     * @memberof RecognitionConfig
+     */
+    'index_name'?: string;
+    /**
+     * 
+     * @type {number}
+     * @memberof RecognitionConfig
+     */
+    'k'?: number;
     /**
      * 
      * @type {number}