@sdsrs/codeagent 0.1.0 → 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 (62) hide show
  1. package/README.md +211 -67
  2. package/dist/adapters/code-graph.d.ts.map +1 -1
  3. package/dist/adapters/code-graph.js +53 -71
  4. package/dist/adapters/code-graph.js.map +1 -1
  5. package/dist/adapters/memory.d.ts +0 -1
  6. package/dist/adapters/memory.d.ts.map +1 -1
  7. package/dist/adapters/memory.js +20 -50
  8. package/dist/adapters/memory.js.map +1 -1
  9. package/dist/adapters/orchestration/gsd.d.ts +6 -1
  10. package/dist/adapters/orchestration/gsd.d.ts.map +1 -1
  11. package/dist/adapters/orchestration/gsd.js +23 -20
  12. package/dist/adapters/orchestration/gsd.js.map +1 -1
  13. package/dist/broker/broker.d.ts +4 -2
  14. package/dist/broker/broker.d.ts.map +1 -1
  15. package/dist/broker/broker.js +92 -32
  16. package/dist/broker/broker.js.map +1 -1
  17. package/dist/broker/compressor.d.ts +4 -1
  18. package/dist/broker/compressor.d.ts.map +1 -1
  19. package/dist/broker/compressor.js +52 -11
  20. package/dist/broker/compressor.js.map +1 -1
  21. package/dist/cli/commands/chat.js +15 -36
  22. package/dist/cli/commands/chat.js.map +1 -1
  23. package/dist/cli/commands/config.d.ts.map +1 -1
  24. package/dist/cli/commands/config.js +10 -2
  25. package/dist/cli/commands/config.js.map +1 -1
  26. package/dist/cli/commands/memory.d.ts.map +1 -1
  27. package/dist/cli/commands/memory.js +11 -16
  28. package/dist/cli/commands/memory.js.map +1 -1
  29. package/dist/cli/commands/search.js +7 -7
  30. package/dist/cli/commands/search.js.map +1 -1
  31. package/dist/hooks/post-compact.d.ts +15 -0
  32. package/dist/hooks/post-compact.d.ts.map +1 -0
  33. package/dist/hooks/post-compact.js +57 -0
  34. package/dist/hooks/post-compact.js.map +1 -0
  35. package/dist/hooks/session-start.js +1 -1
  36. package/dist/hooks/session-start.js.map +1 -1
  37. package/dist/hooks/stop.js +9 -12
  38. package/dist/hooks/stop.js.map +1 -1
  39. package/dist/hooks/user-prompt.js +1 -1
  40. package/dist/hooks/user-prompt.js.map +1 -1
  41. package/dist/providers/anthropic-api.d.ts +2 -1
  42. package/dist/providers/anthropic-api.d.ts.map +1 -1
  43. package/dist/providers/anthropic-api.js +14 -8
  44. package/dist/providers/anthropic-api.js.map +1 -1
  45. package/dist/providers/claude-cli.d.ts.map +1 -1
  46. package/dist/providers/claude-cli.js +19 -15
  47. package/dist/providers/claude-cli.js.map +1 -1
  48. package/dist/providers/claude-sdk.d.ts.map +1 -1
  49. package/dist/providers/claude-sdk.js +9 -2
  50. package/dist/providers/claude-sdk.js.map +1 -1
  51. package/dist/scripts/install-hooks.js +9 -3
  52. package/dist/scripts/install-hooks.js.map +1 -1
  53. package/dist/session/manager.d.ts.map +1 -1
  54. package/dist/session/manager.js +2 -1
  55. package/dist/session/manager.js.map +1 -1
  56. package/dist/utils/exec.d.ts +3 -2
  57. package/dist/utils/exec.d.ts.map +1 -1
  58. package/dist/utils/exec.js +7 -6
  59. package/dist/utils/exec.js.map +1 -1
  60. package/package.json +4 -4
  61. package/src/skills/remember.md +40 -0
  62. package/src/skills/spec.md +37 -0
package/README.md CHANGED
@@ -1,115 +1,259 @@
1
- # CodeAgent
1
+ # @sdsrs/codeagent
2
2
 
3
- Context-aware coding assistant that integrates code search, memory, and orchestration into a unified Context Broker.
3
+ 上下文感知的编程 Agent —— 将代码搜索、记忆系统、编排引擎整合为统一的 Context Broker,支持独立 CLI Claude Code 增强两种运行模式。
4
4
 
5
- ## Install
5
+ ## 安装
6
6
 
7
7
  ```bash
8
- # Global install
9
- npm install -g codeagent
8
+ # 全局安装
9
+ npm install -g @sdsrs/codeagent
10
10
 
11
- # Or run directly
12
- npx codeagent chat
11
+ # 直接运行
12
+ npx @sdsrs/codeagent --help
13
+
14
+ # 安装后可用两个命令
15
+ codeagent chat
16
+ devx chat
17
+ ```
18
+
19
+ ## 核心概念
20
+
21
+ CodeAgent 的核心是 **Context Broker** —— 一个 5 步管线,在每次 LLM 调用前自动聚合精准上下文:
22
+
23
+ ```
24
+ UserQuery → QueryParser → 并行查询(Code Graph + Memory + Orchestration) → Merge → Compress → ContextPack
13
25
  ```
14
26
 
15
- ## Usage
27
+ 它消费 3 个已有系统但不合并代码,通过 CLI 调用保持松耦合:
28
+
29
+ | 系统 | 语言 | 职责 | 调用方式 |
30
+ |------|------|------|---------|
31
+ | [Code Graph MCP](https://github.com/sdsrs/code-graph-mcp) | Rust | AST 解析、混合搜索、调用图、影响分析 | CLI (`code-graph-mcp`) |
32
+ | [claude-mem-lite](https://github.com/sdsrs/claude-mem-lite) | Node.js | 类型化记忆、FTS5+向量召回 | CLI (`claude-mem-lite`) |
33
+ | [GSD-Lite](https://github.com/sdsrs/gsd-lite) / Superpowers | Node.js | 编排状态机、阶段管理 | 读 state.json / 读 skills 目录 |
34
+
35
+ ## 双模式运行
36
+
37
+ ### Mode A: 独立 CLI (`codeagent chat`)
16
38
 
17
- ### Interactive Chat
39
+ 完全掌控消息流的交互式 Agent,基于 Claude Agent SDK。
18
40
 
19
41
  ```bash
20
- # Start a new coding session
42
+ # 新会话
21
43
  codeagent chat
22
44
 
23
- # Resume an existing session
45
+ # 续接会话
24
46
  codeagent chat --resume <sessionId>
25
47
 
26
- # Use a specific provider
27
- codeagent chat --provider api # Direct Anthropic API
28
- codeagent chat --provider cli # claude -p backend
29
- codeagent chat --provider sdk # Agent SDK (default)
48
+ # 指定 provider
49
+ codeagent chat --provider sdk # Agent SDK (默认,完整工具能力)
50
+ codeagent chat --provider api # Anthropic API (轻量,无工具执行)
51
+ codeagent chat --provider cli # claude -p (批处理)
52
+
53
+ # 指定编排引擎
54
+ codeagent chat --orchestration gsd # GSD-Lite
55
+ codeagent chat --orchestration superpowers # Superpowers
56
+
57
+ # 预算控制
58
+ codeagent chat --max-budget 2.0
30
59
  ```
31
60
 
32
- ### Code Search
61
+ 会话内命令:
62
+
63
+ | 命令 | 功能 |
64
+ |------|------|
65
+ | `/help` | 显示所有命令 |
66
+ | `/quit` | 结束会话 |
67
+ | `/status` | 查看会话信息 |
68
+ | `/stage` | 查看当前阶段 |
69
+ | `/cost` | 查看累计费用 |
70
+ | `/context` | 查看上次注入的上下文 |
71
+ | `/brainstorm` | 切换到 brainstorm 阶段 |
72
+ | `/plan` | 切换到 plan 阶段 |
73
+ | `/implement` | 切换到 implement 阶段 |
74
+ | `/review` | 切换到 review 阶段 |
75
+ | `/debug` | 切换到 debug 阶段 |
76
+
77
+ ### Mode B: Claude Code 增强 (hooks)
78
+
79
+ 通过 hooks 在 Claude Code 内自动注入上下文,零学习成本。
33
80
 
34
81
  ```bash
35
- codeagent search "payment processing"
36
- codeagent search "RefundService" --type impact
37
- codeagent search "processPayment" --type callgraph
38
- codeagent search "src/payment/" --type overview
82
+ # 安装 hooks 到当前项目
83
+ npm run install-hooks
84
+
85
+ # 安装 hooks 到全局
86
+ npm run install-hooks:global
39
87
  ```
40
88
 
41
- ### Memory
89
+ | Hook | 触发时机 | 行为 |
90
+ |------|---------|------|
91
+ | `UserPromptSubmit` | 每次用户输入 | Context Broker 生成 ContextPack → 注入到 prompt |
92
+ | `SessionStart` | 会话开始 | 注入项目概要 + 活跃编排状态 |
93
+ | `Stop` | 会话结束 | 从对话中提取关键发现 → 写入记忆 |
94
+
95
+ ## 其他命令
96
+
97
+ ### 代码搜索
42
98
 
43
99
  ```bash
44
- codeagent memory "authentication" # Search memories
45
- codeagent memory --save "Use cents" --type decision --body "Avoid float issues"
100
+ codeagent search "payment processing" # 语义搜索
101
+ codeagent search "RefundService" --type impact # 影响分析
102
+ codeagent search "processPayment" --type callgraph # 调用图
103
+ codeagent search "src/payment/" --type overview # 模块概览
46
104
  ```
47
105
 
48
- ### Sessions
106
+ ### 记忆管理
49
107
 
50
108
  ```bash
51
- codeagent session list
52
- codeagent session show <id>
53
- codeagent session delete <id>
109
+ codeagent memory "authentication" # 搜索记忆
110
+ codeagent memory --save "金额用 cents" --type decision --body "避免浮点精度问题" # 保存记忆
54
111
  ```
55
112
 
56
- ### Configuration
113
+ ### 会话管理
57
114
 
58
115
  ```bash
59
- codeagent config set orchestration superpowers # or gsd
60
- codeagent config set model claude-opus-4-6
61
- codeagent config set maxBudgetUsd 5.0
116
+ codeagent session list # 列出会话
117
+ codeagent session show <id> # 查看详情
118
+ codeagent session delete <id> # 删除会话
62
119
  ```
63
120
 
64
- ## Claude Code Integration
65
-
66
- CodeAgent enhances Claude Code through hooks:
121
+ ### 配置
67
122
 
68
123
  ```bash
69
- # Install hooks to current project
70
- codeagent install-hooks
71
-
72
- # Install hooks globally
73
- codeagent install-hooks:global
124
+ codeagent config set orchestration superpowers # 切换编排引擎
125
+ codeagent config set model claude-opus-4-6 # 设置模型
126
+ codeagent config set maxBudgetUsd 5.0 # 设置预算上限
127
+ codeagent config get # 查看所有配置
128
+ codeagent config path # 查看配置文件路径
74
129
  ```
75
130
 
76
- Hooks automatically inject context on every prompt:
77
- - **UserPromptSubmit** — Code search + memory + orchestration context
78
- - **SessionStart** — Project overview on session start
79
- - **Stop** — Extract discoveries to memory
80
-
81
- ## Architecture
131
+ ## 架构
82
132
 
83
133
  ```
84
- ┌──────────────┐ ┌──────────────┐
85
- devx chat │ Claude Code │
86
- (CLI/TUI) │ (hooks) │
87
- └──────┬───────┘ └──────┬───────┘
88
-
89
- └─────────┬─────────┘
134
+ ┌──────────────────────────────┐
135
+ 用户入口 (双模式)
136
+
137
+ │ Mode A Mode B │
138
+ ┌──────────┐ ┌──────────┐
139
+ │ │ devx CLI │ │Claude Code│ │
140
+ │ │ (TUI) │ │ hooks │ │
141
+ │ │ Agent SDK │ │ + skills │ │
142
+ │ └─────┬─────┘ └─────┬────┘ │
143
+ └────────┼───────────────┼──────┘
144
+ └───────┬───────┘
90
145
 
91
- ┌─────────────────┐
92
- Context Broker ← 5-step pipeline
93
- parse search
94
- │ → memory → orch │
95
- │ → compress │
96
- └──┬────┬────┬─────┘
146
+ ┌───────────────────┐
147
+ Context Broker
148
+ (5-step pipeline)
149
+ └──┬────┬────┬──────┘
97
150
  │ │ │
98
151
  ┌─────┘ │ └─────┐
99
152
  ▼ ▼ ▼
100
- ┌────────┐ ┌───────┐ ┌───────┐
101
- │ Code │ │Memory │ │ Orch
102
- │ Graph │ │Engine │ │Adapter│
103
- │ (Rust) │ │(Node) │ │(swap)
104
- └────────┘ └───────┘ └───────┘
153
+ ┌────────┐ ┌───────┐ ┌──────────┐
154
+ │ Code │ │Memory │ │ Orch
155
+ │ Graph │ │Engine │ │ Adapter
156
+ │ (Rust) │ │(Node) │ │GSD|Super
157
+ └────────┘ └───────┘ └──────────┘
158
+ ```
159
+
160
+ ### 项目结构
161
+
162
+ ```
163
+ src/
164
+ ├── broker/ # Context Broker 核心
165
+ │ ├── broker.ts # buildContextPack() — 5 步管线主入口
166
+ │ ├── query-parser.ts # 意图检测 + 实体提取 (EN/ZH 双语)
167
+ │ ├── context-pack.ts # ContextPack 类型 + Zod schema
168
+ │ └── compressor.ts # Token 预算压缩 (优先级排序)
169
+
170
+ ├── adapters/ # 外部系统适配器
171
+ │ ├── code-graph.ts # Code Graph MCP CLI 适配
172
+ │ ├── memory.ts # claude-mem-lite CLI 适配
173
+ │ └── orchestration/
174
+ │ ├── interface.ts # OrchestrationAdapter 统一接口
175
+ │ ├── gsd.ts # GSD-Lite (读 .gsd/state.json)
176
+ │ └── superpowers.ts # Superpowers (无状态, 技能发现)
177
+
178
+ ├── providers/ # LLM Provider 抽象层
179
+ │ ├── interface.ts # AgentProvider 接口 + TurnEvent 类型
180
+ │ ├── claude-sdk.ts # Agent SDK V1 query() + resume
181
+ │ ├── claude-cli.ts # claude -p 批处理
182
+ │ └── anthropic-api.ts # 直接 API 调用 (流式)
183
+
184
+ ├── session/ # 会话管理
185
+ │ ├── schema.ts # SQLite schema + 迁移
186
+ │ └── manager.ts # SessionManager CRUD + 事件记录
187
+
188
+ ├── cli/ # 命令行界面
189
+ │ ├── index.ts # Commander.js 主入口
190
+ │ ├── commands/ # chat, search, memory, session, config
191
+ │ └── tui/renderer.ts # ANSI TUI: spinner, stage, markdown
192
+
193
+ ├── hooks/ # Claude Code 生命周期 hooks
194
+ │ ├── user-prompt.ts # UserPromptSubmit → Broker → 注入
195
+ │ ├── session-start.ts # SessionStart → 项目概要
196
+ │ └── stop.ts # Stop → 记忆写入
197
+
198
+ ├── skills/ # Claude Code Skills
199
+ │ ├── brainstorm.md # 强制 brainstorm 模式
200
+ │ └── review.md # bug memory 感知的代码审查
201
+
202
+ ├── scripts/
203
+ │ └── install-hooks.ts # 一键注册 hooks 到 settings.json
204
+
205
+ └── utils/
206
+ ├── exec.ts # 带超时的安全命令执行
207
+ └── tokens.ts # Token 估算 + 截断
208
+ ```
209
+
210
+ ## 编程接口
211
+
212
+ CodeAgent 同时导出 npm 模块,可在自己的代码中使用:
213
+
214
+ ```typescript
215
+ import { ContextBroker, formatContextPack } from '@sdsrs/codeagent';
216
+ import { hasContent } from '@sdsrs/codeagent/context-pack';
217
+ import { SessionManager } from '@sdsrs/codeagent/session';
218
+
219
+ // 构建上下文
220
+ const broker = new ContextBroker(process.cwd());
221
+ const pack = await broker.buildContextPack({
222
+ repoRoot: process.cwd(),
223
+ userQuery: 'how does the payment module work?',
224
+ stage: 'brainstorm',
225
+ });
226
+
227
+ if (hasContent(pack)) {
228
+ console.log(formatContextPack(pack));
229
+ }
230
+ ```
231
+
232
+ ## 环境要求
233
+
234
+ - **Node.js >= 20**
235
+ - **code-graph-mcp** (可选) — 代码搜索。未安装时 Broker 跳过代码上下文。
236
+ - **claude-mem-lite** (可选) — 记忆系统。未安装时 Broker 跳过记忆上下文。
237
+ - **ANTHROPIC_API_KEY** — 使用 `--provider api` 时需要。
238
+
239
+ ## 开发
240
+
241
+ ```bash
242
+ git clone https://github.com/sdsrs/codeagent.git
243
+ cd codeagent
244
+ npm install
245
+ npm run build
246
+ npm test # 66 tests (unit + integration)
247
+ npm run dev # watch mode
105
248
  ```
106
249
 
107
- ## Requirements
250
+ ## 数据存储
108
251
 
109
- - Node.js >= 20
110
- - [code-graph-mcp](https://github.com/sdsrs/code-graph-mcp) (optional, for code search)
111
- - [claude-mem-lite](https://github.com/sdsrs/claude-mem-lite) (optional, for memory)
112
- - `ANTHROPIC_API_KEY` environment variable (for API provider)
252
+ | 数据 | 位置 |
253
+ |------|------|
254
+ | 会话数据库 | `~/.local/share/codeagent/codeagent.db` |
255
+ | 全局配置 | `~/.config/codeagent/config.json` |
256
+ | 项目 hooks | `.claude/settings.json` |
113
257
 
114
258
  ## License
115
259
 
@@ -1 +1 @@
1
- {"version":3,"file":"code-graph.d.ts","sourceRoot":"","sources":["../../src/adapters/code-graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI1E,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAuH1B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,MAAM,CAKnE"}
1
+ {"version":3,"file":"code-graph.d.ts","sourceRoot":"","sources":["../../src/adapters/code-graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI1E,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAUD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAiF1B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,MAAM,CAKnE"}
@@ -2,12 +2,17 @@ import { execSafe } from '../utils/exec.js';
2
2
  import { truncateToTokenBudget } from '../utils/tokens.js';
3
3
  import fs from 'node:fs';
4
4
  import path from 'node:path';
5
+ const CG = 'code-graph-mcp';
6
+ /** Safe CLI call — no shell, no injection. */
7
+ function cg(args, repoRoot, timeout = 2000) {
8
+ const { stdout, ok } = execSafe(CG, args, { cwd: repoRoot, timeout });
9
+ return ok ? stdout : '';
10
+ }
5
11
  /**
6
12
  * Query Code Graph MCP via CLI.
7
13
  * Selects the right command based on intent.
8
14
  */
9
15
  export async function queryCodeGraph(parsed, tokenBudget, repoRoot) {
10
- // Check if index exists
11
16
  const dbPath = path.join(repoRoot, '.code-graph', 'index.db');
12
17
  if (!fs.existsSync(dbPath)) {
13
18
  return { relevantFiles: [], relatedSymbols: [], raw: '' };
@@ -22,82 +27,62 @@ export async function queryCodeGraph(parsed, tokenBudget, repoRoot) {
22
27
  if (!searchQuery && filePaths.length === 0) {
23
28
  return result;
24
29
  }
25
- try {
26
- switch (intent) {
27
- case 'impact': {
28
- if (symbols.length > 0) {
29
- const { stdout, ok } = execSafe(`code-graph-mcp impact "${symbols[0]}"`, { cwd: repoRoot, timeout: 2000 });
30
- if (ok)
31
- result.raw = stdout;
32
- }
33
- break;
30
+ switch (intent) {
31
+ case 'impact': {
32
+ if (symbols.length > 0) {
33
+ result.raw = cg(['impact', symbols[0]], repoRoot);
34
34
  }
35
- case 'understand': {
36
- if (filePaths.length > 0) {
37
- const dir = filePaths[0].replace(/\/[^/]+$/, '/');
38
- const { stdout, ok } = execSafe(`code-graph-mcp overview "${dir}"`, { cwd: repoRoot, timeout: 2000 });
39
- if (ok)
40
- result.raw = stdout;
41
- }
42
- else if (searchQuery) {
43
- const { stdout, ok } = execSafe(`code-graph-mcp search "${searchQuery}" --limit 8`, { cwd: repoRoot, timeout: 2000 });
44
- if (ok)
45
- result.raw = stdout;
46
- }
47
- break;
35
+ break;
36
+ }
37
+ case 'understand': {
38
+ if (filePaths.length > 0) {
39
+ const dir = filePaths[0].replace(/\/[^/]+$/, '/');
40
+ result.raw = cg(['overview', dir], repoRoot);
48
41
  }
49
- case 'callgraph': {
50
- if (symbols.length > 0) {
51
- const { stdout, ok } = execSafe(`code-graph-mcp callgraph "${symbols[0]}" --depth 2`, { cwd: repoRoot, timeout: 2000 });
52
- if (ok)
53
- result.raw = stdout;
54
- }
55
- break;
42
+ else if (searchQuery) {
43
+ result.raw = cg(['search', searchQuery, '--limit', '8'], repoRoot);
56
44
  }
57
- case 'implement': {
58
- // Search + overview for implementation context
59
- const results = [];
60
- if (searchQuery) {
61
- const { stdout, ok } = execSafe(`code-graph-mcp search "${searchQuery}" --limit 5`, { cwd: repoRoot, timeout: 2000 });
62
- if (ok)
63
- results.push(stdout);
64
- }
65
- if (filePaths.length > 0) {
66
- const dir = filePaths[0].replace(/\/[^/]+$/, '/');
67
- const { stdout, ok } = execSafe(`code-graph-mcp overview "${dir}"`, { cwd: repoRoot, timeout: 2000 });
68
- if (ok)
69
- results.push(stdout);
70
- }
71
- result.raw = results.join('\n\n');
72
- break;
45
+ break;
46
+ }
47
+ case 'callgraph': {
48
+ if (symbols.length > 0) {
49
+ result.raw = cg(['callgraph', symbols[0], '--depth', '2'], repoRoot);
50
+ }
51
+ break;
52
+ }
53
+ case 'implement': {
54
+ const results = [];
55
+ if (searchQuery) {
56
+ const r = cg(['search', searchQuery, '--limit', '5'], repoRoot);
57
+ if (r)
58
+ results.push(r);
73
59
  }
74
- case 'debug':
75
- case 'search':
76
- case 'general':
77
- default: {
78
- if (searchQuery) {
79
- const { stdout, ok } = execSafe(`code-graph-mcp search "${searchQuery}" --limit 8`, { cwd: repoRoot, timeout: 2000 });
80
- if (ok)
81
- result.raw = stdout;
82
- }
83
- else if (filePaths.length > 0) {
84
- const dir = filePaths[0].replace(/\/[^/]+$/, '/');
85
- const { stdout, ok } = execSafe(`code-graph-mcp overview "${dir}"`, { cwd: repoRoot, timeout: 2000 });
86
- if (ok)
87
- result.raw = stdout;
88
- }
89
- break;
60
+ if (filePaths.length > 0) {
61
+ const dir = filePaths[0].replace(/\/[^/]+$/, '/');
62
+ const r = cg(['overview', dir], repoRoot);
63
+ if (r)
64
+ results.push(r);
90
65
  }
66
+ result.raw = results.join('\n\n');
67
+ break;
68
+ }
69
+ case 'debug':
70
+ case 'search':
71
+ case 'general':
72
+ default: {
73
+ if (searchQuery) {
74
+ result.raw = cg(['search', searchQuery, '--limit', '8'], repoRoot);
75
+ }
76
+ else if (filePaths.length > 0) {
77
+ const dir = filePaths[0].replace(/\/[^/]+$/, '/');
78
+ result.raw = cg(['overview', dir], repoRoot);
79
+ }
80
+ break;
91
81
  }
92
82
  }
93
- catch {
94
- // Graceful degradation — return empty
95
- }
96
- // Truncate to budget
97
83
  if (result.raw) {
98
84
  result.raw = truncateToTokenBudget(result.raw, tokenBudget);
99
85
  }
100
- // Parse raw into structured data (best-effort)
101
86
  result.relevantFiles = parseRelevantFiles(result.raw);
102
87
  result.relatedSymbols = parseSymbols(result.raw);
103
88
  return result;
@@ -109,7 +94,7 @@ export function getRepoMap(repoRoot, timeout = 3000) {
109
94
  const dbPath = path.join(repoRoot, '.code-graph', 'index.db');
110
95
  if (!fs.existsSync(dbPath))
111
96
  return '';
112
- const { stdout } = execSafe('code-graph-mcp map', { cwd: repoRoot, timeout });
97
+ const { stdout } = execSafe(CG, ['map'], { cwd: repoRoot, timeout });
113
98
  return stdout;
114
99
  }
115
100
  // --- Parsers for code-graph CLI output ---
@@ -117,7 +102,6 @@ function parseRelevantFiles(raw) {
117
102
  if (!raw)
118
103
  return [];
119
104
  const files = [];
120
- // Match file paths in output (e.g. "src/foo/bar.ts" or "./src/foo/bar.ts")
121
105
  const fileMatches = raw.match(/(?:^|\s)(\.?\/?\w[\w/.-]*\.\w+)/gm) || [];
122
106
  const seen = new Set();
123
107
  for (const match of fileMatches) {
@@ -133,8 +117,6 @@ function parseSymbols(raw) {
133
117
  if (!raw)
134
118
  return [];
135
119
  const symbols = [];
136
- // Match symbol definitions in overview/callgraph output
137
- // Typical format: "fn symbol_name" or "struct SymbolName" or " function symbolName"
138
120
  const symMatches = raw.match(/(?:fn|function|struct|class|impl|trait|interface|type|const|enum)\s+(\w+)/g) || [];
139
121
  const seen = new Set();
140
122
  for (const match of symMatches) {
@@ -1 +1 @@
1
- {"version":3,"file":"code-graph.js","sourceRoot":"","sources":["../../src/adapters/code-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-graph.js","sourceRoot":"","sources":["../../src/adapters/code-graph.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ export interface MemoryResult {
7
7
  }
8
8
  /**
9
9
  * Query memory engine via claude-mem-lite CLI.
10
- * Searches for relevant memories based on query and stage.
11
10
  */
12
11
  export declare function queryMemory(parsed: ParsedQuery, tokenBudget: number, stage?: Stage): Promise<MemoryResult>;
13
12
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/adapters/memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAsBD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC,YAAY,CAAC,CAyDvB"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/adapters/memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAeD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC,YAAY,CAAC,CAiCvB"}