@reaudit/mcp-server 1.0.0

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 (119) hide show
  1. package/LICENSE +33 -0
  2. package/README.md +399 -0
  3. package/dist/auth/oauth-client.d.ts +43 -0
  4. package/dist/auth/oauth-client.d.ts.map +1 -0
  5. package/dist/auth/oauth-client.js +340 -0
  6. package/dist/auth/oauth-client.js.map +1 -0
  7. package/dist/auth/token-store.d.ts +41 -0
  8. package/dist/auth/token-store.d.ts.map +1 -0
  9. package/dist/auth/token-store.js +176 -0
  10. package/dist/auth/token-store.js.map +1 -0
  11. package/dist/index.d.ts +11 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +480 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/lib/api-client.d.ts +970 -0
  16. package/dist/lib/api-client.d.ts.map +1 -0
  17. package/dist/lib/api-client.js +441 -0
  18. package/dist/lib/api-client.js.map +1 -0
  19. package/dist/lib/confirmation.d.ts +92 -0
  20. package/dist/lib/confirmation.d.ts.map +1 -0
  21. package/dist/lib/confirmation.js +224 -0
  22. package/dist/lib/confirmation.js.map +1 -0
  23. package/dist/lib/error-handler.d.ts +57 -0
  24. package/dist/lib/error-handler.d.ts.map +1 -0
  25. package/dist/lib/error-handler.js +235 -0
  26. package/dist/lib/error-handler.js.map +1 -0
  27. package/dist/lib/offline-mode.d.ts +107 -0
  28. package/dist/lib/offline-mode.d.ts.map +1 -0
  29. package/dist/lib/offline-mode.js +356 -0
  30. package/dist/lib/offline-mode.js.map +1 -0
  31. package/dist/lib/progress-tracker.d.ts +87 -0
  32. package/dist/lib/progress-tracker.d.ts.map +1 -0
  33. package/dist/lib/progress-tracker.js +238 -0
  34. package/dist/lib/progress-tracker.js.map +1 -0
  35. package/dist/prompts/index.d.ts +24 -0
  36. package/dist/prompts/index.d.ts.map +1 -0
  37. package/dist/prompts/index.js +305 -0
  38. package/dist/prompts/index.js.map +1 -0
  39. package/dist/resources/index.d.ts +44 -0
  40. package/dist/resources/index.d.ts.map +1 -0
  41. package/dist/resources/index.js +125 -0
  42. package/dist/resources/index.js.map +1 -0
  43. package/dist/tools/account.d.ts +25 -0
  44. package/dist/tools/account.d.ts.map +1 -0
  45. package/dist/tools/account.js +69 -0
  46. package/dist/tools/account.js.map +1 -0
  47. package/dist/tools/action-grids.d.ts +414 -0
  48. package/dist/tools/action-grids.d.ts.map +1 -0
  49. package/dist/tools/action-grids.js +271 -0
  50. package/dist/tools/action-grids.js.map +1 -0
  51. package/dist/tools/analytics-query.d.ts +126 -0
  52. package/dist/tools/analytics-query.d.ts.map +1 -0
  53. package/dist/tools/analytics-query.js +106 -0
  54. package/dist/tools/analytics-query.js.map +1 -0
  55. package/dist/tools/analytics.d.ts +57 -0
  56. package/dist/tools/analytics.d.ts.map +1 -0
  57. package/dist/tools/analytics.js +122 -0
  58. package/dist/tools/analytics.js.map +1 -0
  59. package/dist/tools/audits.d.ts +123 -0
  60. package/dist/tools/audits.d.ts.map +1 -0
  61. package/dist/tools/audits.js +226 -0
  62. package/dist/tools/audits.js.map +1 -0
  63. package/dist/tools/calendar.d.ts +57 -0
  64. package/dist/tools/calendar.d.ts.map +1 -0
  65. package/dist/tools/calendar.js +109 -0
  66. package/dist/tools/calendar.js.map +1 -0
  67. package/dist/tools/content-generation.d.ts +211 -0
  68. package/dist/tools/content-generation.d.ts.map +1 -0
  69. package/dist/tools/content-generation.js +363 -0
  70. package/dist/tools/content-generation.js.map +1 -0
  71. package/dist/tools/content.d.ts +92 -0
  72. package/dist/tools/content.d.ts.map +1 -0
  73. package/dist/tools/content.js +130 -0
  74. package/dist/tools/content.js.map +1 -0
  75. package/dist/tools/indexing.d.ts +132 -0
  76. package/dist/tools/indexing.d.ts.map +1 -0
  77. package/dist/tools/indexing.js +190 -0
  78. package/dist/tools/indexing.js.map +1 -0
  79. package/dist/tools/optimization.d.ts +70 -0
  80. package/dist/tools/optimization.d.ts.map +1 -0
  81. package/dist/tools/optimization.js +106 -0
  82. package/dist/tools/optimization.js.map +1 -0
  83. package/dist/tools/projects.d.ts +67 -0
  84. package/dist/tools/projects.d.ts.map +1 -0
  85. package/dist/tools/projects.js +113 -0
  86. package/dist/tools/projects.js.map +1 -0
  87. package/dist/tools/prompts.d.ts +306 -0
  88. package/dist/tools/prompts.d.ts.map +1 -0
  89. package/dist/tools/prompts.js +378 -0
  90. package/dist/tools/prompts.js.map +1 -0
  91. package/dist/tools/publishing.d.ts +135 -0
  92. package/dist/tools/publishing.d.ts.map +1 -0
  93. package/dist/tools/publishing.js +209 -0
  94. package/dist/tools/publishing.js.map +1 -0
  95. package/dist/tools/reports.d.ts +252 -0
  96. package/dist/tools/reports.d.ts.map +1 -0
  97. package/dist/tools/reports.js +183 -0
  98. package/dist/tools/reports.js.map +1 -0
  99. package/dist/tools/social.d.ts +224 -0
  100. package/dist/tools/social.d.ts.map +1 -0
  101. package/dist/tools/social.js +291 -0
  102. package/dist/tools/social.js.map +1 -0
  103. package/dist/tools/sources.d.ts +221 -0
  104. package/dist/tools/sources.d.ts.map +1 -0
  105. package/dist/tools/sources.js +308 -0
  106. package/dist/tools/sources.js.map +1 -0
  107. package/dist/tools/strategy.d.ts +345 -0
  108. package/dist/tools/strategy.d.ts.map +1 -0
  109. package/dist/tools/strategy.js +392 -0
  110. package/dist/tools/strategy.js.map +1 -0
  111. package/dist/tools/usage.d.ts +101 -0
  112. package/dist/tools/usage.d.ts.map +1 -0
  113. package/dist/tools/usage.js +184 -0
  114. package/dist/tools/usage.js.map +1 -0
  115. package/dist/tools/visibility.d.ts +95 -0
  116. package/dist/tools/visibility.d.ts.map +1 -0
  117. package/dist/tools/visibility.js +163 -0
  118. package/dist/tools/visibility.js.map +1 -0
  119. package/package.json +54 -0
@@ -0,0 +1,378 @@
1
+ "use strict";
2
+ /**
3
+ * Prompt Tracking Tools
4
+ *
5
+ * MCP tools for managing prompt topics and tracking brand visibility in AI responses.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.promptTools = exports.generatePromptSuggestionsSchema = exports.getPromptAnalyticsSchema = exports.trackPromptSchema = exports.addPromptsToTopicSchema = exports.createPromptTopicSchema = exports.listPromptTopicsSchema = void 0;
9
+ exports.listPromptTopics = listPromptTopics;
10
+ exports.createPromptTopic = createPromptTopic;
11
+ exports.addPromptsToTopic = addPromptsToTopic;
12
+ exports.trackPrompt = trackPrompt;
13
+ exports.getPromptAnalytics = getPromptAnalytics;
14
+ exports.generatePromptSuggestions = generatePromptSuggestions;
15
+ const zod_1 = require("zod");
16
+ // ============ Schemas ============
17
+ exports.listPromptTopicsSchema = zod_1.z.object({
18
+ projectId: zod_1.z.string().describe('The ID of the project to list topics for'),
19
+ });
20
+ exports.createPromptTopicSchema = zod_1.z.object({
21
+ projectId: zod_1.z.string().describe('The ID of the project'),
22
+ name: zod_1.z.string().describe('Name of the topic (e.g., "Product Questions", "Industry Trends")'),
23
+ description: zod_1.z.string().optional().describe('Optional description of the topic'),
24
+ prompts: zod_1.z.array(zod_1.z.string()).describe('Array of prompt texts to add to the topic'),
25
+ language: zod_1.z.string().optional().describe('Language code (default: en)'),
26
+ region: zod_1.z.string().optional().describe('Region code (default: global)'),
27
+ });
28
+ exports.addPromptsToTopicSchema = zod_1.z.object({
29
+ topicId: zod_1.z.string().describe('The ID of the topic to add prompts to'),
30
+ prompts: zod_1.z.array(zod_1.z.string()).describe('Array of prompt texts to add'),
31
+ });
32
+ exports.trackPromptSchema = zod_1.z.object({
33
+ projectId: zod_1.z.string().describe('The ID of the project'),
34
+ promptText: zod_1.z.string().describe('The prompt text to track'),
35
+ promptId: zod_1.z.string().optional().describe('Optional prompt ID if tracking an existing prompt'),
36
+ engines: zod_1.z.array(zod_1.z.string()).optional().describe('AI engines to track: chatgpt, perplexity, google (default: all)'),
37
+ });
38
+ exports.getPromptAnalyticsSchema = zod_1.z.object({
39
+ projectId: zod_1.z.string().describe('The ID of the project'),
40
+ days: zod_1.z.number().optional().describe('Number of days to analyze (default: 30)'),
41
+ });
42
+ exports.generatePromptSuggestionsSchema = zod_1.z.object({
43
+ projectId: zod_1.z.string().describe('The ID of the project'),
44
+ topic: zod_1.z.string().optional().describe('Optional topic focus for suggestions'),
45
+ count: zod_1.z.number().optional().describe('Number of suggestions to generate (default: 10)'),
46
+ });
47
+ // ============ Handlers ============
48
+ /**
49
+ * List prompt topics tool handler
50
+ */
51
+ async function listPromptTopics(client, args) {
52
+ const result = await client.listPromptTopics(args.projectId);
53
+ if (!result.topics || result.topics.length === 0) {
54
+ return 'No prompt topics found for this project. Use `create_prompt_topic` to create one.';
55
+ }
56
+ let response = `## Prompt Topics (${result.topics.length})\n\n`;
57
+ for (const topic of result.topics) {
58
+ response += `### ${topic.name}\n`;
59
+ response += `- **ID:** ${topic.id}\n`;
60
+ if (topic.description) {
61
+ response += `- **Description:** ${topic.description}\n`;
62
+ }
63
+ response += `- **Prompts:** ${topic.promptCount}\n`;
64
+ response += `- **Language:** ${topic.language || 'en'}\n`;
65
+ response += `- **Region:** ${topic.region || 'global'}\n`;
66
+ response += `- **Schedule:** ${topic.schedule || 'weekly'}\n`;
67
+ response += `- **Enabled:** ${topic.enabled ? 'Yes' : 'No'}\n`;
68
+ if (topic.lastExecutedAt) {
69
+ response += `- **Last Tracked:** ${new Date(topic.lastExecutedAt).toLocaleDateString()}\n`;
70
+ }
71
+ // Show first few prompts
72
+ if (topic.prompts && topic.prompts.length > 0) {
73
+ response += `\n**Sample Prompts:**\n`;
74
+ const samplePrompts = topic.prompts.slice(0, 3);
75
+ for (const prompt of samplePrompts) {
76
+ const text = typeof prompt === 'string' ? prompt : prompt.text;
77
+ response += `- ${text.substring(0, 80)}${text.length > 80 ? '...' : ''}\n`;
78
+ }
79
+ if (topic.prompts.length > 3) {
80
+ response += `- *...and ${topic.prompts.length - 3} more*\n`;
81
+ }
82
+ }
83
+ response += '\n';
84
+ }
85
+ return response;
86
+ }
87
+ /**
88
+ * Create prompt topic tool handler
89
+ */
90
+ async function createPromptTopic(client, args) {
91
+ const result = await client.createPromptTopic({
92
+ projectId: args.projectId,
93
+ name: args.name,
94
+ description: args.description,
95
+ prompts: args.prompts,
96
+ language: args.language || 'en',
97
+ region: args.region || 'global',
98
+ });
99
+ if (!result.success || !result.topic) {
100
+ return `Failed to create topic: ${result.error || 'Unknown error'}`;
101
+ }
102
+ const topic = result.topic;
103
+ let response = `## Topic Created!\n\n`;
104
+ response += `- **Name:** ${topic.name}\n`;
105
+ response += `- **ID:** ${topic.id}\n`;
106
+ response += `- **Prompts Added:** ${args.prompts.length}\n`;
107
+ response += `- **Language:** ${args.language || 'en'}\n`;
108
+ response += `- **Region:** ${args.region || 'global'}\n\n`;
109
+ response += `**Prompts:**\n`;
110
+ for (const prompt of args.prompts) {
111
+ response += `- ${prompt}\n`;
112
+ }
113
+ response += `\n---\n`;
114
+ response += `Use \`track_prompt\` to submit these prompts for AI tracking.`;
115
+ return response;
116
+ }
117
+ /**
118
+ * Add prompts to topic tool handler
119
+ */
120
+ async function addPromptsToTopic(client, args) {
121
+ const result = await client.addPromptsToTopic(args.topicId, args.prompts);
122
+ if (!result.success) {
123
+ return `Failed to add prompts: ${result.error || 'Unknown error'}`;
124
+ }
125
+ let response = `## Prompts Added!\n\n`;
126
+ response += `Added ${args.prompts.length} prompt(s) to topic.\n\n`;
127
+ response += `**New Prompts:**\n`;
128
+ for (const prompt of args.prompts) {
129
+ response += `- ${prompt}\n`;
130
+ }
131
+ if (result.totalPrompts) {
132
+ response += `\n**Total Prompts in Topic:** ${result.totalPrompts}`;
133
+ }
134
+ return response;
135
+ }
136
+ /**
137
+ * Track prompt tool handler
138
+ */
139
+ async function trackPrompt(client, args) {
140
+ const engines = args.engines || ['chatgpt', 'perplexity', 'google'];
141
+ const result = await client.trackPrompt({
142
+ projectId: args.projectId,
143
+ promptText: args.promptText,
144
+ promptId: args.promptId,
145
+ engines,
146
+ });
147
+ if (!result.success) {
148
+ return `Failed to track prompt: ${result.error || 'Unknown error'}`;
149
+ }
150
+ let response = `## Prompt Submitted for Tracking!\n\n`;
151
+ response += `**Prompt:** ${args.promptText}\n\n`;
152
+ response += `**Query ID:** ${result.queryId}\n`;
153
+ response += `**Status:** ${result.status}\n`;
154
+ response += `**Engines:** ${engines.join(', ')}\n`;
155
+ if (result.estimatedTimeSeconds) {
156
+ response += `**Estimated Time:** ${result.estimatedTimeSeconds} seconds\n`;
157
+ }
158
+ response += `\n---\n`;
159
+ response += `Results will be available in the project's AI visibility data. Use \`get_prompt_analytics\` to view tracking results.`;
160
+ return response;
161
+ }
162
+ /**
163
+ * Get prompt analytics tool handler
164
+ */
165
+ async function getPromptAnalytics(client, args) {
166
+ const days = args.days || 30;
167
+ const result = await client.getPromptAnalytics(args.projectId, days);
168
+ if (!result.success) {
169
+ return `Failed to get analytics: ${result.error || 'Unknown error'}`;
170
+ }
171
+ let response = `## Prompt Tracking Analytics (Last ${days} Days)\n\n`;
172
+ // Summary stats
173
+ if (result.summary) {
174
+ response += `### Summary\n`;
175
+ response += `- **Total Prompts Tracked:** ${result.summary.totalPrompts || 0}\n`;
176
+ response += `- **Total Queries:** ${result.summary.totalQueries || 0}\n`;
177
+ response += `- **Brand Mentions:** ${result.summary.brandMentions || 0}\n`;
178
+ response += `- **Average Sentiment:** ${result.summary.avgSentiment || 'N/A'}\n`;
179
+ response += `- **Visibility Rate:** ${result.summary.visibilityRate || 0}%\n\n`;
180
+ }
181
+ // Platform breakdown
182
+ if (result.platformBreakdown && result.platformBreakdown.length > 0) {
183
+ response += `### Platform Performance\n`;
184
+ for (const platform of result.platformBreakdown) {
185
+ response += `- **${platform.platform}:** ${platform.mentions} mentions, ${platform.sentiment}/100 sentiment\n`;
186
+ }
187
+ response += '\n';
188
+ }
189
+ // Top performing prompts
190
+ if (result.topPrompts && result.topPrompts.length > 0) {
191
+ response += `### Top Performing Prompts\n`;
192
+ for (const prompt of result.topPrompts.slice(0, 5)) {
193
+ response += `- "${prompt.text.substring(0, 60)}${prompt.text.length > 60 ? '...' : ''}"\n`;
194
+ response += ` Mentions: ${prompt.mentions}, Sentiment: ${prompt.sentiment}\n`;
195
+ }
196
+ response += '\n';
197
+ }
198
+ // Recent queries
199
+ if (result.recentQueries && result.recentQueries.length > 0) {
200
+ response += `### Recent Tracking Results\n`;
201
+ for (const query of result.recentQueries.slice(0, 5)) {
202
+ const statusIcon = query.status === 'completed' ? '✅' : query.status === 'pending' ? '⏳' : '❌';
203
+ response += `${statusIcon} "${query.query.substring(0, 50)}${query.query.length > 50 ? '...' : ''}"\n`;
204
+ if (query.brandMentioned !== undefined) {
205
+ response += ` Brand Mentioned: ${query.brandMentioned ? 'Yes' : 'No'}\n`;
206
+ }
207
+ }
208
+ }
209
+ return response;
210
+ }
211
+ /**
212
+ * Generate prompt suggestions tool handler
213
+ */
214
+ async function generatePromptSuggestions(client, args) {
215
+ const count = args.count || 10;
216
+ const result = await client.generatePromptSuggestions({
217
+ projectId: args.projectId,
218
+ topic: args.topic,
219
+ count,
220
+ });
221
+ if (!result.success || !result.suggestions || result.suggestions.length === 0) {
222
+ return `Failed to generate suggestions: ${result.error || 'No suggestions generated'}`;
223
+ }
224
+ let response = `## AI-Generated Prompt Suggestions\n\n`;
225
+ if (args.topic) {
226
+ response += `**Topic Focus:** ${args.topic}\n\n`;
227
+ }
228
+ response += `Generated ${result.suggestions.length} prompt suggestions:\n\n`;
229
+ for (let i = 0; i < result.suggestions.length; i++) {
230
+ const suggestion = result.suggestions[i];
231
+ response += `${i + 1}. ${suggestion.text}\n`;
232
+ if (suggestion.searchIntent) {
233
+ response += ` *Intent: ${suggestion.searchIntent}*\n`;
234
+ }
235
+ }
236
+ response += `\n---\n`;
237
+ response += `Use \`create_prompt_topic\` to save these prompts to a topic, or \`track_prompt\` to track them individually.`;
238
+ return response;
239
+ }
240
+ // ============ Tool Definitions ============
241
+ exports.promptTools = [
242
+ {
243
+ name: 'list_prompt_topics',
244
+ description: 'List all prompt topics (PromptSets) for a project. Topics contain prompts that are tracked to monitor brand visibility in AI responses.',
245
+ inputSchema: {
246
+ type: 'object',
247
+ properties: {
248
+ projectId: {
249
+ type: 'string',
250
+ description: 'The ID of the project to list topics for',
251
+ },
252
+ },
253
+ required: ['projectId'],
254
+ },
255
+ },
256
+ {
257
+ name: 'create_prompt_topic',
258
+ description: 'Create a new prompt topic with initial prompts. Topics group related prompts for organized tracking of brand visibility.',
259
+ inputSchema: {
260
+ type: 'object',
261
+ properties: {
262
+ projectId: {
263
+ type: 'string',
264
+ description: 'The ID of the project',
265
+ },
266
+ name: {
267
+ type: 'string',
268
+ description: 'Name of the topic (e.g., "Product Questions", "Industry Trends")',
269
+ },
270
+ description: {
271
+ type: 'string',
272
+ description: 'Optional description of the topic',
273
+ },
274
+ prompts: {
275
+ type: 'array',
276
+ items: { type: 'string' },
277
+ description: 'Array of prompt texts to add to the topic',
278
+ },
279
+ language: {
280
+ type: 'string',
281
+ description: 'Language code (default: en)',
282
+ },
283
+ region: {
284
+ type: 'string',
285
+ description: 'Region code (default: global)',
286
+ },
287
+ },
288
+ required: ['projectId', 'name', 'prompts'],
289
+ },
290
+ },
291
+ {
292
+ name: 'add_prompts_to_topic',
293
+ description: 'Add new prompts to an existing topic.',
294
+ inputSchema: {
295
+ type: 'object',
296
+ properties: {
297
+ topicId: {
298
+ type: 'string',
299
+ description: 'The ID of the topic to add prompts to',
300
+ },
301
+ prompts: {
302
+ type: 'array',
303
+ items: { type: 'string' },
304
+ description: 'Array of prompt texts to add',
305
+ },
306
+ },
307
+ required: ['topicId', 'prompts'],
308
+ },
309
+ },
310
+ {
311
+ name: 'track_prompt',
312
+ description: 'Submit a prompt for AI tracking. The prompt will be sent to AI engines (ChatGPT, Perplexity, Google) to check if/how your brand is mentioned.',
313
+ inputSchema: {
314
+ type: 'object',
315
+ properties: {
316
+ projectId: {
317
+ type: 'string',
318
+ description: 'The ID of the project',
319
+ },
320
+ promptText: {
321
+ type: 'string',
322
+ description: 'The prompt text to track',
323
+ },
324
+ promptId: {
325
+ type: 'string',
326
+ description: 'Optional prompt ID if tracking an existing prompt from a topic',
327
+ },
328
+ engines: {
329
+ type: 'array',
330
+ items: { type: 'string' },
331
+ description: 'AI engines to track: chatgpt, perplexity, google (default: all three)',
332
+ },
333
+ },
334
+ required: ['projectId', 'promptText'],
335
+ },
336
+ },
337
+ {
338
+ name: 'get_prompt_analytics',
339
+ description: 'Get analytics for tracked prompts including brand mentions, sentiment, and visibility rates across AI platforms.',
340
+ inputSchema: {
341
+ type: 'object',
342
+ properties: {
343
+ projectId: {
344
+ type: 'string',
345
+ description: 'The ID of the project',
346
+ },
347
+ days: {
348
+ type: 'number',
349
+ description: 'Number of days to analyze (default: 30)',
350
+ },
351
+ },
352
+ required: ['projectId'],
353
+ },
354
+ },
355
+ {
356
+ name: 'generate_prompt_suggestions',
357
+ description: 'Use AI to generate prompt suggestions based on your project and optional topic focus. Great for discovering new prompts to track.',
358
+ inputSchema: {
359
+ type: 'object',
360
+ properties: {
361
+ projectId: {
362
+ type: 'string',
363
+ description: 'The ID of the project',
364
+ },
365
+ topic: {
366
+ type: 'string',
367
+ description: 'Optional topic focus for suggestions (e.g., "product comparisons", "industry trends")',
368
+ },
369
+ count: {
370
+ type: 'number',
371
+ description: 'Number of suggestions to generate (default: 10, max: 20)',
372
+ },
373
+ },
374
+ required: ['projectId'],
375
+ },
376
+ },
377
+ ];
378
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Publishing Tools
3
+ *
4
+ * MCP tools for publishing content to WordPress, React/webhooks, and other platforms.
5
+ */
6
+ import { z } from 'zod';
7
+ import { ReauditAPIClient } from '../lib/api-client.js';
8
+ export declare const listWordPressConnectionsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
9
+ export declare const publishToWordPressSchema: z.ZodObject<{
10
+ contentId: z.ZodString;
11
+ connectionId: z.ZodString;
12
+ status: z.ZodOptional<z.ZodEnum<["draft", "publish"]>>;
13
+ categories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
14
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ contentId: string;
17
+ connectionId: string;
18
+ status?: "draft" | "publish" | undefined;
19
+ tags?: string[] | undefined;
20
+ categories?: string[] | undefined;
21
+ }, {
22
+ contentId: string;
23
+ connectionId: string;
24
+ status?: "draft" | "publish" | undefined;
25
+ tags?: string[] | undefined;
26
+ categories?: string[] | undefined;
27
+ }>;
28
+ export declare const listReactConnectionsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
29
+ export declare const publishToReactSchema: z.ZodObject<{
30
+ contentId: z.ZodString;
31
+ connectionId: z.ZodString;
32
+ section: z.ZodOptional<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ contentId: string;
35
+ connectionId: string;
36
+ section?: string | undefined;
37
+ }, {
38
+ contentId: string;
39
+ connectionId: string;
40
+ section?: string | undefined;
41
+ }>;
42
+ /**
43
+ * List WordPress connections tool handler
44
+ */
45
+ export declare function listWordPressConnections(client: ReauditAPIClient, _args: z.infer<typeof listWordPressConnectionsSchema>): Promise<string>;
46
+ /**
47
+ * Publish to WordPress tool handler
48
+ */
49
+ export declare function publishToWordPress(client: ReauditAPIClient, args: z.infer<typeof publishToWordPressSchema>): Promise<string>;
50
+ /**
51
+ * List React connections tool handler
52
+ */
53
+ export declare function listReactConnections(client: ReauditAPIClient, _args: z.infer<typeof listReactConnectionsSchema>): Promise<string>;
54
+ /**
55
+ * Publish to React/webhook tool handler
56
+ */
57
+ export declare function publishToReact(client: ReauditAPIClient, args: z.infer<typeof publishToReactSchema>): Promise<string>;
58
+ export declare const publishingTools: ({
59
+ name: string;
60
+ description: string;
61
+ inputSchema: {
62
+ type: "object";
63
+ properties: {
64
+ contentId?: undefined;
65
+ connectionId?: undefined;
66
+ status?: undefined;
67
+ categories?: undefined;
68
+ tags?: undefined;
69
+ section?: undefined;
70
+ };
71
+ required: string[];
72
+ };
73
+ } | {
74
+ name: string;
75
+ description: string;
76
+ inputSchema: {
77
+ type: "object";
78
+ properties: {
79
+ contentId: {
80
+ type: string;
81
+ description: string;
82
+ };
83
+ connectionId: {
84
+ type: string;
85
+ description: string;
86
+ };
87
+ status: {
88
+ type: string;
89
+ enum: string[];
90
+ description: string;
91
+ };
92
+ categories: {
93
+ type: string;
94
+ items: {
95
+ type: string;
96
+ };
97
+ description: string;
98
+ };
99
+ tags: {
100
+ type: string;
101
+ items: {
102
+ type: string;
103
+ };
104
+ description: string;
105
+ };
106
+ section?: undefined;
107
+ };
108
+ required: string[];
109
+ };
110
+ } | {
111
+ name: string;
112
+ description: string;
113
+ inputSchema: {
114
+ type: "object";
115
+ properties: {
116
+ contentId: {
117
+ type: string;
118
+ description: string;
119
+ };
120
+ connectionId: {
121
+ type: string;
122
+ description: string;
123
+ };
124
+ section: {
125
+ type: string;
126
+ description: string;
127
+ };
128
+ status?: undefined;
129
+ categories?: undefined;
130
+ tags?: undefined;
131
+ };
132
+ required: string[];
133
+ };
134
+ })[];
135
+ //# sourceMappingURL=publishing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishing.d.ts","sourceRoot":"","sources":["../../src/tools/publishing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,eAAO,MAAM,8BAA8B,gDAAe,CAAC;AAE3D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;EAMnC,CAAC;AAIH,eAAO,MAAM,0BAA0B,gDAAe,CAAC;AAEvD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAIH;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,GACpD,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,GAC7C,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAID;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,GAChD,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAID,eAAO,MAAM,eAAe;;;;;;;;;;;;;kBAON,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmE7B,CAAC"}