@trench-craft/sds 1.0.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 (276) hide show
  1. package/README.en.md +522 -0
  2. package/README.md +566 -0
  3. package/dist/bin/sds.d.ts +3 -0
  4. package/dist/bin/sds.d.ts.map +1 -0
  5. package/dist/bin/sds.js +50 -0
  6. package/dist/bin/sds.js.map +1 -0
  7. package/dist/src/__tests__/cli.test.d.ts +2 -0
  8. package/dist/src/__tests__/cli.test.d.ts.map +1 -0
  9. package/dist/src/__tests__/cli.test.js +37 -0
  10. package/dist/src/__tests__/cli.test.js.map +1 -0
  11. package/dist/src/__tests__/e2e.test.d.ts +5 -0
  12. package/dist/src/__tests__/e2e.test.d.ts.map +1 -0
  13. package/dist/src/__tests__/e2e.test.js +143 -0
  14. package/dist/src/__tests__/e2e.test.js.map +1 -0
  15. package/dist/src/__tests__/graph.test.d.ts +5 -0
  16. package/dist/src/__tests__/graph.test.d.ts.map +1 -0
  17. package/dist/src/__tests__/graph.test.js +423 -0
  18. package/dist/src/__tests__/graph.test.js.map +1 -0
  19. package/dist/src/__tests__/openspec.test.d.ts +5 -0
  20. package/dist/src/__tests__/openspec.test.d.ts.map +1 -0
  21. package/dist/src/__tests__/openspec.test.js +172 -0
  22. package/dist/src/__tests__/openspec.test.js.map +1 -0
  23. package/dist/src/commands/apply.d.ts +4 -0
  24. package/dist/src/commands/apply.d.ts.map +1 -0
  25. package/dist/src/commands/apply.js +14 -0
  26. package/dist/src/commands/apply.js.map +1 -0
  27. package/dist/src/commands/archive.d.ts +4 -0
  28. package/dist/src/commands/archive.d.ts.map +1 -0
  29. package/dist/src/commands/archive.js +20 -0
  30. package/dist/src/commands/archive.js.map +1 -0
  31. package/dist/src/commands/cache.d.ts +4 -0
  32. package/dist/src/commands/cache.d.ts.map +1 -0
  33. package/dist/src/commands/cache.js +31 -0
  34. package/dist/src/commands/cache.js.map +1 -0
  35. package/dist/src/commands/config.d.ts +4 -0
  36. package/dist/src/commands/config.d.ts.map +1 -0
  37. package/dist/src/commands/config.js +29 -0
  38. package/dist/src/commands/config.js.map +1 -0
  39. package/dist/src/commands/e2e.d.ts +4 -0
  40. package/dist/src/commands/e2e.d.ts.map +1 -0
  41. package/dist/src/commands/e2e.js +65 -0
  42. package/dist/src/commands/e2e.js.map +1 -0
  43. package/dist/src/commands/graph.d.ts +4 -0
  44. package/dist/src/commands/graph.d.ts.map +1 -0
  45. package/dist/src/commands/graph.js +783 -0
  46. package/dist/src/commands/graph.js.map +1 -0
  47. package/dist/src/commands/init.d.ts +4 -0
  48. package/dist/src/commands/init.d.ts.map +1 -0
  49. package/dist/src/commands/init.js +15 -0
  50. package/dist/src/commands/init.js.map +1 -0
  51. package/dist/src/commands/project.d.ts +4 -0
  52. package/dist/src/commands/project.d.ts.map +1 -0
  53. package/dist/src/commands/project.js +6 -0
  54. package/dist/src/commands/project.js.map +1 -0
  55. package/dist/src/commands/propose.d.ts +4 -0
  56. package/dist/src/commands/propose.d.ts.map +1 -0
  57. package/dist/src/commands/propose.js +26 -0
  58. package/dist/src/commands/propose.js.map +1 -0
  59. package/dist/src/commands/registry.d.ts +4 -0
  60. package/dist/src/commands/registry.d.ts.map +1 -0
  61. package/dist/src/commands/registry.js +6 -0
  62. package/dist/src/commands/registry.js.map +1 -0
  63. package/dist/src/commands/skills-install.d.ts +4 -0
  64. package/dist/src/commands/skills-install.d.ts.map +1 -0
  65. package/dist/src/commands/skills-install.js +158 -0
  66. package/dist/src/commands/skills-install.js.map +1 -0
  67. package/dist/src/commands/skills.d.ts +4 -0
  68. package/dist/src/commands/skills.d.ts.map +1 -0
  69. package/dist/src/commands/skills.js +19 -0
  70. package/dist/src/commands/skills.js.map +1 -0
  71. package/dist/src/commands/verify.d.ts +4 -0
  72. package/dist/src/commands/verify.d.ts.map +1 -0
  73. package/dist/src/commands/verify.js +31 -0
  74. package/dist/src/commands/verify.js.map +1 -0
  75. package/dist/src/core/engine.d.ts +33 -0
  76. package/dist/src/core/engine.d.ts.map +1 -0
  77. package/dist/src/core/engine.js +87 -0
  78. package/dist/src/core/engine.js.map +1 -0
  79. package/dist/src/core/engine.test.d.ts +2 -0
  80. package/dist/src/core/engine.test.d.ts.map +1 -0
  81. package/dist/src/core/engine.test.js +13 -0
  82. package/dist/src/core/engine.test.js.map +1 -0
  83. package/dist/src/core/session-state.d.ts +18 -0
  84. package/dist/src/core/session-state.d.ts.map +1 -0
  85. package/dist/src/core/session-state.js +55 -0
  86. package/dist/src/core/session-state.js.map +1 -0
  87. package/dist/src/core/session-state.test.d.ts +2 -0
  88. package/dist/src/core/session-state.test.d.ts.map +1 -0
  89. package/dist/src/core/session-state.test.js +90 -0
  90. package/dist/src/core/session-state.test.js.map +1 -0
  91. package/dist/src/core/subagent-timeout.d.ts +18 -0
  92. package/dist/src/core/subagent-timeout.d.ts.map +1 -0
  93. package/dist/src/core/subagent-timeout.js +61 -0
  94. package/dist/src/core/subagent-timeout.js.map +1 -0
  95. package/dist/src/core/subagent-timeout.test.d.ts +2 -0
  96. package/dist/src/core/subagent-timeout.test.d.ts.map +1 -0
  97. package/dist/src/core/subagent-timeout.test.js +57 -0
  98. package/dist/src/core/subagent-timeout.test.js.map +1 -0
  99. package/dist/src/core/task-sync.d.ts +19 -0
  100. package/dist/src/core/task-sync.d.ts.map +1 -0
  101. package/dist/src/core/task-sync.js +62 -0
  102. package/dist/src/core/task-sync.js.map +1 -0
  103. package/dist/src/core/task-sync.test.d.ts +2 -0
  104. package/dist/src/core/task-sync.test.d.ts.map +1 -0
  105. package/dist/src/core/task-sync.test.js +84 -0
  106. package/dist/src/core/task-sync.test.js.map +1 -0
  107. package/dist/src/graph/advanced-performance.d.ts +137 -0
  108. package/dist/src/graph/advanced-performance.d.ts.map +1 -0
  109. package/dist/src/graph/advanced-performance.js +375 -0
  110. package/dist/src/graph/advanced-performance.js.map +1 -0
  111. package/dist/src/graph/database.d.ts +79 -0
  112. package/dist/src/graph/database.d.ts.map +1 -0
  113. package/dist/src/graph/database.js +305 -0
  114. package/dist/src/graph/database.js.map +1 -0
  115. package/dist/src/graph/engine.d.ts +43 -0
  116. package/dist/src/graph/engine.d.ts.map +1 -0
  117. package/dist/src/graph/engine.js +334 -0
  118. package/dist/src/graph/engine.js.map +1 -0
  119. package/dist/src/graph/exporter.d.ts +56 -0
  120. package/dist/src/graph/exporter.d.ts.map +1 -0
  121. package/dist/src/graph/exporter.js +273 -0
  122. package/dist/src/graph/exporter.js.map +1 -0
  123. package/dist/src/graph/index.d.ts +21 -0
  124. package/dist/src/graph/index.d.ts.map +1 -0
  125. package/dist/src/graph/index.js +14 -0
  126. package/dist/src/graph/index.js.map +1 -0
  127. package/dist/src/graph/layouts.d.ts +77 -0
  128. package/dist/src/graph/layouts.d.ts.map +1 -0
  129. package/dist/src/graph/layouts.js +368 -0
  130. package/dist/src/graph/layouts.js.map +1 -0
  131. package/dist/src/graph/parser.d.ts +47 -0
  132. package/dist/src/graph/parser.d.ts.map +1 -0
  133. package/dist/src/graph/parser.js +228 -0
  134. package/dist/src/graph/parser.js.map +1 -0
  135. package/dist/src/graph/performance.d.ts +90 -0
  136. package/dist/src/graph/performance.d.ts.map +1 -0
  137. package/dist/src/graph/performance.js +275 -0
  138. package/dist/src/graph/performance.js.map +1 -0
  139. package/dist/src/graph/semantic.d.ts +151 -0
  140. package/dist/src/graph/semantic.d.ts.map +1 -0
  141. package/dist/src/graph/semantic.js +402 -0
  142. package/dist/src/graph/semantic.js.map +1 -0
  143. package/dist/src/graph/types.d.ts +114 -0
  144. package/dist/src/graph/types.d.ts.map +1 -0
  145. package/dist/src/graph/types.js +5 -0
  146. package/dist/src/graph/types.js.map +1 -0
  147. package/dist/src/graph/visualizer.d.ts +50 -0
  148. package/dist/src/graph/visualizer.d.ts.map +1 -0
  149. package/dist/src/graph/visualizer.js +869 -0
  150. package/dist/src/graph/visualizer.js.map +1 -0
  151. package/dist/src/openspec/apply.d.ts +16 -0
  152. package/dist/src/openspec/apply.d.ts.map +1 -0
  153. package/dist/src/openspec/apply.js +140 -0
  154. package/dist/src/openspec/apply.js.map +1 -0
  155. package/dist/src/openspec/archive.d.ts +3 -0
  156. package/dist/src/openspec/archive.d.ts.map +1 -0
  157. package/dist/src/openspec/archive.js +17 -0
  158. package/dist/src/openspec/archive.js.map +1 -0
  159. package/dist/src/openspec/e2e-generate.d.ts +39 -0
  160. package/dist/src/openspec/e2e-generate.d.ts.map +1 -0
  161. package/dist/src/openspec/e2e-generate.js +315 -0
  162. package/dist/src/openspec/e2e-generate.js.map +1 -0
  163. package/dist/src/openspec/e2e-runner.d.ts +32 -0
  164. package/dist/src/openspec/e2e-runner.d.ts.map +1 -0
  165. package/dist/src/openspec/e2e-runner.js +208 -0
  166. package/dist/src/openspec/e2e-runner.js.map +1 -0
  167. package/dist/src/openspec/explore.d.ts +3 -0
  168. package/dist/src/openspec/explore.d.ts.map +1 -0
  169. package/dist/src/openspec/explore.js +20 -0
  170. package/dist/src/openspec/explore.js.map +1 -0
  171. package/dist/src/openspec/propose.d.ts +8 -0
  172. package/dist/src/openspec/propose.d.ts.map +1 -0
  173. package/dist/src/openspec/propose.js +124 -0
  174. package/dist/src/openspec/propose.js.map +1 -0
  175. package/dist/src/openspec/verify.d.ts +13 -0
  176. package/dist/src/openspec/verify.d.ts.map +1 -0
  177. package/dist/src/openspec/verify.js +156 -0
  178. package/dist/src/openspec/verify.js.map +1 -0
  179. package/dist/src/platform/claudecode.d.ts +2 -0
  180. package/dist/src/platform/claudecode.d.ts.map +1 -0
  181. package/dist/src/platform/claudecode.js +7 -0
  182. package/dist/src/platform/claudecode.js.map +1 -0
  183. package/dist/src/platform/codex.d.ts +2 -0
  184. package/dist/src/platform/codex.d.ts.map +1 -0
  185. package/dist/src/platform/codex.js +7 -0
  186. package/dist/src/platform/codex.js.map +1 -0
  187. package/dist/src/platform/opencode.d.ts +2 -0
  188. package/dist/src/platform/opencode.d.ts.map +1 -0
  189. package/dist/src/platform/opencode.js +7 -0
  190. package/dist/src/platform/opencode.js.map +1 -0
  191. package/dist/src/platform/router.d.ts +13 -0
  192. package/dist/src/platform/router.d.ts.map +1 -0
  193. package/dist/src/platform/router.js +57 -0
  194. package/dist/src/platform/router.js.map +1 -0
  195. package/dist/src/skills/cache.d.ts +16 -0
  196. package/dist/src/skills/cache.d.ts.map +1 -0
  197. package/dist/src/skills/cache.js +53 -0
  198. package/dist/src/skills/cache.js.map +1 -0
  199. package/dist/src/skills/discovery.d.ts +12 -0
  200. package/dist/src/skills/discovery.d.ts.map +1 -0
  201. package/dist/src/skills/discovery.js +61 -0
  202. package/dist/src/skills/discovery.js.map +1 -0
  203. package/dist/src/skills/loader.d.ts +12 -0
  204. package/dist/src/skills/loader.d.ts.map +1 -0
  205. package/dist/src/skills/loader.js +69 -0
  206. package/dist/src/skills/loader.js.map +1 -0
  207. package/dist/src/skills/registry.d.ts +23 -0
  208. package/dist/src/skills/registry.d.ts.map +1 -0
  209. package/dist/src/skills/registry.js +68 -0
  210. package/dist/src/skills/registry.js.map +1 -0
  211. package/dist/src/utils/fs.d.ts +5 -0
  212. package/dist/src/utils/fs.d.ts.map +1 -0
  213. package/dist/src/utils/fs.js +23 -0
  214. package/dist/src/utils/fs.js.map +1 -0
  215. package/dist/src/utils/logger.d.ts +7 -0
  216. package/dist/src/utils/logger.d.ts.map +1 -0
  217. package/dist/src/utils/logger.js +8 -0
  218. package/dist/src/utils/logger.js.map +1 -0
  219. package/dist/src/utils/yaml.d.ts +3 -0
  220. package/dist/src/utils/yaml.d.ts.map +1 -0
  221. package/dist/src/utils/yaml.js +8 -0
  222. package/dist/src/utils/yaml.js.map +1 -0
  223. package/package.json +62 -0
  224. package/registry/skills-registry.yaml +218 -0
  225. package/skills/core/brainstorming/SKILL.md +259 -0
  226. package/skills/core/brainstorming/scripts/frame-template.html +214 -0
  227. package/skills/core/brainstorming/scripts/helper.js +88 -0
  228. package/skills/core/brainstorming/scripts/server.cjs +338 -0
  229. package/skills/core/brainstorming/scripts/start-server.sh +153 -0
  230. package/skills/core/brainstorming/scripts/stop-server.sh +55 -0
  231. package/skills/core/brainstorming/skill.yaml +12 -0
  232. package/skills/core/brainstorming/spec-document-reviewer-prompt.md +48 -0
  233. package/skills/core/brainstorming/visual-companion.md +286 -0
  234. package/skills/core/claude-code-core/SKILL.md +164 -0
  235. package/skills/core/claude-code-core/skill.yaml +14 -0
  236. package/skills/core/claude-code-prompt/SKILL.md +283 -0
  237. package/skills/core/claude-code-prompt/skill.yaml +14 -0
  238. package/skills/core/claude-code-subagent/SKILL.md +168 -0
  239. package/skills/core/claude-code-subagent/skill.yaml +14 -0
  240. package/skills/core/e2e-generate/SKILL.md +147 -0
  241. package/skills/core/e2e-generate/skill.yaml +12 -0
  242. package/skills/core/ecc-agents-md-router/SKILL.md +90 -0
  243. package/skills/core/ecc-agents-md-router/skill.yaml +12 -0
  244. package/skills/core/ecc-context-injector/SKILL.md +69 -0
  245. package/skills/core/ecc-context-injector/skill.yaml +12 -0
  246. package/skills/core/existing-code-caveman/SKILL.md +340 -0
  247. package/skills/core/existing-code-caveman/skill.yaml +12 -0
  248. package/skills/core/opsx-apply/SKILL.md +121 -0
  249. package/skills/core/opsx-apply/skill.yaml +12 -0
  250. package/skills/core/opsx-archive/SKILL.md +83 -0
  251. package/skills/core/opsx-archive/skill.yaml +12 -0
  252. package/skills/core/opsx-explore/SKILL.md +101 -0
  253. package/skills/core/opsx-explore/skill.yaml +12 -0
  254. package/skills/core/opsx-propose/SKILL.md +131 -0
  255. package/skills/core/opsx-propose/skill.yaml +16 -0
  256. package/skills/core/opsx-verify/SKILL.md +109 -0
  257. package/skills/core/opsx-verify/skill.yaml +12 -0
  258. package/skills/core/subagent-driven-development/SKILL.md +157 -0
  259. package/skills/core/subagent-driven-development/code-quality-reviewer-prompt.md +64 -0
  260. package/skills/core/subagent-driven-development/implementer-prompt.md +122 -0
  261. package/skills/core/subagent-driven-development/skill.yaml +12 -0
  262. package/skills/core/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  263. package/skills/core/writing-plans/SKILL.md +268 -0
  264. package/skills/core/writing-plans/plan-document-reviewer-prompt.md +63 -0
  265. package/skills/core/writing-plans/skill.yaml +12 -0
  266. package/skills/locale/chinese-code-review/SKILL.md +17 -0
  267. package/skills/locale/chinese-code-review/skill.yaml +16 -0
  268. package/skills/locale/chinese-commit-conventions/SKILL.md +17 -0
  269. package/skills/locale/chinese-commit-conventions/skill.yaml +16 -0
  270. package/skills/locale/chinese-documentation/SKILL.md +17 -0
  271. package/skills/locale/chinese-documentation/skill.yaml +16 -0
  272. package/skills/locale/chinese-git-workflow/SKILL.md +17 -0
  273. package/skills/locale/chinese-git-workflow/skill.yaml +16 -0
  274. package/templates/agents-md.md +42 -0
  275. package/templates/claude-md.md +44 -0
  276. package/templates/codex-md.md +49 -0
@@ -0,0 +1,305 @@
1
+ /**
2
+ * SQLite 数据库封装
3
+ * 使用 better-sqlite3 提供同步 API
4
+ */
5
+ import Database from 'better-sqlite3';
6
+ import { dirname } from 'path';
7
+ import { mkdirSync, existsSync } from 'fs';
8
+ export class GraphDatabase {
9
+ db;
10
+ dbPath;
11
+ constructor(dbPath) {
12
+ this.dbPath = dbPath;
13
+ // 确保目录存在
14
+ const dir = dirname(dbPath);
15
+ if (!existsSync(dir)) {
16
+ mkdirSync(dir, { recursive: true });
17
+ }
18
+ this.db = new Database(dbPath);
19
+ this.db.pragma('journal_mode = WAL');
20
+ this.db.pragma('foreign_keys = ON');
21
+ }
22
+ /**
23
+ * 初始化数据库 schema
24
+ */
25
+ initialize() {
26
+ this.db.exec(`
27
+ -- 文件表
28
+ CREATE TABLE IF NOT EXISTS files (
29
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
30
+ path TEXT UNIQUE NOT NULL,
31
+ lang TEXT,
32
+ lines INTEGER,
33
+ hash TEXT,
34
+ last_modified INTEGER,
35
+ in_degree INTEGER DEFAULT 0,
36
+ out_degree INTEGER DEFAULT 0
37
+ );
38
+
39
+ -- 符号表(函数、类、接口等)
40
+ CREATE TABLE IF NOT EXISTS symbols (
41
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
42
+ file_id INTEGER,
43
+ name TEXT NOT NULL,
44
+ type TEXT CHECK(type IN ('function', 'class', 'interface', 'type', 'variable')),
45
+ line_start INTEGER,
46
+ line_end INTEGER,
47
+ signature TEXT,
48
+ FOREIGN KEY (file_id) REFERENCES files(id)
49
+ );
50
+
51
+ -- 调用关系表
52
+ CREATE TABLE IF NOT EXISTS call_graph (
53
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
54
+ caller_file_id INTEGER,
55
+ caller_symbol_id INTEGER,
56
+ callee_file_id INTEGER,
57
+ callee_symbol_id INTEGER,
58
+ relation_type TEXT CHECK(relation_type IN ('call', 'import', 'extend', 'implement')),
59
+ line_number INTEGER,
60
+ FOREIGN KEY (caller_file_id) REFERENCES files(id),
61
+ FOREIGN KEY (caller_symbol_id) REFERENCES symbols(id),
62
+ FOREIGN KEY (callee_file_id) REFERENCES files(id),
63
+ FOREIGN KEY (callee_symbol_id) REFERENCES symbols(id)
64
+ );
65
+
66
+ -- 模块表(目录级聚合)
67
+ CREATE TABLE IF NOT EXISTS modules (
68
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
69
+ name TEXT,
70
+ path TEXT UNIQUE,
71
+ file_count INTEGER,
72
+ symbol_count INTEGER,
73
+ entry_point_file_id INTEGER,
74
+ FOREIGN KEY (entry_point_file_id) REFERENCES files(id)
75
+ );
76
+
77
+ -- 索引
78
+ CREATE INDEX IF NOT EXISTS idx_files_path ON files(path);
79
+ CREATE INDEX IF NOT EXISTS idx_files_hash ON files(hash);
80
+ CREATE INDEX IF NOT EXISTS idx_symbols_file_id ON symbols(file_id);
81
+ CREATE INDEX IF NOT EXISTS idx_symbols_name ON symbols(name);
82
+ CREATE INDEX IF NOT EXISTS idx_symbols_type ON symbols(type);
83
+ CREATE INDEX IF NOT EXISTS idx_call_graph_caller ON call_graph(caller_file_id);
84
+ CREATE INDEX IF NOT EXISTS idx_call_graph_callee ON call_graph(callee_file_id);
85
+ CREATE INDEX IF NOT EXISTS idx_call_graph_relation ON call_graph(relation_type);
86
+ `);
87
+ }
88
+ /**
89
+ * 插入或更新文件
90
+ */
91
+ upsertFile(file) {
92
+ const stmt = this.db.prepare(`
93
+ INSERT INTO files (path, lang, lines, hash, last_modified, in_degree, out_degree)
94
+ VALUES (?, ?, ?, ?, ?, ?, ?)
95
+ ON CONFLICT(path) DO UPDATE SET
96
+ lang = excluded.lang,
97
+ lines = excluded.lines,
98
+ hash = excluded.hash,
99
+ last_modified = excluded.last_modified,
100
+ in_degree = excluded.in_degree,
101
+ out_degree = excluded.out_degree
102
+ `);
103
+ const result = stmt.run(file.path, file.lang, file.lines, file.hash, file.lastModified, file.inDegree, file.outDegree);
104
+ return Number(result.lastInsertRowid);
105
+ }
106
+ /**
107
+ * 批量插入文件
108
+ */
109
+ upsertFiles(files) {
110
+ const stmt = this.db.prepare(`
111
+ INSERT INTO files (path, lang, lines, hash, last_modified, in_degree, out_degree)
112
+ VALUES (?, ?, ?, ?, ?, ?, ?)
113
+ ON CONFLICT(path) DO UPDATE SET
114
+ lang = excluded.lang,
115
+ lines = excluded.lines,
116
+ hash = excluded.hash,
117
+ last_modified = excluded.last_modified,
118
+ in_degree = excluded.in_degree,
119
+ out_degree = excluded.out_degree
120
+ `);
121
+ const transaction = this.db.transaction((files) => {
122
+ for (const file of files) {
123
+ stmt.run(file.path, file.lang, file.lines, file.hash, file.lastModified, file.inDegree, file.outDegree);
124
+ }
125
+ });
126
+ transaction(files);
127
+ }
128
+ /**
129
+ * 插入符号
130
+ */
131
+ insertSymbol(symbol) {
132
+ const stmt = this.db.prepare(`
133
+ INSERT INTO symbols (file_id, name, type, line_start, line_end, signature)
134
+ VALUES (?, ?, ?, ?, ?, ?)
135
+ `);
136
+ const result = stmt.run(symbol.fileId, symbol.name, symbol.type, symbol.lineStart, symbol.lineEnd, symbol.signature);
137
+ return Number(result.lastInsertRowid);
138
+ }
139
+ /**
140
+ * 批量插入符号
141
+ */
142
+ insertSymbols(symbols) {
143
+ const stmt = this.db.prepare(`
144
+ INSERT INTO symbols (file_id, name, type, line_start, line_end, signature)
145
+ VALUES (?, ?, ?, ?, ?, ?)
146
+ `);
147
+ const transaction = this.db.transaction((symbols) => {
148
+ for (const symbol of symbols) {
149
+ stmt.run(symbol.fileId, symbol.name, symbol.type, symbol.lineStart, symbol.lineEnd, symbol.signature);
150
+ }
151
+ });
152
+ transaction(symbols);
153
+ }
154
+ /**
155
+ * 插入调用关系
156
+ */
157
+ insertCallEdge(edge) {
158
+ const stmt = this.db.prepare(`
159
+ INSERT INTO call_graph (caller_file_id, caller_symbol_id, callee_file_id, callee_symbol_id, relation_type, line_number)
160
+ VALUES (?, ?, ?, ?, ?, ?)
161
+ `);
162
+ const result = stmt.run(edge.callerFileId, edge.callerSymbolId, edge.calleeFileId, edge.calleeSymbolId, edge.relationType, edge.lineNumber);
163
+ return Number(result.lastInsertRowid);
164
+ }
165
+ /**
166
+ * 批量插入调用关系
167
+ */
168
+ insertCallEdges(edges) {
169
+ const stmt = this.db.prepare(`
170
+ INSERT INTO call_graph (caller_file_id, caller_symbol_id, callee_file_id, callee_symbol_id, relation_type, line_number)
171
+ VALUES (?, ?, ?, ?, ?, ?)
172
+ `);
173
+ const transaction = this.db.transaction((edges) => {
174
+ for (const edge of edges) {
175
+ stmt.run(edge.callerFileId, edge.callerSymbolId, edge.calleeFileId, edge.calleeSymbolId, edge.relationType, edge.lineNumber);
176
+ }
177
+ });
178
+ transaction(edges);
179
+ }
180
+ /**
181
+ * 获取文件信息
182
+ */
183
+ getFile(path) {
184
+ const stmt = this.db.prepare('SELECT * FROM files WHERE path = ?');
185
+ const row = stmt.get(path);
186
+ if (!row)
187
+ return undefined;
188
+ return {
189
+ id: row.id,
190
+ path: row.path,
191
+ lang: row.lang,
192
+ lines: row.lines,
193
+ hash: row.hash,
194
+ lastModified: row.last_modified,
195
+ inDegree: row.in_degree,
196
+ outDegree: row.out_degree
197
+ };
198
+ }
199
+ /**
200
+ * 获取所有文件
201
+ */
202
+ getAllFiles() {
203
+ const stmt = this.db.prepare('SELECT * FROM files ORDER BY path');
204
+ const rows = stmt.all();
205
+ return rows.map(row => ({
206
+ id: row.id,
207
+ path: row.path,
208
+ lang: row.lang,
209
+ lines: row.lines,
210
+ hash: row.hash,
211
+ lastModified: row.last_modified,
212
+ inDegree: row.in_degree,
213
+ outDegree: row.out_degree
214
+ }));
215
+ }
216
+ /**
217
+ * 获取文件的符号
218
+ */
219
+ getFileSymbols(fileId) {
220
+ const stmt = this.db.prepare('SELECT * FROM symbols WHERE file_id = ? ORDER BY line_start');
221
+ return stmt.all(fileId);
222
+ }
223
+ /**
224
+ * 获取所有符号
225
+ */
226
+ getAllSymbols() {
227
+ const stmt = this.db.prepare('SELECT * FROM symbols ORDER BY name');
228
+ return stmt.all();
229
+ }
230
+ /**
231
+ * 执行 SQL 查询
232
+ */
233
+ query(sql, params = []) {
234
+ const stmt = this.db.prepare(sql);
235
+ return stmt.all(...params);
236
+ }
237
+ /**
238
+ * 获取统计信息
239
+ */
240
+ getStats() {
241
+ const filesCount = this.db.prepare('SELECT COUNT(*) as count FROM files').get().count;
242
+ const functionsCount = this.db.prepare("SELECT COUNT(*) as count FROM symbols WHERE type = 'function'").get().count;
243
+ const classesCount = this.db.prepare("SELECT COUNT(*) as count FROM symbols WHERE type = 'class'").get().count;
244
+ const interfacesCount = this.db.prepare("SELECT COUNT(*) as count FROM symbols WHERE type = 'interface'").get().count;
245
+ const typesCount = this.db.prepare("SELECT COUNT(*) as count FROM symbols WHERE type = 'type'").get().count;
246
+ const variablesCount = this.db.prepare("SELECT COUNT(*) as count FROM symbols WHERE type = 'variable'").get().count;
247
+ const callEdgesCount = this.db.prepare("SELECT COUNT(*) as count FROM call_graph WHERE relation_type = 'call'").get().count;
248
+ const importEdgesCount = this.db.prepare("SELECT COUNT(*) as count FROM call_graph WHERE relation_type = 'import'").get().count;
249
+ const extendEdgesCount = this.db.prepare("SELECT COUNT(*) as count FROM call_graph WHERE relation_type = 'extend'").get().count;
250
+ const implementEdgesCount = this.db.prepare("SELECT COUNT(*) as count FROM call_graph WHERE relation_type = 'implement'").get().count;
251
+ return {
252
+ filesIndexed: filesCount,
253
+ functions: functionsCount,
254
+ classes: classesCount,
255
+ interfaces: interfacesCount,
256
+ types: typesCount,
257
+ variables: variablesCount,
258
+ callEdges: callEdgesCount,
259
+ importEdges: importEdgesCount,
260
+ extendEdges: extendEdgesCount,
261
+ implementEdges: implementEdgesCount,
262
+ durationMs: 0, // 需要在调用时计算
263
+ cacheHit: false
264
+ };
265
+ }
266
+ /**
267
+ * 删除文件及其相关数据
268
+ */
269
+ deleteFile(path) {
270
+ const file = this.getFile(path);
271
+ if (!file)
272
+ return;
273
+ const transaction = this.db.transaction((fileId) => {
274
+ // 删除调用关系
275
+ this.db.prepare('DELETE FROM call_graph WHERE caller_file_id = ? OR callee_file_id = ?').run(fileId, fileId);
276
+ // 删除符号
277
+ this.db.prepare('DELETE FROM symbols WHERE file_id = ?').run(fileId);
278
+ // 删除文件
279
+ this.db.prepare('DELETE FROM files WHERE id = ?').run(fileId);
280
+ });
281
+ transaction(file.id);
282
+ }
283
+ /**
284
+ * 清空所有数据
285
+ */
286
+ clear() {
287
+ this.db.exec('DELETE FROM call_graph');
288
+ this.db.exec('DELETE FROM symbols');
289
+ this.db.exec('DELETE FROM modules');
290
+ this.db.exec('DELETE FROM files');
291
+ }
292
+ /**
293
+ * 关闭数据库
294
+ */
295
+ close() {
296
+ this.db.close();
297
+ }
298
+ /**
299
+ * 获取数据库路径
300
+ */
301
+ getPath() {
302
+ return this.dbPath;
303
+ }
304
+ }
305
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/graph/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * GraphEngine 核心类
3
+ * 协调 Tree-sitter 解析和 SQLite 存储
4
+ */
5
+ import type { GraphConfig, FileInfo, IndexStats, DiffResult, QueryResult, GraphStatus, ExportOptions } from './types.js';
6
+ import type { EnhanceOptions, EnhanceResult } from './semantic.js';
7
+ import type { ExportResult } from './exporter.js';
8
+ import type { ProgressCallback } from './performance.js';
9
+ import type { VisualizeOptions, VisualizeResult } from './visualizer.js';
10
+ export declare class GraphEngine {
11
+ private db;
12
+ private parser;
13
+ private semanticAnalyzer;
14
+ private exporter;
15
+ private optimizer;
16
+ private visualizer;
17
+ private config;
18
+ private projectDir;
19
+ constructor(projectDir: string, config?: Partial<GraphConfig>);
20
+ init(): Promise<void>;
21
+ enhance(options: EnhanceOptions): Promise<EnhanceResult>;
22
+ previewEnhance(options: EnhanceOptions): {
23
+ files: FileInfo[];
24
+ estimatedTokens: number;
25
+ estimatedCost: number;
26
+ };
27
+ isSemanticAvailable(): boolean;
28
+ exportGraph(options: ExportOptions): Promise<ExportResult>;
29
+ tieredIndex(progressCallback?: ProgressCallback): Promise<IndexStats>;
30
+ visualize(options: VisualizeOptions): Promise<VisualizeResult>;
31
+ index(options?: {
32
+ incremental?: boolean;
33
+ verbose?: boolean;
34
+ }): Promise<IndexStats>;
35
+ diff(): Promise<DiffResult>;
36
+ query(sql: string, params?: any[]): QueryResult;
37
+ getStatus(): Promise<GraphStatus>;
38
+ clear(): void;
39
+ close(): void;
40
+ private scanFiles;
41
+ private resolveImportPath;
42
+ }
43
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/graph/engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EAGR,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAsCzE,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAevD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9D,cAAc,CAAC,OAAO,EAAE,cAAc;;;;;IAItC,mBAAmB,IAAI,OAAO;IAIxB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAI1D,WAAW,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IASrE,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI9D,KAAK,CAAC,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAkGtF,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAkEjC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,WAAW;IAe7C,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;IAuCvC,KAAK,IAAI,IAAI;IAIb,KAAK,IAAI,IAAI;YAIC,SAAS;YAgBT,iBAAiB;CAmBhC"}