diff --git a/Sources/Ingestion/IngestionClient.swift b/Sources/Ingestion/IngestionClient.swift index 8f3cde62..17cb9e51 100644 --- a/Sources/Ingestion/IngestionClient.swift +++ b/Sources/Ingestion/IngestionClient.swift @@ -1149,6 +1149,54 @@ open class IngestionClient { ) } + /// - parameter generateTransformationCodePayload: (body) + /// - returns: GenerateTransformationCodeResponse + @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) + open func generateTransformationCode( + generateTransformationCodePayload: GenerateTransformationCodePayload, + requestOptions: RequestOptions? = nil + ) async throws -> GenerateTransformationCodeResponse { + let response: Response = try await generateTransformationCodeWithHTTPInfo( + generateTransformationCodePayload: generateTransformationCodePayload, + requestOptions: requestOptions + ) + + guard let body = response.body else { + throw AlgoliaError.missingData + } + + return body + } + + // Generates code for the selected model based on the given prompt. + // Required API Key ACLs: + // - addObject + // - deleteIndex + // - editSettings + // + // - parameter generateTransformationCodePayload: (body) + // - returns: RequestBuilder + + open func generateTransformationCodeWithHTTPInfo( + generateTransformationCodePayload: GenerateTransformationCodePayload, + requestOptions userRequestOptions: RequestOptions? = nil + ) async throws -> Response { + let resourcePath = "/1/transformations/models" + let body = generateTransformationCodePayload + let queryParameters: [String: Any?]? = nil + + let nillableHeaders: [String: Any?]? = nil + + let headers = APIHelper.rejectNilHeaders(nillableHeaders) + + return try await self.transporter.send( + method: "POST", + path: resourcePath, + data: body, + requestOptions: RequestOptions(headers: headers, queryParameters: queryParameters) + userRequestOptions + ) + } + /// - parameter authenticationID: (path) Unique identifier of an authentication resource. /// - returns: Authentication @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) @@ -2343,7 +2391,7 @@ open class IngestionClient { requestOptions userRequestOptions: RequestOptions? = nil ) async throws -> Response { - let resourcePath = "/1/transformations/copilot" + let resourcePath = "/1/transformations/models" let body: AnyCodable? = nil let queryParameters: [String: Any?]? = nil diff --git a/Sources/Ingestion/Models/GenerateTransformationCodePayload.swift b/Sources/Ingestion/Models/GenerateTransformationCodePayload.swift new file mode 100644 index 00000000..2db60292 --- /dev/null +++ b/Sources/Ingestion/Models/GenerateTransformationCodePayload.swift @@ -0,0 +1,50 @@ +// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on +// https://github.com/algolia/api-clients-automation. DO NOT EDIT. + +import Foundation +#if canImport(Core) + import Core +#endif + +public struct GenerateTransformationCodePayload: Codable, JSONEncodable { + public var id: String + public var systemPrompt: String? + public var userPrompt: String + + public init(id: String, systemPrompt: String? = nil, userPrompt: String) { + self.id = id + self.systemPrompt = systemPrompt + self.userPrompt = userPrompt + } + + public enum CodingKeys: String, CodingKey, CaseIterable { + case id + case systemPrompt + case userPrompt + } + + // Encodable protocol methods + + public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(self.id, forKey: .id) + try container.encodeIfPresent(self.systemPrompt, forKey: .systemPrompt) + try container.encode(self.userPrompt, forKey: .userPrompt) + } +} + +extension GenerateTransformationCodePayload: Equatable { + public static func ==(lhs: GenerateTransformationCodePayload, rhs: GenerateTransformationCodePayload) -> Bool { + lhs.id == rhs.id && + lhs.systemPrompt == rhs.systemPrompt && + lhs.userPrompt == rhs.userPrompt + } +} + +extension GenerateTransformationCodePayload: Hashable { + public func hash(into hasher: inout Hasher) { + hasher.combine(self.id.hashValue) + hasher.combine(self.systemPrompt?.hashValue) + hasher.combine(self.userPrompt.hashValue) + } +} diff --git a/Sources/Ingestion/Models/GenerateTransformationCodeResponse.swift b/Sources/Ingestion/Models/GenerateTransformationCodeResponse.swift new file mode 100644 index 00000000..6c2701c7 --- /dev/null +++ b/Sources/Ingestion/Models/GenerateTransformationCodeResponse.swift @@ -0,0 +1,38 @@ +// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on +// https://github.com/algolia/api-clients-automation. DO NOT EDIT. + +import Foundation +#if canImport(Core) + import Core +#endif + +public struct GenerateTransformationCodeResponse: Codable, JSONEncodable { + public var generatedCode: String? + + public init(generatedCode: String? = nil) { + self.generatedCode = generatedCode + } + + public enum CodingKeys: String, CodingKey, CaseIterable { + case generatedCode + } + + // Encodable protocol methods + + public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encodeIfPresent(self.generatedCode, forKey: .generatedCode) + } +} + +extension GenerateTransformationCodeResponse: Equatable { + public static func ==(lhs: GenerateTransformationCodeResponse, rhs: GenerateTransformationCodeResponse) -> Bool { + lhs.generatedCode == rhs.generatedCode + } +} + +extension GenerateTransformationCodeResponse: Hashable { + public func hash(into hasher: inout Hasher) { + hasher.combine(self.generatedCode?.hashValue) + } +}