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,443 @@
1
+ /**
2
+ * Core WordPress REST API Types
3
+ *
4
+ * Comprehensive TypeScript definitions for WordPress REST API v2 responses
5
+ */
6
+ export interface WordPressRendered {
7
+ rendered: string;
8
+ protected?: boolean;
9
+ }
10
+ export interface WordPressLink {
11
+ href: string;
12
+ embeddable?: boolean;
13
+ templated?: boolean;
14
+ }
15
+ export interface WordPressLinks {
16
+ self?: WordPressLink[];
17
+ collection?: WordPressLink[];
18
+ about?: WordPressLink[];
19
+ author?: WordPressLink[];
20
+ replies?: WordPressLink[];
21
+ 'version-history'?: WordPressLink[];
22
+ 'predecessor-version'?: WordPressLink[];
23
+ 'wp:attachment'?: WordPressLink[];
24
+ 'wp:term'?: WordPressLink[];
25
+ 'wp:featuredmedia'?: WordPressLink[];
26
+ curies?: WordPressLink[];
27
+ }
28
+ export type PostStatus = 'publish' | 'future' | 'draft' | 'pending' | 'private' | 'trash' | 'auto-draft' | 'inherit';
29
+ export type PostFormat = 'standard' | 'aside' | 'chat' | 'gallery' | 'link' | 'image' | 'quote' | 'status' | 'video' | 'audio';
30
+ export type CommentStatus = 'open' | 'closed';
31
+ export type PingStatus = 'open' | 'closed';
32
+ export interface WordPressPost {
33
+ id: number;
34
+ date: string;
35
+ date_gmt: string;
36
+ guid: WordPressRendered;
37
+ modified: string;
38
+ modified_gmt: string;
39
+ slug: string;
40
+ status: PostStatus;
41
+ type: string;
42
+ link: string;
43
+ title: WordPressRendered;
44
+ content: WordPressRendered;
45
+ excerpt: WordPressRendered;
46
+ author: number;
47
+ featured_media: number;
48
+ comment_status: CommentStatus;
49
+ ping_status: PingStatus;
50
+ sticky: boolean;
51
+ template: string;
52
+ format: PostFormat;
53
+ meta: Record<string, any>;
54
+ categories: number[];
55
+ tags: number[];
56
+ _links?: WordPressLinks;
57
+ }
58
+ export interface WordPressPage {
59
+ id: number;
60
+ date: string;
61
+ date_gmt: string;
62
+ guid: WordPressRendered;
63
+ modified: string;
64
+ modified_gmt: string;
65
+ slug: string;
66
+ status: PostStatus;
67
+ type: string;
68
+ link: string;
69
+ title: WordPressRendered;
70
+ content: WordPressRendered;
71
+ author: number;
72
+ excerpt: WordPressRendered;
73
+ featured_media: number;
74
+ comment_status: CommentStatus;
75
+ ping_status: PingStatus;
76
+ menu_order: number;
77
+ meta: Record<string, any>;
78
+ template: string;
79
+ parent: number;
80
+ _links?: WordPressLinks;
81
+ }
82
+ export type MediaType = 'image' | 'video' | 'text' | 'application' | 'audio';
83
+ export interface MediaDetails {
84
+ width?: number;
85
+ height?: number;
86
+ file?: string;
87
+ filesize?: number;
88
+ sizes?: Record<string, {
89
+ file: string;
90
+ width: number;
91
+ height: number;
92
+ mime_type: string;
93
+ source_url: string;
94
+ }>;
95
+ image_meta?: {
96
+ aperture?: string;
97
+ credit?: string;
98
+ camera?: string;
99
+ caption?: string;
100
+ created_timestamp?: string;
101
+ copyright?: string;
102
+ focal_length?: string;
103
+ iso?: string;
104
+ shutter_speed?: string;
105
+ title?: string;
106
+ orientation?: string;
107
+ keywords?: string[];
108
+ };
109
+ }
110
+ export interface WordPressMedia {
111
+ id: number;
112
+ date: string;
113
+ date_gmt: string;
114
+ guid: WordPressRendered;
115
+ modified: string;
116
+ modified_gmt: string;
117
+ slug: string;
118
+ status: PostStatus;
119
+ type: string;
120
+ link: string;
121
+ title: WordPressRendered;
122
+ author: number;
123
+ comment_status: CommentStatus;
124
+ ping_status: PingStatus;
125
+ template: string;
126
+ meta: Record<string, any>;
127
+ description: WordPressRendered;
128
+ caption: WordPressRendered;
129
+ alt_text: string;
130
+ media_type: MediaType;
131
+ mime_type: string;
132
+ media_details: MediaDetails;
133
+ post: number | null;
134
+ source_url: string;
135
+ _links?: WordPressLinks;
136
+ }
137
+ export type UserRole = 'administrator' | 'editor' | 'author' | 'contributor' | 'subscriber';
138
+ export interface WordPressUser {
139
+ id: number;
140
+ username: string;
141
+ name: string;
142
+ first_name: string;
143
+ last_name: string;
144
+ email: string;
145
+ url: string;
146
+ description: string;
147
+ link: string;
148
+ locale: string;
149
+ nickname: string;
150
+ slug: string;
151
+ roles: UserRole[];
152
+ registered_date: string;
153
+ capabilities: Record<string, boolean>;
154
+ extra_capabilities: Record<string, boolean>;
155
+ avatar_urls: Record<string, string>;
156
+ meta: Record<string, any>;
157
+ _links?: WordPressLinks;
158
+ }
159
+ export type CommentType = 'comment' | 'trackback' | 'pingback';
160
+ export interface WordPressComment {
161
+ id: number;
162
+ post: number;
163
+ parent: number;
164
+ author: number;
165
+ author_name: string;
166
+ author_email: string;
167
+ author_url: string;
168
+ author_ip: string;
169
+ author_user_agent: string;
170
+ date: string;
171
+ date_gmt: string;
172
+ content: WordPressRendered;
173
+ link: string;
174
+ status: 'approved' | 'unapproved' | 'spam' | 'trash';
175
+ type: CommentType;
176
+ author_avatar_urls: Record<string, string>;
177
+ meta: Record<string, any>;
178
+ _links?: WordPressLinks;
179
+ }
180
+ export interface WordPressCategory {
181
+ id: number;
182
+ count: number;
183
+ description: string;
184
+ link: string;
185
+ name: string;
186
+ slug: string;
187
+ taxonomy: string;
188
+ parent: number;
189
+ meta: Record<string, any>;
190
+ _links?: WordPressLinks;
191
+ }
192
+ export interface WordPressTag {
193
+ id: number;
194
+ count: number;
195
+ description: string;
196
+ link: string;
197
+ name: string;
198
+ slug: string;
199
+ taxonomy: string;
200
+ meta: Record<string, any>;
201
+ _links?: WordPressLinks;
202
+ }
203
+ export interface WordPressTaxonomy {
204
+ name: string;
205
+ slug: string;
206
+ description: string;
207
+ types: string[];
208
+ hierarchical: boolean;
209
+ rest_base: string;
210
+ rest_namespace: string;
211
+ visibility: {
212
+ public: boolean;
213
+ publicly_queryable: boolean;
214
+ show_ui: boolean;
215
+ show_admin_column: boolean;
216
+ show_in_nav_menus: boolean;
217
+ show_cloud: boolean;
218
+ show_in_quick_edit: boolean;
219
+ };
220
+ _links?: WordPressLinks;
221
+ }
222
+ export interface WordPressSiteSettings {
223
+ title: string;
224
+ description: string;
225
+ url: string;
226
+ email: string;
227
+ timezone: string;
228
+ date_format: string;
229
+ time_format: string;
230
+ start_of_week: number;
231
+ language: string;
232
+ use_smilies: boolean;
233
+ default_category: number;
234
+ default_post_format: string;
235
+ posts_per_page: number;
236
+ default_ping_status: PingStatus;
237
+ default_comment_status: CommentStatus;
238
+ }
239
+ export interface WordPressApplicationPassword {
240
+ uuid: string;
241
+ app_id: string;
242
+ name: string;
243
+ password?: string;
244
+ created: string;
245
+ last_used: string | null;
246
+ last_ip: string | null;
247
+ }
248
+ export interface WordPressAPIErrorResponse {
249
+ code: string;
250
+ message: string;
251
+ data?: {
252
+ status: number;
253
+ params?: Record<string, any>;
254
+ details?: Record<string, any>;
255
+ };
256
+ }
257
+ export interface PaginationParams {
258
+ page?: number;
259
+ per_page?: number;
260
+ search?: string;
261
+ order?: 'asc' | 'desc';
262
+ orderby?: string;
263
+ }
264
+ export interface PostQueryParams extends PaginationParams {
265
+ author?: number;
266
+ author_exclude?: number[];
267
+ before?: string;
268
+ after?: string;
269
+ exclude?: number[];
270
+ include?: number[];
271
+ offset?: number;
272
+ slug?: string[];
273
+ status?: PostStatus[];
274
+ categories?: number[];
275
+ categories_exclude?: number[];
276
+ tags?: number[];
277
+ tags_exclude?: number[];
278
+ sticky?: boolean;
279
+ }
280
+ export interface MediaQueryParams extends PaginationParams {
281
+ author?: number;
282
+ author_exclude?: number[];
283
+ before?: string;
284
+ after?: string;
285
+ exclude?: number[];
286
+ include?: number[];
287
+ offset?: number;
288
+ parent?: number;
289
+ parent_exclude?: number[];
290
+ slug?: string[];
291
+ status?: PostStatus[];
292
+ media_type?: MediaType;
293
+ mime_type?: string;
294
+ }
295
+ export interface UserQueryParams extends PaginationParams {
296
+ context?: 'view' | 'embed' | 'edit';
297
+ exclude?: number[];
298
+ include?: number[];
299
+ offset?: number;
300
+ slug?: string[];
301
+ roles?: UserRole[];
302
+ capabilities?: string[];
303
+ who?: 'authors';
304
+ has_published_posts?: string[];
305
+ }
306
+ export interface CommentQueryParams extends PaginationParams {
307
+ context?: 'view' | 'embed' | 'edit';
308
+ after?: string;
309
+ author?: number[];
310
+ author_exclude?: number[];
311
+ author_email?: string;
312
+ before?: string;
313
+ exclude?: number[];
314
+ include?: number[];
315
+ offset?: number;
316
+ parent?: number[];
317
+ parent_exclude?: number[];
318
+ post?: number[];
319
+ status?: string;
320
+ type?: CommentType;
321
+ password?: string;
322
+ }
323
+ export interface CreatePostRequest {
324
+ title?: string;
325
+ content?: string;
326
+ excerpt?: string;
327
+ status?: PostStatus;
328
+ author?: number;
329
+ featured_media?: number;
330
+ comment_status?: CommentStatus;
331
+ ping_status?: PingStatus;
332
+ format?: PostFormat;
333
+ meta?: Record<string, any>;
334
+ sticky?: boolean;
335
+ template?: string;
336
+ categories?: number[];
337
+ tags?: number[];
338
+ date?: string;
339
+ date_gmt?: string;
340
+ slug?: string;
341
+ password?: string;
342
+ }
343
+ export interface UpdatePostRequest extends Partial<CreatePostRequest> {
344
+ id: number;
345
+ }
346
+ export interface CreatePageRequest {
347
+ title?: string;
348
+ content?: string;
349
+ author?: number;
350
+ excerpt?: string;
351
+ featured_media?: number;
352
+ comment_status?: CommentStatus;
353
+ ping_status?: PingStatus;
354
+ menu_order?: number;
355
+ meta?: Record<string, any>;
356
+ parent?: number;
357
+ template?: string;
358
+ date?: string;
359
+ date_gmt?: string;
360
+ slug?: string;
361
+ status?: PostStatus;
362
+ password?: string;
363
+ }
364
+ export interface UpdatePageRequest extends Partial<CreatePageRequest> {
365
+ id: number;
366
+ }
367
+ export interface CreateUserRequest {
368
+ username: string;
369
+ email: string;
370
+ password: string;
371
+ name?: string;
372
+ first_name?: string;
373
+ last_name?: string;
374
+ nickname?: string;
375
+ slug?: string;
376
+ description?: string;
377
+ url?: string;
378
+ locale?: string;
379
+ roles?: UserRole[];
380
+ meta?: Record<string, any>;
381
+ }
382
+ export interface UpdateUserRequest extends Partial<Omit<CreateUserRequest, 'username'>> {
383
+ id: number;
384
+ }
385
+ export interface CreateCommentRequest {
386
+ post: number;
387
+ parent?: number;
388
+ content: string;
389
+ author?: number;
390
+ author_name?: string;
391
+ author_email?: string;
392
+ author_url?: string;
393
+ date?: string;
394
+ date_gmt?: string;
395
+ status?: 'approved' | 'unapproved';
396
+ meta?: Record<string, any>;
397
+ }
398
+ export interface UpdateCommentRequest extends Partial<Omit<CreateCommentRequest, 'status'>> {
399
+ id: number;
400
+ status?: 'approved' | 'unapproved' | 'spam' | 'trash';
401
+ }
402
+ export interface CreateCategoryRequest {
403
+ name: string;
404
+ description?: string;
405
+ slug?: string;
406
+ parent?: number;
407
+ meta?: Record<string, any>;
408
+ }
409
+ export interface UpdateCategoryRequest extends Partial<CreateCategoryRequest> {
410
+ id: number;
411
+ }
412
+ export interface CreateTagRequest {
413
+ name: string;
414
+ description?: string;
415
+ slug?: string;
416
+ meta?: Record<string, any>;
417
+ }
418
+ export interface UpdateTagRequest extends Partial<CreateTagRequest> {
419
+ id: number;
420
+ }
421
+ export interface UploadMediaRequest {
422
+ file_path: string;
423
+ title?: string;
424
+ alt_text?: string;
425
+ caption?: string;
426
+ description?: string;
427
+ post?: number;
428
+ status?: PostStatus;
429
+ author?: number;
430
+ date?: string;
431
+ date_gmt?: string;
432
+ }
433
+ export interface UpdateMediaRequest {
434
+ id: number;
435
+ title?: string;
436
+ alt_text?: string;
437
+ caption?: string;
438
+ description?: string;
439
+ post?: number;
440
+ status?: PostStatus;
441
+ author?: number;
442
+ }
443
+ //# sourceMappingURL=wordpress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wordpress.d.ts","sourceRoot":"","sources":["../../src/types/wordpress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Core WordPress REST API Types
3
+ *
4
+ * Comprehensive TypeScript definitions for WordPress REST API v2 responses
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=wordpress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wordpress.js","sourceRoot":"","sources":["../../src/types/wordpress.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Debug Utility for MCP Server
3
+ *
4
+ * This module provides debug logging that only outputs when DEBUG mode is enabled.
5
+ * This prevents console.log from interfering with MCP STDIO communication.
6
+ */
7
+ import type { DebugInfo } from '../types/index.js';
8
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
9
+ export interface Logger {
10
+ log(...args: any[]): void;
11
+ info(...args: any[]): void;
12
+ warn(...args: any[]): void;
13
+ error(...args: any[]): void;
14
+ }
15
+ export interface StructuredLogger extends Logger {
16
+ logStructured(info: DebugInfo): void;
17
+ child(context: Record<string, any>): StructuredLogger;
18
+ }
19
+ /**
20
+ * Debug logger that only outputs in debug mode
21
+ */
22
+ export declare const debug: Logger;
23
+ /**
24
+ * Silent logger for production use
25
+ */
26
+ export declare const silent: Logger;
27
+ /**
28
+ * Create a structured logger instance
29
+ */
30
+ export declare const createStructuredLogger: (context?: Record<string, any>) => StructuredLogger;
31
+ /**
32
+ * Default logger instance
33
+ */
34
+ export declare const logger: Logger;
35
+ /**
36
+ * Create a logger with context
37
+ */
38
+ export declare const createLogger: (context?: Record<string, any>) => StructuredLogger;
39
+ /**
40
+ * Performance measurement utility
41
+ */
42
+ export interface PerformanceTimer {
43
+ end(): number;
44
+ endWithLog(message?: string): number;
45
+ }
46
+ export declare const startTimer: (label?: string) => PerformanceTimer;
47
+ /**
48
+ * Log error with stack trace
49
+ */
50
+ export declare const logError: (error: Error | string, context?: Record<string, any>) => void;
51
+ /**
52
+ * Conditional logging
53
+ */
54
+ export declare const logIf: (condition: boolean, level?: LogLevel) => Logger | ((...args: any[]) => void);
55
+ /**
56
+ * Type-safe environment variable getter
57
+ */
58
+ export declare const getEnvVar: (key: string, defaultValue?: string) => string | undefined;
59
+ /**
60
+ * Validate required environment variables
61
+ */
62
+ export declare const validateEnvVars: (required: string[]) => void;
63
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAG3D,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC7B;AAGD,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC9C,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC;CACvD;AAqCD;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,MAwBnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAKpB,CAAC;AAgEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,KAAG,gBAE1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAAc,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,UAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,KAAG,gBAEhE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACtC;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,gBAc3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,GAAG,MAAM,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAS/E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,WAAW,OAAO,EAAE,QAAO,QAAkB,yBAhNpD,GAAG,EAAE,KAAG,IAAI,CA2N1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,eAAe,MAAM,KAAG,MAAM,GAAG,SAOvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,KAAG,IAOpD,CAAC"}