openlore 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 (634) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +268 -0
  3. package/dist/api/analyze.d.ts +17 -0
  4. package/dist/api/analyze.d.ts.map +1 -0
  5. package/dist/api/analyze.js +143 -0
  6. package/dist/api/analyze.js.map +1 -0
  7. package/dist/api/audit.d.ts +10 -0
  8. package/dist/api/audit.d.ts.map +1 -0
  9. package/dist/api/audit.js +117 -0
  10. package/dist/api/audit.js.map +1 -0
  11. package/dist/api/decisions.d.ts +55 -0
  12. package/dist/api/decisions.d.ts.map +1 -0
  13. package/dist/api/decisions.js +157 -0
  14. package/dist/api/decisions.js.map +1 -0
  15. package/dist/api/drift.d.ts +21 -0
  16. package/dist/api/drift.d.ts.map +1 -0
  17. package/dist/api/drift.js +152 -0
  18. package/dist/api/drift.js.map +1 -0
  19. package/dist/api/generate.d.ts +18 -0
  20. package/dist/api/generate.d.ts.map +1 -0
  21. package/dist/api/generate.js +259 -0
  22. package/dist/api/generate.js.map +1 -0
  23. package/dist/api/index.d.ts +41 -0
  24. package/dist/api/index.d.ts.map +1 -0
  25. package/dist/api/index.js +34 -0
  26. package/dist/api/index.js.map +1 -0
  27. package/dist/api/init.d.ts +18 -0
  28. package/dist/api/init.d.ts.map +1 -0
  29. package/dist/api/init.js +83 -0
  30. package/dist/api/init.js.map +1 -0
  31. package/dist/api/run.d.ts +19 -0
  32. package/dist/api/run.d.ts.map +1 -0
  33. package/dist/api/run.js +312 -0
  34. package/dist/api/run.js.map +1 -0
  35. package/dist/api/specs.d.ts +49 -0
  36. package/dist/api/specs.d.ts.map +1 -0
  37. package/dist/api/specs.js +137 -0
  38. package/dist/api/specs.js.map +1 -0
  39. package/dist/api/types.d.ts +201 -0
  40. package/dist/api/types.d.ts.map +1 -0
  41. package/dist/api/types.js +9 -0
  42. package/dist/api/types.js.map +1 -0
  43. package/dist/api/verify.d.ts +20 -0
  44. package/dist/api/verify.d.ts.map +1 -0
  45. package/dist/api/verify.js +117 -0
  46. package/dist/api/verify.js.map +1 -0
  47. package/dist/cli/commands/analyze.d.ts +30 -0
  48. package/dist/cli/commands/analyze.d.ts.map +1 -0
  49. package/dist/cli/commands/analyze.js +683 -0
  50. package/dist/cli/commands/analyze.js.map +1 -0
  51. package/dist/cli/commands/audit.d.ts +9 -0
  52. package/dist/cli/commands/audit.d.ts.map +1 -0
  53. package/dist/cli/commands/audit.js +98 -0
  54. package/dist/cli/commands/audit.js.map +1 -0
  55. package/dist/cli/commands/decisions.d.ts +16 -0
  56. package/dist/cli/commands/decisions.d.ts.map +1 -0
  57. package/dist/cli/commands/decisions.js +864 -0
  58. package/dist/cli/commands/decisions.js.map +1 -0
  59. package/dist/cli/commands/digest.d.ts +9 -0
  60. package/dist/cli/commands/digest.d.ts.map +1 -0
  61. package/dist/cli/commands/digest.js +61 -0
  62. package/dist/cli/commands/digest.js.map +1 -0
  63. package/dist/cli/commands/doctor.d.ts +9 -0
  64. package/dist/cli/commands/doctor.d.ts.map +1 -0
  65. package/dist/cli/commands/doctor.js +398 -0
  66. package/dist/cli/commands/doctor.js.map +1 -0
  67. package/dist/cli/commands/drift.d.ts +9 -0
  68. package/dist/cli/commands/drift.d.ts.map +1 -0
  69. package/dist/cli/commands/drift.js +550 -0
  70. package/dist/cli/commands/drift.js.map +1 -0
  71. package/dist/cli/commands/generate.d.ts +9 -0
  72. package/dist/cli/commands/generate.d.ts.map +1 -0
  73. package/dist/cli/commands/generate.js +565 -0
  74. package/dist/cli/commands/generate.js.map +1 -0
  75. package/dist/cli/commands/init.d.ts +9 -0
  76. package/dist/cli/commands/init.d.ts.map +1 -0
  77. package/dist/cli/commands/init.js +173 -0
  78. package/dist/cli/commands/init.js.map +1 -0
  79. package/dist/cli/commands/mcp.d.ts +2235 -0
  80. package/dist/cli/commands/mcp.d.ts.map +1 -0
  81. package/dist/cli/commands/mcp.js +1384 -0
  82. package/dist/cli/commands/mcp.js.map +1 -0
  83. package/dist/cli/commands/refresh-stories.d.ts +10 -0
  84. package/dist/cli/commands/refresh-stories.d.ts.map +1 -0
  85. package/dist/cli/commands/refresh-stories.js +314 -0
  86. package/dist/cli/commands/refresh-stories.js.map +1 -0
  87. package/dist/cli/commands/run.d.ts +9 -0
  88. package/dist/cli/commands/run.d.ts.map +1 -0
  89. package/dist/cli/commands/run.js +459 -0
  90. package/dist/cli/commands/run.js.map +1 -0
  91. package/dist/cli/commands/setup.d.ts +19 -0
  92. package/dist/cli/commands/setup.d.ts.map +1 -0
  93. package/dist/cli/commands/setup.js +355 -0
  94. package/dist/cli/commands/setup.js.map +1 -0
  95. package/dist/cli/commands/test.d.ts +22 -0
  96. package/dist/cli/commands/test.d.ts.map +1 -0
  97. package/dist/cli/commands/test.js +180 -0
  98. package/dist/cli/commands/test.js.map +1 -0
  99. package/dist/cli/commands/verify.d.ts +9 -0
  100. package/dist/cli/commands/verify.d.ts.map +1 -0
  101. package/dist/cli/commands/verify.js +383 -0
  102. package/dist/cli/commands/verify.js.map +1 -0
  103. package/dist/cli/commands/view.d.ts +13 -0
  104. package/dist/cli/commands/view.d.ts.map +1 -0
  105. package/dist/cli/commands/view.js +547 -0
  106. package/dist/cli/commands/view.js.map +1 -0
  107. package/dist/cli/index.d.ts +9 -0
  108. package/dist/cli/index.d.ts.map +1 -0
  109. package/dist/cli/index.js +118 -0
  110. package/dist/cli/index.js.map +1 -0
  111. package/dist/cli/tui-approval.d.ts +11 -0
  112. package/dist/cli/tui-approval.d.ts.map +1 -0
  113. package/dist/cli/tui-approval.js +129 -0
  114. package/dist/cli/tui-approval.js.map +1 -0
  115. package/dist/constants.d.ts +314 -0
  116. package/dist/constants.d.ts.map +1 -0
  117. package/dist/constants.js +382 -0
  118. package/dist/constants.js.map +1 -0
  119. package/dist/core/analyzer/ai-config-generator.d.ts +54 -0
  120. package/dist/core/analyzer/ai-config-generator.d.ts.map +1 -0
  121. package/dist/core/analyzer/ai-config-generator.js +98 -0
  122. package/dist/core/analyzer/ai-config-generator.js.map +1 -0
  123. package/dist/core/analyzer/architecture-writer.d.ts +67 -0
  124. package/dist/core/analyzer/architecture-writer.d.ts.map +1 -0
  125. package/dist/core/analyzer/architecture-writer.js +209 -0
  126. package/dist/core/analyzer/architecture-writer.js.map +1 -0
  127. package/dist/core/analyzer/artifact-generator.d.ts +261 -0
  128. package/dist/core/analyzer/artifact-generator.d.ts.map +1 -0
  129. package/dist/core/analyzer/artifact-generator.js +909 -0
  130. package/dist/core/analyzer/artifact-generator.js.map +1 -0
  131. package/dist/core/analyzer/ast-chunker.d.ts +24 -0
  132. package/dist/core/analyzer/ast-chunker.d.ts.map +1 -0
  133. package/dist/core/analyzer/ast-chunker.js +198 -0
  134. package/dist/core/analyzer/ast-chunker.js.map +1 -0
  135. package/dist/core/analyzer/call-graph.d.ts +162 -0
  136. package/dist/core/analyzer/call-graph.d.ts.map +1 -0
  137. package/dist/core/analyzer/call-graph.js +2040 -0
  138. package/dist/core/analyzer/call-graph.js.map +1 -0
  139. package/dist/core/analyzer/code-shaper.d.ts +33 -0
  140. package/dist/core/analyzer/code-shaper.d.ts.map +1 -0
  141. package/dist/core/analyzer/code-shaper.js +154 -0
  142. package/dist/core/analyzer/code-shaper.js.map +1 -0
  143. package/dist/core/analyzer/codebase-digest.d.ts +40 -0
  144. package/dist/core/analyzer/codebase-digest.d.ts.map +1 -0
  145. package/dist/core/analyzer/codebase-digest.js +195 -0
  146. package/dist/core/analyzer/codebase-digest.js.map +1 -0
  147. package/dist/core/analyzer/cpp-header-resolver.d.ts +30 -0
  148. package/dist/core/analyzer/cpp-header-resolver.d.ts.map +1 -0
  149. package/dist/core/analyzer/cpp-header-resolver.js +71 -0
  150. package/dist/core/analyzer/cpp-header-resolver.js.map +1 -0
  151. package/dist/core/analyzer/dependency-graph.d.ts +230 -0
  152. package/dist/core/analyzer/dependency-graph.d.ts.map +1 -0
  153. package/dist/core/analyzer/dependency-graph.js +752 -0
  154. package/dist/core/analyzer/dependency-graph.js.map +1 -0
  155. package/dist/core/analyzer/duplicate-detector.d.ts +52 -0
  156. package/dist/core/analyzer/duplicate-detector.d.ts.map +1 -0
  157. package/dist/core/analyzer/duplicate-detector.js +289 -0
  158. package/dist/core/analyzer/duplicate-detector.js.map +1 -0
  159. package/dist/core/analyzer/embedding-service.d.ts +56 -0
  160. package/dist/core/analyzer/embedding-service.d.ts.map +1 -0
  161. package/dist/core/analyzer/embedding-service.js +118 -0
  162. package/dist/core/analyzer/embedding-service.js.map +1 -0
  163. package/dist/core/analyzer/env-extractor.d.ts +33 -0
  164. package/dist/core/analyzer/env-extractor.d.ts.map +1 -0
  165. package/dist/core/analyzer/env-extractor.js +196 -0
  166. package/dist/core/analyzer/env-extractor.js.map +1 -0
  167. package/dist/core/analyzer/external-packages.d.ts +20 -0
  168. package/dist/core/analyzer/external-packages.d.ts.map +1 -0
  169. package/dist/core/analyzer/external-packages.js +175 -0
  170. package/dist/core/analyzer/external-packages.js.map +1 -0
  171. package/dist/core/analyzer/file-walker.d.ts +78 -0
  172. package/dist/core/analyzer/file-walker.d.ts.map +1 -0
  173. package/dist/core/analyzer/file-walker.js +532 -0
  174. package/dist/core/analyzer/file-walker.js.map +1 -0
  175. package/dist/core/analyzer/function-registry-trie.d.ts +21 -0
  176. package/dist/core/analyzer/function-registry-trie.d.ts.map +1 -0
  177. package/dist/core/analyzer/function-registry-trie.js +39 -0
  178. package/dist/core/analyzer/function-registry-trie.js.map +1 -0
  179. package/dist/core/analyzer/http-route-parser.d.ts +152 -0
  180. package/dist/core/analyzer/http-route-parser.d.ts.map +1 -0
  181. package/dist/core/analyzer/http-route-parser.js +971 -0
  182. package/dist/core/analyzer/http-route-parser.js.map +1 -0
  183. package/dist/core/analyzer/import-parser.d.ts +100 -0
  184. package/dist/core/analyzer/import-parser.d.ts.map +1 -0
  185. package/dist/core/analyzer/import-parser.js +952 -0
  186. package/dist/core/analyzer/import-parser.js.map +1 -0
  187. package/dist/core/analyzer/import-resolver-bridge.d.ts +25 -0
  188. package/dist/core/analyzer/import-resolver-bridge.d.ts.map +1 -0
  189. package/dist/core/analyzer/import-resolver-bridge.js +99 -0
  190. package/dist/core/analyzer/import-resolver-bridge.js.map +1 -0
  191. package/dist/core/analyzer/index.d.ts +10 -0
  192. package/dist/core/analyzer/index.d.ts.map +1 -0
  193. package/dist/core/analyzer/index.js +10 -0
  194. package/dist/core/analyzer/index.js.map +1 -0
  195. package/dist/core/analyzer/middleware-extractor.d.ts +29 -0
  196. package/dist/core/analyzer/middleware-extractor.d.ts.map +1 -0
  197. package/dist/core/analyzer/middleware-extractor.js +195 -0
  198. package/dist/core/analyzer/middleware-extractor.js.map +1 -0
  199. package/dist/core/analyzer/refactor-analyzer.d.ts +83 -0
  200. package/dist/core/analyzer/refactor-analyzer.d.ts.map +1 -0
  201. package/dist/core/analyzer/refactor-analyzer.js +351 -0
  202. package/dist/core/analyzer/refactor-analyzer.js.map +1 -0
  203. package/dist/core/analyzer/repository-mapper.d.ts +150 -0
  204. package/dist/core/analyzer/repository-mapper.d.ts.map +1 -0
  205. package/dist/core/analyzer/repository-mapper.js +740 -0
  206. package/dist/core/analyzer/repository-mapper.js.map +1 -0
  207. package/dist/core/analyzer/schema-extractor.d.ts +41 -0
  208. package/dist/core/analyzer/schema-extractor.d.ts.map +1 -0
  209. package/dist/core/analyzer/schema-extractor.js +229 -0
  210. package/dist/core/analyzer/schema-extractor.js.map +1 -0
  211. package/dist/core/analyzer/signature-extractor.d.ts +31 -0
  212. package/dist/core/analyzer/signature-extractor.d.ts.map +1 -0
  213. package/dist/core/analyzer/signature-extractor.js +675 -0
  214. package/dist/core/analyzer/signature-extractor.js.map +1 -0
  215. package/dist/core/analyzer/significance-scorer.d.ts +79 -0
  216. package/dist/core/analyzer/significance-scorer.d.ts.map +1 -0
  217. package/dist/core/analyzer/significance-scorer.js +407 -0
  218. package/dist/core/analyzer/significance-scorer.js.map +1 -0
  219. package/dist/core/analyzer/spec-snapshot-generator.d.ts +17 -0
  220. package/dist/core/analyzer/spec-snapshot-generator.d.ts.map +1 -0
  221. package/dist/core/analyzer/spec-snapshot-generator.js +201 -0
  222. package/dist/core/analyzer/spec-snapshot-generator.js.map +1 -0
  223. package/dist/core/analyzer/spec-vector-index.d.ts +68 -0
  224. package/dist/core/analyzer/spec-vector-index.d.ts.map +1 -0
  225. package/dist/core/analyzer/spec-vector-index.js +340 -0
  226. package/dist/core/analyzer/spec-vector-index.js.map +1 -0
  227. package/dist/core/analyzer/subgraph-extractor.d.ts +51 -0
  228. package/dist/core/analyzer/subgraph-extractor.d.ts.map +1 -0
  229. package/dist/core/analyzer/subgraph-extractor.js +147 -0
  230. package/dist/core/analyzer/subgraph-extractor.js.map +1 -0
  231. package/dist/core/analyzer/type-inference-engine.d.ts +23 -0
  232. package/dist/core/analyzer/type-inference-engine.d.ts.map +1 -0
  233. package/dist/core/analyzer/type-inference-engine.js +130 -0
  234. package/dist/core/analyzer/type-inference-engine.js.map +1 -0
  235. package/dist/core/analyzer/ui-component-extractor.d.ts +43 -0
  236. package/dist/core/analyzer/ui-component-extractor.d.ts.map +1 -0
  237. package/dist/core/analyzer/ui-component-extractor.js +245 -0
  238. package/dist/core/analyzer/ui-component-extractor.js.map +1 -0
  239. package/dist/core/analyzer/unified-search.d.ts +116 -0
  240. package/dist/core/analyzer/unified-search.d.ts.map +1 -0
  241. package/dist/core/analyzer/unified-search.js +231 -0
  242. package/dist/core/analyzer/unified-search.js.map +1 -0
  243. package/dist/core/analyzer/vector-index.d.ts +92 -0
  244. package/dist/core/analyzer/vector-index.d.ts.map +1 -0
  245. package/dist/core/analyzer/vector-index.js +451 -0
  246. package/dist/core/analyzer/vector-index.js.map +1 -0
  247. package/dist/core/decisions/consolidator.d.ts +14 -0
  248. package/dist/core/decisions/consolidator.d.ts.map +1 -0
  249. package/dist/core/decisions/consolidator.js +169 -0
  250. package/dist/core/decisions/consolidator.js.map +1 -0
  251. package/dist/core/decisions/extractor.d.ts +26 -0
  252. package/dist/core/decisions/extractor.d.ts.map +1 -0
  253. package/dist/core/decisions/extractor.js +156 -0
  254. package/dist/core/decisions/extractor.js.map +1 -0
  255. package/dist/core/decisions/index.d.ts +19 -0
  256. package/dist/core/decisions/index.d.ts.map +1 -0
  257. package/dist/core/decisions/index.js +16 -0
  258. package/dist/core/decisions/index.js.map +1 -0
  259. package/dist/core/decisions/store.d.ts +36 -0
  260. package/dist/core/decisions/store.d.ts.map +1 -0
  261. package/dist/core/decisions/store.js +109 -0
  262. package/dist/core/decisions/store.js.map +1 -0
  263. package/dist/core/decisions/syncer.d.ts +27 -0
  264. package/dist/core/decisions/syncer.d.ts.map +1 -0
  265. package/dist/core/decisions/syncer.js +214 -0
  266. package/dist/core/decisions/syncer.js.map +1 -0
  267. package/dist/core/decisions/verifier.d.ts +20 -0
  268. package/dist/core/decisions/verifier.d.ts.map +1 -0
  269. package/dist/core/decisions/verifier.js +115 -0
  270. package/dist/core/decisions/verifier.js.map +1 -0
  271. package/dist/core/digest/digest-generator.d.ts +29 -0
  272. package/dist/core/digest/digest-generator.d.ts.map +1 -0
  273. package/dist/core/digest/digest-generator.js +181 -0
  274. package/dist/core/digest/digest-generator.js.map +1 -0
  275. package/dist/core/drift/drift-detector.d.ts +102 -0
  276. package/dist/core/drift/drift-detector.d.ts.map +1 -0
  277. package/dist/core/drift/drift-detector.js +598 -0
  278. package/dist/core/drift/drift-detector.js.map +1 -0
  279. package/dist/core/drift/git-diff.d.ts +60 -0
  280. package/dist/core/drift/git-diff.d.ts.map +1 -0
  281. package/dist/core/drift/git-diff.js +383 -0
  282. package/dist/core/drift/git-diff.js.map +1 -0
  283. package/dist/core/drift/index.d.ts +12 -0
  284. package/dist/core/drift/index.d.ts.map +1 -0
  285. package/dist/core/drift/index.js +9 -0
  286. package/dist/core/drift/index.js.map +1 -0
  287. package/dist/core/drift/spec-mapper.d.ts +73 -0
  288. package/dist/core/drift/spec-mapper.d.ts.map +1 -0
  289. package/dist/core/drift/spec-mapper.js +353 -0
  290. package/dist/core/drift/spec-mapper.js.map +1 -0
  291. package/dist/core/drift/test-suggester.d.ts +18 -0
  292. package/dist/core/drift/test-suggester.d.ts.map +1 -0
  293. package/dist/core/drift/test-suggester.js +107 -0
  294. package/dist/core/drift/test-suggester.js.map +1 -0
  295. package/dist/core/generator/adr-generator.d.ts +32 -0
  296. package/dist/core/generator/adr-generator.d.ts.map +1 -0
  297. package/dist/core/generator/adr-generator.js +192 -0
  298. package/dist/core/generator/adr-generator.js.map +1 -0
  299. package/dist/core/generator/index.d.ts +9 -0
  300. package/dist/core/generator/index.d.ts.map +1 -0
  301. package/dist/core/generator/index.js +12 -0
  302. package/dist/core/generator/index.js.map +1 -0
  303. package/dist/core/generator/mapping-generator.d.ts +54 -0
  304. package/dist/core/generator/mapping-generator.d.ts.map +1 -0
  305. package/dist/core/generator/mapping-generator.js +240 -0
  306. package/dist/core/generator/mapping-generator.js.map +1 -0
  307. package/dist/core/generator/openspec-compat.d.ts +160 -0
  308. package/dist/core/generator/openspec-compat.d.ts.map +1 -0
  309. package/dist/core/generator/openspec-compat.js +524 -0
  310. package/dist/core/generator/openspec-compat.js.map +1 -0
  311. package/dist/core/generator/openspec-format-generator.d.ts +131 -0
  312. package/dist/core/generator/openspec-format-generator.d.ts.map +1 -0
  313. package/dist/core/generator/openspec-format-generator.js +963 -0
  314. package/dist/core/generator/openspec-format-generator.js.map +1 -0
  315. package/dist/core/generator/openspec-writer.d.ts +130 -0
  316. package/dist/core/generator/openspec-writer.d.ts.map +1 -0
  317. package/dist/core/generator/openspec-writer.js +404 -0
  318. package/dist/core/generator/openspec-writer.js.map +1 -0
  319. package/dist/core/generator/prompts.d.ts +35 -0
  320. package/dist/core/generator/prompts.d.ts.map +1 -0
  321. package/dist/core/generator/prompts.js +212 -0
  322. package/dist/core/generator/prompts.js.map +1 -0
  323. package/dist/core/generator/rag-manifest-generator.d.ts +37 -0
  324. package/dist/core/generator/rag-manifest-generator.d.ts.map +1 -0
  325. package/dist/core/generator/rag-manifest-generator.js +134 -0
  326. package/dist/core/generator/rag-manifest-generator.js.map +1 -0
  327. package/dist/core/generator/schemas.d.ts +365 -0
  328. package/dist/core/generator/schemas.d.ts.map +1 -0
  329. package/dist/core/generator/schemas.js +190 -0
  330. package/dist/core/generator/schemas.js.map +1 -0
  331. package/dist/core/generator/spec-pipeline.d.ts +123 -0
  332. package/dist/core/generator/spec-pipeline.d.ts.map +1 -0
  333. package/dist/core/generator/spec-pipeline.js +699 -0
  334. package/dist/core/generator/spec-pipeline.js.map +1 -0
  335. package/dist/core/generator/stages/stage1-survey.d.ts +19 -0
  336. package/dist/core/generator/stages/stage1-survey.d.ts.map +1 -0
  337. package/dist/core/generator/stages/stage1-survey.js +171 -0
  338. package/dist/core/generator/stages/stage1-survey.js.map +1 -0
  339. package/dist/core/generator/stages/stage2-entities.d.ts +11 -0
  340. package/dist/core/generator/stages/stage2-entities.d.ts.map +1 -0
  341. package/dist/core/generator/stages/stage2-entities.js +74 -0
  342. package/dist/core/generator/stages/stage2-entities.js.map +1 -0
  343. package/dist/core/generator/stages/stage3-services.d.ts +11 -0
  344. package/dist/core/generator/stages/stage3-services.d.ts.map +1 -0
  345. package/dist/core/generator/stages/stage3-services.js +85 -0
  346. package/dist/core/generator/stages/stage3-services.js.map +1 -0
  347. package/dist/core/generator/stages/stage4-api.d.ts +11 -0
  348. package/dist/core/generator/stages/stage4-api.d.ts.map +1 -0
  349. package/dist/core/generator/stages/stage4-api.js +72 -0
  350. package/dist/core/generator/stages/stage4-api.js.map +1 -0
  351. package/dist/core/generator/stages/stage5-architecture.d.ts +11 -0
  352. package/dist/core/generator/stages/stage5-architecture.d.ts.map +1 -0
  353. package/dist/core/generator/stages/stage5-architecture.js +75 -0
  354. package/dist/core/generator/stages/stage5-architecture.js.map +1 -0
  355. package/dist/core/generator/stages/stage6-adr.d.ts +8 -0
  356. package/dist/core/generator/stages/stage6-adr.d.ts.map +1 -0
  357. package/dist/core/generator/stages/stage6-adr.js +47 -0
  358. package/dist/core/generator/stages/stage6-adr.js.map +1 -0
  359. package/dist/core/services/chat-agent.d.ts +50 -0
  360. package/dist/core/services/chat-agent.d.ts.map +1 -0
  361. package/dist/core/services/chat-agent.js +369 -0
  362. package/dist/core/services/chat-agent.js.map +1 -0
  363. package/dist/core/services/chat-tools.d.ts +32 -0
  364. package/dist/core/services/chat-tools.d.ts.map +1 -0
  365. package/dist/core/services/chat-tools.js +494 -0
  366. package/dist/core/services/chat-tools.js.map +1 -0
  367. package/dist/core/services/config-manager.d.ts +61 -0
  368. package/dist/core/services/config-manager.d.ts.map +1 -0
  369. package/dist/core/services/config-manager.js +149 -0
  370. package/dist/core/services/config-manager.js.map +1 -0
  371. package/dist/core/services/edge-store.d.ts +57 -0
  372. package/dist/core/services/edge-store.d.ts.map +1 -0
  373. package/dist/core/services/edge-store.js +419 -0
  374. package/dist/core/services/edge-store.js.map +1 -0
  375. package/dist/core/services/gitignore-manager.d.ts +29 -0
  376. package/dist/core/services/gitignore-manager.d.ts.map +1 -0
  377. package/dist/core/services/gitignore-manager.js +95 -0
  378. package/dist/core/services/gitignore-manager.js.map +1 -0
  379. package/dist/core/services/index.d.ts +8 -0
  380. package/dist/core/services/index.d.ts.map +1 -0
  381. package/dist/core/services/index.js +8 -0
  382. package/dist/core/services/index.js.map +1 -0
  383. package/dist/core/services/llm-service.d.ts +379 -0
  384. package/dist/core/services/llm-service.d.ts.map +1 -0
  385. package/dist/core/services/llm-service.js +1553 -0
  386. package/dist/core/services/llm-service.js.map +1 -0
  387. package/dist/core/services/mcp-handlers/analysis.d.ts +127 -0
  388. package/dist/core/services/mcp-handlers/analysis.d.ts.map +1 -0
  389. package/dist/core/services/mcp-handlers/analysis.js +1185 -0
  390. package/dist/core/services/mcp-handlers/analysis.js.map +1 -0
  391. package/dist/core/services/mcp-handlers/change.d.ts +14 -0
  392. package/dist/core/services/mcp-handlers/change.d.ts.map +1 -0
  393. package/dist/core/services/mcp-handlers/change.js +416 -0
  394. package/dist/core/services/mcp-handlers/change.js.map +1 -0
  395. package/dist/core/services/mcp-handlers/decisions.d.ts +16 -0
  396. package/dist/core/services/mcp-handlers/decisions.d.ts.map +1 -0
  397. package/dist/core/services/mcp-handlers/decisions.js +239 -0
  398. package/dist/core/services/mcp-handlers/decisions.js.map +1 -0
  399. package/dist/core/services/mcp-handlers/graph.d.ts +94 -0
  400. package/dist/core/services/mcp-handlers/graph.d.ts.map +1 -0
  401. package/dist/core/services/mcp-handlers/graph.js +693 -0
  402. package/dist/core/services/mcp-handlers/graph.js.map +1 -0
  403. package/dist/core/services/mcp-handlers/orient.d.ts +17 -0
  404. package/dist/core/services/mcp-handlers/orient.d.ts.map +1 -0
  405. package/dist/core/services/mcp-handlers/orient.js +357 -0
  406. package/dist/core/services/mcp-handlers/orient.js.map +1 -0
  407. package/dist/core/services/mcp-handlers/semantic.d.ts +66 -0
  408. package/dist/core/services/mcp-handlers/semantic.d.ts.map +1 -0
  409. package/dist/core/services/mcp-handlers/semantic.js +432 -0
  410. package/dist/core/services/mcp-handlers/semantic.js.map +1 -0
  411. package/dist/core/services/mcp-handlers/utils.d.ts +85 -0
  412. package/dist/core/services/mcp-handlers/utils.d.ts.map +1 -0
  413. package/dist/core/services/mcp-handlers/utils.js +262 -0
  414. package/dist/core/services/mcp-handlers/utils.js.map +1 -0
  415. package/dist/core/services/mcp-watcher.d.ts +41 -0
  416. package/dist/core/services/mcp-watcher.d.ts.map +1 -0
  417. package/dist/core/services/mcp-watcher.js +254 -0
  418. package/dist/core/services/mcp-watcher.js.map +1 -0
  419. package/dist/core/services/project-detector.d.ts +32 -0
  420. package/dist/core/services/project-detector.d.ts.map +1 -0
  421. package/dist/core/services/project-detector.js +100 -0
  422. package/dist/core/services/project-detector.js.map +1 -0
  423. package/dist/core/test-generator/coverage-analyzer.d.ts +27 -0
  424. package/dist/core/test-generator/coverage-analyzer.d.ts.map +1 -0
  425. package/dist/core/test-generator/coverage-analyzer.js +285 -0
  426. package/dist/core/test-generator/coverage-analyzer.js.map +1 -0
  427. package/dist/core/test-generator/framework-detector.d.ts +17 -0
  428. package/dist/core/test-generator/framework-detector.d.ts.map +1 -0
  429. package/dist/core/test-generator/framework-detector.js +65 -0
  430. package/dist/core/test-generator/framework-detector.js.map +1 -0
  431. package/dist/core/test-generator/index.d.ts +14 -0
  432. package/dist/core/test-generator/index.d.ts.map +1 -0
  433. package/dist/core/test-generator/index.js +11 -0
  434. package/dist/core/test-generator/index.js.map +1 -0
  435. package/dist/core/test-generator/renderers/catch2.d.ts +8 -0
  436. package/dist/core/test-generator/renderers/catch2.d.ts.map +1 -0
  437. package/dist/core/test-generator/renderers/catch2.js +47 -0
  438. package/dist/core/test-generator/renderers/catch2.js.map +1 -0
  439. package/dist/core/test-generator/renderers/gtest.d.ts +8 -0
  440. package/dist/core/test-generator/renderers/gtest.d.ts.map +1 -0
  441. package/dist/core/test-generator/renderers/gtest.js +45 -0
  442. package/dist/core/test-generator/renderers/gtest.js.map +1 -0
  443. package/dist/core/test-generator/renderers/index.d.ts +20 -0
  444. package/dist/core/test-generator/renderers/index.d.ts.map +1 -0
  445. package/dist/core/test-generator/renderers/index.js +35 -0
  446. package/dist/core/test-generator/renderers/index.js.map +1 -0
  447. package/dist/core/test-generator/renderers/playwright.d.ts +8 -0
  448. package/dist/core/test-generator/renderers/playwright.d.ts.map +1 -0
  449. package/dist/core/test-generator/renderers/playwright.js +44 -0
  450. package/dist/core/test-generator/renderers/playwright.js.map +1 -0
  451. package/dist/core/test-generator/renderers/pytest.d.ts +8 -0
  452. package/dist/core/test-generator/renderers/pytest.d.ts.map +1 -0
  453. package/dist/core/test-generator/renderers/pytest.js +44 -0
  454. package/dist/core/test-generator/renderers/pytest.js.map +1 -0
  455. package/dist/core/test-generator/renderers/shared.d.ts +21 -0
  456. package/dist/core/test-generator/renderers/shared.d.ts.map +1 -0
  457. package/dist/core/test-generator/renderers/shared.js +56 -0
  458. package/dist/core/test-generator/renderers/shared.js.map +1 -0
  459. package/dist/core/test-generator/renderers/vitest.d.ts +8 -0
  460. package/dist/core/test-generator/renderers/vitest.d.ts.map +1 -0
  461. package/dist/core/test-generator/renderers/vitest.js +52 -0
  462. package/dist/core/test-generator/renderers/vitest.js.map +1 -0
  463. package/dist/core/test-generator/scenario-parser.d.ts +33 -0
  464. package/dist/core/test-generator/scenario-parser.d.ts.map +1 -0
  465. package/dist/core/test-generator/scenario-parser.js +244 -0
  466. package/dist/core/test-generator/scenario-parser.js.map +1 -0
  467. package/dist/core/test-generator/test-generator.d.ts +30 -0
  468. package/dist/core/test-generator/test-generator.d.ts.map +1 -0
  469. package/dist/core/test-generator/test-generator.js +174 -0
  470. package/dist/core/test-generator/test-generator.js.map +1 -0
  471. package/dist/core/test-generator/test-writer.d.ts +25 -0
  472. package/dist/core/test-generator/test-writer.d.ts.map +1 -0
  473. package/dist/core/test-generator/test-writer.js +128 -0
  474. package/dist/core/test-generator/test-writer.js.map +1 -0
  475. package/dist/core/test-generator/then-matchers.d.ts +35 -0
  476. package/dist/core/test-generator/then-matchers.d.ts.map +1 -0
  477. package/dist/core/test-generator/then-matchers.js +211 -0
  478. package/dist/core/test-generator/then-matchers.js.map +1 -0
  479. package/dist/core/verifier/index.d.ts +5 -0
  480. package/dist/core/verifier/index.d.ts.map +1 -0
  481. package/dist/core/verifier/index.js +5 -0
  482. package/dist/core/verifier/index.js.map +1 -0
  483. package/dist/core/verifier/verification-engine.d.ts +293 -0
  484. package/dist/core/verifier/verification-engine.d.ts.map +1 -0
  485. package/dist/core/verifier/verification-engine.js +919 -0
  486. package/dist/core/verifier/verification-engine.js.map +1 -0
  487. package/dist/types/index.d.ts +368 -0
  488. package/dist/types/index.d.ts.map +1 -0
  489. package/dist/types/index.js +5 -0
  490. package/dist/types/index.js.map +1 -0
  491. package/dist/types/pipeline.d.ts +167 -0
  492. package/dist/types/pipeline.d.ts.map +1 -0
  493. package/dist/types/pipeline.js +5 -0
  494. package/dist/types/pipeline.js.map +1 -0
  495. package/dist/types/test-generator.d.ts +103 -0
  496. package/dist/types/test-generator.d.ts.map +1 -0
  497. package/dist/types/test-generator.js +17 -0
  498. package/dist/types/test-generator.js.map +1 -0
  499. package/dist/utils/command-helpers.d.ts +68 -0
  500. package/dist/utils/command-helpers.d.ts.map +1 -0
  501. package/dist/utils/command-helpers.js +150 -0
  502. package/dist/utils/command-helpers.js.map +1 -0
  503. package/dist/utils/errors.d.ts +51 -0
  504. package/dist/utils/errors.d.ts.map +1 -0
  505. package/dist/utils/errors.js +129 -0
  506. package/dist/utils/errors.js.map +1 -0
  507. package/dist/utils/logger.d.ts +149 -0
  508. package/dist/utils/logger.d.ts.map +1 -0
  509. package/dist/utils/logger.js +342 -0
  510. package/dist/utils/logger.js.map +1 -0
  511. package/dist/utils/misc.d.ts +10 -0
  512. package/dist/utils/misc.d.ts.map +1 -0
  513. package/dist/utils/misc.js +21 -0
  514. package/dist/utils/misc.js.map +1 -0
  515. package/dist/utils/progress.d.ts +142 -0
  516. package/dist/utils/progress.d.ts.map +1 -0
  517. package/dist/utils/progress.js +283 -0
  518. package/dist/utils/progress.js.map +1 -0
  519. package/dist/utils/prompts.d.ts +53 -0
  520. package/dist/utils/prompts.d.ts.map +1 -0
  521. package/dist/utils/prompts.js +199 -0
  522. package/dist/utils/prompts.js.map +1 -0
  523. package/dist/utils/shutdown.d.ts +89 -0
  524. package/dist/utils/shutdown.d.ts.map +1 -0
  525. package/dist/utils/shutdown.js +238 -0
  526. package/dist/utils/shutdown.js.map +1 -0
  527. package/examples/bmad/README.md +113 -0
  528. package/examples/bmad/agents/architect.md +226 -0
  529. package/examples/bmad/agents/dev-brownfield.md +69 -0
  530. package/examples/bmad/setup/architect.customize.yaml +14 -0
  531. package/examples/bmad/tasks/implement-story.md +254 -0
  532. package/examples/bmad/tasks/onboarding.md +169 -0
  533. package/examples/bmad/tasks/refactor.md +178 -0
  534. package/examples/bmad/tasks/sprint-planning.md +168 -0
  535. package/examples/bmad/templates/story.md +108 -0
  536. package/examples/cline-workflows/openlore-analyze-codebase.md +101 -0
  537. package/examples/cline-workflows/openlore-check-spec-drift.md +102 -0
  538. package/examples/cline-workflows/openlore-execute-refactor.md +212 -0
  539. package/examples/cline-workflows/openlore-implement-feature.md +266 -0
  540. package/examples/cline-workflows/openlore-plan-refactor.md +279 -0
  541. package/examples/cline-workflows/openlore-refactor-codebase.md +16 -0
  542. package/examples/cline-workflows/openlore-write-tests.md +177 -0
  543. package/examples/drift-demo/openspec/config.yaml +14 -0
  544. package/examples/drift-demo/openspec/specs/architecture/spec.md +30 -0
  545. package/examples/drift-demo/openspec/specs/auth/spec.md +71 -0
  546. package/examples/drift-demo/openspec/specs/database/spec.md +33 -0
  547. package/examples/drift-demo/openspec/specs/overview/spec.md +20 -0
  548. package/examples/drift-demo/openspec/specs/projects/spec.md +55 -0
  549. package/examples/drift-demo/openspec/specs/tasks/spec.md +78 -0
  550. package/examples/drift-demo/package.json +21 -0
  551. package/examples/drift-demo/src/auth/auth-middleware.ts +30 -0
  552. package/examples/drift-demo/src/auth/auth-routes.ts +29 -0
  553. package/examples/drift-demo/src/auth/auth-service.ts +45 -0
  554. package/examples/drift-demo/src/database/connection.ts +27 -0
  555. package/examples/drift-demo/src/index.ts +16 -0
  556. package/examples/drift-demo/src/projects/project-model.ts +15 -0
  557. package/examples/drift-demo/src/projects/project-service.ts +34 -0
  558. package/examples/drift-demo/src/tasks/task-model.ts +37 -0
  559. package/examples/drift-demo/src/tasks/task-routes.ts +53 -0
  560. package/examples/drift-demo/src/tasks/task-service.ts +60 -0
  561. package/examples/drift-demo/src/utils/validation.ts +11 -0
  562. package/examples/drift-demo/tests/auth.test.ts +4 -0
  563. package/examples/drift-demo/tests/tasks.test.ts +4 -0
  564. package/examples/drift-demo/tsconfig.json +10 -0
  565. package/examples/drift-test/run-drift-test.sh +1087 -0
  566. package/examples/gsd/README.md +119 -0
  567. package/examples/gsd/commands/gsd/openlore-drift.md +111 -0
  568. package/examples/gsd/commands/gsd/openlore-orient.md +191 -0
  569. package/examples/mistral-vibe/README.md +101 -0
  570. package/examples/mistral-vibe/antipatterns-template.md +18 -0
  571. package/examples/mistral-vibe/skills/openlore-analyze-codebase/SKILL.md +124 -0
  572. package/examples/mistral-vibe/skills/openlore-brainstorm/SKILL.md +379 -0
  573. package/examples/mistral-vibe/skills/openlore-debug/SKILL.md +330 -0
  574. package/examples/mistral-vibe/skills/openlore-execute-refactor/SKILL.md +291 -0
  575. package/examples/mistral-vibe/skills/openlore-generate/SKILL.md +245 -0
  576. package/examples/mistral-vibe/skills/openlore-implement-story/SKILL.md +326 -0
  577. package/examples/mistral-vibe/skills/openlore-plan-refactor/SKILL.md +365 -0
  578. package/examples/mistral-vibe/skills/openlore-review-changes/SKILL.md +128 -0
  579. package/examples/mistral-vibe/skills/openlore-write-tests/SKILL.md +261 -0
  580. package/examples/opencode/agent-guard.ts +170 -0
  581. package/examples/opencode/plugins/anti-laziness.ts +202 -0
  582. package/examples/opencode/plugins/lib/openlore-context-injector-helpers.ts +116 -0
  583. package/examples/opencode/plugins/lib/openlore-decision-extractor-helpers.ts +65 -0
  584. package/examples/opencode/plugins/openlore-context-injector.test.ts +211 -0
  585. package/examples/opencode/plugins/openlore-context-injector.ts +165 -0
  586. package/examples/opencode/plugins/openlore-decision-extractor.test.ts +131 -0
  587. package/examples/opencode/plugins/openlore-decision-extractor.ts +322 -0
  588. package/examples/opencode/plugins/openlore-enforcer.ts +227 -0
  589. package/examples/opencode/prompts/sisyphus-sdd.md +150 -0
  590. package/examples/opencode-skills/openlore-analyze-codebase/SKILL.md +101 -0
  591. package/examples/opencode-skills/openlore-brainstorm/SKILL.md +354 -0
  592. package/examples/opencode-skills/openlore-debug/SKILL.md +291 -0
  593. package/examples/opencode-skills/openlore-execute-refactor/SKILL.md +241 -0
  594. package/examples/opencode-skills/openlore-generate/SKILL.md +236 -0
  595. package/examples/opencode-skills/openlore-implement-story/SKILL.md +251 -0
  596. package/examples/opencode-skills/openlore-plan-refactor/SKILL.md +298 -0
  597. package/examples/opencode-skills/openlore-review-changes/SKILL.md +134 -0
  598. package/examples/opencode-skills/openlore-write-tests/SKILL.md +230 -0
  599. package/examples/openspec-analysis/README.md +59 -0
  600. package/examples/openspec-analysis/SUMMARY.md +72 -0
  601. package/examples/openspec-analysis/config.json +16 -0
  602. package/examples/openspec-analysis/dependencies.mermaid +35 -0
  603. package/examples/openspec-analysis/dependency-graph.json +12116 -0
  604. package/examples/openspec-analysis/llm-context.json +119 -0
  605. package/examples/openspec-analysis/repo-structure.json +871 -0
  606. package/examples/openspec-cli/README.md +67 -0
  607. package/examples/openspec-cli/openspec/config.yaml +26 -0
  608. package/examples/openspec-cli/openspec/specs/architecture/spec.md +178 -0
  609. package/examples/openspec-cli/openspec/specs/artifact-graph/spec.md +143 -0
  610. package/examples/openspec-cli/openspec/specs/cli/spec.md +138 -0
  611. package/examples/openspec-cli/openspec/specs/overview/spec.md +60 -0
  612. package/examples/openspec-cli/openspec/specs/parsing/spec.md +123 -0
  613. package/examples/openspec-cli/openspec/specs/validation/spec.md +108 -0
  614. package/examples/spec-kit/README.md +104 -0
  615. package/examples/spec-kit/commands/drift.md +87 -0
  616. package/examples/spec-kit/commands/orient.md +138 -0
  617. package/examples/spec-kit/extension.yml +54 -0
  618. package/package.json +125 -0
  619. package/src/viewer/InteractiveGraphViewer.jsx +1600 -0
  620. package/src/viewer/app/index.html +17 -0
  621. package/src/viewer/app/main.jsx +13 -0
  622. package/src/viewer/components/ArchitectureView.jsx +177 -0
  623. package/src/viewer/components/ChatPanel.jsx +450 -0
  624. package/src/viewer/components/ClassGraph.jsx +782 -0
  625. package/src/viewer/components/ClusterGraph.jsx +469 -0
  626. package/src/viewer/components/FilterBar.jsx +179 -0
  627. package/src/viewer/components/FlatGraph.jsx +282 -0
  628. package/src/viewer/components/MicroComponents.jsx +85 -0
  629. package/src/viewer/hooks/usePanZoom.js +79 -0
  630. package/src/viewer/utils/constants.js +64 -0
  631. package/src/viewer/utils/graph-helpers.js +303 -0
  632. package/src/viewer/utils/graph-helpers.test.ts +39 -0
  633. package/src/viewer/utils/themes.js +206 -0
  634. package/stubs/tree-sitter-cli-stub/package.json +6 -0
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Prompt templates for each generation stage.
3
+ * These are used by the stage functions to construct LLM requests.
4
+ */
5
+ export declare const PROMPTS: {
6
+ stage1_survey: string;
7
+ stage2_entities: (projectCategory: string, frameworks: string[]) => string;
8
+ stage3_services: (projectCategory: string, entities: string[], suggestedDomains: string[]) => string;
9
+ stage4_api: string;
10
+ stage5_architecture: (survey: {
11
+ domainSummary: string;
12
+ architecturePattern: string;
13
+ suggestedDomains: string[];
14
+ }) => string;
15
+ stage6_adr: (architecture: {
16
+ layerMap: {
17
+ name: string;
18
+ purpose: string;
19
+ }[];
20
+ systemPurpose: string;
21
+ architectureStyle: string;
22
+ dataFlow: string;
23
+ securityModel: string;
24
+ integrations: string[];
25
+ keyDecisions: string[];
26
+ }) => string;
27
+ stage3_subspec_system: string;
28
+ stage3_subspec: (orchestratorName: string, orchestratorPurpose: string, callees: Array<{
29
+ name: string;
30
+ signature?: string;
31
+ docstring?: string;
32
+ subcallees: string[];
33
+ }>) => string;
34
+ };
35
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/core/generator/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,OAAO;;uCAkCiB,MAAM,cAAc,MAAM,EAAE;uCA6B5B,MAAM,YAAY,MAAM,EAAE,oBAAoB,MAAM,EAAE;;kCAgE3D;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAAE;+BAmCrF;QAAE,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE;;uCAyCnM,MAAM,uBACH,MAAM,WAClB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAcjG,CAAC"}
@@ -0,0 +1,212 @@
1
+ /**
2
+ * Prompt templates for each generation stage.
3
+ * These are used by the stage functions to construct LLM requests.
4
+ */
5
+ export const PROMPTS = {
6
+ stage1_survey: `You are a senior software architect performing a codebase audit.
7
+ Your task is to categorize this project based on the analysis data provided.
8
+
9
+ Respond with a JSON object containing:
10
+ - projectCategory: One of ["web-frontend", "web-backend", "api-service", "cli-tool", "library", "mobile-app", "desktop-app", "data-pipeline", "ml-service", "monorepo", "other"]
11
+ - primaryLanguage: The main language
12
+ - frameworks: Array of detected frameworks
13
+ - architecturePattern: One of ["layered", "hexagonal", "microservices", "monolith", "serverless", "event-driven", "mvc", "other"]
14
+ - domainSummary: One sentence describing what this system does
15
+ - suggestedDomains: Array of domain names for OpenSpec specs (e.g., ["user", "order", "auth", "api"])
16
+ - confidence: 0-1 score of how confident you are
17
+ - schemaFiles: Array of file paths (from the provided file list) that define data models, types, entities, or interfaces — these will be used for entity extraction. Include files regardless of their name, based on their content role.
18
+ - serviceFiles: Array of file paths containing business logic, services, processors, analyzers, pipelines, or domain operations — used for service analysis. Do not filter by name conventions; look at what the file does.
19
+ - apiFiles: Array of file paths that expose public interfaces: HTTP routes, CLI command handlers, GraphQL resolvers, message consumers, or external-facing APIs.
20
+
21
+ For schemaFiles/serviceFiles/apiFiles: use the exact file paths from the provided analysis. Return [] if none apply.
22
+
23
+ Example output:
24
+ {
25
+ "projectCategory": "api-service",
26
+ "primaryLanguage": "TypeScript",
27
+ "frameworks": ["Express", "Prisma"],
28
+ "architecturePattern": "layered",
29
+ "domainSummary": "REST API managing e-commerce orders and inventory.",
30
+ "suggestedDomains": ["order", "product", "auth"],
31
+ "confidence": 0.85,
32
+ "schemaFiles": ["src/models/order.ts", "src/types/product.ts"],
33
+ "serviceFiles": ["src/services/order-service.ts", "src/core/inventory.ts"],
34
+ "apiFiles": ["src/routes/orders.ts", "src/cli/commands/create.ts"]
35
+ }
36
+
37
+ Respond ONLY with valid JSON.`,
38
+ stage2_entities: (projectCategory, frameworks) => `You are analyzing the core data models of a ${projectCategory} built with ${frameworks.join(', ')}.
39
+
40
+ For each entity you identify, extract in OpenSpec format:
41
+ - name: The entity name (e.g., "User", "Order")
42
+ - description: What this entity represents in the business domain
43
+ - properties: Array of {name, type, description, required}
44
+ - relationships: Array of {targetEntity, type, description}
45
+ - validations: Array of validation rules as strings (these become Requirements)
46
+ - scenarios: Array of {name, given, when, then, and?} - observable behaviors in Given/When/Then format
47
+
48
+ Focus on BUSINESS entities, not framework internals.
49
+ Be precise - only include what you can verify from the code.
50
+
51
+ Example output:
52
+ [{
53
+ "name": "Order",
54
+ "description": "Represents a customer purchase transaction.",
55
+ "properties": [
56
+ {"name": "id", "type": "string", "description": "Unique identifier", "required": true},
57
+ {"name": "status", "type": "OrderStatus", "description": "Current lifecycle state", "required": true}
58
+ ],
59
+ "relationships": [{"targetEntity": "User", "type": "belongs-to", "description": "Order belongs to a customer"}],
60
+ "validations": ["Total must be positive", "Status transitions: pending → confirmed → shipped"],
61
+ "scenarios": [{"name": "Place order", "given": "User with items in cart", "when": "submitOrder() is called", "then": "Order created with status 'pending' and inventory reserved"}],
62
+ "location": ""
63
+ }]
64
+
65
+ Respond with a JSON array of entities. Respond ONLY with valid JSON.`,
66
+ stage3_services: (projectCategory, entities, suggestedDomains) => `You are analyzing the logic and processing layer of a ${projectCategory}.
67
+
68
+ Known entities: ${entities.join(', ')}
69
+ Available domains: ${suggestedDomains.join(', ')}
70
+
71
+ For each service/module, identify:
72
+ - name: Service name
73
+ - purpose: What capability or responsibility it encapsulates
74
+ - operations: Array of {name, description, inputs, outputs, scenarios, functionName} - key operations/methods that become Requirements with Scenarios. Cover all meaningful operations that represent distinct business behaviors.
75
+ - operations[].functionName: The exact function or method name as written in the source code that implements this operation (e.g. "runStage2", "buildSpecMap"). Leave empty string if uncertain.
76
+ - dependencies: Array of other services/repositories it uses
77
+ - sideEffects: Array of external interactions (file I/O, network calls, database, queues, etc.)
78
+ - domain: Which domain OWNS this service (where it lives in the codebase, not who uses it) — use ONLY one of the available domains listed above
79
+
80
+ Focus on WHAT the service does, not HOW it's implemented.
81
+ Express operations as requirements (SHALL/MUST/SHOULD) with testable scenarios.
82
+
83
+ Example output:
84
+ [{
85
+ "name": "OrderService",
86
+ "purpose": "Manages order lifecycle: placement, validation, and fulfillment.",
87
+ "operations": [
88
+ {
89
+ "name": "placeOrder",
90
+ "description": "Validates cart contents and creates a new order record.",
91
+ "inputs": ["userId: string", "items: CartItem[]"],
92
+ "outputs": ["orderId: string"],
93
+ "functionName": "placeOrder",
94
+ "scenarios": [{"name": "Valid order", "given": "In-stock items in cart", "when": "placeOrder is called", "then": "Order persisted and inventory reserved"}]
95
+ }
96
+ ],
97
+ "dependencies": ["InventoryService", "OrderRepository"],
98
+ "sideEffects": ["Writes to orders table", "Sends confirmation email via queue"],
99
+ "domain": "order"
100
+ }]
101
+
102
+ Respond with a JSON array of services. Respond ONLY with valid JSON.`,
103
+ stage4_api: `Extract the public API surface of this application.
104
+
105
+ For each endpoint/interface, structure as:
106
+ - method: HTTP method or interface type
107
+ - path: Route path or interface signature
108
+ - purpose: What it does (becomes requirement description)
109
+ - authentication: Required auth (if detectable)
110
+ - requestSchema: Expected input as JSON object
111
+ - responseSchema: Expected output as JSON object
112
+ - scenarios: Array of {name, given, when, then, and?} - example request/response flows
113
+ - relatedEntity: Which domain entity it operates on
114
+
115
+ Example output:
116
+ [{
117
+ "method": "POST",
118
+ "path": "/api/orders",
119
+ "purpose": "Create a new order from the current cart.",
120
+ "authentication": "Bearer JWT",
121
+ "requestSchema": {"userId": "string", "items": "CartItem[]"},
122
+ "responseSchema": {"orderId": "string", "status": "pending"},
123
+ "scenarios": [{"name": "Create order", "given": "Authenticated user with valid cart", "when": "POST /api/orders is called", "then": "201 Created with orderId in response body"}],
124
+ "relatedEntity": "Order"
125
+ }]
126
+
127
+ Respond with a JSON array of endpoints. Respond ONLY with valid JSON.`,
128
+ stage5_architecture: (survey) => `Based on the analysis data, synthesize a complete architecture overview for OpenSpec.
129
+
130
+ Project context: ${survey.domainSummary}
131
+ Architecture pattern: ${survey.architecturePattern}
132
+ Domains: ${survey.suggestedDomains.join(', ')}
133
+
134
+ Include:
135
+ - systemPurpose: 2-3 sentences on what this system does and why
136
+ - architectureStyle: The overall architecture pattern with justification
137
+ - layerMap: Array of {name, purpose, components} - how code is organized
138
+ - dataFlow: How data moves through the system (entry to persistence) as a string
139
+ - integrations: Array of external systems this interacts with
140
+ - securityModel: Authentication/authorization approach as a string
141
+ - keyDecisions: Array of observable architectural decisions as strings
142
+
143
+ Express each key architectural aspect clearly.
144
+ Base all conclusions on the code evidence provided.
145
+ Where uncertain, say so explicitly.
146
+
147
+ Example output:
148
+ {
149
+ "systemPurpose": "A REST API for e-commerce order management. It allows customers to browse products, place orders, and track fulfillment.",
150
+ "architectureStyle": "Layered architecture: HTTP routes → service layer → repository pattern over PostgreSQL.",
151
+ "layerMap": [
152
+ {"name": "API", "purpose": "HTTP routing and input validation", "components": ["routes/orders.ts", "routes/products.ts"]},
153
+ {"name": "Service", "purpose": "Business logic and orchestration", "components": ["services/order-service.ts"]}
154
+ ],
155
+ "dataFlow": "HTTP request → route handler → service → repository → PostgreSQL; async email notifications via Redis queue",
156
+ "integrations": ["PostgreSQL", "Redis", "SendGrid"],
157
+ "securityModel": "JWT Bearer tokens issued at login; route middleware enforces authentication on all /api/* routes",
158
+ "keyDecisions": ["Use Prisma ORM for type-safe database access", "Redis queue for async email notifications to avoid request latency"]
159
+ }
160
+
161
+ Respond with a JSON object. Respond ONLY with valid JSON.`,
162
+ stage6_adr: (architecture) => `You are a senior software architect creating Architecture Decision Records (ADRs).
163
+
164
+ For each key decision listed below, produce a complete ADR with:
165
+ - id: Sequential like "ADR-001", "ADR-002", etc.
166
+ - title: The decision as a clear statement (e.g., "Use TypeORM for database access")
167
+ - status: "accepted" (these are observed decisions already implemented in the code)
168
+ - context: 2-3 sentences on why this decision was needed
169
+ - decision: 1-2 sentences clearly stating what was decided
170
+ - consequences: Array of 2-4 consequences (include both positive and negative)
171
+ - alternatives: Array of 1-3 alternatives that could have been chosen instead
172
+ - relatedLayers: Array of architecture layer names affected (from: ${architecture.layerMap.map(l => l.name).join(', ')})
173
+ - relatedDomains: Array of domain names affected
174
+
175
+ Architecture context:
176
+ - System purpose: ${architecture.systemPurpose}
177
+ - Architecture style: ${architecture.architectureStyle}
178
+ - Layers: ${architecture.layerMap.map(l => `${l.name} (${l.purpose})`).join(', ')}
179
+ - Data flow: ${architecture.dataFlow}
180
+ - Security model: ${architecture.securityModel}
181
+ - External integrations: ${architecture.integrations.join(', ') || 'None'}
182
+
183
+ Key decisions to expand into full ADRs:
184
+ ${architecture.keyDecisions.map((d, i) => `${i + 1}. ${d}`).join('\n')}
185
+
186
+ Base all conclusions on the code evidence provided. Where uncertain, say so explicitly.
187
+ Respond with a JSON array of ADR objects. Respond ONLY with valid JSON.`,
188
+ stage3_subspec_system: `You are generating sub-specifications for the logical blocks of an orchestrator function.
189
+
190
+ For each sub-block provided, generate a focused specification:
191
+ - name: short camelCase identifier (e.g. "entityExtraction", "schemaValidation")
192
+ - callee: exact function/method name as written in source code
193
+ - purpose: one sentence describing what this block does
194
+ - operations: array of {name, description, inputs, outputs, scenarios, functionName}
195
+ - Express operations as requirements using SHALL/MUST/SHOULD keywords
196
+ - Include at least one testable scenario per operation
197
+
198
+ Focus on WHAT each block does, not HOW it is implemented.
199
+ Respond ONLY with a valid JSON array of sub-specification objects.`,
200
+ stage3_subspec: (orchestratorName, orchestratorPurpose, callees) => `Orchestrator function: ${orchestratorName}
201
+ Purpose: ${orchestratorPurpose}
202
+
203
+ Sub-blocks to specify:
204
+ ${callees.map((c, i) => `${i + 1}. ${c.name}` +
205
+ (c.signature ? `\n Signature: ${c.signature}` : '') +
206
+ (c.docstring ? `\n Doc: ${c.docstring}` : '') +
207
+ (c.subcallees.length > 0 ? `\n Calls: ${c.subcallees.join(', ')}` : '')).join('\n')}
208
+
209
+ Generate one sub-specification per sub-block listed above.
210
+ Respond ONLY with a valid JSON array of {name, callee, purpose, operations} objects.`,
211
+ };
212
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/core/generator/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA+Ba;IAE5B,eAAe,EAAE,CAAC,eAAuB,EAAE,UAAoB,EAAE,EAAE,CAAC,+CAA+C,eAAe,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;qEA2BnG;IAEnE,eAAe,EAAE,CAAC,eAAuB,EAAE,QAAkB,EAAE,gBAA0B,EAAE,EAAE,CAAC,yDAAyD,eAAe;;kBAEtJ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBAChB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEAiCqB;IAEnE,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;sEAwBwD;IAEpE,mBAAmB,EAAE,CAAC,MAA0F,EAAE,EAAE,CAAC;;mBAEpG,MAAM,CAAC,aAAa;wBACf,MAAM,CAAC,mBAAmB;WACvC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DA6Ba;IAExD,UAAU,EAAE,CAAC,YAA0M,EAAE,EAAE,CAAC;;;;;;;;;;qEAUzJ,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;oBAIlG,YAAY,CAAC,aAAa;wBACtB,YAAY,CAAC,iBAAiB;YAC1C,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;eAClE,YAAY,CAAC,QAAQ;oBAChB,YAAY,CAAC,aAAa;2BACnB,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;;EAGvE,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;wEAGE;IAEtE,qBAAqB,EAAE;;;;;;;;;;;mEAW0C;IAEjE,cAAc,EAAE,CACd,gBAAwB,EACxB,mBAA2B,EAC3B,OAA8F,EAC9F,EAAE,CAAC,0BAA0B,gBAAgB;WACtC,mBAAmB;;;EAG5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACrB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;QACrB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1E,CAAC,IAAI,CAAC,IAAI,CAAC;;;qFAGyE;CACpF,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * RAG Manifest Generator
3
+ *
4
+ * Produces openspec/rag-manifest.json — a lightweight index that maps each
5
+ * spec domain to its source files and cross-domain dependency edges. Used by
6
+ * the orient MCP handler to inline condensed spec content without a separate
7
+ * get_spec call.
8
+ */
9
+ import type { DependencyGraphResult } from '../analyzer/dependency-graph.js';
10
+ import type { GeneratedSpec } from './openspec-format-generator.js';
11
+ export interface RagManifest {
12
+ generatedAt: string;
13
+ specVersion: string;
14
+ domains: RagDomainEntry[];
15
+ }
16
+ export interface RagDomainEntry {
17
+ /** Domain name, e.g. "analyzer" */
18
+ domain: string;
19
+ /** Relative path to the spec file, e.g. "openspec/specs/analyzer/spec.md" */
20
+ specPath: string;
21
+ /** Relative source file paths belonging to this domain's cluster */
22
+ sourceFiles: string[];
23
+ /** Number of Requirement blocks in the spec (populated post-generation) */
24
+ requirementCount: number;
25
+ /** Domains this domain calls into (outbound cross-cluster edges) */
26
+ dependsOn: string[];
27
+ /** Domains that call into this domain (inbound cross-cluster edges) */
28
+ calledBy: string[];
29
+ }
30
+ export declare class RagManifestGenerator {
31
+ /**
32
+ * Build a RagManifest from the list of generated specs and the dependency
33
+ * graph (optional — if absent, sourceFiles / dependsOn / calledBy are empty).
34
+ */
35
+ generate(specs: GeneratedSpec[], depGraph?: DependencyGraphResult): RagManifest;
36
+ }
37
+ //# sourceMappingURL=rag-manifest-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag-manifest-generator.d.ts","sourceRoot":"","sources":["../../../src/core/generator/rag-manifest-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAMpE,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD,qBAAa,oBAAoB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,WAAW;CAoHhF"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * RAG Manifest Generator
3
+ *
4
+ * Produces openspec/rag-manifest.json — a lightweight index that maps each
5
+ * spec domain to its source files and cross-domain dependency edges. Used by
6
+ * the orient MCP handler to inline condensed spec content without a separate
7
+ * get_spec call.
8
+ */
9
+ // ============================================================================
10
+ // GENERATOR
11
+ // ============================================================================
12
+ export class RagManifestGenerator {
13
+ /**
14
+ * Build a RagManifest from the list of generated specs and the dependency
15
+ * graph (optional — if absent, sourceFiles / dependsOn / calledBy are empty).
16
+ */
17
+ generate(specs, depGraph) {
18
+ const domainSpecs = specs.filter(s => s.type === 'domain');
19
+ // Build domain → cluster mapping from depGraph
20
+ const clusterByDomain = new Map();
21
+ if (depGraph) {
22
+ for (const cluster of depGraph.clusters) {
23
+ const domainKey = cluster.suggestedDomain.toLowerCase();
24
+ // Keep the first (or structural) cluster per domain
25
+ if (!clusterByDomain.has(domainKey) || cluster.isStructural) {
26
+ clusterByDomain.set(domainKey, {
27
+ files: cluster.files,
28
+ id: cluster.id,
29
+ });
30
+ }
31
+ }
32
+ }
33
+ // Build file → cluster-id index for edge resolution
34
+ const clusterIdByFile = new Map();
35
+ const clusterDomainById = new Map();
36
+ if (depGraph) {
37
+ for (const [domain, cl] of clusterByDomain) {
38
+ clusterDomainById.set(cl.id, domain);
39
+ for (const f of cl.files)
40
+ clusterIdByFile.set(f, cl.id);
41
+ }
42
+ }
43
+ // Build a flat list of all cluster files for filename-based fallback
44
+ const allClusterFiles = [];
45
+ if (depGraph) {
46
+ for (const [domain, cl] of clusterByDomain) {
47
+ for (const f of cl.files)
48
+ allClusterFiles.push({ file: f, domain });
49
+ }
50
+ }
51
+ // For each domain spec, compute dependsOn / calledBy from dep graph edges
52
+ const entries = domainSpecs.map(spec => {
53
+ const domainKey = spec.domain.toLowerCase();
54
+ let cluster = clusterByDomain.get(domainKey);
55
+ // Fallback: if no exact cluster match, collect files whose basename
56
+ // contains the domain name (e.g. "openspec-*.ts" for domain "openspec")
57
+ let sourceFiles;
58
+ if (cluster) {
59
+ sourceFiles = cluster.files;
60
+ }
61
+ else if (depGraph) {
62
+ sourceFiles = allClusterFiles
63
+ .filter(({ file }) => {
64
+ const basename = file.split('/').pop() ?? '';
65
+ return basename.toLowerCase().includes(domainKey);
66
+ })
67
+ .map(({ file }) => file);
68
+ // Synthesise a virtual cluster entry so edge resolution works below
69
+ if (sourceFiles.length > 0) {
70
+ const virtualId = `virtual:${domainKey}`;
71
+ cluster = { files: sourceFiles, id: virtualId };
72
+ clusterByDomain.set(domainKey, cluster);
73
+ clusterDomainById.set(virtualId, domainKey);
74
+ for (const f of sourceFiles)
75
+ clusterIdByFile.set(f, virtualId);
76
+ }
77
+ }
78
+ else {
79
+ sourceFiles = [];
80
+ }
81
+ const clusterFileSet = new Set(cluster?.files ?? sourceFiles);
82
+ const dependsOnDomains = new Set();
83
+ const calledByDomains = new Set();
84
+ if (depGraph && cluster) {
85
+ for (const edge of depGraph.edges) {
86
+ const srcInCluster = clusterFileSet.has(edge.source);
87
+ const tgtInCluster = clusterFileSet.has(edge.target);
88
+ if (srcInCluster && !tgtInCluster) {
89
+ // This domain calls into the target's cluster
90
+ const tgtClusterId = clusterIdByFile.get(edge.target);
91
+ const tgtDomain = tgtClusterId
92
+ ? clusterDomainById.get(tgtClusterId)
93
+ : undefined;
94
+ if (tgtDomain && tgtDomain !== domainKey) {
95
+ dependsOnDomains.add(tgtDomain);
96
+ }
97
+ }
98
+ else if (!srcInCluster && tgtInCluster) {
99
+ // Another domain calls into this cluster
100
+ const srcClusterId = clusterIdByFile.get(edge.source);
101
+ const srcDomain = srcClusterId
102
+ ? clusterDomainById.get(srcClusterId)
103
+ : undefined;
104
+ if (srcDomain && srcDomain !== domainKey) {
105
+ calledByDomains.add(srcDomain);
106
+ }
107
+ }
108
+ }
109
+ }
110
+ return {
111
+ domain: spec.domain,
112
+ specPath: spec.path,
113
+ sourceFiles,
114
+ requirementCount: countRequirements(spec.content),
115
+ dependsOn: [...dependsOnDomains].sort(),
116
+ calledBy: [...calledByDomains].sort(),
117
+ };
118
+ });
119
+ return {
120
+ generatedAt: new Date().toISOString(),
121
+ specVersion: '1.0.0',
122
+ domains: entries.sort((a, b) => a.domain.localeCompare(b.domain)),
123
+ };
124
+ }
125
+ }
126
+ // ============================================================================
127
+ // HELPERS
128
+ // ============================================================================
129
+ /** Count `### Requirement:` headers in a spec's markdown content */
130
+ function countRequirements(content) {
131
+ const matches = content.match(/^### Requirement:/gm);
132
+ return matches?.length ?? 0;
133
+ }
134
+ //# sourceMappingURL=rag-manifest-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag-manifest-generator.js","sourceRoot":"","sources":["../../../src/core/generator/rag-manifest-generator.ts"],"names":[],"mappings":"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"}