@zeliper/zscode-mcp-server 1.0.1 → 1.0.3

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 (59) hide show
  1. package/dist/errors/index.d.ts +28 -0
  2. package/dist/errors/index.d.ts.map +1 -1
  3. package/dist/errors/index.js +50 -0
  4. package/dist/errors/index.js.map +1 -1
  5. package/dist/state/manager.d.ts +74 -2
  6. package/dist/state/manager.d.ts.map +1 -1
  7. package/dist/state/manager.js +551 -138
  8. package/dist/state/manager.js.map +1 -1
  9. package/dist/state/manager.test.d.ts +2 -0
  10. package/dist/state/manager.test.d.ts.map +1 -0
  11. package/dist/state/manager.test.js +310 -0
  12. package/dist/state/manager.test.js.map +1 -0
  13. package/dist/state/schema.d.ts +443 -21
  14. package/dist/state/schema.d.ts.map +1 -1
  15. package/dist/state/schema.js +99 -1
  16. package/dist/state/schema.js.map +1 -1
  17. package/dist/state/schema.test.d.ts +2 -0
  18. package/dist/state/schema.test.d.ts.map +1 -0
  19. package/dist/state/schema.test.js +300 -0
  20. package/dist/state/schema.test.js.map +1 -0
  21. package/dist/state/types.d.ts +47 -1
  22. package/dist/state/types.d.ts.map +1 -1
  23. package/dist/state/types.js +3 -1
  24. package/dist/state/types.js.map +1 -1
  25. package/dist/tools/archive.d.ts.map +1 -1
  26. package/dist/tools/archive.js +57 -0
  27. package/dist/tools/archive.js.map +1 -1
  28. package/dist/tools/context.d.ts.map +1 -1
  29. package/dist/tools/context.js +14 -0
  30. package/dist/tools/context.js.map +1 -1
  31. package/dist/tools/files.d.ts +7 -0
  32. package/dist/tools/files.d.ts.map +1 -0
  33. package/dist/tools/files.js +131 -0
  34. package/dist/tools/files.js.map +1 -0
  35. package/dist/tools/index.d.ts.map +1 -1
  36. package/dist/tools/index.js +9 -0
  37. package/dist/tools/index.js.map +1 -1
  38. package/dist/tools/memory.d.ts +7 -0
  39. package/dist/tools/memory.d.ts.map +1 -0
  40. package/dist/tools/memory.js +243 -0
  41. package/dist/tools/memory.js.map +1 -0
  42. package/dist/tools/modify.d.ts.map +1 -1
  43. package/dist/tools/modify.js +43 -7
  44. package/dist/tools/modify.js.map +1 -1
  45. package/dist/tools/plan.d.ts.map +1 -1
  46. package/dist/tools/plan.js +77 -4
  47. package/dist/tools/plan.js.map +1 -1
  48. package/dist/tools/staging.d.ts.map +1 -1
  49. package/dist/tools/staging.js +104 -6
  50. package/dist/tools/staging.js.map +1 -1
  51. package/dist/tools/summary.d.ts +7 -0
  52. package/dist/tools/summary.d.ts.map +1 -0
  53. package/dist/tools/summary.js +127 -0
  54. package/dist/tools/summary.js.map +1 -0
  55. package/dist/utils/paths.d.ts +34 -0
  56. package/dist/utils/paths.d.ts.map +1 -1
  57. package/dist/utils/paths.js +94 -2
  58. package/dist/utils/paths.js.map +1 -1
  59. package/package.json +10 -3
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"staging.d.ts","sourceRoot":"","sources":["../../src/tools/staging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA8QjF"}
1
+ {"version":3,"file":"staging.d.ts","sourceRoot":"","sources":["../../src/tools/staging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAcpE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA4XjF"}
@@ -1,16 +1,18 @@
1
1
  import { z } from "zod";
2
2
  import { StateManager } from "../state/manager.js";
3
3
  import { ArtifactsManager } from "../utils/artifacts.js";
4
- import { withErrorHandling, ProjectNotInitializedError, PlanNotFoundError, StagingNotFoundError, StagingPlanMismatchError, } from "../errors/index.js";
4
+ import { withErrorHandling, ProjectNotInitializedError, PlanNotFoundError, StagingNotFoundError, StagingPlanMismatchError, TaskNotFoundError, } from "../errors/index.js";
5
5
  /**
6
6
  * Register staging-related tools
7
7
  */
8
8
  export function registerStagingTools(server, projectRoot) {
9
9
  const artifactsManager = new ArtifactsManager(projectRoot);
10
10
  // ============ zscode:start ============
11
- server.tool("zscode:start", "Start a specific staging phase of a plan. Sets the staging status to 'in_progress' and prepares the artifacts directory. Use this when you're ready to begin work on a staging.", {
11
+ server.tool("zscode:start", "Start a specific staging phase of a plan. Sets the staging status to 'in_progress' and prepares the artifacts directory. Automatically includes artifacts from dependent stagings and relevant memories. Use this when you're ready to begin work on a staging.", {
12
12
  planId: z.string().describe("Plan ID (e.g., plan-abc12345)"),
13
13
  stagingId: z.string().describe("Staging ID to start (e.g., staging-0001)"),
14
+ includeArtifacts: z.boolean().default(true).describe("Include artifacts from dependent stagings"),
15
+ includeMemories: z.boolean().default(true).describe("Include relevant staging-start memories"),
14
16
  }, async (args) => {
15
17
  const result = await withErrorHandling(async () => {
16
18
  const manager = StateManager.getInstance();
@@ -35,16 +37,71 @@ export function registerStagingTools(server, projectRoot) {
35
37
  // Get executable tasks
36
38
  const executableTasks = manager.getExecutableTasks(args.stagingId);
37
39
  const allTasks = manager.getTasksByStaging(args.stagingId);
40
+ // Get related artifacts from dependent stagings
41
+ let relatedArtifacts = [];
42
+ if (args.includeArtifacts && startedStaging.depends_on_stagings.length > 0) {
43
+ relatedArtifacts = manager.getRelatedStagingArtifacts(args.stagingId);
44
+ }
45
+ // Get staging-start memories + always-applied memories (general + project-summary)
46
+ let appliedMemories = [];
47
+ let appliedMemoriesText = null;
48
+ if (args.includeMemories) {
49
+ // Combine always-applied (general + project-summary) with staging-start specific
50
+ const alwaysApplied = manager.getAlwaysAppliedMemories();
51
+ const stagingStartMemories = manager.getMemoriesForEvent("staging-start");
52
+ // Merge without duplicates, keeping priority order
53
+ const memoryMap = new Map();
54
+ for (const m of alwaysApplied) {
55
+ memoryMap.set(m.id, m);
56
+ }
57
+ for (const m of stagingStartMemories) {
58
+ memoryMap.set(m.id, m);
59
+ }
60
+ appliedMemories = Array.from(memoryMap.values())
61
+ .sort((a, b) => b.priority - a.priority);
62
+ if (appliedMemories.length > 0) {
63
+ appliedMemoriesText = appliedMemories
64
+ .map(m => `## [${m.category.toUpperCase()}] ${m.title}\n${m.content}`)
65
+ .join("\n\n");
66
+ }
67
+ }
68
+ // Build session guidance if session info is available
69
+ let sessionGuidance;
70
+ if (startedStaging.session_budget || startedStaging.recommended_sessions) {
71
+ const budgetMessages = {
72
+ minimal: "This staging requires minimal context (~0.5 session). Keep responses concise and focused.",
73
+ standard: "This staging has standard context budget (~1 session). Normal operation expected.",
74
+ extensive: "This staging may require extensive context (~2+ sessions). Consider breaking into sub-tasks if needed.",
75
+ };
76
+ const budget = startedStaging.session_budget || "unspecified";
77
+ const message = startedStaging.session_budget
78
+ ? budgetMessages[startedStaging.session_budget]
79
+ : startedStaging.recommended_sessions
80
+ ? `Recommended sessions: ${startedStaging.recommended_sessions}`
81
+ : "";
82
+ sessionGuidance = {
83
+ budget,
84
+ recommendedSessions: startedStaging.recommended_sessions ?? null,
85
+ message,
86
+ };
87
+ }
38
88
  return {
39
89
  success: true,
40
90
  message: `Staging "${startedStaging.name}" started`,
41
91
  staging: {
42
92
  id: startedStaging.id,
43
93
  name: startedStaging.name,
94
+ description: startedStaging.description,
44
95
  status: startedStaging.status,
45
96
  execution_type: startedStaging.execution_type,
97
+ default_model: startedStaging.default_model,
98
+ session_budget: startedStaging.session_budget,
99
+ recommended_sessions: startedStaging.recommended_sessions,
100
+ depends_on_stagings: startedStaging.depends_on_stagings,
46
101
  },
47
102
  artifactsPath: startedStaging.artifacts_path,
103
+ // Session guidance for context management
104
+ sessionGuidance,
48
105
  tasks: {
49
106
  total: allTasks.length,
50
107
  executable: executableTasks.map(t => ({
@@ -52,10 +109,24 @@ export function registerStagingTools(server, projectRoot) {
52
109
  title: t.title,
53
110
  priority: t.priority,
54
111
  execution_mode: t.execution_mode,
112
+ model: t.model,
55
113
  depends_on: t.depends_on,
114
+ cross_staging_refs: t.cross_staging_refs,
115
+ memory_tags: t.memory_tags,
56
116
  })),
57
117
  pending: allTasks.filter(t => t.status === "pending").length,
58
118
  },
119
+ // Related artifacts from dependent stagings
120
+ relatedArtifacts: relatedArtifacts.length > 0 ? relatedArtifacts : undefined,
121
+ // Applied memories for staging-start
122
+ appliedMemories: appliedMemories.length > 0 ? appliedMemories.map(m => ({
123
+ id: m.id,
124
+ category: m.category,
125
+ title: m.title,
126
+ content: m.content,
127
+ priority: m.priority,
128
+ })) : undefined,
129
+ appliedMemoriesText,
59
130
  };
60
131
  }, "zscode:start");
61
132
  if (result.success) {
@@ -83,7 +154,7 @@ export function registerStagingTools(server, projectRoot) {
83
154
  if (!staging) {
84
155
  throw new StagingNotFoundError(args.stagingId);
85
156
  }
86
- await manager.completestaging(args.stagingId);
157
+ await manager.completeStaging(args.stagingId);
87
158
  return {
88
159
  success: true,
89
160
  message: `Staging "${staging.name}" completed`,
@@ -126,7 +197,7 @@ export function registerStagingTools(server, projectRoot) {
126
197
  }
127
198
  const task = manager.getTask(args.taskId);
128
199
  if (!task) {
129
- throw new Error(`Task not found: ${args.taskId}`);
200
+ throw new TaskNotFoundError(args.taskId);
130
201
  }
131
202
  const output = {
132
203
  status: args.output.status,
@@ -168,6 +239,8 @@ export function registerStagingTools(server, projectRoot) {
168
239
  planId: z.string().describe("Plan ID"),
169
240
  stagingId: z.string().describe("Staging ID to get artifacts from"),
170
241
  taskId: z.string().optional().describe("Specific task ID (optional, if omitted returns all)"),
242
+ lightweight: z.boolean().default(false)
243
+ .describe("If true, exclude 'data' field from outputs for reduced context size"),
171
244
  }, async (args) => {
172
245
  const result = await withErrorHandling(async () => {
173
246
  const manager = StateManager.getInstance();
@@ -181,6 +254,15 @@ export function registerStagingTools(server, projectRoot) {
181
254
  if (args.taskId) {
182
255
  // Get specific task output
183
256
  const output = await artifactsManager.getTaskOutput(args.planId, args.stagingId, args.taskId);
257
+ // If lightweight mode, remove data field
258
+ const processedOutput = args.lightweight && output ? {
259
+ status: output.status,
260
+ summary: output.summary,
261
+ artifacts: output.artifacts,
262
+ error: output.error,
263
+ completedAt: output.completedAt,
264
+ // data field omitted
265
+ } : output;
184
266
  return {
185
267
  success: true,
186
268
  staging: {
@@ -188,13 +270,28 @@ export function registerStagingTools(server, projectRoot) {
188
270
  name: staging.name,
189
271
  status: staging.status,
190
272
  },
191
- taskOutput: output,
273
+ taskOutput: processedOutput,
274
+ lightweight: args.lightweight,
192
275
  };
193
276
  }
194
277
  else {
195
278
  // Get all task outputs for staging
196
279
  const outputs = await artifactsManager.getStagingOutputs(args.planId, args.stagingId);
197
280
  const files = await artifactsManager.listStagingArtifacts(args.planId, args.stagingId);
281
+ // If lightweight mode, remove data field from all outputs
282
+ const processedOutputs = args.lightweight
283
+ ? Object.fromEntries(Object.entries(outputs).map(([taskId, output]) => [
284
+ taskId,
285
+ {
286
+ status: output.status,
287
+ summary: output.summary,
288
+ artifacts: output.artifacts,
289
+ error: output.error,
290
+ completedAt: output.completedAt,
291
+ // data field omitted
292
+ }
293
+ ]))
294
+ : outputs;
198
295
  return {
199
296
  success: true,
200
297
  staging: {
@@ -203,8 +300,9 @@ export function registerStagingTools(server, projectRoot) {
203
300
  status: staging.status,
204
301
  artifacts_path: staging.artifacts_path,
205
302
  },
206
- taskOutputs: outputs,
303
+ taskOutputs: processedOutputs,
207
304
  files,
305
+ lightweight: args.lightweight,
208
306
  };
209
307
  }
210
308
  }, "get_staging_artifacts");
@@ -1 +1 @@
1
- {"version":3,"file":"staging.js","sourceRoot":"","sources":["../../src/tools/staging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staging.js","sourceRoot":"","sources":["../../src/tools/staging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /**
3
+ * Register summary-related tools
4
+ * Summary generates a project overview that's auto-injected with general memories
5
+ */
6
+ export declare function registerSummaryTools(server: McpServer): void;
7
+ //# sourceMappingURL=summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/tools/summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoJ5D"}
@@ -0,0 +1,127 @@
1
+ import { z } from "zod";
2
+ import { StateManager } from "../state/manager.js";
3
+ import { withErrorHandling, ProjectNotInitializedError } from "../errors/index.js";
4
+ /**
5
+ * Register summary-related tools
6
+ * Summary generates a project overview that's auto-injected with general memories
7
+ */
8
+ export function registerSummaryTools(server) {
9
+ // ============ generate_summary ============
10
+ server.tool("generate_summary", "Generate or update the project summary. Creates a memory in 'project-summary' category that is automatically included with get_full_context and zscode:start. Run again to update with current project state.", {
11
+ customContent: z.string().optional().describe("Optional custom content to use instead of auto-generated summary. If not provided, summary is auto-generated from current project state."),
12
+ }, async (args) => {
13
+ const result = await withErrorHandling(async () => {
14
+ const manager = StateManager.getInstance();
15
+ if (!manager.isInitialized()) {
16
+ throw new ProjectNotInitializedError();
17
+ }
18
+ const existingSummary = manager.getProjectSummary();
19
+ const isUpdate = existingSummary !== undefined;
20
+ const memory = await manager.saveProjectSummary(args.customContent);
21
+ return {
22
+ success: true,
23
+ action: isUpdate ? "updated" : "created",
24
+ message: isUpdate
25
+ ? `Project summary updated. Memory ID: ${memory.id}`
26
+ : `Project summary created. Memory ID: ${memory.id}`,
27
+ memory: {
28
+ id: memory.id,
29
+ category: memory.category,
30
+ title: memory.title,
31
+ priority: memory.priority,
32
+ contentPreview: memory.content.substring(0, 200) + (memory.content.length > 200 ? "..." : ""),
33
+ },
34
+ note: "This summary will be automatically included in get_full_context and zscode:start responses.",
35
+ };
36
+ }, "generate_summary");
37
+ if (result.success) {
38
+ return {
39
+ content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
40
+ };
41
+ }
42
+ else {
43
+ return {
44
+ content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
45
+ isError: true,
46
+ };
47
+ }
48
+ });
49
+ // ============ get_project_summary ============
50
+ server.tool("get_project_summary", "Get the current project summary content. Returns the auto-generated summary if no custom summary exists.", {}, async () => {
51
+ const result = await withErrorHandling(async () => {
52
+ const manager = StateManager.getInstance();
53
+ if (!manager.isInitialized()) {
54
+ throw new ProjectNotInitializedError();
55
+ }
56
+ const existingSummary = manager.getProjectSummary();
57
+ const generatedContent = manager.generateProjectSummaryContent();
58
+ if (existingSummary) {
59
+ return {
60
+ success: true,
61
+ exists: true,
62
+ memory: {
63
+ id: existingSummary.id,
64
+ title: existingSummary.title,
65
+ content: existingSummary.content,
66
+ updatedAt: existingSummary.updatedAt,
67
+ },
68
+ generatedPreview: generatedContent.substring(0, 500) + (generatedContent.length > 500 ? "..." : ""),
69
+ note: "Use generate_summary to update with latest project state.",
70
+ };
71
+ }
72
+ else {
73
+ return {
74
+ success: true,
75
+ exists: false,
76
+ generatedContent,
77
+ note: "No summary exists yet. Use generate_summary to create one.",
78
+ };
79
+ }
80
+ }, "get_project_summary");
81
+ if (result.success) {
82
+ return {
83
+ content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
84
+ };
85
+ }
86
+ else {
87
+ return {
88
+ content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
89
+ isError: true,
90
+ };
91
+ }
92
+ });
93
+ // ============ delete_project_summary ============
94
+ server.tool("delete_project_summary", "Delete the project summary memory. The summary will no longer be auto-injected.", {}, async () => {
95
+ const result = await withErrorHandling(async () => {
96
+ const manager = StateManager.getInstance();
97
+ if (!manager.isInitialized()) {
98
+ throw new ProjectNotInitializedError();
99
+ }
100
+ const existingSummary = manager.getProjectSummary();
101
+ if (!existingSummary) {
102
+ return {
103
+ success: false,
104
+ message: "No project summary exists to delete.",
105
+ };
106
+ }
107
+ await manager.removeMemory(existingSummary.id);
108
+ return {
109
+ success: true,
110
+ message: "Project summary deleted.",
111
+ deletedMemoryId: existingSummary.id,
112
+ };
113
+ }, "delete_project_summary");
114
+ if (result.success) {
115
+ return {
116
+ content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }],
117
+ };
118
+ }
119
+ else {
120
+ return {
121
+ content: [{ type: "text", text: JSON.stringify(result.error, null, 2) }],
122
+ isError: true,
123
+ };
124
+ }
125
+ });
126
+ }
127
+ //# sourceMappingURL=summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/tools/summary.ts"],"names":[],"mappings":"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"}
@@ -65,4 +65,38 @@ export declare function getPathSeparator(): string;
65
65
  * Escape path for use in shell commands (Windows compatible)
66
66
  */
67
67
  export declare function escapeForShell(filePath: string): string;
68
+ /**
69
+ * Check if a target path is safely within the base directory
70
+ * Prevents path traversal attacks (e.g., ../../../etc/passwd)
71
+ * @param basePath - The allowed base directory
72
+ * @param targetPath - The path to validate
73
+ * @returns true if targetPath is within basePath
74
+ */
75
+ export declare function isPathSafe(basePath: string, targetPath: string): boolean;
76
+ /**
77
+ * Validate that a path component doesn't contain traversal sequences
78
+ * @param component - A single path component (e.g., filename or directory name)
79
+ * @returns true if the component is safe
80
+ */
81
+ export declare function isSafePathComponent(component: string): boolean;
82
+ /**
83
+ * Validate an ID to ensure it doesn't contain malicious characters
84
+ * @param id - The ID to validate
85
+ * @returns true if the ID is safe to use in file paths
86
+ */
87
+ export declare function isValidId(id: string): boolean;
88
+ /**
89
+ * Write file atomically by writing to a temp file first, then renaming
90
+ * This prevents data corruption if the write is interrupted
91
+ * @param filePath - Target file path
92
+ * @param content - Content to write
93
+ * @param encoding - File encoding (default: utf-8)
94
+ */
95
+ export declare function atomicWriteFile(filePath: string, content: string, encoding?: BufferEncoding): Promise<void>;
96
+ /**
97
+ * Generate a cryptographically secure random ID
98
+ * @param length - Length of the random part
99
+ * @returns Random alphanumeric string
100
+ */
101
+ export declare function generateSecureId(length: number): string;
68
102
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWvD"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWvD;AAID;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAc9D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAG7C;AAID;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,cAAwB,GACjC,OAAO,CAAC,IAAI,CAAC,CAqBf;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWvD"}
@@ -1,5 +1,6 @@
1
- import { mkdir } from "fs/promises";
2
- import { sep, normalize, join, dirname, isAbsolute } from "path";
1
+ import { mkdir, writeFile, rename, unlink } from "fs/promises";
2
+ import { sep, normalize, join, dirname, isAbsolute, resolve } from "path";
3
+ import { randomBytes } from "crypto";
3
4
  /**
4
5
  * Normalize path for current OS
5
6
  * Windows: uses backslashes
@@ -119,4 +120,95 @@ export function escapeForShell(filePath) {
119
120
  return filePath.replace(/(["\s'$`\\])/g, "\\$1");
120
121
  }
121
122
  }
123
+ // ============ Security Functions ============
124
+ /**
125
+ * Check if a target path is safely within the base directory
126
+ * Prevents path traversal attacks (e.g., ../../../etc/passwd)
127
+ * @param basePath - The allowed base directory
128
+ * @param targetPath - The path to validate
129
+ * @returns true if targetPath is within basePath
130
+ */
131
+ export function isPathSafe(basePath, targetPath) {
132
+ const resolvedBase = resolve(normalize(basePath));
133
+ const resolvedTarget = resolve(normalize(targetPath));
134
+ // Ensure the target starts with the base path
135
+ // Add separator to prevent partial matches (e.g., /base123 matching /base)
136
+ return resolvedTarget === resolvedBase ||
137
+ resolvedTarget.startsWith(resolvedBase + sep);
138
+ }
139
+ /**
140
+ * Validate that a path component doesn't contain traversal sequences
141
+ * @param component - A single path component (e.g., filename or directory name)
142
+ * @returns true if the component is safe
143
+ */
144
+ export function isSafePathComponent(component) {
145
+ // Check for path traversal patterns
146
+ if (component === "." || component === "..") {
147
+ return false;
148
+ }
149
+ // Check for traversal sequences
150
+ if (component.includes("..") || component.includes("/") || component.includes("\\")) {
151
+ return false;
152
+ }
153
+ // Check for null bytes (can be used to truncate paths)
154
+ if (component.includes("\0")) {
155
+ return false;
156
+ }
157
+ return true;
158
+ }
159
+ /**
160
+ * Validate an ID to ensure it doesn't contain malicious characters
161
+ * @param id - The ID to validate
162
+ * @returns true if the ID is safe to use in file paths
163
+ */
164
+ export function isValidId(id) {
165
+ // IDs should only contain alphanumeric characters and hyphens
166
+ return /^[a-zA-Z0-9-]+$/.test(id);
167
+ }
168
+ // ============ Atomic File Operations ============
169
+ /**
170
+ * Write file atomically by writing to a temp file first, then renaming
171
+ * This prevents data corruption if the write is interrupted
172
+ * @param filePath - Target file path
173
+ * @param content - Content to write
174
+ * @param encoding - File encoding (default: utf-8)
175
+ */
176
+ export async function atomicWriteFile(filePath, content, encoding = "utf-8") {
177
+ const normalizedPath = normalizePath(filePath);
178
+ const dirPath = dirname(normalizedPath);
179
+ const tempPath = normalizedPath + `.tmp.${randomBytes(8).toString("hex")}`;
180
+ await ensureDir(dirPath);
181
+ try {
182
+ // Write to temp file
183
+ await writeFile(tempPath, content, encoding);
184
+ // Atomic rename
185
+ await rename(tempPath, normalizedPath);
186
+ }
187
+ catch (error) {
188
+ // Clean up temp file if it exists
189
+ try {
190
+ await unlink(tempPath);
191
+ }
192
+ catch {
193
+ // Ignore cleanup errors
194
+ }
195
+ throw error;
196
+ }
197
+ }
198
+ // ============ Secure ID Generation ============
199
+ /**
200
+ * Generate a cryptographically secure random ID
201
+ * @param length - Length of the random part
202
+ * @returns Random alphanumeric string
203
+ */
204
+ export function generateSecureId(length) {
205
+ const chars = "abcdefghijklmnopqrstuvwxyz0123456789";
206
+ const bytes = randomBytes(length);
207
+ let result = "";
208
+ for (let i = 0; i < length; i++) {
209
+ // Use modulo to map byte value to character set
210
+ result += chars[bytes[i] % chars.length];
211
+ }
212
+ return result;
213
+ }
122
214
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAG,KAAe;IACzC,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,EAAU;IACnD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAEvC,IAAI,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3D,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjE,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,MAAc,EAAE,SAAiB;IACrF,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,MAAc;IAChE,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,iEAAiE;IACjE,OAAO,SAAS;SACb,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,sBAAsB;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,oDAAoD;QACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,QAAQ,GAAG,CAAC;QACzB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,6CAA6C;QAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,+CAA+C;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,UAAkB;IAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtD,8CAA8C;IAC9C,2EAA2E;IAC3E,OAAO,cAAc,KAAK,YAAY;QAC/B,cAAc,CAAC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,oCAAoC;IACpC,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,gCAAgC;IAChC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,uDAAuD;IACvD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,8DAA8D;IAC9D,OAAO,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,mDAAmD;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,OAAe,EACf,WAA2B,OAAO;IAElC,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,cAAc,GAAG,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAE3E,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IAEzB,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7C,gBAAgB;QAChB,MAAM,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kCAAkC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,iDAAiD;AAEjD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,KAAK,GAAG,sCAAsC,CAAC;IACrD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,gDAAgD;QAChD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}