codestrate 0.1.1 → 0.2.0

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 (85) hide show
  1. package/dist/constants.d.ts.map +1 -1
  2. package/dist/constants.js +5 -3
  3. package/dist/constants.js.map +1 -1
  4. package/dist/index.js +42 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/install.d.ts +7 -0
  7. package/dist/install.d.ts.map +1 -0
  8. package/dist/install.js +75 -0
  9. package/dist/install.js.map +1 -0
  10. package/dist/schemas/index.d.ts +1021 -3
  11. package/dist/schemas/index.d.ts.map +1 -1
  12. package/dist/schemas/index.js +229 -0
  13. package/dist/schemas/index.js.map +1 -1
  14. package/dist/services/code-searcher.d.ts.map +1 -1
  15. package/dist/services/code-searcher.js +9 -5
  16. package/dist/services/code-searcher.js.map +1 -1
  17. package/dist/services/context-builder.js +8 -7
  18. package/dist/services/context-builder.js.map +1 -1
  19. package/dist/services/repository-parser.js +65 -42
  20. package/dist/services/repository-parser.js.map +1 -1
  21. package/dist/services/tree-sitter.d.ts.map +1 -1
  22. package/dist/services/tree-sitter.js +158 -4
  23. package/dist/services/tree-sitter.js.map +1 -1
  24. package/dist/services/validation-runner.d.ts.map +1 -1
  25. package/dist/services/validation-runner.js +35 -15
  26. package/dist/services/validation-runner.js.map +1 -1
  27. package/dist/store/sqlite.d.ts +2 -0
  28. package/dist/store/sqlite.d.ts.map +1 -1
  29. package/dist/store/sqlite.js +34 -0
  30. package/dist/store/sqlite.js.map +1 -1
  31. package/dist/tools/analyze-impact.d.ts.map +1 -1
  32. package/dist/tools/analyze-impact.js +5 -2
  33. package/dist/tools/analyze-impact.js.map +1 -1
  34. package/dist/tools/detect-dead-code.d.ts +7 -0
  35. package/dist/tools/detect-dead-code.d.ts.map +1 -0
  36. package/dist/tools/detect-dead-code.js +67 -0
  37. package/dist/tools/detect-dead-code.js.map +1 -0
  38. package/dist/tools/explore.d.ts.map +1 -1
  39. package/dist/tools/explore.js +23 -5
  40. package/dist/tools/explore.js.map +1 -1
  41. package/dist/tools/get-context.d.ts.map +1 -1
  42. package/dist/tools/get-context.js +4 -2
  43. package/dist/tools/get-context.js.map +1 -1
  44. package/dist/tools/inspect-symbol.d.ts.map +1 -1
  45. package/dist/tools/inspect-symbol.js +4 -2
  46. package/dist/tools/inspect-symbol.js.map +1 -1
  47. package/dist/tools/recall-experience.d.ts.map +1 -1
  48. package/dist/tools/recall-experience.js +5 -3
  49. package/dist/tools/recall-experience.js.map +1 -1
  50. package/dist/tools/record-experience.d.ts.map +1 -1
  51. package/dist/tools/record-experience.js +4 -2
  52. package/dist/tools/record-experience.js.map +1 -1
  53. package/dist/tools/register.d.ts +23 -0
  54. package/dist/tools/register.d.ts.map +1 -0
  55. package/dist/tools/register.js +4 -0
  56. package/dist/tools/register.js.map +1 -0
  57. package/dist/tools/reindex.d.ts.map +1 -1
  58. package/dist/tools/reindex.js +27 -3
  59. package/dist/tools/reindex.js.map +1 -1
  60. package/dist/tools/repo-overview.d.ts.map +1 -1
  61. package/dist/tools/repo-overview.js +59 -3
  62. package/dist/tools/repo-overview.js.map +1 -1
  63. package/dist/tools/run-validation.d.ts.map +1 -1
  64. package/dist/tools/run-validation.js +4 -2
  65. package/dist/tools/run-validation.js.map +1 -1
  66. package/dist/tools/search-code.d.ts.map +1 -1
  67. package/dist/tools/search-code.js +4 -2
  68. package/dist/tools/search-code.js.map +1 -1
  69. package/dist/tools/search-history.d.ts.map +1 -1
  70. package/dist/tools/search-history.js +4 -2
  71. package/dist/tools/search-history.js.map +1 -1
  72. package/dist/tools/status.d.ts.map +1 -1
  73. package/dist/tools/status.js +6 -4
  74. package/dist/tools/status.js.map +1 -1
  75. package/dist/tools/trace-flow.d.ts.map +1 -1
  76. package/dist/tools/trace-flow.js +4 -2
  77. package/dist/tools/trace-flow.js.map +1 -1
  78. package/grammars/tree-sitter-c.wasm +0 -0
  79. package/grammars/tree-sitter-cpp.wasm +0 -0
  80. package/grammars/tree-sitter-go.wasm +0 -0
  81. package/grammars/tree-sitter-java.wasm +0 -0
  82. package/grammars/tree-sitter-javascript.wasm +0 -0
  83. package/grammars/tree-sitter-rust.wasm +0 -0
  84. package/grammars/tree-sitter-tsx.wasm +0 -0
  85. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAO3C,eAAO,MAAM,WAAW,mCAAmC,CAAC;AAC5D,eAAO,MAAM,cAAc,UAAU,CAAC;AAItC,eAAO,MAAM,kBAAkB,QAAsC,CAAC;AACtE,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAIzC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,4BAA4B,QAAS,CAAC;AACnD,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAC5C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAgBrC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACzC,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAOR;AAED,eAAO,MAAM,wBAAwB;;;;;;;CAO3B,CAAC;AAIX,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAmBxD,CAAC;AAUF,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CA0CtD"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAO3C,eAAO,MAAM,WAAW,mCAAmC,CAAC;AAC5D,eAAO,MAAM,cAAc,UAAU,CAAC;AAItC,eAAO,MAAM,kBAAkB,QAAsC,CAAC;AACtE,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAIzC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,4BAA4B,QAAS,CAAC;AACnD,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAC5C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAgBrC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACzC,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAOR;AAED,eAAO,MAAM,wBAAwB;;;;;;;CAO3B,CAAC;AAIX,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAoBxD,CAAC;AAUF,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CA2CtD"}
package/dist/constants.js CHANGED
@@ -75,13 +75,14 @@ export const CONTEXT_BUDGET_BREAKDOWN = {
75
75
  };
76
76
  // ─── File extensions by language ──────────────────────────
77
77
  export const LANGUAGE_EXTENSIONS = {
78
- typescript: [".ts", ".tsx", ".mts", ".cts"],
78
+ typescript: [".ts", ".mts", ".cts"],
79
+ tsx: [".tsx"],
79
80
  javascript: [".js", ".jsx", ".mjs", ".cjs"],
80
81
  python: [".py", ".pyi", ".pyx"],
82
+ go: [".go"],
83
+ rust: [".rs", ".rlib"],
81
84
  java: [".java", ".kt", ".kts"],
82
85
  kotlin: [".kt", ".kts"],
83
- rust: [".rs", ".rlib"],
84
- go: [".go"],
85
86
  csharp: [".cs", ".csx"],
86
87
  cpp: [".cpp", ".cc", ".cxx", ".hpp", ".h"],
87
88
  c: [".c", ".h"],
@@ -126,6 +127,7 @@ export function loadConfig(repoPath) {
126
127
  };
127
128
  }
128
129
  catch {
130
+ console.warn("[constants] lỗi parse config file, bỏ qua:", file);
129
131
  // fall through
130
132
  }
131
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -33,9 +33,13 @@ import { readFileSync, existsSync } from "fs";
33
33
  import { appendFileSync } from "fs";
34
34
  import { join, resolve } from "path";
35
35
  import { SERVER_NAME, SERVER_VERSION } from "./constants.js";
36
- import { loadIndex } from "./store/index.js";
36
+ import { loadIndex, setSnapshot, setSymbols, setRelations, resetIndex, saveIndex } from "./store/index.js";
37
37
  import { loadMemoryStore } from "./store/memory.js";
38
38
  import { loadConfig } from "./constants.js";
39
+ import { parseRepository } from "./services/repository-parser.js";
40
+ import { indexSymbols } from "./services/symbol-indexer.js";
41
+ import { getStore } from "./store/sqlite.js";
42
+ import { initTreeSitter } from "./services/tree-sitter.js";
39
43
  // ─── Import tool registrations ────────────────────────────
40
44
  import { registerRepoOverview } from "./tools/repo-overview.js";
41
45
  import { registerSearchCode } from "./tools/search-code.js";
@@ -46,6 +50,7 @@ import { registerRecallExperience } from "./tools/recall-experience.js";
46
50
  import { registerRunValidation } from "./tools/run-validation.js";
47
51
  import { registerRecordExperience } from "./tools/record-experience.js";
48
52
  import { registerTraceFlow } from "./tools/trace-flow.js";
53
+ import { registerDetectDeadCode } from "./tools/detect-dead-code.js";
49
54
  import { registerStatus } from "./tools/status.js";
50
55
  import { registerReindex } from "./tools/reindex.js";
51
56
  import { registerAnalyzeImpact } from "./tools/analyze-impact.js";
@@ -92,10 +97,45 @@ function injectAgentsMd() {
92
97
  appendFileSync(agentsPath, `\n${MARKER}\n${AGENTS_CONTENT}\n`);
93
98
  }
94
99
  catch {
100
+ console.warn("[index] không ghi được AGENTS.md:", agentsPath);
95
101
  // Không ghi được → bỏ qua, không crash server
96
102
  }
97
103
  }
98
104
  injectAgentsMd();
105
+ // ─── Auto-index on connect ─────────────────────────────
106
+ // Tự động index repo khi server start nếu có repoPath.
107
+ // Chạy background — không block server startup.
108
+ async function autoReindex() {
109
+ if (!config.repoPath)
110
+ return;
111
+ try {
112
+ await initTreeSitter();
113
+ resetIndex();
114
+ const snapshot = await parseRepository({ path: config.repoPath, depth: 3 });
115
+ setSnapshot(snapshot);
116
+ const allFiles = snapshot.files.map(f => ({ path: f.path, language: f.language }));
117
+ const { symbols, relations } = await indexSymbols({
118
+ repoPath: config.repoPath,
119
+ files: allFiles,
120
+ commitSha: snapshot.commitSha,
121
+ repoFingerprint: snapshot.repoFingerprint,
122
+ });
123
+ setSymbols(symbols);
124
+ setRelations(relations);
125
+ saveIndex(config.storePath);
126
+ try {
127
+ getStore().populateGraph(symbols, relations);
128
+ }
129
+ catch {
130
+ console.warn("[index] populateGraph thất bại (JSON store fallback)"); /* JSON store */
131
+ }
132
+ console.error(`Auto-index: ${allFiles.length} files, ${symbols.length} symbols`);
133
+ }
134
+ catch (err) {
135
+ console.error("Auto-index failed (non-fatal):", err instanceof Error ? err.message : err);
136
+ }
137
+ }
138
+ autoReindex();
99
139
  // ─── Register tools ───────────────────────────────────────
100
140
  registerRepoOverview(server);
101
141
  registerSearchCode(server);
@@ -103,6 +143,7 @@ registerInspectSymbol(server);
103
143
  registerGetContext(server);
104
144
  registerSearchHistory(server);
105
145
  registerRecallExperience(server);
146
+ registerDetectDeadCode(server);
106
147
  registerTraceFlow(server);
107
148
  registerStatus(server);
108
149
  registerRunValidation(server);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Script cài đặt codestrate — in hướng dẫn cấu hình MCP
4
+ * cho Claude Code và các coding agent dùng stdio transport.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";AACA;;;GAGG"}
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Script cài đặt codestrate — in hướng dẫn cấu hình MCP
4
+ * cho Claude Code và các coding agent dùng stdio transport.
5
+ */
6
+ import { SERVER_NAME, SERVER_VERSION } from "./constants.js";
7
+ const TOOLS = [
8
+ "ci_repo_overview",
9
+ "ci_search_code",
10
+ "ci_inspect_symbol",
11
+ "ci_get_context",
12
+ "ci_search_history",
13
+ "ci_recall_experience",
14
+ "ci_record_experience",
15
+ "ci_run_validation",
16
+ "ci_trace_flow",
17
+ "ci_detect_dead_code",
18
+ "ci_status",
19
+ "ci_reindex",
20
+ "ci_analyze_impact",
21
+ "ci_explore",
22
+ ];
23
+ const BIN_ALIASES = [
24
+ "codestrate → dist/index.js (tên gốc)",
25
+ "ci-mcp → dist/index.js (bí danh)",
26
+ "ci-install → dist/install.js (hướng dẫn cài đặt)",
27
+ ];
28
+ // ─── Helpers ───────────────────────────────────────────────
29
+ function separator() {
30
+ return "─".repeat(60);
31
+ }
32
+ function bold(text) {
33
+ return process.stdout.isTTY ? `\x1b[1m${text}\x1b[22m` : text;
34
+ }
35
+ // ─── Main ──────────────────────────────────────────────────
36
+ function printInstructions() {
37
+ console.log(`\n${separator()}`);
38
+ console.log(` ${bold(SERVER_NAME)} v${SERVER_VERSION}`);
39
+ console.log(`${separator()}\n`);
40
+ console.log("📦 Các bí danh (bin aliases) có sẵn:\n");
41
+ for (const alias of BIN_ALIASES) {
42
+ console.log(` • ${alias}`);
43
+ }
44
+ console.log(`\n${separator()}`);
45
+ console.log(` ${bold("Công cụ (tools)")}`);
46
+ console.log(`${separator()}\n`);
47
+ console.log(` Server đăng ký ${TOOLS.length} tools:\n`);
48
+ for (const tool of TOOLS) {
49
+ console.log(` • ${tool}`);
50
+ }
51
+ console.log(`\n${separator()}`);
52
+ console.log(` ${bold("Cấu hình MCP — Claude Code")}`);
53
+ console.log(`${separator()}\n`);
54
+ console.log(" Thêm mục này vào Claude Code settings (MCP servers):\n");
55
+ console.log(' {\n'
56
+ + ' "mcpServers": {\n'
57
+ + ` "${SERVER_NAME}": {\n`
58
+ + ' "command": "npx",\n'
59
+ + ' "args": ["-y", "codestrate"]\n'
60
+ + ' }\n'
61
+ + ' }\n'
62
+ + ' }\n');
63
+ console.log(" Hoặc dùng stdio trực tiếp với đường dẫn local:\n");
64
+ console.log(" command: node");
65
+ console.log(' args: ["<path-to-repo>/dist/index.js"]\n');
66
+ console.log(`${separator()}`);
67
+ console.log(` ${bold("Hướng dẫn nhanh")}`);
68
+ console.log(`${separator()}\n`);
69
+ console.log(" 1. Build: npm run build");
70
+ console.log(" 2. Chạy thử: npm start");
71
+ console.log(` 3. Kiểm tra tool: nhờ Claude dùng ${TOOLS[0]}\n`);
72
+ console.log(`${separator()}\n`);
73
+ }
74
+ printInstructions();
75
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}