@reaudit/mcp-server 1.0.0 → 1.3.1
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.
- package/CHANGELOG.md +106 -0
- package/README.md +101 -1
- package/dist/index.js +90 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/api-client.d.ts +284 -0
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +148 -0
- package/dist/lib/api-client.js.map +1 -1
- package/dist/tools/agent-analytics.d.ts +42 -0
- package/dist/tools/agent-analytics.d.ts.map +1 -0
- package/dist/tools/agent-analytics.js +60 -0
- package/dist/tools/agent-analytics.js.map +1 -0
- package/dist/tools/analytics-query.d.ts +4 -4
- package/dist/tools/competitors.d.ts +140 -0
- package/dist/tools/competitors.d.ts.map +1 -0
- package/dist/tools/competitors.js +107 -0
- package/dist/tools/competitors.js.map +1 -0
- package/dist/tools/content-generation.d.ts +4 -4
- package/dist/tools/ga4.d.ts +50 -0
- package/dist/tools/ga4.d.ts.map +1 -0
- package/dist/tools/ga4.js +75 -0
- package/dist/tools/ga4.js.map +1 -0
- package/dist/tools/project-settings.d.ts +715 -0
- package/dist/tools/project-settings.d.ts.map +1 -0
- package/dist/tools/project-settings.js +381 -0
- package/dist/tools/project-settings.js.map +1 -0
- package/dist/tools/publishing.js +4 -4
- package/dist/tools/publishing.js.map +1 -1
- package/dist/tools/reddit.d.ts +116 -0
- package/dist/tools/reddit.d.ts.map +1 -0
- package/dist/tools/reddit.js +108 -0
- package/dist/tools/reddit.js.map +1 -0
- package/dist/tools/seo-alerts.d.ts +28 -0
- package/dist/tools/seo-alerts.d.ts.map +1 -0
- package/dist/tools/seo-alerts.js +48 -0
- package/dist/tools/seo-alerts.js.map +1 -0
- package/dist/tools/strategy-steps.d.ts +162 -0
- package/dist/tools/strategy-steps.d.ts.map +1 -0
- package/dist/tools/strategy-steps.js +342 -0
- package/dist/tools/strategy-steps.js.map +1 -0
- package/dist/tools/strategy.d.ts +6 -6
- package/dist/tools/tracking.d.ts +99 -0
- package/dist/tools/tracking.d.ts.map +1 -0
- package/dist/tools/tracking.js +148 -0
- package/dist/tools/tracking.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MCP Tools - Reddit Lead Monitoring
|
|
4
|
+
* Monitor subreddits and manage identified leads
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.redditTools = exports.updateRedditLeadSchema = exports.getRedditLeadsSchema = exports.listRedditMonitorsSchema = void 0;
|
|
8
|
+
exports.listRedditMonitors = listRedditMonitors;
|
|
9
|
+
exports.getRedditLeads = getRedditLeads;
|
|
10
|
+
exports.updateRedditLead = updateRedditLead;
|
|
11
|
+
const zod_1 = require("zod");
|
|
12
|
+
// ---- Schemas ----
|
|
13
|
+
exports.listRedditMonitorsSchema = zod_1.z.object({
|
|
14
|
+
projectId: zod_1.z.string(),
|
|
15
|
+
});
|
|
16
|
+
exports.getRedditLeadsSchema = zod_1.z.object({
|
|
17
|
+
projectId: zod_1.z.string(),
|
|
18
|
+
status: zod_1.z.enum(['new', 'contacted', 'qualified', 'converted', 'dismissed']).optional(),
|
|
19
|
+
minScore: zod_1.z.number().min(0).max(100).optional(),
|
|
20
|
+
limit: zod_1.z.number().min(1).max(100).optional(),
|
|
21
|
+
});
|
|
22
|
+
exports.updateRedditLeadSchema = zod_1.z.object({
|
|
23
|
+
leadId: zod_1.z.string(),
|
|
24
|
+
status: zod_1.z.enum(['new', 'contacted', 'qualified', 'converted', 'dismissed']),
|
|
25
|
+
notes: zod_1.z.string().optional(),
|
|
26
|
+
});
|
|
27
|
+
// ---- Handlers ----
|
|
28
|
+
async function listRedditMonitors(apiClient, args) {
|
|
29
|
+
const data = await apiClient.listRedditMonitors(args.projectId);
|
|
30
|
+
const monitors = (data.monitors || []);
|
|
31
|
+
if (monitors.length === 0) {
|
|
32
|
+
return 'No Reddit monitors configured for this project.';
|
|
33
|
+
}
|
|
34
|
+
const lines = [
|
|
35
|
+
`## Reddit Monitors (${monitors.length})\n`,
|
|
36
|
+
...monitors.map((m, i) => {
|
|
37
|
+
const keywords = m.keywords || [];
|
|
38
|
+
return `${i + 1}. **r/${m.subreddit}** ${m.displayName ? `(${m.displayName})` : ''}\n Subscribers: ${m.subscribers || 'N/A'} | Posts found: ${m.postsFound || 0} | Leads: ${m.leadsIdentified || 0}\n Keywords: ${keywords.join(', ') || 'none'}\n Active: ${m.isActive ? 'Yes' : 'No'} | Last checked: ${m.lastChecked || 'never'}`;
|
|
39
|
+
}),
|
|
40
|
+
];
|
|
41
|
+
return lines.join('\n');
|
|
42
|
+
}
|
|
43
|
+
async function getRedditLeads(apiClient, args) {
|
|
44
|
+
const data = await apiClient.getRedditLeads(args.projectId, {
|
|
45
|
+
status: args.status,
|
|
46
|
+
minScore: args.minScore,
|
|
47
|
+
limit: args.limit,
|
|
48
|
+
});
|
|
49
|
+
const leads = (data.leads || []);
|
|
50
|
+
if (leads.length === 0) {
|
|
51
|
+
return 'No Reddit leads found matching your criteria.';
|
|
52
|
+
}
|
|
53
|
+
const lines = [
|
|
54
|
+
`## Reddit Leads (${leads.length})\n`,
|
|
55
|
+
...leads.map((l, i) => {
|
|
56
|
+
const keywords = l.matchedKeywords || [];
|
|
57
|
+
return `${i + 1}. **${l.title}** (score: ${l.leadScore}/100)\n r/${l.subreddit} by u/${l.author} | Status: ${l.status} | Intent: ${l.intent || 'N/A'}\n Reason: ${l.leadReason || 'N/A'}\n Keywords: ${keywords.join(', ')}\n Link: https://reddit.com${l.permalink}`;
|
|
58
|
+
}),
|
|
59
|
+
];
|
|
60
|
+
return lines.join('\n');
|
|
61
|
+
}
|
|
62
|
+
async function updateRedditLead(apiClient, args) {
|
|
63
|
+
const data = await apiClient.updateRedditLead(args.leadId, args.status, args.notes);
|
|
64
|
+
const lead = (data.lead || {});
|
|
65
|
+
return `Lead updated (ID: ${lead.id})\nNew status: **${lead.status}**${lead.notes ? `\nNotes: ${lead.notes}` : ''}`;
|
|
66
|
+
}
|
|
67
|
+
// ---- Tool Definitions ----
|
|
68
|
+
exports.redditTools = [
|
|
69
|
+
{
|
|
70
|
+
name: 'list_reddit_monitors',
|
|
71
|
+
description: 'List monitored subreddits for a project. Shows active monitors, keywords tracked, and lead statistics.',
|
|
72
|
+
inputSchema: {
|
|
73
|
+
type: 'object',
|
|
74
|
+
properties: {
|
|
75
|
+
projectId: { type: 'string', description: 'Project ID to list monitors for' },
|
|
76
|
+
},
|
|
77
|
+
required: ['projectId'],
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'get_reddit_leads',
|
|
82
|
+
description: 'Get Reddit leads identified from monitored subreddits. Filter by status, minimum lead score, etc.',
|
|
83
|
+
inputSchema: {
|
|
84
|
+
type: 'object',
|
|
85
|
+
properties: {
|
|
86
|
+
projectId: { type: 'string', description: 'Project ID to get leads for' },
|
|
87
|
+
status: { type: 'string', description: 'Filter by status: new, contacted, qualified, converted, dismissed' },
|
|
88
|
+
minScore: { type: 'number', description: 'Minimum lead score to include (0-100)' },
|
|
89
|
+
limit: { type: 'number', description: 'Max leads to return (default 50)' },
|
|
90
|
+
},
|
|
91
|
+
required: ['projectId'],
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'update_reddit_lead',
|
|
96
|
+
description: 'Update a Reddit lead status (new, contacted, qualified, converted, dismissed). Optionally add notes.',
|
|
97
|
+
inputSchema: {
|
|
98
|
+
type: 'object',
|
|
99
|
+
properties: {
|
|
100
|
+
leadId: { type: 'string', description: 'The ID of the lead to update' },
|
|
101
|
+
status: { type: 'string', description: 'New status: new, contacted, qualified, converted, dismissed' },
|
|
102
|
+
notes: { type: 'string', description: 'Optional notes about the lead' },
|
|
103
|
+
},
|
|
104
|
+
required: ['leadId', 'status'],
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
//# sourceMappingURL=reddit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reddit.js","sourceRoot":"","sources":["../../src/tools/reddit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tools - SEO Alerts
|
|
3
|
+
* Read unread SEO alerts and alert summaries
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import type { ReauditAPIClient } from '../lib/api-client.js';
|
|
7
|
+
export declare const getSeoAlertsSchema: z.ZodObject<{
|
|
8
|
+
type: z.ZodOptional<z.ZodEnum<["unread", "summary"]>>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
type?: "unread" | "summary" | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
type?: "unread" | "summary" | undefined;
|
|
13
|
+
}>;
|
|
14
|
+
export declare function getSeoAlerts(apiClient: ReauditAPIClient, args: z.infer<typeof getSeoAlertsSchema>): Promise<string>;
|
|
15
|
+
export declare const seoAlertTools: {
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: "object";
|
|
20
|
+
properties: {
|
|
21
|
+
type: {
|
|
22
|
+
type: string;
|
|
23
|
+
description: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
}[];
|
|
28
|
+
//# sourceMappingURL=seo-alerts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seo-alerts.d.ts","sourceRoot":"","sources":["../../src/tools/seo-alerts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,eAAO,MAAM,kBAAkB;;;;;;EAE7B,CAAC;AAIH,wBAAsB,YAAY,CAChC,SAAS,EAAE,gBAAgB,EAC3B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACvC,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAID,eAAO,MAAM,aAAa;;;;;;;;;;;;GAWzB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MCP Tools - SEO Alerts
|
|
4
|
+
* Read unread SEO alerts and alert summaries
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.seoAlertTools = exports.getSeoAlertsSchema = void 0;
|
|
8
|
+
exports.getSeoAlerts = getSeoAlerts;
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
// ---- Schemas ----
|
|
11
|
+
exports.getSeoAlertsSchema = zod_1.z.object({
|
|
12
|
+
type: zod_1.z.enum(['unread', 'summary']).optional(),
|
|
13
|
+
});
|
|
14
|
+
// ---- Handlers ----
|
|
15
|
+
async function getSeoAlerts(apiClient, args) {
|
|
16
|
+
const alertType = args.type || 'unread';
|
|
17
|
+
const data = await apiClient.getSeoAlerts(alertType);
|
|
18
|
+
if (alertType === 'summary') {
|
|
19
|
+
return `## SEO Alert Summary\n\n${JSON.stringify(data, null, 2)}`;
|
|
20
|
+
}
|
|
21
|
+
const alerts = (data.alerts || []);
|
|
22
|
+
if (alerts.length === 0) {
|
|
23
|
+
return 'No unread SEO alerts. Everything looks good!';
|
|
24
|
+
}
|
|
25
|
+
const lines = [
|
|
26
|
+
`## Unread SEO Alerts (${alerts.length})\n`,
|
|
27
|
+
...alerts.map((a, i) => {
|
|
28
|
+
const severity = (a.severity || 'info').toUpperCase();
|
|
29
|
+
const change = a.changePercentage ? ` (${a.changePercentage}% change)` : '';
|
|
30
|
+
return `${i + 1}. [${severity}] **${a.alertType}**${change}\n ${a.message}\n ${a.url ? `URL: ${a.url}` : ''}`;
|
|
31
|
+
}),
|
|
32
|
+
];
|
|
33
|
+
return lines.join('\n');
|
|
34
|
+
}
|
|
35
|
+
// ---- Tool Definitions ----
|
|
36
|
+
exports.seoAlertTools = [
|
|
37
|
+
{
|
|
38
|
+
name: 'get_seo_alerts',
|
|
39
|
+
description: 'Get SEO alerts for your account. Shows unread alerts (visibility drops, crawl issues, ranking changes) or a summary of all alert activity.',
|
|
40
|
+
inputSchema: {
|
|
41
|
+
type: 'object',
|
|
42
|
+
properties: {
|
|
43
|
+
type: { type: 'string', description: 'Alert type: "unread" for all unread alerts, "summary" for aggregated alert summary (default: unread)' },
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
//# sourceMappingURL=seo-alerts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seo-alerts.js","sourceRoot":"","sources":["../../src/tools/seo-alerts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAaH,oCA2BC;AAtCD,6BAAwB;AAGxB,oBAAoB;AAEP,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEH,qBAAqB;AAEd,KAAK,UAAU,YAAY,CAChC,SAA2B,EAC3B,IAAwC;IAExC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAErD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,2BAA2B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,CAAE,IAAgC,CAAC,MAAM,IAAI,EAAE,CAAmC,CAAC;IAElG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,8CAA8C,CAAC;IACxD,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,yBAAyB,MAAM,CAAC,MAAM,KAAK;QAC3C,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAkB,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,QAAQ,OAAO,CAAC,CAAC,SAAS,KAAK,MAAM,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpH,CAAC,CAAC;KACH,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,6BAA6B;AAEhB,QAAA,aAAa,GAAG;IAC3B;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,4IAA4I;QACzJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sGAAsG,EAAE;aAC9I;SACF;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strategy Step Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tools for running GTM strategy step-by-step, reading step outputs,
|
|
5
|
+
* regenerating with additional context, and editing step content.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { ReauditAPIClient } from '../lib/api-client.js';
|
|
9
|
+
export declare const generateStrategyStepSchema: z.ZodObject<{
|
|
10
|
+
strategyId: z.ZodString;
|
|
11
|
+
moduleNumber: z.ZodNumber;
|
|
12
|
+
stepNumber: z.ZodNumber;
|
|
13
|
+
additionalContext: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, "strip", z.ZodTypeAny, {
|
|
15
|
+
strategyId: string;
|
|
16
|
+
moduleNumber: number;
|
|
17
|
+
stepNumber: number;
|
|
18
|
+
additionalContext?: string | undefined;
|
|
19
|
+
}, {
|
|
20
|
+
strategyId: string;
|
|
21
|
+
moduleNumber: number;
|
|
22
|
+
stepNumber: number;
|
|
23
|
+
additionalContext?: string | undefined;
|
|
24
|
+
}>;
|
|
25
|
+
export declare const getStrategyStepOutputSchema: z.ZodObject<{
|
|
26
|
+
strategyId: z.ZodString;
|
|
27
|
+
moduleNumber: z.ZodNumber;
|
|
28
|
+
stepNumber: z.ZodNumber;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
strategyId: string;
|
|
31
|
+
moduleNumber: number;
|
|
32
|
+
stepNumber: number;
|
|
33
|
+
}, {
|
|
34
|
+
strategyId: string;
|
|
35
|
+
moduleNumber: number;
|
|
36
|
+
stepNumber: number;
|
|
37
|
+
}>;
|
|
38
|
+
export declare const editStrategyStepSchema: z.ZodObject<{
|
|
39
|
+
strategyId: z.ZodString;
|
|
40
|
+
moduleNumber: z.ZodNumber;
|
|
41
|
+
stepNumber: z.ZodNumber;
|
|
42
|
+
content: z.ZodString;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
strategyId: string;
|
|
45
|
+
moduleNumber: number;
|
|
46
|
+
stepNumber: number;
|
|
47
|
+
content: string;
|
|
48
|
+
}, {
|
|
49
|
+
strategyId: string;
|
|
50
|
+
moduleNumber: number;
|
|
51
|
+
stepNumber: number;
|
|
52
|
+
content: string;
|
|
53
|
+
}>;
|
|
54
|
+
export declare const getStrategyStepMapSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
55
|
+
/**
|
|
56
|
+
* Generate (or regenerate) a strategy step with AI
|
|
57
|
+
*/
|
|
58
|
+
export declare function generateStrategyStep(client: ReauditAPIClient, args: z.infer<typeof generateStrategyStepSchema>): Promise<string>;
|
|
59
|
+
/**
|
|
60
|
+
* Get the full output of a completed strategy step
|
|
61
|
+
*/
|
|
62
|
+
export declare function getStrategyStepOutput(client: ReauditAPIClient, args: z.infer<typeof getStrategyStepOutputSchema>): Promise<string>;
|
|
63
|
+
/**
|
|
64
|
+
* Edit the content of a strategy step
|
|
65
|
+
*/
|
|
66
|
+
export declare function editStrategyStep(client: ReauditAPIClient, args: z.infer<typeof editStrategyStepSchema>): Promise<string>;
|
|
67
|
+
/**
|
|
68
|
+
* Get a map of all strategy modules and steps
|
|
69
|
+
* Useful as a reference to know which modules/steps are available
|
|
70
|
+
*/
|
|
71
|
+
export declare function getStrategyStepMap(): Promise<string>;
|
|
72
|
+
export declare const strategyStepTools: ({
|
|
73
|
+
name: string;
|
|
74
|
+
description: string;
|
|
75
|
+
inputSchema: {
|
|
76
|
+
type: "object";
|
|
77
|
+
properties: {
|
|
78
|
+
strategyId: {
|
|
79
|
+
type: string;
|
|
80
|
+
description: string;
|
|
81
|
+
};
|
|
82
|
+
moduleNumber: {
|
|
83
|
+
type: string;
|
|
84
|
+
description: string;
|
|
85
|
+
};
|
|
86
|
+
stepNumber: {
|
|
87
|
+
type: string;
|
|
88
|
+
description: string;
|
|
89
|
+
};
|
|
90
|
+
additionalContext: {
|
|
91
|
+
type: string;
|
|
92
|
+
description: string;
|
|
93
|
+
};
|
|
94
|
+
content?: undefined;
|
|
95
|
+
};
|
|
96
|
+
required: string[];
|
|
97
|
+
};
|
|
98
|
+
} | {
|
|
99
|
+
name: string;
|
|
100
|
+
description: string;
|
|
101
|
+
inputSchema: {
|
|
102
|
+
type: "object";
|
|
103
|
+
properties: {
|
|
104
|
+
strategyId: {
|
|
105
|
+
type: string;
|
|
106
|
+
description: string;
|
|
107
|
+
};
|
|
108
|
+
moduleNumber: {
|
|
109
|
+
type: string;
|
|
110
|
+
description: string;
|
|
111
|
+
};
|
|
112
|
+
stepNumber: {
|
|
113
|
+
type: string;
|
|
114
|
+
description: string;
|
|
115
|
+
};
|
|
116
|
+
additionalContext?: undefined;
|
|
117
|
+
content?: undefined;
|
|
118
|
+
};
|
|
119
|
+
required: string[];
|
|
120
|
+
};
|
|
121
|
+
} | {
|
|
122
|
+
name: string;
|
|
123
|
+
description: string;
|
|
124
|
+
inputSchema: {
|
|
125
|
+
type: "object";
|
|
126
|
+
properties: {
|
|
127
|
+
strategyId: {
|
|
128
|
+
type: string;
|
|
129
|
+
description: string;
|
|
130
|
+
};
|
|
131
|
+
moduleNumber: {
|
|
132
|
+
type: string;
|
|
133
|
+
description: string;
|
|
134
|
+
};
|
|
135
|
+
stepNumber: {
|
|
136
|
+
type: string;
|
|
137
|
+
description: string;
|
|
138
|
+
};
|
|
139
|
+
content: {
|
|
140
|
+
type: string;
|
|
141
|
+
description: string;
|
|
142
|
+
};
|
|
143
|
+
additionalContext?: undefined;
|
|
144
|
+
};
|
|
145
|
+
required: string[];
|
|
146
|
+
};
|
|
147
|
+
} | {
|
|
148
|
+
name: string;
|
|
149
|
+
description: string;
|
|
150
|
+
inputSchema: {
|
|
151
|
+
type: "object";
|
|
152
|
+
properties: {
|
|
153
|
+
strategyId?: undefined;
|
|
154
|
+
moduleNumber?: undefined;
|
|
155
|
+
stepNumber?: undefined;
|
|
156
|
+
additionalContext?: undefined;
|
|
157
|
+
content?: undefined;
|
|
158
|
+
};
|
|
159
|
+
required: string[];
|
|
160
|
+
};
|
|
161
|
+
})[];
|
|
162
|
+
//# sourceMappingURL=strategy-steps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-steps.d.ts","sourceRoot":"","sources":["../../src/tools/strategy-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA+DxD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAcrC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;EAItC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH,eAAO,MAAM,wBAAwB,gDAAe,CAAC;AAIrD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,GAC/C,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,GAChD,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,GAC3C,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CA0B1D;AA6CD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA6FR,MAAM,EAAE;;IAG7B,CAAC"}
|