UNPKG

@emergentmethods/asknews-typescript-sdk

Version:
198 lines (169 loc) 8.63 kB
/* tslint:disable */ /* eslint-disable */ /** * AskNews API * AskNews API [![status](https://status.asknews.app/api/badge/2/status?style=for-the-badge)](https://status.asknews.app/status/prod) * * The version of the OpenAPI document: 0.24.66 * Contact: contact@emergentmethods.ai * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { AbcAPIErrorModel29, AbcAPIErrorModel30, AbcAPIErrorModel31, AbcAPIErrorModel32, AbcAPIErrorModel33, AbcAPIErrorModel34, AbcAPIErrorModel35, AbcAPIErrorModel36, AsknewsApiErrorsAPIErrorModel, CreateChatCompletionRequest, CreateChatCompletionResponse1, CreateChatCompletionResponseStream1, CreateDeepNewsRequest, CreateDeepNewsResponse1, DeepNews200Response, ListDeepNewsModelResponse, ValidationErrorModel, } from '../models/index'; import { AbcAPIErrorModel29FromJSON, AbcAPIErrorModel29ToJSON, AbcAPIErrorModel30FromJSON, AbcAPIErrorModel30ToJSON, AbcAPIErrorModel31FromJSON, AbcAPIErrorModel31ToJSON, AbcAPIErrorModel32FromJSON, AbcAPIErrorModel32ToJSON, AbcAPIErrorModel33FromJSON, AbcAPIErrorModel33ToJSON, AbcAPIErrorModel34FromJSON, AbcAPIErrorModel34ToJSON, AbcAPIErrorModel35FromJSON, AbcAPIErrorModel35ToJSON, AbcAPIErrorModel36FromJSON, AbcAPIErrorModel36ToJSON, AsknewsApiErrorsAPIErrorModelFromJSON, AsknewsApiErrorsAPIErrorModelToJSON, CreateChatCompletionRequestFromJSON, CreateChatCompletionRequestToJSON, CreateChatCompletionResponse1FromJSON, CreateChatCompletionResponse1ToJSON, CreateChatCompletionResponseStream1FromJSON, CreateChatCompletionResponseStream1ToJSON, CreateDeepNewsRequestFromJSON, CreateDeepNewsRequestToJSON, CreateDeepNewsResponse1FromJSON, CreateDeepNewsResponse1ToJSON, DeepNews200ResponseFromJSON, DeepNews200ResponseToJSON, ListDeepNewsModelResponseFromJSON, ListDeepNewsModelResponseToJSON, ValidationErrorModelFromJSON, ValidationErrorModelToJSON, } from '../models/index'; export interface DeepNewsRequest { createDeepNewsRequest: CreateDeepNewsRequest; } export interface GetChatCompletionsRequest { createChatCompletionRequest: CreateChatCompletionRequest; } /** * */ export class ChatApi extends runtime.BaseAPI { /** * Deep research into real-time news, archive news, and Google. */ async deepNewsRaw(requestParameters: DeepNewsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateDeepNewsResponse1> | runtime.StreamApiResponse> { if (requestParameters['createDeepNewsRequest'] == null) { throw new runtime.RequiredError( 'createDeepNewsRequest', 'Required parameter "createDeepNewsRequest" was null or undefined when calling deepNews().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; const response = await this.request({ path: `/v1/chat/deepnews`, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateDeepNewsRequestToJSON(requestParameters['createDeepNewsRequest']), }, initOverrides); if ('createDeepNewsRequest' in requestParameters && requestParameters['createDeepNewsRequest'] != null && 'stream' in requestParameters['createDeepNewsRequest'] && requestParameters['createDeepNewsRequest']['stream'] === true) { return new runtime.StreamApiResponse(response); } return new runtime.JSONApiResponse(response, (jsonValue) => CreateDeepNewsResponse1FromJSON(jsonValue)); } /** * Deep research into real-time news, archive news, and Google. */ async deepNews(requestParameters: DeepNewsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateDeepNewsResponse1 | ReadableStream<any>> { const response = await this.deepNewsRaw(requestParameters, initOverrides); return await response.value(); } /** * Get the chat completions for a given user message. This endpoint follows the OpenAI API spec. It includes a couple extra params, which include: - **journalist_mode**: Whether to activate an auto prompt that is more keen on AP styling, citations, and fair reporting. Setting to false, you get a vanilla LLM with the news pre added to the system prompt. No other prompting. - **inline_citations**: Decides how you want the bot to cite sources. It can use brackets, or it can also include the markdown with URL automatically. - **asknews_watermark**: Whether to include the AskNews watermark in the response. * Get chat completions from a news-infused AI assistant */ async getChatCompletionsRaw(requestParameters: GetChatCompletionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateChatCompletionResponse1> | runtime.StreamApiResponse> { if (requestParameters['createChatCompletionRequest'] == null) { throw new runtime.RequiredError( 'createChatCompletionRequest', 'Required parameter "createChatCompletionRequest" was null or undefined when calling getChatCompletions().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; const response = await this.request({ path: `/v1/openai/chat/completions`, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateChatCompletionRequestToJSON(requestParameters['createChatCompletionRequest']), }, initOverrides); if ('createChatCompletionRequest' in requestParameters && requestParameters['createChatCompletionRequest'] != null && 'stream' in requestParameters['createChatCompletionRequest'] && requestParameters['createChatCompletionRequest']['stream'] === true) { return new runtime.StreamApiResponse(response); } return new runtime.JSONApiResponse(response, (jsonValue) => CreateChatCompletionResponse1FromJSON(jsonValue)); } /** * Get the chat completions for a given user message. This endpoint follows the OpenAI API spec. It includes a couple extra params, which include: - **journalist_mode**: Whether to activate an auto prompt that is more keen on AP styling, citations, and fair reporting. Setting to false, you get a vanilla LLM with the news pre added to the system prompt. No other prompting. - **inline_citations**: Decides how you want the bot to cite sources. It can use brackets, or it can also include the markdown with URL automatically. - **asknews_watermark**: Whether to include the AskNews watermark in the response. * Get chat completions from a news-infused AI assistant */ async getChatCompletions(requestParameters: GetChatCompletionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateChatCompletionResponse1 | ReadableStream<any>> { const response = await this.getChatCompletionsRaw(requestParameters, initOverrides); return await response.value(); } /** * List the available DeepNews models with their type (rich/fast). * List available DeepNews models */ async listDeepnewsModelsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListDeepNewsModelResponse> > { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; const response = await this.request({ path: `/v1/chat/deepnews-models`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ListDeepNewsModelResponseFromJSON(jsonValue)); } /** * List the available DeepNews models with their type (rich/fast). * List available DeepNews models */ async listDeepnewsModels(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListDeepNewsModelResponse> { const response = await this.listDeepnewsModelsRaw(initOverrides); return await response.value(); } }