cgraphx 1.4.1 → 2.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 (1311) hide show
  1. package/LICENSE +1 -1
  2. package/README.en.md +126 -0
  3. package/README.md +78 -196
  4. package/dist/.claude-template/.cgraphx/timeline-current-turn.json +1 -0
  5. package/dist/.claude-template/CLAUDE.md +10 -0
  6. package/dist/.claude-template/FLOW-MAP.md +107 -0
  7. package/dist/.claude-template/agents/knowledge-recall.md +126 -0
  8. package/dist/.claude-template/commands/end.md +62 -0
  9. package/dist/.claude-template/commands/my-query.md +1 -1
  10. package/dist/.claude-template/deprecated-assets.json +11 -0
  11. package/dist/.claude-template/hooks/precommit-check/precommit-check.cjs +27 -24
  12. package/dist/.claude-template/skills/.cgraphx/timeline-current-turn.json +1 -0
  13. package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +22 -24
  14. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +350 -165
  15. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +211 -0
  16. package/dist/.claude-template/skills/clarify-requirements/SKILL.md +75 -383
  17. package/dist/.claude-template/skills/developer-timeline/SKILL.md +3 -2
  18. package/dist/.claude-template/skills/export-table-ddl/SKILL.md +3 -2
  19. package/dist/.claude-template/skills/handdrawn-deck/.cgraphx/timeline-current-turn.json +1 -0
  20. package/dist/.claude-template/skills/handdrawn-deck/SKILL.md +305 -0
  21. package/dist/.claude-template/skills/handdrawn-deck/references/.cgraphx/timeline-current-turn.json +1 -0
  22. package/dist/.claude-template/skills/handdrawn-deck/references/deck-template.html +469 -0
  23. package/dist/.claude-template/skills/handdrawn-deck/references/gen-script-md.cjs +44 -0
  24. package/dist/.claude-template/skills/handdrawn-deck/references/seg.cjs +54 -0
  25. package/dist/.claude-template/skills/handdrawn-sketch-engine/.cgraphx/timeline-current-turn.json +1 -0
  26. package/dist/.claude-template/skills/handdrawn-sketch-engine/SKILL.md +279 -0
  27. package/dist/.claude-template/skills/handdrawn-sketch-engine/assets/icon-library.js +238 -0
  28. package/dist/.claude-template/skills/handdrawn-sketch-engine/references/engine-template.html +275 -0
  29. package/dist/.claude-template/skills/handdrawn-sketch-engine/references/reference-render.html +445 -0
  30. package/dist/.claude-template/skills/implementation/SKILL.md +36 -110
  31. package/dist/.claude-template/skills/init-project-guides/SKILL.md +81 -0
  32. package/dist/.claude-template/skills/init-project-guides/templates/git-standards.md +37 -0
  33. package/dist/.claude-template/skills/init-project-guides/templates/go.md +160 -0
  34. package/dist/.claude-template/skills/init-project-guides/templates/java.md +173 -0
  35. package/dist/.claude-template/skills/init-project-guides/templates/schema-convention.md +11 -0
  36. package/dist/.claude-template/skills/init-project-guides/templates/typescript.md +156 -0
  37. package/dist/.claude-template/skills/knowledge-api/SKILL.md +143 -0
  38. package/dist/.claude-template/skills/knowledge-api/agent-prompt.md +51 -0
  39. package/dist/.claude-template/skills/knowledge-init/SKILL.md +761 -0
  40. package/dist/.claude-template/skills/knowledge-migrate/SKILL.md +173 -0
  41. package/dist/.claude-template/skills/knowledge-recall/SKILL.md +25 -0
  42. package/dist/.claude-template/skills/knowledge-write/SKILL.md +126 -0
  43. package/dist/.claude-template/skills/knowledge-write/template-concept.md +95 -0
  44. package/dist/.claude-template/skills/knowledge-write/template-flow.md +100 -0
  45. package/dist/.claude-template/skills/knowledge-write/template-guide.md +77 -0
  46. package/dist/.claude-template/skills/knowledge-write/template-memory.md +61 -0
  47. package/dist/.claude-template/skills/run-api-test/SKILL.md +6 -4
  48. package/dist/.claude-template/skills/run-api-test/assets/template-test-report.md +448 -55
  49. package/dist/.claude-template/skills/run-api-test/assets/template-test-verify.jsonl +5 -5
  50. package/dist/.claude-template/skills/run-api-test/references/report-format.md +54 -19
  51. package/dist/.claude-template/skills/subagent-implement/SKILL.md +60 -183
  52. package/dist/.claude-template/skills/subagent-implement/implementer-prompt.md +9 -4
  53. package/dist/.claude-template/skills/subagent-implement/quality-reviewer-prompt.md +1 -1
  54. package/dist/.claude-template/skills/subagent-implement/spec-reviewer-prompt.md +1 -0
  55. package/dist/.claude-template/skills/write-api/SKILL.md +7 -5
  56. package/dist/.claude-template/skills/write-api/assets/template-api-spec.md +2 -3
  57. package/dist/.claude-template/skills/write-api/assets/template-request.bru +21 -0
  58. package/dist/.claude-template/skills/write-api/references/ai-prompts.md +1 -2
  59. package/dist/.claude-template/skills/write-api/references/api-spec-format.md +0 -1
  60. package/dist/.claude-template/skills/write-api-doc/SKILL.md +8 -7
  61. package/dist/.claude-template/skills/write-design-doc/SKILL.md +86 -0
  62. package/dist/.claude-template/skills/write-design-doc/template-design-html.md +357 -0
  63. package/dist/.claude-template/skills/write-design-doc/template-design-md.md +164 -0
  64. package/dist/.claude-template/skills/write-plan/SKILL.md +94 -291
  65. package/dist/.claude-template/skills/write-plan/plan-document-reviewer-prompt.md +24 -6
  66. package/dist/.claude-template/skills/write-prd/SKILL.md +4 -2
  67. package/dist/.claude-template/skills/write-spec/SKILL.md +75 -282
  68. package/dist/.claude-template/skills/write-unit-test-code/SKILL.md +221 -0
  69. package/dist/.claude-template/skills/write-unit-test-spec/SKILL.md +115 -0
  70. package/dist/.claude-template/skills/write-workload/SKILL.md +130 -0
  71. package/dist/cli/fatal-handler.d.ts +21 -0
  72. package/dist/cli/fatal-handler.d.ts.map +1 -0
  73. package/dist/cli/fatal-handler.js +109 -0
  74. package/dist/cli/fatal-handler.js.map +1 -0
  75. package/dist/cli/index.d.ts +27 -0
  76. package/dist/cli/index.d.ts.map +1 -0
  77. package/dist/cli/index.js +248 -0
  78. package/dist/cli/index.js.map +1 -0
  79. package/dist/cli/installer/claude-assets.d.ts +101 -0
  80. package/dist/cli/installer/claude-assets.d.ts.map +1 -0
  81. package/dist/cli/installer/claude-assets.js +321 -0
  82. package/dist/cli/installer/claude-assets.js.map +1 -0
  83. package/dist/cli/installer/index.d.ts +105 -0
  84. package/dist/cli/installer/index.d.ts.map +1 -0
  85. package/dist/cli/installer/index.js +548 -0
  86. package/dist/cli/installer/index.js.map +1 -0
  87. package/dist/cli/installer/targets/claude.d.ts +72 -0
  88. package/dist/cli/installer/targets/claude.d.ts.map +1 -0
  89. package/dist/cli/installer/targets/claude.js +580 -0
  90. package/dist/cli/installer/targets/claude.js.map +1 -0
  91. package/dist/cli/installer/targets/registry.d.ts +32 -0
  92. package/dist/cli/installer/targets/registry.d.ts.map +1 -0
  93. package/dist/cli/installer/targets/registry.js +72 -0
  94. package/dist/cli/installer/targets/registry.js.map +1 -0
  95. package/dist/cli/installer/targets/shared.d.ts +66 -0
  96. package/dist/cli/installer/targets/shared.d.ts.map +1 -0
  97. package/dist/cli/installer/targets/shared.js +228 -0
  98. package/dist/cli/installer/targets/shared.js.map +1 -0
  99. package/dist/cli/installer/targets/types.d.ts +97 -0
  100. package/dist/cli/installer/targets/types.d.ts.map +1 -0
  101. package/dist/cli/installer/targets/types.js +16 -0
  102. package/dist/cli/installer/targets/types.js.map +1 -0
  103. package/dist/cli/node-version-check.d.ts +32 -0
  104. package/dist/cli/node-version-check.d.ts.map +1 -0
  105. package/dist/cli/node-version-check.js +54 -0
  106. package/dist/cli/node-version-check.js.map +1 -0
  107. package/dist/cli/ui/glyphs.d.ts +43 -0
  108. package/dist/cli/ui/glyphs.d.ts.map +1 -0
  109. package/dist/cli/ui/glyphs.js +79 -0
  110. package/dist/cli/ui/glyphs.js.map +1 -0
  111. package/dist/cli/uninstall.d.ts +18 -0
  112. package/dist/cli/uninstall.d.ts.map +1 -0
  113. package/dist/cli/uninstall.js +19 -0
  114. package/dist/cli/uninstall.js.map +1 -0
  115. package/dist/cli/upgrade/index.d.ts +81 -0
  116. package/dist/cli/upgrade/index.d.ts.map +1 -0
  117. package/dist/cli/upgrade/index.js +257 -0
  118. package/dist/cli/upgrade/index.js.map +1 -0
  119. package/dist/core/db/index.d.ts +123 -0
  120. package/dist/core/db/index.d.ts.map +1 -0
  121. package/dist/core/db/index.js +260 -0
  122. package/dist/core/db/index.js.map +1 -0
  123. package/dist/core/db/migrate.d.ts +29 -0
  124. package/dist/core/db/migrate.d.ts.map +1 -0
  125. package/dist/core/db/migrate.js +100 -0
  126. package/dist/core/db/migrate.js.map +1 -0
  127. package/dist/core/db/sqlite-adapter.d.ts +51 -0
  128. package/dist/core/db/sqlite-adapter.d.ts.map +1 -0
  129. package/dist/core/db/sqlite-adapter.js +116 -0
  130. package/dist/core/db/sqlite-adapter.js.map +1 -0
  131. package/dist/core/dbquery/cli.d.ts +17 -0
  132. package/dist/core/dbquery/cli.d.ts.map +1 -0
  133. package/dist/core/dbquery/cli.js +246 -0
  134. package/dist/core/dbquery/cli.js.map +1 -0
  135. package/dist/core/dbquery/config.d.ts.map +1 -0
  136. package/dist/core/dbquery/config.js.map +1 -0
  137. package/dist/core/dbquery/constants.d.ts.map +1 -0
  138. package/dist/core/dbquery/constants.js.map +1 -0
  139. package/dist/core/dbquery/drivers/mysql.d.ts.map +1 -0
  140. package/dist/core/dbquery/drivers/mysql.js.map +1 -0
  141. package/dist/core/dbquery/drivers/postgres.d.ts.map +1 -0
  142. package/dist/core/dbquery/drivers/postgres.js.map +1 -0
  143. package/dist/core/dbquery/errors.d.ts +40 -0
  144. package/dist/core/dbquery/errors.d.ts.map +1 -0
  145. package/dist/core/dbquery/errors.js +85 -0
  146. package/dist/core/dbquery/errors.js.map +1 -0
  147. package/dist/core/dbquery/executor.d.ts.map +1 -0
  148. package/dist/core/dbquery/executor.js.map +1 -0
  149. package/dist/core/dbquery/format.d.ts.map +1 -0
  150. package/dist/core/dbquery/format.js.map +1 -0
  151. package/dist/core/dbquery/identifiers.d.ts.map +1 -0
  152. package/dist/core/dbquery/identifiers.js.map +1 -0
  153. package/dist/core/dbquery/index.d.ts.map +1 -0
  154. package/dist/core/dbquery/index.js.map +1 -0
  155. package/dist/core/dbquery/init.d.ts +33 -0
  156. package/dist/core/dbquery/init.d.ts.map +1 -0
  157. package/dist/core/dbquery/init.js +125 -0
  158. package/dist/core/dbquery/init.js.map +1 -0
  159. package/dist/core/dbquery/logging.d.ts.map +1 -0
  160. package/dist/core/dbquery/logging.js.map +1 -0
  161. package/dist/core/dbquery/queries.d.ts.map +1 -0
  162. package/dist/core/dbquery/queries.js.map +1 -0
  163. package/dist/core/dbquery/safety.d.ts.map +1 -0
  164. package/dist/core/dbquery/safety.js.map +1 -0
  165. package/dist/core/dbquery/types.d.ts +139 -0
  166. package/dist/core/dbquery/types.d.ts.map +1 -0
  167. package/dist/core/dbquery/types.js +10 -0
  168. package/dist/core/dbquery/types.js.map +1 -0
  169. package/dist/core/directory.d.ts +60 -0
  170. package/dist/core/directory.d.ts.map +1 -0
  171. package/dist/core/directory.js +243 -0
  172. package/dist/core/directory.js.map +1 -0
  173. package/dist/core/errors.d.ts +79 -0
  174. package/dist/core/errors.d.ts.map +1 -0
  175. package/dist/core/errors.js +133 -0
  176. package/dist/core/errors.js.map +1 -0
  177. package/dist/core/features/cli.d.ts +12 -0
  178. package/dist/core/features/cli.d.ts.map +1 -0
  179. package/dist/core/features/cli.js +154 -0
  180. package/dist/core/features/cli.js.map +1 -0
  181. package/dist/core/features/index.d.ts +15 -0
  182. package/dist/core/features/index.d.ts.map +1 -0
  183. package/dist/core/features/index.js +39 -0
  184. package/dist/core/features/index.js.map +1 -0
  185. package/dist/core/features/scanner.d.ts +26 -0
  186. package/dist/core/features/scanner.d.ts.map +1 -0
  187. package/dist/core/features/scanner.js +198 -0
  188. package/dist/core/features/scanner.js.map +1 -0
  189. package/dist/core/features/sync.d.ts +26 -0
  190. package/dist/core/features/sync.d.ts.map +1 -0
  191. package/dist/core/features/sync.js +108 -0
  192. package/dist/core/features/sync.js.map +1 -0
  193. package/dist/core/features/types.d.ts +35 -0
  194. package/dist/core/features/types.d.ts.map +1 -0
  195. package/dist/core/features/types.js +12 -0
  196. package/dist/core/features/types.js.map +1 -0
  197. package/dist/core/markdown/cli.d.ts +16 -0
  198. package/dist/core/markdown/cli.d.ts.map +1 -0
  199. package/dist/core/markdown/cli.js +575 -0
  200. package/dist/core/markdown/cli.js.map +1 -0
  201. package/dist/core/markdown/constants.d.ts +22 -0
  202. package/dist/core/markdown/constants.d.ts.map +1 -0
  203. package/dist/core/markdown/constants.js +61 -0
  204. package/dist/core/markdown/constants.js.map +1 -0
  205. package/dist/core/markdown/dedup.d.ts.map +1 -0
  206. package/dist/core/markdown/dedup.js.map +1 -0
  207. package/dist/core/markdown/errors.d.ts +22 -0
  208. package/dist/core/markdown/errors.d.ts.map +1 -0
  209. package/dist/core/markdown/errors.js +45 -0
  210. package/dist/core/markdown/errors.js.map +1 -0
  211. package/dist/core/markdown/extractor.d.ts.map +1 -0
  212. package/dist/core/markdown/extractor.js.map +1 -0
  213. package/dist/core/markdown/frontmatter-parser.d.ts +54 -0
  214. package/dist/core/markdown/frontmatter-parser.d.ts.map +1 -0
  215. package/dist/core/markdown/frontmatter-parser.js +229 -0
  216. package/dist/core/markdown/frontmatter-parser.js.map +1 -0
  217. package/dist/core/markdown/index.d.ts +21 -0
  218. package/dist/core/markdown/index.d.ts.map +1 -0
  219. package/dist/core/markdown/index.js +36 -0
  220. package/dist/core/markdown/index.js.map +1 -0
  221. package/dist/core/markdown/indexer.d.ts +34 -0
  222. package/dist/core/markdown/indexer.d.ts.map +1 -0
  223. package/dist/core/markdown/indexer.js +256 -0
  224. package/dist/core/markdown/indexer.js.map +1 -0
  225. package/dist/core/markdown/query-dedup.d.ts +23 -0
  226. package/dist/core/markdown/query-dedup.d.ts.map +1 -0
  227. package/dist/core/markdown/query-dedup.js +141 -0
  228. package/dist/core/markdown/query-dedup.js.map +1 -0
  229. package/dist/core/markdown/query-helpers.d.ts +66 -0
  230. package/dist/core/markdown/query-helpers.d.ts.map +1 -0
  231. package/dist/core/markdown/query-helpers.js +334 -0
  232. package/dist/core/markdown/query-helpers.js.map +1 -0
  233. package/dist/core/markdown/query.d.ts +125 -0
  234. package/dist/core/markdown/query.d.ts.map +1 -0
  235. package/dist/core/markdown/query.js +367 -0
  236. package/dist/core/markdown/query.js.map +1 -0
  237. package/dist/core/markdown/schema-bootstrap.d.ts +40 -0
  238. package/dist/core/markdown/schema-bootstrap.d.ts.map +1 -0
  239. package/dist/core/markdown/schema-bootstrap.js +85 -0
  240. package/dist/core/markdown/schema-bootstrap.js.map +1 -0
  241. package/dist/core/markdown/schema.sql +124 -0
  242. package/dist/core/markdown/store.d.ts.map +1 -0
  243. package/dist/core/markdown/store.js.map +1 -0
  244. package/dist/core/markdown/summary-extractor.d.ts.map +1 -0
  245. package/dist/core/markdown/summary-extractor.js.map +1 -0
  246. package/dist/core/markdown/types.d.ts +186 -0
  247. package/dist/core/markdown/types.d.ts.map +1 -0
  248. package/dist/core/markdown/types.js.map +1 -0
  249. package/dist/core/markdown/validator.d.ts +44 -0
  250. package/dist/core/markdown/validator.d.ts.map +1 -0
  251. package/dist/core/markdown/validator.js +95 -0
  252. package/dist/core/markdown/validator.js.map +1 -0
  253. package/dist/core/timeline/bash-semantics.d.ts.map +1 -0
  254. package/dist/core/timeline/bash-semantics.js.map +1 -0
  255. package/dist/core/timeline/cli.d.ts.map +1 -0
  256. package/dist/core/timeline/cli.js.map +1 -0
  257. package/dist/core/timeline/constants.d.ts +62 -0
  258. package/dist/core/timeline/constants.d.ts.map +1 -0
  259. package/dist/core/timeline/constants.js +73 -0
  260. package/dist/core/timeline/constants.js.map +1 -0
  261. package/dist/core/timeline/errors.d.ts.map +1 -0
  262. package/dist/core/timeline/errors.js.map +1 -0
  263. package/dist/core/timeline/hook-runner.d.ts.map +1 -0
  264. package/dist/core/timeline/hook-runner.js.map +1 -0
  265. package/dist/core/timeline/hooks.d.ts.map +1 -0
  266. package/dist/core/timeline/hooks.js.map +1 -0
  267. package/dist/core/timeline/index.d.ts.map +1 -0
  268. package/dist/core/timeline/index.js.map +1 -0
  269. package/dist/core/timeline/indexer.d.ts.map +1 -0
  270. package/dist/core/timeline/indexer.js.map +1 -0
  271. package/dist/core/timeline/installer.d.ts.map +1 -0
  272. package/dist/core/timeline/installer.js.map +1 -0
  273. package/dist/core/timeline/payload.d.ts.map +1 -0
  274. package/dist/core/timeline/payload.js.map +1 -0
  275. package/dist/core/timeline/post-tool-summary.d.ts.map +1 -0
  276. package/dist/core/timeline/post-tool-summary.js.map +1 -0
  277. package/dist/core/timeline/recorder.d.ts.map +1 -0
  278. package/dist/core/timeline/recorder.js.map +1 -0
  279. package/dist/core/timeline/schema-bootstrap.d.ts +42 -0
  280. package/dist/core/timeline/schema-bootstrap.d.ts.map +1 -0
  281. package/dist/core/timeline/schema-bootstrap.js +81 -0
  282. package/dist/core/timeline/schema-bootstrap.js.map +1 -0
  283. package/dist/core/timeline/store.d.ts.map +1 -0
  284. package/dist/core/timeline/store.js.map +1 -0
  285. package/dist/core/timeline/types.d.ts.map +1 -0
  286. package/dist/core/timeline/types.js.map +1 -0
  287. package/dist/core/types.d.ts +25 -0
  288. package/dist/core/types.d.ts.map +1 -0
  289. package/dist/core/types.js +12 -0
  290. package/dist/core/types.js.map +1 -0
  291. package/dist/web/bootstrap.d.ts +26 -0
  292. package/dist/web/bootstrap.d.ts.map +1 -0
  293. package/dist/web/bootstrap.js +98 -0
  294. package/dist/web/bootstrap.js.map +1 -0
  295. package/dist/web/constants.d.ts +27 -0
  296. package/dist/web/constants.d.ts.map +1 -0
  297. package/dist/web/constants.js +41 -0
  298. package/dist/web/constants.js.map +1 -0
  299. package/dist/web/errors.d.ts +46 -0
  300. package/dist/web/errors.d.ts.map +1 -0
  301. package/dist/web/errors.js +56 -0
  302. package/dist/web/errors.js.map +1 -0
  303. package/dist/web/index.d.ts +13 -0
  304. package/dist/web/index.d.ts.map +1 -0
  305. package/dist/web/index.js +20 -0
  306. package/dist/web/index.js.map +1 -0
  307. package/dist/web/layout.d.ts +31 -0
  308. package/dist/web/layout.d.ts.map +1 -0
  309. package/dist/web/layout.js +77 -0
  310. package/dist/web/layout.js.map +1 -0
  311. package/dist/web/markdown.d.ts +23 -0
  312. package/dist/web/markdown.d.ts.map +1 -0
  313. package/dist/web/markdown.js +38 -0
  314. package/dist/web/markdown.js.map +1 -0
  315. package/dist/web/overview-templates.d.ts +123 -0
  316. package/dist/web/overview-templates.d.ts.map +1 -0
  317. package/dist/web/overview-templates.js +213 -0
  318. package/dist/web/overview-templates.js.map +1 -0
  319. package/dist/web/pages-detail.d.ts +32 -0
  320. package/dist/web/pages-detail.d.ts.map +1 -0
  321. package/dist/web/pages-detail.js +275 -0
  322. package/dist/web/pages-detail.js.map +1 -0
  323. package/dist/web/pages-overview.d.ts +60 -0
  324. package/dist/web/pages-overview.d.ts.map +1 -0
  325. package/dist/web/pages-overview.js +304 -0
  326. package/dist/web/pages-overview.js.map +1 -0
  327. package/dist/web/public/app.css +1772 -0
  328. package/dist/web/public/app.js +41 -0
  329. package/dist/web/register.d.ts +12 -0
  330. package/dist/web/register.d.ts.map +1 -0
  331. package/dist/web/register.js +88 -0
  332. package/dist/web/register.js.map +1 -0
  333. package/dist/web/render-utils.d.ts +28 -0
  334. package/dist/web/render-utils.d.ts.map +1 -0
  335. package/dist/web/render-utils.js +54 -0
  336. package/dist/web/render-utils.js.map +1 -0
  337. package/dist/web/server.d.ts +42 -0
  338. package/dist/web/server.d.ts.map +1 -0
  339. package/dist/web/server.js +292 -0
  340. package/dist/web/server.js.map +1 -0
  341. package/package.json +14 -27
  342. package/scripts/copy-assets.cjs +89 -0
  343. package/dist/.claude-template/commands/my-commit.md +0 -9
  344. package/dist/.claude-template/skills/cgraphx/SKILL.md +0 -143
  345. package/dist/.claude-template/skills/cgraphx/agent-prompt.md +0 -56
  346. package/dist/.claude-template/skills/code-impact-api/SKILL.md +0 -143
  347. package/dist/.claude-template/skills/code-impact-api/agent-prompt.md +0 -51
  348. package/dist/.claude-template/skills/code-impact-docgen/SKILL.md +0 -376
  349. package/dist/.claude-template/skills/code-impact-docgen/template-design-html.md +0 -357
  350. package/dist/.claude-template/skills/code-impact-docgen/template-design-md.md +0 -164
  351. package/dist/.claude-template/skills/code-impact-init/SKILL.md +0 -803
  352. package/dist/.claude-template/skills/code-impact-markdown/SKILL.md +0 -353
  353. package/dist/.claude-template/skills/code-impact-markdown/template-guide.md +0 -68
  354. package/dist/.claude-template/skills/code-impact-markdown/template-memory.md +0 -82
  355. package/dist/.claude-template/skills/code-impact-markdown/template-runbook.md +0 -58
  356. package/dist/.claude-template/skills/precommit-review/SKILL.md +0 -50
  357. package/dist/api-test/ai-fields.d.ts +0 -37
  358. package/dist/api-test/ai-fields.d.ts.map +0 -1
  359. package/dist/api-test/ai-fields.js +0 -114
  360. package/dist/api-test/ai-fields.js.map +0 -1
  361. package/dist/api-test/assemble.d.ts +0 -76
  362. package/dist/api-test/assemble.d.ts.map +0 -1
  363. package/dist/api-test/assemble.js +0 -185
  364. package/dist/api-test/assemble.js.map +0 -1
  365. package/dist/api-test/bru-cli-invoker.d.ts +0 -72
  366. package/dist/api-test/bru-cli-invoker.d.ts.map +0 -1
  367. package/dist/api-test/bru-cli-invoker.js +0 -169
  368. package/dist/api-test/bru-cli-invoker.js.map +0 -1
  369. package/dist/api-test/bru-report-parser.d.ts +0 -24
  370. package/dist/api-test/bru-report-parser.d.ts.map +0 -1
  371. package/dist/api-test/bru-report-parser.js +0 -110
  372. package/dist/api-test/bru-report-parser.js.map +0 -1
  373. package/dist/api-test/bru-runner.d.ts +0 -101
  374. package/dist/api-test/bru-runner.d.ts.map +0 -1
  375. package/dist/api-test/bru-runner.js +0 -316
  376. package/dist/api-test/bru-runner.js.map +0 -1
  377. package/dist/api-test/bru-writer.d.ts +0 -52
  378. package/dist/api-test/bru-writer.d.ts.map +0 -1
  379. package/dist/api-test/bru-writer.js +0 -159
  380. package/dist/api-test/bru-writer.js.map +0 -1
  381. package/dist/api-test/call-chain-extractor.d.ts +0 -80
  382. package/dist/api-test/call-chain-extractor.d.ts.map +0 -1
  383. package/dist/api-test/call-chain-extractor.js +0 -179
  384. package/dist/api-test/call-chain-extractor.js.map +0 -1
  385. package/dist/api-test/cli.d.ts +0 -133
  386. package/dist/api-test/cli.d.ts.map +0 -1
  387. package/dist/api-test/cli.js +0 -1009
  388. package/dist/api-test/cli.js.map +0 -1
  389. package/dist/api-test/config.d.ts +0 -75
  390. package/dist/api-test/config.d.ts.map +0 -1
  391. package/dist/api-test/config.js +0 -406
  392. package/dist/api-test/config.js.map +0 -1
  393. package/dist/api-test/db-query-cli.d.ts +0 -51
  394. package/dist/api-test/db-query-cli.d.ts.map +0 -1
  395. package/dist/api-test/db-query-cli.js +0 -119
  396. package/dist/api-test/db-query-cli.js.map +0 -1
  397. package/dist/api-test/enhance-prepare.d.ts +0 -111
  398. package/dist/api-test/enhance-prepare.d.ts.map +0 -1
  399. package/dist/api-test/enhance-prepare.js +0 -425
  400. package/dist/api-test/enhance-prepare.js.map +0 -1
  401. package/dist/api-test/enhance-write.d.ts +0 -28
  402. package/dist/api-test/enhance-write.d.ts.map +0 -1
  403. package/dist/api-test/enhance-write.js +0 -145
  404. package/dist/api-test/enhance-write.js.map +0 -1
  405. package/dist/api-test/errors.d.ts +0 -48
  406. package/dist/api-test/errors.d.ts.map +0 -1
  407. package/dist/api-test/errors.js +0 -76
  408. package/dist/api-test/errors.js.map +0 -1
  409. package/dist/api-test/field-extractor.d.ts +0 -98
  410. package/dist/api-test/field-extractor.d.ts.map +0 -1
  411. package/dist/api-test/field-extractor.js +0 -327
  412. package/dist/api-test/field-extractor.js.map +0 -1
  413. package/dist/api-test/impl-finder.d.ts +0 -37
  414. package/dist/api-test/impl-finder.d.ts.map +0 -1
  415. package/dist/api-test/impl-finder.js +0 -54
  416. package/dist/api-test/impl-finder.js.map +0 -1
  417. package/dist/api-test/index.d.ts +0 -41
  418. package/dist/api-test/index.d.ts.map +0 -1
  419. package/dist/api-test/index.js +0 -124
  420. package/dist/api-test/index.js.map +0 -1
  421. package/dist/api-test/java-parser.d.ts +0 -89
  422. package/dist/api-test/java-parser.d.ts.map +0 -1
  423. package/dist/api-test/java-parser.js +0 -508
  424. package/dist/api-test/java-parser.js.map +0 -1
  425. package/dist/api-test/md-writer.d.ts +0 -49
  426. package/dist/api-test/md-writer.d.ts.map +0 -1
  427. package/dist/api-test/md-writer.js +0 -202
  428. package/dist/api-test/md-writer.js.map +0 -1
  429. package/dist/api-test/parser-httpservice.d.ts +0 -91
  430. package/dist/api-test/parser-httpservice.d.ts.map +0 -1
  431. package/dist/api-test/parser-httpservice.js +0 -271
  432. package/dist/api-test/parser-httpservice.js.map +0 -1
  433. package/dist/api-test/report.d.ts +0 -188
  434. package/dist/api-test/report.d.ts.map +0 -1
  435. package/dist/api-test/report.js +0 -522
  436. package/dist/api-test/report.js.map +0 -1
  437. package/dist/api-test/snapshot.d.ts +0 -26
  438. package/dist/api-test/snapshot.d.ts.map +0 -1
  439. package/dist/api-test/snapshot.js +0 -150
  440. package/dist/api-test/snapshot.js.map +0 -1
  441. package/dist/api-test/test-history.d.ts +0 -48
  442. package/dist/api-test/test-history.d.ts.map +0 -1
  443. package/dist/api-test/test-history.js +0 -122
  444. package/dist/api-test/test-history.js.map +0 -1
  445. package/dist/api-test/types.d.ts +0 -174
  446. package/dist/api-test/types.d.ts.map +0 -1
  447. package/dist/api-test/types.js +0 -13
  448. package/dist/api-test/types.js.map +0 -1
  449. package/dist/api-test/verify-prepare.d.ts +0 -30
  450. package/dist/api-test/verify-prepare.d.ts.map +0 -1
  451. package/dist/api-test/verify-prepare.js +0 -150
  452. package/dist/api-test/verify-prepare.js.map +0 -1
  453. package/dist/api-test/verify-write.d.ts +0 -31
  454. package/dist/api-test/verify-write.d.ts.map +0 -1
  455. package/dist/api-test/verify-write.js +0 -159
  456. package/dist/api-test/verify-write.js.map +0 -1
  457. package/dist/bin/codegraph.d.ts +0 -26
  458. package/dist/bin/codegraph.d.ts.map +0 -1
  459. package/dist/bin/codegraph.js +0 -1914
  460. package/dist/bin/codegraph.js.map +0 -1
  461. package/dist/bin/fatal-handler.d.ts +0 -20
  462. package/dist/bin/fatal-handler.d.ts.map +0 -1
  463. package/dist/bin/fatal-handler.js +0 -118
  464. package/dist/bin/fatal-handler.js.map +0 -1
  465. package/dist/bin/node-version-check.d.ts +0 -51
  466. package/dist/bin/node-version-check.d.ts.map +0 -1
  467. package/dist/bin/node-version-check.js +0 -114
  468. package/dist/bin/node-version-check.js.map +0 -1
  469. package/dist/bin/uninstall.d.ts +0 -14
  470. package/dist/bin/uninstall.d.ts.map +0 -1
  471. package/dist/bin/uninstall.js +0 -36
  472. package/dist/bin/uninstall.js.map +0 -1
  473. package/dist/context/formatter.d.ts +0 -30
  474. package/dist/context/formatter.d.ts.map +0 -1
  475. package/dist/context/formatter.js +0 -263
  476. package/dist/context/formatter.js.map +0 -1
  477. package/dist/context/index.d.ts +0 -119
  478. package/dist/context/index.d.ts.map +0 -1
  479. package/dist/context/index.js +0 -1296
  480. package/dist/context/index.js.map +0 -1
  481. package/dist/context/markers.d.ts +0 -19
  482. package/dist/context/markers.d.ts.map +0 -1
  483. package/dist/context/markers.js +0 -22
  484. package/dist/context/markers.js.map +0 -1
  485. package/dist/db/index.d.ts +0 -122
  486. package/dist/db/index.d.ts.map +0 -1
  487. package/dist/db/index.js +0 -296
  488. package/dist/db/index.js.map +0 -1
  489. package/dist/db/migrations.d.ts +0 -44
  490. package/dist/db/migrations.d.ts.map +0 -1
  491. package/dist/db/migrations.js +0 -140
  492. package/dist/db/migrations.js.map +0 -1
  493. package/dist/db/queries.d.ts +0 -401
  494. package/dist/db/queries.d.ts.map +0 -1
  495. package/dist/db/queries.js +0 -1591
  496. package/dist/db/queries.js.map +0 -1
  497. package/dist/db/schema.sql +0 -152
  498. package/dist/db/sqlite-adapter.d.ts +0 -53
  499. package/dist/db/sqlite-adapter.d.ts.map +0 -1
  500. package/dist/db/sqlite-adapter.js +0 -117
  501. package/dist/db/sqlite-adapter.js.map +0 -1
  502. package/dist/dbquery/cli.d.ts +0 -17
  503. package/dist/dbquery/cli.d.ts.map +0 -1
  504. package/dist/dbquery/cli.js +0 -246
  505. package/dist/dbquery/cli.js.map +0 -1
  506. package/dist/dbquery/config.d.ts.map +0 -1
  507. package/dist/dbquery/config.js.map +0 -1
  508. package/dist/dbquery/constants.d.ts.map +0 -1
  509. package/dist/dbquery/constants.js.map +0 -1
  510. package/dist/dbquery/drivers/mysql.d.ts.map +0 -1
  511. package/dist/dbquery/drivers/mysql.js.map +0 -1
  512. package/dist/dbquery/drivers/postgres.d.ts.map +0 -1
  513. package/dist/dbquery/drivers/postgres.js.map +0 -1
  514. package/dist/dbquery/dump-schema.d.ts +0 -46
  515. package/dist/dbquery/dump-schema.d.ts.map +0 -1
  516. package/dist/dbquery/dump-schema.js +0 -379
  517. package/dist/dbquery/dump-schema.js.map +0 -1
  518. package/dist/dbquery/errors.d.ts +0 -40
  519. package/dist/dbquery/errors.d.ts.map +0 -1
  520. package/dist/dbquery/errors.js +0 -85
  521. package/dist/dbquery/errors.js.map +0 -1
  522. package/dist/dbquery/executor.d.ts.map +0 -1
  523. package/dist/dbquery/executor.js.map +0 -1
  524. package/dist/dbquery/format.d.ts.map +0 -1
  525. package/dist/dbquery/format.js.map +0 -1
  526. package/dist/dbquery/identifiers.d.ts.map +0 -1
  527. package/dist/dbquery/identifiers.js.map +0 -1
  528. package/dist/dbquery/index.d.ts.map +0 -1
  529. package/dist/dbquery/index.js.map +0 -1
  530. package/dist/dbquery/init.d.ts +0 -33
  531. package/dist/dbquery/init.d.ts.map +0 -1
  532. package/dist/dbquery/init.js +0 -125
  533. package/dist/dbquery/init.js.map +0 -1
  534. package/dist/dbquery/logging.d.ts.map +0 -1
  535. package/dist/dbquery/logging.js.map +0 -1
  536. package/dist/dbquery/mcp-tools.d.ts +0 -29
  537. package/dist/dbquery/mcp-tools.d.ts.map +0 -1
  538. package/dist/dbquery/mcp-tools.js +0 -206
  539. package/dist/dbquery/mcp-tools.js.map +0 -1
  540. package/dist/dbquery/queries.d.ts.map +0 -1
  541. package/dist/dbquery/queries.js.map +0 -1
  542. package/dist/dbquery/safety.d.ts.map +0 -1
  543. package/dist/dbquery/safety.js.map +0 -1
  544. package/dist/dbquery/types.d.ts +0 -139
  545. package/dist/dbquery/types.d.ts.map +0 -1
  546. package/dist/dbquery/types.js +0 -10
  547. package/dist/dbquery/types.js.map +0 -1
  548. package/dist/directory.d.ts +0 -147
  549. package/dist/directory.d.ts.map +0 -1
  550. package/dist/directory.js +0 -523
  551. package/dist/directory.js.map +0 -1
  552. package/dist/errors.d.ts +0 -136
  553. package/dist/errors.d.ts.map +0 -1
  554. package/dist/errors.js +0 -219
  555. package/dist/errors.js.map +0 -1
  556. package/dist/extraction/astro-extractor.d.ts +0 -79
  557. package/dist/extraction/astro-extractor.d.ts.map +0 -1
  558. package/dist/extraction/astro-extractor.js +0 -320
  559. package/dist/extraction/astro-extractor.js.map +0 -1
  560. package/dist/extraction/dfm-extractor.d.ts +0 -31
  561. package/dist/extraction/dfm-extractor.d.ts.map +0 -1
  562. package/dist/extraction/dfm-extractor.js +0 -151
  563. package/dist/extraction/dfm-extractor.js.map +0 -1
  564. package/dist/extraction/extraction-version.d.ts +0 -25
  565. package/dist/extraction/extraction-version.d.ts.map +0 -1
  566. package/dist/extraction/extraction-version.js +0 -28
  567. package/dist/extraction/extraction-version.js.map +0 -1
  568. package/dist/extraction/function-ref.d.ts +0 -118
  569. package/dist/extraction/function-ref.d.ts.map +0 -1
  570. package/dist/extraction/function-ref.js +0 -727
  571. package/dist/extraction/function-ref.js.map +0 -1
  572. package/dist/extraction/generated-detection.d.ts +0 -30
  573. package/dist/extraction/generated-detection.d.ts.map +0 -1
  574. package/dist/extraction/generated-detection.js +0 -83
  575. package/dist/extraction/generated-detection.js.map +0 -1
  576. package/dist/extraction/grammars.d.ts +0 -114
  577. package/dist/extraction/grammars.d.ts.map +0 -1
  578. package/dist/extraction/grammars.js +0 -477
  579. package/dist/extraction/grammars.js.map +0 -1
  580. package/dist/extraction/index.d.ts +0 -175
  581. package/dist/extraction/index.d.ts.map +0 -1
  582. package/dist/extraction/index.js +0 -1887
  583. package/dist/extraction/index.js.map +0 -1
  584. package/dist/extraction/languages/c-cpp.d.ts +0 -12
  585. package/dist/extraction/languages/c-cpp.d.ts.map +0 -1
  586. package/dist/extraction/languages/c-cpp.js +0 -275
  587. package/dist/extraction/languages/c-cpp.js.map +0 -1
  588. package/dist/extraction/languages/csharp.d.ts +0 -25
  589. package/dist/extraction/languages/csharp.d.ts.map +0 -1
  590. package/dist/extraction/languages/csharp.js +0 -175
  591. package/dist/extraction/languages/csharp.js.map +0 -1
  592. package/dist/extraction/languages/dart.d.ts +0 -3
  593. package/dist/extraction/languages/dart.d.ts.map +0 -1
  594. package/dist/extraction/languages/dart.js +0 -374
  595. package/dist/extraction/languages/dart.js.map +0 -1
  596. package/dist/extraction/languages/go.d.ts +0 -3
  597. package/dist/extraction/languages/go.d.ts.map +0 -1
  598. package/dist/extraction/languages/go.js +0 -111
  599. package/dist/extraction/languages/go.js.map +0 -1
  600. package/dist/extraction/languages/index.d.ts +0 -10
  601. package/dist/extraction/languages/index.d.ts.map +0 -1
  602. package/dist/extraction/languages/index.js +0 -53
  603. package/dist/extraction/languages/index.js.map +0 -1
  604. package/dist/extraction/languages/java.d.ts +0 -3
  605. package/dist/extraction/languages/java.d.ts.map +0 -1
  606. package/dist/extraction/languages/java.js +0 -315
  607. package/dist/extraction/languages/java.js.map +0 -1
  608. package/dist/extraction/languages/javascript.d.ts +0 -3
  609. package/dist/extraction/languages/javascript.d.ts.map +0 -1
  610. package/dist/extraction/languages/javascript.js +0 -106
  611. package/dist/extraction/languages/javascript.js.map +0 -1
  612. package/dist/extraction/languages/kotlin.d.ts +0 -3
  613. package/dist/extraction/languages/kotlin.d.ts.map +0 -1
  614. package/dist/extraction/languages/kotlin.js +0 -379
  615. package/dist/extraction/languages/kotlin.js.map +0 -1
  616. package/dist/extraction/languages/lua.d.ts +0 -3
  617. package/dist/extraction/languages/lua.d.ts.map +0 -1
  618. package/dist/extraction/languages/lua.js +0 -150
  619. package/dist/extraction/languages/lua.js.map +0 -1
  620. package/dist/extraction/languages/luau.d.ts +0 -3
  621. package/dist/extraction/languages/luau.d.ts.map +0 -1
  622. package/dist/extraction/languages/luau.js +0 -37
  623. package/dist/extraction/languages/luau.js.map +0 -1
  624. package/dist/extraction/languages/objc.d.ts +0 -3
  625. package/dist/extraction/languages/objc.d.ts.map +0 -1
  626. package/dist/extraction/languages/objc.js +0 -175
  627. package/dist/extraction/languages/objc.js.map +0 -1
  628. package/dist/extraction/languages/pascal.d.ts +0 -3
  629. package/dist/extraction/languages/pascal.d.ts.map +0 -1
  630. package/dist/extraction/languages/pascal.js +0 -77
  631. package/dist/extraction/languages/pascal.js.map +0 -1
  632. package/dist/extraction/languages/php.d.ts +0 -3
  633. package/dist/extraction/languages/php.d.ts.map +0 -1
  634. package/dist/extraction/languages/php.js +0 -196
  635. package/dist/extraction/languages/php.js.map +0 -1
  636. package/dist/extraction/languages/python.d.ts +0 -3
  637. package/dist/extraction/languages/python.d.ts.map +0 -1
  638. package/dist/extraction/languages/python.js +0 -56
  639. package/dist/extraction/languages/python.js.map +0 -1
  640. package/dist/extraction/languages/r.d.ts +0 -3
  641. package/dist/extraction/languages/r.d.ts.map +0 -1
  642. package/dist/extraction/languages/r.js +0 -314
  643. package/dist/extraction/languages/r.js.map +0 -1
  644. package/dist/extraction/languages/ruby.d.ts +0 -3
  645. package/dist/extraction/languages/ruby.d.ts.map +0 -1
  646. package/dist/extraction/languages/ruby.js +0 -149
  647. package/dist/extraction/languages/ruby.js.map +0 -1
  648. package/dist/extraction/languages/rust.d.ts +0 -3
  649. package/dist/extraction/languages/rust.d.ts.map +0 -1
  650. package/dist/extraction/languages/rust.js +0 -142
  651. package/dist/extraction/languages/rust.js.map +0 -1
  652. package/dist/extraction/languages/scala.d.ts +0 -3
  653. package/dist/extraction/languages/scala.d.ts.map +0 -1
  654. package/dist/extraction/languages/scala.js +0 -209
  655. package/dist/extraction/languages/scala.js.map +0 -1
  656. package/dist/extraction/languages/swift.d.ts +0 -3
  657. package/dist/extraction/languages/swift.d.ts.map +0 -1
  658. package/dist/extraction/languages/swift.js +0 -152
  659. package/dist/extraction/languages/swift.js.map +0 -1
  660. package/dist/extraction/languages/typescript.d.ts +0 -16
  661. package/dist/extraction/languages/typescript.d.ts.map +0 -1
  662. package/dist/extraction/languages/typescript.js +0 -167
  663. package/dist/extraction/languages/typescript.js.map +0 -1
  664. package/dist/extraction/liquid-extractor.d.ts +0 -59
  665. package/dist/extraction/liquid-extractor.d.ts.map +0 -1
  666. package/dist/extraction/liquid-extractor.js +0 -357
  667. package/dist/extraction/liquid-extractor.js.map +0 -1
  668. package/dist/extraction/mybatis-extractor.d.ts +0 -48
  669. package/dist/extraction/mybatis-extractor.d.ts.map +0 -1
  670. package/dist/extraction/mybatis-extractor.js +0 -198
  671. package/dist/extraction/mybatis-extractor.js.map +0 -1
  672. package/dist/extraction/parse-worker.d.ts +0 -8
  673. package/dist/extraction/parse-worker.d.ts.map +0 -1
  674. package/dist/extraction/parse-worker.js +0 -97
  675. package/dist/extraction/parse-worker.js.map +0 -1
  676. package/dist/extraction/razor-extractor.d.ts +0 -42
  677. package/dist/extraction/razor-extractor.d.ts.map +0 -1
  678. package/dist/extraction/razor-extractor.js +0 -285
  679. package/dist/extraction/razor-extractor.js.map +0 -1
  680. package/dist/extraction/svelte-extractor.d.ts +0 -56
  681. package/dist/extraction/svelte-extractor.d.ts.map +0 -1
  682. package/dist/extraction/svelte-extractor.js +0 -275
  683. package/dist/extraction/svelte-extractor.js.map +0 -1
  684. package/dist/extraction/tree-sitter-helpers.d.ts +0 -28
  685. package/dist/extraction/tree-sitter-helpers.d.ts.map +0 -1
  686. package/dist/extraction/tree-sitter-helpers.js +0 -152
  687. package/dist/extraction/tree-sitter-helpers.js.map +0 -1
  688. package/dist/extraction/tree-sitter-types.d.ts +0 -239
  689. package/dist/extraction/tree-sitter-types.d.ts.map +0 -1
  690. package/dist/extraction/tree-sitter-types.js +0 -10
  691. package/dist/extraction/tree-sitter-types.js.map +0 -1
  692. package/dist/extraction/tree-sitter.d.ts +0 -647
  693. package/dist/extraction/tree-sitter.d.ts.map +0 -1
  694. package/dist/extraction/tree-sitter.js +0 -5592
  695. package/dist/extraction/tree-sitter.js.map +0 -1
  696. package/dist/extraction/vue-extractor.d.ts +0 -51
  697. package/dist/extraction/vue-extractor.d.ts.map +0 -1
  698. package/dist/extraction/vue-extractor.js +0 -254
  699. package/dist/extraction/vue-extractor.js.map +0 -1
  700. package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  701. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  702. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  703. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  704. package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  705. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  706. package/dist/extraction/wasm-runtime-flags.d.ts +0 -38
  707. package/dist/extraction/wasm-runtime-flags.d.ts.map +0 -1
  708. package/dist/extraction/wasm-runtime-flags.js +0 -106
  709. package/dist/extraction/wasm-runtime-flags.js.map +0 -1
  710. package/dist/graph/index.d.ts +0 -8
  711. package/dist/graph/index.d.ts.map +0 -1
  712. package/dist/graph/index.js +0 -13
  713. package/dist/graph/index.js.map +0 -1
  714. package/dist/graph/queries.d.ts +0 -106
  715. package/dist/graph/queries.d.ts.map +0 -1
  716. package/dist/graph/queries.js +0 -339
  717. package/dist/graph/queries.js.map +0 -1
  718. package/dist/graph/traversal.d.ts +0 -127
  719. package/dist/graph/traversal.d.ts.map +0 -1
  720. package/dist/graph/traversal.js +0 -540
  721. package/dist/graph/traversal.js.map +0 -1
  722. package/dist/index.d.ts +0 -563
  723. package/dist/index.d.ts.map +0 -1
  724. package/dist/index.js +0 -1041
  725. package/dist/index.js.map +0 -1
  726. package/dist/installer/claude-assets.d.ts +0 -45
  727. package/dist/installer/claude-assets.d.ts.map +0 -1
  728. package/dist/installer/claude-assets.js +0 -144
  729. package/dist/installer/claude-assets.js.map +0 -1
  730. package/dist/installer/config-writer.d.ts +0 -28
  731. package/dist/installer/config-writer.d.ts.map +0 -1
  732. package/dist/installer/config-writer.js +0 -91
  733. package/dist/installer/config-writer.js.map +0 -1
  734. package/dist/installer/index.d.ts +0 -101
  735. package/dist/installer/index.d.ts.map +0 -1
  736. package/dist/installer/index.js +0 -692
  737. package/dist/installer/index.js.map +0 -1
  738. package/dist/installer/instructions-template.d.ts +0 -41
  739. package/dist/installer/instructions-template.d.ts.map +0 -1
  740. package/dist/installer/instructions-template.js +0 -53
  741. package/dist/installer/instructions-template.js.map +0 -1
  742. package/dist/installer/targets/antigravity.d.ts +0 -57
  743. package/dist/installer/targets/antigravity.d.ts.map +0 -1
  744. package/dist/installer/targets/antigravity.js +0 -308
  745. package/dist/installer/targets/antigravity.js.map +0 -1
  746. package/dist/installer/targets/claude.d.ts +0 -81
  747. package/dist/installer/targets/claude.d.ts.map +0 -1
  748. package/dist/installer/targets/claude.js +0 -617
  749. package/dist/installer/targets/claude.js.map +0 -1
  750. package/dist/installer/targets/codex.d.ts +0 -18
  751. package/dist/installer/targets/codex.d.ts.map +0 -1
  752. package/dist/installer/targets/codex.js +0 -185
  753. package/dist/installer/targets/codex.js.map +0 -1
  754. package/dist/installer/targets/cursor.d.ts +0 -35
  755. package/dist/installer/targets/cursor.d.ts.map +0 -1
  756. package/dist/installer/targets/cursor.js +0 -254
  757. package/dist/installer/targets/cursor.js.map +0 -1
  758. package/dist/installer/targets/gemini.d.ts +0 -26
  759. package/dist/installer/targets/gemini.d.ts.map +0 -1
  760. package/dist/installer/targets/gemini.js +0 -165
  761. package/dist/installer/targets/gemini.js.map +0 -1
  762. package/dist/installer/targets/hermes.d.ts +0 -18
  763. package/dist/installer/targets/hermes.d.ts.map +0 -1
  764. package/dist/installer/targets/hermes.js +0 -359
  765. package/dist/installer/targets/hermes.js.map +0 -1
  766. package/dist/installer/targets/kiro.d.ts +0 -27
  767. package/dist/installer/targets/kiro.d.ts.map +0 -1
  768. package/dist/installer/targets/kiro.js +0 -178
  769. package/dist/installer/targets/kiro.js.map +0 -1
  770. package/dist/installer/targets/opencode.d.ts +0 -38
  771. package/dist/installer/targets/opencode.d.ts.map +0 -1
  772. package/dist/installer/targets/opencode.js +0 -288
  773. package/dist/installer/targets/opencode.js.map +0 -1
  774. package/dist/installer/targets/registry.d.ts +0 -35
  775. package/dist/installer/targets/registry.d.ts.map +0 -1
  776. package/dist/installer/targets/registry.js +0 -91
  777. package/dist/installer/targets/registry.js.map +0 -1
  778. package/dist/installer/targets/shared.d.ts +0 -101
  779. package/dist/installer/targets/shared.d.ts.map +0 -1
  780. package/dist/installer/targets/shared.js +0 -264
  781. package/dist/installer/targets/shared.js.map +0 -1
  782. package/dist/installer/targets/toml.d.ts +0 -52
  783. package/dist/installer/targets/toml.d.ts.map +0 -1
  784. package/dist/installer/targets/toml.js +0 -147
  785. package/dist/installer/targets/toml.js.map +0 -1
  786. package/dist/installer/targets/types.d.ts +0 -108
  787. package/dist/installer/targets/types.d.ts.map +0 -1
  788. package/dist/installer/targets/types.js +0 -16
  789. package/dist/installer/targets/types.js.map +0 -1
  790. package/dist/markdown/cli.d.ts +0 -16
  791. package/dist/markdown/cli.d.ts.map +0 -1
  792. package/dist/markdown/cli.js +0 -575
  793. package/dist/markdown/cli.js.map +0 -1
  794. package/dist/markdown/constants.d.ts +0 -22
  795. package/dist/markdown/constants.d.ts.map +0 -1
  796. package/dist/markdown/constants.js +0 -71
  797. package/dist/markdown/constants.js.map +0 -1
  798. package/dist/markdown/dedup.d.ts.map +0 -1
  799. package/dist/markdown/dedup.js.map +0 -1
  800. package/dist/markdown/errors.d.ts +0 -22
  801. package/dist/markdown/errors.d.ts.map +0 -1
  802. package/dist/markdown/errors.js +0 -45
  803. package/dist/markdown/errors.js.map +0 -1
  804. package/dist/markdown/extractor.d.ts.map +0 -1
  805. package/dist/markdown/extractor.js.map +0 -1
  806. package/dist/markdown/frontmatter-parser.d.ts +0 -47
  807. package/dist/markdown/frontmatter-parser.d.ts.map +0 -1
  808. package/dist/markdown/frontmatter-parser.js +0 -199
  809. package/dist/markdown/frontmatter-parser.js.map +0 -1
  810. package/dist/markdown/indexer.d.ts +0 -34
  811. package/dist/markdown/indexer.d.ts.map +0 -1
  812. package/dist/markdown/indexer.js +0 -256
  813. package/dist/markdown/indexer.js.map +0 -1
  814. package/dist/markdown/mcp-tools.d.ts +0 -33
  815. package/dist/markdown/mcp-tools.d.ts.map +0 -1
  816. package/dist/markdown/mcp-tools.js +0 -300
  817. package/dist/markdown/mcp-tools.js.map +0 -1
  818. package/dist/markdown/query.d.ts +0 -108
  819. package/dist/markdown/query.d.ts.map +0 -1
  820. package/dist/markdown/query.js +0 -570
  821. package/dist/markdown/query.js.map +0 -1
  822. package/dist/markdown/schema-bootstrap.d.ts +0 -40
  823. package/dist/markdown/schema-bootstrap.d.ts.map +0 -1
  824. package/dist/markdown/schema-bootstrap.js +0 -85
  825. package/dist/markdown/schema-bootstrap.js.map +0 -1
  826. package/dist/markdown/schema.sql +0 -124
  827. package/dist/markdown/store.d.ts.map +0 -1
  828. package/dist/markdown/store.js.map +0 -1
  829. package/dist/markdown/summary-extractor.d.ts.map +0 -1
  830. package/dist/markdown/summary-extractor.js.map +0 -1
  831. package/dist/markdown/types.d.ts +0 -159
  832. package/dist/markdown/types.d.ts.map +0 -1
  833. package/dist/markdown/types.js.map +0 -1
  834. package/dist/markdown/validator.d.ts +0 -44
  835. package/dist/markdown/validator.d.ts.map +0 -1
  836. package/dist/markdown/validator.js +0 -95
  837. package/dist/markdown/validator.js.map +0 -1
  838. package/dist/mcp/daemon-manager.d.ts +0 -42
  839. package/dist/mcp/daemon-manager.d.ts.map +0 -1
  840. package/dist/mcp/daemon-manager.js +0 -129
  841. package/dist/mcp/daemon-manager.js.map +0 -1
  842. package/dist/mcp/daemon-paths.d.ts +0 -46
  843. package/dist/mcp/daemon-paths.d.ts.map +0 -1
  844. package/dist/mcp/daemon-paths.js +0 -125
  845. package/dist/mcp/daemon-paths.js.map +0 -1
  846. package/dist/mcp/daemon-registry.d.ts +0 -47
  847. package/dist/mcp/daemon-registry.d.ts.map +0 -1
  848. package/dist/mcp/daemon-registry.js +0 -229
  849. package/dist/mcp/daemon-registry.js.map +0 -1
  850. package/dist/mcp/daemon.d.ts +0 -220
  851. package/dist/mcp/daemon.d.ts.map +0 -1
  852. package/dist/mcp/daemon.js +0 -637
  853. package/dist/mcp/daemon.js.map +0 -1
  854. package/dist/mcp/dynamic-boundaries.d.ts +0 -41
  855. package/dist/mcp/dynamic-boundaries.d.ts.map +0 -1
  856. package/dist/mcp/dynamic-boundaries.js +0 -359
  857. package/dist/mcp/dynamic-boundaries.js.map +0 -1
  858. package/dist/mcp/engine.d.ts +0 -105
  859. package/dist/mcp/engine.d.ts.map +0 -1
  860. package/dist/mcp/engine.js +0 -278
  861. package/dist/mcp/engine.js.map +0 -1
  862. package/dist/mcp/index.d.ts +0 -113
  863. package/dist/mcp/index.d.ts.map +0 -1
  864. package/dist/mcp/index.js +0 -499
  865. package/dist/mcp/index.js.map +0 -1
  866. package/dist/mcp/liveness-watchdog.d.ts +0 -18
  867. package/dist/mcp/liveness-watchdog.d.ts.map +0 -1
  868. package/dist/mcp/liveness-watchdog.js +0 -207
  869. package/dist/mcp/liveness-watchdog.js.map +0 -1
  870. package/dist/mcp/ppid-watchdog.d.ts +0 -44
  871. package/dist/mcp/ppid-watchdog.d.ts.map +0 -1
  872. package/dist/mcp/ppid-watchdog.js +0 -27
  873. package/dist/mcp/ppid-watchdog.js.map +0 -1
  874. package/dist/mcp/proxy.d.ts +0 -87
  875. package/dist/mcp/proxy.d.ts.map +0 -1
  876. package/dist/mcp/proxy.js +0 -641
  877. package/dist/mcp/proxy.js.map +0 -1
  878. package/dist/mcp/server-instructions.d.ts +0 -34
  879. package/dist/mcp/server-instructions.d.ts.map +0 -1
  880. package/dist/mcp/server-instructions.js +0 -106
  881. package/dist/mcp/server-instructions.js.map +0 -1
  882. package/dist/mcp/session.d.ts +0 -79
  883. package/dist/mcp/session.d.ts.map +0 -1
  884. package/dist/mcp/session.js +0 -330
  885. package/dist/mcp/session.js.map +0 -1
  886. package/dist/mcp/stdin-teardown.d.ts +0 -27
  887. package/dist/mcp/stdin-teardown.d.ts.map +0 -1
  888. package/dist/mcp/stdin-teardown.js +0 -49
  889. package/dist/mcp/stdin-teardown.js.map +0 -1
  890. package/dist/mcp/tools.d.ts +0 -547
  891. package/dist/mcp/tools.d.ts.map +0 -1
  892. package/dist/mcp/tools.js +0 -4122
  893. package/dist/mcp/tools.js.map +0 -1
  894. package/dist/mcp/transport.d.ts +0 -188
  895. package/dist/mcp/transport.d.ts.map +0 -1
  896. package/dist/mcp/transport.js +0 -359
  897. package/dist/mcp/transport.js.map +0 -1
  898. package/dist/mcp/version.d.ts +0 -19
  899. package/dist/mcp/version.d.ts.map +0 -1
  900. package/dist/mcp/version.js +0 -71
  901. package/dist/mcp/version.js.map +0 -1
  902. package/dist/project-config.d.ts +0 -36
  903. package/dist/project-config.d.ts.map +0 -1
  904. package/dist/project-config.js +0 -235
  905. package/dist/project-config.js.map +0 -1
  906. package/dist/reasoning/config.d.ts +0 -45
  907. package/dist/reasoning/config.d.ts.map +0 -1
  908. package/dist/reasoning/config.js +0 -171
  909. package/dist/reasoning/config.js.map +0 -1
  910. package/dist/reasoning/credentials.d.ts +0 -5
  911. package/dist/reasoning/credentials.d.ts.map +0 -1
  912. package/dist/reasoning/credentials.js +0 -83
  913. package/dist/reasoning/credentials.js.map +0 -1
  914. package/dist/reasoning/login.d.ts +0 -21
  915. package/dist/reasoning/login.d.ts.map +0 -1
  916. package/dist/reasoning/login.js +0 -85
  917. package/dist/reasoning/login.js.map +0 -1
  918. package/dist/reasoning/reasoner.d.ts +0 -43
  919. package/dist/reasoning/reasoner.d.ts.map +0 -1
  920. package/dist/reasoning/reasoner.js +0 -308
  921. package/dist/reasoning/reasoner.js.map +0 -1
  922. package/dist/resolution/c-fnptr-synthesizer.d.ts +0 -33
  923. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +0 -1
  924. package/dist/resolution/c-fnptr-synthesizer.js +0 -352
  925. package/dist/resolution/c-fnptr-synthesizer.js.map +0 -1
  926. package/dist/resolution/callback-synthesizer.d.ts +0 -15
  927. package/dist/resolution/callback-synthesizer.d.ts.map +0 -1
  928. package/dist/resolution/callback-synthesizer.js +0 -2926
  929. package/dist/resolution/callback-synthesizer.js.map +0 -1
  930. package/dist/resolution/frameworks/astro.d.ts +0 -9
  931. package/dist/resolution/frameworks/astro.d.ts.map +0 -1
  932. package/dist/resolution/frameworks/astro.js +0 -169
  933. package/dist/resolution/frameworks/astro.js.map +0 -1
  934. package/dist/resolution/frameworks/cargo-workspace.d.ts +0 -18
  935. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +0 -1
  936. package/dist/resolution/frameworks/cargo-workspace.js +0 -225
  937. package/dist/resolution/frameworks/cargo-workspace.js.map +0 -1
  938. package/dist/resolution/frameworks/csharp.d.ts +0 -8
  939. package/dist/resolution/frameworks/csharp.d.ts.map +0 -1
  940. package/dist/resolution/frameworks/csharp.js +0 -241
  941. package/dist/resolution/frameworks/csharp.js.map +0 -1
  942. package/dist/resolution/frameworks/drupal.d.ts +0 -51
  943. package/dist/resolution/frameworks/drupal.d.ts.map +0 -1
  944. package/dist/resolution/frameworks/drupal.js +0 -367
  945. package/dist/resolution/frameworks/drupal.js.map +0 -1
  946. package/dist/resolution/frameworks/expo-modules.d.ts +0 -3
  947. package/dist/resolution/frameworks/expo-modules.d.ts.map +0 -1
  948. package/dist/resolution/frameworks/expo-modules.js +0 -148
  949. package/dist/resolution/frameworks/expo-modules.js.map +0 -1
  950. package/dist/resolution/frameworks/express.d.ts +0 -8
  951. package/dist/resolution/frameworks/express.d.ts.map +0 -1
  952. package/dist/resolution/frameworks/express.js +0 -308
  953. package/dist/resolution/frameworks/express.js.map +0 -1
  954. package/dist/resolution/frameworks/fabric.d.ts +0 -3
  955. package/dist/resolution/frameworks/fabric.d.ts.map +0 -1
  956. package/dist/resolution/frameworks/fabric.js +0 -354
  957. package/dist/resolution/frameworks/fabric.js.map +0 -1
  958. package/dist/resolution/frameworks/go.d.ts +0 -8
  959. package/dist/resolution/frameworks/go.d.ts.map +0 -1
  960. package/dist/resolution/frameworks/go.js +0 -161
  961. package/dist/resolution/frameworks/go.js.map +0 -1
  962. package/dist/resolution/frameworks/goframe.d.ts +0 -41
  963. package/dist/resolution/frameworks/goframe.d.ts.map +0 -1
  964. package/dist/resolution/frameworks/goframe.js +0 -112
  965. package/dist/resolution/frameworks/goframe.js.map +0 -1
  966. package/dist/resolution/frameworks/index.d.ts +0 -50
  967. package/dist/resolution/frameworks/index.d.ts.map +0 -1
  968. package/dist/resolution/frameworks/index.js +0 -169
  969. package/dist/resolution/frameworks/index.js.map +0 -1
  970. package/dist/resolution/frameworks/java.d.ts +0 -8
  971. package/dist/resolution/frameworks/java.d.ts.map +0 -1
  972. package/dist/resolution/frameworks/java.js +0 -509
  973. package/dist/resolution/frameworks/java.js.map +0 -1
  974. package/dist/resolution/frameworks/laravel.d.ts +0 -13
  975. package/dist/resolution/frameworks/laravel.d.ts.map +0 -1
  976. package/dist/resolution/frameworks/laravel.js +0 -257
  977. package/dist/resolution/frameworks/laravel.js.map +0 -1
  978. package/dist/resolution/frameworks/nestjs.d.ts +0 -26
  979. package/dist/resolution/frameworks/nestjs.d.ts.map +0 -1
  980. package/dist/resolution/frameworks/nestjs.js +0 -698
  981. package/dist/resolution/frameworks/nestjs.js.map +0 -1
  982. package/dist/resolution/frameworks/play.d.ts +0 -19
  983. package/dist/resolution/frameworks/play.d.ts.map +0 -1
  984. package/dist/resolution/frameworks/play.js +0 -111
  985. package/dist/resolution/frameworks/play.js.map +0 -1
  986. package/dist/resolution/frameworks/python.d.ts +0 -10
  987. package/dist/resolution/frameworks/python.d.ts.map +0 -1
  988. package/dist/resolution/frameworks/python.js +0 -400
  989. package/dist/resolution/frameworks/python.js.map +0 -1
  990. package/dist/resolution/frameworks/react-native.d.ts +0 -3
  991. package/dist/resolution/frameworks/react-native.d.ts.map +0 -1
  992. package/dist/resolution/frameworks/react-native.js +0 -410
  993. package/dist/resolution/frameworks/react-native.js.map +0 -1
  994. package/dist/resolution/frameworks/react.d.ts +0 -8
  995. package/dist/resolution/frameworks/react.d.ts.map +0 -1
  996. package/dist/resolution/frameworks/react.js +0 -334
  997. package/dist/resolution/frameworks/react.js.map +0 -1
  998. package/dist/resolution/frameworks/ruby.d.ts +0 -8
  999. package/dist/resolution/frameworks/ruby.d.ts.map +0 -1
  1000. package/dist/resolution/frameworks/ruby.js +0 -302
  1001. package/dist/resolution/frameworks/ruby.js.map +0 -1
  1002. package/dist/resolution/frameworks/rust.d.ts +0 -8
  1003. package/dist/resolution/frameworks/rust.d.ts.map +0 -1
  1004. package/dist/resolution/frameworks/rust.js +0 -304
  1005. package/dist/resolution/frameworks/rust.js.map +0 -1
  1006. package/dist/resolution/frameworks/svelte.d.ts +0 -9
  1007. package/dist/resolution/frameworks/svelte.d.ts.map +0 -1
  1008. package/dist/resolution/frameworks/svelte.js +0 -253
  1009. package/dist/resolution/frameworks/svelte.js.map +0 -1
  1010. package/dist/resolution/frameworks/swift-objc.d.ts +0 -37
  1011. package/dist/resolution/frameworks/swift-objc.d.ts.map +0 -1
  1012. package/dist/resolution/frameworks/swift-objc.js +0 -252
  1013. package/dist/resolution/frameworks/swift-objc.js.map +0 -1
  1014. package/dist/resolution/frameworks/swift.d.ts +0 -10
  1015. package/dist/resolution/frameworks/swift.d.ts.map +0 -1
  1016. package/dist/resolution/frameworks/swift.js +0 -400
  1017. package/dist/resolution/frameworks/swift.js.map +0 -1
  1018. package/dist/resolution/frameworks/vue.d.ts +0 -9
  1019. package/dist/resolution/frameworks/vue.d.ts.map +0 -1
  1020. package/dist/resolution/frameworks/vue.js +0 -303
  1021. package/dist/resolution/frameworks/vue.js.map +0 -1
  1022. package/dist/resolution/go-module.d.ts +0 -26
  1023. package/dist/resolution/go-module.d.ts.map +0 -1
  1024. package/dist/resolution/go-module.js +0 -78
  1025. package/dist/resolution/go-module.js.map +0 -1
  1026. package/dist/resolution/goframe-synthesizer.d.ts +0 -28
  1027. package/dist/resolution/goframe-synthesizer.d.ts.map +0 -1
  1028. package/dist/resolution/goframe-synthesizer.js +0 -158
  1029. package/dist/resolution/goframe-synthesizer.js.map +0 -1
  1030. package/dist/resolution/import-resolver.d.ts +0 -78
  1031. package/dist/resolution/import-resolver.d.ts.map +0 -1
  1032. package/dist/resolution/import-resolver.js +0 -1849
  1033. package/dist/resolution/import-resolver.js.map +0 -1
  1034. package/dist/resolution/index.d.ts +0 -196
  1035. package/dist/resolution/index.d.ts.map +0 -1
  1036. package/dist/resolution/index.js +0 -1341
  1037. package/dist/resolution/index.js.map +0 -1
  1038. package/dist/resolution/lru-cache.d.ts +0 -24
  1039. package/dist/resolution/lru-cache.d.ts.map +0 -1
  1040. package/dist/resolution/lru-cache.js +0 -62
  1041. package/dist/resolution/lru-cache.js.map +0 -1
  1042. package/dist/resolution/name-matcher.d.ts +0 -93
  1043. package/dist/resolution/name-matcher.d.ts.map +0 -1
  1044. package/dist/resolution/name-matcher.js +0 -1212
  1045. package/dist/resolution/name-matcher.js.map +0 -1
  1046. package/dist/resolution/path-aliases.d.ts +0 -68
  1047. package/dist/resolution/path-aliases.d.ts.map +0 -1
  1048. package/dist/resolution/path-aliases.js +0 -238
  1049. package/dist/resolution/path-aliases.js.map +0 -1
  1050. package/dist/resolution/scope-index.d.ts +0 -86
  1051. package/dist/resolution/scope-index.d.ts.map +0 -1
  1052. package/dist/resolution/scope-index.js +0 -143
  1053. package/dist/resolution/scope-index.js.map +0 -1
  1054. package/dist/resolution/stdlib-blocklist.d.ts +0 -53
  1055. package/dist/resolution/stdlib-blocklist.d.ts.map +0 -1
  1056. package/dist/resolution/stdlib-blocklist.js +0 -143
  1057. package/dist/resolution/stdlib-blocklist.js.map +0 -1
  1058. package/dist/resolution/strip-comments.d.ts +0 -27
  1059. package/dist/resolution/strip-comments.d.ts.map +0 -1
  1060. package/dist/resolution/strip-comments.js +0 -443
  1061. package/dist/resolution/strip-comments.js.map +0 -1
  1062. package/dist/resolution/swift-objc-bridge.d.ts +0 -134
  1063. package/dist/resolution/swift-objc-bridge.d.ts.map +0 -1
  1064. package/dist/resolution/swift-objc-bridge.js +0 -256
  1065. package/dist/resolution/swift-objc-bridge.js.map +0 -1
  1066. package/dist/resolution/types.d.ts +0 -233
  1067. package/dist/resolution/types.d.ts.map +0 -1
  1068. package/dist/resolution/types.js +0 -8
  1069. package/dist/resolution/types.js.map +0 -1
  1070. package/dist/resolution/workspace-packages.d.ts +0 -48
  1071. package/dist/resolution/workspace-packages.d.ts.map +0 -1
  1072. package/dist/resolution/workspace-packages.js +0 -208
  1073. package/dist/resolution/workspace-packages.js.map +0 -1
  1074. package/dist/search/ast-helpers.d.ts +0 -42
  1075. package/dist/search/ast-helpers.d.ts.map +0 -1
  1076. package/dist/search/ast-helpers.js +0 -106
  1077. package/dist/search/ast-helpers.js.map +0 -1
  1078. package/dist/search/call-sites.d.ts +0 -398
  1079. package/dist/search/call-sites.d.ts.map +0 -1
  1080. package/dist/search/call-sites.js +0 -1433
  1081. package/dist/search/call-sites.js.map +0 -1
  1082. package/dist/search/context.d.ts +0 -134
  1083. package/dist/search/context.d.ts.map +0 -1
  1084. package/dist/search/context.js +0 -575
  1085. package/dist/search/context.js.map +0 -1
  1086. package/dist/search/impact.d.ts +0 -139
  1087. package/dist/search/impact.d.ts.map +0 -1
  1088. package/dist/search/impact.js +0 -646
  1089. package/dist/search/impact.js.map +0 -1
  1090. package/dist/search/query-parser.d.ts +0 -57
  1091. package/dist/search/query-parser.d.ts.map +0 -1
  1092. package/dist/search/query-parser.js +0 -177
  1093. package/dist/search/query-parser.js.map +0 -1
  1094. package/dist/search/query-utils.d.ts +0 -87
  1095. package/dist/search/query-utils.d.ts.map +0 -1
  1096. package/dist/search/query-utils.js +0 -449
  1097. package/dist/search/query-utils.js.map +0 -1
  1098. package/dist/search/related.d.ts +0 -178
  1099. package/dist/search/related.d.ts.map +0 -1
  1100. package/dist/search/related.js +0 -667
  1101. package/dist/search/related.js.map +0 -1
  1102. package/dist/search/slice.d.ts +0 -148
  1103. package/dist/search/slice.d.ts.map +0 -1
  1104. package/dist/search/slice.js +0 -460
  1105. package/dist/search/slice.js.map +0 -1
  1106. package/dist/search/snr-constants.d.ts +0 -41
  1107. package/dist/search/snr-constants.d.ts.map +0 -1
  1108. package/dist/search/snr-constants.js +0 -44
  1109. package/dist/search/snr-constants.js.map +0 -1
  1110. package/dist/search/types.d.ts +0 -28
  1111. package/dist/search/types.d.ts.map +0 -1
  1112. package/dist/search/types.js +0 -12
  1113. package/dist/search/types.js.map +0 -1
  1114. package/dist/sync/git-hooks.d.ts +0 -45
  1115. package/dist/sync/git-hooks.d.ts.map +0 -1
  1116. package/dist/sync/git-hooks.js +0 -225
  1117. package/dist/sync/git-hooks.js.map +0 -1
  1118. package/dist/sync/index.d.ts +0 -19
  1119. package/dist/sync/index.d.ts.map +0 -1
  1120. package/dist/sync/index.js +0 -35
  1121. package/dist/sync/index.js.map +0 -1
  1122. package/dist/sync/watch-policy.d.ts +0 -48
  1123. package/dist/sync/watch-policy.d.ts.map +0 -1
  1124. package/dist/sync/watch-policy.js +0 -124
  1125. package/dist/sync/watch-policy.js.map +0 -1
  1126. package/dist/sync/watcher.d.ts +0 -350
  1127. package/dist/sync/watcher.d.ts.map +0 -1
  1128. package/dist/sync/watcher.js +0 -811
  1129. package/dist/sync/watcher.js.map +0 -1
  1130. package/dist/sync/worktree.d.ts +0 -54
  1131. package/dist/sync/worktree.d.ts.map +0 -1
  1132. package/dist/sync/worktree.js +0 -137
  1133. package/dist/sync/worktree.js.map +0 -1
  1134. package/dist/telemetry/index.d.ts +0 -143
  1135. package/dist/telemetry/index.d.ts.map +0 -1
  1136. package/dist/telemetry/index.js +0 -541
  1137. package/dist/telemetry/index.js.map +0 -1
  1138. package/dist/timeline/bash-semantics.d.ts.map +0 -1
  1139. package/dist/timeline/bash-semantics.js.map +0 -1
  1140. package/dist/timeline/cli.d.ts.map +0 -1
  1141. package/dist/timeline/cli.js.map +0 -1
  1142. package/dist/timeline/constants.d.ts +0 -62
  1143. package/dist/timeline/constants.d.ts.map +0 -1
  1144. package/dist/timeline/constants.js +0 -73
  1145. package/dist/timeline/constants.js.map +0 -1
  1146. package/dist/timeline/errors.d.ts.map +0 -1
  1147. package/dist/timeline/errors.js.map +0 -1
  1148. package/dist/timeline/hook-runner.d.ts.map +0 -1
  1149. package/dist/timeline/hook-runner.js.map +0 -1
  1150. package/dist/timeline/hooks.d.ts.map +0 -1
  1151. package/dist/timeline/hooks.js.map +0 -1
  1152. package/dist/timeline/index.d.ts.map +0 -1
  1153. package/dist/timeline/index.js.map +0 -1
  1154. package/dist/timeline/indexer.d.ts.map +0 -1
  1155. package/dist/timeline/indexer.js.map +0 -1
  1156. package/dist/timeline/installer.d.ts.map +0 -1
  1157. package/dist/timeline/installer.js.map +0 -1
  1158. package/dist/timeline/payload.d.ts.map +0 -1
  1159. package/dist/timeline/payload.js.map +0 -1
  1160. package/dist/timeline/post-tool-summary.d.ts.map +0 -1
  1161. package/dist/timeline/post-tool-summary.js.map +0 -1
  1162. package/dist/timeline/recorder.d.ts.map +0 -1
  1163. package/dist/timeline/recorder.js.map +0 -1
  1164. package/dist/timeline/schema-bootstrap.d.ts +0 -42
  1165. package/dist/timeline/schema-bootstrap.d.ts.map +0 -1
  1166. package/dist/timeline/schema-bootstrap.js +0 -81
  1167. package/dist/timeline/schema-bootstrap.js.map +0 -1
  1168. package/dist/timeline/store.d.ts.map +0 -1
  1169. package/dist/timeline/store.js.map +0 -1
  1170. package/dist/timeline/types.d.ts.map +0 -1
  1171. package/dist/timeline/types.js.map +0 -1
  1172. package/dist/types.d.ts +0 -392
  1173. package/dist/types.d.ts.map +0 -1
  1174. package/dist/types.js +0 -81
  1175. package/dist/types.js.map +0 -1
  1176. package/dist/ui/glyphs.d.ts +0 -42
  1177. package/dist/ui/glyphs.d.ts.map +0 -1
  1178. package/dist/ui/glyphs.js +0 -78
  1179. package/dist/ui/glyphs.js.map +0 -1
  1180. package/dist/ui/shimmer-progress.d.ts +0 -11
  1181. package/dist/ui/shimmer-progress.d.ts.map +0 -1
  1182. package/dist/ui/shimmer-progress.js +0 -90
  1183. package/dist/ui/shimmer-progress.js.map +0 -1
  1184. package/dist/ui/shimmer-worker.d.ts +0 -2
  1185. package/dist/ui/shimmer-worker.d.ts.map +0 -1
  1186. package/dist/ui/shimmer-worker.js +0 -118
  1187. package/dist/ui/shimmer-worker.js.map +0 -1
  1188. package/dist/ui/types.d.ts +0 -17
  1189. package/dist/ui/types.d.ts.map +0 -1
  1190. package/dist/ui/types.js +0 -3
  1191. package/dist/ui/types.js.map +0 -1
  1192. package/dist/upgrade/index.d.ts +0 -132
  1193. package/dist/upgrade/index.d.ts.map +0 -1
  1194. package/dist/upgrade/index.js +0 -498
  1195. package/dist/upgrade/index.js.map +0 -1
  1196. package/dist/utils.d.ts +0 -224
  1197. package/dist/utils.d.ts.map +0 -1
  1198. package/dist/utils.js +0 -583
  1199. package/dist/utils.js.map +0 -1
  1200. package/scripts/add-lang/bench.sh +0 -60
  1201. package/scripts/add-lang/check-grammar.mjs +0 -75
  1202. package/scripts/add-lang/dump-ast.mjs +0 -103
  1203. package/scripts/add-lang/verify-extraction.mjs +0 -70
  1204. package/scripts/agent-eval/ab-adoption.sh +0 -91
  1205. package/scripts/agent-eval/ab-hook.sh +0 -86
  1206. package/scripts/agent-eval/ab-impl.sh +0 -78
  1207. package/scripts/agent-eval/ab-new-vs-baseline.sh +0 -102
  1208. package/scripts/agent-eval/ab-sufficiency.sh +0 -78
  1209. package/scripts/agent-eval/arms-F.sh +0 -21
  1210. package/scripts/agent-eval/arms-matrix.sh +0 -37
  1211. package/scripts/agent-eval/audit.sh +0 -68
  1212. package/scripts/agent-eval/bench-readme.sh +0 -28
  1213. package/scripts/agent-eval/bench-why-repo.sh +0 -22
  1214. package/scripts/agent-eval/block-read-hook.sh +0 -19
  1215. package/scripts/agent-eval/hook-settings.json +0 -15
  1216. package/scripts/agent-eval/itrun.sh +0 -120
  1217. package/scripts/agent-eval/offload-eval-3arm.sh +0 -72
  1218. package/scripts/agent-eval/offload-eval-cost.mjs +0 -133
  1219. package/scripts/agent-eval/offload-eval-effort.mjs +0 -108
  1220. package/scripts/agent-eval/offload-eval-frontload-matrix.sh +0 -25
  1221. package/scripts/agent-eval/offload-eval-frontload.sh +0 -47
  1222. package/scripts/agent-eval/offload-eval-ground-truth.json +0 -18
  1223. package/scripts/agent-eval/offload-eval-hook.mjs +0 -84
  1224. package/scripts/agent-eval/offload-eval-judge.mjs +0 -103
  1225. package/scripts/agent-eval/offload-eval-matrix.sh +0 -20
  1226. package/scripts/agent-eval/offload-eval-metrics.mjs +0 -94
  1227. package/scripts/agent-eval/offload-eval-refs1.sh +0 -50
  1228. package/scripts/agent-eval/offload-eval-setup.sh +0 -24
  1229. package/scripts/agent-eval/offload-eval-styles.sh +0 -72
  1230. package/scripts/agent-eval/offload-eval-summarize.mjs +0 -68
  1231. package/scripts/agent-eval/offload-eval.md +0 -76
  1232. package/scripts/agent-eval/parse-arms.mjs +0 -116
  1233. package/scripts/agent-eval/parse-bench-readme.mjs +0 -84
  1234. package/scripts/agent-eval/parse-run.mjs +0 -45
  1235. package/scripts/agent-eval/parse-session.mjs +0 -93
  1236. package/scripts/agent-eval/probe-context.mjs +0 -21
  1237. package/scripts/agent-eval/probe-explore.mjs +0 -40
  1238. package/scripts/agent-eval/probe-node.mjs +0 -20
  1239. package/scripts/agent-eval/probe-sweep.mjs +0 -119
  1240. package/scripts/agent-eval/probe-trace.mjs +0 -20
  1241. package/scripts/agent-eval/redirect-read-hook.sh +0 -38
  1242. package/scripts/agent-eval/run-agent.sh +0 -34
  1243. package/scripts/agent-eval/run-all.sh +0 -69
  1244. package/scripts/agent-eval/run-arms.sh +0 -56
  1245. package/scripts/agent-eval/seq-matrix.mjs +0 -137
  1246. package/scripts/agent-eval/subagent-token-cost.py +0 -188
  1247. package/scripts/build-bundle.sh +0 -118
  1248. package/scripts/extract-release-notes.mjs +0 -130
  1249. package/scripts/local-install.sh +0 -41
  1250. package/scripts/npm-sdk.js +0 -75
  1251. package/scripts/npm-shim.js +0 -246
  1252. package/scripts/pack-npm.sh +0 -118
  1253. package/scripts/prepare-release.mjs +0 -270
  1254. /package/dist/{dbquery → core/dbquery}/config.d.ts +0 -0
  1255. /package/dist/{dbquery → core/dbquery}/config.js +0 -0
  1256. /package/dist/{dbquery → core/dbquery}/constants.d.ts +0 -0
  1257. /package/dist/{dbquery → core/dbquery}/constants.js +0 -0
  1258. /package/dist/{dbquery → core/dbquery}/drivers/mysql.d.ts +0 -0
  1259. /package/dist/{dbquery → core/dbquery}/drivers/mysql.js +0 -0
  1260. /package/dist/{dbquery → core/dbquery}/drivers/postgres.d.ts +0 -0
  1261. /package/dist/{dbquery → core/dbquery}/drivers/postgres.js +0 -0
  1262. /package/dist/{dbquery → core/dbquery}/executor.d.ts +0 -0
  1263. /package/dist/{dbquery → core/dbquery}/executor.js +0 -0
  1264. /package/dist/{dbquery → core/dbquery}/format.d.ts +0 -0
  1265. /package/dist/{dbquery → core/dbquery}/format.js +0 -0
  1266. /package/dist/{dbquery → core/dbquery}/identifiers.d.ts +0 -0
  1267. /package/dist/{dbquery → core/dbquery}/identifiers.js +0 -0
  1268. /package/dist/{dbquery → core/dbquery}/index.d.ts +0 -0
  1269. /package/dist/{dbquery → core/dbquery}/index.js +0 -0
  1270. /package/dist/{dbquery → core/dbquery}/logging.d.ts +0 -0
  1271. /package/dist/{dbquery → core/dbquery}/logging.js +0 -0
  1272. /package/dist/{dbquery → core/dbquery}/queries.d.ts +0 -0
  1273. /package/dist/{dbquery → core/dbquery}/queries.js +0 -0
  1274. /package/dist/{dbquery → core/dbquery}/safety.d.ts +0 -0
  1275. /package/dist/{dbquery → core/dbquery}/safety.js +0 -0
  1276. /package/dist/{markdown → core/markdown}/dedup.d.ts +0 -0
  1277. /package/dist/{markdown → core/markdown}/dedup.js +0 -0
  1278. /package/dist/{markdown → core/markdown}/extractor.d.ts +0 -0
  1279. /package/dist/{markdown → core/markdown}/extractor.js +0 -0
  1280. /package/dist/{markdown → core/markdown}/store.d.ts +0 -0
  1281. /package/dist/{markdown → core/markdown}/store.js +0 -0
  1282. /package/dist/{markdown → core/markdown}/summary-extractor.d.ts +0 -0
  1283. /package/dist/{markdown → core/markdown}/summary-extractor.js +0 -0
  1284. /package/dist/{markdown → core/markdown}/types.js +0 -0
  1285. /package/dist/{timeline → core/timeline}/bash-semantics.d.ts +0 -0
  1286. /package/dist/{timeline → core/timeline}/bash-semantics.js +0 -0
  1287. /package/dist/{timeline → core/timeline}/cli.d.ts +0 -0
  1288. /package/dist/{timeline → core/timeline}/cli.js +0 -0
  1289. /package/dist/{timeline → core/timeline}/errors.d.ts +0 -0
  1290. /package/dist/{timeline → core/timeline}/errors.js +0 -0
  1291. /package/dist/{timeline → core/timeline}/hook-runner.d.ts +0 -0
  1292. /package/dist/{timeline → core/timeline}/hook-runner.js +0 -0
  1293. /package/dist/{timeline → core/timeline}/hooks.d.ts +0 -0
  1294. /package/dist/{timeline → core/timeline}/hooks.js +0 -0
  1295. /package/dist/{timeline → core/timeline}/index.d.ts +0 -0
  1296. /package/dist/{timeline → core/timeline}/index.js +0 -0
  1297. /package/dist/{timeline → core/timeline}/indexer.d.ts +0 -0
  1298. /package/dist/{timeline → core/timeline}/indexer.js +0 -0
  1299. /package/dist/{timeline → core/timeline}/installer.d.ts +0 -0
  1300. /package/dist/{timeline → core/timeline}/installer.js +0 -0
  1301. /package/dist/{timeline → core/timeline}/payload.d.ts +0 -0
  1302. /package/dist/{timeline → core/timeline}/payload.js +0 -0
  1303. /package/dist/{timeline → core/timeline}/post-tool-summary.d.ts +0 -0
  1304. /package/dist/{timeline → core/timeline}/post-tool-summary.js +0 -0
  1305. /package/dist/{timeline → core/timeline}/recorder.d.ts +0 -0
  1306. /package/dist/{timeline → core/timeline}/recorder.js +0 -0
  1307. /package/dist/{timeline → core/timeline}/schema.sql +0 -0
  1308. /package/dist/{timeline → core/timeline}/store.d.ts +0 -0
  1309. /package/dist/{timeline → core/timeline}/store.js +0 -0
  1310. /package/dist/{timeline → core/timeline}/types.d.ts +0 -0
  1311. /package/dist/{timeline → core/timeline}/types.js +0 -0
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ /**
3
+ * 知识库文档详情页(spec §3.4 / §5.2 / §8 / §11 #6/#7)。
4
+ *
5
+ * 只读 SSR:GET /doc/<ident> → 元数据网格 + 摘要块 + 源文件 markdown 全文
6
+ * 服务端渲染 + 双向引用导航 + 文档 ID/路径展示;未找到与源文件缺失各自有
7
+ * 明确状态(spec §8)。
8
+ *
9
+ * 数据消费硬约定:只经 markdown 子系统门面(MarkdownQuery / stripFrontmatter /
10
+ * DocumentNotFoundError),不伸手进内部模块。每请求以基座进程级连接构造
11
+ * `new MarkdownQuery(db)`(无状态、廉价,只读 SELECT)。
12
+ *
13
+ * 转义边界(XSS 契约,spec §3.2):所有元数据字段 / 路径 / 引用标题插值前过
14
+ * escapeHtml;**仅** markdown-it 输出(renderMarkdownBody)作为可信 HTML 直出。
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || (function () {
33
+ var ownKeys = function(o) {
34
+ ownKeys = Object.getOwnPropertyNames || function (o) {
35
+ var ar = [];
36
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
+ return ar;
38
+ };
39
+ return ownKeys(o);
40
+ };
41
+ return function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ })();
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.renderDetailPage = renderDetailPage;
51
+ const fs = __importStar(require("node:fs"));
52
+ const path = __importStar(require("node:path"));
53
+ const markdown_1 = require("../core/markdown");
54
+ const constants_1 = require("./constants");
55
+ const layout_1 = require("./layout");
56
+ const render_utils_1 = require("./render-utils");
57
+ const markdown_2 = require("./markdown");
58
+ // ----- 局部渲染 ------------------------------------------------------------
59
+ /** 文档未找到内容区(spec §8:未找到状态 + 返回列表入口)。 */
60
+ function renderNotFoundContent(ident) {
61
+ return `
62
+ <section class="placeholder">
63
+ <h1>文档未找到</h1>
64
+ <p>没有与 <code>${(0, render_utils_1.escapeHtml)(ident)}</code> 匹配的文档。</p>
65
+ <p><a href="/">返回知识库首页</a></p>
66
+ </section>`;
67
+ }
68
+ /** 列表型元数据值;空数组 → 「—」占位(spec §3.4,不崩)。 */
69
+ function renderListValue(items, opts = {}) {
70
+ if (items.length === 0)
71
+ return '<span class="meta__empty">—</span>';
72
+ return items
73
+ .map((i) => opts.mono === true
74
+ ? `<code class="meta__code">${(0, render_utils_1.escapeHtml)(i)}</code>`
75
+ : `<span class="meta__item">${(0, render_utils_1.escapeHtml)(i)}</span>`)
76
+ .join(' ');
77
+ }
78
+ /** 时间型元数据值;null → 「—」占位。纯日期不挂 data-local-time(避免 UTC 解析偏移)。 */
79
+ function renderTimeValue(t) {
80
+ if (t === null)
81
+ return '<span class="meta__empty">—</span>';
82
+ const localAttr = /^\d{4}-\d{2}-\d{2}$/.test(t.datetime) ? '' : ' data-local-time';
83
+ return `<time datetime="${(0, render_utils_1.escapeHtml)(t.datetime)}"${localAttr}>${(0, render_utils_1.escapeHtml)(t.text)}</time>`;
84
+ }
85
+ /** 头部:类型徽标 + 大标题 + alias/领域/状态辅助行(spec §3.4)。 */
86
+ function renderDetailHeader(doc) {
87
+ const tone = constants_1.TYPE_TONES[doc.documentType];
88
+ const alias = doc.aliases.length > 0
89
+ ? `<span class="detail__alias">${(0, render_utils_1.escapeHtml)(doc.aliases.join(' / '))}</span>`
90
+ : '';
91
+ const domains = doc.domains.length > 0
92
+ ? `<span class="detail__domains">${(0, render_utils_1.escapeHtml)(doc.domains.join(' / '))}</span>`
93
+ : '';
94
+ return `
95
+ <header class="detail__head">
96
+ <div class="tbadge tbadge--${tone}"><b>${(0, render_utils_1.escapeHtml)(constants_1.TYPE_LABELS[doc.documentType])}</b><i>${(0, render_utils_1.escapeHtml)(doc.documentType.toUpperCase())}</i></div>
97
+ <h1 class="detail__title">${(0, render_utils_1.escapeHtml)(doc.title)}</h1>
98
+ <div class="detail__aux">
99
+ ${alias}
100
+ ${domains}
101
+ <span class="status status--${doc.status}"><b></b>${(0, render_utils_1.escapeHtml)(constants_1.STATUS_LABELS[doc.status])} ${(0, render_utils_1.escapeHtml)(doc.status)}</span>
102
+ </div>
103
+ </header>`;
104
+ }
105
+ /** 文档标识区:文档 ID(等宽)+ 项目相对路径(spec §3.4,便于回 CLI/编辑器定位)。 */
106
+ function renderIdentity(doc) {
107
+ return `
108
+ <section class="detail__identity">
109
+ <div class="detail__seclab">文档标识 <i>IDENT</i></div>
110
+ <dl class="detail__ids">
111
+ <dt>文档 ID</dt><dd><code class="detail__docid">${(0, render_utils_1.escapeHtml)(doc.id)}</code></dd>
112
+ <dt>项目相对路径</dt><dd><code class="detail__path">${(0, render_utils_1.escapeHtml)(doc.path)}</code></dd>
113
+ </dl>
114
+ </section>`;
115
+ }
116
+ /** 元数据网格八组(spec §3.4:负责人/领域/创建/更新/概念/标签/相关代码/索引时间)。 */
117
+ function renderMetaGrid(doc) {
118
+ const cell = (zh, en, body) => `<div class="meta__cell"><div class="meta__lab">${(0, render_utils_1.escapeHtml)(zh)} <i>${(0, render_utils_1.escapeHtml)(en)}</i></div><div class="meta__val">${body}</div></div>`;
119
+ return `
120
+ <div class="meta-grid">
121
+ ${cell('负责人', 'OWNERS', renderListValue(doc.owners))}
122
+ ${cell('领域', 'DOMAINS', renderListValue(doc.domains))}
123
+ ${cell('创建时间', 'CREATED', renderTimeValue((0, render_utils_1.docTime)(doc.createdAt)))}
124
+ ${cell('更新时间', 'UPDATED', renderTimeValue((0, render_utils_1.docTime)(doc.updatedAt)))}
125
+ ${cell('概念', 'CONCEPTS', renderListValue(doc.concepts))}
126
+ ${cell('标签', 'TAGS', renderListValue(doc.tags))}
127
+ ${cell('相关代码', 'RELATED CODE', renderListValue(doc.relatedCode, { mono: true }))}
128
+ ${cell('索引时间', 'INDEXED', renderTimeValue((0, render_utils_1.epochTime)(doc.indexedAt)))}
129
+ </div>`;
130
+ }
131
+ /** 摘要块:索引中的 summary_text(spec §3.4;空摘要不渲染)。 */
132
+ function renderSummary(doc) {
133
+ if (doc.summary.trim() === '')
134
+ return '';
135
+ return `
136
+ <section class="detail__summary">
137
+ <div class="detail__seclab">摘要 <i>SUMMARY</i></div>
138
+ <p>${(0, render_utils_1.escapeHtml)(doc.summary)}</p>
139
+ </section>`;
140
+ }
141
+ /** 源文件缺失/不可读提示(spec §8:转义路径,HTTP 200 下的全文区状态)。 */
142
+ function renderMissingSource(docPath) {
143
+ return `<div class="detail__missing">源文件缺失或不可读: <code>${(0, render_utils_1.escapeHtml)(docPath)}</code></div>`;
144
+ }
145
+ /**
146
+ * 读取源文件并渲染全文(spec §5.2 路径边界 / §8 源文件缺失)。
147
+ *
148
+ * 数据源 = path.join(projectRoot, doc.path),doc.path **只取自 getDocumentDetail
149
+ * 返回值**,路由侧不接受任何文件路径参数。纵深防御:path.resolve 后校验仍在
150
+ * projectRoot 内,否则按源文件缺失处理(绝不越界读取)。readFileSync 抛错
151
+ * (被删/无权限)→ 缺失提示,详情页其余部分照常渲染,HTTP 200。
152
+ */
153
+ function renderSourceBody(projectRoot, doc) {
154
+ const root = path.resolve(projectRoot);
155
+ const absPath = path.resolve(root, doc.path);
156
+ // 纵深防御:解析后必须仍在项目根内,否则视为源文件缺失。
157
+ const withinRoot = absPath === root || absPath.startsWith(root + path.sep);
158
+ if (!withinRoot) {
159
+ return renderMissingSource(doc.path);
160
+ }
161
+ let raw;
162
+ try {
163
+ raw = fs.readFileSync(absPath, 'utf-8');
164
+ }
165
+ catch {
166
+ return renderMissingSource(doc.path);
167
+ }
168
+ return `<div class="prose">${(0, markdown_2.renderMarkdownBody)((0, markdown_1.stripFrontmatter)(raw))}</div>`;
169
+ }
170
+ /** 引用分区条目:标题 + 项目相对路径(小字),整条为 /doc/<target.id> 链接。 */
171
+ function renderRefList(targets, emptyText) {
172
+ if (targets.length === 0)
173
+ return `<p class="refs__empty">${(0, render_utils_1.escapeHtml)(emptyText)}</p>`;
174
+ const items = targets
175
+ .map((t) => `
176
+ <li class="refs__item">
177
+ <a class="refs__link" href="/doc/${encodeURIComponent(t.id)}">
178
+ <span class="refs__title">${(0, render_utils_1.escapeHtml)(t.title)}</span>
179
+ <span class="refs__path">${(0, render_utils_1.escapeHtml)(t.path)}</span>
180
+ </a>
181
+ </li>`)
182
+ .join('');
183
+ return `<ul class="refs__list">${items}
184
+ </ul>`;
185
+ }
186
+ /**
187
+ * 双向引用栏(spec §3.4):出向(本文档 → 其他)与入向(其他 → 本文档)分区。
188
+ * 引用条目不含类型徽标(避免对每条引用回查类型造成 N+1,已记录的设计偏差)。
189
+ */
190
+ function renderReferences(refs) {
191
+ return `
192
+ <aside class="refs">
193
+ <div class="refs__group">
194
+ <div class="refs__lab">引用 →(${refs.outgoing.length})</div>
195
+ ${renderRefList(refs.outgoing, '无出向引用')}
196
+ </div>
197
+ <div class="refs__group">
198
+ <div class="refs__lab">← 被引用(${refs.incoming.length})</div>
199
+ ${renderRefList(refs.incoming, '无入向引用')}
200
+ </div>
201
+ </aside>`;
202
+ }
203
+ /**
204
+ * 渲染文档详情页完整 HTML(壳 + 主区)。
205
+ *
206
+ * @param db 基座进程级单连接(每请求 new MarkdownQuery(db),只读 SELECT)。
207
+ * @param projectRoot 项目根(源文件读取基准;源文件路径仅从索引 DB 解析)。
208
+ * @param ident decodeURIComponent 后的 64 位十六进制 ID 或项目相对路径。
209
+ */
210
+ function renderDetailPage(db, projectRoot, ident, ctx) {
211
+ const query = new markdown_1.MarkdownQuery(db);
212
+ const doc = query.getDocumentDetail(ident);
213
+ if (doc === null) {
214
+ return {
215
+ status: 404,
216
+ html: (0, layout_1.renderShellPage)({
217
+ title: '文档未找到',
218
+ active: 'knowledge',
219
+ contentHtml: renderNotFoundContent(ident),
220
+ version: ctx.version,
221
+ localHost: ctx.localHost,
222
+ }),
223
+ };
224
+ }
225
+ // 引用视图与详情同一 ident 取(门面硬约定);doc 已存在 ⇒ 正常路径不抛错,
226
+ // 仍以 try/catch 兜底 DocumentNotFoundError(防御性),其余错误原样上抛由
227
+ // 基座 500 兜底。
228
+ let refs;
229
+ try {
230
+ refs = query.getReferences(ident);
231
+ }
232
+ catch (err) {
233
+ if (err instanceof markdown_1.DocumentNotFoundError) {
234
+ return {
235
+ status: 404,
236
+ html: (0, layout_1.renderShellPage)({
237
+ title: '文档未找到',
238
+ active: 'knowledge',
239
+ contentHtml: renderNotFoundContent(ident),
240
+ version: ctx.version,
241
+ localHost: ctx.localHost,
242
+ }),
243
+ };
244
+ }
245
+ throw err;
246
+ }
247
+ const contentHtml = `
248
+ <div class="detail">
249
+ <a class="detail__back" href="/">‹ 返回知识库</a>
250
+ <div class="detail__layout">
251
+ <div class="detail__main">
252
+ ${renderDetailHeader(doc)}
253
+ ${renderIdentity(doc)}
254
+ ${renderMetaGrid(doc)}
255
+ ${renderSummary(doc)}
256
+ <section class="detail__fulltext">
257
+ <div class="detail__seclab">正文 <i>FULL TEXT</i></div>
258
+ ${renderSourceBody(projectRoot, doc)}
259
+ </section>
260
+ </div>
261
+ ${renderReferences(refs)}
262
+ </div>
263
+ </div>`;
264
+ return {
265
+ status: 200,
266
+ html: (0, layout_1.renderShellPage)({
267
+ title: doc.title,
268
+ active: 'knowledge',
269
+ contentHtml,
270
+ version: ctx.version,
271
+ localHost: ctx.localHost,
272
+ }),
273
+ };
274
+ }
275
+ //# sourceMappingURL=pages-detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages-detail.js","sourceRoot":"","sources":["../../src/web/pages-detail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * 知识库总览页(spec §3.3):URL 查询参数模型 + 视图模型组装 + 页面入口。
3
+ *
4
+ * 形态(plan index 第 4 节拍板):服务端渲染 HTML,筛选/排序/分页全部走
5
+ * URL 查询参数(可收藏、刷新不丢状态)。URL ↔ 查询模型的解析/序列化与
6
+ * pill/分页的多值参数增删均为纯函数(单测覆盖,见 knowledge-overview
7
+ * 测试「overview url model」组)——多值参数保留与移除是最易出 bug 处。
8
+ *
9
+ * 只经门面消费 markdown 子系统(门面硬约定):每请求以基座进程级连接
10
+ * 构造 `new MarkdownQuery(db)`(无状态、廉价),不持有额外 DB 连接。
11
+ */
12
+ import type { DocumentType, DocumentStatus } from '../core/markdown';
13
+ import type { SqliteDatabase } from '../core/db';
14
+ /** 总览页 URL 状态模型(经规范化:非法枚举已剔除、page 已守卫)。 */
15
+ export interface OverviewQuery {
16
+ /** 关键词(单值);空串/空白 → undefined。 */
17
+ q?: string;
18
+ types: DocumentType[];
19
+ statuses: DocumentStatus[];
20
+ domains: string[];
21
+ concepts: string[];
22
+ /** updated(默认,映射 findPaged 'recency')| title。 */
23
+ sort: 'updated' | 'title';
24
+ /** ≥1 整数;非法输入按 1。 */
25
+ page: number;
26
+ }
27
+ /** pill / 增删辅助可作用的维度。 */
28
+ export type PillDimension = 'q' | 'types' | 'statuses' | 'domains' | 'concepts';
29
+ /**
30
+ * URLSearchParams → 规范化查询模型(plan index §7.5 逐字):
31
+ * type/status 非法枚举值忽略(从激活集剔除,不报错);page 非法按 1;
32
+ * q 空白按未传;各多值维度去重。
33
+ */
34
+ export declare function parseOverviewQuery(params: URLSearchParams): OverviewQuery;
35
+ /**
36
+ * 查询模型 → 规范化 URL。参数顺序固定(q → type* → status* → domain* →
37
+ * concept* → sort → page);缺省值不出现(sort=updated / page=1 不入 URL)。
38
+ * URLSearchParams 负责百分号编码(中文概念/领域名自动编码)。
39
+ */
40
+ export declare function buildOverviewUrl(query: OverviewQuery): string;
41
+ /** 移除一个激活值(其余参数保留;移除使结果集变宽,page 保持)。 */
42
+ export declare function withoutValue(query: OverviewQuery, dim: PillDimension, value: string): OverviewQuery;
43
+ /**
44
+ * 追加一个概念筛选(保留其余筛选参数;已存在 → 原样返回)。
45
+ * 追加使结果集变窄,page 重置为 1(避免落在超界页)。
46
+ */
47
+ export declare function withConceptAdded(query: OverviewQuery, name: string): OverviewQuery;
48
+ export declare function withSort(query: OverviewQuery, sort: 'updated' | 'title'): OverviewQuery;
49
+ export declare function withPage(query: OverviewQuery, page: number): OverviewQuery;
50
+ /**
51
+ * 渲染知识库总览页完整 HTML(壳 + 主区)。
52
+ *
53
+ * @param db 基座进程级单连接(每请求 new MarkdownQuery(db),只读 SELECT)。
54
+ * @param params 请求 URL 的查询参数。
55
+ */
56
+ export declare function renderOverviewPage(db: SqliteDatabase, params: URLSearchParams, ctx: {
57
+ version: string;
58
+ localHost: string;
59
+ }): string;
60
+ //# sourceMappingURL=pages-overview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages-overview.d.ts","sourceRoot":"","sources":["../../src/web/pages-overview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAc,MAAM,kBAAkB,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAuBjD,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iDAAiD;IACjD,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yBAAyB;AACzB,MAAM,MAAM,aAAa,GAAG,GAAG,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAOhF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa,CAuBzE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAW7D;AAED,wCAAwC;AACxC,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAanG;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAGlF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,aAAa,CAEvF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAE1E;AAoMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1C,MAAM,CAUR"}
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ /**
3
+ * 知识库总览页(spec §3.3):URL 查询参数模型 + 视图模型组装 + 页面入口。
4
+ *
5
+ * 形态(plan index 第 4 节拍板):服务端渲染 HTML,筛选/排序/分页全部走
6
+ * URL 查询参数(可收藏、刷新不丢状态)。URL ↔ 查询模型的解析/序列化与
7
+ * pill/分页的多值参数增删均为纯函数(单测覆盖,见 knowledge-overview
8
+ * 测试「overview url model」组)——多值参数保留与移除是最易出 bug 处。
9
+ *
10
+ * 只经门面消费 markdown 子系统(门面硬约定):每请求以基座进程级连接
11
+ * 构造 `new MarkdownQuery(db)`(无状态、廉价),不持有额外 DB 连接。
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.parseOverviewQuery = parseOverviewQuery;
15
+ exports.buildOverviewUrl = buildOverviewUrl;
16
+ exports.withoutValue = withoutValue;
17
+ exports.withConceptAdded = withConceptAdded;
18
+ exports.withSort = withSort;
19
+ exports.withPage = withPage;
20
+ exports.renderOverviewPage = renderOverviewPage;
21
+ const markdown_1 = require("../core/markdown");
22
+ const constants_1 = require("./constants");
23
+ const layout_1 = require("./layout");
24
+ const overview_templates_1 = require("./overview-templates");
25
+ const render_utils_1 = require("./render-utils");
26
+ /** 保序去重。 */
27
+ function dedupe(list) {
28
+ return [...new Set(list)];
29
+ }
30
+ /**
31
+ * URLSearchParams → 规范化查询模型(plan index §7.5 逐字):
32
+ * type/status 非法枚举值忽略(从激活集剔除,不报错);page 非法按 1;
33
+ * q 空白按未传;各多值维度去重。
34
+ */
35
+ function parseOverviewQuery(params) {
36
+ const qRaw = params.get('q');
37
+ const q = qRaw !== null && qRaw.trim() !== '' ? qRaw.trim() : undefined;
38
+ const types = dedupe(params.getAll('type')).filter((t) => markdown_1.DOCUMENT_TYPES.includes(t));
39
+ const statuses = dedupe(params.getAll('status')).filter((s) => markdown_1.DOCUMENT_STATUSES.includes(s));
40
+ const domains = dedupe(params.getAll('domain').map((d) => d.trim())).filter((d) => d !== '');
41
+ const concepts = dedupe(params.getAll('concept').map((c) => c.trim())).filter((c) => c !== '');
42
+ const sort = params.get('sort') === 'title' ? 'title' : 'updated';
43
+ const pageRaw = params.get('page');
44
+ let page = 1;
45
+ if (pageRaw !== null && /^\d+$/.test(pageRaw)) {
46
+ const n = Number(pageRaw);
47
+ if (n >= 1)
48
+ page = n;
49
+ }
50
+ return { q, types, statuses, domains, concepts, sort, page };
51
+ }
52
+ /**
53
+ * 查询模型 → 规范化 URL。参数顺序固定(q → type* → status* → domain* →
54
+ * concept* → sort → page);缺省值不出现(sort=updated / page=1 不入 URL)。
55
+ * URLSearchParams 负责百分号编码(中文概念/领域名自动编码)。
56
+ */
57
+ function buildOverviewUrl(query) {
58
+ const p = new URLSearchParams();
59
+ if (query.q !== undefined)
60
+ p.append('q', query.q);
61
+ for (const t of query.types)
62
+ p.append('type', t);
63
+ for (const s of query.statuses)
64
+ p.append('status', s);
65
+ for (const d of query.domains)
66
+ p.append('domain', d);
67
+ for (const c of query.concepts)
68
+ p.append('concept', c);
69
+ if (query.sort === 'title')
70
+ p.append('sort', 'title');
71
+ if (query.page > 1)
72
+ p.append('page', String(query.page));
73
+ const s = p.toString();
74
+ return s === '' ? '/' : `/?${s}`;
75
+ }
76
+ /** 移除一个激活值(其余参数保留;移除使结果集变宽,page 保持)。 */
77
+ function withoutValue(query, dim, value) {
78
+ switch (dim) {
79
+ case 'q':
80
+ return { ...query, q: undefined };
81
+ case 'types':
82
+ return { ...query, types: query.types.filter((v) => v !== value) };
83
+ case 'statuses':
84
+ return { ...query, statuses: query.statuses.filter((v) => v !== value) };
85
+ case 'domains':
86
+ return { ...query, domains: query.domains.filter((v) => v !== value) };
87
+ case 'concepts':
88
+ return { ...query, concepts: query.concepts.filter((v) => v !== value) };
89
+ }
90
+ }
91
+ /**
92
+ * 追加一个概念筛选(保留其余筛选参数;已存在 → 原样返回)。
93
+ * 追加使结果集变窄,page 重置为 1(避免落在超界页)。
94
+ */
95
+ function withConceptAdded(query, name) {
96
+ if (query.concepts.includes(name))
97
+ return query;
98
+ return { ...query, concepts: [...query.concepts, name], page: 1 };
99
+ }
100
+ function withSort(query, sort) {
101
+ return { ...query, sort };
102
+ }
103
+ function withPage(query, page) {
104
+ return { ...query, page };
105
+ }
106
+ /** 芯片「添加」链接辅助:保序追加(已存在则原样),page 重置为 1。 */
107
+ function added(list, value) {
108
+ return list.includes(value) ? list : [...list, value];
109
+ }
110
+ /** 是否有任何激活筛选(计数徽章 / 空态②判定用)。 */
111
+ function hasActiveFilters(query) {
112
+ return (query.q !== undefined ||
113
+ query.types.length > 0 ||
114
+ query.statuses.length > 0 ||
115
+ query.domains.length > 0 ||
116
+ query.concepts.length > 0);
117
+ }
118
+ // ----- 视图模型组装 --------------------------------------------------------
119
+ /** 组装总览页全量视图模型。所有 href 在此计算,模板侧只做字符串渲染。 */
120
+ function assembleOverviewModel(db, query) {
121
+ const queryApi = new markdown_1.MarkdownQuery(db);
122
+ const stats = queryApi.getStats();
123
+ // 查询模型 → FindFilter(复数字段,维度内 OR、维度间 AND;空数组不传)。
124
+ const filter = {};
125
+ if (query.q !== undefined)
126
+ filter.q = query.q;
127
+ if (query.types.length > 0)
128
+ filter.documentTypes = query.types;
129
+ if (query.statuses.length > 0)
130
+ filter.statuses = query.statuses;
131
+ if (query.domains.length > 0)
132
+ filter.domains = query.domains;
133
+ if (query.concepts.length > 0)
134
+ filter.concepts = query.concepts;
135
+ // URL sort=updated → 显式 recency(有 q 时亦不走相关度,plan index §7.5)。
136
+ const sort = query.sort === 'title' ? 'title' : 'recency';
137
+ let result = queryApi.findPaged(filter, {
138
+ offset: (query.page - 1) * constants_1.PAGE_SIZE,
139
+ limit: constants_1.PAGE_SIZE,
140
+ sort,
141
+ });
142
+ // 超界页:渲染末页 + 提示(spec §11 #10;仅超界时多一次查询)。
143
+ const totalPages = result.total === 0 ? 1 : Math.ceil(result.total / constants_1.PAGE_SIZE);
144
+ let effectivePage = query.page;
145
+ let notice = null;
146
+ if (result.total > 0 && query.page > totalPages) {
147
+ effectivePage = totalPages;
148
+ notice = `第 ${query.page} 页不存在,已显示第 ${totalPages} 页(共 ${totalPages} 页)`;
149
+ result = queryApi.findPaged(filter, {
150
+ offset: (effectivePage - 1) * constants_1.PAGE_SIZE,
151
+ limit: constants_1.PAGE_SIZE,
152
+ sort,
153
+ });
154
+ }
155
+ // ---- 筛选面板(计数为全库口径,不随筛选联动,plan index 第 4 节)----
156
+ const typeChips = markdown_1.DOCUMENT_TYPES.map((t) => ({
157
+ type: t,
158
+ count: stats.byType[t],
159
+ }))
160
+ .sort((a, b) => b.count - a.count || (a.type < b.type ? -1 : a.type > b.type ? 1 : 0))
161
+ .map(({ type, count }) => {
162
+ const active = query.types.includes(type);
163
+ const href = active
164
+ ? buildOverviewUrl(withoutValue(query, 'types', type))
165
+ : buildOverviewUrl({ ...query, types: added(query.types, type), page: 1 });
166
+ return { label: constants_1.TYPE_LABELS[type], raw: type, count, active, tone: constants_1.TYPE_TONES[type], href };
167
+ });
168
+ const statusChips = markdown_1.DOCUMENT_STATUSES.map((s) => {
169
+ const active = query.statuses.includes(s);
170
+ const href = active
171
+ ? buildOverviewUrl(withoutValue(query, 'statuses', s))
172
+ : buildOverviewUrl({ ...query, statuses: added(query.statuses, s), page: 1 });
173
+ return { label: constants_1.STATUS_LABELS[s], raw: s, count: stats.byStatus[s], active, href };
174
+ });
175
+ const domainChips = queryApi.listDomains().map((d) => {
176
+ const active = query.domains.includes(d.name);
177
+ const href = active
178
+ ? buildOverviewUrl(withoutValue(query, 'domains', d.name))
179
+ : buildOverviewUrl({ ...query, domains: added(query.domains, d.name), page: 1 });
180
+ return { label: d.name, raw: d.name, count: d.documentCount, active, href };
181
+ });
182
+ // 概念行:篇数占比条宽度 = documentCount / 全库文档数(纯 CSS 宽度)。
183
+ const conceptRow = (name, count) => {
184
+ const active = query.concepts.includes(name);
185
+ const percent = stats.documentCount > 0 ? Math.round((count / stats.documentCount) * 100) : 0;
186
+ const href = active
187
+ ? buildOverviewUrl(withoutValue(query, 'concepts', name))
188
+ : buildOverviewUrl(withConceptAdded(query, name));
189
+ return { name, count, percent, active, href };
190
+ };
191
+ const allConcepts = queryApi.listConcepts();
192
+ const topConcepts = allConcepts.slice(0, constants_1.CONCEPT_PANEL_TOP).map((c) => conceptRow(c.name, c.documentCount));
193
+ const moreConcepts = allConcepts.slice(constants_1.CONCEPT_PANEL_TOP).map((c) => conceptRow(c.name, c.documentCount));
194
+ // ---- 激活筛选 pill(每激活值一个;≥2 追加「清除全部」)----
195
+ const pills = [];
196
+ if (query.q !== undefined) {
197
+ pills.push({ dimension: '关键词', value: query.q, removeHref: buildOverviewUrl(withoutValue(query, 'q', query.q)) });
198
+ }
199
+ for (const t of query.types) {
200
+ pills.push({ dimension: '类型', value: constants_1.TYPE_LABELS[t], removeHref: buildOverviewUrl(withoutValue(query, 'types', t)) });
201
+ }
202
+ for (const s of query.statuses) {
203
+ pills.push({ dimension: '状态', value: constants_1.STATUS_LABELS[s], removeHref: buildOverviewUrl(withoutValue(query, 'statuses', s)) });
204
+ }
205
+ for (const d of query.domains) {
206
+ pills.push({ dimension: '领域', value: d, removeHref: buildOverviewUrl(withoutValue(query, 'domains', d)) });
207
+ }
208
+ for (const c of query.concepts) {
209
+ pills.push({ dimension: '概念', value: c, removeHref: buildOverviewUrl(withoutValue(query, 'concepts', c)) });
210
+ }
211
+ // ---- 文档卡(referencesCount/owners/aliases 由 findPaged hydrate 填出,
212
+ // 页面侧不逐卡查询,禁 N+1)----
213
+ const cards = result.items.map((d) => {
214
+ const alias = d.aliases?.[0];
215
+ const conceptTags = d.concepts.map((name) => ({
216
+ name,
217
+ active: query.concepts.includes(name),
218
+ href: buildOverviewUrl(withConceptAdded(query, name)),
219
+ }));
220
+ return {
221
+ detailHref: `/doc/${encodeURIComponent(d.id)}`,
222
+ tone: constants_1.TYPE_TONES[d.documentType],
223
+ typeLabel: constants_1.TYPE_LABELS[d.documentType],
224
+ typeRaw: d.documentType,
225
+ title: d.title,
226
+ alias: alias ?? null,
227
+ summary: d.summary,
228
+ conceptTags,
229
+ ownersText: d.owners !== undefined && d.owners.length > 0 ? d.owners.join(' / ') : null,
230
+ status: d.status,
231
+ statusLabel: constants_1.STATUS_LABELS[d.status],
232
+ statusRaw: d.status,
233
+ domainsText: d.domains.length > 0 ? d.domains.join(' / ') : null,
234
+ referencesCount: d.referencesCount ?? 0,
235
+ updated: (0, render_utils_1.docTime)(d.updatedAt),
236
+ };
237
+ });
238
+ // ---- 空状态(spec §8 两态,文案严格区分)----
239
+ const empty = stats.documentCount === 0 ? 'kb-empty' : result.total === 0 ? 'no-match' : 'none';
240
+ const active = hasActiveFilters(query);
241
+ const countBadge = active ? `${result.total} / ${stats.documentCount}` : `${stats.documentCount} 篇`;
242
+ const searchHidden = [];
243
+ for (const t of query.types)
244
+ searchHidden.push({ name: 'type', value: t });
245
+ for (const s of query.statuses)
246
+ searchHidden.push({ name: 'status', value: s });
247
+ for (const d of query.domains)
248
+ searchHidden.push({ name: 'domain', value: d });
249
+ for (const c of query.concepts)
250
+ searchHidden.push({ name: 'concept', value: c });
251
+ if (query.sort === 'title')
252
+ searchHidden.push({ name: 'sort', value: 'title' });
253
+ return {
254
+ stats: {
255
+ documentCount: stats.documentCount,
256
+ conceptCount: stats.conceptCount,
257
+ domainCount: stats.domainCount,
258
+ tagCount: stats.tagCount,
259
+ latestIndexed: stats.latestIndexedAt === null ? null : (0, render_utils_1.epochTime)(stats.latestIndexedAt),
260
+ },
261
+ search: { q: query.q ?? '', hiddenInputs: searchHidden },
262
+ typeChips,
263
+ statusChips,
264
+ domainChips,
265
+ topConcepts,
266
+ moreConcepts,
267
+ conceptTotal: allConcepts.length,
268
+ countBadge,
269
+ sortLinks: [
270
+ { label: '最近更新', active: query.sort === 'updated', href: buildOverviewUrl(withSort(query, 'updated')) },
271
+ { label: '名称', active: query.sort === 'title', href: buildOverviewUrl(withSort(query, 'title')) },
272
+ ],
273
+ pills,
274
+ clearAllVisible: pills.length >= 2,
275
+ cards,
276
+ empty,
277
+ pager: {
278
+ visible: result.total > 0,
279
+ info: `第 ${effectivePage} / ${totalPages} 页 · 共 ${result.total} 篇`,
280
+ prevHref: effectivePage > 1 ? buildOverviewUrl(withPage(query, effectivePage - 1)) : null,
281
+ nextHref: effectivePage < totalPages ? buildOverviewUrl(withPage(query, effectivePage + 1)) : null,
282
+ notice,
283
+ },
284
+ };
285
+ }
286
+ // ----- 页面入口 ------------------------------------------------------------
287
+ /**
288
+ * 渲染知识库总览页完整 HTML(壳 + 主区)。
289
+ *
290
+ * @param db 基座进程级单连接(每请求 new MarkdownQuery(db),只读 SELECT)。
291
+ * @param params 请求 URL 的查询参数。
292
+ */
293
+ function renderOverviewPage(db, params, ctx) {
294
+ const query = parseOverviewQuery(params);
295
+ const model = assembleOverviewModel(db, query);
296
+ return (0, layout_1.renderShellPage)({
297
+ title: '知识库',
298
+ active: 'knowledge',
299
+ contentHtml: (0, overview_templates_1.renderOverviewContent)(model),
300
+ version: ctx.version,
301
+ localHost: ctx.localHost,
302
+ });
303
+ }
304
+ //# sourceMappingURL=pages-overview.js.map