UNPKG

@iflow-mcp/claudeus-wp-mcp

Version:

The most comprehensive WordPress MCP server - 145 production-ready tools for complete WordPress management with AI

116 lines (115 loc) 3.08 kB
import { BaseApiClient } from './base-client.js'; import { SecurityManager } from '../security/SecurityManager.js'; import { PaginatedResponse } from '../types/index.js'; export interface ProductFilters { per_page?: number; page?: number; search?: string; category?: number; tag?: number; status?: 'draft' | 'pending' | 'private' | 'publish'; featured?: boolean; type?: 'simple' | 'grouped' | 'external' | 'variable'; [key: string]: string | number | boolean | undefined; } export interface OrderFilters { per_page?: number; page?: number; search?: string; status?: 'pending' | 'processing' | 'on-hold' | 'completed' | 'cancelled' | 'refunded' | 'failed'; customer?: number; product?: number; date_created_min?: string; date_created_max?: string; [key: string]: string | number | undefined; } export interface SalesFilters { period?: 'day' | 'week' | 'month' | 'year'; date_min?: string; date_max?: string; product?: number; category?: number; [key: string]: string | number | undefined; } export interface Product { id: number; name: string; slug: string; permalink: string; type: string; status: string; featured: boolean; description: string; short_description: string; price: string; regular_price: string; sale_price: string; date_created: string; date_modified: string; categories: Array<{ id: number; name: string; slug: string; }>; tags: Array<{ id: number; name: string; slug: string; }>; images: Array<{ id: number; src: string; name: string; alt: string; }>; } export interface Order { id: number; status: string; currency: string; date_created: string; date_modified: string; total: string; customer_id: number; billing: Record<string, string>; shipping: Record<string, string>; payment_method: string; payment_method_title: string; line_items: Array<{ id: number; name: string; product_id: number; quantity: number; subtotal: string; total: string; }>; } export interface SalesStats { period: string; date_start: string; date_end: string; totals: { sales: string; orders: number; items: number; tax: string; shipping: string; discount: string; customers: number; }; products: Array<{ product_id: number; items_sold: number; gross_sales: string; net_sales: string; }>; } export declare class ShopAPI extends BaseApiClient { private security; private wcClient; constructor(client: BaseApiClient, security: SecurityManager); private wcGet; getProducts(filters?: ProductFilters): Promise<PaginatedResponse<Product[]>>; getOrders(filters?: OrderFilters): Promise<PaginatedResponse<Order[]>>; getSalesStats(filters?: SalesFilters): Promise<PaginatedResponse<SalesStats>>; }