ai-spector 0.9.21 → 0.9.24

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 (579) hide show
  1. package/contracts/bootstrap/config/prototype-screen-map.json +25 -0
  2. package/contracts/bootstrap/config/prototype.config.json +17 -0
  3. package/contracts/bootstrap/config/review-queue-pending.json +4 -0
  4. package/contracts/bootstrap/config/review-queue-registry.json +4 -0
  5. package/contracts/bootstrap/config/review.config.json +5 -0
  6. package/contracts/bootstrap/docs/ENTITY_REGISTRY_MIGRATION.md +192 -0
  7. package/contracts/bootstrap/docs/MIGRATION.md +463 -0
  8. package/contracts/bootstrap/docs/README.md +48 -0
  9. package/contracts/bootstrap/docs/adapters/README.md +32 -0
  10. package/contracts/bootstrap/docs/guides/COMMENTS_ENTITY_MIGRATION.md +195 -0
  11. package/contracts/bootstrap/docs/guides/DOCOPS_MANUAL_FALLBACK.md +177 -0
  12. package/contracts/bootstrap/docs/guides/PROJECT_LAYOUT.md +84 -0
  13. package/contracts/bootstrap/docs/modules/comments.md +77 -0
  14. package/contracts/bootstrap/docs/modules/generate.md +25 -0
  15. package/contracts/bootstrap/docs/modules/graph.md +31 -0
  16. package/contracts/bootstrap/docs/modules/prototype.md +26 -0
  17. package/contracts/bootstrap/docs/modules/review.md +25 -0
  18. package/contracts/bootstrap/docs/modules/translate.md +26 -0
  19. package/contracts/bootstrap/scripts/migrate-entity-registry.sh +55 -0
  20. package/contracts/bootstrap/templates/basic-design/db-design-template.md +177 -0
  21. package/contracts/bootstrap/templates/basic-design/detail-api-template.md +278 -0
  22. package/contracts/bootstrap/templates/basic-design/detail-screen-template.md +281 -0
  23. package/contracts/bootstrap/templates/basic-design/list-api-template.md +130 -0
  24. package/contracts/bootstrap/templates/basic-design/list-screen-template.md +242 -0
  25. package/contracts/bootstrap/templates/detail-design/common/architecture-overview-template.md +302 -0
  26. package/contracts/bootstrap/templates/detail-design/common/deployment-infrastructure-template.md +461 -0
  27. package/contracts/bootstrap/templates/detail-design/common/error-handling-patterns-template.md +460 -0
  28. package/contracts/bootstrap/templates/detail-design/common/integration-patterns-template.md +410 -0
  29. package/contracts/bootstrap/templates/detail-design/common/performance-standards-template.md +406 -0
  30. package/contracts/bootstrap/templates/detail-design/common/security-patterns-template.md +395 -0
  31. package/contracts/bootstrap/templates/detail-design/feature-detail-design-template.md +773 -0
  32. package/contracts/bootstrap/templates/detail-design/feature-list-template.md +39 -0
  33. package/contracts/bootstrap/templates/srs/1-introduction.md +58 -0
  34. package/contracts/bootstrap/templates/srs/2-overall-description.md +91 -0
  35. package/contracts/bootstrap/templates/srs/3-use-case-detail-template.md +142 -0
  36. package/contracts/bootstrap/templates/srs/3-use-cases.md +53 -0
  37. package/contracts/bootstrap/templates/srs/4-system-feature-detail-template.md +131 -0
  38. package/contracts/bootstrap/templates/srs/4-system-features-list-template.md +39 -0
  39. package/contracts/bootstrap/templates/srs/5-data-requirements.md +59 -0
  40. package/contracts/bootstrap/templates/srs/6-external-interfaces.md +56 -0
  41. package/contracts/bootstrap/templates/srs/7-quality-attributes.md +74 -0
  42. package/contracts/bootstrap/templates/srs/8-internationalization.md +36 -0
  43. package/contracts/bootstrap/templates/srs/9-other-requirements.md +46 -0
  44. package/contracts/examples/full-docops.config.json +54 -0
  45. package/contracts/examples/migrate-lifecycle.json +18 -0
  46. package/contracts/examples/minimal-comment-thread/comment-root.json +10 -0
  47. package/contracts/examples/minimal-comment-thread/meta_data.json +22 -0
  48. package/contracts/examples/minimal-docops.config.json +33 -0
  49. package/contracts/examples/minimal-lifecycle.json +17 -0
  50. package/contracts/examples/minimal-prototype.config.json +18 -0
  51. package/contracts/examples/minimal-screen-map.json +25 -0
  52. package/contracts/examples/registry/minimal-document.entity.json +15 -0
  53. package/contracts/examples/registry/minimal-manifest.json +7 -0
  54. package/contracts/examples/registry/minimal-screen.entity.json +11 -0
  55. package/contracts/examples/review/minimal-pending.json +14 -0
  56. package/contracts/examples/review/minimal-registry.json +31 -0
  57. package/contracts/examples/review/minimal-review.config.json +7 -0
  58. package/contracts/schemas/comments/comment_body.schema.json +19 -0
  59. package/contracts/schemas/comments/meta_data.schema.json +59 -0
  60. package/contracts/schemas/docops.config.schema.json +97 -0
  61. package/contracts/schemas/lifecycle.schema.json +43 -0
  62. package/contracts/schemas/prototype/config.schema.json +56 -0
  63. package/contracts/schemas/prototype/screen-map.schema.json +51 -0
  64. package/contracts/schemas/registry/document.entity.schema.json +38 -0
  65. package/contracts/schemas/registry/manifest.schema.json +18 -0
  66. package/contracts/schemas/registry/screen.entity.schema.json +28 -0
  67. package/contracts/schemas/review/registry.schema.json +72 -0
  68. package/contracts/schemas/review/review.config.schema.json +42 -0
  69. package/dist/cli.js +26 -1
  70. package/dist/cli.js.map +1 -1
  71. package/dist/core/docops/bootstrap.d.ts +4 -1
  72. package/dist/core/docops/bootstrap.d.ts.map +1 -1
  73. package/dist/core/docops/bootstrap.js +16 -9
  74. package/dist/core/docops/bootstrap.js.map +1 -1
  75. package/dist/core/docops/guide.d.ts +78 -0
  76. package/dist/core/docops/guide.d.ts.map +1 -0
  77. package/dist/core/docops/guide.js +554 -0
  78. package/dist/core/docops/guide.js.map +1 -0
  79. package/dist/core/docops/migrate.d.ts.map +1 -1
  80. package/dist/core/docops/migrate.js +40 -6
  81. package/dist/core/docops/migrate.js.map +1 -1
  82. package/dist/core/graph/doc-extract.d.ts.map +1 -1
  83. package/dist/core/graph/doc-extract.js +12 -0
  84. package/dist/core/graph/doc-extract.js.map +1 -1
  85. package/dist/core/graph/impact.d.ts.map +1 -1
  86. package/dist/core/graph/impact.js +2 -1
  87. package/dist/core/graph/impact.js.map +1 -1
  88. package/dist/core/graph/link-testcases.d.ts +14 -0
  89. package/dist/core/graph/link-testcases.d.ts.map +1 -0
  90. package/dist/core/graph/link-testcases.js +46 -0
  91. package/dist/core/graph/link-testcases.js.map +1 -0
  92. package/dist/core/operations/docops.d.ts +8 -0
  93. package/dist/core/operations/docops.d.ts.map +1 -1
  94. package/dist/core/operations/docops.js +40 -0
  95. package/dist/core/operations/docops.js.map +1 -1
  96. package/dist/core/operations/index.d.ts.map +1 -1
  97. package/dist/core/operations/index.js +25 -0
  98. package/dist/core/operations/index.js.map +1 -1
  99. package/dist/core/operations/task-gates.d.ts +8 -1
  100. package/dist/core/operations/task-gates.d.ts.map +1 -1
  101. package/dist/core/operations/task-gates.js +14 -0
  102. package/dist/core/operations/task-gates.js.map +1 -1
  103. package/dist/core/operations/task.d.ts +2 -0
  104. package/dist/core/operations/task.d.ts.map +1 -1
  105. package/dist/core/operations/task.js +40 -2
  106. package/dist/core/operations/task.js.map +1 -1
  107. package/dist/core/sync/audit.d.ts.map +1 -1
  108. package/dist/core/sync/audit.js +14 -6
  109. package/dist/core/sync/audit.js.map +1 -1
  110. package/dist/core/sync/baseline.d.ts.map +1 -1
  111. package/dist/core/sync/baseline.js +5 -2
  112. package/dist/core/sync/baseline.js.map +1 -1
  113. package/dist/core/sync/constants.d.ts.map +1 -1
  114. package/dist/core/sync/constants.js +2 -1
  115. package/dist/core/sync/constants.js.map +1 -1
  116. package/dist/core/sync/gaps.d.ts.map +1 -1
  117. package/dist/core/sync/gaps.js +23 -2
  118. package/dist/core/sync/gaps.js.map +1 -1
  119. package/dist/core/sync/git-diff.d.ts +1 -0
  120. package/dist/core/sync/git-diff.d.ts.map +1 -1
  121. package/dist/core/sync/git-diff.js +14 -0
  122. package/dist/core/sync/git-diff.js.map +1 -1
  123. package/dist/core/sync/repo-context.d.ts +23 -0
  124. package/dist/core/sync/repo-context.d.ts.map +1 -0
  125. package/dist/core/sync/repo-context.js +28 -0
  126. package/dist/core/sync/repo-context.js.map +1 -0
  127. package/dist/core/sync/snapshot.d.ts.map +1 -1
  128. package/dist/core/sync/snapshot.js +24 -18
  129. package/dist/core/sync/snapshot.js.map +1 -1
  130. package/dist/core/sync/types.d.ts +7 -2
  131. package/dist/core/sync/types.d.ts.map +1 -1
  132. package/dist/core/upgrade/checklist.json +2 -2
  133. package/dist/interfaces/mcp/schemas.d.ts +2 -0
  134. package/dist/interfaces/mcp/schemas.d.ts.map +1 -1
  135. package/dist/interfaces/mcp/schemas.js +4 -0
  136. package/dist/interfaces/mcp/schemas.js.map +1 -1
  137. package/dist/interfaces/mcp/server.js +0 -0
  138. package/dist/types.d.ts +2 -2
  139. package/dist/types.d.ts.map +1 -1
  140. package/package.json +2 -1
  141. package/scaffold/claude/.claude/skills/_skill-router.md +11 -8
  142. package/scaffold/claude/.claude/skills/ai-spector/references/cli-failures.md +3 -3
  143. package/scaffold/claude/.claude/skills/ai-spector/references/docops-migrate.md +112 -0
  144. package/scaffold/claude/.claude/skills/ai-spector/references/help.md +1 -1
  145. package/scaffold/claude/.claude/skills/ai-spector/references/runbook.md +49 -26
  146. package/scaffold/claude/.claude/skills/ai-spector/skill.md +3 -2
  147. package/scaffold/cursor/skills/_skill-router.md +11 -8
  148. package/scaffold/cursor/skills/ai-spector/SKILL.md +3 -2
  149. package/scaffold/cursor/skills/ai-spector/references/cli-failures.md +3 -3
  150. package/scaffold/cursor/skills/ai-spector/references/docops-migrate.md +112 -0
  151. package/scaffold/cursor/skills/ai-spector/references/help.md +1 -1
  152. package/scaffold/cursor/skills/ai-spector/references/runbook.md +49 -26
  153. package/schemas/rules.impact.json +3 -2
  154. package/schemas/schema.graph.json +4 -2
  155. package/dist/commands/analyze.d.ts +0 -12
  156. package/dist/commands/analyze.d.ts.map +0 -1
  157. package/dist/commands/analyze.js +0 -53
  158. package/dist/commands/analyze.js.map +0 -1
  159. package/dist/commands/bootstrap.d.ts +0 -4
  160. package/dist/commands/bootstrap.d.ts.map +0 -1
  161. package/dist/commands/bootstrap.js +0 -58
  162. package/dist/commands/bootstrap.js.map +0 -1
  163. package/dist/commands/comments.d.ts +0 -44
  164. package/dist/commands/comments.d.ts.map +0 -1
  165. package/dist/commands/comments.js +0 -79
  166. package/dist/commands/comments.js.map +0 -1
  167. package/dist/commands/graph-impact.d.ts +0 -28
  168. package/dist/commands/graph-impact.d.ts.map +0 -1
  169. package/dist/commands/graph-impact.js +0 -174
  170. package/dist/commands/graph-impact.js.map +0 -1
  171. package/dist/commands/graph-merge.d.ts +0 -32
  172. package/dist/commands/graph-merge.d.ts.map +0 -1
  173. package/dist/commands/graph-merge.js +0 -101
  174. package/dist/commands/graph-merge.js.map +0 -1
  175. package/dist/commands/graph-query.d.ts +0 -10
  176. package/dist/commands/graph-query.d.ts.map +0 -1
  177. package/dist/commands/graph-query.js +0 -24
  178. package/dist/commands/graph-query.js.map +0 -1
  179. package/dist/commands/graph-report.d.ts +0 -9
  180. package/dist/commands/graph-report.d.ts.map +0 -1
  181. package/dist/commands/graph-report.js +0 -10
  182. package/dist/commands/graph-report.js.map +0 -1
  183. package/dist/commands/graph-visualize.d.ts +0 -17
  184. package/dist/commands/graph-visualize.d.ts.map +0 -1
  185. package/dist/commands/graph-visualize.js +0 -44
  186. package/dist/commands/graph-visualize.js.map +0 -1
  187. package/dist/commands/hooks-constants.d.ts +0 -2
  188. package/dist/commands/hooks-constants.d.ts.map +0 -1
  189. package/dist/commands/hooks-constants.js +0 -2
  190. package/dist/commands/hooks-constants.js.map +0 -1
  191. package/dist/commands/hooks.d.ts +0 -28
  192. package/dist/commands/hooks.d.ts.map +0 -1
  193. package/dist/commands/hooks.js +0 -187
  194. package/dist/commands/hooks.js.map +0 -1
  195. package/dist/commands/index.d.ts +0 -22
  196. package/dist/commands/index.d.ts.map +0 -1
  197. package/dist/commands/index.js +0 -472
  198. package/dist/commands/index.js.map +0 -1
  199. package/dist/commands/init.d.ts +0 -19
  200. package/dist/commands/init.d.ts.map +0 -1
  201. package/dist/commands/init.js +0 -210
  202. package/dist/commands/init.js.map +0 -1
  203. package/dist/commands/lang-queue.d.ts +0 -28
  204. package/dist/commands/lang-queue.d.ts.map +0 -1
  205. package/dist/commands/lang-queue.js +0 -49
  206. package/dist/commands/lang-queue.js.map +0 -1
  207. package/dist/commands/lang.d.ts +0 -16
  208. package/dist/commands/lang.d.ts.map +0 -1
  209. package/dist/commands/lang.js +0 -69
  210. package/dist/commands/lang.js.map +0 -1
  211. package/dist/commands/prototype.d.ts +0 -66
  212. package/dist/commands/prototype.d.ts.map +0 -1
  213. package/dist/commands/prototype.js +0 -370
  214. package/dist/commands/prototype.js.map +0 -1
  215. package/dist/commands/setup.d.ts +0 -26
  216. package/dist/commands/setup.d.ts.map +0 -1
  217. package/dist/commands/setup.js +0 -259
  218. package/dist/commands/setup.js.map +0 -1
  219. package/dist/commands/sync-cursor.d.ts +0 -10
  220. package/dist/commands/sync-cursor.d.ts.map +0 -1
  221. package/dist/commands/sync-cursor.js +0 -18
  222. package/dist/commands/sync-cursor.js.map +0 -1
  223. package/dist/commands/template-regen.d.ts +0 -24
  224. package/dist/commands/template-regen.d.ts.map +0 -1
  225. package/dist/commands/template-regen.js +0 -240
  226. package/dist/commands/template-regen.js.map +0 -1
  227. package/dist/commands/template.d.ts +0 -3
  228. package/dist/commands/template.d.ts.map +0 -1
  229. package/dist/commands/template.js +0 -1285
  230. package/dist/commands/template.js.map +0 -1
  231. package/dist/commands/validate.d.ts +0 -10
  232. package/dist/commands/validate.d.ts.map +0 -1
  233. package/dist/commands/validate.js +0 -89
  234. package/dist/commands/validate.js.map +0 -1
  235. package/dist/comments/anchor.d.ts +0 -16
  236. package/dist/comments/anchor.d.ts.map +0 -1
  237. package/dist/comments/anchor.js +0 -59
  238. package/dist/comments/anchor.js.map +0 -1
  239. package/dist/comments/inbox.d.ts +0 -82
  240. package/dist/comments/inbox.d.ts.map +0 -1
  241. package/dist/comments/inbox.js +0 -179
  242. package/dist/comments/inbox.js.map +0 -1
  243. package/dist/comments/paths.d.ts +0 -12
  244. package/dist/comments/paths.d.ts.map +0 -1
  245. package/dist/comments/paths.js +0 -54
  246. package/dist/comments/paths.js.map +0 -1
  247. package/dist/comments/plan.d.ts +0 -20
  248. package/dist/comments/plan.d.ts.map +0 -1
  249. package/dist/comments/plan.js +0 -62
  250. package/dist/comments/plan.js.map +0 -1
  251. package/dist/comments/storage.d.ts +0 -30
  252. package/dist/comments/storage.d.ts.map +0 -1
  253. package/dist/comments/storage.js +0 -272
  254. package/dist/comments/storage.js.map +0 -1
  255. package/dist/comments/types.d.ts +0 -54
  256. package/dist/comments/types.d.ts.map +0 -1
  257. package/dist/comments/types.js +0 -2
  258. package/dist/comments/types.js.map +0 -1
  259. package/dist/config/load.d.ts +0 -47
  260. package/dist/config/load.d.ts.map +0 -1
  261. package/dist/config/load.js +0 -148
  262. package/dist/config/load.js.map +0 -1
  263. package/dist/config/types.d.ts +0 -56
  264. package/dist/config/types.d.ts.map +0 -1
  265. package/dist/config/types.js +0 -2
  266. package/dist/config/types.js.map +0 -1
  267. package/dist/core/adopt/apply.d.ts +0 -15
  268. package/dist/core/adopt/apply.d.ts.map +0 -1
  269. package/dist/core/adopt/apply.js +0 -127
  270. package/dist/core/adopt/apply.js.map +0 -1
  271. package/dist/core/adopt/bootstrap.d.ts +0 -16
  272. package/dist/core/adopt/bootstrap.d.ts.map +0 -1
  273. package/dist/core/adopt/bootstrap.js +0 -195
  274. package/dist/core/adopt/bootstrap.js.map +0 -1
  275. package/dist/core/adopt/classify.d.ts +0 -22
  276. package/dist/core/adopt/classify.d.ts.map +0 -1
  277. package/dist/core/adopt/classify.js +0 -295
  278. package/dist/core/adopt/classify.js.map +0 -1
  279. package/dist/core/adopt/paths.d.ts +0 -10
  280. package/dist/core/adopt/paths.d.ts.map +0 -1
  281. package/dist/core/adopt/paths.js +0 -16
  282. package/dist/core/adopt/paths.js.map +0 -1
  283. package/dist/core/adopt/plan.d.ts +0 -10
  284. package/dist/core/adopt/plan.d.ts.map +0 -1
  285. package/dist/core/adopt/plan.js +0 -269
  286. package/dist/core/adopt/plan.js.map +0 -1
  287. package/dist/core/adopt/scan.d.ts +0 -5
  288. package/dist/core/adopt/scan.d.ts.map +0 -1
  289. package/dist/core/adopt/scan.js +0 -169
  290. package/dist/core/adopt/scan.js.map +0 -1
  291. package/dist/core/adopt/setup.d.ts +0 -7
  292. package/dist/core/adopt/setup.d.ts.map +0 -1
  293. package/dist/core/adopt/setup.js +0 -64
  294. package/dist/core/adopt/setup.js.map +0 -1
  295. package/dist/core/adopt/tasks.d.ts +0 -9
  296. package/dist/core/adopt/tasks.d.ts.map +0 -1
  297. package/dist/core/adopt/tasks.js +0 -153
  298. package/dist/core/adopt/tasks.js.map +0 -1
  299. package/dist/core/adopt/types.d.ts +0 -75
  300. package/dist/core/adopt/types.d.ts.map +0 -1
  301. package/dist/core/adopt/types.js +0 -2
  302. package/dist/core/adopt/types.js.map +0 -1
  303. package/dist/core/adopt/validate.d.ts +0 -20
  304. package/dist/core/adopt/validate.d.ts.map +0 -1
  305. package/dist/core/adopt/validate.js +0 -129
  306. package/dist/core/adopt/validate.js.map +0 -1
  307. package/dist/core/docops/dual-write.d.ts +0 -12
  308. package/dist/core/docops/dual-write.d.ts.map +0 -1
  309. package/dist/core/docops/dual-write.js +0 -44
  310. package/dist/core/docops/dual-write.js.map +0 -1
  311. package/dist/core/engine/local-adapter.d.ts +0 -3
  312. package/dist/core/engine/local-adapter.d.ts.map +0 -1
  313. package/dist/core/engine/local-adapter.js +0 -18
  314. package/dist/core/engine/local-adapter.js.map +0 -1
  315. package/dist/core/graph/rules/default-impact.json +0 -24
  316. package/dist/core/operations/adopt-gates.d.ts +0 -19
  317. package/dist/core/operations/adopt-gates.d.ts.map +0 -1
  318. package/dist/core/operations/adopt-gates.js +0 -71
  319. package/dist/core/operations/adopt-gates.js.map +0 -1
  320. package/dist/core/operations/adopt-plan.d.ts +0 -15
  321. package/dist/core/operations/adopt-plan.d.ts.map +0 -1
  322. package/dist/core/operations/adopt-plan.js +0 -24
  323. package/dist/core/operations/adopt-plan.js.map +0 -1
  324. package/dist/core/operations/adopt.d.ts +0 -11
  325. package/dist/core/operations/adopt.d.ts.map +0 -1
  326. package/dist/core/operations/adopt.js +0 -150
  327. package/dist/core/operations/adopt.js.map +0 -1
  328. package/dist/core/operations/analyze.d.ts +0 -12
  329. package/dist/core/operations/analyze.d.ts.map +0 -1
  330. package/dist/core/operations/analyze.js +0 -53
  331. package/dist/core/operations/analyze.js.map +0 -1
  332. package/dist/core/prototype/spa-route-fallbacks.d.ts +0 -21
  333. package/dist/core/prototype/spa-route-fallbacks.d.ts.map +0 -1
  334. package/dist/core/prototype/spa-route-fallbacks.js +0 -93
  335. package/dist/core/prototype/spa-route-fallbacks.js.map +0 -1
  336. package/dist/graph/InMemoryGraph.d.ts +0 -2
  337. package/dist/graph/InMemoryGraph.d.ts.map +0 -1
  338. package/dist/graph/InMemoryGraph.js +0 -2
  339. package/dist/graph/InMemoryGraph.js.map +0 -1
  340. package/dist/graph/bundles.d.ts +0 -32
  341. package/dist/graph/bundles.d.ts.map +0 -1
  342. package/dist/graph/bundles.js +0 -109
  343. package/dist/graph/bundles.js.map +0 -1
  344. package/dist/graph/defaults.d.ts +0 -23
  345. package/dist/graph/defaults.d.ts.map +0 -1
  346. package/dist/graph/defaults.js +0 -25
  347. package/dist/graph/defaults.js.map +0 -1
  348. package/dist/graph/detail-sections.d.ts +0 -28
  349. package/dist/graph/detail-sections.d.ts.map +0 -1
  350. package/dist/graph/detail-sections.js +0 -220
  351. package/dist/graph/detail-sections.js.map +0 -1
  352. package/dist/graph/doc-extract.d.ts +0 -84
  353. package/dist/graph/doc-extract.d.ts.map +0 -1
  354. package/dist/graph/doc-extract.js +0 -821
  355. package/dist/graph/doc-extract.js.map +0 -1
  356. package/dist/graph/impact.d.ts +0 -5
  357. package/dist/graph/impact.d.ts.map +0 -1
  358. package/dist/graph/impact.js +0 -7
  359. package/dist/graph/impact.js.map +0 -1
  360. package/dist/graph/knowledge.d.ts +0 -11
  361. package/dist/graph/knowledge.d.ts.map +0 -1
  362. package/dist/graph/knowledge.js +0 -62
  363. package/dist/graph/knowledge.js.map +0 -1
  364. package/dist/graph/layer-audit.d.ts +0 -5
  365. package/dist/graph/layer-audit.d.ts.map +0 -1
  366. package/dist/graph/layer-audit.js +0 -29
  367. package/dist/graph/layer-audit.js.map +0 -1
  368. package/dist/graph/load.d.ts +0 -4
  369. package/dist/graph/load.d.ts.map +0 -1
  370. package/dist/graph/load.js +0 -12
  371. package/dist/graph/load.js.map +0 -1
  372. package/dist/graph/loadGraph.d.ts +0 -3
  373. package/dist/graph/loadGraph.d.ts.map +0 -1
  374. package/dist/graph/loadGraph.js +0 -7
  375. package/dist/graph/loadGraph.js.map +0 -1
  376. package/dist/graph/merge.d.ts +0 -27
  377. package/dist/graph/merge.d.ts.map +0 -1
  378. package/dist/graph/merge.js +0 -239
  379. package/dist/graph/merge.js.map +0 -1
  380. package/dist/graph/path-target-edges.d.ts +0 -2
  381. package/dist/graph/path-target-edges.d.ts.map +0 -1
  382. package/dist/graph/path-target-edges.js +0 -2
  383. package/dist/graph/path-target-edges.js.map +0 -1
  384. package/dist/graph/provenance.d.ts +0 -19
  385. package/dist/graph/provenance.d.ts.map +0 -1
  386. package/dist/graph/provenance.js +0 -199
  387. package/dist/graph/provenance.js.map +0 -1
  388. package/dist/graph/query.d.ts +0 -3
  389. package/dist/graph/query.d.ts.map +0 -1
  390. package/dist/graph/query.js +0 -2
  391. package/dist/graph/query.js.map +0 -1
  392. package/dist/graph/resolve.d.ts +0 -15
  393. package/dist/graph/resolve.d.ts.map +0 -1
  394. package/dist/graph/resolve.js +0 -117
  395. package/dist/graph/resolve.js.map +0 -1
  396. package/dist/graph/source-refs.d.ts +0 -2
  397. package/dist/graph/source-refs.d.ts.map +0 -1
  398. package/dist/graph/source-refs.js +0 -30
  399. package/dist/graph/source-refs.js.map +0 -1
  400. package/dist/graph/translation.d.ts +0 -14
  401. package/dist/graph/translation.d.ts.map +0 -1
  402. package/dist/graph/translation.js +0 -65
  403. package/dist/graph/translation.js.map +0 -1
  404. package/dist/index/doc-semantics.d.ts +0 -14
  405. package/dist/index/doc-semantics.d.ts.map +0 -1
  406. package/dist/index/doc-semantics.js +0 -101
  407. package/dist/index/doc-semantics.js.map +0 -1
  408. package/dist/index/docs-build.d.ts +0 -40
  409. package/dist/index/docs-build.d.ts.map +0 -1
  410. package/dist/index/docs-build.js +0 -136
  411. package/dist/index/docs-build.js.map +0 -1
  412. package/dist/index/docs-config.d.ts +0 -19
  413. package/dist/index/docs-config.d.ts.map +0 -1
  414. package/dist/index/docs-config.js +0 -5
  415. package/dist/index/docs-config.js.map +0 -1
  416. package/dist/interfaces/cli/format/adopt.d.ts +0 -23
  417. package/dist/interfaces/cli/format/adopt.d.ts.map +0 -1
  418. package/dist/interfaces/cli/format/adopt.js +0 -89
  419. package/dist/interfaces/cli/format/adopt.js.map +0 -1
  420. package/dist/interfaces/mcp/tools/adopt.d.ts +0 -22
  421. package/dist/interfaces/mcp/tools/adopt.d.ts.map +0 -1
  422. package/dist/interfaces/mcp/tools/adopt.js +0 -55
  423. package/dist/interfaces/mcp/tools/adopt.js.map +0 -1
  424. package/dist/lang/diff.d.ts +0 -12
  425. package/dist/lang/diff.d.ts.map +0 -1
  426. package/dist/lang/diff.js +0 -71
  427. package/dist/lang/diff.js.map +0 -1
  428. package/dist/lang/paths.d.ts +0 -16
  429. package/dist/lang/paths.d.ts.map +0 -1
  430. package/dist/lang/paths.js +0 -32
  431. package/dist/lang/paths.js.map +0 -1
  432. package/dist/lang/queue-layout.d.ts +0 -11
  433. package/dist/lang/queue-layout.d.ts.map +0 -1
  434. package/dist/lang/queue-layout.js +0 -56
  435. package/dist/lang/queue-layout.js.map +0 -1
  436. package/dist/lang/queue-store.d.ts +0 -23
  437. package/dist/lang/queue-store.d.ts.map +0 -1
  438. package/dist/lang/queue-store.js +0 -285
  439. package/dist/lang/queue-store.js.map +0 -1
  440. package/dist/lang/queue-types.d.ts +0 -122
  441. package/dist/lang/queue-types.d.ts.map +0 -1
  442. package/dist/lang/queue-types.js +0 -2
  443. package/dist/lang/queue-types.js.map +0 -1
  444. package/dist/lang/queue.d.ts +0 -17
  445. package/dist/lang/queue.d.ts.map +0 -1
  446. package/dist/lang/queue.js +0 -362
  447. package/dist/lang/queue.js.map +0 -1
  448. package/dist/lang/sections.d.ts +0 -26
  449. package/dist/lang/sections.d.ts.map +0 -1
  450. package/dist/lang/sections.js +0 -85
  451. package/dist/lang/sections.js.map +0 -1
  452. package/dist/markdown/parse.d.ts +0 -25
  453. package/dist/markdown/parse.d.ts.map +0 -1
  454. package/dist/markdown/parse.js +0 -100
  455. package/dist/markdown/parse.js.map +0 -1
  456. package/dist/prototype/build-base-path.d.ts +0 -11
  457. package/dist/prototype/build-base-path.d.ts.map +0 -1
  458. package/dist/prototype/build-base-path.js +0 -84
  459. package/dist/prototype/build-base-path.js.map +0 -1
  460. package/dist/prototype/build-manifest.d.ts +0 -21
  461. package/dist/prototype/build-manifest.d.ts.map +0 -1
  462. package/dist/prototype/build-manifest.js +0 -171
  463. package/dist/prototype/build-manifest.js.map +0 -1
  464. package/dist/prototype/config.d.ts +0 -21
  465. package/dist/prototype/config.d.ts.map +0 -1
  466. package/dist/prototype/config.js +0 -131
  467. package/dist/prototype/config.js.map +0 -1
  468. package/dist/prototype/deploy-path.d.ts +0 -9
  469. package/dist/prototype/deploy-path.d.ts.map +0 -1
  470. package/dist/prototype/deploy-path.js +0 -21
  471. package/dist/prototype/deploy-path.js.map +0 -1
  472. package/dist/prototype/htpasswd.d.ts +0 -8
  473. package/dist/prototype/htpasswd.d.ts.map +0 -1
  474. package/dist/prototype/htpasswd.js +0 -36
  475. package/dist/prototype/htpasswd.js.map +0 -1
  476. package/dist/prototype/nginx-config.d.ts +0 -16
  477. package/dist/prototype/nginx-config.d.ts.map +0 -1
  478. package/dist/prototype/nginx-config.js +0 -39
  479. package/dist/prototype/nginx-config.js.map +0 -1
  480. package/dist/prototype/parse-screen-index.d.ts +0 -10
  481. package/dist/prototype/parse-screen-index.d.ts.map +0 -1
  482. package/dist/prototype/parse-screen-index.js +0 -109
  483. package/dist/prototype/parse-screen-index.js.map +0 -1
  484. package/dist/prototype/preview-uri.d.ts +0 -8
  485. package/dist/prototype/preview-uri.d.ts.map +0 -1
  486. package/dist/prototype/preview-uri.js +0 -35
  487. package/dist/prototype/preview-uri.js.map +0 -1
  488. package/dist/prototype/relative-assets.d.ts +0 -9
  489. package/dist/prototype/relative-assets.d.ts.map +0 -1
  490. package/dist/prototype/relative-assets.js +0 -23
  491. package/dist/prototype/relative-assets.js.map +0 -1
  492. package/dist/prototype/resolve-default-screen.d.ts +0 -17
  493. package/dist/prototype/resolve-default-screen.d.ts.map +0 -1
  494. package/dist/prototype/resolve-default-screen.js +0 -31
  495. package/dist/prototype/resolve-default-screen.js.map +0 -1
  496. package/dist/prototype/rewrite-build-assets.d.ts +0 -8
  497. package/dist/prototype/rewrite-build-assets.d.ts.map +0 -1
  498. package/dist/prototype/rewrite-build-assets.js +0 -40
  499. package/dist/prototype/rewrite-build-assets.js.map +0 -1
  500. package/dist/prototype/route-defaults.d.ts +0 -43
  501. package/dist/prototype/route-defaults.d.ts.map +0 -1
  502. package/dist/prototype/route-defaults.js +0 -50
  503. package/dist/prototype/route-defaults.js.map +0 -1
  504. package/dist/prototype/screen-doc-paths.d.ts +0 -15
  505. package/dist/prototype/screen-doc-paths.d.ts.map +0 -1
  506. package/dist/prototype/screen-doc-paths.js +0 -38
  507. package/dist/prototype/screen-doc-paths.js.map +0 -1
  508. package/dist/prototype/spa-route-fallbacks.d.ts +0 -21
  509. package/dist/prototype/spa-route-fallbacks.d.ts.map +0 -1
  510. package/dist/prototype/spa-route-fallbacks.js +0 -93
  511. package/dist/prototype/spa-route-fallbacks.js.map +0 -1
  512. package/dist/prototype/theme-preview.d.ts +0 -17
  513. package/dist/prototype/theme-preview.d.ts.map +0 -1
  514. package/dist/prototype/theme-preview.js +0 -73
  515. package/dist/prototype/theme-preview.js.map +0 -1
  516. package/dist/prototype/themes.d.ts +0 -6
  517. package/dist/prototype/themes.d.ts.map +0 -1
  518. package/dist/prototype/themes.js +0 -55
  519. package/dist/prototype/themes.js.map +0 -1
  520. package/dist/prototype/types.d.ts +0 -160
  521. package/dist/prototype/types.d.ts.map +0 -1
  522. package/dist/prototype/types.js +0 -2
  523. package/dist/prototype/types.js.map +0 -1
  524. package/dist/prototype/validate.d.ts +0 -16
  525. package/dist/prototype/validate.d.ts.map +0 -1
  526. package/dist/prototype/validate.js +0 -149
  527. package/dist/prototype/validate.js.map +0 -1
  528. package/dist/registry/build.d.ts +0 -5
  529. package/dist/registry/build.d.ts.map +0 -1
  530. package/dist/registry/build.js +0 -71
  531. package/dist/registry/build.js.map +0 -1
  532. package/dist/registry/slug.d.ts +0 -4
  533. package/dist/registry/slug.d.ts.map +0 -1
  534. package/dist/registry/slug.js +0 -16
  535. package/dist/registry/slug.js.map +0 -1
  536. package/dist/registry/structure-patch.d.ts +0 -6
  537. package/dist/registry/structure-patch.d.ts.map +0 -1
  538. package/dist/registry/structure-patch.js +0 -49
  539. package/dist/registry/structure-patch.js.map +0 -1
  540. package/dist/template/scan.d.ts +0 -21
  541. package/dist/template/scan.d.ts.map +0 -1
  542. package/dist/template/scan.js +0 -84
  543. package/dist/template/scan.js.map +0 -1
  544. package/dist/template/validate.d.ts +0 -10
  545. package/dist/template/validate.d.ts.map +0 -1
  546. package/dist/template/validate.js +0 -64
  547. package/dist/template/validate.js.map +0 -1
  548. package/dist/util/fs.d.ts +0 -6
  549. package/dist/util/fs.d.ts.map +0 -1
  550. package/dist/util/fs.js +0 -24
  551. package/dist/util/fs.js.map +0 -1
  552. package/dist/util/git-diff.d.ts +0 -16
  553. package/dist/util/git-diff.d.ts.map +0 -1
  554. package/dist/util/git-diff.js +0 -93
  555. package/dist/util/git-diff.js.map +0 -1
  556. package/dist/util/gitignore.d.ts +0 -9
  557. package/dist/util/gitignore.d.ts.map +0 -1
  558. package/dist/util/gitignore.js +0 -44
  559. package/dist/util/gitignore.js.map +0 -1
  560. package/dist/util/open-browser.d.ts +0 -3
  561. package/dist/util/open-browser.d.ts.map +0 -1
  562. package/dist/util/open-browser.js +0 -24
  563. package/dist/util/open-browser.js.map +0 -1
  564. package/dist/util/paths.d.ts +0 -16
  565. package/dist/util/paths.d.ts.map +0 -1
  566. package/dist/util/paths.js +0 -19
  567. package/dist/util/paths.js.map +0 -1
  568. package/dist/util/prompt.d.ts +0 -14
  569. package/dist/util/prompt.d.ts.map +0 -1
  570. package/dist/util/prompt.js +0 -65
  571. package/dist/util/prompt.js.map +0 -1
  572. package/dist/visualize/html.d.ts +0 -13
  573. package/dist/visualize/html.d.ts.map +0 -1
  574. package/dist/visualize/html.js +0 -766
  575. package/dist/visualize/html.js.map +0 -1
  576. package/dist/visualize/stats.d.ts +0 -8
  577. package/dist/visualize/stats.d.ts.map +0 -1
  578. package/dist/visualize/stats.js +0 -9
  579. package/dist/visualize/stats.js.map +0 -1
@@ -1,472 +0,0 @@
1
- import { mkdir, writeFile } from "node:fs/promises";
2
- import { dirname, join } from "node:path";
3
- import { buildSectionRegistry } from "../registry/build.js";
4
- import { bootstrapFromRegistry } from "./bootstrap.js";
5
- import { validateGraph, formatIssues } from "./validate.js";
6
- import { runGraphMerge } from "./graph-merge.js";
7
- import { runProvenanceLink } from "../graph/provenance.js";
8
- import { ensureBusinessBundle, ensureSourceBundle } from "../graph/bundles.js";
9
- import { knowledgeStaleWarning, runDocSemanticMerge, } from "../index/doc-semantics.js";
10
- import { resolveProjectPaths } from "../util/paths.js";
11
- import { pathExists, readJson, writeJson } from "../util/fs.js";
12
- import { loadDocflowConfig, primaryLanguage } from "../config/load.js";
13
- import { knowledgeHasDomainEntries, isKnowledgePayload, } from "../graph/knowledge.js";
14
- import { computeKnowledgeStats } from "../visualize/stats.js";
15
- import { loadInMemoryGraph } from "../graph/loadGraph.js";
16
- import { primaryDocumentNodes, wireTranslationDocNode } from "../graph/translation.js";
17
- import { indexDocsConfigPath, } from "../index/docs-config.js";
18
- import { buildDocIndex, computeIndexSourceHash, discoverMarkdownFiles, } from "../index/docs-build.js";
19
- import { reconcileTranslationQueue } from "../lang/queue.js";
20
- export async function runIndex(opts = {}) {
21
- const paths = await resolveProjectPaths(opts.root);
22
- const { root: projectRoot, config: docflowConfig } = await loadDocflowConfig(opts.root);
23
- const steps = [];
24
- let failed = false;
25
- const record = (step) => {
26
- steps.push(step);
27
- if (step.status === "failed") {
28
- failed = true;
29
- }
30
- };
31
- const graphOnly = opts.graphOnly === true;
32
- const docsOnly = opts.docsOnly === true;
33
- if (graphOnly && docsOnly) {
34
- throw new Error("Use only one of --graph-only or --docs-only");
35
- }
36
- const runGraph = !docsOnly;
37
- const runDocs = !graphOnly && !opts.skipDocs;
38
- let graphJson = null;
39
- if (runGraph) {
40
- try {
41
- const registry = await buildSectionRegistry(projectRoot);
42
- await writeJson(paths.registry, registry);
43
- const total = registry.documents.reduce((n, d) => n + d.sections.length, 0);
44
- const graph = bootstrapFromRegistry(registry);
45
- await writeJson(paths.graph, graph.toTraceabilityGraph());
46
- graphJson = graph.toTraceabilityGraph();
47
- const statePath = join(projectRoot, ".ai-spector/.docflow/state.json");
48
- const state = await readJson(statePath).catch(() => ({
49
- version: 1,
50
- analysis: {},
51
- index: {},
52
- }));
53
- const analysis = state.analysis ?? {};
54
- analysis.graphPreparedAt = new Date().toISOString();
55
- analysis.indexRefreshedAt = new Date().toISOString();
56
- state.analysis = analysis;
57
- await writeJson(statePath, state);
58
- record({
59
- id: "graph-structure",
60
- label: "Traceability graph structure",
61
- status: "ok",
62
- detail: `${registry.documents.length} documents, ${total} sections → ${paths.graph}`,
63
- });
64
- }
65
- catch (err) {
66
- record({
67
- id: "graph-structure",
68
- label: "Traceability graph structure",
69
- status: "failed",
70
- detail: err instanceof Error ? err.message : String(err),
71
- });
72
- }
73
- if (!failed) {
74
- try {
75
- const primary = primaryLanguage(docflowConfig);
76
- const secondaryLangs = docflowConfig.languages.filter((l) => l.code !== primary.code);
77
- if (secondaryLangs.length > 0 && graphJson) {
78
- const graphMem = await loadInMemoryGraph(paths.graph);
79
- const allLangCodes = docflowConfig.languages.map((l) => l.code);
80
- const primaryDocNodes = primaryDocumentNodes(graphMem, allLangCodes);
81
- let added = 0;
82
- let updated = 0;
83
- for (const lang of secondaryLangs) {
84
- for (const docNode of primaryDocNodes) {
85
- const outcome = wireTranslationDocNode(graphMem, docNode, lang);
86
- if (outcome === "created")
87
- added++;
88
- else
89
- updated++;
90
- }
91
- }
92
- await writeJson(paths.graph, graphMem.toTraceabilityGraph());
93
- graphJson = graphMem.toTraceabilityGraph();
94
- const detailParts = [`${secondaryLangs.map((l) => l.code).join(", ")}`];
95
- if (added > 0)
96
- detailParts.push(`${added} node(s) added`);
97
- if (updated > 0)
98
- detailParts.push(`${updated} refreshed`);
99
- record({
100
- id: "language-nodes",
101
- label: "Multi-language translation nodes",
102
- status: "ok",
103
- detail: detailParts.join(" — "),
104
- });
105
- }
106
- else {
107
- record({
108
- id: "language-nodes",
109
- label: "Multi-language translation nodes",
110
- status: "skipped",
111
- detail: secondaryLangs.length === 0 ? "single-language project" : "no graph to annotate",
112
- });
113
- }
114
- }
115
- catch (err) {
116
- record({
117
- id: "language-nodes",
118
- label: "Multi-language translation nodes",
119
- status: "failed",
120
- detail: err instanceof Error ? err.message : String(err),
121
- });
122
- }
123
- }
124
- if (!opts.skipMerge && !failed) {
125
- const knowledgePath = join(projectRoot, ".ai-spector/.docflow/analysis/knowledge.json");
126
- try {
127
- if (!(await pathExists(knowledgePath))) {
128
- record({
129
- id: "knowledge-merge",
130
- label: "Knowledge → graph merge",
131
- status: "skipped",
132
- detail: `No ${knowledgePath} — run /analyze in Cursor to extract knowledge first`,
133
- });
134
- }
135
- else {
136
- const raw = await readJson(knowledgePath);
137
- if (!isKnowledgePayload(raw) || !knowledgeHasDomainEntries(raw)) {
138
- record({
139
- id: "knowledge-merge",
140
- label: "Knowledge → graph merge",
141
- status: "skipped",
142
- detail: "knowledge.json has no domain entries yet",
143
- });
144
- }
145
- else {
146
- await runGraphMerge({
147
- root: projectRoot,
148
- fromKnowledge: true,
149
- graphPath: paths.graph,
150
- validate: false,
151
- });
152
- graphJson = await readJson(paths.graph);
153
- const ks = computeKnowledgeStats(raw);
154
- record({
155
- id: "knowledge-merge",
156
- label: "Knowledge → graph merge",
157
- status: "ok",
158
- detail: `${ks.useCases} use cases, ${ks.features} features, ${ks.actors} actors merged`,
159
- });
160
- }
161
- }
162
- }
163
- catch (err) {
164
- record({
165
- id: "knowledge-merge",
166
- label: "Knowledge → graph merge",
167
- status: "failed",
168
- detail: err instanceof Error ? err.message : String(err),
169
- });
170
- }
171
- }
172
- else if (opts.skipMerge) {
173
- record({
174
- id: "knowledge-merge",
175
- label: "Knowledge → graph merge",
176
- status: "skipped",
177
- detail: "--skip-merge",
178
- });
179
- if (!failed) {
180
- try {
181
- graphJson = (await loadInMemoryGraph(paths.graph)).toTraceabilityGraph();
182
- }
183
- catch {
184
- graphJson = null;
185
- }
186
- }
187
- }
188
- if (!opts.skipDocSemantics && !failed) {
189
- try {
190
- const docResult = await runDocSemanticMerge({
191
- projectRoot,
192
- graphPath: paths.graph,
193
- });
194
- if (docResult.merged) {
195
- graphJson = await readJson(paths.graph);
196
- const stale = await knowledgeStaleWarning(projectRoot, docResult.sourceHashes);
197
- record({
198
- id: "docs-semantic-merge",
199
- label: "SRS/docs → graph (body extract)",
200
- status: "ok",
201
- detail: stale ? `${docResult.detail}\n ⚠ ${stale}` : docResult.detail,
202
- });
203
- }
204
- else {
205
- record({
206
- id: "docs-semantic-merge",
207
- label: "SRS/docs → graph (body extract)",
208
- status: "skipped",
209
- detail: docResult.detail,
210
- });
211
- }
212
- }
213
- catch (err) {
214
- record({
215
- id: "docs-semantic-merge",
216
- label: "SRS/docs → graph (body extract)",
217
- status: "failed",
218
- detail: err instanceof Error ? err.message : String(err),
219
- });
220
- }
221
- }
222
- else if (opts.skipDocSemantics) {
223
- record({
224
- id: "docs-semantic-merge",
225
- label: "SRS/docs → graph (body extract)",
226
- status: "skipped",
227
- detail: "--skip-doc-semantics",
228
- });
229
- }
230
- if (!failed) {
231
- try {
232
- const graphMem = await loadInMemoryGraph(paths.graph);
233
- const srcBundle = await ensureSourceBundle(graphMem, projectRoot);
234
- await writeJson(paths.graph, graphMem.toTraceabilityGraph());
235
- graphJson = graphMem.toTraceabilityGraph();
236
- record({
237
- id: "source-bundle",
238
- label: "Source hub (bundle.source)",
239
- status: "ok",
240
- detail: `${srcBundle.sourceFiles} source file node(s)`,
241
- });
242
- }
243
- catch (err) {
244
- record({
245
- id: "source-bundle",
246
- label: "Source hub (bundle.source)",
247
- status: "failed",
248
- detail: err instanceof Error ? err.message : String(err),
249
- });
250
- }
251
- }
252
- if (!failed) {
253
- try {
254
- const prov = await runProvenanceLink({
255
- projectRoot,
256
- graphPath: paths.graph,
257
- });
258
- if (prov.merged) {
259
- graphJson = await readJson(paths.graph);
260
- }
261
- record({
262
- id: "provenance-link",
263
- label: "Data-source provenance (derivedFrom)",
264
- status: prov.merged ? "ok" : "skipped",
265
- detail: prov.detail,
266
- });
267
- }
268
- catch (err) {
269
- record({
270
- id: "provenance-link",
271
- label: "Data-source provenance (derivedFrom)",
272
- status: "failed",
273
- detail: err instanceof Error ? err.message : String(err),
274
- });
275
- }
276
- }
277
- if (!failed) {
278
- try {
279
- const graphMem = await loadInMemoryGraph(paths.graph);
280
- const biz = ensureBusinessBundle(graphMem);
281
- await writeJson(paths.graph, graphMem.toTraceabilityGraph());
282
- graphJson = graphMem.toTraceabilityGraph();
283
- record({
284
- id: "business-bundle",
285
- label: "Business hub (bundle.business)",
286
- status: "ok",
287
- detail: `${biz.domainMembers} domain member(s)`,
288
- });
289
- }
290
- catch (err) {
291
- record({
292
- id: "business-bundle",
293
- label: "Business hub (bundle.business)",
294
- status: "failed",
295
- detail: err instanceof Error ? err.message : String(err),
296
- });
297
- }
298
- }
299
- if (!opts.skipValidate && !failed) {
300
- try {
301
- const issues = await validateGraph({
302
- graphPath: paths.graph,
303
- schemaPath: paths.schema,
304
- registryPath: paths.registry,
305
- rulesPath: paths.rulesTraceability,
306
- });
307
- const errors = issues.filter((i) => i.severity === "error");
308
- if (errors.length > 0) {
309
- record({
310
- id: "graph-validate",
311
- label: "Graph validate",
312
- status: "failed",
313
- detail: formatIssues(errors).trim(),
314
- });
315
- }
316
- else {
317
- const warns = issues.filter((i) => i.severity === "warn").length;
318
- record({
319
- id: "graph-validate",
320
- label: "Graph validate",
321
- status: "ok",
322
- detail: warns > 0 ? `OK (${warns} warnings)` : "OK",
323
- });
324
- }
325
- }
326
- catch (err) {
327
- record({
328
- id: "graph-validate",
329
- label: "Graph validate",
330
- status: "failed",
331
- detail: err instanceof Error ? err.message : String(err),
332
- });
333
- }
334
- }
335
- else {
336
- record({
337
- id: "graph-validate",
338
- label: "Graph validate",
339
- status: "skipped",
340
- detail: opts.skipValidate ? "--skip-validate" : "prior step failed",
341
- });
342
- }
343
- }
344
- if (runDocs) {
345
- const configPath = indexDocsConfigPath(projectRoot);
346
- try {
347
- if (!(await pathExists(configPath))) {
348
- record({
349
- id: "docs-index",
350
- label: "Document indexes (.ai-spector/index/)",
351
- status: "skipped",
352
- detail: `Missing ${configPath} — run npx ai-spector init`,
353
- });
354
- }
355
- else {
356
- const config = await readJson(configPath);
357
- if (!graphJson) {
358
- try {
359
- graphJson = (await loadInMemoryGraph(paths.graph)).toTraceabilityGraph();
360
- }
361
- catch {
362
- graphJson = null;
363
- }
364
- }
365
- const indexedAt = new Date().toISOString();
366
- const hashes = {};
367
- for (const kind of ["srs", "basicDesign"]) {
368
- const sourceKey = kind === "srs" ? "srs" : "basicDesign";
369
- const source = config.sources[sourceKey];
370
- if (!source) {
371
- continue;
372
- }
373
- // Collect files across all configured languages (docs/{type}/{lang.code}/**)
374
- // and fall back to the bare source root for projects that predate per-lang folders.
375
- const baseRoot = source.root; // e.g. "docs/srs"
376
- const langs = docflowConfig.languages;
377
- const allFiles = [];
378
- for (const lang of langs) {
379
- const langRoot = `${baseRoot}/${lang.code}`;
380
- const langFiles = await discoverMarkdownFiles(projectRoot, langRoot, source.glob ?? "**/*.md").catch(() => []);
381
- allFiles.push(...langFiles);
382
- }
383
- // Legacy fallback: scan base root directly only when no lang-scoped files exist
384
- // AND the base root itself contains .md files (pre-multi-lang project layout).
385
- if (allFiles.length === 0) {
386
- const legacyFiles = await discoverMarkdownFiles(projectRoot, baseRoot, source.glob ?? "**/*.md").catch(() => []);
387
- // Only use legacy files if they're not just .gitkeep or empty folders
388
- const mdFiles = legacyFiles.filter((f) => f.relativePath.endsWith(".md"));
389
- allFiles.push(...mdFiles);
390
- }
391
- hashes[sourceKey] = computeIndexSourceHash(allFiles);
392
- const built = await buildDocIndex({
393
- kind,
394
- config,
395
- projectRoot,
396
- files: allFiles,
397
- graph: graphJson,
398
- indexedAt,
399
- });
400
- const outPath = join(projectRoot, config.outputs[sourceKey]);
401
- await mkdir(dirname(outPath), { recursive: true });
402
- await writeFile(outPath, built.markdown, "utf8");
403
- }
404
- const statePath = join(projectRoot, ".ai-spector/.docflow/state.json");
405
- const state = await readJson(statePath).catch(() => ({
406
- version: 1,
407
- index: {},
408
- }));
409
- const indexState = state.index ?? {};
410
- indexState.lastRunAt = indexedAt;
411
- indexState.sourceHashes = hashes;
412
- state.index = indexState;
413
- await writeJson(statePath, state);
414
- record({
415
- id: "docs-index",
416
- label: "Document indexes (.ai-spector/index/)",
417
- status: "ok",
418
- detail: `srs hash ${hashes.srs ?? "—"}, basic-design hash ${hashes.basicDesign ?? "—"}`,
419
- });
420
- }
421
- }
422
- catch (err) {
423
- record({
424
- id: "docs-index",
425
- label: "Document indexes (.ai-spector/index/)",
426
- status: "failed",
427
- detail: err instanceof Error ? err.message : String(err),
428
- });
429
- }
430
- }
431
- else {
432
- record({
433
- id: "docs-index",
434
- label: "Document indexes (.ai-spector/index/)",
435
- status: "skipped",
436
- detail: graphOnly || opts.skipDocs ? "--graph-only or --skip-docs" : "docs-only graph skipped",
437
- });
438
- }
439
- try {
440
- const queueResult = await reconcileTranslationQueue(projectRoot, docflowConfig);
441
- if (queueResult.skipped) {
442
- record({
443
- id: "translation-queue",
444
- label: "Translation queue",
445
- status: "skipped",
446
- detail: queueResult.skipReason ?? "single language",
447
- });
448
- }
449
- else {
450
- record({
451
- id: "translation-queue",
452
- label: "Translation queue",
453
- status: "ok",
454
- detail: `${queueResult.pendingCount} pending, +${queueResult.enqueued} enqueued, ${queueResult.resolved} resolved, ${queueResult.failed} failed`,
455
- });
456
- }
457
- }
458
- catch (err) {
459
- record({
460
- id: "translation-queue",
461
- label: "Translation queue",
462
- status: "failed",
463
- detail: err instanceof Error ? err.message : String(err),
464
- });
465
- }
466
- if (failed) {
467
- const first = steps.find((s) => s.status === "failed");
468
- throw new Error(`Index refresh incomplete${first ? ` (${first.label})` : ""}. Fix errors above and re-run: npx ai-spector index`);
469
- }
470
- return { steps, failed };
471
- }
472
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- export type AgentTarget = "cursor" | "claude" | "both";
2
- export interface InitOptions {
3
- targetDir: string;
4
- force?: boolean;
5
- /** Language codes to set up, e.g. ["en", "jp"]. Defaults to ["en"]. */
6
- languages?: string[];
7
- /** Which AI agent scaffold to install. Prompted interactively when not set. */
8
- target?: AgentTarget;
9
- /** Skip all prompts and use defaults / provided flags. */
10
- yes?: boolean;
11
- }
12
- /** Copy bundled scaffold/cursor/ -> project .cursor/. */
13
- export declare function copyCursorToProject(projectRoot: string): Promise<void>;
14
- /** Copy bundled scaffold/claude/ -> project root (CLAUDE.md + .claude/). */
15
- export declare function copyClaudeToProject(projectRoot: string): Promise<void>;
16
- /** Copy scaffold into project. cursor/ and claude/ are handled via target. */
17
- export declare function copyScaffoldToProject(projectRoot: string, target?: AgentTarget): Promise<void>;
18
- export declare function runInit(opts: InitOptions): Promise<void>;
19
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA2BD,yDAAyD;AACzD,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED,4EAA4E;AAC5E,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED,8EAA8E;AAC9E,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,WAAsB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgBf;AA6DD,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqI9D"}