diff --git a/src/apis/index.ts b/src/apis/index.ts index 92b00e0..009d6c9 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -21,3 +21,4 @@ export { VectorStores } from './vectorStores'; export { BetaChat } from './betaChat'; export { Uploads } from './uploads'; export { ApiKeys } from './apiKeys'; +export { Logs } from './logsExport'; diff --git a/src/apis/logsExport.ts b/src/apis/logsExport.ts new file mode 100644 index 0000000..c4a4078 --- /dev/null +++ b/src/apis/logsExport.ts @@ -0,0 +1,228 @@ +import { ApiResource } from '../apiResource'; +import { APIResponseType, ApiClientInterface } from '../_types/generalTypes'; +import { APIPromise, RequestOptions } from '../baseClient'; +import { createHeaders } from './createHeaders'; +import { toQueryParams } from '../utils'; + +export interface LogsExportCreateParams { + filters?: Record; + workspaceId?: string; + description?: string; + requestedData?: string[]; +} +export interface LogsExportCreateResponse extends APIResponseType { + id?: string; + total?: number; + object?: string; +} +export interface LogsExportListParams { + workspaceId?: string; +} +export interface LogsExportListResponse extends APIResponseType { + object?: string; + total?: number; + data?: Record[]; +} +export interface LogsExportUpdateParams { + exportId?: string; + workspaceId?: string; + filters?: Record; + requestedData?: string[]; +} +export interface LogsExportUpdateResponse extends APIResponseType { + id?: string; + total?: number; + object?: string; +} +export interface LogsExportCancelParams { + exportId?: string; +} +export interface LogsExportCancelResponse extends APIResponseType { + message?: string; + object?: string; +} +export interface LogsExportRetrieveParams { + exportId: string; +} +export interface LogsExportRetrieveResponse extends APIResponseType { + id?: string; + organisation_id?: string; + filters?: Record; + requested_data?: string[]; + status?: string; + description?: string; + created_at?: Date; + last_updated_at?: Date; + created_by?: string; + workspace_id?: string; + total_records?: number; + object?: string; +} +export interface LogsExportStartParams { + exportId?: string; +} +export interface LogsExportStartResponse extends APIResponseType { + message?: string; + object?: string; +} +export interface LogsExportDownloadParams { + exportId?: string; +} +export interface LogsExportDownloadResponse extends APIResponseType { + signed_url?: string; +} +export class Logs extends ApiResource { + exports: Exports; + constructor(client: any) { + super(client); + this.exports = new Exports(client); + } +} +export class Exports extends ApiResource { + create( + _body: LogsExportCreateParams, + params?: ApiClientInterface, + opts?: RequestOptions + ): APIPromise { + const { workspaceId, requestedData, ...rest } = _body; + const body = { + ...rest, + workspace_id: workspaceId, + requested_data: requestedData, + }; + if (params) { + this.client.customHeaders = { + ...this.client.customHeaders, + ...createHeaders({ ...params }), + }; + } + const response = this.post('/logs/exports', { + body, + ...opts, + }); + return response; + } + retrieve( + _body: LogsExportRetrieveParams, + params?: ApiClientInterface, + opts?: RequestOptions + ): APIPromise { + const body = _body; + const exportId = body.exportId; + if (params) { + this.client.customHeaders = { + ...this.client.customHeaders, + ...createHeaders({ ...params }), + }; + } + const response = this.getMethod( + `/logs/exports/${exportId}`, + { ...opts } + ); + return response; + } + list( + _body: LogsExportListParams, + params?: ApiClientInterface, + opts?: RequestOptions + ): APIPromise { + const { workspaceId, ...rest } = _body; + const body = { + ...rest, + workspace_id: workspaceId, + }; + const query = toQueryParams(body); + if (params) { + this.client.customHeaders = { + ...this.client.customHeaders, + ...createHeaders({ ...params }), + }; + } + const response = this.getMethod( + `/logs/exports${query}`, + { ...opts } + ); + return response; + } + update( + _body: LogsExportUpdateParams, + params?: ApiClientInterface, + opts?: RequestOptions + ): APIPromise { + const { workspaceId, requestedData, ...rest } = _body; + const body = { + ...rest, + workspace_id: workspaceId, + requested_data: requestedData, + }; + const exportId = body.exportId; + if (params) { + this.client.customHeaders = { + ...this.client.customHeaders, + ...createHeaders({ ...params }), + }; + } + const response = this.put( + `/logs/exports/${exportId}`, + { body, ...opts } + ); + return response; + } + start( + _body: LogsExportStartParams, + params?: ApiClientInterface, + opts?: RequestOptions + ): APIPromise { + const body = _body; + const exportId = body.exportId; + if (params) { + this.client.customHeaders = { + ...this.client.customHeaders, + ...createHeaders({ ...params }), + }; + } + const response = this.post( + `/logs/exports/${exportId}/start`, + { body, ...opts } + ); + return response; + } + cancel( + _body: LogsExportCancelParams, + params?: ApiClientInterface, + opts?: RequestOptions + ): APIPromise { + const body = _body; + const exportId = body.exportId; + if (params) { + this.client.customHeaders = { + ...this.client.customHeaders, + ...createHeaders({ ...params }), + }; + } + const response = this.post( + `/logs/exports/${exportId}/cancel`, + { body, ...opts } + ); + return response; + } + download( + _body: LogsExportDownloadParams, + params?: ApiClientInterface, + opts?: RequestOptions + ): APIPromise { + const body = _body; + const exportId = body.exportId; + if (params) { + this.client.customHeaders = { + ...this.client.customHeaders, + ...createHeaders({ ...params }), + }; + } + const response = this.getMethod( + `/logs/exports/${exportId}/download`, + { body, ...opts } + ); + return response; + } +} diff --git a/src/client.ts b/src/client.ts index 445607a..c0eac08 100644 --- a/src/client.ts +++ b/src/client.ts @@ -162,6 +162,7 @@ export class Portkey extends ApiClient { virtualKeys = new API.VirtualKeys(this); apiKeys = new API.ApiKeys(this); configs = new API.Configs(this); + logs = new API.Logs(this); beta = { assistants: new API.Assistants(this), threads: new API.Threads(this), diff --git a/src/utils.ts b/src/utils.ts index 5c38ca4..764d9e7 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -11,6 +11,7 @@ import { import { VirtualKeysListParams } from './apis/virtualKeys'; import { ApiKeysListParams } from './apis/apiKeys'; import { CongfigsListParams } from './apis/configs'; +import { LogsExportListParams } from './apis/logsExport'; type PlatformProperties = { 'x-portkey-runtime'?: string; @@ -156,6 +157,7 @@ export function toQueryParams( | VirtualKeysListParams | ApiKeysListParams | CongfigsListParams + | LogsExportListParams|any ): string { if (!params) { return '';