codetree-claude 1.5.0 → 1.5.2

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 (123) hide show
  1. package/README.md +137 -121
  2. package/dist/cli.js +69 -83
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.d.ts +126 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +22 -0
  7. package/dist/config.js.map +1 -1
  8. package/dist/diff.d.ts +37 -0
  9. package/dist/diff.d.ts.map +1 -0
  10. package/dist/diff.js +181 -0
  11. package/dist/diff.js.map +1 -0
  12. package/dist/doctor.d.ts +5 -0
  13. package/dist/doctor.d.ts.map +1 -0
  14. package/dist/doctor.js +139 -0
  15. package/dist/doctor.js.map +1 -0
  16. package/dist/hook/post-compact.js +1 -23
  17. package/dist/hook/post-compact.js.map +1 -1
  18. package/dist/hook/post-tool-use.js +11 -27
  19. package/dist/hook/post-tool-use.js.map +1 -1
  20. package/dist/hook/pre-compact.js +1 -22
  21. package/dist/hook/pre-compact.js.map +1 -1
  22. package/dist/hook/pre-tool-use.bundled.js +49 -77
  23. package/dist/hook/pre-tool-use.js +23 -90
  24. package/dist/hook/pre-tool-use.js.map +1 -1
  25. package/dist/hook/session-start.js +19 -23
  26. package/dist/hook/session-start.js.map +1 -1
  27. package/dist/index.d.ts +7 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +8 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/indexer/extractor-registry.d.ts.map +1 -1
  32. package/dist/indexer/extractor-registry.js +6 -0
  33. package/dist/indexer/extractor-registry.js.map +1 -1
  34. package/dist/indexer/extractors/csharp.d.ts +12 -0
  35. package/dist/indexer/extractors/csharp.d.ts.map +1 -0
  36. package/dist/indexer/extractors/csharp.js +165 -0
  37. package/dist/indexer/extractors/csharp.js.map +1 -0
  38. package/dist/indexer/extractors/go.js +44 -1
  39. package/dist/indexer/extractors/go.js.map +1 -1
  40. package/dist/indexer/extractors/java.d.ts.map +1 -1
  41. package/dist/indexer/extractors/java.js +41 -3
  42. package/dist/indexer/extractors/java.js.map +1 -1
  43. package/dist/indexer/extractors/javascript.d.ts.map +1 -1
  44. package/dist/indexer/extractors/javascript.js +67 -3
  45. package/dist/indexer/extractors/javascript.js.map +1 -1
  46. package/dist/indexer/extractors/python.d.ts.map +1 -1
  47. package/dist/indexer/extractors/python.js +31 -2
  48. package/dist/indexer/extractors/python.js.map +1 -1
  49. package/dist/indexer/extractors/ruby.d.ts +10 -0
  50. package/dist/indexer/extractors/ruby.d.ts.map +1 -0
  51. package/dist/indexer/extractors/ruby.js +145 -0
  52. package/dist/indexer/extractors/ruby.js.map +1 -0
  53. package/dist/indexer/extractors/rust.d.ts +10 -0
  54. package/dist/indexer/extractors/rust.d.ts.map +1 -0
  55. package/dist/indexer/extractors/rust.js +194 -0
  56. package/dist/indexer/extractors/rust.js.map +1 -0
  57. package/dist/indexer/indexer.d.ts +15 -0
  58. package/dist/indexer/indexer.d.ts.map +1 -1
  59. package/dist/indexer/indexer.js +168 -4
  60. package/dist/indexer/indexer.js.map +1 -1
  61. package/dist/server/ipc.d.ts +10 -4
  62. package/dist/server/ipc.d.ts.map +1 -1
  63. package/dist/server/ipc.js +190 -109
  64. package/dist/server/ipc.js.map +1 -1
  65. package/dist/server/mcp-server.js +36 -27
  66. package/dist/server/mcp-server.js.map +1 -1
  67. package/dist/server/tools/codetree-find-refs.d.ts.map +1 -1
  68. package/dist/server/tools/codetree-find-refs.js +23 -14
  69. package/dist/server/tools/codetree-find-refs.js.map +1 -1
  70. package/dist/server/tools/codetree-memory.d.ts +3 -6
  71. package/dist/server/tools/codetree-memory.d.ts.map +1 -1
  72. package/dist/server/tools/codetree-memory.js +9 -10
  73. package/dist/server/tools/codetree-memory.js.map +1 -1
  74. package/dist/server/tools/codetree-outline.d.ts +57 -0
  75. package/dist/server/tools/codetree-outline.d.ts.map +1 -0
  76. package/dist/server/tools/codetree-outline.js +76 -0
  77. package/dist/server/tools/codetree-outline.js.map +1 -0
  78. package/dist/server/tools/codetree-probe.d.ts +53 -0
  79. package/dist/server/tools/codetree-probe.d.ts.map +1 -0
  80. package/dist/server/tools/codetree-probe.js +81 -0
  81. package/dist/server/tools/codetree-probe.js.map +1 -0
  82. package/dist/server/tools/codetree-read.d.ts +52 -3
  83. package/dist/server/tools/codetree-read.d.ts.map +1 -1
  84. package/dist/server/tools/codetree-read.js +237 -55
  85. package/dist/server/tools/codetree-read.js.map +1 -1
  86. package/dist/server/tools/codetree-search.d.ts +13 -1
  87. package/dist/server/tools/codetree-search.d.ts.map +1 -1
  88. package/dist/server/tools/codetree-search.js +80 -52
  89. package/dist/server/tools/codetree-search.js.map +1 -1
  90. package/dist/server/tools/codetree-structure.d.ts +25 -1
  91. package/dist/server/tools/codetree-structure.d.ts.map +1 -1
  92. package/dist/server/tools/codetree-structure.js +92 -42
  93. package/dist/server/tools/codetree-structure.js.map +1 -1
  94. package/dist/server/tools/codetree-summary.d.ts +2 -0
  95. package/dist/server/tools/codetree-summary.d.ts.map +1 -1
  96. package/dist/server/tools/codetree-summary.js +5 -0
  97. package/dist/server/tools/codetree-summary.js.map +1 -1
  98. package/dist/setup/install.d.ts +45 -1
  99. package/dist/setup/install.d.ts.map +1 -1
  100. package/dist/setup/install.js +163 -58
  101. package/dist/setup/install.js.map +1 -1
  102. package/dist/setup/template-load.d.ts +9 -0
  103. package/dist/setup/template-load.d.ts.map +1 -0
  104. package/dist/setup/template-load.js +39 -0
  105. package/dist/setup/template-load.js.map +1 -0
  106. package/dist/storage/database.d.ts +49 -0
  107. package/dist/storage/database.d.ts.map +1 -1
  108. package/dist/storage/database.js +383 -43
  109. package/dist/storage/database.js.map +1 -1
  110. package/dist/storage/disk-manager.d.ts.map +1 -1
  111. package/dist/storage/disk-manager.js +1 -5
  112. package/dist/storage/disk-manager.js.map +1 -1
  113. package/dist/utils.d.ts +23 -0
  114. package/dist/utils.d.ts.map +1 -0
  115. package/dist/utils.js +102 -0
  116. package/dist/utils.js.map +1 -0
  117. package/package.json +46 -10
  118. package/templates/README.md +15 -0
  119. package/templates/agents-codetree.snippet.md +24 -0
  120. package/templates/claude-md-codetree.snippet.md +22 -0
  121. package/templates/claude-rules-codetree.md +23 -0
  122. package/templates/cursor-codetree.mdc +31 -0
  123. package/templates/gemini-codetree.snippet.md +6 -0
@@ -1,8 +1,43 @@
1
1
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
2
2
  import { join, dirname } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
+ import TOML from "@iarna/toml";
5
+ import { readRequiredTemplate } from "./template-load.js";
4
6
  const __filename = fileURLToPath(import.meta.url);
5
7
  const __dirname = dirname(__filename);
8
+ /** Idempotent replace for CLAUDE.md / AGENTS.md / GEMINI.md blocks shipped in `templates/`. */
9
+ const CLAUDE_MD_BLOCK_RE = /<!-- codetree-instructions -->[\s\S]*?<!-- \/codetree-instructions -->/;
10
+ const AGENTS_BLOCK_RE = /<!-- codetree-agents -->[\s\S]*?<!-- \/codetree-agents -->/;
11
+ const GEMINI_BLOCK_RE = /<!-- codetree-gemini -->[\s\S]*?<!-- \/codetree-gemini -->/;
12
+ /** Shared MCP server entry for stdio (Claude `.mcp.json`, Cursor, Antigravity, etc.). */
13
+ export function buildCodetreeMcpServerEntry(projectRoot, serverScriptPath) {
14
+ const normalizedPath = serverScriptPath.replace(/\\/g, "/");
15
+ const normalizedRoot = projectRoot.replace(/\\/g, "/");
16
+ return {
17
+ command: "node",
18
+ args: [normalizedPath],
19
+ cwd: normalizedRoot,
20
+ env: {
21
+ CODETREE_PROJECT_ROOT: normalizedRoot,
22
+ },
23
+ };
24
+ }
25
+ function mergeJsonMcpFile(mcpConfigPath, projectRoot, serverScriptPath) {
26
+ let config = {};
27
+ if (existsSync(mcpConfigPath)) {
28
+ try {
29
+ config = JSON.parse(readFileSync(mcpConfigPath, "utf-8"));
30
+ }
31
+ catch {
32
+ // Invalid JSON, start fresh
33
+ }
34
+ }
35
+ if (!config.mcpServers)
36
+ config.mcpServers = {};
37
+ config.mcpServers.codetree = buildCodetreeMcpServerEntry(projectRoot, serverScriptPath);
38
+ mkdirSync(dirname(mcpConfigPath), { recursive: true });
39
+ writeFileSync(mcpConfigPath, JSON.stringify(config, null, 2), "utf-8");
40
+ }
6
41
  function addHookIfMissing(hooks, matcher, command) {
7
42
  const exists = hooks.find((h) => h.hooks?.some((hook) => hook.command?.includes("codetree")));
8
43
  if (!exists) {
@@ -85,17 +120,7 @@ export function installMcpServer(projectRoot, serverScriptPath) {
85
120
  if (!config.mcpServers)
86
121
  config.mcpServers = {};
87
122
  // Always update — don't skip, paths may have changed
88
- // Normalize all paths to forward slashes for cross-platform compatibility
89
- const normalizedPath = serverScriptPath.replace(/\\/g, "/");
90
- const normalizedRoot = projectRoot.replace(/\\/g, "/");
91
- config.mcpServers.codetree = {
92
- command: "node",
93
- args: [normalizedPath],
94
- cwd: normalizedRoot,
95
- env: {
96
- CODETREE_PROJECT_ROOT: normalizedRoot,
97
- },
98
- };
123
+ config.mcpServers.codetree = buildCodetreeMcpServerEntry(projectRoot, serverScriptPath);
99
124
  writeFileSync(mcpConfigPath, JSON.stringify(config, null, 2), "utf-8");
100
125
  return { success: true, message: `MCP server registered in ${mcpConfigPath}` };
101
126
  }
@@ -132,53 +157,23 @@ export function createDefaultConfig(projectRoot) {
132
157
  }
133
158
  /**
134
159
  * Generate CLAUDE.md that instructs Claude to use CodeTree MCP tools.
135
- * Appends to existing CLAUDE.md if present, creates new one if not.
160
+ * Text is loaded from packaged `templates/claude-md-codetree.snippet.md`.
136
161
  */
137
162
  export function installClaudeMd(projectRoot) {
138
163
  const claudeMdPath = join(projectRoot, "CLAUDE.md");
139
- const marker = "<!-- codetree-instructions -->";
140
- const codetreeBlock = `
141
- ${marker}
142
- ## CodeTree — Cached Codebase Access
143
-
144
- This project has CodeTree MCP tools for faster, token-efficient codebase access.
145
- **Use these instead of native Read/Grep/Glob whenever possible:**
146
-
147
- | Instead of | Use | Why |
148
- |-----------|-----|-----|
149
- | \`Read\` | \`codetree_read\` | Cached content + symbol metadata |
150
- | \`Grep\` | \`codetree_search\` | Instant symbol index search. Set \`content_search=true\` for line matches |
151
- | \`Glob\` | \`codetree_structure\` | Indexed project tree with language stats |
152
-
153
- **Other tools:**
154
- - \`codetree_find_refs\` — Find all references to a symbol
155
- - \`codetree_summary\` — Project overview (call at session start)
156
- - \`codetree_memory\` — Save/recall insights across sessions
157
-
158
- **Session workflow:**
159
- 1. Start: call \`codetree_summary\` and \`codetree_memory\` with \`action: "get_context"\`
160
- 2. During work: use \`codetree_read\`/\`codetree_search\` instead of native tools
161
- 3. Save discoveries: \`codetree_memory\` with \`action: "save_insight"\`
162
- <!-- /codetree-instructions -->`;
164
+ const codetreeBlock = readRequiredTemplate("claude-md-codetree.snippet.md").trim();
163
165
  if (existsSync(claudeMdPath)) {
164
166
  let content = readFileSync(claudeMdPath, "utf-8");
165
- if (content.includes(marker)) {
166
- // Already has codetree block — update it
167
- const startIdx = content.indexOf(marker);
168
- const endMarker = "<!-- /codetree-instructions -->";
169
- const endIdx = content.indexOf(endMarker);
170
- if (endIdx > startIdx) {
171
- content = content.slice(0, startIdx) + codetreeBlock.trim() + "\n" + content.slice(endIdx + endMarker.length);
172
- }
167
+ if (CLAUDE_MD_BLOCK_RE.test(content)) {
168
+ content = content.replace(CLAUDE_MD_BLOCK_RE, codetreeBlock);
173
169
  }
174
170
  else {
175
- // Append to existing CLAUDE.md
176
- content = content.trimEnd() + "\n\n" + codetreeBlock.trim() + "\n";
171
+ content = content.trimEnd() + "\n\n" + codetreeBlock + "\n";
177
172
  }
178
173
  writeFileSync(claudeMdPath, content, "utf-8");
179
174
  }
180
175
  else {
181
- writeFileSync(claudeMdPath, codetreeBlock.trim() + "\n", "utf-8");
176
+ writeFileSync(claudeMdPath, codetreeBlock + "\n", "utf-8");
182
177
  }
183
178
  }
184
179
  /**
@@ -191,19 +186,129 @@ export function installClaudeRules(projectRoot) {
191
186
  mkdirSync(rulesDir, { recursive: true });
192
187
  }
193
188
  const rulePath = join(rulesDir, "codetree.md");
194
- const ruleContent = `MANDATORY: Use CodeTree MCP tools instead of native Read/Grep/Glob.
195
-
196
- - Use \`codetree_read\` instead of \`Read\` for all file reads
197
- - Use \`codetree_search\` instead of \`Grep\` for all code searches
198
- - Use \`codetree_structure\` instead of \`Glob\` for all file listings
199
- - Use \`codetree_summary\` at session start for project overview
200
- - Use \`codetree_memory\` with action "get_context" to recall prior sessions
201
- - Use \`codetree_memory\` with action "save_insight" to persist discoveries
202
-
203
- These tools serve cached data and save tokens. ALWAYS prefer them.
204
- `;
189
+ const ruleContent = readRequiredTemplate("claude-rules-codetree.md").trimEnd() + "\n";
190
+ writeFileSync(rulePath, ruleContent, "utf-8");
191
+ }
192
+ // ─── Cursor (MCP + rules) does not modify Claude paths ─────────────────
193
+ /**
194
+ * Register CodeTree in `.cursor/mcp.json` (Cursor IDE).
195
+ */
196
+ export function installCursorMcp(projectRoot, serverScriptPath) {
197
+ const mcpConfigPath = join(projectRoot, ".cursor", "mcp.json");
198
+ mergeJsonMcpFile(mcpConfigPath, projectRoot, serverScriptPath);
199
+ return { success: true, message: `Cursor MCP registered in ${mcpConfigPath}` };
200
+ }
201
+ /**
202
+ * Cursor rules so the agent prefers CodeTree tools (steering; not hook enforcement).
203
+ * Source: packaged `templates/cursor-codetree.mdc`.
204
+ */
205
+ export function installCursorRules(projectRoot) {
206
+ const rulesDir = join(projectRoot, ".cursor", "rules");
207
+ if (!existsSync(rulesDir)) {
208
+ mkdirSync(rulesDir, { recursive: true });
209
+ }
210
+ const rulePath = join(rulesDir, "codetree.mdc");
211
+ const ruleContent = readRequiredTemplate("cursor-codetree.mdc").trimEnd() + "\n";
205
212
  writeFileSync(rulePath, ruleContent, "utf-8");
206
213
  }
214
+ // ─── Google Antigravity (project MCP) ─────────────────────────────────────
215
+ /**
216
+ * Register CodeTree in `.antigravity/mcp.json` (project-level; common Antigravity convention).
217
+ * Does not modify global ~/.gemini/... (avoid clobbering user-wide config).
218
+ */
219
+ export function installAntigravityMcp(projectRoot, serverScriptPath) {
220
+ const mcpConfigPath = join(projectRoot, ".antigravity", "mcp.json");
221
+ mergeJsonMcpFile(mcpConfigPath, projectRoot, serverScriptPath);
222
+ return { success: true, message: `Antigravity MCP registered in ${mcpConfigPath}` };
223
+ }
224
+ // ─── OpenAI Codex (project .codex/config.toml) ────────────────────────────
225
+ /**
226
+ * Merge CodeTree into `.codex/config.toml`. Skips write if existing file is invalid TOML.
227
+ */
228
+ export function installCodexMcp(projectRoot, serverScriptPath) {
229
+ const codexDir = join(projectRoot, ".codex");
230
+ const codexPath = join(codexDir, "config.toml");
231
+ mkdirSync(codexDir, { recursive: true });
232
+ let doc = {};
233
+ if (existsSync(codexPath)) {
234
+ const raw = readFileSync(codexPath, "utf-8");
235
+ if (raw.trim()) {
236
+ try {
237
+ doc = TOML.parse(raw);
238
+ }
239
+ catch {
240
+ return {
241
+ success: false,
242
+ message: `Skipped Codex: existing ${codexPath} is not valid TOML — fix it or merge [mcp_servers.codetree] manually`,
243
+ };
244
+ }
245
+ }
246
+ }
247
+ const entry = buildCodetreeMcpServerEntry(projectRoot, serverScriptPath);
248
+ const rawMcp = doc.mcp_servers;
249
+ const mcpServers = rawMcp !== undefined &&
250
+ rawMcp !== null &&
251
+ typeof rawMcp === "object" &&
252
+ !Array.isArray(rawMcp)
253
+ ? { ...rawMcp }
254
+ : {};
255
+ mcpServers.codetree = {
256
+ command: entry.command,
257
+ args: entry.args,
258
+ cwd: entry.cwd,
259
+ enabled: true,
260
+ startup_timeout_sec: 10,
261
+ tool_timeout_sec: 120,
262
+ env: {
263
+ CODETREE_PROJECT_ROOT: entry.env.CODETREE_PROJECT_ROOT,
264
+ },
265
+ };
266
+ doc.mcp_servers = mcpServers;
267
+ writeFileSync(codexPath, TOML.stringify(doc), "utf-8");
268
+ return { success: true, message: `Codex MCP registered in ${codexPath}` };
269
+ }
270
+ // ─── AGENTS.md / GEMINI.md (portable instructions) ───────────────────────
271
+ // Sources: templates/agents-codetree.snippet.md, templates/gemini-codetree.snippet.md
272
+ /**
273
+ * Idempotent AGENTS.md block (Cursor, OpenAI Codex, Google Antigravity, and other agents that read AGENTS.md).
274
+ */
275
+ export function installAgentsMd(projectRoot) {
276
+ const pathMd = join(projectRoot, "AGENTS.md");
277
+ const agentsBlock = readRequiredTemplate("agents-codetree.snippet.md").trim();
278
+ if (existsSync(pathMd)) {
279
+ let content = readFileSync(pathMd, "utf-8");
280
+ if (AGENTS_BLOCK_RE.test(content)) {
281
+ content = content.replace(AGENTS_BLOCK_RE, agentsBlock);
282
+ }
283
+ else {
284
+ content = content.trimEnd() + "\n\n" + agentsBlock + "\n";
285
+ }
286
+ writeFileSync(pathMd, content, "utf-8");
287
+ }
288
+ else {
289
+ writeFileSync(pathMd, agentsBlock + "\n", "utf-8");
290
+ }
291
+ }
292
+ /**
293
+ * GEMINI.md — short pointer for **Google Antigravity** / Gemini-first flows (see also AGENTS.md).
294
+ */
295
+ export function installGeminiMd(projectRoot) {
296
+ const pathMd = join(projectRoot, "GEMINI.md");
297
+ const block = readRequiredTemplate("gemini-codetree.snippet.md").trim();
298
+ if (existsSync(pathMd)) {
299
+ let content = readFileSync(pathMd, "utf-8");
300
+ if (GEMINI_BLOCK_RE.test(content)) {
301
+ content = content.replace(GEMINI_BLOCK_RE, block);
302
+ }
303
+ else {
304
+ content = content.trimEnd() + "\n\n" + block + "\n";
305
+ }
306
+ writeFileSync(pathMd, content, "utf-8");
307
+ }
308
+ else {
309
+ writeFileSync(pathMd, block + "\n", "utf-8");
310
+ }
311
+ }
207
312
  /**
208
313
  * Add .codetree/ to .gitignore.
209
314
  */
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/setup/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/setup/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** Package root: .../dist/setup -> ../.. */
2
+ export declare const CODE_TREE_PACKAGE_ROOT: string;
3
+ export declare const TEMPLATES_DIR: string;
4
+ /**
5
+ * Read a file from `templates/`. Throws if missing (broken or partial install).
6
+ * Resolves path and ensures the result stays inside `templates/` (directory escape safe).
7
+ */
8
+ export declare function readRequiredTemplate(filename: string): string;
9
+ //# sourceMappingURL=template-load.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-load.d.ts","sourceRoot":"","sources":["../../src/setup/template-load.ts"],"names":[],"mappings":"AAUA,4CAA4C;AAC5C,eAAO,MAAM,sBAAsB,QAAiC,CAAC;AAErE,eAAO,MAAM,aAAa,QAA4C,CAAC;AAcvE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa7D"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Bundled templates live in `templates/` at the package root (next to `dist/`).
3
+ * They are included in the published npm package via package.json "files".
4
+ */
5
+ import { existsSync, readFileSync } from "node:fs";
6
+ import { join, resolve, dirname, relative, isAbsolute } from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+ const __dirname = dirname(fileURLToPath(import.meta.url));
9
+ /** Package root: .../dist/setup -> ../.. */
10
+ export const CODE_TREE_PACKAGE_ROOT = resolve(__dirname, "..", "..");
11
+ export const TEMPLATES_DIR = join(CODE_TREE_PACKAGE_ROOT, "templates");
12
+ /**
13
+ * Only flat filenames under `templates/` (no path traversal).
14
+ */
15
+ function assertSafeTemplateFilename(filename) {
16
+ if (!filename || isAbsolute(filename)) {
17
+ throw new Error("CodeTree: invalid template name (empty or absolute path).");
18
+ }
19
+ if (filename.includes("..") || /[/\\]/.test(filename)) {
20
+ throw new Error(`CodeTree: invalid template name: ${filename}`);
21
+ }
22
+ }
23
+ /**
24
+ * Read a file from `templates/`. Throws if missing (broken or partial install).
25
+ * Resolves path and ensures the result stays inside `templates/` (directory escape safe).
26
+ */
27
+ export function readRequiredTemplate(filename) {
28
+ assertSafeTemplateFilename(filename);
29
+ const p = resolve(TEMPLATES_DIR, filename);
30
+ const rel = relative(TEMPLATES_DIR, p);
31
+ if (rel.startsWith("..") || rel === "") {
32
+ throw new Error(`CodeTree: invalid template path for ${filename}`);
33
+ }
34
+ if (!existsSync(p)) {
35
+ throw new Error(`CodeTree: missing bundled template "${filename}". Expected: ${p}. Reinstall: npm i codetree-claude`);
36
+ }
37
+ return readFileSync(p, "utf-8").replace(/\r\n/g, "\n");
38
+ }
39
+ //# sourceMappingURL=template-load.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-load.js","sourceRoot":"","sources":["../../src/setup/template-load.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,4CAA4C;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;AAEvE;;GAEG;AACH,SAAS,0BAA0B,CAAC,QAAgB;IAClD,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACvC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,gBAAgB,CAAC,oCAAoC,CACrG,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC"}
@@ -40,19 +40,52 @@ export declare class Database {
40
40
  getFileCount(): number;
41
41
  upsertSymbols(filePath: string, symbols: SymbolRecord[]): void;
42
42
  searchSymbols(query: string, kind?: string, limit?: number): SymbolRecord[];
43
+ private rowToSymbol;
44
+ private searchSymbolsExact;
43
45
  getSymbolsForFile(filePath: string): SymbolRecord[];
44
46
  upsertDependencies(sourcePath: string, deps: DependencyRecord[]): void;
45
47
  findDependents(targetPath: string): DependencyRecord[];
46
48
  cacheContent(path: string, content: Buffer): void;
47
49
  getCachedContent(path: string): Buffer | null;
48
50
  evictContentCache(maxSizeMB: number): void;
51
+ /**
52
+ * Look up cached content for a file that previously had a given hash.
53
+ * Used for diff-based reads: find old version to compute delta.
54
+ * Checks the previous_content table first, then falls back to content_cache.
55
+ * Returns decompressed content or null if not found.
56
+ */
57
+ getCachedContentByHash(hash: string): string | null;
58
+ /**
59
+ * Save previous content before overwriting, keyed by hash.
60
+ * Used for diff-based reads.
61
+ *
62
+ * Cleanup strategy:
63
+ * - TTL: 24h (long enough to survive long sessions / compaction).
64
+ * - Hard cap: 200 rows; oldest evicted first.
65
+ * Both run AFTER the insert so we never delete the row we just saved.
66
+ */
67
+ savePreviousContent(hash: string, compressedContent: Buffer): void;
68
+ /**
69
+ * Get the total size of the content_cache table in bytes (compressed content).
70
+ */
71
+ getContentCacheSize(): number;
49
72
  searchFiles(pattern: string): FileRecord[];
50
73
  createSession(sessionId: string, taskDescription?: string): void;
51
74
  updateSessionAccess(sessionId: string): void;
52
75
  endSession(sessionId: string, summary?: string): void;
76
+ /**
77
+ * Most recent read timestamp by a session for a file (any tool).
78
+ * Returns 0 if there is no prior read.
79
+ */
80
+ getLastSessionReadAt(sessionId: string, filePath: string): number;
53
81
  logSessionRead(sessionId: string, filePath: string, toolName: string, lineStart?: number, lineEnd?: number): void;
82
+ /**
83
+ * Get list of unique files read in a session (from session_reads table, not JSON column).
84
+ */
85
+ getSessionFilesRead(sessionId: string): string[];
54
86
  logSessionModified(sessionId: string, filePath: string): void;
55
87
  logSessionSearch(sessionId: string, symbol: string): void;
88
+ logSessionGrep(sessionId: string, pattern: string): void;
56
89
  addSessionInsight(sessionId: string, category: string, content: string, filePaths?: string[]): void;
57
90
  getSession(sessionId: string): any | null;
58
91
  getRecentSessions(limit?: number): any[];
@@ -106,6 +139,22 @@ export declare class Database {
106
139
  grepPatterns: string[];
107
140
  fileSummaries: Record<string, string>;
108
141
  };
142
+ saveTokenPostings(filePath: string, tokens: Set<string>): void;
143
+ deleteTokenPostings(filePath: string): void;
144
+ loadAllTokenPostings(): Map<string, Set<string>>;
145
+ getTokenPostingsFileMap(): Map<string, Set<string>>;
146
+ saveTrigrams(filePath: string, content: string): void;
147
+ deleteTrigrams(filePath: string): void;
148
+ /**
149
+ * Find files that contain ALL trigrams from the query string.
150
+ * This narrows candidates before doing actual content search.
151
+ */
152
+ searchByTrigrams(query: string, limit?: number): string[];
153
+ getSymbolCount(): number;
154
+ /**
155
+ * Get symbol counts per file in a single query (avoids N+1).
156
+ */
157
+ getSymbolCountsByFile(): Map<string, number>;
109
158
  close(): void;
110
159
  }
111
160
  //# sourceMappingURL=database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}