@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,392 @@
1
+ "use strict";
2
+ /**
3
+ * Strategy Tools
4
+ *
5
+ * MCP tools for GTM strategy management.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.strategyTools = exports.updateContentItemStatusSchema = exports.getStrategyContentItemsSchema = exports.createStrategySchema = exports.getStrategyDetailsSchema = exports.listStrategiesSchema = void 0;
9
+ exports.listStrategies = listStrategies;
10
+ exports.getStrategyDetails = getStrategyDetails;
11
+ exports.createStrategy = createStrategy;
12
+ exports.getStrategyContentItems = getStrategyContentItems;
13
+ exports.updateContentItemStatus = updateContentItemStatus;
14
+ const zod_1 = require("zod");
15
+ // Tool schemas
16
+ exports.listStrategiesSchema = zod_1.z.object({
17
+ projectId: zod_1.z.string().optional().describe('Filter by project ID'),
18
+ status: zod_1.z.string().optional().describe('Filter by status (draft, in_progress, completed, archived)'),
19
+ limit: zod_1.z.number().optional().describe('Maximum number of strategies to return (default: 20)'),
20
+ });
21
+ exports.getStrategyDetailsSchema = zod_1.z.object({
22
+ strategyId: zod_1.z.string().describe('The ID of the strategy to retrieve'),
23
+ });
24
+ exports.createStrategySchema = zod_1.z.object({
25
+ name: zod_1.z.string().describe('Name for the strategy'),
26
+ description: zod_1.z.string().optional().describe('Description of the strategy'),
27
+ projectId: zod_1.z.string().optional().describe('Project ID to associate with'),
28
+ companyName: zod_1.z.string().describe('Company or brand name'),
29
+ industry: zod_1.z.string().describe('Industry or sector'),
30
+ productService: zod_1.z.string().describe('Main product or service'),
31
+ targetMarket: zod_1.z.string().describe('Target market or audience'),
32
+ currentChallenges: zod_1.z.string().optional().describe('Current business challenges'),
33
+ competitors: zod_1.z.array(zod_1.z.string()).optional().describe('List of competitor names'),
34
+ uniqueValueProposition: zod_1.z.string().optional().describe('Unique value proposition'),
35
+ });
36
+ exports.getStrategyContentItemsSchema = zod_1.z.object({
37
+ strategyId: zod_1.z.string().describe('The ID of the strategy'),
38
+ status: zod_1.z.string().optional().describe('Filter by status (planned, draft, scheduled, published)'),
39
+ weekNumber: zod_1.z.number().optional().describe('Filter by week number'),
40
+ platform: zod_1.z.string().optional().describe('Filter by platform'),
41
+ });
42
+ exports.updateContentItemStatusSchema = zod_1.z.object({
43
+ strategyId: zod_1.z.string().describe('The ID of the strategy'),
44
+ itemId: zod_1.z.string().describe('The ID of the content item to update'),
45
+ status: zod_1.z.string().optional().describe('New status (planned, draft, scheduled, published)'),
46
+ notes: zod_1.z.string().optional().describe('Notes for the content item'),
47
+ topic: zod_1.z.string().optional().describe('Updated topic'),
48
+ platform: zod_1.z.string().optional().describe('Updated platform'),
49
+ plannedDate: zod_1.z.string().optional().describe('Updated planned date (ISO format)'),
50
+ });
51
+ /**
52
+ * List strategies tool handler
53
+ */
54
+ async function listStrategies(client, args) {
55
+ const result = await client.listStrategies({
56
+ projectId: args.projectId,
57
+ status: args.status,
58
+ limit: args.limit,
59
+ });
60
+ if (result.strategies.length === 0) {
61
+ return 'No GTM strategies found. Create a strategy to start building your go-to-market plan.';
62
+ }
63
+ let response = `## GTM Strategies (${result.pagination.total} total)\n\n`;
64
+ for (const strategy of result.strategies) {
65
+ const statusEmoji = strategy.status === 'completed' ? '✅' :
66
+ strategy.status === 'in_progress' ? '🔄' :
67
+ strategy.status === 'archived' ? '📦' : '📝';
68
+ response += `### ${statusEmoji} ${strategy.name}\n`;
69
+ response += `- **ID:** ${strategy.id}\n`;
70
+ response += `- **Status:** ${strategy.status}\n`;
71
+ response += `- **Progress:** ${strategy.completionPercentage}%\n`;
72
+ response += `- **Company:** ${strategy.businessContext.companyName}\n`;
73
+ response += `- **Industry:** ${strategy.businessContext.industry}\n`;
74
+ response += `- **Target Market:** ${strategy.businessContext.targetMarket}\n`;
75
+ if (strategy.description) {
76
+ response += `- **Description:** ${strategy.description}\n`;
77
+ }
78
+ response += `- **Current Module:** ${strategy.currentModule}, Step ${strategy.currentStep}\n`;
79
+ response += `- **Created:** ${new Date(strategy.createdAt).toLocaleDateString()}\n`;
80
+ response += '\n';
81
+ }
82
+ if (result.pagination.totalPages > 1) {
83
+ response += `\n*Page ${result.pagination.page} of ${result.pagination.totalPages}*`;
84
+ }
85
+ return response;
86
+ }
87
+ /**
88
+ * Get strategy details tool handler
89
+ */
90
+ async function getStrategyDetails(client, args) {
91
+ const result = await client.getStrategyDetails(args.strategyId);
92
+ const strategy = result.strategy;
93
+ let response = `## Strategy: ${strategy.name}\n\n`;
94
+ response += `### Overview\n`;
95
+ response += `- **ID:** ${strategy.id}\n`;
96
+ response += `- **Status:** ${strategy.status}\n`;
97
+ response += `- **Progress:** ${strategy.completionPercentage}%\n`;
98
+ response += `- **Credits Used:** ${strategy.totalCreditsUsed || 0}\n\n`;
99
+ response += `### Business Context\n`;
100
+ response += `- **Company:** ${strategy.businessContext.companyName}\n`;
101
+ response += `- **Industry:** ${strategy.businessContext.industry}\n`;
102
+ response += `- **Product/Service:** ${strategy.businessContext.productService}\n`;
103
+ response += `- **Target Market:** ${strategy.businessContext.targetMarket}\n\n`;
104
+ response += `### Module Progress\n\n`;
105
+ const modules = [
106
+ { name: 'Research', data: strategy.modules.research },
107
+ { name: 'Strategy', data: strategy.modules.strategy },
108
+ { name: 'Content Strategy', data: strategy.modules.contentStrategy },
109
+ { name: 'Funnel', data: strategy.modules.funnel },
110
+ { name: 'Execution', data: strategy.modules.execution },
111
+ ];
112
+ for (const mod of modules) {
113
+ response += `#### ${mod.name}\n`;
114
+ for (const [key, step] of Object.entries(mod.data || {})) {
115
+ if (step && typeof step === 'object') {
116
+ const stepData = step;
117
+ const statusIcon = stepData.status === 'completed' ? '✅' :
118
+ stepData.status === 'in_progress' ? '🔄' :
119
+ stepData.status === 'skipped' ? '⏭️' : '⏳';
120
+ response += `- ${statusIcon} **${stepData.stepName || key}**: ${stepData.status || 'pending'}`;
121
+ if (stepData.hasOutput) {
122
+ response += ` (has output)`;
123
+ }
124
+ response += '\n';
125
+ }
126
+ }
127
+ response += '\n';
128
+ }
129
+ return response;
130
+ }
131
+ /**
132
+ * Create strategy tool handler
133
+ */
134
+ async function createStrategy(client, args) {
135
+ const result = await client.createStrategy({
136
+ name: args.name,
137
+ description: args.description,
138
+ projectId: args.projectId,
139
+ businessContext: {
140
+ companyName: args.companyName,
141
+ industry: args.industry,
142
+ productService: args.productService,
143
+ targetMarket: args.targetMarket,
144
+ currentChallenges: args.currentChallenges,
145
+ competitors: args.competitors,
146
+ uniqueValueProposition: args.uniqueValueProposition,
147
+ },
148
+ });
149
+ const strategy = result.strategy;
150
+ let response = `## Strategy Created Successfully!\n\n`;
151
+ response += `- **Name:** ${strategy.name}\n`;
152
+ response += `- **ID:** ${strategy.id}\n`;
153
+ response += `- **Status:** ${strategy.status}\n`;
154
+ response += `- **Company:** ${strategy.businessContext.companyName}\n`;
155
+ response += `- **Industry:** ${strategy.businessContext.industry}\n\n`;
156
+ response += `You can now use \`get_strategy_details\` to view the full strategy or \`get_strategy_content_items\` to see the content calendar.`;
157
+ return response;
158
+ }
159
+ /**
160
+ * Get strategy content items tool handler
161
+ */
162
+ async function getStrategyContentItems(client, args) {
163
+ const result = await client.getStrategyContentItems(args.strategyId, {
164
+ status: args.status,
165
+ weekNumber: args.weekNumber,
166
+ platform: args.platform,
167
+ });
168
+ if (result.items.length === 0) {
169
+ return 'No content items found for this strategy. Generate a content calendar in the strategy to create content items.';
170
+ }
171
+ let response = `## Strategy Content Items (${result.count} items)\n\n`;
172
+ response += `### Status Summary\n`;
173
+ response += `- Total: ${result.stats.total || 0}\n`;
174
+ response += `- Planned: ${result.stats.planned || 0}\n`;
175
+ response += `- Draft: ${result.stats.draft || 0}\n`;
176
+ response += `- Scheduled: ${result.stats.scheduled || 0}\n`;
177
+ response += `- Published: ${result.stats.published || 0}\n\n`;
178
+ // Group by week
179
+ const itemsByWeek = new Map();
180
+ for (const item of result.items) {
181
+ const week = item.weekNumber || 0;
182
+ if (!itemsByWeek.has(week)) {
183
+ itemsByWeek.set(week, []);
184
+ }
185
+ itemsByWeek.get(week).push(item);
186
+ }
187
+ for (const [week, items] of Array.from(itemsByWeek.entries()).sort((a, b) => a[0] - b[0])) {
188
+ response += `### Week ${week}\n`;
189
+ for (const item of items) {
190
+ const statusIcon = item.status === 'published' ? '✅' :
191
+ item.status === 'scheduled' ? '📅' :
192
+ item.status === 'draft' ? '📝' : '📋';
193
+ response += `- ${statusIcon} **${item.topic}**\n`;
194
+ response += ` - ID: ${item.id}\n`;
195
+ response += ` - Platform: ${item.platform} | Status: ${item.status}\n`;
196
+ if (item.pillar)
197
+ response += ` - Pillar: ${item.pillar}\n`;
198
+ if (item.funnelStage)
199
+ response += ` - Funnel Stage: ${item.funnelStage}\n`;
200
+ if (item.plannedDate) {
201
+ response += ` - Planned: ${new Date(item.plannedDate).toLocaleDateString()}\n`;
202
+ }
203
+ if (item.hasGeneratedContent) {
204
+ response += ` - ✨ Content generated (ID: ${item.generatedContentId})\n`;
205
+ }
206
+ }
207
+ response += '\n';
208
+ }
209
+ return response;
210
+ }
211
+ /**
212
+ * Update content item status tool handler
213
+ */
214
+ async function updateContentItemStatus(client, args) {
215
+ const result = await client.updateStrategyContentItem(args.strategyId, args.itemId, {
216
+ status: args.status,
217
+ notes: args.notes,
218
+ topic: args.topic,
219
+ platform: args.platform,
220
+ plannedDate: args.plannedDate,
221
+ });
222
+ const item = result.item;
223
+ let response = `## Content Item Updated\n\n`;
224
+ response += `- **Topic:** ${item.topic}\n`;
225
+ response += `- **ID:** ${item.id}\n`;
226
+ response += `- **Platform:** ${item.platform}\n`;
227
+ response += `- **Status:** ${item.status}\n`;
228
+ if (item.plannedDate) {
229
+ response += `- **Planned Date:** ${new Date(item.plannedDate).toLocaleDateString()}\n`;
230
+ }
231
+ if (item.notes) {
232
+ response += `- **Notes:** ${item.notes}\n`;
233
+ }
234
+ return response;
235
+ }
236
+ /**
237
+ * Tool definitions for MCP
238
+ */
239
+ exports.strategyTools = [
240
+ {
241
+ name: 'list_strategies',
242
+ description: 'List all GTM (Go-To-Market) strategies. Filter by project, status, or limit results.',
243
+ inputSchema: {
244
+ type: 'object',
245
+ properties: {
246
+ projectId: {
247
+ type: 'string',
248
+ description: 'Filter by project ID',
249
+ },
250
+ status: {
251
+ type: 'string',
252
+ description: 'Filter by status: draft, in_progress, completed, archived',
253
+ },
254
+ limit: {
255
+ type: 'number',
256
+ description: 'Maximum number of strategies to return (default: 20)',
257
+ },
258
+ },
259
+ required: [],
260
+ },
261
+ },
262
+ {
263
+ name: 'get_strategy_details',
264
+ description: 'Get detailed information about a specific GTM strategy including all module progress and outputs.',
265
+ inputSchema: {
266
+ type: 'object',
267
+ properties: {
268
+ strategyId: {
269
+ type: 'string',
270
+ description: 'The ID of the strategy to retrieve',
271
+ },
272
+ },
273
+ required: ['strategyId'],
274
+ },
275
+ },
276
+ {
277
+ name: 'create_strategy',
278
+ description: 'Create a new GTM strategy session with business context. This starts the strategy generation process.',
279
+ inputSchema: {
280
+ type: 'object',
281
+ properties: {
282
+ name: {
283
+ type: 'string',
284
+ description: 'Name for the strategy',
285
+ },
286
+ description: {
287
+ type: 'string',
288
+ description: 'Description of the strategy',
289
+ },
290
+ projectId: {
291
+ type: 'string',
292
+ description: 'Project ID to associate with',
293
+ },
294
+ companyName: {
295
+ type: 'string',
296
+ description: 'Company or brand name',
297
+ },
298
+ industry: {
299
+ type: 'string',
300
+ description: 'Industry or sector',
301
+ },
302
+ productService: {
303
+ type: 'string',
304
+ description: 'Main product or service',
305
+ },
306
+ targetMarket: {
307
+ type: 'string',
308
+ description: 'Target market or audience',
309
+ },
310
+ currentChallenges: {
311
+ type: 'string',
312
+ description: 'Current business challenges',
313
+ },
314
+ competitors: {
315
+ type: 'array',
316
+ items: { type: 'string' },
317
+ description: 'List of competitor names',
318
+ },
319
+ uniqueValueProposition: {
320
+ type: 'string',
321
+ description: 'Unique value proposition',
322
+ },
323
+ },
324
+ required: ['name', 'companyName', 'industry', 'productService', 'targetMarket'],
325
+ },
326
+ },
327
+ {
328
+ name: 'get_strategy_content_items',
329
+ description: 'Get content items from a strategy\'s 90-day content calendar. Filter by status, week, or platform.',
330
+ inputSchema: {
331
+ type: 'object',
332
+ properties: {
333
+ strategyId: {
334
+ type: 'string',
335
+ description: 'The ID of the strategy',
336
+ },
337
+ status: {
338
+ type: 'string',
339
+ description: 'Filter by status: planned, draft, scheduled, published',
340
+ },
341
+ weekNumber: {
342
+ type: 'number',
343
+ description: 'Filter by week number (1-12)',
344
+ },
345
+ platform: {
346
+ type: 'string',
347
+ description: 'Filter by platform: linkedin, twitter, blog, newsletter, youtube, etc.',
348
+ },
349
+ },
350
+ required: ['strategyId'],
351
+ },
352
+ },
353
+ {
354
+ name: 'update_content_item_status',
355
+ description: 'Update a content item\'s status, notes, topic, platform, or planned date.',
356
+ inputSchema: {
357
+ type: 'object',
358
+ properties: {
359
+ strategyId: {
360
+ type: 'string',
361
+ description: 'The ID of the strategy',
362
+ },
363
+ itemId: {
364
+ type: 'string',
365
+ description: 'The ID of the content item to update',
366
+ },
367
+ status: {
368
+ type: 'string',
369
+ description: 'New status: planned, draft, scheduled, published',
370
+ },
371
+ notes: {
372
+ type: 'string',
373
+ description: 'Notes for the content item',
374
+ },
375
+ topic: {
376
+ type: 'string',
377
+ description: 'Updated topic',
378
+ },
379
+ platform: {
380
+ type: 'string',
381
+ description: 'Updated platform',
382
+ },
383
+ plannedDate: {
384
+ type: 'string',
385
+ description: 'Updated planned date in ISO format',
386
+ },
387
+ },
388
+ required: ['strategyId', 'itemId'],
389
+ },
390
+ },
391
+ ];
392
+ //# sourceMappingURL=strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../src/tools/strategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Usage Tools
3
+ *
4
+ * MCP tools for tracking token usage and managing budgets.
5
+ */
6
+ import { z } from 'zod';
7
+ import { ReauditAPIClient } from '../lib/api-client.js';
8
+ export declare const getTokenUsageSchema: z.ZodObject<{
9
+ days: z.ZodOptional<z.ZodNumber>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ days?: number | undefined;
12
+ }, {
13
+ days?: number | undefined;
14
+ }>;
15
+ export declare const getBudgetStatusSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
16
+ export declare const setBudgetLimitsSchema: z.ZodObject<{
17
+ monthlyTokenLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
18
+ monthlyCostLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
19
+ alertThreshold: z.ZodOptional<z.ZodNumber>;
20
+ pauseOnLimit: z.ZodOptional<z.ZodBoolean>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ monthlyTokenLimit?: number | null | undefined;
23
+ monthlyCostLimit?: number | null | undefined;
24
+ alertThreshold?: number | undefined;
25
+ pauseOnLimit?: boolean | undefined;
26
+ }, {
27
+ monthlyTokenLimit?: number | null | undefined;
28
+ monthlyCostLimit?: number | null | undefined;
29
+ alertThreshold?: number | undefined;
30
+ pauseOnLimit?: boolean | undefined;
31
+ }>;
32
+ /**
33
+ * Get token usage summary
34
+ */
35
+ export declare function getTokenUsage(client: ReauditAPIClient, args: z.infer<typeof getTokenUsageSchema>): Promise<string>;
36
+ /**
37
+ * Get budget status
38
+ */
39
+ export declare function getBudgetStatus(client: ReauditAPIClient, _args: z.infer<typeof getBudgetStatusSchema>): Promise<string>;
40
+ /**
41
+ * Set budget limits
42
+ */
43
+ export declare function setBudgetLimits(client: ReauditAPIClient, args: z.infer<typeof setBudgetLimitsSchema>): Promise<string>;
44
+ export declare const usageTools: ({
45
+ name: string;
46
+ description: string;
47
+ inputSchema: {
48
+ type: string;
49
+ properties: {
50
+ days: {
51
+ type: string;
52
+ description: string;
53
+ };
54
+ monthlyTokenLimit?: undefined;
55
+ monthlyCostLimit?: undefined;
56
+ alertThreshold?: undefined;
57
+ pauseOnLimit?: undefined;
58
+ };
59
+ };
60
+ } | {
61
+ name: string;
62
+ description: string;
63
+ inputSchema: {
64
+ type: string;
65
+ properties: {
66
+ days?: undefined;
67
+ monthlyTokenLimit?: undefined;
68
+ monthlyCostLimit?: undefined;
69
+ alertThreshold?: undefined;
70
+ pauseOnLimit?: undefined;
71
+ };
72
+ };
73
+ } | {
74
+ name: string;
75
+ description: string;
76
+ inputSchema: {
77
+ type: string;
78
+ properties: {
79
+ monthlyTokenLimit: {
80
+ type: string[];
81
+ description: string;
82
+ };
83
+ monthlyCostLimit: {
84
+ type: string[];
85
+ description: string;
86
+ };
87
+ alertThreshold: {
88
+ type: string;
89
+ description: string;
90
+ minimum: number;
91
+ maximum: number;
92
+ };
93
+ pauseOnLimit: {
94
+ type: string;
95
+ description: string;
96
+ };
97
+ days?: undefined;
98
+ };
99
+ };
100
+ })[];
101
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/tools/usage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,qBAAqB,gDAAe,CAAC;AAElD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAC3C,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAGD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiDtB,CAAC"}