26 lines
1.1 KiB
Swift
26 lines
1.1 KiB
Swift
import Foundation
|
|
|
|
protocol SybilAPIClienting: Sendable {
|
|
func verifySession() async throws -> AuthSession
|
|
func listChats() async throws -> [ChatSummary]
|
|
func createChat(title: String?) async throws -> ChatSummary
|
|
func getChat(chatID: String) async throws -> ChatDetail
|
|
func deleteChat(chatID: String) async throws
|
|
func suggestChatTitle(chatID: String, content: String) async throws -> ChatSummary
|
|
func listSearches() async throws -> [SearchSummary]
|
|
func createSearch(title: String?, query: String?) async throws -> SearchSummary
|
|
func getSearch(searchID: String) async throws -> SearchDetail
|
|
func createChatFromSearch(searchID: String, title: String?) async throws -> ChatSummary
|
|
func deleteSearch(searchID: String) async throws
|
|
func listModels() async throws -> ModelCatalogResponse
|
|
func runCompletionStream(
|
|
body: CompletionStreamRequest,
|
|
onEvent: @escaping @Sendable (CompletionStreamEvent) async -> Void
|
|
) async throws
|
|
func runSearchStream(
|
|
searchID: String,
|
|
body: SearchRunRequest,
|
|
onEvent: @escaping @Sendable (SearchStreamEvent) async -> Void
|
|
) async throws
|
|
}
|