mcp-wordpress 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +568 -0
  3. package/bin/mcp-wordpress.js +12 -0
  4. package/bin/setup.js +302 -0
  5. package/bin/status.js +359 -0
  6. package/dist/client/WordPressClient.d.ts +81 -0
  7. package/dist/client/WordPressClient.d.ts.map +1 -0
  8. package/dist/client/WordPressClient.js +354 -0
  9. package/dist/client/WordPressClient.js.map +1 -0
  10. package/dist/client/api.d.ts +140 -0
  11. package/dist/client/api.d.ts.map +1 -0
  12. package/dist/client/api.js +727 -0
  13. package/dist/client/api.js.map +1 -0
  14. package/dist/client/auth.d.ts +121 -0
  15. package/dist/client/auth.d.ts.map +1 -0
  16. package/dist/client/auth.js +430 -0
  17. package/dist/client/auth.js.map +1 -0
  18. package/dist/client/managers/AuthenticationManager.d.ts +39 -0
  19. package/dist/client/managers/AuthenticationManager.d.ts.map +1 -0
  20. package/dist/client/managers/AuthenticationManager.js +159 -0
  21. package/dist/client/managers/AuthenticationManager.js.map +1 -0
  22. package/dist/client/managers/BaseManager.d.ts +22 -0
  23. package/dist/client/managers/BaseManager.d.ts.map +1 -0
  24. package/dist/client/managers/BaseManager.js +47 -0
  25. package/dist/client/managers/BaseManager.js.map +1 -0
  26. package/dist/client/managers/RequestManager.d.ts +45 -0
  27. package/dist/client/managers/RequestManager.d.ts.map +1 -0
  28. package/dist/client/managers/RequestManager.js +161 -0
  29. package/dist/client/managers/RequestManager.js.map +1 -0
  30. package/dist/client/managers/index.d.ts +8 -0
  31. package/dist/client/managers/index.d.ts.map +1 -0
  32. package/dist/client/managers/index.js +8 -0
  33. package/dist/client/managers/index.js.map +1 -0
  34. package/dist/index.d.ts +19 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +264 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/server.d.ts +7 -0
  39. package/dist/server.d.ts.map +1 -0
  40. package/dist/server.js +7 -0
  41. package/dist/server.js.map +1 -0
  42. package/dist/tools/auth.d.ts +44 -0
  43. package/dist/tools/auth.d.ts.map +1 -0
  44. package/dist/tools/auth.js +126 -0
  45. package/dist/tools/auth.js.map +1 -0
  46. package/dist/tools/base.d.ts +37 -0
  47. package/dist/tools/base.d.ts.map +1 -0
  48. package/dist/tools/base.js +60 -0
  49. package/dist/tools/base.js.map +1 -0
  50. package/dist/tools/comments.d.ts +33 -0
  51. package/dist/tools/comments.d.ts.map +1 -0
  52. package/dist/tools/comments.js +228 -0
  53. package/dist/tools/comments.js.map +1 -0
  54. package/dist/tools/index.d.ts +9 -0
  55. package/dist/tools/index.d.ts.map +1 -0
  56. package/dist/tools/index.js +9 -0
  57. package/dist/tools/index.js.map +1 -0
  58. package/dist/tools/media.d.ts +29 -0
  59. package/dist/tools/media.d.ts.map +1 -0
  60. package/dist/tools/media.js +208 -0
  61. package/dist/tools/media.js.map +1 -0
  62. package/dist/tools/pages.d.ts +30 -0
  63. package/dist/tools/pages.d.ts.map +1 -0
  64. package/dist/tools/pages.js +211 -0
  65. package/dist/tools/pages.js.map +1 -0
  66. package/dist/tools/posts.d.ts +30 -0
  67. package/dist/tools/posts.d.ts.map +1 -0
  68. package/dist/tools/posts.js +240 -0
  69. package/dist/tools/posts.js.map +1 -0
  70. package/dist/tools/site.d.ts +31 -0
  71. package/dist/tools/site.d.ts.map +1 -0
  72. package/dist/tools/site.js +192 -0
  73. package/dist/tools/site.js.map +1 -0
  74. package/dist/tools/taxonomies.d.ts +37 -0
  75. package/dist/tools/taxonomies.d.ts.map +1 -0
  76. package/dist/tools/taxonomies.js +280 -0
  77. package/dist/tools/taxonomies.js.map +1 -0
  78. package/dist/tools/users.d.ts +28 -0
  79. package/dist/tools/users.d.ts.map +1 -0
  80. package/dist/tools/users.js +201 -0
  81. package/dist/tools/users.js.map +1 -0
  82. package/dist/types/client.d.ts +215 -0
  83. package/dist/types/client.d.ts.map +1 -0
  84. package/dist/types/client.js +72 -0
  85. package/dist/types/client.js.map +1 -0
  86. package/dist/types/index.d.ts +157 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/index.js +12 -0
  89. package/dist/types/index.js.map +1 -0
  90. package/dist/types/mcp.d.ts +178 -0
  91. package/dist/types/mcp.d.ts.map +1 -0
  92. package/dist/types/mcp.js +7 -0
  93. package/dist/types/mcp.js.map +1 -0
  94. package/dist/types/wordpress.d.ts +443 -0
  95. package/dist/types/wordpress.d.ts.map +1 -0
  96. package/dist/types/wordpress.js +7 -0
  97. package/dist/types/wordpress.js.map +1 -0
  98. package/dist/utils/debug.d.ts +63 -0
  99. package/dist/utils/debug.d.ts.map +1 -0
  100. package/dist/utils/debug.js +195 -0
  101. package/dist/utils/debug.js.map +1 -0
  102. package/dist/utils/error.d.ts +19 -0
  103. package/dist/utils/error.d.ts.map +1 -0
  104. package/dist/utils/error.js +71 -0
  105. package/dist/utils/error.js.map +1 -0
  106. package/dist/utils/toolWrapper.d.ts +36 -0
  107. package/dist/utils/toolWrapper.d.ts.map +1 -0
  108. package/dist/utils/toolWrapper.js +90 -0
  109. package/dist/utils/toolWrapper.js.map +1 -0
  110. package/package.json +115 -0
  111. package/src/client/api.ts +1043 -0
  112. package/src/client/auth.ts +527 -0
  113. package/src/client/managers/AuthenticationManager.ts +190 -0
  114. package/src/client/managers/BaseManager.ts +73 -0
  115. package/src/client/managers/RequestManager.ts +214 -0
  116. package/src/client/managers/index.ts +8 -0
  117. package/src/index.ts +337 -0
  118. package/src/server.ts +7 -0
  119. package/src/tools/auth.ts +153 -0
  120. package/src/tools/comments.ts +263 -0
  121. package/src/tools/index.ts +8 -0
  122. package/src/tools/media.ts +240 -0
  123. package/src/tools/pages.ts +246 -0
  124. package/src/tools/posts.ts +277 -0
  125. package/src/tools/site.ts +227 -0
  126. package/src/tools/taxonomies.ts +322 -0
  127. package/src/tools/users.ts +233 -0
  128. package/src/types/client.ts +304 -0
  129. package/src/types/index.ts +207 -0
  130. package/src/types/mcp.ts +247 -0
  131. package/src/types/wordpress.ts +491 -0
  132. package/src/utils/debug.ts +258 -0
  133. package/src/utils/error.ts +88 -0
  134. package/src/utils/toolWrapper.ts +105 -0
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Refactored WordPress API Client
3
+ * Uses composition pattern with specialized managers
4
+ */
5
+ import type { IWordPressClient, WordPressClientConfig, ClientStats } from "../types/client.js";
6
+ import type { WordPressPost, WordPressPage, WordPressMedia, WordPressUser, WordPressComment, WordPressSiteSettings, WordPressApplicationPassword, PostQueryParams, MediaQueryParams, UserQueryParams, CreatePostRequest, UpdatePostRequest, CreatePageRequest, UpdatePageRequest, CreateUserRequest, UpdateUserRequest, UploadMediaRequest } from "../types/wordpress.js";
7
+ export declare class WordPressClient implements IWordPressClient {
8
+ private authManager;
9
+ private requestManager;
10
+ private clientConfig;
11
+ constructor(options?: Partial<WordPressClientConfig>);
12
+ get config(): WordPressClientConfig;
13
+ get isAuthenticated(): boolean;
14
+ get stats(): ClientStats;
15
+ initialize(): Promise<void>;
16
+ authenticate(): Promise<boolean>;
17
+ disconnect(): Promise<void>;
18
+ request<T = any>(method: any, endpoint: string, data?: any, options?: any): Promise<T>;
19
+ get<T = any>(endpoint: string, options?: any): Promise<T>;
20
+ post<T = any>(endpoint: string, data?: any, options?: any): Promise<T>;
21
+ put<T = any>(endpoint: string, data?: any, options?: any): Promise<T>;
22
+ patch<T = any>(endpoint: string, data?: any, options?: any): Promise<T>;
23
+ delete<T = any>(endpoint: string, options?: any): Promise<T>;
24
+ testAuthentication(): Promise<{
25
+ success: boolean;
26
+ user?: WordPressUser;
27
+ }>;
28
+ private authenticatedRequest;
29
+ getPosts(params?: PostQueryParams): Promise<WordPressPost[]>;
30
+ getPost(id: number): Promise<WordPressPost>;
31
+ createPost(data: CreatePostRequest): Promise<WordPressPost>;
32
+ updatePost(data: UpdatePostRequest): Promise<WordPressPost>;
33
+ deletePost(id: number, force?: boolean): Promise<{
34
+ deleted: boolean;
35
+ previous?: WordPressPost;
36
+ }>;
37
+ getPostRevisions(id: number): Promise<WordPressPost[]>;
38
+ getPages(params?: any): Promise<WordPressPage[]>;
39
+ getPage(id: number): Promise<WordPressPage>;
40
+ createPage(data: CreatePageRequest): Promise<WordPressPage>;
41
+ updatePage(data: UpdatePageRequest): Promise<WordPressPage>;
42
+ deletePage(id: number, force?: boolean): Promise<{
43
+ deleted: boolean;
44
+ previous?: WordPressPage;
45
+ }>;
46
+ getPageRevisions(id: number): Promise<WordPressPage[]>;
47
+ getMedia(params?: MediaQueryParams): Promise<WordPressMedia[]>;
48
+ getMediaItem(id: number, context?: 'view' | 'embed' | 'edit'): Promise<WordPressMedia>;
49
+ uploadFile(fileData: Buffer, filename: string, mimeType: string, meta?: Partial<UploadMediaRequest>, options?: any): Promise<WordPressMedia>;
50
+ getUsers(params?: UserQueryParams): Promise<WordPressUser[]>;
51
+ getUser(id: number | string): Promise<WordPressUser>;
52
+ getCurrentUser(): Promise<WordPressUser>;
53
+ createUser(data: CreateUserRequest): Promise<WordPressUser>;
54
+ updateUser(data: UpdateUserRequest): Promise<WordPressUser>;
55
+ deleteUser(id: number, reassign?: number): Promise<{
56
+ deleted: boolean;
57
+ previous?: WordPressUser;
58
+ }>;
59
+ approveComment(id: number): Promise<WordPressComment>;
60
+ rejectComment(id: number): Promise<WordPressComment>;
61
+ spamComment(id: number): Promise<WordPressComment>;
62
+ getSiteSettings(): Promise<WordPressSiteSettings>;
63
+ updateSiteSettings(settings: Partial<WordPressSiteSettings>): Promise<WordPressSiteSettings>;
64
+ getSiteInfo(): Promise<any>;
65
+ getApplicationPasswords(userId: number): Promise<WordPressApplicationPassword[]>;
66
+ createApplicationPassword(userId: number | 'me', name: string, appId?: string): Promise<WordPressApplicationPassword>;
67
+ deleteApplicationPassword(userId: number, uuid: string): Promise<{
68
+ deleted: boolean;
69
+ }>;
70
+ search(query: string, types?: string[], subtype?: string): Promise<Array<{
71
+ id: number;
72
+ title: string;
73
+ url: string;
74
+ type: string;
75
+ subtype: string;
76
+ }>>;
77
+ ping(): Promise<boolean>;
78
+ private buildConfig;
79
+ private validateConfig;
80
+ }
81
+ //# sourceMappingURL=WordPressClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WordPressClient.d.ts","sourceRoot":"","sources":["../../src/client/WordPressClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,354 @@
1
+ /**
2
+ * Refactored WordPress API Client
3
+ * Uses composition pattern with specialized managers
4
+ */
5
+ import { AuthenticationManager } from "./managers/AuthenticationManager.js";
6
+ import { RequestManager } from "./managers/RequestManager.js";
7
+ import { debug } from "../utils/debug.js";
8
+ export class WordPressClient {
9
+ authManager;
10
+ requestManager;
11
+ clientConfig;
12
+ constructor(options = {}) {
13
+ // Build configuration
14
+ this.clientConfig = this.buildConfig(options);
15
+ // Initialize managers
16
+ this.authManager = new AuthenticationManager(this.clientConfig);
17
+ this.requestManager = new RequestManager(this.clientConfig);
18
+ // Validate configuration
19
+ this.validateConfig();
20
+ debug.log("WordPress API Client initialized for:", this.clientConfig.baseUrl);
21
+ }
22
+ // Configuration Management
23
+ get config() {
24
+ return { ...this.clientConfig };
25
+ }
26
+ get isAuthenticated() {
27
+ return this.authManager.isAuthenticated();
28
+ }
29
+ get stats() {
30
+ return this.requestManager.getStats();
31
+ }
32
+ // Core Methods required by interface
33
+ async initialize() {
34
+ // Initialization logic if needed
35
+ debug.log("WordPress client initialized");
36
+ }
37
+ async authenticate() {
38
+ return this.authManager.testAuthentication();
39
+ }
40
+ async disconnect() {
41
+ debug.log("WordPress client disconnected");
42
+ }
43
+ // Generic HTTP Methods
44
+ async request(method, endpoint, data, options = {}) {
45
+ return this.requestManager.request(method, endpoint, data, options);
46
+ }
47
+ async get(endpoint, options = {}) {
48
+ return this.requestManager.request('GET', endpoint, undefined, options);
49
+ }
50
+ async post(endpoint, data, options = {}) {
51
+ return this.requestManager.request('POST', endpoint, data, options);
52
+ }
53
+ async put(endpoint, data, options = {}) {
54
+ return this.requestManager.request('PUT', endpoint, data, options);
55
+ }
56
+ async patch(endpoint, data, options = {}) {
57
+ return this.requestManager.request('PATCH', endpoint, data, options);
58
+ }
59
+ async delete(endpoint, options = {}) {
60
+ return this.requestManager.request('DELETE', endpoint, undefined, options);
61
+ }
62
+ // Authentication Methods
63
+ async testAuthentication() {
64
+ try {
65
+ const user = await this.getCurrentUser();
66
+ return { success: true, user };
67
+ }
68
+ catch (error) {
69
+ return { success: false };
70
+ }
71
+ }
72
+ // Generic HTTP Methods with Authentication
73
+ async authenticatedRequest(method, endpoint, data) {
74
+ const authHeaders = await this.authManager.getAuthHeaders();
75
+ return this.requestManager.request(method, endpoint, data, {
76
+ headers: authHeaders
77
+ });
78
+ }
79
+ // Posts API
80
+ async getPosts(params) {
81
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
82
+ return this.authenticatedRequest('GET', `posts${queryString}`);
83
+ }
84
+ async getPost(id) {
85
+ return this.authenticatedRequest('GET', `posts/${id}`);
86
+ }
87
+ async createPost(data) {
88
+ return this.authenticatedRequest('POST', 'posts', data);
89
+ }
90
+ async updatePost(data) {
91
+ const { id, ...updateData } = data;
92
+ return this.authenticatedRequest('PUT', `posts/${id}`, updateData);
93
+ }
94
+ async deletePost(id, force = false) {
95
+ return this.authenticatedRequest('DELETE', `posts/${id}?force=${force}`);
96
+ }
97
+ async getPostRevisions(id) {
98
+ return this.authenticatedRequest('GET', `posts/${id}/revisions`);
99
+ }
100
+ // Pages API
101
+ async getPages(params) {
102
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
103
+ return this.authenticatedRequest('GET', `pages${queryString}`);
104
+ }
105
+ async getPage(id) {
106
+ return this.authenticatedRequest('GET', `pages/${id}`);
107
+ }
108
+ async createPage(data) {
109
+ return this.authenticatedRequest('POST', 'pages', data);
110
+ }
111
+ async updatePage(data) {
112
+ const { id, ...updateData } = data;
113
+ return this.authenticatedRequest('PUT', `pages/${id}`, updateData);
114
+ }
115
+ async deletePage(id, force = false) {
116
+ return this.authenticatedRequest('DELETE', `pages/${id}?force=${force}`);
117
+ }
118
+ async getPageRevisions(id) {
119
+ return this.authenticatedRequest('GET', `pages/${id}/revisions`);
120
+ }
121
+ // Media API
122
+ async getMedia(params) {
123
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
124
+ return this.authenticatedRequest('GET', `media${queryString}`);
125
+ }
126
+ async getMediaItem(id, context = 'view') {
127
+ return this.authenticatedRequest('GET', `media/${id}?context=${context}`);
128
+ }
129
+ async uploadMedia(data) {
130
+ return this.authenticatedRequest('POST', 'media', data);
131
+ }
132
+ async uploadFile(fileData, filename, mimeType, meta = {}, options = {}) {
133
+ const data = { ...meta, file: fileData, filename, mime_type: mimeType };
134
+ return this.authenticatedRequest('POST', 'media', data);
135
+ }
136
+ async updateMedia(data) {
137
+ const { id, ...updateData } = data;
138
+ return this.authenticatedRequest('PUT', `media/${id}`, updateData);
139
+ }
140
+ async deleteMedia(id, force = false) {
141
+ return this.authenticatedRequest('DELETE', `media/${id}?force=${force}`);
142
+ }
143
+ // Users API
144
+ async getUsers(params) {
145
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
146
+ return this.authenticatedRequest('GET', `users${queryString}`);
147
+ }
148
+ async getUser(id) {
149
+ return this.authenticatedRequest('GET', `users/${id}`);
150
+ }
151
+ async getCurrentUser() {
152
+ return this.authenticatedRequest('GET', 'users/me');
153
+ }
154
+ async createUser(data) {
155
+ return this.authenticatedRequest('POST', 'users', data);
156
+ }
157
+ async updateUser(data) {
158
+ const { id, ...updateData } = data;
159
+ return this.authenticatedRequest('PUT', `users/${id}`, updateData);
160
+ }
161
+ async deleteUser(id, reassign) {
162
+ const queryString = reassign ? `?reassign=${reassign}&force=true` : "?force=true";
163
+ return this.authenticatedRequest('DELETE', `users/${id}${queryString}`);
164
+ }
165
+ // Comments API
166
+ async getComments(params) {
167
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
168
+ return this.authenticatedRequest('GET', `comments${queryString}`);
169
+ }
170
+ async getComment(id, context = 'view') {
171
+ return this.authenticatedRequest('GET', `comments/${id}?context=${context}`);
172
+ }
173
+ async createComment(data) {
174
+ return this.authenticatedRequest('POST', 'comments', data);
175
+ }
176
+ async updateComment(data) {
177
+ const { id, ...updateData } = data;
178
+ return this.authenticatedRequest('PUT', `comments/${id}`, updateData);
179
+ }
180
+ async deleteComment(id, force = false) {
181
+ return this.authenticatedRequest('DELETE', `comments/${id}?force=${force}`);
182
+ }
183
+ async approveComment(id) {
184
+ return this.authenticatedRequest('POST', `comments/${id}`, { status: 'approved' });
185
+ }
186
+ async rejectComment(id) {
187
+ return this.authenticatedRequest('POST', `comments/${id}`, { status: 'hold' });
188
+ }
189
+ async spamComment(id) {
190
+ return this.authenticatedRequest('POST', `comments/${id}`, { status: 'spam' });
191
+ }
192
+ // Taxonomies - Categories
193
+ async getCategories(params = {}) {
194
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
195
+ return this.authenticatedRequest('GET', `categories${queryString}`);
196
+ }
197
+ async getCategory(id) {
198
+ return this.authenticatedRequest('GET', `categories/${id}`);
199
+ }
200
+ async createCategory(data) {
201
+ return this.authenticatedRequest('POST', 'categories', data);
202
+ }
203
+ async updateCategory(data) {
204
+ const { id, ...updateData } = data;
205
+ return this.authenticatedRequest('PUT', `categories/${id}`, updateData);
206
+ }
207
+ async deleteCategory(id, force = false) {
208
+ return this.authenticatedRequest('DELETE', `categories/${id}?force=${force}`);
209
+ }
210
+ // Taxonomies - Tags
211
+ async getTags(params = {}) {
212
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
213
+ return this.authenticatedRequest('GET', `tags${queryString}`);
214
+ }
215
+ async getTag(id) {
216
+ return this.authenticatedRequest('GET', `tags/${id}`);
217
+ }
218
+ async createTag(data) {
219
+ return this.authenticatedRequest('POST', 'tags', data);
220
+ }
221
+ async updateTag(data) {
222
+ const { id, ...updateData } = data;
223
+ return this.authenticatedRequest('PUT', `tags/${id}`, updateData);
224
+ }
225
+ async deleteTag(id, force = false) {
226
+ return this.authenticatedRequest('DELETE', `tags/${id}?force=${force}`);
227
+ }
228
+ async updateMedia(data) {
229
+ const { id, ...updateData } = data;
230
+ return this.authenticatedRequest('PUT', `media/${id}`, updateData);
231
+ }
232
+ async deleteMedia(id, force = false) {
233
+ return this.authenticatedRequest('DELETE', `media/${id}?force=${force}`);
234
+ }
235
+ // Upload methods would need special handling for multipart/form-data
236
+ async uploadMedia(data) {
237
+ // This would need special implementation for file uploads
238
+ throw new Error("Upload methods need special multipart handling - not implemented in refactored version yet");
239
+ }
240
+ // Comments API
241
+ async getComments(params) {
242
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
243
+ return this.authenticatedRequest('GET', `comments${queryString}`);
244
+ }
245
+ async getComment(id) {
246
+ return this.authenticatedRequest('GET', `comments/${id}`);
247
+ }
248
+ async createComment(data) {
249
+ return this.authenticatedRequest('POST', 'comments', data);
250
+ }
251
+ async updateComment(data) {
252
+ const { id, ...updateData } = data;
253
+ return this.authenticatedRequest('PUT', `comments/${id}`, updateData);
254
+ }
255
+ async deleteComment(id, force = false) {
256
+ return this.authenticatedRequest('DELETE', `comments/${id}?force=${force}`);
257
+ }
258
+ // Categories API
259
+ async getCategories(params) {
260
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
261
+ return this.authenticatedRequest('GET', `categories${queryString}`);
262
+ }
263
+ async getCategory(id) {
264
+ return this.authenticatedRequest('GET', `categories/${id}`);
265
+ }
266
+ async createCategory(data) {
267
+ return this.authenticatedRequest('POST', 'categories', data);
268
+ }
269
+ async updateCategory(data) {
270
+ const { id, ...updateData } = data;
271
+ return this.authenticatedRequest('PUT', `categories/${id}`, updateData);
272
+ }
273
+ async deleteCategory(id, force = false) {
274
+ return this.authenticatedRequest('DELETE', `categories/${id}?force=${force}`);
275
+ }
276
+ // Tags API
277
+ async getTags(params) {
278
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
279
+ return this.authenticatedRequest('GET', `tags${queryString}`);
280
+ }
281
+ async getTag(id) {
282
+ return this.authenticatedRequest('GET', `tags/${id}`);
283
+ }
284
+ async createTag(data) {
285
+ return this.authenticatedRequest('POST', 'tags', data);
286
+ }
287
+ async updateTag(data) {
288
+ const { id, ...updateData } = data;
289
+ return this.authenticatedRequest('PUT', `tags/${id}`, updateData);
290
+ }
291
+ async deleteTag(id, force = false) {
292
+ return this.authenticatedRequest('DELETE', `tags/${id}?force=${force}`);
293
+ }
294
+ // Site Management
295
+ async getSiteSettings() {
296
+ return this.authenticatedRequest('GET', 'settings');
297
+ }
298
+ async updateSiteSettings(settings) {
299
+ return this.authenticatedRequest('POST', 'settings', settings);
300
+ }
301
+ async getSiteInfo() {
302
+ return this.requestManager.request('GET', '/');
303
+ }
304
+ // Application Passwords
305
+ async getApplicationPasswords(userId) {
306
+ return this.authenticatedRequest('GET', `users/${userId}/application-passwords`);
307
+ }
308
+ async createApplicationPassword(userId, name, appId) {
309
+ const data = { name, ...(appId && { app_id: appId }) };
310
+ return this.authenticatedRequest('POST', `users/${userId}/application-passwords`, data);
311
+ }
312
+ async deleteApplicationPassword(userId, uuid) {
313
+ return this.authenticatedRequest('DELETE', `users/${userId}/application-passwords/${uuid}`);
314
+ }
315
+ // Search
316
+ async search(query, types, subtype) {
317
+ const params = { search: query };
318
+ if (types)
319
+ params.type = types.join(',');
320
+ if (subtype)
321
+ params.subtype = subtype;
322
+ const queryString = "?" + new URLSearchParams(params).toString();
323
+ return this.authenticatedRequest('GET', `search${queryString}`);
324
+ }
325
+ // Utility Methods
326
+ async ping() {
327
+ try {
328
+ await this.requestManager.request('GET', '/');
329
+ return true;
330
+ }
331
+ catch {
332
+ return false;
333
+ }
334
+ }
335
+ // Private Methods
336
+ buildConfig(options) {
337
+ return {
338
+ baseUrl: options.baseUrl || process.env.WORDPRESS_SITE_URL || "",
339
+ auth: options.auth || AuthenticationManager.getAuthFromEnv(),
340
+ timeout: options.timeout || parseInt(process.env.WORDPRESS_TIMEOUT || "30000"),
341
+ maxRetries: options.maxRetries || parseInt(process.env.WORDPRESS_MAX_RETRIES || "3"),
342
+ };
343
+ }
344
+ validateConfig() {
345
+ if (!this.clientConfig.baseUrl) {
346
+ throw new Error("WordPress site URL is required");
347
+ }
348
+ if (!this.clientConfig.baseUrl.startsWith("http")) {
349
+ throw new Error("WordPress site URL must include protocol (http:// or https://)");
350
+ }
351
+ this.authManager.validateAuthConfig();
352
+ }
353
+ }
354
+ //# sourceMappingURL=WordPressClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WordPressClient.js","sourceRoot":"","sources":["../../src/client/WordPressClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * WordPress API Client
3
+ * Handles all REST API communication with WordPress
4
+ */
5
+ import type { IWordPressClient, WordPressClientConfig, HTTPMethod, RequestOptions, ClientStats } from "../types/client.js";
6
+ import type { WordPressPost, WordPressPage, WordPressMedia, WordPressUser, WordPressComment, WordPressCategory, WordPressTag, WordPressSiteSettings, WordPressApplicationPassword, PostQueryParams, MediaQueryParams, UserQueryParams, CommentQueryParams, CreatePostRequest, UpdatePostRequest, CreatePageRequest, UpdatePageRequest, CreateUserRequest, UpdateUserRequest, CreateCommentRequest, UpdateCommentRequest, CreateCategoryRequest, UpdateCategoryRequest, CreateTagRequest, UpdateTagRequest, UploadMediaRequest, UpdateMediaRequest } from "../types/wordpress.js";
7
+ export declare class WordPressClient implements IWordPressClient {
8
+ private baseUrl;
9
+ private apiUrl;
10
+ private timeout;
11
+ private maxRetries;
12
+ private auth;
13
+ private requestQueue;
14
+ private lastRequestTime;
15
+ private requestInterval;
16
+ private authenticated;
17
+ private jwtToken;
18
+ private _stats;
19
+ constructor(options?: Partial<WordPressClientConfig>);
20
+ get config(): WordPressClientConfig;
21
+ get isAuthenticated(): boolean;
22
+ get stats(): ClientStats;
23
+ private getAuthFromEnv;
24
+ private validateConfig;
25
+ initialize(): Promise<void>;
26
+ disconnect(): Promise<void>;
27
+ /**
28
+ * Add authentication headers to request
29
+ */
30
+ private addAuthHeaders;
31
+ /**
32
+ * Rate limiting implementation
33
+ */
34
+ private rateLimit;
35
+ /**
36
+ * Delay utility
37
+ */
38
+ private delay;
39
+ authenticate(): Promise<boolean>;
40
+ /**
41
+ * Authenticate using Basic/Application Password
42
+ */
43
+ private authenticateWithBasic;
44
+ /**
45
+ * Authenticate using JWT
46
+ */
47
+ private authenticateWithJWT;
48
+ /**
49
+ * Authenticate using Cookie
50
+ */
51
+ private authenticateWithCookie;
52
+ /**
53
+ * Make authenticated request to WordPress REST API
54
+ */
55
+ request<T = any>(method: HTTPMethod, endpoint: string, data?: any, options?: RequestOptions): Promise<T>;
56
+ private updateAverageResponseTime;
57
+ get<T = any>(endpoint: string, options?: RequestOptions): Promise<T>;
58
+ post<T = any>(endpoint: string, data?: any, options?: RequestOptions): Promise<T>;
59
+ put<T = any>(endpoint: string, data?: any, options?: RequestOptions): Promise<T>;
60
+ patch<T = any>(endpoint: string, data?: any, options?: RequestOptions): Promise<T>;
61
+ delete<T = any>(endpoint: string, options?: RequestOptions): Promise<T>;
62
+ getPosts(params?: PostQueryParams): Promise<WordPressPost[]>;
63
+ getPost(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressPost>;
64
+ createPost(data: CreatePostRequest): Promise<WordPressPost>;
65
+ updatePost(data: UpdatePostRequest): Promise<WordPressPost>;
66
+ deletePost(id: number, force?: boolean): Promise<{
67
+ deleted: boolean;
68
+ previous?: WordPressPost;
69
+ }>;
70
+ getPostRevisions(id: number): Promise<WordPressPost[]>;
71
+ getPages(params?: PostQueryParams): Promise<WordPressPage[]>;
72
+ getPage(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressPage>;
73
+ createPage(data: CreatePageRequest): Promise<WordPressPage>;
74
+ updatePage(data: UpdatePageRequest): Promise<WordPressPage>;
75
+ deletePage(id: number, force?: boolean): Promise<{
76
+ deleted: boolean;
77
+ previous?: WordPressPage;
78
+ }>;
79
+ getPageRevisions(id: number): Promise<WordPressPage[]>;
80
+ getMedia(params?: MediaQueryParams): Promise<WordPressMedia[]>;
81
+ getMediaItem(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressMedia>;
82
+ uploadMedia(data: UploadMediaRequest): Promise<WordPressMedia>;
83
+ uploadFile(fileData: Buffer, filename: string, mimeType: string, meta?: Partial<UploadMediaRequest>, options?: RequestOptions): Promise<WordPressMedia>;
84
+ updateMedia(data: UpdateMediaRequest): Promise<WordPressMedia>;
85
+ deleteMedia(id: number, force?: boolean): Promise<{
86
+ deleted: boolean;
87
+ previous?: WordPressMedia;
88
+ }>;
89
+ getUsers(params?: UserQueryParams): Promise<WordPressUser[]>;
90
+ getUser(id: number | "me", context?: "view" | "embed" | "edit"): Promise<WordPressUser>;
91
+ createUser(data: CreateUserRequest): Promise<WordPressUser>;
92
+ updateUser(data: UpdateUserRequest): Promise<WordPressUser>;
93
+ deleteUser(id: number, reassign?: number): Promise<{
94
+ deleted: boolean;
95
+ previous?: WordPressUser;
96
+ }>;
97
+ getCurrentUser(): Promise<WordPressUser>;
98
+ getComments(params?: CommentQueryParams): Promise<WordPressComment[]>;
99
+ getComment(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressComment>;
100
+ createComment(data: CreateCommentRequest): Promise<WordPressComment>;
101
+ updateComment(data: UpdateCommentRequest): Promise<WordPressComment>;
102
+ deleteComment(id: number, force?: boolean): Promise<{
103
+ deleted: boolean;
104
+ previous?: WordPressComment;
105
+ }>;
106
+ approveComment(id: number): Promise<WordPressComment>;
107
+ rejectComment(id: number): Promise<WordPressComment>;
108
+ spamComment(id: number): Promise<WordPressComment>;
109
+ getCategories(params?: any): Promise<WordPressCategory[]>;
110
+ getCategory(id: number): Promise<WordPressCategory>;
111
+ createCategory(data: CreateCategoryRequest): Promise<WordPressCategory>;
112
+ updateCategory(data: UpdateCategoryRequest): Promise<WordPressCategory>;
113
+ deleteCategory(id: number, force?: boolean): Promise<{
114
+ deleted: boolean;
115
+ previous?: WordPressCategory;
116
+ }>;
117
+ getTags(params?: any): Promise<WordPressTag[]>;
118
+ getTag(id: number): Promise<WordPressTag>;
119
+ createTag(data: CreateTagRequest): Promise<WordPressTag>;
120
+ updateTag(data: UpdateTagRequest): Promise<WordPressTag>;
121
+ deleteTag(id: number, force?: boolean): Promise<{
122
+ deleted: boolean;
123
+ previous?: WordPressTag;
124
+ }>;
125
+ getSiteSettings(): Promise<WordPressSiteSettings>;
126
+ updateSiteSettings(settings: Partial<WordPressSiteSettings>): Promise<WordPressSiteSettings>;
127
+ getSiteInfo(): Promise<any>;
128
+ getApplicationPasswords(userId?: number | "me"): Promise<WordPressApplicationPassword[]>;
129
+ createApplicationPassword(userId: number | "me", name: string, appId?: string): Promise<WordPressApplicationPassword>;
130
+ deleteApplicationPassword(userId: number | "me", uuid: string): Promise<{
131
+ deleted: boolean;
132
+ }>;
133
+ search(query: string, types?: string[], subtype?: string): Promise<any[]>;
134
+ ping(): Promise<boolean>;
135
+ getServerInfo(): Promise<Record<string, any>>;
136
+ validateEndpoint(endpoint: string): boolean;
137
+ buildUrl(endpoint: string, params?: Record<string, any>): string;
138
+ private getMimeType;
139
+ }
140
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EAGrB,UAAU,EACV,cAAc,EACd,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAG/B,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,MAAM,CAAc;gBAEhB,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IA4BxD,IAAI,MAAM,IAAI,qBAAqB,CAOlC;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED,OAAO,CAAC,cAAc;IAkEtB,OAAO,CAAC,cAAc;IAchB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACH,OAAO,CAAC,cAAc;IAyCtB;;OAEG;YACW,SAAS;IAYvB;;OAEG;IACH,OAAO,CAAC,KAAK;IAIP,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BtC;;OAEG;YACW,qBAAqB;IAgCnC;;OAEG;YACW,mBAAmB;IAwCjC;;OAEG;YACW,sBAAsB;IAYpC;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,GAAU,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC;IA4Lb,OAAO,CAAC,yBAAyB;IAS3B,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpE,IAAI,CAAC,CAAC,GAAG,GAAG,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;IAIP,GAAG,CAAC,CAAC,GAAG,GAAG,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;IAIP,KAAK,CAAC,CAAC,GAAG,GAAG,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;IAIP,MAAM,CAAC,CAAC,GAAG,GAAG,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;IAOP,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAO5D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAC1C,OAAO,CAAC,aAAa,CAAC;IAInB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3D,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK3D,UAAU,CACd,EAAE,EAAE,MAAM,EACV,KAAK,UAAQ,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC;IAIpD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAKtD,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAO5D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAC1C,OAAO,CAAC,aAAa,CAAC;IAInB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3D,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK3D,UAAU,CACd,EAAE,EAAE,MAAM,EACV,KAAK,UAAQ,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC;IAIpD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAKtD,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAO9D,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAC1C,OAAO,CAAC,cAAc,CAAC;IAIpB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IA6B9D,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,OAAO,CAAC,kBAAkB,CAAM,EACtC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,CAAC;IAkCpB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAK9D,WAAW,CACf,EAAE,EAAE,MAAM,EACV,KAAK,UAAQ,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;IAKrD,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAO5D,OAAO,CACX,EAAE,EAAE,MAAM,GAAG,IAAI,EACjB,OAAO,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAC1C,OAAO,CAAC,aAAa,CAAC;IAInB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3D,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK3D,UAAU,CACd,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC;IAOpD,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC;IAKxC,WAAW,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAOrE,UAAU,CACd,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAC1C,OAAO,CAAC,gBAAgB,CAAC;IAItB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIpE,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKpE,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,KAAK,UAAQ,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAIvD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIrD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAMpD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKlD,aAAa,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAOzD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAInD,cAAc,CAClB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAIvB,cAAc,CAClB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAKvB,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,KAAK,UAAQ,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAIxD,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAO9C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzC,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAIxD,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAKxD,SAAS,CACb,EAAE,EAAE,MAAM,EACV,KAAK,UAAQ,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;IAKnD,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIjD,kBAAkB,CACtB,QAAQ,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,qBAAqB,CAAC;IAI3B,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAK3B,uBAAuB,CAC3B,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,OAAO,CAAC,4BAA4B,EAAE,CAAC;IAMpC,yBAAyB,CAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,4BAA4B,CAAC;IASlC,yBAAyB,CAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAK1B,MAAM,CACV,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,EAAE,CAAC;IASX,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAInD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAShE,OAAO,CAAC,WAAW;CAqBpB"}