UNPKG

anchorbrowser

Version:

The official TypeScript library for the Anchorbrowser API

144 lines 4.24 kB
import { APIResource } from "../core/resource.mjs"; import * as ExtensionsAPI from "./extensions.mjs"; import * as Shared from "./shared.mjs"; import { APIPromise } from "../core/api-promise.mjs"; import { type Uploadable } from "../core/uploads.mjs"; import { RequestOptions } from "../internal/request-options.mjs"; export declare class Extensions extends APIResource { /** * Get details of a specific extension by its ID * * @example * ```ts * const extension = await client.extensions.retrieve( * '550e8400-e29b-41d4-a716-446655440000', * ); * ``` */ retrieve(id: string, options?: RequestOptions): APIPromise<ExtensionRetrieveResponse>; /** * Get all extensions for the authenticated user * * @example * ```ts * const extensions = await client.extensions.list(); * ``` */ list(options?: RequestOptions): APIPromise<ExtensionListResponse>; /** * Delete an extension and remove it from storage * * @example * ```ts * const extension = await client.extensions.delete( * '550e8400-e29b-41d4-a716-446655440000', * ); * ``` */ delete(id: string, options?: RequestOptions): APIPromise<ExtensionDeleteResponse>; /** * Upload a new browser extension as a ZIP file. The extension will be validated * and stored for use in browser sessions. * * @example * ```ts * const response = await client.extensions.upload({ * file: fs.createReadStream('path/to/file'), * name: 'My Custom Extension', * }); * ``` */ upload(body: ExtensionUploadParams, options?: RequestOptions): APIPromise<ExtensionUploadResponse>; } export interface ExtensionManifest { description?: string; manifest_version?: number; name?: string; permissions?: Array<string>; version?: string; [k: string]: unknown; } export interface ExtensionRetrieveResponse { /** * Unique identifier for the extension */ id?: string; /** * Timestamp when the extension was created */ createdAt?: string; manifest?: ExtensionManifest; /** * Extension name */ name?: string; /** * Timestamp when the extension was last updated */ updatedAt?: string; } export interface ExtensionListResponse { data?: Array<ExtensionListResponse.Data>; } export declare namespace ExtensionListResponse { interface Data { /** * Unique identifier for the extension */ id?: string; /** * Timestamp when the extension was created */ createdAt?: string; manifest?: ExtensionsAPI.ExtensionManifest; /** * Extension name */ name?: string; /** * Timestamp when the extension was last updated */ updatedAt?: string; } } export interface ExtensionDeleteResponse { data?: Shared.SuccessResponse; } export interface ExtensionUploadResponse { data?: ExtensionUploadResponse.Data; } export declare namespace ExtensionUploadResponse { interface Data { /** * Unique identifier for the extension */ id?: string; /** * Timestamp when the extension was created */ createdAt?: string; manifest?: ExtensionsAPI.ExtensionManifest; /** * Extension name */ name?: string; /** * Timestamp when the extension was last updated */ updatedAt?: string; } } export interface ExtensionUploadParams { /** * ZIP file containing the browser extension */ file: Uploadable; /** * User-friendly name for the extension (1-255 characters) */ name: string; } export declare namespace Extensions { export { type ExtensionManifest as ExtensionManifest, type ExtensionRetrieveResponse as ExtensionRetrieveResponse, type ExtensionListResponse as ExtensionListResponse, type ExtensionDeleteResponse as ExtensionDeleteResponse, type ExtensionUploadResponse as ExtensionUploadResponse, type ExtensionUploadParams as ExtensionUploadParams, }; } //# sourceMappingURL=extensions.d.mts.map