vemora 0.1.0-alpha.15

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 (254) hide show
  1. package/README.md +851 -0
  2. package/dist/cli.d.ts +16 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +682 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/ask.d.ts +14 -0
  7. package/dist/commands/ask.d.ts.map +1 -0
  8. package/dist/commands/ask.js +137 -0
  9. package/dist/commands/ask.js.map +1 -0
  10. package/dist/commands/audit.d.ts +17 -0
  11. package/dist/commands/audit.d.ts.map +1 -0
  12. package/dist/commands/audit.js +398 -0
  13. package/dist/commands/audit.js.map +1 -0
  14. package/dist/commands/brief.d.ts +16 -0
  15. package/dist/commands/brief.d.ts.map +1 -0
  16. package/dist/commands/brief.js +84 -0
  17. package/dist/commands/brief.js.map +1 -0
  18. package/dist/commands/chat.d.ts +7 -0
  19. package/dist/commands/chat.d.ts.map +1 -0
  20. package/dist/commands/chat.js +155 -0
  21. package/dist/commands/chat.js.map +1 -0
  22. package/dist/commands/context.d.ts +63 -0
  23. package/dist/commands/context.d.ts.map +1 -0
  24. package/dist/commands/context.js +794 -0
  25. package/dist/commands/context.js.map +1 -0
  26. package/dist/commands/dead-code.d.ts +15 -0
  27. package/dist/commands/dead-code.d.ts.map +1 -0
  28. package/dist/commands/dead-code.js +206 -0
  29. package/dist/commands/dead-code.js.map +1 -0
  30. package/dist/commands/deps.d.ts +20 -0
  31. package/dist/commands/deps.d.ts.map +1 -0
  32. package/dist/commands/deps.js +138 -0
  33. package/dist/commands/deps.js.map +1 -0
  34. package/dist/commands/focus.d.ts +8 -0
  35. package/dist/commands/focus.d.ts.map +1 -0
  36. package/dist/commands/focus.js +310 -0
  37. package/dist/commands/focus.js.map +1 -0
  38. package/dist/commands/index.d.ts +10 -0
  39. package/dist/commands/index.d.ts.map +1 -0
  40. package/dist/commands/index.js +366 -0
  41. package/dist/commands/index.js.map +1 -0
  42. package/dist/commands/init-agent.d.ts +23 -0
  43. package/dist/commands/init-agent.d.ts.map +1 -0
  44. package/dist/commands/init-agent.js +384 -0
  45. package/dist/commands/init-agent.js.map +1 -0
  46. package/dist/commands/init.d.ts +2 -0
  47. package/dist/commands/init.d.ts.map +1 -0
  48. package/dist/commands/init.js +122 -0
  49. package/dist/commands/init.js.map +1 -0
  50. package/dist/commands/knowledge.d.ts +14 -0
  51. package/dist/commands/knowledge.d.ts.map +1 -0
  52. package/dist/commands/knowledge.js +115 -0
  53. package/dist/commands/knowledge.js.map +1 -0
  54. package/dist/commands/plan.d.ts +24 -0
  55. package/dist/commands/plan.d.ts.map +1 -0
  56. package/dist/commands/plan.js +867 -0
  57. package/dist/commands/plan.js.map +1 -0
  58. package/dist/commands/query.d.ts +39 -0
  59. package/dist/commands/query.d.ts.map +1 -0
  60. package/dist/commands/query.js +392 -0
  61. package/dist/commands/query.js.map +1 -0
  62. package/dist/commands/remember.d.ts +11 -0
  63. package/dist/commands/remember.d.ts.map +1 -0
  64. package/dist/commands/remember.js +267 -0
  65. package/dist/commands/remember.js.map +1 -0
  66. package/dist/commands/report.d.ts +10 -0
  67. package/dist/commands/report.d.ts.map +1 -0
  68. package/dist/commands/report.js +243 -0
  69. package/dist/commands/report.js.map +1 -0
  70. package/dist/commands/status.d.ts +2 -0
  71. package/dist/commands/status.d.ts.map +1 -0
  72. package/dist/commands/status.js +127 -0
  73. package/dist/commands/status.js.map +1 -0
  74. package/dist/commands/summarize.d.ts +14 -0
  75. package/dist/commands/summarize.d.ts.map +1 -0
  76. package/dist/commands/summarize.js +170 -0
  77. package/dist/commands/summarize.js.map +1 -0
  78. package/dist/commands/triage.d.ts +33 -0
  79. package/dist/commands/triage.d.ts.map +1 -0
  80. package/dist/commands/triage.js +419 -0
  81. package/dist/commands/triage.js.map +1 -0
  82. package/dist/commands/usages.d.ts +14 -0
  83. package/dist/commands/usages.d.ts.map +1 -0
  84. package/dist/commands/usages.js +236 -0
  85. package/dist/commands/usages.js.map +1 -0
  86. package/dist/core/config.d.ts +35 -0
  87. package/dist/core/config.d.ts.map +1 -0
  88. package/dist/core/config.js +159 -0
  89. package/dist/core/config.js.map +1 -0
  90. package/dist/core/types.d.ts +287 -0
  91. package/dist/core/types.d.ts.map +1 -0
  92. package/dist/core/types.js +4 -0
  93. package/dist/core/types.js.map +1 -0
  94. package/dist/embeddings/factory.d.ts +9 -0
  95. package/dist/embeddings/factory.d.ts.map +1 -0
  96. package/dist/embeddings/factory.js +26 -0
  97. package/dist/embeddings/factory.js.map +1 -0
  98. package/dist/embeddings/noop.d.ts +17 -0
  99. package/dist/embeddings/noop.d.ts.map +1 -0
  100. package/dist/embeddings/noop.js +22 -0
  101. package/dist/embeddings/noop.js.map +1 -0
  102. package/dist/embeddings/ollama.d.ts +11 -0
  103. package/dist/embeddings/ollama.d.ts.map +1 -0
  104. package/dist/embeddings/ollama.js +49 -0
  105. package/dist/embeddings/ollama.js.map +1 -0
  106. package/dist/embeddings/openai.d.ts +10 -0
  107. package/dist/embeddings/openai.d.ts.map +1 -0
  108. package/dist/embeddings/openai.js +67 -0
  109. package/dist/embeddings/openai.js.map +1 -0
  110. package/dist/embeddings/provider.d.ts +19 -0
  111. package/dist/embeddings/provider.d.ts.map +1 -0
  112. package/dist/embeddings/provider.js +3 -0
  113. package/dist/embeddings/provider.js.map +1 -0
  114. package/dist/indexer/callgraph.d.ts +16 -0
  115. package/dist/indexer/callgraph.d.ts.map +1 -0
  116. package/dist/indexer/callgraph.js +154 -0
  117. package/dist/indexer/callgraph.js.map +1 -0
  118. package/dist/indexer/chunkBySlidingWindow.d.ts +6 -0
  119. package/dist/indexer/chunkBySlidingWindow.d.ts.map +1 -0
  120. package/dist/indexer/chunkBySlidingWindow.js +30 -0
  121. package/dist/indexer/chunkBySlidingWindow.js.map +1 -0
  122. package/dist/indexer/chunkBySymbols.d.ts +7 -0
  123. package/dist/indexer/chunkBySymbols.d.ts.map +1 -0
  124. package/dist/indexer/chunkBySymbols.js +57 -0
  125. package/dist/indexer/chunkBySymbols.js.map +1 -0
  126. package/dist/indexer/chunker.d.ts +15 -0
  127. package/dist/indexer/chunker.d.ts.map +1 -0
  128. package/dist/indexer/chunker.js +26 -0
  129. package/dist/indexer/chunker.js.map +1 -0
  130. package/dist/indexer/classHeader.d.ts +7 -0
  131. package/dist/indexer/classHeader.d.ts.map +1 -0
  132. package/dist/indexer/classHeader.js +37 -0
  133. package/dist/indexer/classHeader.js.map +1 -0
  134. package/dist/indexer/deps.d.ts +66 -0
  135. package/dist/indexer/deps.d.ts.map +1 -0
  136. package/dist/indexer/deps.js +412 -0
  137. package/dist/indexer/deps.js.map +1 -0
  138. package/dist/indexer/hasher.d.ts +17 -0
  139. package/dist/indexer/hasher.d.ts.map +1 -0
  140. package/dist/indexer/hasher.js +38 -0
  141. package/dist/indexer/hasher.js.map +1 -0
  142. package/dist/indexer/parser.d.ts +18 -0
  143. package/dist/indexer/parser.d.ts.map +1 -0
  144. package/dist/indexer/parser.js +355 -0
  145. package/dist/indexer/parser.js.map +1 -0
  146. package/dist/indexer/scanner.d.ts +18 -0
  147. package/dist/indexer/scanner.d.ts.map +1 -0
  148. package/dist/indexer/scanner.js +37 -0
  149. package/dist/indexer/scanner.js.map +1 -0
  150. package/dist/indexer/strategy.d.ts +11 -0
  151. package/dist/indexer/strategy.d.ts.map +1 -0
  152. package/dist/indexer/strategy.js +15 -0
  153. package/dist/indexer/strategy.js.map +1 -0
  154. package/dist/indexer/tests.d.ts +15 -0
  155. package/dist/indexer/tests.d.ts.map +1 -0
  156. package/dist/indexer/tests.js +68 -0
  157. package/dist/indexer/tests.js.map +1 -0
  158. package/dist/indexer/todos.d.ts +9 -0
  159. package/dist/indexer/todos.d.ts.map +1 -0
  160. package/dist/indexer/todos.js +29 -0
  161. package/dist/indexer/todos.js.map +1 -0
  162. package/dist/llm/anthropic.d.ts +8 -0
  163. package/dist/llm/anthropic.d.ts.map +1 -0
  164. package/dist/llm/anthropic.js +76 -0
  165. package/dist/llm/anthropic.js.map +1 -0
  166. package/dist/llm/claude-code.d.ts +37 -0
  167. package/dist/llm/claude-code.d.ts.map +1 -0
  168. package/dist/llm/claude-code.js +97 -0
  169. package/dist/llm/claude-code.js.map +1 -0
  170. package/dist/llm/factory.d.ts +7 -0
  171. package/dist/llm/factory.d.ts.map +1 -0
  172. package/dist/llm/factory.js +47 -0
  173. package/dist/llm/factory.js.map +1 -0
  174. package/dist/llm/ollama.d.ts +8 -0
  175. package/dist/llm/ollama.d.ts.map +1 -0
  176. package/dist/llm/ollama.js +83 -0
  177. package/dist/llm/ollama.js.map +1 -0
  178. package/dist/llm/openai.d.ts +8 -0
  179. package/dist/llm/openai.d.ts.map +1 -0
  180. package/dist/llm/openai.js +68 -0
  181. package/dist/llm/openai.js.map +1 -0
  182. package/dist/llm/provider.d.ts +35 -0
  183. package/dist/llm/provider.d.ts.map +1 -0
  184. package/dist/llm/provider.js +3 -0
  185. package/dist/llm/provider.js.map +1 -0
  186. package/dist/search/bm25.d.ts +3 -0
  187. package/dist/search/bm25.d.ts.map +1 -0
  188. package/dist/search/bm25.js +104 -0
  189. package/dist/search/bm25.js.map +1 -0
  190. package/dist/search/formatter.d.ts +43 -0
  191. package/dist/search/formatter.d.ts.map +1 -0
  192. package/dist/search/formatter.js +208 -0
  193. package/dist/search/formatter.js.map +1 -0
  194. package/dist/search/hybrid.d.ts +10 -0
  195. package/dist/search/hybrid.d.ts.map +1 -0
  196. package/dist/search/hybrid.js +53 -0
  197. package/dist/search/hybrid.js.map +1 -0
  198. package/dist/search/merge.d.ts +33 -0
  199. package/dist/search/merge.d.ts.map +1 -0
  200. package/dist/search/merge.js +158 -0
  201. package/dist/search/merge.js.map +1 -0
  202. package/dist/search/mmr.d.ts +23 -0
  203. package/dist/search/mmr.d.ts.map +1 -0
  204. package/dist/search/mmr.js +95 -0
  205. package/dist/search/mmr.js.map +1 -0
  206. package/dist/search/rerank.d.ts +12 -0
  207. package/dist/search/rerank.d.ts.map +1 -0
  208. package/dist/search/rerank.js +113 -0
  209. package/dist/search/rerank.js.map +1 -0
  210. package/dist/search/signature.d.ts +42 -0
  211. package/dist/search/signature.d.ts.map +1 -0
  212. package/dist/search/signature.js +112 -0
  213. package/dist/search/signature.js.map +1 -0
  214. package/dist/search/vector.d.ts +41 -0
  215. package/dist/search/vector.d.ts.map +1 -0
  216. package/dist/search/vector.js +185 -0
  217. package/dist/search/vector.js.map +1 -0
  218. package/dist/storage/cache.d.ts +30 -0
  219. package/dist/storage/cache.d.ts.map +1 -0
  220. package/dist/storage/cache.js +160 -0
  221. package/dist/storage/cache.js.map +1 -0
  222. package/dist/storage/knowledge.d.ts +23 -0
  223. package/dist/storage/knowledge.d.ts.map +1 -0
  224. package/dist/storage/knowledge.js +81 -0
  225. package/dist/storage/knowledge.js.map +1 -0
  226. package/dist/storage/planSession.d.ts +39 -0
  227. package/dist/storage/planSession.d.ts.map +1 -0
  228. package/dist/storage/planSession.js +78 -0
  229. package/dist/storage/planSession.js.map +1 -0
  230. package/dist/storage/repository.d.ts +27 -0
  231. package/dist/storage/repository.d.ts.map +1 -0
  232. package/dist/storage/repository.js +95 -0
  233. package/dist/storage/repository.js.map +1 -0
  234. package/dist/storage/session.d.ts +38 -0
  235. package/dist/storage/session.d.ts.map +1 -0
  236. package/dist/storage/session.js +100 -0
  237. package/dist/storage/session.js.map +1 -0
  238. package/dist/storage/summaries.d.ts +19 -0
  239. package/dist/storage/summaries.d.ts.map +1 -0
  240. package/dist/storage/summaries.js +66 -0
  241. package/dist/storage/summaries.js.map +1 -0
  242. package/dist/storage/usage.d.ts +39 -0
  243. package/dist/storage/usage.d.ts.map +1 -0
  244. package/dist/storage/usage.js +55 -0
  245. package/dist/storage/usage.js.map +1 -0
  246. package/dist/utils/git.d.ts +20 -0
  247. package/dist/utils/git.d.ts.map +1 -0
  248. package/dist/utils/git.js +49 -0
  249. package/dist/utils/git.js.map +1 -0
  250. package/dist/utils/tokenizer.d.ts +32 -0
  251. package/dist/utils/tokenizer.d.ts.map +1 -0
  252. package/dist/utils/tokenizer.js +66 -0
  253. package/dist/utils/tokenizer.js.map +1 -0
  254. package/package.json +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { OutputFormat } from "../search/formatter";
2
+ export interface QueryOptions {
3
+ topK?: number;
4
+ /**
5
+ * Show full code for ALL results (no line limit, overrides tier system).
6
+ * Default behaviour already shows code automatically for the top 3 results.
7
+ */
8
+ showCode?: boolean;
9
+ /** Force keyword search even if embeddings are available */
10
+ keyword?: boolean;
11
+ /** Output format: 'terminal' (default), 'json', 'markdown' */
12
+ format?: OutputFormat;
13
+ /** Use cross-encoder reranking */
14
+ rerank?: boolean;
15
+ /** Use hybrid search (vector + BM25) */
16
+ hybrid?: boolean;
17
+ /** Hybrid weight for vector search (0-1) */
18
+ alpha?: number;
19
+ /**
20
+ * Maximum tokens to include in results. Applied after retrieval and reranking.
21
+ * Overrides topK as an upper bound — results are accumulated until the budget
22
+ * is reached. The first result is always included.
23
+ */
24
+ budget?: number;
25
+ /** Apply Maximal Marginal Relevance reranking to reduce redundant results */
26
+ mmr?: boolean;
27
+ /** MMR diversity weight: 0=max diversity, 1=pure relevance (default: 0.5) */
28
+ lambda?: number;
29
+ /** Merge adjacent or overlapping chunks from the same file */
30
+ merge?: boolean;
31
+ /** Max line gap between chunks to still merge them (default: 3) */
32
+ mergeGap?: number;
33
+ /** Filter out chunks already seen in the current session */
34
+ session?: boolean;
35
+ /** Reset the session before this query (implies session tracking) */
36
+ fresh?: boolean;
37
+ }
38
+ export declare function runQuery(rootDir: string, question: string, options?: QueryOptions): Promise<void>;
39
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAoBxD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAucf"}
@@ -0,0 +1,392 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runQuery = runQuery;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const ora_1 = __importDefault(require("ora"));
9
+ const config_1 = require("../core/config");
10
+ const factory_1 = require("../embeddings/factory");
11
+ const deps_1 = require("../indexer/deps");
12
+ const bm25_1 = require("../search/bm25");
13
+ const formatter_1 = require("../search/formatter");
14
+ const hybrid_1 = require("../search/hybrid");
15
+ const merge_1 = require("../search/merge");
16
+ const mmr_1 = require("../search/mmr");
17
+ const rerank_1 = require("../search/rerank");
18
+ const signature_1 = require("../search/signature");
19
+ const vector_1 = require("../search/vector");
20
+ const cache_1 = require("../storage/cache");
21
+ const repository_1 = require("../storage/repository");
22
+ const session_1 = require("../storage/session");
23
+ const usage_1 = require("../storage/usage");
24
+ const summaries_1 = require("../storage/summaries");
25
+ const tokenizer_1 = require("../utils/tokenizer");
26
+ async function runQuery(rootDir, question, options = {}) {
27
+ const config = (0, config_1.loadConfig)(rootDir);
28
+ const repo = new repository_1.RepositoryStorage(rootDir);
29
+ const cacheStorage = new cache_1.EmbeddingCacheStorage(config.projectId);
30
+ const topK = options.topK ?? 10;
31
+ const fmt = options.format ?? config.display?.format ?? "terminal";
32
+ const chunks = repo.loadChunks();
33
+ const symbols = repo.loadSymbols();
34
+ const depGraph = repo.loadDeps();
35
+ const callGraph = repo.loadCallGraph();
36
+ const importedByMap = (0, deps_1.computeImportedBy)(depGraph);
37
+ // Load file summaries if available
38
+ const summaryStorage = new summaries_1.SummaryStorage(rootDir);
39
+ const fileSummaries = summaryStorage.hasFileSummaries()
40
+ ? summaryStorage.loadFileSummaries()
41
+ : {};
42
+ if (chunks.length === 0) {
43
+ if (fmt === "json") {
44
+ console.log(JSON.stringify({
45
+ error: "No index found. Run `vemora index` first.",
46
+ }));
47
+ }
48
+ else {
49
+ console.log(chalk_1.default.yellow("No index found. Run `vemora index` first."));
50
+ }
51
+ process.exit(1);
52
+ }
53
+ let results;
54
+ let searchType = "bm25";
55
+ const usageStart = Date.now();
56
+ // ── Search execution ───────────────────────────────────────────────────────
57
+ // Symbol-aware routing: if the query closely matches a known symbol name,
58
+ // retrieve it directly without an embedding API call.
59
+ // Disabled for --hybrid (combined scoring makes less sense) and --keyword.
60
+ const useKeyword = options.keyword || config.embedding.provider === "none";
61
+ const useHybrid = options.hybrid;
62
+ const symbolHits = !useHybrid && !useKeyword ? (0, vector_1.symbolLookup)(question, chunks, symbols) : [];
63
+ if (symbolHits.length > 0) {
64
+ searchType = "symbol";
65
+ if (fmt === "terminal") {
66
+ console.log(chalk_1.default.gray(`Symbol match — skipping embedding (${symbolHits.length} hit(s)).`));
67
+ }
68
+ results = symbolHits;
69
+ }
70
+ else if (useKeyword) {
71
+ const spinner = fmt === "terminal" ? (0, ora_1.default)("Performing hybrid search...").start() : null;
72
+ try {
73
+ const cache = cacheStorage.load();
74
+ if (!cache ||
75
+ (cache.chunkIds?.length === 0 &&
76
+ Object.keys(cache.embeddings ?? {}).length === 0)) {
77
+ spinner?.warn("No embeddings cached — falling back to BM25.");
78
+ results = (0, bm25_1.computeBM25Scores)(question, chunks, symbols, topK);
79
+ searchType = "bm25";
80
+ }
81
+ else {
82
+ const provider = (0, factory_1.createEmbeddingProvider)(config.embedding);
83
+ const [queryEmbedding] = await provider.embed([question]);
84
+ spinner?.succeed("Query embedded");
85
+ results = await (0, hybrid_1.hybridSearch)(question, queryEmbedding, chunks, cache, symbols, {
86
+ alpha: options.alpha,
87
+ topK,
88
+ });
89
+ searchType = "hybrid";
90
+ }
91
+ }
92
+ catch (err) {
93
+ spinner?.fail(`Hybrid search failed: ${err.message}`);
94
+ if (fmt === "terminal")
95
+ console.log(chalk_1.default.gray("Falling back to BM25..."));
96
+ results = (0, bm25_1.computeBM25Scores)(question, chunks, symbols, topK);
97
+ searchType = "bm25";
98
+ }
99
+ }
100
+ else {
101
+ const spinner = fmt === "terminal" ? (0, ora_1.default)("Generating query embedding...").start() : null;
102
+ try {
103
+ const cache = cacheStorage.load();
104
+ const cachedCount = cache
105
+ ? cache.chunkIds
106
+ ? cache.chunkIds.length
107
+ : Object.keys(cache.embeddings ?? {}).length
108
+ : 0;
109
+ if (!cache || cachedCount === 0) {
110
+ spinner?.warn("No embeddings cached — falling back to BM25.");
111
+ results = (0, bm25_1.computeBM25Scores)(question, chunks, symbols, topK);
112
+ searchType = "bm25";
113
+ }
114
+ else {
115
+ const provider = (0, factory_1.createEmbeddingProvider)(config.embedding);
116
+ const [queryEmbedding] = await provider.embed([question]);
117
+ spinner?.succeed("Query embedded");
118
+ results = (0, vector_1.vectorSearch)(queryEmbedding, chunks, cache, symbols, topK);
119
+ searchType = "vector";
120
+ if (results.length === 0) {
121
+ if (fmt === "terminal")
122
+ console.log(chalk_1.default.gray("No semantic results — falling back to BM25."));
123
+ results = (0, bm25_1.computeBM25Scores)(question, chunks, symbols, topK);
124
+ searchType = "bm25";
125
+ }
126
+ }
127
+ }
128
+ catch (err) {
129
+ spinner?.fail(`Embedding failed: ${err.message}`);
130
+ if (fmt === "terminal")
131
+ console.log(chalk_1.default.gray("Falling back to BM25..."));
132
+ results = (0, bm25_1.computeBM25Scores)(question, chunks, symbols, topK);
133
+ searchType = "bm25";
134
+ }
135
+ }
136
+ // ── Reranking (optional) ───────────────────────────────────────────────────
137
+ if (options.rerank && results.length > 0) {
138
+ if (fmt === "terminal") {
139
+ console.log(chalk_1.default.gray(`Reranking top ${results.length} results...`));
140
+ }
141
+ results = await (0, rerank_1.rerankResults)(question, results, topK, config.reranker, config.summarization?.model);
142
+ }
143
+ // ── MMR deduplication (optional) ───────────────────────────────────────────
144
+ if (options.mmr && results.length > 1) {
145
+ const cache = cacheStorage.load();
146
+ const before = results.length;
147
+ results = (0, mmr_1.applyMMR)(results, cache, topK, options.lambda ?? 0.5);
148
+ if (fmt === "terminal" && results.length < before) {
149
+ console.log(chalk_1.default.gray(`MMR (λ=${options.lambda ?? 0.5}): kept ${results.length}/${before} diverse results.`));
150
+ }
151
+ }
152
+ // ── Adjacent chunk merge (optional) ───────────────────────────────────────
153
+ if (options.merge && results.length > 1) {
154
+ const before = results.length;
155
+ results = (0, merge_1.mergeAdjacentChunks)(results, options.mergeGap);
156
+ if (fmt === "terminal" && results.length < before) {
157
+ console.log(chalk_1.default.gray(`Merge: ${before} chunks → ${results.length} after merging adjacent.`));
158
+ }
159
+ }
160
+ // ── Usage tracking — token snapshots ─────────────────────────────────────
161
+ let tokensSavedSession = 0;
162
+ let tokensSavedDedup = 0;
163
+ let tokensSavedBudget = 0;
164
+ // ── Session filter (optional) ─────────────────────────────────────────────
165
+ const sessionStorage = new session_1.SessionStorage(config.projectId);
166
+ if (options.fresh)
167
+ sessionStorage.reset();
168
+ if ((options.session || options.fresh) && results.length > 0) {
169
+ const seenIds = sessionStorage.getSeenIds();
170
+ if (seenIds.size > 0) {
171
+ const tBefore = (0, tokenizer_1.sumResultTokens)(results);
172
+ const before = results.length;
173
+ const unseen = results.filter((r) => !seenIds.has(r.chunk.id));
174
+ if (unseen.length === 0) {
175
+ if (fmt === "terminal") {
176
+ console.log(chalk_1.default.gray("All results already seen in this session. Use --fresh to reset."));
177
+ }
178
+ results = results.slice(0, 1); // always return at least one result
179
+ }
180
+ else {
181
+ results = unseen;
182
+ if (fmt === "terminal" && unseen.length < before) {
183
+ console.log(chalk_1.default.gray(`Session: skipped ${before - unseen.length} already-seen chunk(s).`));
184
+ }
185
+ }
186
+ tokensSavedSession = tBefore - (0, tokenizer_1.sumResultTokens)(results);
187
+ }
188
+ }
189
+ // ── Semantic deduplication (always-on) ────────────────────────────────────
190
+ if (results.length > 1) {
191
+ const tBefore = (0, tokenizer_1.sumResultTokens)(results);
192
+ const before = results.length;
193
+ const cache = cacheStorage.load();
194
+ results = (0, merge_1.deduplicateBySimilarity)(results, cache);
195
+ if (fmt === "terminal" && results.length < before) {
196
+ console.log(chalk_1.default.gray(`Dedup: removed ${before - results.length} near-duplicate chunk(s).`));
197
+ }
198
+ tokensSavedDedup = tBefore - (0, tokenizer_1.sumResultTokens)(results);
199
+ }
200
+ // ── Token budget (optional) ────────────────────────────────────────────────
201
+ if (options.budget && options.budget > 0) {
202
+ const tBefore = (0, tokenizer_1.sumResultTokens)(results);
203
+ const before = results.length;
204
+ results = (0, tokenizer_1.applyTokenBudget)(results, options.budget);
205
+ if (fmt === "terminal" && results.length < before) {
206
+ console.log(chalk_1.default.gray(`Budget ${options.budget} tokens: kept ${results.length}/${before} results.`));
207
+ }
208
+ tokensSavedBudget = tBefore - (0, tokenizer_1.sumResultTokens)(results);
209
+ }
210
+ // ── Persist session ───────────────────────────────────────────────────────
211
+ if ((options.session || options.fresh) && results.length > 0) {
212
+ sessionStorage.markSeen(results.map((r) => r.chunk.id));
213
+ }
214
+ // ── Record usage event ────────────────────────────────────────────────────
215
+ try {
216
+ new usage_1.UsageStorage(config.projectId).append({
217
+ ts: new Date().toISOString(),
218
+ command: "query",
219
+ query: question.slice(0, 120),
220
+ searchType,
221
+ format: fmt,
222
+ topK,
223
+ resultsReturned: results.length,
224
+ tokensReturned: (0, tokenizer_1.sumResultTokens)(results),
225
+ tokensSavedDedup,
226
+ tokensSavedSession,
227
+ tokensSavedBudget,
228
+ durationMs: Date.now() - usageStart,
229
+ topFiles: [...new Set(results.map((r) => r.chunk.file))].slice(0, 3),
230
+ });
231
+ }
232
+ catch {
233
+ // usage tracking is best-effort — never block the main output
234
+ }
235
+ // ── Output ─────────────────────────────────────────────────────────────────
236
+ if (results.length === 0) {
237
+ if (fmt === "json") {
238
+ console.log(JSON.stringify({ query: question, totalResults: 0, results: [] }));
239
+ }
240
+ else if (fmt === "markdown") {
241
+ console.log(`## Relevant code for: \`${question}\`\n\n_No results found._`);
242
+ }
243
+ else {
244
+ console.log(chalk_1.default.yellow("No results found for: ") + question);
245
+ }
246
+ return;
247
+ }
248
+ if (fmt === "json") {
249
+ console.log((0, formatter_1.formatJson)(question, results, depGraph, fileSummaries, {
250
+ format: "json",
251
+ showCode: options.showCode,
252
+ topK,
253
+ }));
254
+ return;
255
+ }
256
+ if (fmt === "markdown") {
257
+ console.log((0, formatter_1.formatMarkdown)(question, results, depGraph, fileSummaries, callGraph, {
258
+ format: "markdown",
259
+ showCode: options.showCode,
260
+ topK,
261
+ }));
262
+ return;
263
+ }
264
+ if (fmt === "terse") {
265
+ console.log((0, formatter_1.formatTerse)(results, { topK }));
266
+ return;
267
+ }
268
+ // ── Terminal output (original) ─────────────────────────────────────────────
269
+ console.log();
270
+ console.log(chalk_1.default.bold("Relevant code:"));
271
+ console.log();
272
+ // Deduplicate at chunk level
273
+ const seenChunks = new Set();
274
+ let displayed = 0;
275
+ for (const { chunk, score, symbol } of results) {
276
+ if (seenChunks.has(chunk.id))
277
+ continue;
278
+ seenChunks.add(chunk.id);
279
+ // rank is 1-based position in displayed results
280
+ const rank = displayed + 1;
281
+ const tier = options.showCode ? "high" : (0, signature_1.getDisplayTier)(rank);
282
+ // ── File path + symbol header ────────────────────────────────────────────
283
+ console.log(chalk_1.default.cyan(chunk.file));
284
+ if (chunk.symbol) {
285
+ const symType = symbol?.type ?? "symbol";
286
+ console.log(` ${chalk_1.default.gray(symType)} ${chalk_1.default.white.bold(chunk.symbol)}`);
287
+ }
288
+ console.log(chalk_1.default.gray(` lines ${chunk.start}–${chunk.end}`) +
289
+ " " +
290
+ chalk_1.default.gray(`score: ${score.toFixed(4)}`) +
291
+ (tier !== "high" ? " " + chalk_1.default.dim(`[${tier}]`) : ""));
292
+ // ── Dependency context ───────────────────────────────────────────────────
293
+ if (tier !== "low") {
294
+ const fileDeps = depGraph[chunk.file];
295
+ const usedBy = importedByMap.get(chunk.file) ?? [];
296
+ if (fileDeps?.imports.length) {
297
+ const MAX_DEP_LINES = tier === "high" ? 6 : 3;
298
+ const shown = fileDeps.imports.slice(0, MAX_DEP_LINES);
299
+ const hidden = fileDeps.imports.length - shown.length;
300
+ console.log(chalk_1.default.gray(" imports:"));
301
+ for (const imp of shown) {
302
+ const syms = imp.symbols.length > 0
303
+ ? chalk_1.default.gray(` {${imp.symbols.slice(0, 4).join(", ")}${imp.symbols.length > 4 ? ", …" : ""}}`)
304
+ : "";
305
+ console.log(` ${chalk_1.default.gray("←")} ${chalk_1.default.blue(imp.file)}${syms}`);
306
+ }
307
+ if (hidden > 0)
308
+ console.log(chalk_1.default.gray(` … and ${hidden} more`));
309
+ }
310
+ if (usedBy.length > 0) {
311
+ const MAX_USED_BY = tier === "high" ? 4 : 2;
312
+ const shown = usedBy.slice(0, MAX_USED_BY);
313
+ const hidden = usedBy.length - shown.length;
314
+ console.log(chalk_1.default.gray(" used by (files):"));
315
+ for (const caller of shown) {
316
+ console.log(` ${chalk_1.default.gray("→")} ${chalk_1.default.blue(caller)}`);
317
+ }
318
+ if (hidden > 0)
319
+ console.log(chalk_1.default.gray(` … and ${hidden} more`));
320
+ }
321
+ // Call Graph context
322
+ const symbolId = chunk.symbol ? `${chunk.file}:${chunk.symbol}` : null;
323
+ const callInfo = symbolId ? callGraph[symbolId] : null;
324
+ if (callInfo) {
325
+ if (callInfo.calls.length > 0) {
326
+ const MAX_CALLS = tier === "high" ? 6 : 3;
327
+ const shown = callInfo.calls.slice(0, MAX_CALLS);
328
+ const hidden = callInfo.calls.length - shown.length;
329
+ console.log(chalk_1.default.gray(" calls:"));
330
+ for (const call of shown) {
331
+ const loc = call.file ? chalk_1.default.gray(` (in ${call.file})`) : "";
332
+ console.log(` ${chalk_1.default.gray("●")} ${chalk_1.default.white(call.name)}${loc}`);
333
+ }
334
+ if (hidden > 0)
335
+ console.log(chalk_1.default.gray(` … and ${hidden} more`));
336
+ }
337
+ if (callInfo.calledBy.length > 0) {
338
+ const MAX_CALLERS = tier === "high" ? 4 : 2;
339
+ const shown = callInfo.calledBy.slice(0, MAX_CALLERS);
340
+ const hidden = callInfo.calledBy.length - shown.length;
341
+ console.log(chalk_1.default.gray(" called by:"));
342
+ for (const callerId of shown) {
343
+ console.log(` ${chalk_1.default.gray("○")} ${chalk_1.default.white(callerId)}`);
344
+ }
345
+ if (hidden > 0)
346
+ console.log(chalk_1.default.gray(` … and ${hidden} more`));
347
+ }
348
+ }
349
+ }
350
+ // ── Code / signature display ──────────────────────────────────────────────
351
+ if (tier === "high") {
352
+ console.log();
353
+ const codeLines = chunk.content.split("\n");
354
+ const limit = options.showCode ? codeLines.length : signature_1.HIGH_CODE_LINES;
355
+ const preview = codeLines.slice(0, limit);
356
+ for (const line of preview) {
357
+ console.log(" " + chalk_1.default.gray("│") + " " + line);
358
+ }
359
+ if (codeLines.length > limit) {
360
+ console.log(" " +
361
+ chalk_1.default.gray(`│ … (${codeLines.length - limit} more lines — use --show-code to expand)`));
362
+ }
363
+ }
364
+ else if (tier === "med") {
365
+ const sig = (0, signature_1.extractSignature)(chunk.content);
366
+ const sigLines = sig.split("\n");
367
+ console.log();
368
+ for (const line of sigLines) {
369
+ console.log(" " + chalk_1.default.dim("≡") + " " + chalk_1.default.dim(line));
370
+ }
371
+ }
372
+ else {
373
+ // LOW tier: show AI-generated file summary if available.
374
+ const fileSummary = fileSummaries[chunk.file];
375
+ if (fileSummary) {
376
+ console.log(" " + chalk_1.default.dim("◦") + " " + chalk_1.default.dim(fileSummary.summary));
377
+ }
378
+ }
379
+ console.log();
380
+ displayed++;
381
+ if (displayed >= topK)
382
+ break;
383
+ }
384
+ // ── Legend ─────────────────────────────────────────────────────────────────
385
+ const legend = options.showCode
386
+ ? chalk_1.default.gray(`Showing ${displayed} results (full code).`)
387
+ : chalk_1.default.gray(`Showing ${displayed} results ` +
388
+ `(ranks 1–3: full code │ 4–7: signature [med] │ 8+: location [low] ` +
389
+ `--show-code for all)`);
390
+ console.log(legend);
391
+ }
392
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface RememberOptions {
2
+ category?: "decision" | "pattern" | "gotcha" | "glossary";
3
+ title?: string;
4
+ files?: string;
5
+ symbols?: string;
6
+ confidence?: "high" | "medium" | "low";
7
+ createdBy?: string;
8
+ supersedes?: string;
9
+ }
10
+ export declare function runRemember(rootDir: string, body: string, options?: RememberOptions): Promise<void>;
11
+ //# sourceMappingURL=remember.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remember.d.ts","sourceRoot":"","sources":["../../src/commands/remember.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAoHD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAyIf"}