@yalehwang/archguard 0.1.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 (427) hide show
  1. package/README.md +537 -0
  2. package/dist/cli/cache/arch-json-disk-cache.d.ts +12 -0
  3. package/dist/cli/cache/arch-json-disk-cache.d.ts.map +1 -0
  4. package/dist/cli/cache/arch-json-disk-cache.js +51 -0
  5. package/dist/cli/cache/arch-json-disk-cache.js.map +1 -0
  6. package/dist/cli/cache-manager.d.ts +28 -0
  7. package/dist/cli/cache-manager.d.ts.map +1 -0
  8. package/dist/cli/cache-manager.js +126 -0
  9. package/dist/cli/cache-manager.js.map +1 -0
  10. package/dist/cli/commands/analyze.d.ts +7 -0
  11. package/dist/cli/commands/analyze.d.ts.map +1 -0
  12. package/dist/cli/commands/analyze.js +212 -0
  13. package/dist/cli/commands/analyze.js.map +1 -0
  14. package/dist/cli/commands/cache.d.ts +3 -0
  15. package/dist/cli/commands/cache.d.ts.map +1 -0
  16. package/dist/cli/commands/cache.js +56 -0
  17. package/dist/cli/commands/cache.js.map +1 -0
  18. package/dist/cli/commands/init.d.ts +3 -0
  19. package/dist/cli/commands/init.d.ts.map +1 -0
  20. package/dist/cli/commands/init.js +34 -0
  21. package/dist/cli/commands/init.js.map +1 -0
  22. package/dist/cli/config-loader.d.ts +701 -0
  23. package/dist/cli/config-loader.d.ts.map +1 -0
  24. package/dist/cli/config-loader.js +259 -0
  25. package/dist/cli/config-loader.js.map +1 -0
  26. package/dist/cli/error-handler.d.ts +15 -0
  27. package/dist/cli/error-handler.d.ts.map +1 -0
  28. package/dist/cli/error-handler.js +127 -0
  29. package/dist/cli/error-handler.js.map +1 -0
  30. package/dist/cli/errors.d.ts +15 -0
  31. package/dist/cli/errors.d.ts.map +1 -0
  32. package/dist/cli/errors.js +31 -0
  33. package/dist/cli/errors.js.map +1 -0
  34. package/dist/cli/index.d.ts +4 -0
  35. package/dist/cli/index.d.ts.map +1 -0
  36. package/dist/cli/index.js +27 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/cli/processors/diagram-processor.d.ts +61 -0
  39. package/dist/cli/processors/diagram-processor.d.ts.map +1 -0
  40. package/dist/cli/processors/diagram-processor.js +610 -0
  41. package/dist/cli/processors/diagram-processor.js.map +1 -0
  42. package/dist/cli/progress/parallel-progress.d.ts +16 -0
  43. package/dist/cli/progress/parallel-progress.d.ts.map +1 -0
  44. package/dist/cli/progress/parallel-progress.js +49 -0
  45. package/dist/cli/progress/parallel-progress.js.map +1 -0
  46. package/dist/cli/progress.d.ts +36 -0
  47. package/dist/cli/progress.d.ts.map +1 -0
  48. package/dist/cli/progress.js +127 -0
  49. package/dist/cli/progress.js.map +1 -0
  50. package/dist/cli/types.d.ts +37 -0
  51. package/dist/cli/types.d.ts.map +1 -0
  52. package/dist/cli/types.js +2 -0
  53. package/dist/cli/types.js.map +1 -0
  54. package/dist/cli/utils/cpp-project-structure-detector.d.ts +10 -0
  55. package/dist/cli/utils/cpp-project-structure-detector.d.ts.map +1 -0
  56. package/dist/cli/utils/cpp-project-structure-detector.js +99 -0
  57. package/dist/cli/utils/cpp-project-structure-detector.js.map +1 -0
  58. package/dist/cli/utils/diagram-index-generator.d.ts +12 -0
  59. package/dist/cli/utils/diagram-index-generator.d.ts.map +1 -0
  60. package/dist/cli/utils/diagram-index-generator.js +94 -0
  61. package/dist/cli/utils/diagram-index-generator.js.map +1 -0
  62. package/dist/cli/utils/file-discovery-service.d.ts +10 -0
  63. package/dist/cli/utils/file-discovery-service.d.ts.map +1 -0
  64. package/dist/cli/utils/file-discovery-service.js +56 -0
  65. package/dist/cli/utils/file-discovery-service.js.map +1 -0
  66. package/dist/cli/utils/output-path-resolver.d.ts +34 -0
  67. package/dist/cli/utils/output-path-resolver.d.ts.map +1 -0
  68. package/dist/cli/utils/output-path-resolver.js +91 -0
  69. package/dist/cli/utils/output-path-resolver.js.map +1 -0
  70. package/dist/cli/utils/project-structure-detector.d.ts +6 -0
  71. package/dist/cli/utils/project-structure-detector.d.ts.map +1 -0
  72. package/dist/cli/utils/project-structure-detector.js +159 -0
  73. package/dist/cli/utils/project-structure-detector.js.map +1 -0
  74. package/dist/core/interfaces/dependency.d.ts +14 -0
  75. package/dist/core/interfaces/dependency.d.ts.map +1 -0
  76. package/dist/core/interfaces/dependency.js +2 -0
  77. package/dist/core/interfaces/dependency.js.map +1 -0
  78. package/dist/core/interfaces/errors.d.ts +29 -0
  79. package/dist/core/interfaces/errors.d.ts.map +1 -0
  80. package/dist/core/interfaces/errors.js +59 -0
  81. package/dist/core/interfaces/errors.js.map +1 -0
  82. package/dist/core/interfaces/index.d.ts +6 -0
  83. package/dist/core/interfaces/index.d.ts.map +1 -0
  84. package/dist/core/interfaces/index.js +2 -0
  85. package/dist/core/interfaces/index.js.map +1 -0
  86. package/dist/core/interfaces/language-plugin.d.ts +34 -0
  87. package/dist/core/interfaces/language-plugin.d.ts.map +1 -0
  88. package/dist/core/interfaces/language-plugin.js +2 -0
  89. package/dist/core/interfaces/language-plugin.js.map +1 -0
  90. package/dist/core/interfaces/parser.d.ts +15 -0
  91. package/dist/core/interfaces/parser.d.ts.map +1 -0
  92. package/dist/core/interfaces/parser.js +2 -0
  93. package/dist/core/interfaces/parser.js.map +1 -0
  94. package/dist/core/interfaces/validation.d.ts +24 -0
  95. package/dist/core/interfaces/validation.d.ts.map +1 -0
  96. package/dist/core/interfaces/validation.js +2 -0
  97. package/dist/core/interfaces/validation.js.map +1 -0
  98. package/dist/core/plugin-registry.d.ts +19 -0
  99. package/dist/core/plugin-registry.d.ts.map +1 -0
  100. package/dist/core/plugin-registry.js +137 -0
  101. package/dist/core/plugin-registry.js.map +1 -0
  102. package/dist/index.d.ts +4 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +4 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/mermaid/auto-repair.d.ts +23 -0
  107. package/dist/mermaid/auto-repair.d.ts.map +1 -0
  108. package/dist/mermaid/auto-repair.js +197 -0
  109. package/dist/mermaid/auto-repair.js.map +1 -0
  110. package/dist/mermaid/comment-generator.d.ts +10 -0
  111. package/dist/mermaid/comment-generator.d.ts.map +1 -0
  112. package/dist/mermaid/comment-generator.js +213 -0
  113. package/dist/mermaid/comment-generator.js.map +1 -0
  114. package/dist/mermaid/cpp-package-flowchart-generator.d.ts +5 -0
  115. package/dist/mermaid/cpp-package-flowchart-generator.d.ts.map +1 -0
  116. package/dist/mermaid/cpp-package-flowchart-generator.js +33 -0
  117. package/dist/mermaid/cpp-package-flowchart-generator.js.map +1 -0
  118. package/dist/mermaid/diagram-generator.d.ts +31 -0
  119. package/dist/mermaid/diagram-generator.d.ts.map +1 -0
  120. package/dist/mermaid/diagram-generator.js +194 -0
  121. package/dist/mermaid/diagram-generator.js.map +1 -0
  122. package/dist/mermaid/external-dependencies.d.ts +3 -0
  123. package/dist/mermaid/external-dependencies.d.ts.map +1 -0
  124. package/dist/mermaid/external-dependencies.js +38 -0
  125. package/dist/mermaid/external-dependencies.js.map +1 -0
  126. package/dist/mermaid/generator.d.ts +44 -0
  127. package/dist/mermaid/generator.d.ts.map +1 -0
  128. package/dist/mermaid/generator.js +511 -0
  129. package/dist/mermaid/generator.js.map +1 -0
  130. package/dist/mermaid/grouper.d.ts +15 -0
  131. package/dist/mermaid/grouper.d.ts.map +1 -0
  132. package/dist/mermaid/grouper.js +194 -0
  133. package/dist/mermaid/grouper.js.map +1 -0
  134. package/dist/mermaid/index.d.ts +14 -0
  135. package/dist/mermaid/index.d.ts.map +1 -0
  136. package/dist/mermaid/index.js +13 -0
  137. package/dist/mermaid/index.js.map +1 -0
  138. package/dist/mermaid/progress.d.ts +15 -0
  139. package/dist/mermaid/progress.d.ts.map +1 -0
  140. package/dist/mermaid/progress.js +8 -0
  141. package/dist/mermaid/progress.js.map +1 -0
  142. package/dist/mermaid/render-worker-pool.d.ts +29 -0
  143. package/dist/mermaid/render-worker-pool.d.ts.map +1 -0
  144. package/dist/mermaid/render-worker-pool.js +73 -0
  145. package/dist/mermaid/render-worker-pool.js.map +1 -0
  146. package/dist/mermaid/render-worker.d.ts +2 -0
  147. package/dist/mermaid/render-worker.d.ts.map +1 -0
  148. package/dist/mermaid/render-worker.js +22 -0
  149. package/dist/mermaid/render-worker.js.map +1 -0
  150. package/dist/mermaid/renderer.d.ts +17 -0
  151. package/dist/mermaid/renderer.d.ts.map +1 -0
  152. package/dist/mermaid/renderer.js +204 -0
  153. package/dist/mermaid/renderer.js.map +1 -0
  154. package/dist/mermaid/ts-module-graph-renderer.d.ts +3 -0
  155. package/dist/mermaid/ts-module-graph-renderer.d.ts.map +1 -0
  156. package/dist/mermaid/ts-module-graph-renderer.js +180 -0
  157. package/dist/mermaid/ts-module-graph-renderer.js.map +1 -0
  158. package/dist/mermaid/types.d.ts +122 -0
  159. package/dist/mermaid/types.d.ts.map +1 -0
  160. package/dist/mermaid/types.js +2 -0
  161. package/dist/mermaid/types.js.map +1 -0
  162. package/dist/mermaid/validation-pipeline.d.ts +29 -0
  163. package/dist/mermaid/validation-pipeline.d.ts.map +1 -0
  164. package/dist/mermaid/validation-pipeline.js +163 -0
  165. package/dist/mermaid/validation-pipeline.js.map +1 -0
  166. package/dist/mermaid/validator-parse.d.ts +11 -0
  167. package/dist/mermaid/validator-parse.d.ts.map +1 -0
  168. package/dist/mermaid/validator-parse.js +130 -0
  169. package/dist/mermaid/validator-parse.js.map +1 -0
  170. package/dist/mermaid/validator-quality.d.ts +17 -0
  171. package/dist/mermaid/validator-quality.d.ts.map +1 -0
  172. package/dist/mermaid/validator-quality.js +187 -0
  173. package/dist/mermaid/validator-quality.js.map +1 -0
  174. package/dist/mermaid/validator-render.d.ts +12 -0
  175. package/dist/mermaid/validator-render.d.ts.map +1 -0
  176. package/dist/mermaid/validator-render.js +98 -0
  177. package/dist/mermaid/validator-render.js.map +1 -0
  178. package/dist/mermaid/validator-structural.d.ts +11 -0
  179. package/dist/mermaid/validator-structural.d.ts.map +1 -0
  180. package/dist/mermaid/validator-structural.js +116 -0
  181. package/dist/mermaid/validator-structural.js.map +1 -0
  182. package/dist/parser/archjson-aggregator.d.ts +11 -0
  183. package/dist/parser/archjson-aggregator.d.ts.map +1 -0
  184. package/dist/parser/archjson-aggregator.js +113 -0
  185. package/dist/parser/archjson-aggregator.js.map +1 -0
  186. package/dist/parser/base-extractor.d.ts +6 -0
  187. package/dist/parser/base-extractor.d.ts.map +1 -0
  188. package/dist/parser/base-extractor.js +13 -0
  189. package/dist/parser/base-extractor.js.map +1 -0
  190. package/dist/parser/class-extractor.d.ts +17 -0
  191. package/dist/parser/class-extractor.d.ts.map +1 -0
  192. package/dist/parser/class-extractor.js +144 -0
  193. package/dist/parser/class-extractor.js.map +1 -0
  194. package/dist/parser/enum-extractor.d.ts +9 -0
  195. package/dist/parser/enum-extractor.d.ts.map +1 -0
  196. package/dist/parser/enum-extractor.js +45 -0
  197. package/dist/parser/enum-extractor.js.map +1 -0
  198. package/dist/parser/errors.d.ts +7 -0
  199. package/dist/parser/errors.d.ts.map +1 -0
  200. package/dist/parser/errors.js +14 -0
  201. package/dist/parser/errors.js.map +1 -0
  202. package/dist/parser/function-extractor.d.ts +7 -0
  203. package/dist/parser/function-extractor.d.ts.map +1 -0
  204. package/dist/parser/function-extractor.js +59 -0
  205. package/dist/parser/function-extractor.js.map +1 -0
  206. package/dist/parser/index.d.ts +10 -0
  207. package/dist/parser/index.d.ts.map +1 -0
  208. package/dist/parser/index.js +9 -0
  209. package/dist/parser/index.js.map +1 -0
  210. package/dist/parser/interface-extractor.d.ts +14 -0
  211. package/dist/parser/interface-extractor.d.ts.map +1 -0
  212. package/dist/parser/interface-extractor.js +90 -0
  213. package/dist/parser/interface-extractor.js.map +1 -0
  214. package/dist/parser/metrics-calculator.d.ts +9 -0
  215. package/dist/parser/metrics-calculator.d.ts.map +1 -0
  216. package/dist/parser/metrics-calculator.js +84 -0
  217. package/dist/parser/metrics-calculator.js.map +1 -0
  218. package/dist/parser/parallel-parser.d.ts +38 -0
  219. package/dist/parser/parallel-parser.d.ts.map +1 -0
  220. package/dist/parser/parallel-parser.js +170 -0
  221. package/dist/parser/parallel-parser.js.map +1 -0
  222. package/dist/parser/parse-cache.d.ts +8 -0
  223. package/dist/parser/parse-cache.d.ts.map +1 -0
  224. package/dist/parser/parse-cache.js +25 -0
  225. package/dist/parser/parse-cache.js.map +1 -0
  226. package/dist/parser/relation-extractor.d.ts +14 -0
  227. package/dist/parser/relation-extractor.d.ts.map +1 -0
  228. package/dist/parser/relation-extractor.js +203 -0
  229. package/dist/parser/relation-extractor.js.map +1 -0
  230. package/dist/parser/typescript-parser.d.ts +19 -0
  231. package/dist/parser/typescript-parser.d.ts.map +1 -0
  232. package/dist/parser/typescript-parser.js +182 -0
  233. package/dist/parser/typescript-parser.js.map +1 -0
  234. package/dist/plugins/cpp/archjson-mapper.d.ts +13 -0
  235. package/dist/plugins/cpp/archjson-mapper.d.ts.map +1 -0
  236. package/dist/plugins/cpp/archjson-mapper.js +180 -0
  237. package/dist/plugins/cpp/archjson-mapper.js.map +1 -0
  238. package/dist/plugins/cpp/builders/class-builder.d.ts +15 -0
  239. package/dist/plugins/cpp/builders/class-builder.d.ts.map +1 -0
  240. package/dist/plugins/cpp/builders/class-builder.js +102 -0
  241. package/dist/plugins/cpp/builders/class-builder.js.map +1 -0
  242. package/dist/plugins/cpp/builders/header-merger.d.ts +8 -0
  243. package/dist/plugins/cpp/builders/header-merger.d.ts.map +1 -0
  244. package/dist/plugins/cpp/builders/header-merger.js +65 -0
  245. package/dist/plugins/cpp/builders/header-merger.js.map +1 -0
  246. package/dist/plugins/cpp/cpp-type-extractor.d.ts +13 -0
  247. package/dist/plugins/cpp/cpp-type-extractor.d.ts.map +1 -0
  248. package/dist/plugins/cpp/cpp-type-extractor.js +153 -0
  249. package/dist/plugins/cpp/cpp-type-extractor.js.map +1 -0
  250. package/dist/plugins/cpp/dependency-extractor.d.ts +5 -0
  251. package/dist/plugins/cpp/dependency-extractor.d.ts.map +1 -0
  252. package/dist/plugins/cpp/dependency-extractor.js +28 -0
  253. package/dist/plugins/cpp/dependency-extractor.js.map +1 -0
  254. package/dist/plugins/cpp/index.d.ts +21 -0
  255. package/dist/plugins/cpp/index.d.ts.map +1 -0
  256. package/dist/plugins/cpp/index.js +113 -0
  257. package/dist/plugins/cpp/index.js.map +1 -0
  258. package/dist/plugins/cpp/tree-sitter-bridge.d.ts +20 -0
  259. package/dist/plugins/cpp/tree-sitter-bridge.d.ts.map +1 -0
  260. package/dist/plugins/cpp/tree-sitter-bridge.js +258 -0
  261. package/dist/plugins/cpp/tree-sitter-bridge.js.map +1 -0
  262. package/dist/plugins/cpp/types.d.ts +75 -0
  263. package/dist/plugins/cpp/types.d.ts.map +1 -0
  264. package/dist/plugins/cpp/types.js +2 -0
  265. package/dist/plugins/cpp/types.js.map +1 -0
  266. package/dist/plugins/golang/archjson-mapper.d.ts +10 -0
  267. package/dist/plugins/golang/archjson-mapper.d.ts.map +1 -0
  268. package/dist/plugins/golang/archjson-mapper.js +121 -0
  269. package/dist/plugins/golang/archjson-mapper.js.map +1 -0
  270. package/dist/plugins/golang/atlas/behavior-analyzer.d.ts +16 -0
  271. package/dist/plugins/golang/atlas/behavior-analyzer.d.ts.map +1 -0
  272. package/dist/plugins/golang/atlas/behavior-analyzer.js +32 -0
  273. package/dist/plugins/golang/atlas/behavior-analyzer.js.map +1 -0
  274. package/dist/plugins/golang/atlas/builders/capability-graph-builder.d.ts +12 -0
  275. package/dist/plugins/golang/atlas/builders/capability-graph-builder.d.ts.map +1 -0
  276. package/dist/plugins/golang/atlas/builders/capability-graph-builder.js +219 -0
  277. package/dist/plugins/golang/atlas/builders/capability-graph-builder.js.map +1 -0
  278. package/dist/plugins/golang/atlas/builders/flow-graph-builder.d.ts +18 -0
  279. package/dist/plugins/golang/atlas/builders/flow-graph-builder.d.ts.map +1 -0
  280. package/dist/plugins/golang/atlas/builders/flow-graph-builder.js +300 -0
  281. package/dist/plugins/golang/atlas/builders/flow-graph-builder.js.map +1 -0
  282. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.d.ts +15 -0
  283. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.d.ts.map +1 -0
  284. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js +254 -0
  285. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js.map +1 -0
  286. package/dist/plugins/golang/atlas/builders/i-atlas-builder.d.ts +5 -0
  287. package/dist/plugins/golang/atlas/builders/i-atlas-builder.d.ts.map +1 -0
  288. package/dist/plugins/golang/atlas/builders/i-atlas-builder.js +2 -0
  289. package/dist/plugins/golang/atlas/builders/i-atlas-builder.js.map +1 -0
  290. package/dist/plugins/golang/atlas/builders/index.d.ts +6 -0
  291. package/dist/plugins/golang/atlas/builders/index.d.ts.map +1 -0
  292. package/dist/plugins/golang/atlas/builders/index.js +5 -0
  293. package/dist/plugins/golang/atlas/builders/index.js.map +1 -0
  294. package/dist/plugins/golang/atlas/builders/package-graph-builder.d.ts +14 -0
  295. package/dist/plugins/golang/atlas/builders/package-graph-builder.d.ts.map +1 -0
  296. package/dist/plugins/golang/atlas/builders/package-graph-builder.js +115 -0
  297. package/dist/plugins/golang/atlas/builders/package-graph-builder.js.map +1 -0
  298. package/dist/plugins/golang/atlas/framework-detector.d.ts +11 -0
  299. package/dist/plugins/golang/atlas/framework-detector.d.ts.map +1 -0
  300. package/dist/plugins/golang/atlas/framework-detector.js +82 -0
  301. package/dist/plugins/golang/atlas/framework-detector.js.map +1 -0
  302. package/dist/plugins/golang/atlas/go-mod-resolver.d.ts +21 -0
  303. package/dist/plugins/golang/atlas/go-mod-resolver.d.ts.map +1 -0
  304. package/dist/plugins/golang/atlas/go-mod-resolver.js +90 -0
  305. package/dist/plugins/golang/atlas/go-mod-resolver.js.map +1 -0
  306. package/dist/plugins/golang/atlas/index.d.ts +28 -0
  307. package/dist/plugins/golang/atlas/index.d.ts.map +1 -0
  308. package/dist/plugins/golang/atlas/index.js +166 -0
  309. package/dist/plugins/golang/atlas/index.js.map +1 -0
  310. package/dist/plugins/golang/atlas/renderers/atlas-renderer.d.ts +7 -0
  311. package/dist/plugins/golang/atlas/renderers/atlas-renderer.d.ts.map +1 -0
  312. package/dist/plugins/golang/atlas/renderers/atlas-renderer.js +62 -0
  313. package/dist/plugins/golang/atlas/renderers/atlas-renderer.js.map +1 -0
  314. package/dist/plugins/golang/atlas/renderers/mermaid-templates.d.ts +24 -0
  315. package/dist/plugins/golang/atlas/renderers/mermaid-templates.d.ts.map +1 -0
  316. package/dist/plugins/golang/atlas/renderers/mermaid-templates.js +688 -0
  317. package/dist/plugins/golang/atlas/renderers/mermaid-templates.js.map +1 -0
  318. package/dist/plugins/golang/atlas/types.d.ts +63 -0
  319. package/dist/plugins/golang/atlas/types.d.ts.map +1 -0
  320. package/dist/plugins/golang/atlas/types.js +2 -0
  321. package/dist/plugins/golang/atlas/types.js.map +1 -0
  322. package/dist/plugins/golang/dependency-extractor.d.ts +7 -0
  323. package/dist/plugins/golang/dependency-extractor.d.ts.map +1 -0
  324. package/dist/plugins/golang/dependency-extractor.js +100 -0
  325. package/dist/plugins/golang/dependency-extractor.js.map +1 -0
  326. package/dist/plugins/golang/gopls-client.d.ts +38 -0
  327. package/dist/plugins/golang/gopls-client.d.ts.map +1 -0
  328. package/dist/plugins/golang/gopls-client.js +354 -0
  329. package/dist/plugins/golang/gopls-client.js.map +1 -0
  330. package/dist/plugins/golang/index.d.ts +29 -0
  331. package/dist/plugins/golang/index.d.ts.map +1 -0
  332. package/dist/plugins/golang/index.js +242 -0
  333. package/dist/plugins/golang/index.js.map +1 -0
  334. package/dist/plugins/golang/interface-matcher.d.ts +14 -0
  335. package/dist/plugins/golang/interface-matcher.d.ts.map +1 -0
  336. package/dist/plugins/golang/interface-matcher.js +235 -0
  337. package/dist/plugins/golang/interface-matcher.js.map +1 -0
  338. package/dist/plugins/golang/tree-sitter-bridge.d.ts +32 -0
  339. package/dist/plugins/golang/tree-sitter-bridge.d.ts.map +1 -0
  340. package/dist/plugins/golang/tree-sitter-bridge.js +579 -0
  341. package/dist/plugins/golang/tree-sitter-bridge.js.map +1 -0
  342. package/dist/plugins/golang/types.d.ts +119 -0
  343. package/dist/plugins/golang/types.d.ts.map +1 -0
  344. package/dist/plugins/golang/types.js +2 -0
  345. package/dist/plugins/golang/types.js.map +1 -0
  346. package/dist/plugins/java/archjson-mapper.d.ts +15 -0
  347. package/dist/plugins/java/archjson-mapper.d.ts.map +1 -0
  348. package/dist/plugins/java/archjson-mapper.js +273 -0
  349. package/dist/plugins/java/archjson-mapper.js.map +1 -0
  350. package/dist/plugins/java/dependency-extractor.d.ts +9 -0
  351. package/dist/plugins/java/dependency-extractor.d.ts.map +1 -0
  352. package/dist/plugins/java/dependency-extractor.js +99 -0
  353. package/dist/plugins/java/dependency-extractor.js.map +1 -0
  354. package/dist/plugins/java/index.d.ts +21 -0
  355. package/dist/plugins/java/index.d.ts.map +1 -0
  356. package/dist/plugins/java/index.js +167 -0
  357. package/dist/plugins/java/index.js.map +1 -0
  358. package/dist/plugins/java/tree-sitter-bridge.d.ts +19 -0
  359. package/dist/plugins/java/tree-sitter-bridge.d.ts.map +1 -0
  360. package/dist/plugins/java/tree-sitter-bridge.js +334 -0
  361. package/dist/plugins/java/tree-sitter-bridge.js.map +1 -0
  362. package/dist/plugins/java/types.d.ts +81 -0
  363. package/dist/plugins/java/types.d.ts.map +1 -0
  364. package/dist/plugins/java/types.js +2 -0
  365. package/dist/plugins/java/types.js.map +1 -0
  366. package/dist/plugins/python/archjson-mapper.d.ts +19 -0
  367. package/dist/plugins/python/archjson-mapper.d.ts.map +1 -0
  368. package/dist/plugins/python/archjson-mapper.js +170 -0
  369. package/dist/plugins/python/archjson-mapper.js.map +1 -0
  370. package/dist/plugins/python/dependency-extractor.d.ts +11 -0
  371. package/dist/plugins/python/dependency-extractor.d.ts.map +1 -0
  372. package/dist/plugins/python/dependency-extractor.js +186 -0
  373. package/dist/plugins/python/dependency-extractor.js.map +1 -0
  374. package/dist/plugins/python/index.d.ts +21 -0
  375. package/dist/plugins/python/index.d.ts.map +1 -0
  376. package/dist/plugins/python/index.js +142 -0
  377. package/dist/plugins/python/index.js.map +1 -0
  378. package/dist/plugins/python/tree-sitter-bridge.d.ts +16 -0
  379. package/dist/plugins/python/tree-sitter-bridge.d.ts.map +1 -0
  380. package/dist/plugins/python/tree-sitter-bridge.js +352 -0
  381. package/dist/plugins/python/tree-sitter-bridge.js.map +1 -0
  382. package/dist/plugins/python/types.d.ts +86 -0
  383. package/dist/plugins/python/types.d.ts.map +1 -0
  384. package/dist/plugins/python/types.js +2 -0
  385. package/dist/plugins/python/types.js.map +1 -0
  386. package/dist/plugins/shared/mapper-utils.d.ts +4 -0
  387. package/dist/plugins/shared/mapper-utils.d.ts.map +1 -0
  388. package/dist/plugins/shared/mapper-utils.js +12 -0
  389. package/dist/plugins/shared/mapper-utils.js.map +1 -0
  390. package/dist/plugins/typescript/builders/module-graph-builder.d.ts +8 -0
  391. package/dist/plugins/typescript/builders/module-graph-builder.d.ts.map +1 -0
  392. package/dist/plugins/typescript/builders/module-graph-builder.js +175 -0
  393. package/dist/plugins/typescript/builders/module-graph-builder.js.map +1 -0
  394. package/dist/plugins/typescript/index.d.ts +26 -0
  395. package/dist/plugins/typescript/index.d.ts.map +1 -0
  396. package/dist/plugins/typescript/index.js +232 -0
  397. package/dist/plugins/typescript/index.js.map +1 -0
  398. package/dist/plugins/typescript/typescript-analyzer.d.ts +8 -0
  399. package/dist/plugins/typescript/typescript-analyzer.d.ts.map +1 -0
  400. package/dist/plugins/typescript/typescript-analyzer.js +13 -0
  401. package/dist/plugins/typescript/typescript-analyzer.js.map +1 -0
  402. package/dist/scripts/migrate-to-mermaid.js +214 -0
  403. package/dist/types/config.d.ts +140 -0
  404. package/dist/types/config.d.ts.map +1 -0
  405. package/dist/types/config.js +6 -0
  406. package/dist/types/config.js.map +1 -0
  407. package/dist/types/extensions.d.ts +224 -0
  408. package/dist/types/extensions.d.ts.map +1 -0
  409. package/dist/types/extensions.js +3 -0
  410. package/dist/types/extensions.js.map +1 -0
  411. package/dist/types/index.d.ts +89 -0
  412. package/dist/types/index.d.ts.map +1 -0
  413. package/dist/types/index.js +3 -0
  414. package/dist/types/index.js.map +1 -0
  415. package/dist/utils/cli-detector.d.ts +8 -0
  416. package/dist/utils/cli-detector.d.ts.map +1 -0
  417. package/dist/utils/cli-detector.js +38 -0
  418. package/dist/utils/cli-detector.js.map +1 -0
  419. package/dist/utils/index.d.ts +4 -0
  420. package/dist/utils/index.d.ts.map +1 -0
  421. package/dist/utils/index.js +3 -0
  422. package/dist/utils/index.js.map +1 -0
  423. package/dist/utils/tsconfig-finder.d.ts +7 -0
  424. package/dist/utils/tsconfig-finder.d.ts.map +1 -0
  425. package/dist/utils/tsconfig-finder.js +31 -0
  426. package/dist/utils/tsconfig-finder.js.map +1 -0
  427. package/package.json +95 -0
@@ -0,0 +1,56 @@
1
+ import globby from 'globby';
2
+ import path from 'path';
3
+ import fs from 'fs-extra';
4
+ const DEFAULT_EXCLUDES = ['**/*.test.ts', '**/*.spec.ts', '**/node_modules/**'];
5
+ export class FileDiscoveryService {
6
+ async discoverFiles(options = {}) {
7
+ const { sources = ['./src'], exclude = [], skipMissing = false } = options;
8
+ if (sources.length === 0) {
9
+ return [];
10
+ }
11
+ const allFiles = [];
12
+ for (const source of sources) {
13
+ const files = await this.discoverFromGlob({
14
+ source,
15
+ exclude,
16
+ skipMissing,
17
+ });
18
+ allFiles.push(...files);
19
+ }
20
+ const uniqueFiles = [...new Set(allFiles)];
21
+ return uniqueFiles;
22
+ }
23
+ async discoverFromGlob(options) {
24
+ const { source, exclude, skipMissing } = options;
25
+ const sourcePath = path.isAbsolute(source) ? source : path.resolve(process.cwd(), source);
26
+ const exists = await fs.pathExists(sourcePath);
27
+ if (!exists) {
28
+ if (skipMissing) {
29
+ return [];
30
+ }
31
+ throw new Error(`Source path does not exist: ${sourcePath}`);
32
+ }
33
+ const stat = await fs.stat(sourcePath);
34
+ if (stat.isFile()) {
35
+ if (sourcePath.endsWith('.ts')) {
36
+ return [sourcePath];
37
+ }
38
+ return [];
39
+ }
40
+ const globPattern = `${sourcePath}/**/*.ts`;
41
+ const allExcludes = [...DEFAULT_EXCLUDES, ...exclude];
42
+ const ignorePatterns = allExcludes.map((pattern) => {
43
+ if (pattern.startsWith('!') || path.isAbsolute(pattern)) {
44
+ return pattern;
45
+ }
46
+ return `!${pattern}`;
47
+ });
48
+ const files = await globby([globPattern, ...ignorePatterns], {
49
+ absolute: true,
50
+ onlyFiles: true,
51
+ followSymbolicLinks: false,
52
+ });
53
+ return files;
54
+ }
55
+ }
56
+ //# sourceMappingURL=file-discovery-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-discovery-service.js","sourceRoot":"","sources":["../../../src/cli/utils/file-discovery-service.ts"],"names":[],"mappings":"AAKA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AA4B1B,MAAM,gBAAgB,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;AAKhF,MAAM,OAAO,oBAAoB;IAI/B,KAAK,CAAC,aAAa,CAAC,UAAgC,EAAE;QACpD,MAAM,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAG3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBACxC,MAAM;gBACN,OAAO;gBACP,WAAW;aACZ,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1B,CAAC;QAGD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3C,OAAO,WAAW,CAAC;IACrB,CAAC;IAKO,KAAK,CAAC,gBAAgB,CAAC,OAI9B;QACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAGjD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAG1F,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;QAGD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAElB,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YAED,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,MAAM,WAAW,GAAG,GAAG,UAAU,UAAU,CAAC;QAG5C,MAAM,WAAW,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,CAAC;QAGtD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAEjD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAGH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,EAAE;YAC3D,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ export interface PathResolution {
2
+ outputDir: string;
3
+ baseName: string;
4
+ paths: {
5
+ mmd: string;
6
+ png: string;
7
+ svg: string;
8
+ json: string;
9
+ };
10
+ }
11
+ export interface ResolveOptions {
12
+ baseName?: string;
13
+ name?: string;
14
+ output?: string;
15
+ }
16
+ export interface OutputPathOptions extends ResolveOptions {
17
+ }
18
+ export interface ResolvedPaths extends PathResolution {
19
+ dir: string;
20
+ }
21
+ export declare class OutputPathResolver {
22
+ private config;
23
+ constructor(config: {
24
+ outputDir: string;
25
+ output?: string;
26
+ });
27
+ resolve(options?: ResolveOptions): PathResolution;
28
+ ensureDirectory(options?: ResolveOptions): Promise<void>;
29
+ private buildPathResolution;
30
+ private parseCustomName;
31
+ private determineBasePath;
32
+ private parseBasePath;
33
+ }
34
+ //# sourceMappingURL=output-path-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-path-resolver.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/output-path-resolver.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,cAAc;IAE7B,SAAS,EAAE,MAAM,CAAC;IAElB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE;QAEL,GAAG,EAAE,MAAM,CAAC;QAEZ,GAAG,EAAE,MAAM,CAAC;QAEZ,GAAG,EAAE,MAAM,CAAC;QAEZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAMD,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CAAG;AAK5D,MAAM,WAAW,aAAc,SAAQ,cAAc;IAEnD,GAAG,EAAE,MAAM,CAAC;CACb;AAoBD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAclE,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,cAAc;IA2B/C,eAAe,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IASlE,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,eAAe;IAoCvB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,aAAa;CA0BtB"}
@@ -0,0 +1,91 @@
1
+ import path from 'path';
2
+ import fs from 'fs/promises';
3
+ export class OutputPathResolver {
4
+ config;
5
+ constructor(config) {
6
+ this.config = config;
7
+ }
8
+ resolve(options = {}) {
9
+ if (options.output) {
10
+ const { dir, baseName } = this.parseBasePath(options.output);
11
+ return this.buildPathResolution(path.resolve(dir), baseName);
12
+ }
13
+ const customName = options.name || options.baseName;
14
+ if (customName) {
15
+ const { outputDir, fileName } = this.parseCustomName(customName);
16
+ return this.buildPathResolution(outputDir, fileName);
17
+ }
18
+ const basePath = this.determineBasePath(options);
19
+ const { dir, baseName } = this.parseBasePath(basePath);
20
+ return this.buildPathResolution(path.resolve(dir), baseName);
21
+ }
22
+ async ensureDirectory(options = {}) {
23
+ const resolution = this.resolve(options);
24
+ await fs.mkdir(resolution.outputDir, { recursive: true });
25
+ }
26
+ buildPathResolution(outputDir, baseName) {
27
+ return {
28
+ outputDir,
29
+ baseName,
30
+ paths: {
31
+ mmd: path.join(outputDir, `${baseName}.mmd`),
32
+ png: path.join(outputDir, `${baseName}.png`),
33
+ svg: path.join(outputDir, `${baseName}.svg`),
34
+ json: path.join(outputDir, `${baseName}.json`),
35
+ },
36
+ };
37
+ }
38
+ parseCustomName(customName) {
39
+ let baseDir;
40
+ let fileName;
41
+ const normalizedName = customName.replace(/\\/g, '/');
42
+ if (normalizedName.includes('/')) {
43
+ if (normalizedName.endsWith('/')) {
44
+ fileName = 'architecture';
45
+ baseDir = normalizedName.replace(/\/$/, '');
46
+ }
47
+ else {
48
+ const parsed = path.posix.parse(normalizedName);
49
+ fileName = parsed.name || 'architecture';
50
+ baseDir = parsed.dir;
51
+ }
52
+ }
53
+ else {
54
+ fileName = normalizedName;
55
+ baseDir = '';
56
+ }
57
+ const configDir = this.config.outputDir || '.';
58
+ const finalDir = baseDir ? path.join(configDir, baseDir) : configDir;
59
+ const outputDir = path.resolve(finalDir);
60
+ return { outputDir, fileName };
61
+ }
62
+ determineBasePath(options) {
63
+ if (options.output) {
64
+ return options.output;
65
+ }
66
+ if (this.config.output) {
67
+ return this.config.output;
68
+ }
69
+ const outputDir = this.config.outputDir || '';
70
+ return path.join(outputDir, 'architecture');
71
+ }
72
+ parseBasePath(basePath) {
73
+ const parsed = path.parse(basePath);
74
+ const nameWithoutExt = parsed.name;
75
+ const dir = parsed.dir;
76
+ if (basePath.endsWith('/') || basePath.endsWith('\\')) {
77
+ return { dir: basePath, baseName: 'architecture' };
78
+ }
79
+ if (dir === '.' || dir === '') {
80
+ return {
81
+ dir: this.config.outputDir || '.',
82
+ baseName: nameWithoutExt || 'architecture',
83
+ };
84
+ }
85
+ return {
86
+ dir,
87
+ baseName: nameWithoutExt || 'architecture',
88
+ };
89
+ }
90
+ }
91
+ //# sourceMappingURL=output-path-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-path-resolver.js","sourceRoot":"","sources":["../../../src/cli/utils/output-path-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { DiagramConfig } from '../../types/config.js';
2
+ export declare function findSourceRoot(rootDir: string): Promise<string>;
3
+ export declare function getTopLevelModules(rootDir: string, sourceRoot: string): Promise<string[]>;
4
+ export declare function hasTopLevelSourceFiles(sourceRootPath: string): Promise<boolean>;
5
+ export declare function detectProjectStructure(rootDir: string, externalSourceRoot?: string): Promise<DiagramConfig[]>;
6
+ //# sourceMappingURL=project-structure-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-structure-detector.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA0B3D,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAarE;AAWD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0B/F;AAWD,wBAAsB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBrF;AAyCD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,aAAa,EAAE,CAAC,CAiF1B"}
@@ -0,0 +1,159 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ const SOURCE_ROOT_CANDIDATES = ['src', 'lib', 'app', 'source'];
4
+ const EXCLUDED_DIRS = new Set([
5
+ 'node_modules',
6
+ '.git',
7
+ 'dist',
8
+ 'build',
9
+ 'coverage',
10
+ '__tests__',
11
+ 'tests',
12
+ 'test',
13
+ '.cache',
14
+ '.tmp',
15
+ 'tmp',
16
+ ]);
17
+ export async function findSourceRoot(rootDir) {
18
+ for (const candidate of SOURCE_ROOT_CANDIDATES) {
19
+ const fullPath = path.join(rootDir, candidate);
20
+ try {
21
+ const stat = await fs.stat(fullPath);
22
+ if (stat.isDirectory()) {
23
+ return `./${candidate}`;
24
+ }
25
+ }
26
+ catch {
27
+ }
28
+ }
29
+ return './';
30
+ }
31
+ export async function getTopLevelModules(rootDir, sourceRoot) {
32
+ const absoluteRoot = path.resolve(rootDir, sourceRoot);
33
+ let entries;
34
+ try {
35
+ entries = await fs.readdir(absoluteRoot, { withFileTypes: true });
36
+ }
37
+ catch {
38
+ return [];
39
+ }
40
+ const modules = [];
41
+ for (const entry of entries) {
42
+ if (!entry.isDirectory())
43
+ continue;
44
+ if (EXCLUDED_DIRS.has(entry.name))
45
+ continue;
46
+ if (entry.name.startsWith('.'))
47
+ continue;
48
+ const hasSource = await directoryHasSourceFiles(path.join(absoluteRoot, entry.name));
49
+ if (hasSource) {
50
+ modules.push(entry.name);
51
+ }
52
+ }
53
+ return modules.sort();
54
+ }
55
+ export async function hasTopLevelSourceFiles(sourceRootPath) {
56
+ let entries;
57
+ try {
58
+ entries = await fs.readdir(sourceRootPath, { withFileTypes: true });
59
+ }
60
+ catch {
61
+ return false;
62
+ }
63
+ for (const entry of entries) {
64
+ if (!entry.isFile())
65
+ continue;
66
+ const ext = path.extname(entry.name).toLowerCase();
67
+ if (ext === '.ts' || ext === '.js') {
68
+ return true;
69
+ }
70
+ }
71
+ return false;
72
+ }
73
+ async function directoryHasSourceFiles(dir) {
74
+ let entries;
75
+ try {
76
+ entries = await fs.readdir(dir, { withFileTypes: true });
77
+ }
78
+ catch {
79
+ return false;
80
+ }
81
+ for (const entry of entries) {
82
+ if (entry.isFile()) {
83
+ const ext = path.extname(entry.name).toLowerCase();
84
+ if (ext === '.ts' || ext === '.js') {
85
+ return true;
86
+ }
87
+ }
88
+ else if (entry.isDirectory() && !EXCLUDED_DIRS.has(entry.name)) {
89
+ const nested = await directoryHasSourceFiles(path.join(dir, entry.name));
90
+ if (nested)
91
+ return true;
92
+ }
93
+ }
94
+ return false;
95
+ }
96
+ export async function detectProjectStructure(rootDir, externalSourceRoot) {
97
+ let sourceRoot;
98
+ let projectRoot;
99
+ let useAbsolutePaths;
100
+ if (externalSourceRoot !== undefined) {
101
+ sourceRoot = externalSourceRoot;
102
+ useAbsolutePaths = true;
103
+ const basename = path.basename(externalSourceRoot);
104
+ if (SOURCE_ROOT_CANDIDATES.includes(basename)) {
105
+ projectRoot = path.dirname(externalSourceRoot);
106
+ }
107
+ else {
108
+ projectRoot = externalSourceRoot;
109
+ }
110
+ }
111
+ else {
112
+ sourceRoot = await findSourceRoot(rootDir);
113
+ projectRoot = rootDir;
114
+ useAbsolutePaths = false;
115
+ }
116
+ const modules = await getTopLevelModules(projectRoot, sourceRoot);
117
+ const modulePath = (mod) => `${sourceRoot}/${mod}`;
118
+ if (modules.length < 2) {
119
+ return [
120
+ {
121
+ name: 'architecture',
122
+ sources: [sourceRoot],
123
+ level: 'class',
124
+ },
125
+ ];
126
+ }
127
+ const absoluteSourceRoot = useAbsolutePaths ? sourceRoot : path.resolve(projectRoot, sourceRoot);
128
+ const topLevelFiles = await hasTopLevelSourceFiles(absoluteSourceRoot);
129
+ const diagrams = [
130
+ {
131
+ name: 'overview/package',
132
+ sources: [sourceRoot],
133
+ level: 'package',
134
+ description: 'Package-level overview of entire project',
135
+ },
136
+ {
137
+ name: 'class/all-classes',
138
+ sources: [sourceRoot],
139
+ level: 'class',
140
+ description: 'Class-level view of entire project',
141
+ },
142
+ ];
143
+ if (topLevelFiles) {
144
+ diagrams.push({
145
+ name: 'method/core',
146
+ sources: [sourceRoot],
147
+ level: 'method',
148
+ description: 'Method-level detail for top-level source files',
149
+ });
150
+ }
151
+ diagrams.push(...modules.map((mod) => ({
152
+ name: `method/${mod}`,
153
+ sources: [modulePath(mod)],
154
+ level: 'method',
155
+ description: `Method-level detail for ${mod} module`,
156
+ })));
157
+ return diagrams;
158
+ }
159
+ //# sourceMappingURL=project-structure-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-structure-detector.js","sourceRoot":"","sources":["../../../src/cli/utils/project-structure-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export type DependencyType = 'npm' | 'gomod' | 'pip' | 'maven' | 'cargo' | 'cmake';
2
+ export type DependencyScope = 'runtime' | 'development' | 'optional' | 'peer';
3
+ export interface Dependency {
4
+ name: string;
5
+ version: string;
6
+ type: DependencyType;
7
+ scope: DependencyScope;
8
+ source: string;
9
+ isDirect: boolean;
10
+ }
11
+ export interface IDependencyExtractor {
12
+ extractDependencies(workspaceRoot: string): Promise<Dependency[]>;
13
+ }
14
+ //# sourceMappingURL=dependency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/dependency.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAKnF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAK9E,MAAM,WAAW,UAAU;IAIzB,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC;IAKhB,IAAI,EAAE,cAAc,CAAC;IAKrB,KAAK,EAAE,eAAe,CAAC;IAKvB,MAAM,EAAE,MAAM,CAAC;IAKf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAQD,MAAM,WAAW,oBAAoB;IAYnC,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CACnE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency.js","sourceRoot":"","sources":["../../../src/core/interfaces/dependency.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ export declare class PluginError extends Error {
2
+ readonly code: string;
3
+ readonly pluginName: string;
4
+ readonly cause?: Error;
5
+ constructor(message: string, code: string, pluginName: string, cause?: Error);
6
+ }
7
+ export declare class PluginInitializationError extends PluginError {
8
+ constructor(pluginName: string, message: string, cause?: Error);
9
+ }
10
+ export declare class PluginConfigError extends PluginError {
11
+ readonly field?: string;
12
+ constructor(pluginName: string, message: string, field?: string, cause?: Error);
13
+ }
14
+ export declare class ToolDependencyError extends PluginError {
15
+ readonly toolName: string;
16
+ readonly requiredVersion?: string;
17
+ constructor(pluginName: string, toolName: string, requiredVersion?: string);
18
+ }
19
+ export declare class ParseError extends PluginError {
20
+ readonly file: string;
21
+ readonly line?: number;
22
+ constructor(message: string, pluginName: string, file: string, line?: number, cause?: Error);
23
+ }
24
+ export declare class FileSystemError extends PluginError {
25
+ readonly path: string;
26
+ readonly operation: 'read' | 'write' | 'delete' | 'create' | 'stat';
27
+ constructor(pluginName: string, operation: 'read' | 'write' | 'delete' | 'create' | 'stat', path: string, cause?: Error);
28
+ }
29
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/errors.ts"],"names":[],"mappings":"AAUA,qBAAa,WAAY,SAAQ,KAAK;IAIpC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAK7B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAKnC,SAAyB,KAAK,CAAC,EAAE,KAAK,CAAC;gBAE3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAQ7E;AAKD,qBAAa,yBAA0B,SAAQ,WAAW;gBAC5C,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAS/D;AAKD,qBAAa,iBAAkB,SAAQ,WAAW;IAIhD,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEnB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAU/E;AAMD,qBAAa,mBAAoB,SAAQ,WAAW;IAIlD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAKjC,SAAgB,eAAe,CAAC,EAAE,MAAM,CAAC;gBAE7B,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;CAW3E;AAKD,qBAAa,UAAW,SAAQ,WAAW;IAIzC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAK7B,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM5F;AAKD,qBAAa,eAAgB,SAAQ,WAAW;IAI9C,SAAgB,IAAI,EAAE,MAAM,CAAC;IAK7B,SAAgB,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;gBAGzE,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,EAC1D,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,KAAK;CAYhB"}
@@ -0,0 +1,59 @@
1
+ export class PluginError extends Error {
2
+ code;
3
+ pluginName;
4
+ cause;
5
+ constructor(message, code, pluginName, cause) {
6
+ super(message);
7
+ this.name = 'PluginError';
8
+ this.code = code;
9
+ this.pluginName = pluginName;
10
+ this.cause = cause;
11
+ Error.captureStackTrace(this, this.constructor);
12
+ }
13
+ }
14
+ export class PluginInitializationError extends PluginError {
15
+ constructor(pluginName, message, cause) {
16
+ super(`Failed to initialize plugin '${pluginName}': ${message}`, 'PLUGIN_INIT_FAILED', pluginName, cause);
17
+ this.name = 'PluginInitializationError';
18
+ }
19
+ }
20
+ export class PluginConfigError extends PluginError {
21
+ field;
22
+ constructor(pluginName, message, field, cause) {
23
+ super(`Invalid configuration for plugin '${pluginName}': ${message}`, 'PLUGIN_CONFIG_INVALID', pluginName, cause);
24
+ this.name = 'PluginConfigError';
25
+ this.field = field;
26
+ }
27
+ }
28
+ export class ToolDependencyError extends PluginError {
29
+ toolName;
30
+ requiredVersion;
31
+ constructor(pluginName, toolName, requiredVersion) {
32
+ const versionInfo = requiredVersion ? ` (>= ${requiredVersion})` : '';
33
+ super(`Plugin '${pluginName}' requires '${toolName}'${versionInfo} to be installed`, 'TOOL_DEPENDENCY_MISSING', pluginName);
34
+ this.name = 'ToolDependencyError';
35
+ this.toolName = toolName;
36
+ this.requiredVersion = requiredVersion;
37
+ }
38
+ }
39
+ export class ParseError extends PluginError {
40
+ file;
41
+ line;
42
+ constructor(message, pluginName, file, line, cause) {
43
+ super(message, 'PARSE_ERROR', pluginName, cause);
44
+ this.name = 'ParseError';
45
+ this.file = file;
46
+ this.line = line;
47
+ }
48
+ }
49
+ export class FileSystemError extends PluginError {
50
+ path;
51
+ operation;
52
+ constructor(pluginName, operation, path, cause) {
53
+ super(`Failed to ${operation} '${path}' in plugin '${pluginName}'`, 'FILESYSTEM_ERROR', pluginName, cause);
54
+ this.name = 'FileSystemError';
55
+ this.path = path;
56
+ this.operation = operation;
57
+ }
58
+ }
59
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/interfaces/errors.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAIpB,IAAI,CAAS;IAKb,UAAU,CAAS;IAKV,KAAK,CAAS;IAEvC,YAAY,OAAe,EAAE,IAAY,EAAE,UAAkB,EAAE,KAAa;QAC1E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAKD,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IACxD,YAAY,UAAkB,EAAE,OAAe,EAAE,KAAa;QAC5D,KAAK,CACH,gCAAgC,UAAU,MAAM,OAAO,EAAE,EACzD,oBAAoB,EACpB,UAAU,EACV,KAAK,CACN,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAKD,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAIhC,KAAK,CAAU;IAE/B,YAAY,UAAkB,EAAE,OAAe,EAAE,KAAc,EAAE,KAAa;QAC5E,KAAK,CACH,qCAAqC,UAAU,MAAM,OAAO,EAAE,EAC9D,uBAAuB,EACvB,UAAU,EACV,KAAK,CACN,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAMD,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAIlC,QAAQ,CAAS;IAKjB,eAAe,CAAU;IAEzC,YAAY,UAAkB,EAAE,QAAgB,EAAE,eAAwB;QACxE,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,CACH,WAAW,UAAU,eAAe,QAAQ,IAAI,WAAW,kBAAkB,EAC7E,yBAAyB,EACzB,UAAU,CACX,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;CACF;AAKD,MAAM,OAAO,UAAW,SAAQ,WAAW;IAIzB,IAAI,CAAS;IAKb,IAAI,CAAU;IAE9B,YAAY,OAAe,EAAE,UAAkB,EAAE,IAAY,EAAE,IAAa,EAAE,KAAa;QACzF,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAKD,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAI9B,IAAI,CAAS;IAKb,SAAS,CAAkD;IAE3E,YACE,UAAkB,EAClB,SAA0D,EAC1D,IAAY,EACZ,KAAa;QAEb,KAAK,CACH,aAAa,SAAS,KAAK,IAAI,gBAAgB,UAAU,GAAG,EAC5D,kBAAkB,EAClB,UAAU,EACV,KAAK,CACN,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export type { IParser, ParseConfig } from './parser.js';
2
+ export type { IDependencyExtractor, Dependency, DependencyType, DependencyScope, } from './dependency.js';
3
+ export type { IValidator, ValidationResult, ValidationError, ValidationWarning, } from './validation.js';
4
+ export type { ILanguagePlugin, PluginMetadata, PluginCapabilities, PluginInitConfig, } from './language-plugin.js';
5
+ export { PluginError, PluginInitializationError, PluginConfigError, ToolDependencyError, FileSystemError, ParseError, } from './errors.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/index.ts"],"names":[],"mappings":"AAOA,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGxD,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { PluginError, PluginInitializationError, PluginConfigError, ToolDependencyError, FileSystemError, ParseError, } from './errors.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/interfaces/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { IParser } from './parser.js';
2
+ import type { IDependencyExtractor } from './dependency.js';
3
+ import type { IValidator } from './validation.js';
4
+ export interface PluginCapabilities {
5
+ singleFileParsing: boolean;
6
+ incrementalParsing: boolean;
7
+ dependencyExtraction: boolean;
8
+ typeInference: boolean;
9
+ }
10
+ export interface PluginMetadata {
11
+ name: string;
12
+ version: string;
13
+ displayName: string;
14
+ fileExtensions: string[];
15
+ author: string;
16
+ repository?: string;
17
+ minCoreVersion: string;
18
+ capabilities: PluginCapabilities;
19
+ }
20
+ export interface PluginInitConfig {
21
+ workspaceRoot: string;
22
+ cacheDir?: string;
23
+ verbose?: boolean;
24
+ }
25
+ export interface ILanguagePlugin extends IParser {
26
+ readonly metadata: PluginMetadata;
27
+ initialize(config: PluginInitConfig): Promise<void>;
28
+ canHandle(targetPath: string): boolean;
29
+ dispose(): Promise<void>;
30
+ readonly supportedLevels: readonly string[];
31
+ readonly dependencyExtractor?: IDependencyExtractor;
32
+ readonly validator?: IValidator;
33
+ }
34
+ //# sourceMappingURL=language-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-plugin.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/language-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD,MAAM,WAAW,kBAAkB;IAKjC,iBAAiB,EAAE,OAAO,CAAC;IAM3B,kBAAkB,EAAE,OAAO,CAAC;IAM5B,oBAAoB,EAAE,OAAO,CAAC;IAM9B,aAAa,EAAE,OAAO,CAAC;CACxB;AAOD,MAAM,WAAW,cAAc;IAI7B,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC;IAKhB,WAAW,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,EAAE,CAAC;IAKzB,MAAM,EAAE,MAAM,CAAC;IAKf,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,CAAC;IAKvB,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAKD,MAAM,WAAW,gBAAgB;IAI/B,aAAa,EAAE,MAAM,CAAC;IAMtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAI9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAclC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAYpD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAYvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAQzB,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAQ5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAQpD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=language-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-plugin.js","sourceRoot":"","sources":["../../../src/core/interfaces/language-plugin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { ArchJSON } from '../../types/index.js';
2
+ export interface ParseConfig {
3
+ workspaceRoot: string;
4
+ excludePatterns: string[];
5
+ includePatterns?: string[];
6
+ filePattern?: string;
7
+ concurrency?: number;
8
+ languageSpecific?: Record<string, unknown>;
9
+ }
10
+ export interface IParser {
11
+ parseProject(workspaceRoot: string, config: ParseConfig): Promise<ArchJSON>;
12
+ parseCode?(code: string, filePath?: string): ArchJSON;
13
+ parseFiles?(filePaths: string[]): Promise<ArchJSON>;
14
+ }
15
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAKjD,MAAM,WAAW,WAAW;IAI1B,aAAa,EAAE,MAAM,CAAC;IAKtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAM1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAK3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAKD,MAAM,WAAW,OAAO;IAYtB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAa5E,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAYtD,UAAU,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/core/interfaces/parser.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import type { ArchJSON } from '../../types/index.js';
2
+ export interface ValidationError {
3
+ code: string;
4
+ message: string;
5
+ path?: string;
6
+ severity: 'error';
7
+ }
8
+ export interface ValidationWarning {
9
+ code: string;
10
+ message: string;
11
+ path?: string;
12
+ severity: 'warning';
13
+ suggestion?: string;
14
+ }
15
+ export interface ValidationResult {
16
+ valid: boolean;
17
+ errors: ValidationError[];
18
+ warnings: ValidationWarning[];
19
+ durationMs: number;
20
+ }
21
+ export interface IValidator {
22
+ validate(archJson: ArchJSON): ValidationResult;
23
+ }
24
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/validation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAUjD,MAAM,WAAW,eAAe;IAI9B,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC;IAKhB,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAKD,MAAM,WAAW,iBAAiB;IAIhC,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC;IAKhB,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,QAAQ,EAAE,SAAS,CAAC;IAKpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,gBAAgB;IAK/B,KAAK,EAAE,OAAO,CAAC;IAMf,MAAM,EAAE,eAAe,EAAE,CAAC;IAM1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAK9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,MAAM,WAAW,UAAU;IAazB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAAC;CAChD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/core/interfaces/validation.ts"],"names":[],"mappings":""}