mcp-docs-service 0.2.0 → 0.2.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/LICENSE +1 -1
  3. package/README.md +29 -57
  4. package/dist/handlers/docs.d.ts +17 -0
  5. package/dist/handlers/docs.js +280 -0
  6. package/dist/handlers/docs.js.map +1 -0
  7. package/dist/handlers/file.d.ts +32 -0
  8. package/dist/handlers/file.js +222 -0
  9. package/dist/handlers/file.js.map +1 -0
  10. package/dist/handlers/index.d.ts +1 -0
  11. package/dist/handlers/index.js +3 -0
  12. package/dist/handlers/index.js.map +1 -0
  13. package/dist/index.d.ts +2 -24
  14. package/dist/index.js +431 -49
  15. package/dist/index.js.map +1 -1
  16. package/dist/schemas/index.d.ts +1 -0
  17. package/dist/schemas/index.js +3 -0
  18. package/dist/schemas/index.js.map +1 -0
  19. package/dist/schemas/tools.d.ts +141 -0
  20. package/dist/schemas/tools.js +46 -0
  21. package/dist/schemas/tools.js.map +1 -0
  22. package/dist/types/docs.d.ts +49 -0
  23. package/dist/types/docs.js +2 -0
  24. package/dist/types/docs.js.map +1 -0
  25. package/dist/types/file.d.ts +21 -0
  26. package/dist/types/file.js +2 -0
  27. package/dist/types/file.js.map +1 -0
  28. package/dist/types/index.d.ts +34 -43
  29. package/dist/types/index.js +3 -5
  30. package/dist/types/index.js.map +1 -1
  31. package/dist/types/tools.d.ts +11 -0
  32. package/dist/types/tools.js +2 -0
  33. package/dist/types/tools.js.map +1 -0
  34. package/dist/utils/file.d.ts +24 -0
  35. package/dist/utils/file.js +94 -0
  36. package/dist/utils/file.js.map +1 -0
  37. package/dist/utils/index.d.ts +1 -60
  38. package/dist/utils/index.js +2 -151
  39. package/dist/utils/index.js.map +1 -1
  40. package/dist/utils/path.d.ts +16 -0
  41. package/dist/utils/path.js +39 -0
  42. package/dist/utils/path.js.map +1 -0
  43. package/package.json +20 -8
  44. package/dist/cli/bin.d.ts +0 -6
  45. package/dist/cli/bin.js +0 -49
  46. package/dist/cli/bin.js.map +0 -1
  47. package/dist/cli/index.d.ts +0 -16
  48. package/dist/cli/index.js +0 -108
  49. package/dist/cli/index.js.map +0 -1
  50. package/dist/cli/jsonrpc.d.ts +0 -29
  51. package/dist/cli/jsonrpc.js +0 -121
  52. package/dist/cli/jsonrpc.js.map +0 -1
  53. package/dist/core/docAnalyzer.d.ts +0 -25
  54. package/dist/core/docAnalyzer.js +0 -118
  55. package/dist/core/docAnalyzer.js.map +0 -1
  56. package/dist/core/docManager.d.ts +0 -48
  57. package/dist/core/docManager.js +0 -257
  58. package/dist/core/docManager.js.map +0 -1
  59. package/dist/core/docProcessor.d.ts +0 -20
  60. package/dist/core/docProcessor.js +0 -127
  61. package/dist/core/docProcessor.js.map +0 -1
  62. package/dist/core/mcpDocsServer.d.ts +0 -61
  63. package/dist/core/mcpDocsServer.js +0 -395
  64. package/dist/core/mcpDocsServer.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,52 +1,434 @@
1
- "use strict";
2
- /**
3
- * MCP Documentation Management Service
4
- * Main entry point for the package
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
1
+ #!/usr/bin/env node
2
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
3
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
5
+ import fs from "fs/promises";
6
+ import path from "path";
7
+ import { zodToJsonSchema } from "zod-to-json-schema";
8
+ import matter from "gray-matter";
9
+ // Import utility functions
10
+ import { normalizePath, expandHome, validatePath } from "./utils/path.js";
11
+ // Import handlers
12
+ import * as DocsHandlers from "./handlers/docs.js";
13
+ // Import schemas
14
+ import * as ToolSchemas from "./schemas/tools.js";
15
+ // Command line argument parsing
16
+ const args = process.argv.slice(2);
17
+ if (args.length === 0) {
18
+ console.error("Usage: mcp-server-filesystem <allowed-directory> [additional-directories...]");
19
+ process.exit(1);
20
+ }
21
+ // Store allowed directories in normalized form
22
+ const allowedDirectories = args.map((dir) => normalizePath(path.resolve(expandHome(dir))));
23
+ // Validate that all directories exist and are accessible
24
+ await Promise.all(args.map(async (dir) => {
25
+ try {
26
+ const stats = await fs.stat(dir);
27
+ if (!stats.isDirectory()) {
28
+ console.error(`Error: ${dir} is not a directory`);
29
+ process.exit(1);
30
+ }
31
+ }
32
+ catch (error) {
33
+ console.error(`Error accessing directory ${dir}:`, error);
34
+ process.exit(1);
11
35
  }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
36
  }));
17
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.query = void 0;
22
- // Export core functionality
23
- __exportStar(require("./core/docManager.js"), exports);
24
- __exportStar(require("./core/docProcessor.js"), exports);
25
- __exportStar(require("./core/docAnalyzer.js"), exports);
26
- __exportStar(require("./core/mcpDocsServer.js"), exports);
27
- // Export types
28
- __exportStar(require("./types/index.js"), exports);
29
- // Export utility functions
30
- __exportStar(require("./utils/index.js"), exports);
31
- // Import core components
32
- const mcpDocsServer_js_1 = require("./core/mcpDocsServer.js");
33
- /**
34
- * MCP Query function that can be registered with Cursor's MCP system
35
- * @param sql - The SQL-like query to execute
36
- * @param options - Options for the MCP server
37
- * @returns The query result
38
- */
39
- async function query(sql, options = {}) {
40
- // Create a server instance with the specified options
41
- const server = new mcpDocsServer_js_1.MCPDocsServer(options.docsDir || "./docs", {
42
- createIfNotExists: options.createIfNotExists,
43
- fileExtensions: options.fileExtensions,
44
- });
45
- // Execute the query
46
- return await server.executeQuery(sql);
47
- }
48
- exports.query = query;
49
- // Create and export singleton instance with default options
50
- const mcpDocsServer = new mcpDocsServer_js_1.MCPDocsServer("./docs", { createIfNotExists: true });
51
- exports.default = mcpDocsServer;
37
+ // Create server
38
+ const server = new Server({
39
+ name: "secure-filesystem-server",
40
+ version: "0.2.0",
41
+ }, {
42
+ capabilities: {
43
+ tools: {},
44
+ },
45
+ });
46
+ // Define tools
47
+ // ===================================================================
48
+ // DOCUMENTATION TOOLS
49
+ // ===================================================================
50
+ // These tools are specifically designed for working with documentation
51
+ // files (markdown with frontmatter)
52
+ const documentationTools = [
53
+ // Read document - reads a markdown document and extracts its content and metadata
54
+ {
55
+ name: "read_document",
56
+ description: "Read a markdown document and extract its content and metadata",
57
+ schema: ToolSchemas.ReadDocumentSchema,
58
+ handler: async (args) => {
59
+ return await DocsHandlers.readDocument(args.path, allowedDirectories);
60
+ },
61
+ },
62
+ // List documents - lists all markdown documents in a directory
63
+ {
64
+ name: "list_documents",
65
+ description: "List all markdown documents in a directory",
66
+ schema: ToolSchemas.ListDocumentsSchema,
67
+ handler: async (args) => {
68
+ return await DocsHandlers.listDocuments(args.basePath || "", allowedDirectories);
69
+ },
70
+ },
71
+ // Get structure - gets the structure of the documentation directory
72
+ {
73
+ name: "get_structure",
74
+ description: "Get the structure of the documentation directory",
75
+ schema: ToolSchemas.GetStructureSchema,
76
+ handler: async (args) => {
77
+ return await DocsHandlers.getStructure(args.basePath || "", allowedDirectories);
78
+ },
79
+ },
80
+ // Get navigation - gets the navigation structure for the documentation
81
+ {
82
+ name: "get_navigation",
83
+ description: "Get the navigation structure for the documentation",
84
+ schema: ToolSchemas.GetNavigationSchema,
85
+ handler: async (args) => {
86
+ return await DocsHandlers.getNavigation(args.basePath || "", allowedDirectories);
87
+ },
88
+ },
89
+ // Get docs knowledge base - creates a comprehensive knowledge base of documentation
90
+ {
91
+ name: "get_docs_knowledge_base",
92
+ description: "Create a comprehensive knowledge base of documentation for LLM context",
93
+ schema: ToolSchemas.GetDocsKnowledgeBaseSchema,
94
+ handler: async (args) => {
95
+ try {
96
+ // First get the navigation structure
97
+ const navResult = await DocsHandlers.getNavigation(args.basePath || "", allowedDirectories);
98
+ if (navResult.isError) {
99
+ return navResult;
100
+ }
101
+ // Get all documents
102
+ const docsResult = await DocsHandlers.listDocuments(args.basePath || "", allowedDirectories);
103
+ if (docsResult.isError) {
104
+ return docsResult;
105
+ }
106
+ const documents = docsResult.metadata?.documents || [];
107
+ const navigation = navResult.metadata?.navigation || [];
108
+ // Create a map of path to document for quick lookup
109
+ const documentMap = new Map();
110
+ documents.forEach((doc) => {
111
+ documentMap.set(doc.path, doc);
112
+ });
113
+ // Create knowledge base structure
114
+ const knowledgeBase = {
115
+ navigation,
116
+ documents: [],
117
+ categories: {},
118
+ tags: {},
119
+ };
120
+ // Process documents to extract summaries if requested
121
+ const includeSummaries = args.includeSummaries !== false; // Default to true
122
+ const maxSummaryLength = args.maxSummaryLength || 500;
123
+ // Process all documents
124
+ for (const doc of documents) {
125
+ // Create document entry with metadata
126
+ const docEntry = {
127
+ path: doc.path,
128
+ name: doc.name,
129
+ metadata: doc.metadata || {},
130
+ };
131
+ // Add summary if requested
132
+ if (includeSummaries) {
133
+ try {
134
+ const docContent = await DocsHandlers.readDocument(doc.path, allowedDirectories);
135
+ if (!docContent.isError && docContent.metadata?.content) {
136
+ // Extract a summary (first few paragraphs)
137
+ const content = docContent.metadata.content;
138
+ const paragraphs = content.split("\n\n");
139
+ let summary = "";
140
+ // Get first few paragraphs up to maxSummaryLength
141
+ for (const para of paragraphs) {
142
+ if (summary.length + para.length <= maxSummaryLength) {
143
+ summary += para + "\n\n";
144
+ }
145
+ else {
146
+ // Add partial paragraph to reach maxSummaryLength
147
+ const remainingLength = maxSummaryLength - summary.length;
148
+ if (remainingLength > 0) {
149
+ summary += para.substring(0, remainingLength) + "...";
150
+ }
151
+ break;
152
+ }
153
+ }
154
+ docEntry.summary = summary.trim();
155
+ }
156
+ }
157
+ catch (error) {
158
+ // Skip summary if there's an error
159
+ docEntry.summary = "Error generating summary";
160
+ }
161
+ }
162
+ // Add to knowledge base
163
+ knowledgeBase.documents.push(docEntry);
164
+ // Organize by categories (based on directory structure)
165
+ const dirPath = path.dirname(doc.path);
166
+ if (!knowledgeBase.categories[dirPath]) {
167
+ knowledgeBase.categories[dirPath] = [];
168
+ }
169
+ knowledgeBase.categories[dirPath].push(docEntry);
170
+ // Organize by tags
171
+ if (doc.metadata?.tags) {
172
+ for (const tag of doc.metadata.tags) {
173
+ if (!knowledgeBase.tags[tag]) {
174
+ knowledgeBase.tags[tag] = [];
175
+ }
176
+ knowledgeBase.tags[tag].push(docEntry);
177
+ }
178
+ }
179
+ }
180
+ return {
181
+ content: [
182
+ {
183
+ type: "text",
184
+ text: `Generated knowledge base with ${knowledgeBase.documents.length} documents`,
185
+ },
186
+ ],
187
+ metadata: {
188
+ knowledgeBase,
189
+ },
190
+ };
191
+ }
192
+ catch (error) {
193
+ return {
194
+ content: [
195
+ {
196
+ type: "text",
197
+ text: `Error generating knowledge base: ${error.message}`,
198
+ },
199
+ ],
200
+ isError: true,
201
+ };
202
+ }
203
+ },
204
+ },
205
+ // Write document - writes content to a markdown document with frontmatter
206
+ {
207
+ name: "write_document",
208
+ description: "Write content to a markdown document with frontmatter",
209
+ schema: ToolSchemas.WriteDocumentSchema,
210
+ handler: async (args) => {
211
+ try {
212
+ const normalizedPath = await validatePath(args.path, allowedDirectories);
213
+ // Convert metadata to frontmatter and combine with content
214
+ const frontmatter = args.metadata
215
+ ? matter.stringify(args.content, args.metadata)
216
+ : args.content;
217
+ // Ensure the directory exists
218
+ const dirPath = path.dirname(normalizedPath);
219
+ await fs.mkdir(dirPath, { recursive: true });
220
+ // Write the file
221
+ await fs.writeFile(normalizedPath, frontmatter);
222
+ return {
223
+ content: [{ type: "text", text: "Document written successfully" }],
224
+ metadata: {
225
+ path: args.path,
226
+ },
227
+ };
228
+ }
229
+ catch (error) {
230
+ return {
231
+ content: [
232
+ { type: "text", text: `Error writing document: ${error.message}` },
233
+ ],
234
+ isError: true,
235
+ };
236
+ }
237
+ },
238
+ },
239
+ // Edit document - applies edits to a markdown document while preserving frontmatter
240
+ {
241
+ name: "edit_document",
242
+ description: "Apply edits to a markdown document while preserving frontmatter",
243
+ schema: ToolSchemas.EditDocumentSchema,
244
+ handler: async (args) => {
245
+ try {
246
+ // First read the document to get its current content and metadata
247
+ const docResult = await DocsHandlers.readDocument(args.path, allowedDirectories);
248
+ if (docResult.isError) {
249
+ return docResult;
250
+ }
251
+ const normalizedPath = await validatePath(args.path, allowedDirectories);
252
+ // Read the current content
253
+ const content = await fs.readFile(normalizedPath, "utf-8");
254
+ // Apply edits
255
+ let newContent = content;
256
+ let appliedEdits = 0;
257
+ for (const edit of args.edits) {
258
+ if (newContent.includes(edit.oldText)) {
259
+ newContent = newContent.replace(edit.oldText, edit.newText);
260
+ appliedEdits++;
261
+ }
262
+ }
263
+ // Write the updated content
264
+ await fs.writeFile(normalizedPath, newContent);
265
+ return {
266
+ content: [{ type: "text", text: "Document edited successfully" }],
267
+ metadata: {
268
+ path: args.path,
269
+ appliedEdits,
270
+ },
271
+ };
272
+ }
273
+ catch (error) {
274
+ return {
275
+ content: [
276
+ { type: "text", text: `Error editing document: ${error.message}` },
277
+ ],
278
+ isError: true,
279
+ };
280
+ }
281
+ },
282
+ },
283
+ // Delete document - deletes a markdown document
284
+ {
285
+ name: "delete_document",
286
+ description: "Delete a markdown document",
287
+ schema: ToolSchemas.DeleteDocumentSchema,
288
+ handler: async (args) => {
289
+ try {
290
+ const normalizedPath = await validatePath(args.path, allowedDirectories);
291
+ // Check if the file exists and is a markdown file
292
+ const stats = await fs.stat(normalizedPath);
293
+ if (!stats.isFile() || !normalizedPath.endsWith(".md")) {
294
+ return {
295
+ content: [
296
+ {
297
+ type: "text",
298
+ text: `Error: ${args.path} is not a markdown document`,
299
+ },
300
+ ],
301
+ isError: true,
302
+ };
303
+ }
304
+ // Delete the file
305
+ await fs.unlink(normalizedPath);
306
+ return {
307
+ content: [{ type: "text", text: "Document deleted successfully" }],
308
+ metadata: {
309
+ path: args.path,
310
+ },
311
+ };
312
+ }
313
+ catch (error) {
314
+ return {
315
+ content: [
316
+ { type: "text", text: `Error deleting document: ${error.message}` },
317
+ ],
318
+ isError: true,
319
+ };
320
+ }
321
+ },
322
+ },
323
+ // Search documents - searches for markdown documents matching criteria
324
+ {
325
+ name: "search_documents",
326
+ description: "Search for markdown documents matching criteria",
327
+ schema: ToolSchemas.SearchDocumentsSchema,
328
+ handler: async (args) => {
329
+ try {
330
+ // Get the list of documents first
331
+ const listResult = await DocsHandlers.listDocuments(args.basePath || "", allowedDirectories);
332
+ if (listResult.isError) {
333
+ return listResult;
334
+ }
335
+ let documents = listResult.metadata?.documents || [];
336
+ // Filter by query if provided
337
+ if (args.query) {
338
+ documents = documents.filter((doc) => {
339
+ // Check if query matches document path, name, or metadata
340
+ const docString = JSON.stringify(doc).toLowerCase();
341
+ return docString.includes(args.query.toLowerCase());
342
+ });
343
+ }
344
+ // Filter by tags if provided
345
+ if (args.tags && args.tags.length > 0) {
346
+ documents = documents.filter((doc) => {
347
+ const docTags = doc.metadata?.tags || [];
348
+ return args.tags.some((tag) => docTags.includes(tag));
349
+ });
350
+ }
351
+ // Filter by status if provided
352
+ if (args.status) {
353
+ documents = documents.filter((doc) => doc.metadata?.status === args.status);
354
+ }
355
+ return {
356
+ content: [
357
+ {
358
+ type: "text",
359
+ text: `Found ${documents.length} matching documents`,
360
+ },
361
+ ],
362
+ metadata: {
363
+ documents,
364
+ },
365
+ };
366
+ }
367
+ catch (error) {
368
+ return {
369
+ content: [
370
+ {
371
+ type: "text",
372
+ text: `Error searching documents: ${error.message}`,
373
+ },
374
+ ],
375
+ isError: true,
376
+ };
377
+ }
378
+ },
379
+ },
380
+ ];
381
+ // Combine all tools
382
+ const tools = [...documentationTools];
383
+ // Register tool handlers
384
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
385
+ return {
386
+ tools: tools.map((tool) => ({
387
+ name: tool.name,
388
+ description: tool.description,
389
+ inputSchema: zodToJsonSchema(tool.schema),
390
+ })),
391
+ };
392
+ });
393
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
394
+ const { name, arguments: args } = request.params;
395
+ // Find the requested tool
396
+ const tool = tools.find((t) => t.name === name);
397
+ if (!tool) {
398
+ return {
399
+ result: {
400
+ content: [
401
+ {
402
+ type: "text",
403
+ text: `Tool not found: ${name}`,
404
+ },
405
+ ],
406
+ isError: true,
407
+ },
408
+ };
409
+ }
410
+ try {
411
+ // Parse and validate arguments
412
+ const parsedArgs = tool.schema.parse(args);
413
+ // Call the tool handler with the appropriate type
414
+ const result = await tool.handler(parsedArgs);
415
+ return { result };
416
+ }
417
+ catch (error) {
418
+ return {
419
+ result: {
420
+ content: [
421
+ {
422
+ type: "text",
423
+ text: `Error calling tool ${name}: ${error.message}`,
424
+ },
425
+ ],
426
+ isError: true,
427
+ },
428
+ };
429
+ }
430
+ });
431
+ // Connect to transport and start the server
432
+ const transport = new StdioServerTransport();
433
+ await server.connect(transport);
52
434
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,4BAA4B;AAC5B,uDAAqC;AACrC,yDAAuC;AACvC,wDAAsC;AACtC,0DAAwC;AAExC,eAAe;AACf,mDAAiC;AAEjC,2BAA2B;AAC3B,mDAAiC;AAEjC,yBAAyB;AACzB,8DAAwD;AAExD;;;;;GAKG;AACI,KAAK,UAAU,KAAK,CACzB,GAAW,EACX,UAII,EAAE;IAEN,sDAAsD;IACtD,MAAM,MAAM,GAAG,IAAI,gCAAa,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,EAAE;QAC5D,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAC;IAEH,oBAAoB;IACpB,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAhBD,sBAgBC;AAED,4DAA4D;AAC5D,MAAM,aAAa,GAAG,IAAI,gCAAa,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/E,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./tools.js";
@@ -0,0 +1,3 @@
1
+ // Re-export all schemas
2
+ export * from "./tools.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,141 @@
1
+ import { z } from "zod";
2
+ export declare const ToolInputSchema: z.ZodObject<{
3
+ path: z.ZodOptional<z.ZodString>;
4
+ }, "strip", z.ZodTypeAny, {
5
+ path?: string | undefined;
6
+ }, {
7
+ path?: string | undefined;
8
+ }>;
9
+ export declare const ReadDocumentSchema: z.ZodObject<z.objectUtil.extendShape<{
10
+ path: z.ZodOptional<z.ZodString>;
11
+ }, {
12
+ path: z.ZodString;
13
+ }>, "strip", z.ZodTypeAny, {
14
+ path: string;
15
+ }, {
16
+ path: string;
17
+ }>;
18
+ export declare const ListDocumentsSchema: z.ZodObject<z.objectUtil.extendShape<{
19
+ path: z.ZodOptional<z.ZodString>;
20
+ }, {
21
+ basePath: z.ZodOptional<z.ZodString>;
22
+ }>, "strip", z.ZodTypeAny, {
23
+ path?: string | undefined;
24
+ basePath?: string | undefined;
25
+ }, {
26
+ path?: string | undefined;
27
+ basePath?: string | undefined;
28
+ }>;
29
+ export declare const GetStructureSchema: z.ZodObject<z.objectUtil.extendShape<{
30
+ path: z.ZodOptional<z.ZodString>;
31
+ }, {
32
+ basePath: z.ZodOptional<z.ZodString>;
33
+ }>, "strip", z.ZodTypeAny, {
34
+ path?: string | undefined;
35
+ basePath?: string | undefined;
36
+ }, {
37
+ path?: string | undefined;
38
+ basePath?: string | undefined;
39
+ }>;
40
+ export declare const GetNavigationSchema: z.ZodObject<z.objectUtil.extendShape<{
41
+ path: z.ZodOptional<z.ZodString>;
42
+ }, {
43
+ basePath: z.ZodOptional<z.ZodString>;
44
+ }>, "strip", z.ZodTypeAny, {
45
+ path?: string | undefined;
46
+ basePath?: string | undefined;
47
+ }, {
48
+ path?: string | undefined;
49
+ basePath?: string | undefined;
50
+ }>;
51
+ export declare const GetDocsKnowledgeBaseSchema: z.ZodObject<z.objectUtil.extendShape<{
52
+ path: z.ZodOptional<z.ZodString>;
53
+ }, {
54
+ basePath: z.ZodOptional<z.ZodString>;
55
+ includeSummaries: z.ZodOptional<z.ZodBoolean>;
56
+ maxSummaryLength: z.ZodOptional<z.ZodNumber>;
57
+ }>, "strip", z.ZodTypeAny, {
58
+ path?: string | undefined;
59
+ basePath?: string | undefined;
60
+ includeSummaries?: boolean | undefined;
61
+ maxSummaryLength?: number | undefined;
62
+ }, {
63
+ path?: string | undefined;
64
+ basePath?: string | undefined;
65
+ includeSummaries?: boolean | undefined;
66
+ maxSummaryLength?: number | undefined;
67
+ }>;
68
+ export declare const WriteDocumentSchema: z.ZodObject<z.objectUtil.extendShape<{
69
+ path: z.ZodOptional<z.ZodString>;
70
+ }, {
71
+ path: z.ZodString;
72
+ content: z.ZodString;
73
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
74
+ }>, "strip", z.ZodTypeAny, {
75
+ content: string;
76
+ path: string;
77
+ metadata?: Record<string, any> | undefined;
78
+ }, {
79
+ content: string;
80
+ path: string;
81
+ metadata?: Record<string, any> | undefined;
82
+ }>;
83
+ export declare const EditDocumentSchema: z.ZodObject<z.objectUtil.extendShape<{
84
+ path: z.ZodOptional<z.ZodString>;
85
+ }, {
86
+ path: z.ZodString;
87
+ edits: z.ZodArray<z.ZodObject<{
88
+ oldText: z.ZodString;
89
+ newText: z.ZodString;
90
+ }, "strip", z.ZodTypeAny, {
91
+ oldText: string;
92
+ newText: string;
93
+ }, {
94
+ oldText: string;
95
+ newText: string;
96
+ }>, "many">;
97
+ }>, "strip", z.ZodTypeAny, {
98
+ path: string;
99
+ edits: {
100
+ oldText: string;
101
+ newText: string;
102
+ }[];
103
+ }, {
104
+ path: string;
105
+ edits: {
106
+ oldText: string;
107
+ newText: string;
108
+ }[];
109
+ }>;
110
+ export declare const DeleteDocumentSchema: z.ZodObject<z.objectUtil.extendShape<{
111
+ path: z.ZodOptional<z.ZodString>;
112
+ }, {
113
+ path: z.ZodString;
114
+ }>, "strip", z.ZodTypeAny, {
115
+ path: string;
116
+ }, {
117
+ path: string;
118
+ }>;
119
+ export declare const SearchDocumentsSchema: z.ZodObject<z.objectUtil.extendShape<{
120
+ path: z.ZodOptional<z.ZodString>;
121
+ }, {
122
+ basePath: z.ZodOptional<z.ZodString>;
123
+ query: z.ZodOptional<z.ZodString>;
124
+ excludePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
125
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
126
+ status: z.ZodOptional<z.ZodString>;
127
+ }>, "strip", z.ZodTypeAny, {
128
+ tags?: string[] | undefined;
129
+ status?: string | undefined;
130
+ path?: string | undefined;
131
+ basePath?: string | undefined;
132
+ query?: string | undefined;
133
+ excludePatterns?: string[] | undefined;
134
+ }, {
135
+ tags?: string[] | undefined;
136
+ status?: string | undefined;
137
+ path?: string | undefined;
138
+ basePath?: string | undefined;
139
+ query?: string | undefined;
140
+ excludePatterns?: string[] | undefined;
141
+ }>;