@epiccontext/mcp 0.1.55 → 0.1.57

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 (101) hide show
  1. package/dist/api/client.d.ts +27 -1
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +102 -0
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/cli/commands/add-app.d.ts +9 -0
  6. package/dist/cli/commands/add-app.d.ts.map +1 -0
  7. package/dist/cli/commands/add-app.js +111 -0
  8. package/dist/cli/commands/add-app.js.map +1 -0
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +37 -16
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/cli/commands/pull.d.ts +2 -0
  13. package/dist/cli/commands/pull.d.ts.map +1 -1
  14. package/dist/cli/commands/pull.js +122 -67
  15. package/dist/cli/commands/pull.js.map +1 -1
  16. package/dist/cli/commands/push.d.ts +2 -0
  17. package/dist/cli/commands/push.d.ts.map +1 -1
  18. package/dist/cli/commands/push.js +130 -75
  19. package/dist/cli/commands/push.js.map +1 -1
  20. package/dist/cli/commands/serve.d.ts.map +1 -1
  21. package/dist/cli/commands/serve.js +2 -1
  22. package/dist/cli/commands/serve.js.map +1 -1
  23. package/dist/cli/commands/status.d.ts.map +1 -1
  24. package/dist/cli/commands/status.js +21 -3
  25. package/dist/cli/commands/status.js.map +1 -1
  26. package/dist/cli/commands/validate.d.ts.map +1 -1
  27. package/dist/cli/commands/validate.js +6 -5
  28. package/dist/cli/commands/validate.js.map +1 -1
  29. package/dist/cli/config.d.ts +4 -0
  30. package/dist/cli/config.d.ts.map +1 -1
  31. package/dist/cli/config.js +20 -0
  32. package/dist/cli/config.js.map +1 -1
  33. package/dist/cli/files.d.ts +9 -1
  34. package/dist/cli/files.d.ts.map +1 -1
  35. package/dist/cli/files.js +147 -31
  36. package/dist/cli/files.js.map +1 -1
  37. package/dist/cli/index.d.ts.map +1 -1
  38. package/dist/cli/index.js +12 -0
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/mcp/server.d.ts +1 -0
  41. package/dist/mcp/server.d.ts.map +1 -1
  42. package/dist/mcp/server.js +12 -0
  43. package/dist/mcp/server.js.map +1 -1
  44. package/dist/mcp/tools/list-documents.d.ts +10 -0
  45. package/dist/mcp/tools/list-documents.d.ts.map +1 -0
  46. package/dist/mcp/tools/list-documents.js +86 -0
  47. package/dist/mcp/tools/list-documents.js.map +1 -0
  48. package/dist/mcp/tools/read-document.d.ts +10 -0
  49. package/dist/mcp/tools/read-document.d.ts.map +1 -0
  50. package/dist/mcp/tools/read-document.js +119 -0
  51. package/dist/mcp/tools/read-document.js.map +1 -0
  52. package/dist/mcp/tools/sync-all.d.ts.map +1 -1
  53. package/dist/mcp/tools/sync-all.js +9 -0
  54. package/dist/mcp/tools/sync-all.js.map +1 -1
  55. package/dist/mcp/tools/sync-documents.d.ts +10 -0
  56. package/dist/mcp/tools/sync-documents.d.ts.map +1 -0
  57. package/dist/mcp/tools/sync-documents.js +89 -0
  58. package/dist/mcp/tools/sync-documents.js.map +1 -0
  59. package/dist/mcp/tools/sync-from-app.d.ts.map +1 -1
  60. package/dist/mcp/tools/sync-from-app.js +6 -0
  61. package/dist/mcp/tools/sync-from-app.js.map +1 -1
  62. package/dist/mcp/tools/sync-to-app.d.ts.map +1 -1
  63. package/dist/mcp/tools/sync-to-app.js +6 -0
  64. package/dist/mcp/tools/sync-to-app.js.map +1 -1
  65. package/dist/skills/generator.d.ts.map +1 -1
  66. package/dist/skills/generator.js +98 -5
  67. package/dist/skills/generator.js.map +1 -1
  68. package/dist/sync/deletions.d.ts +31 -0
  69. package/dist/sync/deletions.d.ts.map +1 -0
  70. package/dist/sync/deletions.js +110 -0
  71. package/dist/sync/deletions.js.map +1 -0
  72. package/dist/sync/document-files.d.ts +31 -0
  73. package/dist/sync/document-files.d.ts.map +1 -0
  74. package/dist/sync/document-files.js +98 -0
  75. package/dist/sync/document-files.js.map +1 -0
  76. package/dist/sync/document-manifest.d.ts +22 -0
  77. package/dist/sync/document-manifest.d.ts.map +1 -0
  78. package/dist/sync/document-manifest.js +55 -0
  79. package/dist/sync/document-manifest.js.map +1 -0
  80. package/dist/sync/document-pull.d.ts +16 -0
  81. package/dist/sync/document-pull.d.ts.map +1 -0
  82. package/dist/sync/document-pull.js +149 -0
  83. package/dist/sync/document-pull.js.map +1 -0
  84. package/dist/sync/document-push.d.ts +14 -0
  85. package/dist/sync/document-push.d.ts.map +1 -0
  86. package/dist/sync/document-push.js +107 -0
  87. package/dist/sync/document-push.js.map +1 -0
  88. package/dist/sync/pull.d.ts +4 -0
  89. package/dist/sync/pull.d.ts.map +1 -1
  90. package/dist/sync/pull.js +91 -0
  91. package/dist/sync/pull.js.map +1 -1
  92. package/dist/sync/push.d.ts +4 -0
  93. package/dist/sync/push.d.ts.map +1 -1
  94. package/dist/sync/push.js +44 -1
  95. package/dist/sync/push.js.map +1 -1
  96. package/dist/sync/watcher.d.ts.map +1 -1
  97. package/dist/sync/watcher.js +25 -5
  98. package/dist/sync/watcher.js.map +1 -1
  99. package/dist/types/index.d.ts +127 -0
  100. package/dist/types/index.d.ts.map +1 -1
  101. package/package.json +1 -1
package/dist/cli/index.js CHANGED
@@ -11,6 +11,7 @@ import { serveCommand } from "./commands/serve.js";
11
11
  import { validateCommand } from "./commands/validate.js";
12
12
  import { generateSkillsCommand } from "./commands/generate-skills.js";
13
13
  import { addStorybookCommand } from "./commands/add-storybook.js";
14
+ import { addAppCommand } from "./commands/add-app.js";
14
15
  const program = new Command();
15
16
  program
16
17
  .name("epiccontext")
@@ -50,6 +51,8 @@ program
50
51
  .option("-f, --force", "Overwrite local changes without confirmation")
51
52
  .option("--delete-orphans", "Delete local files that don't exist in cloud (use with caution)")
52
53
  .option("--with-skills", "Generate .claude/skills/ for AI coding agents (Claude Code)")
54
+ .option("--with-documents", "Also pull documents from cloud")
55
+ .option("--documents-only", "Only pull documents (skip CONTEXT)")
53
56
  .action(pullCommand);
54
57
  // Push command - push to cloud (always overwrites cloud with local)
55
58
  program
@@ -57,6 +60,8 @@ program
57
60
  .description("Push local changes to cloud (overwrites cloud version)")
58
61
  .option("-s, --section <type>", "Only push specific section")
59
62
  .option("-d, --dry-run", "Preview changes without applying them")
63
+ .option("--with-documents", "Also push documents to cloud")
64
+ .option("--documents-only", "Only push documents (skip CONTEXT)")
60
65
  .action(pushCommand);
61
66
  // Watch command - auto-push on file changes (local → cloud only)
62
67
  program
@@ -86,6 +91,13 @@ program
86
91
  .description("Add pre-configured Storybook template with JWT authentication")
87
92
  .option("-f, --force", "Overwrite existing files")
88
93
  .action(addStorybookCommand);
94
+ // Add app command - register a code repository
95
+ program
96
+ .command("add-app")
97
+ .argument("<path>", "Path to the app/code repository")
98
+ .description("Register a code repository as an app within the project")
99
+ .option("-n, --name <name>", "App name (defaults to folder name)")
100
+ .action(addAppCommand);
89
101
  // Error handling
90
102
  program.exitOverride();
91
103
  export async function run() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { EpicContextConfig, PartialEpicContextConfig } from "../types/index
3
3
  export interface McpServerConfig {
4
4
  client: EpicContextClient | null;
5
5
  contextPath: string;
6
+ documentsPath?: string;
6
7
  config: EpicContextConfig | PartialEpicContextConfig;
7
8
  isConfigured?: boolean;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAarF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,GAAG,wBAAwB,CAAC;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,YAAY,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqHjF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAgBrF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,iBAAiB,GAAG,wBAAwB,CAAC;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,YAAY,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiIjF"}
@@ -11,6 +11,9 @@ import { listBlocksTool, handleListBlocks } from "./tools/list-blocks.js";
11
11
  import { updateBlockTool, handleUpdateBlock } from "./tools/update-block.js";
12
12
  import { createBlockTool, handleCreateBlock } from "./tools/create-block.js";
13
13
  import { readContextTool, handleReadContext } from "./tools/read-context.js";
14
+ import { listDocumentsTool, handleListDocuments } from "./tools/list-documents.js";
15
+ import { readDocumentTool, handleReadDocument } from "./tools/read-document.js";
16
+ import { syncDocumentsTool, handleSyncDocuments } from "./tools/sync-documents.js";
14
17
  /**
15
18
  * Start the MCP server
16
19
  */
@@ -36,6 +39,9 @@ export async function startMcpServer(serverConfig) {
36
39
  updateBlockTool,
37
40
  createBlockTool,
38
41
  readContextTool,
42
+ listDocumentsTool,
43
+ readDocumentTool,
44
+ syncDocumentsTool,
39
45
  ],
40
46
  };
41
47
  });
@@ -88,6 +94,12 @@ export async function startMcpServer(serverConfig) {
88
94
  return await handleCreateBlock(serverConfig, args);
89
95
  case "read_context":
90
96
  return await handleReadContext(serverConfig, args);
97
+ case "list_documents":
98
+ return await handleListDocuments(serverConfig, args);
99
+ case "read_document":
100
+ return await handleReadDocument(serverConfig, args);
101
+ case "sync_documents":
102
+ return await handleSyncDocuments(serverConfig, args);
91
103
  default:
92
104
  return {
93
105
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ import type { McpServerConfig } from "../server.js";
3
+ export declare const listDocumentsTool: Tool;
4
+ export declare function handleListDocuments(config: McpServerConfig, args: Record<string, unknown>): Promise<{
5
+ content: Array<{
6
+ type: string;
7
+ text: string;
8
+ }>;
9
+ }>;
10
+ //# sourceMappingURL=list-documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-documents.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/list-documents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,eAAO,MAAM,iBAAiB,EAAE,IAmB/B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA8E7D"}
@@ -0,0 +1,86 @@
1
+ import { readDocumentManifest } from "../../sync/document-manifest.js";
2
+ export const listDocumentsTool = {
3
+ name: "list_documents",
4
+ description: "List project documents from the local DOCUMENTS folder. Returns file names, types, sizes, and paths. Reads from the local manifest (works offline).",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ folder: {
9
+ type: "string",
10
+ description: "Filter by folder path (e.g., 'research'). Leave empty for all documents.",
11
+ },
12
+ mimeType: {
13
+ type: "string",
14
+ description: "Filter by MIME type prefix (e.g., 'image/', 'application/pdf').",
15
+ },
16
+ },
17
+ },
18
+ };
19
+ export async function handleListDocuments(config, args) {
20
+ const folder = args.folder;
21
+ const mimeType = args.mimeType;
22
+ try {
23
+ const documentsPath = config.documentsPath;
24
+ if (!documentsPath) {
25
+ return {
26
+ content: [
27
+ {
28
+ type: "text",
29
+ text: "DOCUMENTS folder not configured. Run 'npx @epiccontext/mcp init' to set up the project structure.",
30
+ },
31
+ ],
32
+ };
33
+ }
34
+ const manifest = readDocumentManifest(documentsPath);
35
+ let entries = manifest.entries;
36
+ // Filter by folder
37
+ if (folder) {
38
+ entries = entries.filter((e) => e.folderPath === folder ||
39
+ e.folderPath?.startsWith(folder + "/") ||
40
+ e.localPath.startsWith(folder + "/"));
41
+ }
42
+ // Filter by MIME type
43
+ if (mimeType) {
44
+ entries = entries.filter((e) => e.mimeType.startsWith(mimeType));
45
+ }
46
+ if (entries.length === 0) {
47
+ return {
48
+ content: [
49
+ {
50
+ type: "text",
51
+ text: manifest.entries.length === 0
52
+ ? "No documents synced yet. Run 'npx @epiccontext/mcp pull --with-documents' to download documents."
53
+ : `No documents found matching the filter (${manifest.entries.length} total documents).`,
54
+ },
55
+ ],
56
+ };
57
+ }
58
+ // Format output
59
+ const lines = entries.map((e) => {
60
+ const size = e.fileSize > 1024 * 1024
61
+ ? `${(e.fileSize / 1024 / 1024).toFixed(1)}MB`
62
+ : `${(e.fileSize / 1024).toFixed(0)}KB`;
63
+ return `- ${e.localPath} (${e.mimeType}, ${size}) [${e.syncStatus}]`;
64
+ });
65
+ const output = [
66
+ `# Documents (${entries.length} files)`,
67
+ `Last synced: ${manifest.lastSyncAt || "never"}`,
68
+ "",
69
+ ...lines,
70
+ ].join("\n");
71
+ return {
72
+ content: [{ type: "text", text: output }],
73
+ };
74
+ }
75
+ catch (error) {
76
+ return {
77
+ content: [
78
+ {
79
+ type: "text",
80
+ text: `Error listing documents: ${error.message}`,
81
+ },
82
+ ],
83
+ };
84
+ }
85
+ }
86
+ //# sourceMappingURL=list-documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-documents.js","sourceRoot":"","sources":["../../../src/mcp/tools/list-documents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ import type { McpServerConfig } from "../server.js";
3
+ export declare const readDocumentTool: Tool;
4
+ export declare function handleReadDocument(config: McpServerConfig, args: Record<string, unknown>): Promise<{
5
+ content: Array<{
6
+ type: string;
7
+ text: string;
8
+ }>;
9
+ }>;
10
+ //# sourceMappingURL=read-document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-document.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/read-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAapD,eAAO,MAAM,gBAAgB,EAAE,IAe9B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA6F7D"}
@@ -0,0 +1,119 @@
1
+ import { readDocumentManifest } from "../../sync/document-manifest.js";
2
+ import { resolve, relative } from "path";
3
+ import { readFile } from "fs/promises";
4
+ import { existsSync } from "fs";
5
+ /** MIME types that can be read as text */
6
+ const TEXT_MIME_TYPES = new Set([
7
+ "text/plain",
8
+ "text/csv",
9
+ "text/markdown",
10
+ ]);
11
+ export const readDocumentTool = {
12
+ name: "read_document",
13
+ description: "Read a document from the local DOCUMENTS folder. For text/markdown/csv files, returns content. For binary files (PDF, images, Office docs), returns metadata and analysis results if available.",
14
+ inputSchema: {
15
+ type: "object",
16
+ properties: {
17
+ path: {
18
+ type: "string",
19
+ description: "Relative path within DOCUMENTS/ (e.g., 'research/user-interviews.pdf').",
20
+ },
21
+ },
22
+ required: ["path"],
23
+ },
24
+ };
25
+ export async function handleReadDocument(config, args) {
26
+ const requestedPath = args.path;
27
+ try {
28
+ const documentsPath = config.documentsPath;
29
+ if (!documentsPath) {
30
+ return {
31
+ content: [
32
+ {
33
+ type: "text",
34
+ text: "DOCUMENTS folder not configured.",
35
+ },
36
+ ],
37
+ };
38
+ }
39
+ const fullPath = resolve(documentsPath, requestedPath);
40
+ // Security check
41
+ const relativePath = relative(documentsPath, fullPath);
42
+ if (relativePath.startsWith("..")) {
43
+ return {
44
+ content: [
45
+ {
46
+ type: "text",
47
+ text: "Error: Path must be within DOCUMENTS folder.",
48
+ },
49
+ ],
50
+ };
51
+ }
52
+ if (!existsSync(fullPath)) {
53
+ return {
54
+ content: [
55
+ {
56
+ type: "text",
57
+ text: `File not found: ${requestedPath}. Run 'npx @epiccontext/mcp pull --with-documents' to download documents.`,
58
+ },
59
+ ],
60
+ };
61
+ }
62
+ // Find manifest entry for metadata
63
+ const manifest = readDocumentManifest(documentsPath);
64
+ const entry = manifest.entries.find((e) => e.localPath === requestedPath);
65
+ // Check if it's a text file we can read
66
+ const mimeType = entry?.mimeType || "";
67
+ if (TEXT_MIME_TYPES.has(mimeType)) {
68
+ const content = await readFile(fullPath, "utf-8");
69
+ const header = entry
70
+ ? `# ${entry.name}\nType: ${entry.mimeType} | Size: ${formatSize(entry.fileSize)} | Synced: ${entry.syncStatus}\n\n---\n\n`
71
+ : "";
72
+ return {
73
+ content: [{ type: "text", text: header + content }],
74
+ };
75
+ }
76
+ // Binary file — return metadata only
77
+ const metadata = entry
78
+ ? {
79
+ name: entry.name,
80
+ fileName: entry.fileName,
81
+ mimeType: entry.mimeType,
82
+ fileSize: formatSize(entry.fileSize),
83
+ localPath: entry.localPath,
84
+ syncStatus: entry.syncStatus,
85
+ cloudUpdatedAt: entry.cloudUpdatedAt,
86
+ folderPath: entry.folderPath,
87
+ }
88
+ : {
89
+ path: requestedPath,
90
+ note: "No manifest entry found. File may have been added locally but not synced.",
91
+ };
92
+ return {
93
+ content: [
94
+ {
95
+ type: "text",
96
+ text: `# Document: ${requestedPath}\n\nThis is a binary file and cannot be displayed as text.\n\n## Metadata\n\n\`\`\`json\n${JSON.stringify(metadata, null, 2)}\n\`\`\`\n\nTo view this file, open it with an appropriate application.`,
97
+ },
98
+ ],
99
+ };
100
+ }
101
+ catch (error) {
102
+ return {
103
+ content: [
104
+ {
105
+ type: "text",
106
+ text: `Error reading document: ${error.message}`,
107
+ },
108
+ ],
109
+ };
110
+ }
111
+ }
112
+ function formatSize(bytes) {
113
+ if (bytes > 1024 * 1024)
114
+ return `${(bytes / 1024 / 1024).toFixed(1)}MB`;
115
+ if (bytes > 1024)
116
+ return `${(bytes / 1024).toFixed(0)}KB`;
117
+ return `${bytes}B`;
118
+ }
119
+ //# sourceMappingURL=read-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-document.js","sourceRoot":"","sources":["../../../src/mcp/tools/read-document.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-all.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sync-all.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,eAAO,MAAM,WAAW,EAAE,IAoBzB,CAAC;AAEF,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAkD7D"}
1
+ {"version":3,"file":"sync-all.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sync-all.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,eAAO,MAAM,WAAW,EAAE,IAoBzB,CAAC;AAEF,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA8D7D"}
@@ -52,6 +52,15 @@ export async function handleSyncAll(config, args) {
52
52
  let summary = `Sync ${dryRun ? "(dry run) " : ""}complete:\n`;
53
53
  summary += `- Pulled: ${pullResult.filesWritten} files written\n`;
54
54
  summary += `- Pushed: ${pushResult.result.created} created, ${pushResult.result.updated} updated`;
55
+ if (pullResult.filesDeletedByManifest && pullResult.filesDeletedByManifest > 0) {
56
+ summary += `\n- Deleted locally (via manifest): ${pullResult.filesDeletedByManifest} files`;
57
+ }
58
+ if (pushResult.archivedByManifest && pushResult.archivedByManifest > 0) {
59
+ summary += `\n- Archived in cloud (via manifest): ${pushResult.archivedByManifest} blocks`;
60
+ }
61
+ if (pushResult.autoDetectedDeletions && pushResult.autoDetectedDeletions > 0) {
62
+ summary += `\n- Auto-detected local deletions: ${pushResult.autoDetectedDeletions}`;
63
+ }
55
64
  if (pushResult.result.conflicts.length > 0) {
56
65
  summary += `\n- Conflicts: ${pushResult.result.conflicts.length}`;
57
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync-all.js","sourceRoot":"","sources":["../../../src/mcp/tools/sync-all.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,WAAW,GAAS;IAC/B,IAAI,EAAE,UAAU;IAChB,WAAW,EACT,6FAA6F;IAC/F,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC;gBAChD,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,mDAAmD;aACjE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,uCAAuC;aACrD;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAuB,EACvB,IAA6B;IAE7B,MAAM,MAAM,GAAI,IAAI,CAAC,MAAkB,IAAI,KAAK,CAAC;IACjD,MAAM,kBAAkB,GAAI,IAAI,CAAC,kBAA6B,IAAI,WAAW,CAAC;IAE9E,gFAAgF;IAChF,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,MAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3E,0BAA0B;IAC1B,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,MAAO,EAAE,MAAM,CAAC,WAAW,EAAE;QACvE,MAAM;QACN,kBAAkB,EAChB,kBAAkB,KAAK,YAAY;YACjC,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,kBAAkB,KAAK,aAAa;gBACtC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,WAAW;KAClB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG;QACb,MAAM;QACN,IAAI,EAAE;YACJ,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,YAAY,EAAE,UAAU,CAAC,YAAY;SACtC;QACD,IAAI,EAAE;YACJ,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO;YAClC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO;YAClC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO;YAClC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;YAC7C,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;SACxC;KACF,CAAC;IAEF,IAAI,OAAO,GAAG,QAAQ,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC;IAC9D,OAAO,IAAI,aAAa,UAAU,CAAC,YAAY,kBAAkB,CAAC;IAClE,OAAO,IAAI,aAAa,UAAU,CAAC,MAAM,CAAC,OAAO,aAAa,UAAU,CAAC,MAAM,CAAC,OAAO,UAAU,CAAC;IAElG,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,kBAAkB,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACpE,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACzD;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sync-all.js","sourceRoot":"","sources":["../../../src/mcp/tools/sync-all.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ import type { McpServerConfig } from "../server.js";
3
+ export declare const syncDocumentsTool: Tool;
4
+ export declare function handleSyncDocuments(config: McpServerConfig, args: Record<string, unknown>): Promise<{
5
+ content: Array<{
6
+ type: string;
7
+ text: string;
8
+ }>;
9
+ }>;
10
+ //# sourceMappingURL=sync-documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-documents.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sync-documents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,eAAO,MAAM,iBAAiB,EAAE,IAwB/B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA+E7D"}
@@ -0,0 +1,89 @@
1
+ import { pullDocuments } from "../../sync/document-pull.js";
2
+ import { pushDocuments } from "../../sync/document-push.js";
3
+ export const syncDocumentsTool = {
4
+ name: "sync_documents",
5
+ description: "Synchronize documents between local DOCUMENTS folder and EpicContext cloud. Supports pull (download from cloud), push (upload to cloud), or both.",
6
+ inputSchema: {
7
+ type: "object",
8
+ properties: {
9
+ direction: {
10
+ type: "string",
11
+ enum: ["pull", "push", "both"],
12
+ description: "Sync direction: 'pull' downloads from cloud, 'push' uploads to cloud, 'both' does pull then push. Default: 'both'.",
13
+ },
14
+ dryRun: {
15
+ type: "boolean",
16
+ description: "Preview changes without applying them. Default: false.",
17
+ },
18
+ force: {
19
+ type: "boolean",
20
+ description: "For pull: overwrite local files even if newer. Default: false.",
21
+ },
22
+ },
23
+ },
24
+ };
25
+ export async function handleSyncDocuments(config, args) {
26
+ const direction = args.direction || "both";
27
+ const dryRun = args.dryRun || false;
28
+ const force = args.force || false;
29
+ try {
30
+ if (!config.client) {
31
+ return {
32
+ content: [
33
+ {
34
+ type: "text",
35
+ text: "Not connected to EpicContext. Run 'npx @epiccontext/mcp link' first.",
36
+ },
37
+ ],
38
+ };
39
+ }
40
+ const documentsPath = config.documentsPath;
41
+ if (!documentsPath) {
42
+ return {
43
+ content: [
44
+ {
45
+ type: "text",
46
+ text: "DOCUMENTS folder not configured. Run 'npx @epiccontext/mcp init' to set up.",
47
+ },
48
+ ],
49
+ };
50
+ }
51
+ const results = [];
52
+ if (direction === "pull" || direction === "both") {
53
+ const pullResult = await pullDocuments(config.client, documentsPath, {
54
+ dryRun,
55
+ force,
56
+ });
57
+ results.push(`## Pull Results${dryRun ? " (dry run)" : ""}`, `- Downloaded: ${pullResult.downloaded}`, `- Skipped: ${pullResult.skipped}`, `- Deleted: ${pullResult.deleted}`, pullResult.errors.length > 0
58
+ ? `- Errors: ${pullResult.errors.map((e) => `${e.path}: ${e.error}`).join(", ")}`
59
+ : "");
60
+ }
61
+ if (direction === "push" || direction === "both") {
62
+ const pushResult = await pushDocuments(config.client, documentsPath, {
63
+ dryRun,
64
+ });
65
+ results.push(`## Push Results${dryRun ? " (dry run)" : ""}`, `- Uploaded: ${pushResult.uploaded}`, `- Skipped: ${pushResult.skipped}`, pushResult.errors.length > 0
66
+ ? `- Errors: ${pushResult.errors.map((e) => `${e.path}: ${e.error}`).join(", ")}`
67
+ : "");
68
+ }
69
+ return {
70
+ content: [
71
+ {
72
+ type: "text",
73
+ text: results.filter(Boolean).join("\n"),
74
+ },
75
+ ],
76
+ };
77
+ }
78
+ catch (error) {
79
+ return {
80
+ content: [
81
+ {
82
+ type: "text",
83
+ text: `Error syncing documents: ${error.message}`,
84
+ },
85
+ ],
86
+ };
87
+ }
88
+ }
89
+ //# sourceMappingURL=sync-documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-documents.js","sourceRoot":"","sources":["../../../src/mcp/tools/sync-documents.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-from-app.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sync-from-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,eAAO,MAAM,eAAe,EAAE,IAkB7B,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAsB7D"}
1
+ {"version":3,"file":"sync-from-app.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sync-from-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,eAAO,MAAM,eAAe,EAAE,IAkB7B,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA6B7D"}
@@ -28,6 +28,12 @@ export async function handleSyncFromApp(config, args) {
28
28
  summary += `- Total files: ${result.totalFiles}\n`;
29
29
  summary += `- Written: ${result.filesWritten}\n`;
30
30
  summary += `- Skipped: ${result.filesSkipped}`;
31
+ if (result.filesDeletedByManifest && result.filesDeletedByManifest > 0) {
32
+ summary += `\n- Deleted via deletion manifest: ${result.filesDeletedByManifest}`;
33
+ for (const deletedPath of result.deletedByManifestPaths || []) {
34
+ summary += `\n - ${deletedPath}`;
35
+ }
36
+ }
31
37
  return {
32
38
  content: [
33
39
  {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-from-app.js","sourceRoot":"","sources":["../../../src/mcp/tools/sync-from-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,8DAA8D;IAC3E,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6CAA6C;aAChD;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,gDAAgD;aAC9D;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,IAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAA6B,CAAC;IACnD,MAAM,KAAK,GAAI,IAAI,CAAC,KAAiB,IAAI,KAAK,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,MAAO,EAAE,MAAM,CAAC,WAAW,EAAE;QACrE,OAAO;QACP,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,kBAAkB,CAAC;IACjC,OAAO,IAAI,kBAAkB,MAAM,CAAC,UAAU,IAAI,CAAC;IACnD,OAAO,IAAI,cAAc,MAAM,CAAC,YAAY,IAAI,CAAC;IACjD,OAAO,IAAI,cAAc,MAAM,CAAC,YAAY,EAAE,CAAC;IAE/C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sync-from-app.js","sourceRoot":"","sources":["../../../src/mcp/tools/sync-from-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,8DAA8D;IAC3E,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6CAA6C;aAChD;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,gDAAgD;aAC9D;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,IAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAA6B,CAAC;IACnD,MAAM,KAAK,GAAI,IAAI,CAAC,KAAiB,IAAI,KAAK,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,MAAO,EAAE,MAAM,CAAC,WAAW,EAAE;QACrE,OAAO;QACP,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,kBAAkB,CAAC;IACjC,OAAO,IAAI,kBAAkB,MAAM,CAAC,UAAU,IAAI,CAAC;IACnD,OAAO,IAAI,cAAc,MAAM,CAAC,YAAY,IAAI,CAAC;IACjD,OAAO,IAAI,cAAc,MAAM,CAAC,YAAY,EAAE,CAAC;IAE/C,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,sCAAsC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QACjF,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,sBAAsB,IAAI,EAAE,EAAE,CAAC;YAC9D,OAAO,IAAI,SAAS,WAAW,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-to-app.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sync-to-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,eAAO,MAAM,aAAa,EAAE,IAkB3B,CAAC;AAEF,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAqC7D"}
1
+ {"version":3,"file":"sync-to-app.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sync-to-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,eAAO,MAAM,aAAa,EAAE,IAkB3B,CAAC;AAEF,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA6C7D"}
@@ -29,6 +29,12 @@ export async function handleSyncToApp(config, args) {
29
29
  summary += `- Created: ${result.result.created}\n`;
30
30
  summary += `- Updated: ${result.result.updated}\n`;
31
31
  summary += `- Skipped: ${result.result.skipped}`;
32
+ if (result.archivedByManifest && result.archivedByManifest > 0) {
33
+ summary += `\n- Archived via deletion manifest: ${result.archivedByManifest}`;
34
+ }
35
+ if (result.autoDetectedDeletions && result.autoDetectedDeletions > 0) {
36
+ summary += `\n- Auto-detected local deletions: ${result.autoDetectedDeletions}`;
37
+ }
32
38
  if (result.result.conflicts.length > 0) {
33
39
  summary += `\n- Conflicts: ${result.result.conflicts.length}`;
34
40
  for (const conflict of result.result.conflicts) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-to-app.js","sourceRoot":"","sources":["../../../src/mcp/tools/sync-to-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,yDAAyD;IACtE,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qEAAqE;aACxE;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,iDAAiD;aAC/D;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAuB,EACvB,IAA6B;IAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;IAC7C,MAAM,KAAK,GAAI,IAAI,CAAC,KAAiB,IAAI,KAAK,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,MAAO,EAAE,MAAM,CAAC,WAAW,EAAE;QACnE,IAAI;QACJ,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;KACxD,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,kBAAkB,CAAC;IACjC,OAAO,IAAI,sBAAsB,MAAM,CAAC,cAAc,IAAI,CAAC;IAC3D,OAAO,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;IACnD,OAAO,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;IACnD,OAAO,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjD,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,kBAAkB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC9D,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC/C,OAAO,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,eAAe,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,IAAI,SAAS,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sync-to-app.js","sourceRoot":"","sources":["../../../src/mcp/tools/sync-to-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,yDAAyD;IACtE,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qEAAqE;aACxE;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,iDAAiD;aAC/D;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAuB,EACvB,IAA6B;IAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;IAC7C,MAAM,KAAK,GAAI,IAAI,CAAC,KAAiB,IAAI,KAAK,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,MAAO,EAAE,MAAM,CAAC,WAAW,EAAE;QACnE,IAAI;QACJ,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;KACxD,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,kBAAkB,CAAC;IACjC,OAAO,IAAI,sBAAsB,MAAM,CAAC,cAAc,IAAI,CAAC;IAC3D,OAAO,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;IACnD,OAAO,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;IACnD,OAAO,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjD,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,uCAAuC,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAChF,CAAC;IAED,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,qBAAqB,GAAG,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,sCAAsC,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAClF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,kBAAkB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC9D,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC/C,OAAO,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,eAAe,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,IAAI,SAAS,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/skills/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkCH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAmeD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,CAuLzE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,qBAAqB,GAC5B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAyBvC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAGA"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/skills/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkCH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAkhBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,CAsOzE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,qBAAqB,GAC5B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAyBvC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAGA"}