#![allow(
clippy::too_many_arguments,
clippy::doc_markdown,
clippy::wildcard_imports
)]
use crate::error::{Error, Result};
use crate::generated::*;
#[derive(Debug)]
pub struct Client {
inner: crate::Client,
runtime: tokio::runtime::Runtime,
}
impl Client {
pub fn new(base: impl Into<String>) -> Result<Self> {
Self::from_async(crate::Client::new(base)?)
}
pub fn local() -> Result<Self> {
Self::from_async(crate::Client::local()?)
}
pub fn from_async(inner: crate::Client) -> Result<Self> {
let runtime = tokio::runtime::Builder::new_current_thread()
.enable_all()
.build()
.map_err(Error::Runtime)?;
Ok(Self { inner, runtime })
}
pub fn get_server_info(&self) -> Result<ServerInfo> {
self.runtime.block_on(self.inner.get_server_info())
}
pub fn get_health(&self) -> Result<GetHealthData> {
self.runtime.block_on(self.inner.get_health())
}
pub fn get_utcp_manual(&self) -> Result<UtcpManual> {
self.runtime.block_on(self.inner.get_utcp_manual())
}
pub fn setup_auth(&self, body: &SetupAuthRequest) -> Result<SetupAuthData> {
self.runtime.block_on(self.inner.setup_auth(body))
}
pub fn de_auth(&self) -> Result<DeAuthData> {
self.runtime.block_on(self.inner.de_auth())
}
pub fn re_auth(&self, body: &ReAuthRequest) -> Result<ReAuthData> {
self.runtime.block_on(self.inner.re_auth(body))
}
pub fn ask_question(&self, body: &AskRequest) -> Result<AskQuestionData> {
self.runtime.block_on(self.inner.ask_question(body))
}
pub fn list_notebooks(&self) -> Result<ListNotebooksData> {
self.runtime.block_on(self.inner.list_notebooks())
}
pub fn add_notebook(&self, body: &AddNotebookRequest) -> Result<AddNotebookData> {
self.runtime.block_on(self.inner.add_notebook(body))
}
pub fn list_notebooks_from_nblm(&self) -> Result<ListNotebooksFromNblmData> {
self.runtime.block_on(self.inner.list_notebooks_from_nblm())
}
pub fn import_scraped_notebooks(&self) -> Result<ImportScrapedNotebooksData> {
self.runtime.block_on(self.inner.import_scraped_notebooks())
}
pub fn auto_discover_notebook(
&self,
body: &AutoDiscoverNotebookRequest,
) -> Result<AutoDiscoverNotebookData> {
self.runtime
.block_on(self.inner.auto_discover_notebook(body))
}
pub fn search_notebooks(&self, query: &SearchNotebooksQuery) -> Result<SearchNotebooksData> {
self.runtime.block_on(self.inner.search_notebooks(query))
}
pub fn get_library_stats(&self) -> Result<GetLibraryStatsData> {
self.runtime.block_on(self.inner.get_library_stats())
}
pub fn delete_notebooks_from_nblm(
&self,
body: &DeleteNotebooksFromNblmRequest,
) -> Result<DeleteNotebooksFromNblmData> {
self.runtime
.block_on(self.inner.delete_notebooks_from_nblm(body))
}
pub fn get_notebook(&self, id: &str) -> Result<GetNotebookData> {
self.runtime.block_on(self.inner.get_notebook(id))
}
pub fn update_notebook(&self, id: &str) -> Result<UpdateNotebookData> {
self.runtime.block_on(self.inner.update_notebook(id))
}
pub fn remove_notebook(&self, id: &str) -> Result<RemoveNotebookData> {
self.runtime.block_on(self.inner.remove_notebook(id))
}
pub fn select_notebook(&self, id: &str) -> Result<SelectNotebookData> {
self.runtime.block_on(self.inner.select_notebook(id))
}
pub fn create_notebook(&self, body: &CreateNotebookRequest) -> Result<CreateNotebookData> {
self.runtime.block_on(self.inner.create_notebook(body))
}
pub fn list_sessions(&self) -> Result<ListSessionsData> {
self.runtime.block_on(self.inner.list_sessions())
}
pub fn close_session(&self, id: &str) -> Result<CloseSessionData> {
self.runtime.block_on(self.inner.close_session(id))
}
pub fn reset_session(&self, id: &str) -> Result<ResetSessionData> {
self.runtime.block_on(self.inner.reset_session(id))
}
pub fn add_source(&self, body: &AddSourceRequest) -> Result<AddSourceData> {
self.runtime.block_on(self.inner.add_source(body))
}
pub fn delete_source(&self, query: &DeleteSourceQuery) -> Result<DeleteSourceData> {
self.runtime.block_on(self.inner.delete_source(query))
}
pub fn delete_source_by_id(&self, id: &str) -> Result<DeleteSourceByIdData> {
self.runtime.block_on(self.inner.delete_source_by_id(id))
}
pub fn delete_content(
&self,
content_id: &str,
query: &DeleteContentQuery,
) -> Result<DeleteContentData> {
self.runtime
.block_on(self.inner.delete_content(content_id, query))
}
pub fn list_sources(&self, id: &str) -> Result<ListSourcesData> {
self.runtime.block_on(self.inner.list_sources(id))
}
pub fn read_source(
&self,
id: &str,
source_id: &str,
query: &ReadSourceQuery,
) -> Result<ReadSourceData> {
self.runtime
.block_on(self.inner.read_source(id, source_id, query))
}
pub fn rename_source(
&self,
id: &str,
source_id: &str,
body: &RenameSourceRequest,
) -> Result<RenameSourceData> {
self.runtime
.block_on(self.inner.rename_source(id, source_id, body))
}
pub fn get_source_guide(&self, id: &str, source_id: &str) -> Result<GetSourceGuideData> {
self.runtime
.block_on(self.inner.get_source_guide(id, source_id))
}
pub fn search_passages(
&self,
id: &str,
body: &SearchPassagesRequest,
) -> Result<SearchPassagesData> {
self.runtime.block_on(self.inner.search_passages(id, body))
}
pub fn get_notebook_summary(&self, id: &str) -> Result<GetNotebookSummaryData> {
self.runtime.block_on(self.inner.get_notebook_summary(id))
}
pub fn check_source_freshness(
&self,
id: &str,
query: &CheckSourceFreshnessQuery,
) -> Result<CheckSourceFreshnessData> {
self.runtime
.block_on(self.inner.check_source_freshness(id, query))
}
pub fn get_chat_history(
&self,
id: &str,
query: &GetChatHistoryQuery,
) -> Result<GetChatHistoryData> {
self.runtime
.block_on(self.inner.get_chat_history(id, query))
}
pub fn delete_chat_history(
&self,
id: &str,
query: &DeleteChatHistoryQuery,
) -> Result<DeleteChatHistoryData> {
self.runtime
.block_on(self.inner.delete_chat_history(id, query))
}
pub fn get_share_status(&self, id: &str) -> Result<GetShareStatusData> {
self.runtime.block_on(self.inner.get_share_status(id))
}
pub fn share_notebook(
&self,
id: &str,
body: &ShareNotebookRequest,
) -> Result<ShareNotebookData> {
self.runtime.block_on(self.inner.share_notebook(id, body))
}
pub fn retry_content(
&self,
artifact_id: &str,
body: &RetryContentRequest,
) -> Result<RetryContentData> {
self.runtime
.block_on(self.inner.retry_content(artifact_id, body))
}
pub fn export_artifact(
&self,
artifact_id: &str,
body: &ExportArtifactRequest,
) -> Result<ExportArtifactData> {
self.runtime
.block_on(self.inner.export_artifact(artifact_id, body))
}
pub fn revise_slide(
&self,
artifact_id: &str,
body: &ReviseSlideRequest,
) -> Result<ReviseSlideData> {
self.runtime
.block_on(self.inner.revise_slide(artifact_id, body))
}
pub fn list_labels(&self, id: &str) -> Result<ListLabelsData> {
self.runtime.block_on(self.inner.list_labels(id))
}
pub fn manage_labels(&self, id: &str, body: &ManageLabelsRequest) -> Result<ManageLabelsData> {
self.runtime.block_on(self.inner.manage_labels(id, body))
}
pub fn generate_study_aid(
&self,
body: &GenerateStudyAidRequest,
) -> Result<GenerateStudyAidData> {
self.runtime.block_on(self.inner.generate_study_aid(body))
}
pub fn generate_mind_map(&self, body: &GenerateMindMapRequest) -> Result<GenerateMindMapData> {
self.runtime.block_on(self.inner.generate_mind_map(body))
}
pub fn research_sources(&self, body: &ResearchSourcesRequest) -> Result<ResearchSourcesData> {
self.runtime.block_on(self.inner.research_sources(body))
}
pub fn generate_content(&self, body: &GenerateRequest) -> Result<GenerateContentData> {
self.runtime.block_on(self.inner.generate_content(body))
}
pub fn download_content(&self, query: &DownloadContentQuery) -> Result<DownloadContentData> {
self.runtime.block_on(self.inner.download_content(query))
}
pub fn list_content(&self) -> Result<ListContentData> {
self.runtime.block_on(self.inner.list_content())
}
pub fn create_note(&self) -> Result<CreateNoteData> {
self.runtime.block_on(self.inner.create_note())
}
pub fn save_chat_to_note(&self) -> Result<SaveChatToNoteData> {
self.runtime.block_on(self.inner.save_chat_to_note())
}
pub fn convert_note_to_source(&self, note_title: &str) -> Result<ConvertNoteToSourceData> {
self.runtime
.block_on(self.inner.convert_note_to_source(note_title))
}
pub fn batch_to_vault(&self, body: &BatchToVaultRequest) -> Result<BatchToVaultData> {
self.runtime.block_on(self.inner.batch_to_vault(body))
}
pub fn list_notes(&self, body: &ListNotesRequest) -> Result<ListNotesData> {
self.runtime.block_on(self.inner.list_notes(body))
}
pub fn get_note(&self, body: &GetNoteRequest) -> Result<GetNoteData> {
self.runtime.block_on(self.inner.get_note(body))
}
pub fn cleanup_data(&self, body: &CleanupDataRequest) -> Result<CleanupDataData> {
self.runtime.block_on(self.inner.cleanup_data(body))
}
}