kirograph 0.12.1

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 (434) hide show
  1. package/README.md +1171 -0
  2. package/dist/architecture/index.d.ts +11 -0
  3. package/dist/architecture/index.d.ts.map +1 -0
  4. package/dist/architecture/index.js +207 -0
  5. package/dist/architecture/index.js.map +7 -0
  6. package/dist/architecture/layers/csharp.d.ts +6 -0
  7. package/dist/architecture/layers/csharp.d.ts.map +1 -0
  8. package/dist/architecture/layers/csharp.js +100 -0
  9. package/dist/architecture/layers/csharp.js.map +7 -0
  10. package/dist/architecture/layers/elixir.js +116 -0
  11. package/dist/architecture/layers/elixir.js.map +7 -0
  12. package/dist/architecture/layers/go.d.ts +7 -0
  13. package/dist/architecture/layers/go.d.ts.map +1 -0
  14. package/dist/architecture/layers/go.js +117 -0
  15. package/dist/architecture/layers/go.js.map +7 -0
  16. package/dist/architecture/layers/index.d.ts +30 -0
  17. package/dist/architecture/layers/index.d.ts.map +1 -0
  18. package/dist/architecture/layers/index.js +100 -0
  19. package/dist/architecture/layers/index.js.map +7 -0
  20. package/dist/architecture/layers/java.d.ts +7 -0
  21. package/dist/architecture/layers/java.d.ts.map +1 -0
  22. package/dist/architecture/layers/java.js +119 -0
  23. package/dist/architecture/layers/java.js.map +7 -0
  24. package/dist/architecture/layers/python.d.ts +7 -0
  25. package/dist/architecture/layers/python.d.ts.map +1 -0
  26. package/dist/architecture/layers/python.js +111 -0
  27. package/dist/architecture/layers/python.js.map +7 -0
  28. package/dist/architecture/layers/ruby.d.ts +6 -0
  29. package/dist/architecture/layers/ruby.d.ts.map +1 -0
  30. package/dist/architecture/layers/ruby.js +95 -0
  31. package/dist/architecture/layers/ruby.js.map +7 -0
  32. package/dist/architecture/layers/rust.d.ts +6 -0
  33. package/dist/architecture/layers/rust.d.ts.map +1 -0
  34. package/dist/architecture/layers/rust.js +98 -0
  35. package/dist/architecture/layers/rust.js.map +7 -0
  36. package/dist/architecture/layers/types.d.ts +2 -0
  37. package/dist/architecture/layers/types.d.ts.map +1 -0
  38. package/dist/architecture/layers/types.js +17 -0
  39. package/dist/architecture/layers/types.js.map +7 -0
  40. package/dist/architecture/layers/typescript.d.ts +9 -0
  41. package/dist/architecture/layers/typescript.d.ts.map +1 -0
  42. package/dist/architecture/layers/typescript.js +143 -0
  43. package/dist/architecture/layers/typescript.js.map +7 -0
  44. package/dist/architecture/manifest/cargo.d.ts +3 -0
  45. package/dist/architecture/manifest/cargo.d.ts.map +1 -0
  46. package/dist/architecture/manifest/cargo.js +94 -0
  47. package/dist/architecture/manifest/cargo.js.map +7 -0
  48. package/dist/architecture/manifest/csproj.d.ts +3 -0
  49. package/dist/architecture/manifest/csproj.d.ts.map +1 -0
  50. package/dist/architecture/manifest/csproj.js +75 -0
  51. package/dist/architecture/manifest/csproj.js.map +7 -0
  52. package/dist/architecture/manifest/go.d.ts +3 -0
  53. package/dist/architecture/manifest/go.d.ts.map +1 -0
  54. package/dist/architecture/manifest/go.js +85 -0
  55. package/dist/architecture/manifest/go.js.map +7 -0
  56. package/dist/architecture/manifest/gradle.d.ts +3 -0
  57. package/dist/architecture/manifest/gradle.d.ts.map +1 -0
  58. package/dist/architecture/manifest/gradle.js +80 -0
  59. package/dist/architecture/manifest/gradle.js.map +7 -0
  60. package/dist/architecture/manifest/index.d.ts +12 -0
  61. package/dist/architecture/manifest/index.d.ts.map +1 -0
  62. package/dist/architecture/manifest/index.js +130 -0
  63. package/dist/architecture/manifest/index.js.map +7 -0
  64. package/dist/architecture/manifest/maven.d.ts +3 -0
  65. package/dist/architecture/manifest/maven.d.ts.map +1 -0
  66. package/dist/architecture/manifest/maven.js +76 -0
  67. package/dist/architecture/manifest/maven.js.map +7 -0
  68. package/dist/architecture/manifest/npm.d.ts +3 -0
  69. package/dist/architecture/manifest/npm.d.ts.map +1 -0
  70. package/dist/architecture/manifest/npm.js +103 -0
  71. package/dist/architecture/manifest/npm.js.map +7 -0
  72. package/dist/architecture/manifest/python.d.ts +3 -0
  73. package/dist/architecture/manifest/python.d.ts.map +1 -0
  74. package/dist/architecture/manifest/python.js +105 -0
  75. package/dist/architecture/manifest/python.js.map +7 -0
  76. package/dist/architecture/manifest/types.d.ts +2 -0
  77. package/dist/architecture/manifest/types.d.ts.map +1 -0
  78. package/dist/architecture/manifest/types.js +17 -0
  79. package/dist/architecture/manifest/types.js.map +7 -0
  80. package/dist/architecture/types.d.ts +91 -0
  81. package/dist/architecture/types.d.ts.map +1 -0
  82. package/dist/architecture/types.js +17 -0
  83. package/dist/architecture/types.js.map +7 -0
  84. package/dist/assets/logo.png +0 -0
  85. package/dist/banner.d.ts +6 -0
  86. package/dist/banner.d.ts.map +1 -0
  87. package/dist/banner.js +67 -0
  88. package/dist/banner.js.map +1 -0
  89. package/dist/bin/banner.d.ts +6 -0
  90. package/dist/bin/banner.d.ts.map +1 -0
  91. package/dist/bin/banner.js +88 -0
  92. package/dist/bin/banner.js.map +7 -0
  93. package/dist/bin/commands/affected.d.ts +3 -0
  94. package/dist/bin/commands/affected.d.ts.map +1 -0
  95. package/dist/bin/commands/affected.js +78 -0
  96. package/dist/bin/commands/affected.js.map +7 -0
  97. package/dist/bin/commands/architecture.d.ts +3 -0
  98. package/dist/bin/commands/architecture.d.ts.map +1 -0
  99. package/dist/bin/commands/architecture.js +125 -0
  100. package/dist/bin/commands/architecture.js.map +7 -0
  101. package/dist/bin/commands/caveman.js +136 -0
  102. package/dist/bin/commands/caveman.js.map +7 -0
  103. package/dist/bin/commands/context.d.ts +3 -0
  104. package/dist/bin/commands/context.d.ts.map +1 -0
  105. package/dist/bin/commands/context.js +81 -0
  106. package/dist/bin/commands/context.js.map +7 -0
  107. package/dist/bin/commands/coupling.d.ts +3 -0
  108. package/dist/bin/commands/coupling.d.ts.map +1 -0
  109. package/dist/bin/commands/coupling.js +164 -0
  110. package/dist/bin/commands/coupling.js.map +7 -0
  111. package/dist/bin/commands/dashboard.d.ts +3 -0
  112. package/dist/bin/commands/dashboard.d.ts.map +1 -0
  113. package/dist/bin/commands/dashboard.js +209 -0
  114. package/dist/bin/commands/dashboard.js.map +7 -0
  115. package/dist/bin/commands/dead-code.js +77 -0
  116. package/dist/bin/commands/dead-code.js.map +7 -0
  117. package/dist/bin/commands/export.js +2620 -0
  118. package/dist/bin/commands/export.js.map +7 -0
  119. package/dist/bin/commands/files.d.ts +3 -0
  120. package/dist/bin/commands/files.d.ts.map +1 -0
  121. package/dist/bin/commands/files.js +104 -0
  122. package/dist/bin/commands/files.js.map +7 -0
  123. package/dist/bin/commands/help.d.ts +4 -0
  124. package/dist/bin/commands/help.d.ts.map +1 -0
  125. package/dist/bin/commands/help.js +212 -0
  126. package/dist/bin/commands/help.js.map +7 -0
  127. package/dist/bin/commands/hotspots.js +77 -0
  128. package/dist/bin/commands/hotspots.js.map +7 -0
  129. package/dist/bin/commands/index.d.ts +3 -0
  130. package/dist/bin/commands/index.d.ts.map +1 -0
  131. package/dist/bin/commands/index.js +58 -0
  132. package/dist/bin/commands/index.js.map +7 -0
  133. package/dist/bin/commands/init.d.ts +3 -0
  134. package/dist/bin/commands/init.d.ts.map +1 -0
  135. package/dist/bin/commands/init.js +68 -0
  136. package/dist/bin/commands/init.js.map +7 -0
  137. package/dist/bin/commands/install.d.ts +3 -0
  138. package/dist/bin/commands/install.d.ts.map +1 -0
  139. package/dist/bin/commands/install.js +34 -0
  140. package/dist/bin/commands/install.js.map +7 -0
  141. package/dist/bin/commands/mark-dirty.d.ts +3 -0
  142. package/dist/bin/commands/mark-dirty.d.ts.map +1 -0
  143. package/dist/bin/commands/mark-dirty.js +51 -0
  144. package/dist/bin/commands/mark-dirty.js.map +7 -0
  145. package/dist/bin/commands/package.d.ts +3 -0
  146. package/dist/bin/commands/package.d.ts.map +1 -0
  147. package/dist/bin/commands/package.js +139 -0
  148. package/dist/bin/commands/package.js.map +7 -0
  149. package/dist/bin/commands/path.js +93 -0
  150. package/dist/bin/commands/path.js.map +7 -0
  151. package/dist/bin/commands/qdrant.d.ts +3 -0
  152. package/dist/bin/commands/qdrant.d.ts.map +1 -0
  153. package/dist/bin/commands/qdrant.js +159 -0
  154. package/dist/bin/commands/qdrant.js.map +1 -0
  155. package/dist/bin/commands/query.d.ts +3 -0
  156. package/dist/bin/commands/query.d.ts.map +1 -0
  157. package/dist/bin/commands/query.js +47 -0
  158. package/dist/bin/commands/query.js.map +7 -0
  159. package/dist/bin/commands/serve.d.ts +3 -0
  160. package/dist/bin/commands/serve.d.ts.map +1 -0
  161. package/dist/bin/commands/serve.js +59 -0
  162. package/dist/bin/commands/serve.js.map +7 -0
  163. package/dist/bin/commands/snapshot.js +122 -0
  164. package/dist/bin/commands/snapshot.js.map +7 -0
  165. package/dist/bin/commands/status.d.ts +3 -0
  166. package/dist/bin/commands/status.d.ts.map +1 -0
  167. package/dist/bin/commands/status.js +107 -0
  168. package/dist/bin/commands/status.js.map +7 -0
  169. package/dist/bin/commands/stop.d.ts +3 -0
  170. package/dist/bin/commands/stop.d.ts.map +1 -0
  171. package/dist/bin/commands/stop.js +81 -0
  172. package/dist/bin/commands/stop.js.map +1 -0
  173. package/dist/bin/commands/surprising.js +79 -0
  174. package/dist/bin/commands/surprising.js.map +7 -0
  175. package/dist/bin/commands/sync-if-dirty.d.ts +3 -0
  176. package/dist/bin/commands/sync-if-dirty.d.ts.map +1 -0
  177. package/dist/bin/commands/sync-if-dirty.js +67 -0
  178. package/dist/bin/commands/sync-if-dirty.js.map +7 -0
  179. package/dist/bin/commands/sync.d.ts +3 -0
  180. package/dist/bin/commands/sync.d.ts.map +1 -0
  181. package/dist/bin/commands/sync.js +81 -0
  182. package/dist/bin/commands/sync.js.map +7 -0
  183. package/dist/bin/commands/typesense.d.ts +3 -0
  184. package/dist/bin/commands/typesense.d.ts.map +1 -0
  185. package/dist/bin/commands/typesense.js +126 -0
  186. package/dist/bin/commands/typesense.js.map +1 -0
  187. package/dist/bin/commands/uninit.d.ts +4 -0
  188. package/dist/bin/commands/uninit.d.ts.map +1 -0
  189. package/dist/bin/commands/uninit.js +123 -0
  190. package/dist/bin/commands/uninit.js.map +7 -0
  191. package/dist/bin/commands/unlock.d.ts +3 -0
  192. package/dist/bin/commands/unlock.d.ts.map +1 -0
  193. package/dist/bin/commands/unlock.js +53 -0
  194. package/dist/bin/commands/unlock.js.map +7 -0
  195. package/dist/bin/commands/utils.d.ts +12 -0
  196. package/dist/bin/commands/utils.d.ts.map +1 -0
  197. package/dist/bin/commands/utils.js +56 -0
  198. package/dist/bin/commands/utils.js.map +7 -0
  199. package/dist/bin/installer/archive.js +230 -0
  200. package/dist/bin/installer/archive.js.map +7 -0
  201. package/dist/bin/installer/caveman.js +57 -0
  202. package/dist/bin/installer/caveman.js.map +7 -0
  203. package/dist/bin/installer/cli-agent.d.ts +15 -0
  204. package/dist/bin/installer/cli-agent.d.ts.map +1 -0
  205. package/dist/bin/installer/cli-agent.js +89 -0
  206. package/dist/bin/installer/cli-agent.js.map +7 -0
  207. package/dist/bin/installer/config-prompt.d.ts +13 -0
  208. package/dist/bin/installer/config-prompt.d.ts.map +1 -0
  209. package/dist/bin/installer/config-prompt.js +158 -0
  210. package/dist/bin/installer/config-prompt.js.map +7 -0
  211. package/dist/bin/installer/dashboard.d.ts +3 -0
  212. package/dist/bin/installer/dashboard.d.ts.map +1 -0
  213. package/dist/bin/installer/dashboard.js +149 -0
  214. package/dist/bin/installer/dashboard.js.map +7 -0
  215. package/dist/bin/installer/hooks.d.ts +5 -0
  216. package/dist/bin/installer/hooks.d.ts.map +1 -0
  217. package/dist/bin/installer/hooks.js +155 -0
  218. package/dist/bin/installer/hooks.js.map +7 -0
  219. package/dist/bin/installer/index.d.ts +11 -0
  220. package/dist/bin/installer/index.d.ts.map +1 -0
  221. package/dist/bin/installer/index.js +228 -0
  222. package/dist/bin/installer/index.js.map +7 -0
  223. package/dist/bin/installer/mcp.d.ts +5 -0
  224. package/dist/bin/installer/mcp.d.ts.map +1 -0
  225. package/dist/bin/installer/mcp.js +80 -0
  226. package/dist/bin/installer/mcp.js.map +7 -0
  227. package/dist/bin/installer/prompts.d.ts +28 -0
  228. package/dist/bin/installer/prompts.d.ts.map +1 -0
  229. package/dist/bin/installer/prompts.js +134 -0
  230. package/dist/bin/installer/prompts.js.map +7 -0
  231. package/dist/bin/installer/qdrant-dashboard.d.ts +4 -0
  232. package/dist/bin/installer/qdrant-dashboard.d.ts.map +1 -0
  233. package/dist/bin/installer/qdrant-dashboard.js +115 -0
  234. package/dist/bin/installer/qdrant-dashboard.js.map +7 -0
  235. package/dist/bin/installer/steering.d.ts +5 -0
  236. package/dist/bin/installer/steering.d.ts.map +1 -0
  237. package/dist/bin/installer/steering.js +283 -0
  238. package/dist/bin/installer/steering.js.map +7 -0
  239. package/dist/bin/kirograph.d.ts +6 -0
  240. package/dist/bin/kirograph.d.ts.map +1 -0
  241. package/dist/bin/kirograph.js +95 -0
  242. package/dist/bin/kirograph.js.map +7 -0
  243. package/dist/bin/progress.d.ts +14 -0
  244. package/dist/bin/progress.d.ts.map +1 -0
  245. package/dist/bin/progress.js +201 -0
  246. package/dist/bin/progress.js.map +7 -0
  247. package/dist/bin/ui.d.ts +11 -0
  248. package/dist/bin/ui.d.ts.map +1 -0
  249. package/dist/bin/ui.js +71 -0
  250. package/dist/bin/ui.js.map +7 -0
  251. package/dist/config.d.ts +48 -0
  252. package/dist/config.d.ts.map +1 -0
  253. package/dist/config.js +273 -0
  254. package/dist/config.js.map +7 -0
  255. package/dist/context/index.d.ts +61 -0
  256. package/dist/context/index.d.ts.map +1 -0
  257. package/dist/context/index.js +224 -0
  258. package/dist/context/index.js.map +7 -0
  259. package/dist/core/file-tree.d.ts +15 -0
  260. package/dist/core/file-tree.d.ts.map +1 -0
  261. package/dist/core/file-tree.js +69 -0
  262. package/dist/core/file-tree.js.map +7 -0
  263. package/dist/core/lock-manager.d.ts +20 -0
  264. package/dist/core/lock-manager.d.ts.map +1 -0
  265. package/dist/core/lock-manager.js +120 -0
  266. package/dist/core/lock-manager.js.map +7 -0
  267. package/dist/core/pipeline.d.ts +37 -0
  268. package/dist/core/pipeline.d.ts.map +1 -0
  269. package/dist/core/pipeline.js +375 -0
  270. package/dist/core/pipeline.js.map +7 -0
  271. package/dist/core/snapshot.js +141 -0
  272. package/dist/core/snapshot.js.map +7 -0
  273. package/dist/db/database.d.ts +133 -0
  274. package/dist/db/database.d.ts.map +1 -0
  275. package/dist/db/database.js +929 -0
  276. package/dist/db/database.js.map +7 -0
  277. package/dist/db/schema.sql +174 -0
  278. package/dist/errors.d.ts +49 -0
  279. package/dist/errors.d.ts.map +1 -0
  280. package/dist/errors.js +160 -0
  281. package/dist/errors.js.map +7 -0
  282. package/dist/extraction/extractor.d.ts +29 -0
  283. package/dist/extraction/extractor.d.ts.map +1 -0
  284. package/dist/extraction/extractor.js +764 -0
  285. package/dist/extraction/extractor.js.map +7 -0
  286. package/dist/extraction/grammars.d.ts +48 -0
  287. package/dist/extraction/grammars.d.ts.map +1 -0
  288. package/dist/extraction/grammars.js +166 -0
  289. package/dist/extraction/grammars.js.map +7 -0
  290. package/dist/extraction/languages.d.ts +9 -0
  291. package/dist/extraction/languages.d.ts.map +1 -0
  292. package/dist/extraction/languages.js +103 -0
  293. package/dist/extraction/languages.js.map +7 -0
  294. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  295. package/dist/frameworks/csharp.d.ts +8 -0
  296. package/dist/frameworks/csharp.d.ts.map +1 -0
  297. package/dist/frameworks/csharp.js +93 -0
  298. package/dist/frameworks/csharp.js.map +7 -0
  299. package/dist/frameworks/elixir.js +142 -0
  300. package/dist/frameworks/elixir.js.map +7 -0
  301. package/dist/frameworks/express.d.ts +8 -0
  302. package/dist/frameworks/express.d.ts.map +1 -0
  303. package/dist/frameworks/express.js +143 -0
  304. package/dist/frameworks/express.js.map +7 -0
  305. package/dist/frameworks/go.d.ts +8 -0
  306. package/dist/frameworks/go.d.ts.map +1 -0
  307. package/dist/frameworks/go.js +85 -0
  308. package/dist/frameworks/go.js.map +7 -0
  309. package/dist/frameworks/index.d.ts +30 -0
  310. package/dist/frameworks/index.d.ts.map +1 -0
  311. package/dist/frameworks/index.js +243 -0
  312. package/dist/frameworks/index.js.map +7 -0
  313. package/dist/frameworks/java.d.ts +8 -0
  314. package/dist/frameworks/java.d.ts.map +1 -0
  315. package/dist/frameworks/java.js +87 -0
  316. package/dist/frameworks/java.js.map +7 -0
  317. package/dist/frameworks/laravel.d.ts +9 -0
  318. package/dist/frameworks/laravel.d.ts.map +1 -0
  319. package/dist/frameworks/laravel.js +115 -0
  320. package/dist/frameworks/laravel.js.map +7 -0
  321. package/dist/frameworks/python.d.ts +10 -0
  322. package/dist/frameworks/python.d.ts.map +1 -0
  323. package/dist/frameworks/python.js +158 -0
  324. package/dist/frameworks/python.js.map +7 -0
  325. package/dist/frameworks/react.d.ts +9 -0
  326. package/dist/frameworks/react.d.ts.map +1 -0
  327. package/dist/frameworks/react.js +230 -0
  328. package/dist/frameworks/react.js.map +7 -0
  329. package/dist/frameworks/ruby.d.ts +8 -0
  330. package/dist/frameworks/ruby.d.ts.map +1 -0
  331. package/dist/frameworks/ruby.js +136 -0
  332. package/dist/frameworks/ruby.js.map +7 -0
  333. package/dist/frameworks/rust.d.ts +8 -0
  334. package/dist/frameworks/rust.d.ts.map +1 -0
  335. package/dist/frameworks/rust.js +82 -0
  336. package/dist/frameworks/rust.js.map +7 -0
  337. package/dist/frameworks/svelte.d.ts +8 -0
  338. package/dist/frameworks/svelte.d.ts.map +1 -0
  339. package/dist/frameworks/svelte.js +174 -0
  340. package/dist/frameworks/svelte.js.map +7 -0
  341. package/dist/frameworks/swift.d.ts +10 -0
  342. package/dist/frameworks/swift.d.ts.map +1 -0
  343. package/dist/frameworks/swift.js +151 -0
  344. package/dist/frameworks/swift.js.map +7 -0
  345. package/dist/frameworks/types.d.ts +37 -0
  346. package/dist/frameworks/types.d.ts.map +1 -0
  347. package/dist/frameworks/types.js +17 -0
  348. package/dist/frameworks/types.js.map +7 -0
  349. package/dist/graph/queries.d.ts +53 -0
  350. package/dist/graph/queries.d.ts.map +1 -0
  351. package/dist/graph/queries.js +224 -0
  352. package/dist/graph/queries.js.map +7 -0
  353. package/dist/graph/traversal.d.ts +35 -0
  354. package/dist/graph/traversal.d.ts.map +1 -0
  355. package/dist/graph/traversal.js +148 -0
  356. package/dist/graph/traversal.js.map +7 -0
  357. package/dist/index.d.ts +102 -0
  358. package/dist/index.d.ts.map +1 -0
  359. package/dist/index.js +303 -0
  360. package/dist/index.js.map +7 -0
  361. package/dist/installer/index.d.ts +10 -0
  362. package/dist/installer/index.d.ts.map +1 -0
  363. package/dist/installer/index.js +526 -0
  364. package/dist/installer/index.js.map +1 -0
  365. package/dist/mcp/server.d.ts +16 -0
  366. package/dist/mcp/server.d.ts.map +1 -0
  367. package/dist/mcp/server.js +116 -0
  368. package/dist/mcp/server.js.map +7 -0
  369. package/dist/mcp/tools.d.ts +37 -0
  370. package/dist/mcp/tools.d.ts.map +1 -0
  371. package/dist/mcp/tools.js +779 -0
  372. package/dist/mcp/tools.js.map +7 -0
  373. package/dist/mcp/transport.d.ts +29 -0
  374. package/dist/mcp/transport.d.ts.map +1 -0
  375. package/dist/mcp/transport.js +70 -0
  376. package/dist/mcp/transport.js.map +7 -0
  377. package/dist/resolution/index.d.ts +56 -0
  378. package/dist/resolution/index.d.ts.map +1 -0
  379. package/dist/resolution/index.js +384 -0
  380. package/dist/resolution/index.js.map +7 -0
  381. package/dist/resolution/name-matcher.d.ts +25 -0
  382. package/dist/resolution/name-matcher.d.ts.map +1 -0
  383. package/dist/resolution/name-matcher.js +60 -0
  384. package/dist/resolution/name-matcher.js.map +7 -0
  385. package/dist/scripts/postinstall.js +64 -0
  386. package/dist/search/query-utils.d.ts +21 -0
  387. package/dist/search/query-utils.d.ts.map +1 -0
  388. package/dist/search/query-utils.js +219 -0
  389. package/dist/search/query-utils.js.map +7 -0
  390. package/dist/search/searcher.d.ts +15 -0
  391. package/dist/search/searcher.d.ts.map +1 -0
  392. package/dist/search/searcher.js +49 -0
  393. package/dist/search/searcher.js.map +7 -0
  394. package/dist/sync/index.d.ts +33 -0
  395. package/dist/sync/index.d.ts.map +1 -0
  396. package/dist/sync/index.js +200 -0
  397. package/dist/sync/index.js.map +7 -0
  398. package/dist/types.d.ts +131 -0
  399. package/dist/types.d.ts.map +1 -0
  400. package/dist/types.js +37 -0
  401. package/dist/types.js.map +7 -0
  402. package/dist/utils.d.ts +52 -0
  403. package/dist/utils.d.ts.map +1 -0
  404. package/dist/utils.js +254 -0
  405. package/dist/utils.js.map +7 -0
  406. package/dist/vectors/index.d.ts +71 -0
  407. package/dist/vectors/index.d.ts.map +1 -0
  408. package/dist/vectors/index.js +480 -0
  409. package/dist/vectors/index.js.map +7 -0
  410. package/dist/vectors/lancedb-index.d.ts +50 -0
  411. package/dist/vectors/lancedb-index.d.ts.map +1 -0
  412. package/dist/vectors/lancedb-index.js +153 -0
  413. package/dist/vectors/lancedb-index.js.map +7 -0
  414. package/dist/vectors/orama-index.d.ts +54 -0
  415. package/dist/vectors/orama-index.d.ts.map +1 -0
  416. package/dist/vectors/orama-index.js +213 -0
  417. package/dist/vectors/orama-index.js.map +7 -0
  418. package/dist/vectors/pglite-index.d.ts +53 -0
  419. package/dist/vectors/pglite-index.d.ts.map +1 -0
  420. package/dist/vectors/pglite-index.js +194 -0
  421. package/dist/vectors/pglite-index.js.map +7 -0
  422. package/dist/vectors/qdrant-index.d.ts +70 -0
  423. package/dist/vectors/qdrant-index.d.ts.map +1 -0
  424. package/dist/vectors/qdrant-index.js +364 -0
  425. package/dist/vectors/qdrant-index.js.map +7 -0
  426. package/dist/vectors/typesense-index.d.ts +75 -0
  427. package/dist/vectors/typesense-index.d.ts.map +1 -0
  428. package/dist/vectors/typesense-index.js +453 -0
  429. package/dist/vectors/typesense-index.js.map +7 -0
  430. package/dist/vectors/vec-index.d.ts +52 -0
  431. package/dist/vectors/vec-index.d.ts.map +1 -0
  432. package/dist/vectors/vec-index.js +198 -0
  433. package/dist/vectors/vec-index.js.map +7 -0
  434. package/package.json +67 -0
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var ruby_exports = {};
30
+ __export(ruby_exports, {
31
+ rubyLayerDetector: () => rubyLayerDetector
32
+ });
33
+ module.exports = __toCommonJS(ruby_exports);
34
+ var import_picomatch = __toESM(require("picomatch"));
35
+ const LAYER_PATTERNS = [
36
+ ["api", "**/app/controllers/**", 0.95],
37
+ ["api", "**/controllers/**", 0.9],
38
+ ["api", "**/app/channels/**", 0.85],
39
+ ["service", "**/app/services/**", 0.95],
40
+ ["service", "**/services/**", 0.9],
41
+ ["service", "**/app/jobs/**", 0.85],
42
+ ["data", "**/app/models/**", 0.95],
43
+ ["data", "**/models/**", 0.9],
44
+ ["data", "**/db/migrate/**", 0.9],
45
+ ["data", "**/db/**", 0.8],
46
+ ["ui", "**/app/views/**", 0.95],
47
+ ["ui", "**/views/**", 0.9],
48
+ ["ui", "**/app/helpers/**", 0.8],
49
+ ["shared", "**/app/mailers/**", 0.8],
50
+ ["shared", "**/lib/**", 0.8],
51
+ ["shared", "**/config/**", 0.75]
52
+ ];
53
+ const rubyLayerDetector = {
54
+ language: "ruby",
55
+ async detect(files, _projectRoot, configLayers) {
56
+ const results = [];
57
+ const configMatchers = _buildConfigMatchers(configLayers ?? {});
58
+ for (const file of files) {
59
+ if (!file.endsWith(".rb")) continue;
60
+ const configMatch = _matchConfig(file, configMatchers);
61
+ if (configMatch) {
62
+ results.push({ ...configMatch, filePath: file });
63
+ continue;
64
+ }
65
+ let best = null;
66
+ for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {
67
+ if ((0, import_picomatch.default)(pattern)(file)) {
68
+ if (!best || confidence > best.confidence) {
69
+ best = { layerName, filePath: file, confidence, matchedPattern: pattern };
70
+ }
71
+ }
72
+ }
73
+ if (best) results.push(best);
74
+ }
75
+ return results;
76
+ }
77
+ };
78
+ function _buildConfigMatchers(configLayers) {
79
+ return Object.entries(configLayers).flatMap(
80
+ ([layerName, patterns]) => patterns.map(
81
+ (pattern) => [layerName, (0, import_picomatch.default)(pattern), pattern]
82
+ )
83
+ );
84
+ }
85
+ function _matchConfig(file, matchers) {
86
+ for (const [layerName, matcher, pattern] of matchers) {
87
+ if (matcher(file)) return { layerName, confidence: 1, matchedPattern: `config:${pattern}` };
88
+ }
89
+ return null;
90
+ }
91
+ // Annotate the CommonJS export names for ESM import in node:
92
+ 0 && (module.exports = {
93
+ rubyLayerDetector
94
+ });
95
+ //# sourceMappingURL=ruby.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/architecture/layers/ruby.ts"],
4
+ "sourcesContent": ["/**\n * Layer detector for Ruby / Rails projects.\n */\nimport type { LayerDetector, ArchLayerMatch } from '../types';\nimport picomatch from 'picomatch';\n\nconst LAYER_PATTERNS: Array<[string, string, number]> = [\n ['api', '**/app/controllers/**', 0.95],\n ['api', '**/controllers/**', 0.9],\n ['api', '**/app/channels/**', 0.85],\n ['service', '**/app/services/**', 0.95],\n ['service', '**/services/**', 0.9],\n ['service', '**/app/jobs/**', 0.85],\n ['data', '**/app/models/**', 0.95],\n ['data', '**/models/**', 0.9],\n ['data', '**/db/migrate/**', 0.9],\n ['data', '**/db/**', 0.8],\n ['ui', '**/app/views/**', 0.95],\n ['ui', '**/views/**', 0.9],\n ['ui', '**/app/helpers/**', 0.8],\n ['shared', '**/app/mailers/**', 0.8],\n ['shared', '**/lib/**', 0.8],\n ['shared', '**/config/**', 0.75],\n];\n\nexport const rubyLayerDetector: LayerDetector = {\n language: 'ruby',\n\n async detect(files: string[], _projectRoot: string, configLayers?: Record<string, string[]>): Promise<ArchLayerMatch[]> {\n const results: ArchLayerMatch[] = [];\n const configMatchers = _buildConfigMatchers(configLayers ?? {});\n\n for (const file of files) {\n if (!file.endsWith('.rb')) continue;\n\n const configMatch = _matchConfig(file, configMatchers);\n if (configMatch) { results.push({ ...configMatch, filePath: file }); continue; }\n\n let best: ArchLayerMatch | null = null;\n for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {\n if (picomatch(pattern)(file)) {\n if (!best || confidence > best.confidence) {\n best = { layerName, filePath: file, confidence, matchedPattern: pattern };\n }\n }\n }\n if (best) results.push(best);\n }\n return results;\n },\n};\n\nfunction _buildConfigMatchers(configLayers: Record<string, string[]>): Array<[string, ReturnType<typeof picomatch>, string]> {\n return Object.entries(configLayers).flatMap(([layerName, patterns]) =>\n patterns.map((pattern): [string, ReturnType<typeof picomatch>, string] =>\n [layerName, picomatch(pattern), pattern]\n )\n );\n}\nfunction _matchConfig(file: string, matchers: Array<[string, ReturnType<typeof picomatch>, string]>): Omit<ArchLayerMatch, 'filePath'> | null {\n for (const [layerName, matcher, pattern] of matchers) {\n if (matcher(file)) return { layerName, confidence: 1.0, matchedPattern: `config:${pattern}` };\n }\n return null;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,uBAAsB;AAEtB,MAAM,iBAAkD;AAAA,EACtD,CAAC,OAAO,yBAAyB,IAAI;AAAA,EACrC,CAAC,OAAO,qBAAqB,GAAG;AAAA,EAChC,CAAC,OAAO,sBAAsB,IAAI;AAAA,EAClC,CAAC,WAAW,sBAAsB,IAAI;AAAA,EACtC,CAAC,WAAW,kBAAkB,GAAG;AAAA,EACjC,CAAC,WAAW,kBAAkB,IAAI;AAAA,EAClC,CAAC,QAAQ,oBAAoB,IAAI;AAAA,EACjC,CAAC,QAAQ,gBAAgB,GAAG;AAAA,EAC5B,CAAC,QAAQ,oBAAoB,GAAG;AAAA,EAChC,CAAC,QAAQ,YAAY,GAAG;AAAA,EACxB,CAAC,MAAM,mBAAmB,IAAI;AAAA,EAC9B,CAAC,MAAM,eAAe,GAAG;AAAA,EACzB,CAAC,MAAM,qBAAqB,GAAG;AAAA,EAC/B,CAAC,UAAU,qBAAqB,GAAG;AAAA,EACnC,CAAC,UAAU,aAAa,GAAG;AAAA,EAC3B,CAAC,UAAU,gBAAgB,IAAI;AACjC;AAEO,MAAM,oBAAmC;AAAA,EAC9C,UAAU;AAAA,EAEV,MAAM,OAAO,OAAiB,cAAsB,cAAoE;AACtH,UAAM,UAA4B,CAAC;AACnC,UAAM,iBAAiB,qBAAqB,gBAAgB,CAAC,CAAC;AAE9D,eAAW,QAAQ,OAAO;AACxB,UAAI,CAAC,KAAK,SAAS,KAAK,EAAG;AAE3B,YAAM,cAAc,aAAa,MAAM,cAAc;AACrD,UAAI,aAAa;AAAE,gBAAQ,KAAK,EAAE,GAAG,aAAa,UAAU,KAAK,CAAC;AAAG;AAAA,MAAU;AAE/E,UAAI,OAA8B;AAClC,iBAAW,CAAC,WAAW,SAAS,UAAU,KAAK,gBAAgB;AAC7D,gBAAI,iBAAAA,SAAU,OAAO,EAAE,IAAI,GAAG;AAC5B,cAAI,CAAC,QAAQ,aAAa,KAAK,YAAY;AACzC,mBAAO,EAAE,WAAW,UAAU,MAAM,YAAY,gBAAgB,QAAQ;AAAA,UAC1E;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAM,SAAQ,KAAK,IAAI;AAAA,IAC7B;AACA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAAqB,cAA+F;AAC3H,SAAO,OAAO,QAAQ,YAAY,EAAE;AAAA,IAAQ,CAAC,CAAC,WAAW,QAAQ,MAC/D,SAAS;AAAA,MAAI,CAAC,YACZ,CAAC,eAAW,iBAAAA,SAAU,OAAO,GAAG,OAAO;AAAA,IACzC;AAAA,EACF;AACF;AACA,SAAS,aAAa,MAAc,UAA0G;AAC5I,aAAW,CAAC,WAAW,SAAS,OAAO,KAAK,UAAU;AACpD,QAAI,QAAQ,IAAI,EAAG,QAAO,EAAE,WAAW,YAAY,GAAK,gBAAgB,UAAU,OAAO,GAAG;AAAA,EAC9F;AACA,SAAO;AACT;",
6
+ "names": ["picomatch"]
7
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Layer detector for Rust projects.
3
+ */
4
+ import type { LayerDetector } from '../types';
5
+ export declare const rustLayerDetector: LayerDetector;
6
+ //# sourceMappingURL=rust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/rust.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AAyB9D,eAAO,MAAM,iBAAiB,EAAE,aAwB/B,CAAC"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var rust_exports = {};
30
+ __export(rust_exports, {
31
+ rustLayerDetector: () => rustLayerDetector
32
+ });
33
+ module.exports = __toCommonJS(rust_exports);
34
+ var import_picomatch = __toESM(require("picomatch"));
35
+ const LAYER_PATTERNS = [
36
+ ["api", "**/handlers/**", 0.9],
37
+ ["api", "**/routes/**", 0.9],
38
+ ["api", "**/*_handler.rs", 0.9],
39
+ ["api", "**/*_route.rs", 0.85],
40
+ ["service", "**/services/**", 0.9],
41
+ ["service", "**/service/**", 0.9],
42
+ ["service", "**/*_service.rs", 0.9],
43
+ ["service", "**/domain/**", 0.8],
44
+ ["data", "**/models/**", 0.85],
45
+ ["data", "**/repositories/**", 0.9],
46
+ ["data", "**/*_repository.rs", 0.9],
47
+ ["data", "**/db/**", 0.85],
48
+ ["data", "**/schema.rs", 0.85],
49
+ ["data", "**/migrations/**", 0.85],
50
+ ["shared", "**/utils/**", 0.85],
51
+ ["shared", "**/common/**", 0.8],
52
+ ["shared", "**/config/**", 0.8],
53
+ ["shared", "**/errors.rs", 0.75],
54
+ ["shared", "**/error.rs", 0.75]
55
+ ];
56
+ const rustLayerDetector = {
57
+ language: "rust",
58
+ async detect(files, _projectRoot, configLayers) {
59
+ const results = [];
60
+ const configMatchers = _buildConfigMatchers(configLayers ?? {});
61
+ for (const file of files) {
62
+ if (!file.endsWith(".rs")) continue;
63
+ const configMatch = _matchConfig(file, configMatchers);
64
+ if (configMatch) {
65
+ results.push({ ...configMatch, filePath: file });
66
+ continue;
67
+ }
68
+ let best = null;
69
+ for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {
70
+ if ((0, import_picomatch.default)(pattern)(file)) {
71
+ if (!best || confidence > best.confidence) {
72
+ best = { layerName, filePath: file, confidence, matchedPattern: pattern };
73
+ }
74
+ }
75
+ }
76
+ if (best) results.push(best);
77
+ }
78
+ return results;
79
+ }
80
+ };
81
+ function _buildConfigMatchers(configLayers) {
82
+ return Object.entries(configLayers).flatMap(
83
+ ([layerName, patterns]) => patterns.map(
84
+ (pattern) => [layerName, (0, import_picomatch.default)(pattern), pattern]
85
+ )
86
+ );
87
+ }
88
+ function _matchConfig(file, matchers) {
89
+ for (const [layerName, matcher, pattern] of matchers) {
90
+ if (matcher(file)) return { layerName, confidence: 1, matchedPattern: `config:${pattern}` };
91
+ }
92
+ return null;
93
+ }
94
+ // Annotate the CommonJS export names for ESM import in node:
95
+ 0 && (module.exports = {
96
+ rustLayerDetector
97
+ });
98
+ //# sourceMappingURL=rust.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/architecture/layers/rust.ts"],
4
+ "sourcesContent": ["/**\n * Layer detector for Rust projects.\n */\nimport type { LayerDetector, ArchLayerMatch } from '../types';\nimport picomatch from 'picomatch';\n\nconst LAYER_PATTERNS: Array<[string, string, number]> = [\n ['api', '**/handlers/**', 0.9],\n ['api', '**/routes/**', 0.9],\n ['api', '**/*_handler.rs', 0.9],\n ['api', '**/*_route.rs', 0.85],\n ['service', '**/services/**', 0.9],\n ['service', '**/service/**', 0.9],\n ['service', '**/*_service.rs', 0.9],\n ['service', '**/domain/**', 0.8],\n ['data', '**/models/**', 0.85],\n ['data', '**/repositories/**', 0.9],\n ['data', '**/*_repository.rs', 0.9],\n ['data', '**/db/**', 0.85],\n ['data', '**/schema.rs', 0.85],\n ['data', '**/migrations/**', 0.85],\n ['shared', '**/utils/**', 0.85],\n ['shared', '**/common/**', 0.8],\n ['shared', '**/config/**', 0.8],\n ['shared', '**/errors.rs', 0.75],\n ['shared', '**/error.rs', 0.75],\n];\n\nexport const rustLayerDetector: LayerDetector = {\n language: 'rust',\n\n async detect(files: string[], _projectRoot: string, configLayers?: Record<string, string[]>): Promise<ArchLayerMatch[]> {\n const results: ArchLayerMatch[] = [];\n const configMatchers = _buildConfigMatchers(configLayers ?? {});\n\n for (const file of files) {\n if (!file.endsWith('.rs')) continue;\n const configMatch = _matchConfig(file, configMatchers);\n if (configMatch) { results.push({ ...configMatch, filePath: file }); continue; }\n\n let best: ArchLayerMatch | null = null;\n for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {\n if (picomatch(pattern)(file)) {\n if (!best || confidence > best.confidence) {\n best = { layerName, filePath: file, confidence, matchedPattern: pattern };\n }\n }\n }\n if (best) results.push(best);\n }\n return results;\n },\n};\n\nfunction _buildConfigMatchers(configLayers: Record<string, string[]>): Array<[string, ReturnType<typeof picomatch>, string]> {\n return Object.entries(configLayers).flatMap(([layerName, patterns]) =>\n patterns.map((pattern): [string, ReturnType<typeof picomatch>, string] =>\n [layerName, picomatch(pattern), pattern]\n )\n );\n}\nfunction _matchConfig(file: string, matchers: Array<[string, ReturnType<typeof picomatch>, string]>): Omit<ArchLayerMatch, 'filePath'> | null {\n for (const [layerName, matcher, pattern] of matchers) {\n if (matcher(file)) return { layerName, confidence: 1.0, matchedPattern: `config:${pattern}` };\n }\n return null;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,uBAAsB;AAEtB,MAAM,iBAAkD;AAAA,EACtD,CAAC,OAAO,kBAAkB,GAAG;AAAA,EAC7B,CAAC,OAAO,gBAAgB,GAAG;AAAA,EAC3B,CAAC,OAAO,mBAAmB,GAAG;AAAA,EAC9B,CAAC,OAAO,iBAAiB,IAAI;AAAA,EAC7B,CAAC,WAAW,kBAAkB,GAAG;AAAA,EACjC,CAAC,WAAW,iBAAiB,GAAG;AAAA,EAChC,CAAC,WAAW,mBAAmB,GAAG;AAAA,EAClC,CAAC,WAAW,gBAAgB,GAAG;AAAA,EAC/B,CAAC,QAAQ,gBAAgB,IAAI;AAAA,EAC7B,CAAC,QAAQ,sBAAsB,GAAG;AAAA,EAClC,CAAC,QAAQ,sBAAsB,GAAG;AAAA,EAClC,CAAC,QAAQ,YAAY,IAAI;AAAA,EACzB,CAAC,QAAQ,gBAAgB,IAAI;AAAA,EAC7B,CAAC,QAAQ,oBAAoB,IAAI;AAAA,EACjC,CAAC,UAAU,eAAe,IAAI;AAAA,EAC9B,CAAC,UAAU,gBAAgB,GAAG;AAAA,EAC9B,CAAC,UAAU,gBAAgB,GAAG;AAAA,EAC9B,CAAC,UAAU,gBAAgB,IAAI;AAAA,EAC/B,CAAC,UAAU,eAAe,IAAI;AAChC;AAEO,MAAM,oBAAmC;AAAA,EAC9C,UAAU;AAAA,EAEV,MAAM,OAAO,OAAiB,cAAsB,cAAoE;AACtH,UAAM,UAA4B,CAAC;AACnC,UAAM,iBAAiB,qBAAqB,gBAAgB,CAAC,CAAC;AAE9D,eAAW,QAAQ,OAAO;AACxB,UAAI,CAAC,KAAK,SAAS,KAAK,EAAG;AAC3B,YAAM,cAAc,aAAa,MAAM,cAAc;AACrD,UAAI,aAAa;AAAE,gBAAQ,KAAK,EAAE,GAAG,aAAa,UAAU,KAAK,CAAC;AAAG;AAAA,MAAU;AAE/E,UAAI,OAA8B;AAClC,iBAAW,CAAC,WAAW,SAAS,UAAU,KAAK,gBAAgB;AAC7D,gBAAI,iBAAAA,SAAU,OAAO,EAAE,IAAI,GAAG;AAC5B,cAAI,CAAC,QAAQ,aAAa,KAAK,YAAY;AACzC,mBAAO,EAAE,WAAW,UAAU,MAAM,YAAY,gBAAgB,QAAQ;AAAA,UAC1E;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAM,SAAQ,KAAK,IAAI;AAAA,IAC7B;AACA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAAqB,cAA+F;AAC3H,SAAO,OAAO,QAAQ,YAAY,EAAE;AAAA,IAAQ,CAAC,CAAC,WAAW,QAAQ,MAC/D,SAAS;AAAA,MAAI,CAAC,YACZ,CAAC,eAAW,iBAAAA,SAAU,OAAO,GAAG,OAAO;AAAA,IACzC;AAAA,EACF;AACF;AACA,SAAS,aAAa,MAAc,UAA0G;AAC5I,aAAW,CAAC,WAAW,SAAS,OAAO,KAAK,UAAU;AACpD,QAAI,QAAQ,IAAI,EAAG,QAAO,EAAE,WAAW,YAAY,GAAK,gBAAgB,UAAU,OAAO,GAAG;AAAA,EAC9F;AACA,SAAO;AACT;",
6
+ "names": ["picomatch"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export type { LayerDetector, ArchLayerMatch } from '../types';
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
17
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/architecture/layers/types.ts"],
4
+ "sourcesContent": ["export type { LayerDetector, ArchLayerMatch } from '../types';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Layer detector for TypeScript / JavaScript / TSX / JSX projects.
3
+ *
4
+ * Detects: api, service, data, ui, shared layers based on
5
+ * directory names and file naming conventions common in TS/JS projects.
6
+ */
7
+ import type { LayerDetector } from '../types';
8
+ export declare const typescriptLayerDetector: LayerDetector;
9
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/typescript.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AAyE9D,eAAO,MAAM,uBAAuB,EAAE,aAkCrC,CAAC"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var typescript_exports = {};
30
+ __export(typescript_exports, {
31
+ typescriptLayerDetector: () => typescriptLayerDetector
32
+ });
33
+ module.exports = __toCommonJS(typescript_exports);
34
+ var import_picomatch = __toESM(require("picomatch"));
35
+ const LAYER_PATTERNS = [
36
+ // API / Controller layer
37
+ ["api", "**/routes/**", 0.9],
38
+ ["api", "**/controllers/**", 0.9],
39
+ ["api", "**/handlers/**", 0.85],
40
+ ["api", "**/*.route.ts", 0.9],
41
+ ["api", "**/*.route.js", 0.9],
42
+ ["api", "**/*.controller.ts", 0.9],
43
+ ["api", "**/*.controller.js", 0.9],
44
+ ["api", "**/*.handler.ts", 0.85],
45
+ ["api", "**/api/**", 0.75],
46
+ ["api", "**/endpoints/**", 0.85],
47
+ // Service / Business logic layer
48
+ ["service", "**/services/**", 0.9],
49
+ ["service", "**/*.service.ts", 0.9],
50
+ ["service", "**/*.service.js", 0.9],
51
+ ["service", "**/usecases/**", 0.85],
52
+ ["service", "**/use-cases/**", 0.85],
53
+ ["service", "**/interactors/**", 0.8],
54
+ ["service", "**/domain/**", 0.8],
55
+ // Data / Repository layer
56
+ ["data", "**/repositories/**", 0.9],
57
+ ["data", "**/repository/**", 0.9],
58
+ ["data", "**/models/**", 0.85],
59
+ ["data", "**/entities/**", 0.85],
60
+ ["data", "**/dao/**", 0.9],
61
+ ["data", "**/store/**", 0.8],
62
+ ["data", "**/*.repository.ts", 0.9],
63
+ ["data", "**/*.repository.js", 0.9],
64
+ ["data", "**/*.model.ts", 0.85],
65
+ ["data", "**/*.model.js", 0.85],
66
+ ["data", "**/*.entity.ts", 0.85],
67
+ ["data", "**/db/**", 0.8],
68
+ ["data", "**/database/**", 0.8],
69
+ ["data", "**/migrations/**", 0.85],
70
+ ["data", "**/schema/**", 0.8],
71
+ // UI / Frontend layer
72
+ ["ui", "**/components/**", 0.9],
73
+ ["ui", "**/pages/**", 0.9],
74
+ ["ui", "**/views/**", 0.85],
75
+ ["ui", "**/screens/**", 0.9],
76
+ ["ui", "**/layouts/**", 0.85],
77
+ ["ui", "**/*.component.ts", 0.9],
78
+ ["ui", "**/*.component.tsx", 0.9],
79
+ ["ui", "**/*.page.tsx", 0.9],
80
+ ["ui", "**/*.screen.tsx", 0.9],
81
+ ["ui", "**/ui/**", 0.8],
82
+ // Shared / Infrastructure layer
83
+ ["shared", "**/utils/**", 0.85],
84
+ ["shared", "**/helpers/**", 0.85],
85
+ ["shared", "**/lib/**", 0.8],
86
+ ["shared", "**/common/**", 0.8],
87
+ ["shared", "**/shared/**", 0.85],
88
+ ["shared", "**/constants/**", 0.8],
89
+ ["shared", "**/config/**", 0.8],
90
+ ["shared", "**/middleware/**", 0.8],
91
+ ["shared", "**/plugins/**", 0.75],
92
+ ["shared", "**/hooks/**", 0.8],
93
+ ["shared", "**/*.util.ts", 0.85],
94
+ ["shared", "**/*.util.js", 0.85],
95
+ ["shared", "**/*.helper.ts", 0.85]
96
+ ];
97
+ const SUPPORTED_EXTENSIONS = /* @__PURE__ */ new Set([".ts", ".tsx", ".js", ".jsx", ".svelte"]);
98
+ const typescriptLayerDetector = {
99
+ language: "typescript",
100
+ async detect(files, _projectRoot, configLayers) {
101
+ const results = [];
102
+ const configMatchers = _buildConfigMatchers(configLayers ?? {});
103
+ for (const file of files) {
104
+ const ext = file.slice(file.lastIndexOf("."));
105
+ if (!SUPPORTED_EXTENSIONS.has(ext)) continue;
106
+ const configMatch = _matchConfig(file, configMatchers);
107
+ if (configMatch) {
108
+ results.push({ ...configMatch, filePath: file });
109
+ continue;
110
+ }
111
+ let best = null;
112
+ for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {
113
+ if ((0, import_picomatch.default)(pattern)(file)) {
114
+ if (!best || confidence > best.confidence) {
115
+ best = { layerName, filePath: file, confidence, matchedPattern: pattern };
116
+ }
117
+ }
118
+ }
119
+ if (best) results.push(best);
120
+ }
121
+ return results;
122
+ }
123
+ };
124
+ function _buildConfigMatchers(configLayers) {
125
+ const matchers = [];
126
+ for (const [layerName, patterns] of Object.entries(configLayers)) {
127
+ for (const pattern of patterns) {
128
+ matchers.push([layerName, (0, import_picomatch.default)(pattern), pattern]);
129
+ }
130
+ }
131
+ return matchers;
132
+ }
133
+ function _matchConfig(file, matchers) {
134
+ for (const [layerName, matcher, pattern] of matchers) {
135
+ if (matcher(file)) return { layerName, confidence: 1, matchedPattern: `config:${pattern}` };
136
+ }
137
+ return null;
138
+ }
139
+ // Annotate the CommonJS export names for ESM import in node:
140
+ 0 && (module.exports = {
141
+ typescriptLayerDetector
142
+ });
143
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/architecture/layers/typescript.ts"],
4
+ "sourcesContent": ["/**\n * Layer detector for TypeScript / JavaScript / TSX / JSX projects.\n *\n * Detects: api, service, data, ui, shared layers based on\n * directory names and file naming conventions common in TS/JS projects.\n */\nimport type { LayerDetector, ArchLayerMatch } from '../types';\nimport picomatch from 'picomatch';\n\n// Pattern definitions: each entry is [layerName, glob, confidence]\nconst LAYER_PATTERNS: Array<[string, string, number]> = [\n // API / Controller layer\n ['api', '**/routes/**', 0.9],\n ['api', '**/controllers/**', 0.9],\n ['api', '**/handlers/**', 0.85],\n ['api', '**/*.route.ts', 0.9],\n ['api', '**/*.route.js', 0.9],\n ['api', '**/*.controller.ts', 0.9],\n ['api', '**/*.controller.js', 0.9],\n ['api', '**/*.handler.ts', 0.85],\n ['api', '**/api/**', 0.75],\n ['api', '**/endpoints/**', 0.85],\n\n // Service / Business logic layer\n ['service', '**/services/**', 0.9],\n ['service', '**/*.service.ts', 0.9],\n ['service', '**/*.service.js', 0.9],\n ['service', '**/usecases/**', 0.85],\n ['service', '**/use-cases/**', 0.85],\n ['service', '**/interactors/**', 0.8],\n ['service', '**/domain/**', 0.8],\n\n // Data / Repository layer\n ['data', '**/repositories/**', 0.9],\n ['data', '**/repository/**', 0.9],\n ['data', '**/models/**', 0.85],\n ['data', '**/entities/**', 0.85],\n ['data', '**/dao/**', 0.9],\n ['data', '**/store/**', 0.8],\n ['data', '**/*.repository.ts', 0.9],\n ['data', '**/*.repository.js', 0.9],\n ['data', '**/*.model.ts', 0.85],\n ['data', '**/*.model.js', 0.85],\n ['data', '**/*.entity.ts', 0.85],\n ['data', '**/db/**', 0.8],\n ['data', '**/database/**', 0.8],\n ['data', '**/migrations/**', 0.85],\n ['data', '**/schema/**', 0.8],\n\n // UI / Frontend layer\n ['ui', '**/components/**', 0.9],\n ['ui', '**/pages/**', 0.9],\n ['ui', '**/views/**', 0.85],\n ['ui', '**/screens/**', 0.9],\n ['ui', '**/layouts/**', 0.85],\n ['ui', '**/*.component.ts', 0.9],\n ['ui', '**/*.component.tsx', 0.9],\n ['ui', '**/*.page.tsx', 0.9],\n ['ui', '**/*.screen.tsx', 0.9],\n ['ui', '**/ui/**', 0.8],\n\n // Shared / Infrastructure layer\n ['shared', '**/utils/**', 0.85],\n ['shared', '**/helpers/**', 0.85],\n ['shared', '**/lib/**', 0.8],\n ['shared', '**/common/**', 0.8],\n ['shared', '**/shared/**', 0.85],\n ['shared', '**/constants/**', 0.8],\n ['shared', '**/config/**', 0.8],\n ['shared', '**/middleware/**', 0.8],\n ['shared', '**/plugins/**', 0.75],\n ['shared', '**/hooks/**', 0.8],\n ['shared', '**/*.util.ts', 0.85],\n ['shared', '**/*.util.js', 0.85],\n ['shared', '**/*.helper.ts', 0.85],\n];\n\nconst SUPPORTED_EXTENSIONS = new Set(['.ts', '.tsx', '.js', '.jsx', '.svelte']);\n\nexport const typescriptLayerDetector: LayerDetector = {\n language: 'typescript',\n\n async detect(files: string[], _projectRoot: string, configLayers?: Record<string, string[]>): Promise<ArchLayerMatch[]> {\n const results: ArchLayerMatch[] = [];\n\n // Config-defined layers override auto-detection for matching files\n const configMatchers = _buildConfigMatchers(configLayers ?? {});\n\n for (const file of files) {\n const ext = file.slice(file.lastIndexOf('.'));\n if (!SUPPORTED_EXTENSIONS.has(ext)) continue;\n\n // Check config layers first (they win)\n const configMatch = _matchConfig(file, configMatchers);\n if (configMatch) {\n results.push({ ...configMatch, filePath: file });\n continue;\n }\n\n // Auto-detect\n let best: ArchLayerMatch | null = null;\n for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {\n if (picomatch(pattern)(file)) {\n if (!best || confidence > best.confidence) {\n best = { layerName, filePath: file, confidence, matchedPattern: pattern };\n }\n }\n }\n if (best) results.push(best);\n }\n\n return results;\n },\n};\n\nfunction _buildConfigMatchers(configLayers: Record<string, string[]>): Array<[string, ReturnType<typeof picomatch>, string]> {\n const matchers: Array<[string, ReturnType<typeof picomatch>, string]> = [];\n for (const [layerName, patterns] of Object.entries(configLayers)) {\n for (const pattern of patterns) {\n matchers.push([layerName, picomatch(pattern), pattern]);\n }\n }\n return matchers;\n}\n\nfunction _matchConfig(\n file: string,\n matchers: Array<[string, ReturnType<typeof picomatch>, string]>\n): Omit<ArchLayerMatch, 'filePath'> | null {\n for (const [layerName, matcher, pattern] of matchers) {\n if (matcher(file)) return { layerName, confidence: 1.0, matchedPattern: `config:${pattern}` };\n }\n return null;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["picomatch"]
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { ManifestParser } from '../types';
2
+ export declare const cargoParser: ManifestParser;
3
+ //# sourceMappingURL=cargo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cargo.d.ts","sourceRoot":"","sources":["../../../src/architecture/manifest/cargo.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,WAAW,EAAE,cA8DzB,CAAC"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var cargo_exports = {};
30
+ __export(cargo_exports, {
31
+ cargoParser: () => cargoParser
32
+ });
33
+ module.exports = __toCommonJS(cargo_exports);
34
+ var fs = __toESM(require("fs"));
35
+ var path = __toESM(require("path"));
36
+ const cargoParser = {
37
+ name: "cargo",
38
+ manifestFiles: ["Cargo.toml"],
39
+ language: "rust",
40
+ canParse(manifestPath) {
41
+ return path.basename(manifestPath) === "Cargo.toml";
42
+ },
43
+ async parse(manifestPath, projectRoot) {
44
+ let content;
45
+ try {
46
+ content = fs.readFileSync(manifestPath, "utf8");
47
+ } catch {
48
+ return [];
49
+ }
50
+ const nameMatch = content.match(/^\[package\][^[]*name\s*=\s*"([^"]+)"/ms);
51
+ const versionMatch = content.match(/^\[package\][^[]*version\s*=\s*"([^"]+)"/ms);
52
+ const name = nameMatch ? nameMatch[1] : path.basename(path.dirname(manifestPath));
53
+ const version = versionMatch ? versionMatch[1] : void 0;
54
+ const externalDeps = [];
55
+ const depsMatch = content.match(/^\[dependencies\]([\s\S]*?)(?=^\[|\Z)/m);
56
+ if (depsMatch) {
57
+ for (const line of depsMatch[1].split("\n")) {
58
+ const m = line.trim().match(/^([a-zA-Z0-9_-]+)\s*=/);
59
+ if (m) externalDeps.push(m[1]);
60
+ }
61
+ }
62
+ const relDir = path.relative(projectRoot, path.dirname(manifestPath)).replace(/\\/g, "/") || ".";
63
+ const relManifest = path.relative(projectRoot, manifestPath).replace(/\\/g, "/");
64
+ const packages = [{
65
+ id: `pkg:cargo:${relDir}`,
66
+ name,
67
+ path: relDir,
68
+ source: "manifest",
69
+ language: "rust",
70
+ manifestPath: relManifest,
71
+ version,
72
+ externalDeps,
73
+ updatedAt: Date.now()
74
+ }];
75
+ const workspaceMatch = content.match(/^\[workspace\][^[]*members\s*=\s*\[([^\]]+)\]/ms);
76
+ if (workspaceMatch) {
77
+ const members = workspaceMatch[1].match(/"([^"]+)"/g)?.map((s) => s.replace(/"/g, "")) ?? [];
78
+ for (const member of members) {
79
+ const memberDir = path.join(path.dirname(manifestPath), member);
80
+ const memberCargo = path.join(memberDir, "Cargo.toml");
81
+ if (fs.existsSync(memberCargo)) {
82
+ const sub = await this.parse(memberCargo, projectRoot);
83
+ packages.push(...sub);
84
+ }
85
+ }
86
+ }
87
+ return packages;
88
+ }
89
+ };
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ cargoParser
93
+ });
94
+ //# sourceMappingURL=cargo.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/architecture/manifest/cargo.ts"],
4
+ "sourcesContent": ["/**\n * Rust Cargo.toml manifest parser.\n */\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport type { ManifestParser, ArchPackage } from '../types';\n\nexport const cargoParser: ManifestParser = {\n name: 'cargo',\n manifestFiles: ['Cargo.toml'],\n language: 'rust',\n\n canParse(manifestPath: string): boolean {\n return path.basename(manifestPath) === 'Cargo.toml';\n },\n\n async parse(manifestPath: string, projectRoot: string): Promise<ArchPackage[]> {\n let content: string;\n try {\n content = fs.readFileSync(manifestPath, 'utf8');\n } catch {\n return [];\n }\n\n const nameMatch = content.match(/^\\[package\\][^[]*name\\s*=\\s*\"([^\"]+)\"/ms);\n const versionMatch = content.match(/^\\[package\\][^[]*version\\s*=\\s*\"([^\"]+)\"/ms);\n const name = nameMatch ? nameMatch[1] : path.basename(path.dirname(manifestPath));\n const version = versionMatch ? versionMatch[1] : undefined;\n\n const externalDeps: string[] = [];\n const depsMatch = content.match(/^\\[dependencies\\]([\\s\\S]*?)(?=^\\[|\\Z)/m);\n if (depsMatch) {\n for (const line of depsMatch[1].split('\\n')) {\n const m = line.trim().match(/^([a-zA-Z0-9_-]+)\\s*=/);\n if (m) externalDeps.push(m[1]);\n }\n }\n\n const relDir = path.relative(projectRoot, path.dirname(manifestPath)).replace(/\\\\/g, '/') || '.';\n const relManifest = path.relative(projectRoot, manifestPath).replace(/\\\\/g, '/');\n\n const packages: ArchPackage[] = [{\n id: `pkg:cargo:${relDir}`,\n name,\n path: relDir,\n source: 'manifest',\n language: 'rust',\n manifestPath: relManifest,\n version,\n externalDeps,\n updatedAt: Date.now(),\n }];\n\n // Handle workspace members\n const workspaceMatch = content.match(/^\\[workspace\\][^[]*members\\s*=\\s*\\[([^\\]]+)\\]/ms);\n if (workspaceMatch) {\n const members = workspaceMatch[1].match(/\"([^\"]+)\"/g)?.map(s => s.replace(/\"/g, '')) ?? [];\n for (const member of members) {\n const memberDir = path.join(path.dirname(manifestPath), member);\n const memberCargo = path.join(memberDir, 'Cargo.toml');\n if (fs.existsSync(memberCargo)) {\n const sub = await this.parse(memberCargo, projectRoot);\n packages.push(...sub);\n }\n }\n }\n\n return packages;\n },\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,SAAoB;AACpB,WAAsB;AAGf,MAAM,cAA8B;AAAA,EACzC,MAAM;AAAA,EACN,eAAe,CAAC,YAAY;AAAA,EAC5B,UAAU;AAAA,EAEV,SAAS,cAA+B;AACtC,WAAO,KAAK,SAAS,YAAY,MAAM;AAAA,EACzC;AAAA,EAEA,MAAM,MAAM,cAAsB,aAA6C;AAC7E,QAAI;AACJ,QAAI;AACF,gBAAU,GAAG,aAAa,cAAc,MAAM;AAAA,IAChD,QAAQ;AACN,aAAO,CAAC;AAAA,IACV;AAEA,UAAM,YAAY,QAAQ,MAAM,yCAAyC;AACzE,UAAM,eAAe,QAAQ,MAAM,4CAA4C;AAC/E,UAAM,OAAO,YAAY,UAAU,CAAC,IAAI,KAAK,SAAS,KAAK,QAAQ,YAAY,CAAC;AAChF,UAAM,UAAU,eAAe,aAAa,CAAC,IAAI;AAEjD,UAAM,eAAyB,CAAC;AAChC,UAAM,YAAY,QAAQ,MAAM,wCAAwC;AACxE,QAAI,WAAW;AACb,iBAAW,QAAQ,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG;AAC3C,cAAM,IAAI,KAAK,KAAK,EAAE,MAAM,uBAAuB;AACnD,YAAI,EAAG,cAAa,KAAK,EAAE,CAAC,CAAC;AAAA,MAC/B;AAAA,IACF;AAEA,UAAM,SAAS,KAAK,SAAS,aAAa,KAAK,QAAQ,YAAY,CAAC,EAAE,QAAQ,OAAO,GAAG,KAAK;AAC7F,UAAM,cAAc,KAAK,SAAS,aAAa,YAAY,EAAE,QAAQ,OAAO,GAAG;AAE/E,UAAM,WAA0B,CAAC;AAAA,MAC/B,IAAI,aAAa,MAAM;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA,WAAW,KAAK,IAAI;AAAA,IACtB,CAAC;AAGD,UAAM,iBAAiB,QAAQ,MAAM,iDAAiD;AACtF,QAAI,gBAAgB;AAClB,YAAM,UAAU,eAAe,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,OAAK,EAAE,QAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;AACzF,iBAAW,UAAU,SAAS;AAC5B,cAAM,YAAY,KAAK,KAAK,KAAK,QAAQ,YAAY,GAAG,MAAM;AAC9D,cAAM,cAAc,KAAK,KAAK,WAAW,YAAY;AACrD,YAAI,GAAG,WAAW,WAAW,GAAG;AAC9B,gBAAM,MAAM,MAAM,KAAK,MAAM,aAAa,WAAW;AACrD,mBAAS,KAAK,GAAG,GAAG;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { ManifestParser } from '../types';
2
+ export declare const csprojParser: ManifestParser;
3
+ //# sourceMappingURL=csproj.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csproj.d.ts","sourceRoot":"","sources":["../../../src/architecture/manifest/csproj.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,YAAY,EAAE,cAyC1B,CAAC"}