@alvinveroy/codecompass
Version:
AI-powered MCP server for codebase navigation and LLM prompt optimization
49 lines (48 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AgentStateSchema = exports.AgentStepSchema = exports.AgentQuerySchema = exports.GetRepositoryContextSchema = exports.GenerateSuggestionSchema = exports.SearchCodeSchema = void 0;
const zod_1 = require("zod");
// Schemas
exports.SearchCodeSchema = zod_1.z.object({
query: zod_1.z.string().min(1, "Query is required"),
sessionId: zod_1.z.string().optional()
});
exports.GenerateSuggestionSchema = zod_1.z.object({
query: zod_1.z.string().min(1, "Query is required").optional(),
prompt: zod_1.z.string().min(1, "Prompt is required").optional(),
sessionId: zod_1.z.string().optional()
}).transform((data) => ({
query: data.query || data.prompt || "",
sessionId: data.sessionId
})).refine(data => data.query.length > 0, {
message: "Either query or prompt must be a non-empty string",
path: ["query"],
});
exports.GetRepositoryContextSchema = zod_1.z.object({
query: zod_1.z.string().min(1, "Query is required"),
sessionId: zod_1.z.string().optional()
}).or(zod_1.z.string().min(1, "Query is required").transform(query => ({ query })));
// FeedbackSchema removed
// Agent schema
exports.AgentQuerySchema = zod_1.z.object({
query: zod_1.z.string().min(1, "Query is required"),
sessionId: zod_1.z.string().optional()
// maxSteps removed
});
// Zod schema for AgentStep
exports.AgentStepSchema = zod_1.z.object({
tool: zod_1.z.string(),
input: zod_1.z.unknown(),
output: zod_1.z.unknown(),
reasoning: zod_1.z.string(),
});
// Zod schema for AgentState
exports.AgentStateSchema = zod_1.z.object({
sessionId: zod_1.z.string(),
query: zod_1.z.string(),
planText: zod_1.z.string().optional(),
steps: zod_1.z.array(exports.AgentStepSchema),
context: zod_1.z.array(zod_1.z.unknown()),
finalResponse: zod_1.z.string().optional(),
isComplete: zod_1.z.boolean(),
});