aspectcode 0.2.2 → 0.3.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 (299) hide show
  1. package/dist/cli.d.ts +15 -47
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +18 -17
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config.d.ts +14 -24
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +5 -60
  8. package/dist/config.js.map +1 -1
  9. package/dist/kbBuilder.d.ts +14 -0
  10. package/dist/kbBuilder.d.ts.map +1 -0
  11. package/dist/kbBuilder.js +106 -0
  12. package/dist/kbBuilder.js.map +1 -0
  13. package/dist/main.d.ts +4 -5
  14. package/dist/main.d.ts.map +1 -1
  15. package/dist/main.js +45 -124
  16. package/dist/main.js.map +1 -1
  17. package/dist/optimize.d.ts +14 -0
  18. package/dist/optimize.d.ts.map +1 -0
  19. package/dist/optimize.js +131 -0
  20. package/dist/optimize.js.map +1 -0
  21. package/dist/pipeline.d.ts +15 -0
  22. package/dist/pipeline.d.ts.map +1 -0
  23. package/dist/pipeline.js +212 -0
  24. package/dist/pipeline.js.map +1 -0
  25. package/dist/toolIngestion.d.ts +15 -0
  26. package/dist/toolIngestion.d.ts.map +1 -0
  27. package/dist/toolIngestion.js +47 -0
  28. package/dist/toolIngestion.js.map +1 -0
  29. package/dist/writer.d.ts +17 -0
  30. package/dist/writer.d.ts.map +1 -0
  31. package/dist/writer.js +26 -0
  32. package/dist/writer.js.map +1 -0
  33. package/node_modules/@aspectcode/core/dist/analysis/analyzer.d.ts +34 -0
  34. package/node_modules/@aspectcode/core/dist/analysis/analyzer.d.ts.map +1 -0
  35. package/node_modules/@aspectcode/core/dist/analysis/analyzer.js +240 -0
  36. package/node_modules/@aspectcode/core/dist/analysis/analyzer.js.map +1 -0
  37. package/node_modules/@aspectcode/core/dist/analysis/dependencyAdapters.d.ts +32 -0
  38. package/node_modules/@aspectcode/core/dist/analysis/dependencyAdapters.d.ts.map +1 -0
  39. package/node_modules/@aspectcode/core/dist/analysis/dependencyAdapters.js +133 -0
  40. package/node_modules/@aspectcode/core/dist/analysis/dependencyAdapters.js.map +1 -0
  41. package/node_modules/@aspectcode/core/dist/analysis/importParsers.d.ts +30 -0
  42. package/node_modules/@aspectcode/core/dist/analysis/importParsers.d.ts.map +1 -0
  43. package/node_modules/@aspectcode/core/dist/analysis/importParsers.js +92 -0
  44. package/node_modules/@aspectcode/core/dist/analysis/importParsers.js.map +1 -0
  45. package/node_modules/@aspectcode/core/dist/analysis/index.d.ts +9 -0
  46. package/node_modules/@aspectcode/core/dist/analysis/index.d.ts.map +1 -0
  47. package/node_modules/@aspectcode/core/dist/analysis/index.js +9 -0
  48. package/node_modules/@aspectcode/core/dist/analysis/index.js.map +1 -0
  49. package/node_modules/@aspectcode/core/dist/analysis/moduleResolver.d.ts +34 -0
  50. package/node_modules/@aspectcode/core/dist/analysis/moduleResolver.d.ts.map +1 -0
  51. package/node_modules/@aspectcode/core/dist/analysis/moduleResolver.js +240 -0
  52. package/node_modules/@aspectcode/core/dist/analysis/moduleResolver.js.map +1 -0
  53. package/node_modules/@aspectcode/core/dist/analysis/repo.d.ts +33 -0
  54. package/node_modules/@aspectcode/core/dist/analysis/repo.d.ts.map +1 -0
  55. package/node_modules/@aspectcode/core/dist/analysis/repo.js +246 -0
  56. package/node_modules/@aspectcode/core/dist/analysis/repo.js.map +1 -0
  57. package/node_modules/@aspectcode/core/dist/classifiers.d.ts +24 -0
  58. package/node_modules/@aspectcode/core/dist/classifiers.d.ts.map +1 -0
  59. package/node_modules/@aspectcode/core/dist/classifiers.js +119 -0
  60. package/node_modules/@aspectcode/core/dist/classifiers.js.map +1 -0
  61. package/node_modules/@aspectcode/core/dist/fs/exclusions.d.ts +26 -0
  62. package/node_modules/@aspectcode/core/dist/fs/exclusions.d.ts.map +1 -0
  63. package/node_modules/@aspectcode/core/dist/fs/exclusions.js +130 -0
  64. package/node_modules/@aspectcode/core/dist/fs/exclusions.js.map +1 -0
  65. package/node_modules/@aspectcode/core/dist/fs/fingerprint.d.ts +42 -0
  66. package/node_modules/@aspectcode/core/dist/fs/fingerprint.d.ts.map +1 -0
  67. package/node_modules/@aspectcode/core/dist/fs/fingerprint.js +125 -0
  68. package/node_modules/@aspectcode/core/dist/fs/fingerprint.js.map +1 -0
  69. package/node_modules/@aspectcode/core/dist/fs/index.d.ts +9 -0
  70. package/node_modules/@aspectcode/core/dist/fs/index.d.ts.map +1 -0
  71. package/node_modules/@aspectcode/core/dist/fs/index.js +26 -0
  72. package/node_modules/@aspectcode/core/dist/fs/index.js.map +1 -0
  73. package/node_modules/@aspectcode/core/dist/fs/walker.d.ts +23 -0
  74. package/node_modules/@aspectcode/core/dist/fs/walker.d.ts.map +1 -0
  75. package/node_modules/@aspectcode/core/dist/fs/walker.js +94 -0
  76. package/node_modules/@aspectcode/core/dist/fs/walker.js.map +1 -0
  77. package/node_modules/@aspectcode/core/dist/host.d.ts +38 -0
  78. package/node_modules/@aspectcode/core/dist/host.d.ts.map +1 -0
  79. package/node_modules/@aspectcode/core/dist/host.js +110 -0
  80. package/node_modules/@aspectcode/core/dist/host.js.map +1 -0
  81. package/node_modules/@aspectcode/core/dist/index.d.ts +23 -0
  82. package/node_modules/@aspectcode/core/dist/index.d.ts.map +1 -0
  83. package/node_modules/@aspectcode/core/dist/index.js +59 -0
  84. package/node_modules/@aspectcode/core/dist/index.js.map +1 -0
  85. package/node_modules/@aspectcode/core/dist/model.d.ts +90 -0
  86. package/node_modules/@aspectcode/core/dist/model.d.ts.map +1 -0
  87. package/node_modules/@aspectcode/core/dist/model.js +9 -0
  88. package/node_modules/@aspectcode/core/dist/model.js.map +1 -0
  89. package/node_modules/@aspectcode/core/dist/parsers/csharpExtractors.d.ts +17 -0
  90. package/node_modules/@aspectcode/core/dist/parsers/csharpExtractors.d.ts.map +1 -0
  91. package/node_modules/@aspectcode/core/dist/parsers/csharpExtractors.js +225 -0
  92. package/node_modules/@aspectcode/core/dist/parsers/csharpExtractors.js.map +1 -0
  93. package/node_modules/@aspectcode/core/dist/parsers/grammarLoader.d.ts +30 -0
  94. package/node_modules/@aspectcode/core/dist/parsers/grammarLoader.d.ts.map +1 -0
  95. package/node_modules/@aspectcode/core/dist/parsers/grammarLoader.js +71 -0
  96. package/node_modules/@aspectcode/core/dist/parsers/grammarLoader.js.map +1 -0
  97. package/node_modules/@aspectcode/core/dist/parsers/index.d.ts +13 -0
  98. package/node_modules/@aspectcode/core/dist/parsers/index.d.ts.map +1 -0
  99. package/node_modules/@aspectcode/core/dist/parsers/index.js +32 -0
  100. package/node_modules/@aspectcode/core/dist/parsers/index.js.map +1 -0
  101. package/node_modules/@aspectcode/core/dist/parsers/javaExtractors.d.ts +17 -0
  102. package/node_modules/@aspectcode/core/dist/parsers/javaExtractors.d.ts.map +1 -0
  103. package/node_modules/@aspectcode/core/dist/parsers/javaExtractors.js +182 -0
  104. package/node_modules/@aspectcode/core/dist/parsers/javaExtractors.js.map +1 -0
  105. package/node_modules/@aspectcode/core/dist/parsers/languages.d.ts +44 -0
  106. package/node_modules/@aspectcode/core/dist/parsers/languages.d.ts.map +1 -0
  107. package/node_modules/@aspectcode/core/dist/parsers/languages.js +64 -0
  108. package/node_modules/@aspectcode/core/dist/parsers/languages.js.map +1 -0
  109. package/node_modules/@aspectcode/core/dist/parsers/pythonExtractors.d.ts +18 -0
  110. package/node_modules/@aspectcode/core/dist/parsers/pythonExtractors.d.ts.map +1 -0
  111. package/node_modules/@aspectcode/core/dist/parsers/pythonExtractors.js +139 -0
  112. package/node_modules/@aspectcode/core/dist/parsers/pythonExtractors.js.map +1 -0
  113. package/node_modules/@aspectcode/core/dist/parsers/tsJsExtractors.d.ts +22 -0
  114. package/node_modules/@aspectcode/core/dist/parsers/tsJsExtractors.d.ts.map +1 -0
  115. package/node_modules/@aspectcode/core/dist/parsers/tsJsExtractors.js +240 -0
  116. package/node_modules/@aspectcode/core/dist/parsers/tsJsExtractors.js.map +1 -0
  117. package/node_modules/@aspectcode/core/dist/parsers/utils.d.ts +7 -0
  118. package/node_modules/@aspectcode/core/dist/parsers/utils.d.ts.map +1 -0
  119. package/node_modules/@aspectcode/core/dist/parsers/utils.js +11 -0
  120. package/node_modules/@aspectcode/core/dist/parsers/utils.js.map +1 -0
  121. package/node_modules/@aspectcode/core/dist/paths.d.ts +27 -0
  122. package/node_modules/@aspectcode/core/dist/paths.d.ts.map +1 -0
  123. package/node_modules/@aspectcode/core/dist/paths.js +45 -0
  124. package/node_modules/@aspectcode/core/dist/paths.js.map +1 -0
  125. package/node_modules/@aspectcode/core/dist/stats.d.ts +41 -0
  126. package/node_modules/@aspectcode/core/dist/stats.d.ts.map +1 -0
  127. package/node_modules/@aspectcode/core/dist/stats.js +88 -0
  128. package/node_modules/@aspectcode/core/dist/stats.js.map +1 -0
  129. package/node_modules/@aspectcode/core/package.json +41 -0
  130. package/node_modules/@aspectcode/core/parsers/c_sharp.wasm +0 -0
  131. package/node_modules/@aspectcode/core/parsers/java.wasm +0 -0
  132. package/node_modules/@aspectcode/core/parsers/javascript.wasm +0 -0
  133. package/node_modules/@aspectcode/core/parsers/python.wasm +0 -0
  134. package/node_modules/@aspectcode/core/parsers/tree-sitter.wasm +0 -0
  135. package/node_modules/@aspectcode/core/parsers/tsx.wasm +0 -0
  136. package/node_modules/@aspectcode/core/parsers/typescript.wasm +0 -0
  137. package/node_modules/@aspectcode/emitters/dist/emitter.d.ts +72 -0
  138. package/node_modules/@aspectcode/emitters/dist/emitter.d.ts.map +1 -0
  139. package/node_modules/@aspectcode/emitters/dist/emitter.js +10 -0
  140. package/node_modules/@aspectcode/emitters/dist/emitter.js.map +1 -0
  141. package/node_modules/@aspectcode/emitters/dist/host.d.ts +31 -0
  142. package/node_modules/@aspectcode/emitters/dist/host.d.ts.map +1 -0
  143. package/node_modules/@aspectcode/emitters/dist/host.js +86 -0
  144. package/node_modules/@aspectcode/emitters/dist/host.js.map +1 -0
  145. package/node_modules/@aspectcode/emitters/dist/index.d.ts +27 -0
  146. package/node_modules/@aspectcode/emitters/dist/index.d.ts.map +1 -0
  147. package/node_modules/@aspectcode/emitters/dist/index.js +116 -0
  148. package/node_modules/@aspectcode/emitters/dist/index.js.map +1 -0
  149. package/node_modules/@aspectcode/emitters/dist/instructions/content.d.ts +15 -0
  150. package/node_modules/@aspectcode/emitters/dist/instructions/content.d.ts.map +1 -0
  151. package/node_modules/@aspectcode/emitters/dist/instructions/content.js +289 -0
  152. package/node_modules/@aspectcode/emitters/dist/instructions/content.js.map +1 -0
  153. package/node_modules/@aspectcode/emitters/dist/instructions/detection.d.ts +13 -0
  154. package/node_modules/@aspectcode/emitters/dist/instructions/detection.d.ts.map +1 -0
  155. package/node_modules/@aspectcode/emitters/dist/instructions/detection.js +55 -0
  156. package/node_modules/@aspectcode/emitters/dist/instructions/detection.js.map +1 -0
  157. package/node_modules/@aspectcode/emitters/dist/instructions/formats.d.ts +17 -0
  158. package/node_modules/@aspectcode/emitters/dist/instructions/formats.d.ts.map +1 -0
  159. package/node_modules/@aspectcode/emitters/dist/instructions/formats.js +23 -0
  160. package/node_modules/@aspectcode/emitters/dist/instructions/formats.js.map +1 -0
  161. package/node_modules/@aspectcode/emitters/dist/instructions/index.d.ts +5 -0
  162. package/node_modules/@aspectcode/emitters/dist/instructions/index.d.ts.map +1 -0
  163. package/node_modules/@aspectcode/emitters/dist/instructions/index.js +12 -0
  164. package/node_modules/@aspectcode/emitters/dist/instructions/index.js.map +1 -0
  165. package/node_modules/@aspectcode/emitters/dist/instructions/instructionsEmitter.d.ts +9 -0
  166. package/node_modules/@aspectcode/emitters/dist/instructions/instructionsEmitter.d.ts.map +1 -0
  167. package/node_modules/@aspectcode/emitters/dist/instructions/instructionsEmitter.js +30 -0
  168. package/node_modules/@aspectcode/emitters/dist/instructions/instructionsEmitter.js.map +1 -0
  169. package/node_modules/@aspectcode/emitters/dist/kb/analyzers.d.ts +64 -0
  170. package/node_modules/@aspectcode/emitters/dist/kb/analyzers.d.ts.map +1 -0
  171. package/node_modules/@aspectcode/emitters/dist/kb/analyzers.js +504 -0
  172. package/node_modules/@aspectcode/emitters/dist/kb/analyzers.js.map +1 -0
  173. package/node_modules/@aspectcode/emitters/dist/kb/architectureEmitter.d.ts +24 -0
  174. package/node_modules/@aspectcode/emitters/dist/kb/architectureEmitter.d.ts.map +1 -0
  175. package/node_modules/@aspectcode/emitters/dist/kb/architectureEmitter.js +238 -0
  176. package/node_modules/@aspectcode/emitters/dist/kb/architectureEmitter.js.map +1 -0
  177. package/node_modules/@aspectcode/emitters/dist/kb/classifiers.d.ts +8 -0
  178. package/node_modules/@aspectcode/emitters/dist/kb/classifiers.d.ts.map +1 -0
  179. package/node_modules/@aspectcode/emitters/dist/kb/classifiers.js +14 -0
  180. package/node_modules/@aspectcode/emitters/dist/kb/classifiers.js.map +1 -0
  181. package/node_modules/@aspectcode/emitters/dist/kb/constants.d.ts +35 -0
  182. package/node_modules/@aspectcode/emitters/dist/kb/constants.d.ts.map +1 -0
  183. package/node_modules/@aspectcode/emitters/dist/kb/constants.js +38 -0
  184. package/node_modules/@aspectcode/emitters/dist/kb/constants.js.map +1 -0
  185. package/node_modules/@aspectcode/emitters/dist/kb/contextEmitter.d.ts +20 -0
  186. package/node_modules/@aspectcode/emitters/dist/kb/contextEmitter.d.ts.map +1 -0
  187. package/node_modules/@aspectcode/emitters/dist/kb/contextEmitter.js +155 -0
  188. package/node_modules/@aspectcode/emitters/dist/kb/contextEmitter.js.map +1 -0
  189. package/node_modules/@aspectcode/emitters/dist/kb/conventions.d.ts +52 -0
  190. package/node_modules/@aspectcode/emitters/dist/kb/conventions.d.ts.map +1 -0
  191. package/node_modules/@aspectcode/emitters/dist/kb/conventions.js +391 -0
  192. package/node_modules/@aspectcode/emitters/dist/kb/conventions.js.map +1 -0
  193. package/node_modules/@aspectcode/emitters/dist/kb/depData.d.ts +18 -0
  194. package/node_modules/@aspectcode/emitters/dist/kb/depData.d.ts.map +1 -0
  195. package/node_modules/@aspectcode/emitters/dist/kb/depData.js +31 -0
  196. package/node_modules/@aspectcode/emitters/dist/kb/depData.js.map +1 -0
  197. package/node_modules/@aspectcode/emitters/dist/kb/detectors.d.ts +18 -0
  198. package/node_modules/@aspectcode/emitters/dist/kb/detectors.d.ts.map +1 -0
  199. package/node_modules/@aspectcode/emitters/dist/kb/detectors.js +317 -0
  200. package/node_modules/@aspectcode/emitters/dist/kb/detectors.js.map +1 -0
  201. package/node_modules/@aspectcode/emitters/dist/kb/entryPoints.d.ts +33 -0
  202. package/node_modules/@aspectcode/emitters/dist/kb/entryPoints.d.ts.map +1 -0
  203. package/node_modules/@aspectcode/emitters/dist/kb/entryPoints.js +323 -0
  204. package/node_modules/@aspectcode/emitters/dist/kb/entryPoints.js.map +1 -0
  205. package/node_modules/@aspectcode/emitters/dist/kb/helpers.d.ts +27 -0
  206. package/node_modules/@aspectcode/emitters/dist/kb/helpers.d.ts.map +1 -0
  207. package/node_modules/@aspectcode/emitters/dist/kb/helpers.js +63 -0
  208. package/node_modules/@aspectcode/emitters/dist/kb/helpers.js.map +1 -0
  209. package/node_modules/@aspectcode/emitters/dist/kb/index.d.ts +27 -0
  210. package/node_modules/@aspectcode/emitters/dist/kb/index.d.ts.map +1 -0
  211. package/node_modules/@aspectcode/emitters/dist/kb/index.js +72 -0
  212. package/node_modules/@aspectcode/emitters/dist/kb/index.js.map +1 -0
  213. package/node_modules/@aspectcode/emitters/dist/kb/kbEmitter.d.ts +21 -0
  214. package/node_modules/@aspectcode/emitters/dist/kb/kbEmitter.d.ts.map +1 -0
  215. package/node_modules/@aspectcode/emitters/dist/kb/kbEmitter.js +125 -0
  216. package/node_modules/@aspectcode/emitters/dist/kb/kbEmitter.js.map +1 -0
  217. package/node_modules/@aspectcode/emitters/dist/kb/mapEmitter.d.ts +26 -0
  218. package/node_modules/@aspectcode/emitters/dist/kb/mapEmitter.d.ts.map +1 -0
  219. package/node_modules/@aspectcode/emitters/dist/kb/mapEmitter.js +255 -0
  220. package/node_modules/@aspectcode/emitters/dist/kb/mapEmitter.js.map +1 -0
  221. package/node_modules/@aspectcode/emitters/dist/kb/policy.d.ts +12 -0
  222. package/node_modules/@aspectcode/emitters/dist/kb/policy.d.ts.map +1 -0
  223. package/node_modules/@aspectcode/emitters/dist/kb/policy.js +29 -0
  224. package/node_modules/@aspectcode/emitters/dist/kb/policy.js.map +1 -0
  225. package/node_modules/@aspectcode/emitters/dist/kb/symbols.d.ts +43 -0
  226. package/node_modules/@aspectcode/emitters/dist/kb/symbols.d.ts.map +1 -0
  227. package/node_modules/@aspectcode/emitters/dist/kb/symbols.js +343 -0
  228. package/node_modules/@aspectcode/emitters/dist/kb/symbols.js.map +1 -0
  229. package/node_modules/@aspectcode/emitters/dist/manifest.d.ts +37 -0
  230. package/node_modules/@aspectcode/emitters/dist/manifest.d.ts.map +1 -0
  231. package/node_modules/@aspectcode/emitters/dist/manifest.js +50 -0
  232. package/node_modules/@aspectcode/emitters/dist/manifest.js.map +1 -0
  233. package/node_modules/@aspectcode/emitters/dist/report.d.ts +22 -0
  234. package/node_modules/@aspectcode/emitters/dist/report.d.ts.map +1 -0
  235. package/node_modules/@aspectcode/emitters/dist/report.js +3 -0
  236. package/node_modules/@aspectcode/emitters/dist/report.js.map +1 -0
  237. package/node_modules/@aspectcode/emitters/dist/stableJson.d.ts +14 -0
  238. package/node_modules/@aspectcode/emitters/dist/stableJson.d.ts.map +1 -0
  239. package/node_modules/@aspectcode/emitters/dist/stableJson.js +40 -0
  240. package/node_modules/@aspectcode/emitters/dist/stableJson.js.map +1 -0
  241. package/node_modules/@aspectcode/emitters/dist/transaction.d.ts +29 -0
  242. package/node_modules/@aspectcode/emitters/dist/transaction.d.ts.map +1 -0
  243. package/node_modules/@aspectcode/emitters/dist/transaction.js +104 -0
  244. package/node_modules/@aspectcode/emitters/dist/transaction.js.map +1 -0
  245. package/node_modules/@aspectcode/emitters/package.json +39 -0
  246. package/node_modules/@aspectcode/optimizer/dist/agent.d.ts +18 -0
  247. package/node_modules/@aspectcode/optimizer/dist/agent.d.ts.map +1 -0
  248. package/node_modules/@aspectcode/optimizer/dist/agent.js +123 -0
  249. package/node_modules/@aspectcode/optimizer/dist/agent.js.map +1 -0
  250. package/node_modules/@aspectcode/optimizer/dist/index.d.ts +15 -0
  251. package/node_modules/@aspectcode/optimizer/dist/index.d.ts.map +1 -0
  252. package/node_modules/@aspectcode/optimizer/dist/index.js +31 -0
  253. package/node_modules/@aspectcode/optimizer/dist/index.js.map +1 -0
  254. package/node_modules/@aspectcode/optimizer/dist/prompts.d.ts +39 -0
  255. package/node_modules/@aspectcode/optimizer/dist/prompts.d.ts.map +1 -0
  256. package/node_modules/@aspectcode/optimizer/dist/prompts.js +156 -0
  257. package/node_modules/@aspectcode/optimizer/dist/prompts.js.map +1 -0
  258. package/node_modules/@aspectcode/optimizer/dist/providers/anthropic.d.ts +20 -0
  259. package/node_modules/@aspectcode/optimizer/dist/providers/anthropic.d.ts.map +1 -0
  260. package/node_modules/@aspectcode/optimizer/dist/providers/anthropic.js +126 -0
  261. package/node_modules/@aspectcode/optimizer/dist/providers/anthropic.js.map +1 -0
  262. package/node_modules/@aspectcode/optimizer/dist/providers/index.d.ts +28 -0
  263. package/node_modules/@aspectcode/optimizer/dist/providers/index.d.ts.map +1 -0
  264. package/node_modules/@aspectcode/optimizer/dist/providers/index.js +142 -0
  265. package/node_modules/@aspectcode/optimizer/dist/providers/index.js.map +1 -0
  266. package/node_modules/@aspectcode/optimizer/dist/providers/openai.d.ts +19 -0
  267. package/node_modules/@aspectcode/optimizer/dist/providers/openai.d.ts.map +1 -0
  268. package/node_modules/@aspectcode/optimizer/dist/providers/openai.js +98 -0
  269. package/node_modules/@aspectcode/optimizer/dist/providers/openai.js.map +1 -0
  270. package/node_modules/@aspectcode/optimizer/dist/providers/retry.d.ts +19 -0
  271. package/node_modules/@aspectcode/optimizer/dist/providers/retry.d.ts.map +1 -0
  272. package/node_modules/@aspectcode/optimizer/dist/providers/retry.js +87 -0
  273. package/node_modules/@aspectcode/optimizer/dist/providers/retry.js.map +1 -0
  274. package/node_modules/@aspectcode/optimizer/dist/types.d.ts +93 -0
  275. package/node_modules/@aspectcode/optimizer/dist/types.d.ts.map +1 -0
  276. package/node_modules/@aspectcode/optimizer/dist/types.js +20 -0
  277. package/node_modules/@aspectcode/optimizer/dist/types.js.map +1 -0
  278. package/node_modules/@aspectcode/optimizer/package.json +41 -0
  279. package/package.json +11 -3
  280. package/dist/commands/deps.d.ts +0 -11
  281. package/dist/commands/deps.d.ts.map +0 -1
  282. package/dist/commands/deps.js +0 -197
  283. package/dist/commands/deps.js.map +0 -1
  284. package/dist/commands/generate.d.ts +0 -8
  285. package/dist/commands/generate.d.ts.map +0 -1
  286. package/dist/commands/generate.js +0 -162
  287. package/dist/commands/generate.js.map +0 -1
  288. package/dist/commands/settings.d.ts +0 -9
  289. package/dist/commands/settings.d.ts.map +0 -1
  290. package/dist/commands/settings.js +0 -165
  291. package/dist/commands/settings.js.map +0 -1
  292. package/dist/commands/watch.d.ts +0 -6
  293. package/dist/commands/watch.d.ts.map +0 -1
  294. package/dist/commands/watch.js +0 -180
  295. package/dist/commands/watch.js.map +0 -1
  296. package/dist/connections.d.ts +0 -24
  297. package/dist/connections.d.ts.map +0 -1
  298. package/dist/connections.js +0 -89
  299. package/dist/connections.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * EmitterHost — abstraction for file I/O used by all emitters.
3
+ *
4
+ * The emitter layer MUST NOT depend on `vscode`. This interface lets
5
+ * emitters read/write files and query paths through a host that can be
6
+ * backed by Node.js `fs` (CLI) or VS Code workspace FS (extension).
7
+ */
8
+ export interface EmitterHost {
9
+ /** Read a file as UTF-8 text. Throws if the file does not exist. */
10
+ readFile(filePath: string): Promise<string>;
11
+ /** Write UTF-8 text to a file, creating parent directories as needed. */
12
+ writeFile(filePath: string, content: string): Promise<void>;
13
+ /** Check whether a file or directory exists. */
14
+ exists(filePath: string): Promise<boolean>;
15
+ /** Recursively create directories (like `mkdir -p`). */
16
+ mkdirp(dirPath: string): Promise<void>;
17
+ /** Rename or move a file or directory. Must be same filesystem/drive. */
18
+ rename(fromPath: string, toPath: string): Promise<void>;
19
+ /** Remove a file or directory recursively (like `rm -rf`). */
20
+ rmrf(targetPath: string): Promise<void>;
21
+ /** Join path segments (platform-aware). */
22
+ join(...segments: string[]): string;
23
+ /** Return a relative path from `from` to `to` (forward-slash normalized). */
24
+ relative(from: string, to: string): string;
25
+ }
26
+ /**
27
+ * Create an EmitterHost backed by the Node.js `fs` module.
28
+ * Suitable for CLI usage and tests.
29
+ */
30
+ export declare function createNodeEmitterHost(): EmitterHost;
31
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,yEAAyE;IACzE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,gDAAgD;IAChD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,wDAAwD;IACxD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,yEAAyE;IACzE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,8DAA8D;IAC9D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,2CAA2C;IAC3C,IAAI,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAwCnD"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ /**
3
+ * EmitterHost — abstraction for file I/O used by all emitters.
4
+ *
5
+ * The emitter layer MUST NOT depend on `vscode`. This interface lets
6
+ * emitters read/write files and query paths through a host that can be
7
+ * backed by Node.js `fs` (CLI) or VS Code workspace FS (extension).
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.createNodeEmitterHost = createNodeEmitterHost;
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ // ── Node.js implementation ───────────────────────────────────
47
+ /**
48
+ * Create an EmitterHost backed by the Node.js `fs` module.
49
+ * Suitable for CLI usage and tests.
50
+ */
51
+ function createNodeEmitterHost() {
52
+ return {
53
+ async readFile(filePath) {
54
+ return fs.promises.readFile(filePath, 'utf-8');
55
+ },
56
+ async writeFile(filePath, content) {
57
+ await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
58
+ await fs.promises.writeFile(filePath, content, 'utf-8');
59
+ },
60
+ async exists(filePath) {
61
+ try {
62
+ await fs.promises.access(filePath);
63
+ return true;
64
+ }
65
+ catch {
66
+ return false;
67
+ }
68
+ },
69
+ async mkdirp(dirPath) {
70
+ await fs.promises.mkdir(dirPath, { recursive: true });
71
+ },
72
+ async rename(fromPath, toPath) {
73
+ await fs.promises.rename(fromPath, toPath);
74
+ },
75
+ async rmrf(targetPath) {
76
+ await fs.promises.rm(targetPath, { recursive: true, force: true });
77
+ },
78
+ join(...segments) {
79
+ return path.join(...segments);
80
+ },
81
+ relative(from, to) {
82
+ return path.relative(from, to).replace(/\\/g, '/');
83
+ },
84
+ };
85
+ }
86
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCH,sDAwCC;AA7ED,uCAAyB;AACzB,2CAA6B;AA8B7B,gEAAgE;AAEhE;;;GAGG;AACH,SAAgB,qBAAqB;IACnC,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,QAAgB;YAC7B,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,OAAe;YAC/C,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,QAAgB;YAC3B,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,OAAe;YAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,MAAc;YAC3C,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,UAAkB;YAC3B,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,GAAG,QAAkB;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,QAAQ,CAAC,IAAY,EAAE,EAAU;YAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @aspectcode/emitters — public API surface.
3
+ *
4
+ * Artifact emitters that consume an AnalysisModel and write KB files,
5
+ * instruction files, and manifests. No vscode dependency.
6
+ */
7
+ export type { EmitterHost } from './host';
8
+ export { createNodeEmitterHost } from './host';
9
+ export type { Emitter, EmitResult, EmitOptions, InstructionsMode, } from './emitter';
10
+ export type { EmitReport } from './report';
11
+ export type { Manifest, ManifestStats } from './manifest';
12
+ export { buildManifest } from './manifest';
13
+ export * from './kb';
14
+ export { generateCanonicalContentForMode, generateCanonicalContentSafe, generateCanonicalContentPermissive, } from './instructions/content';
15
+ export { createInstructionsEmitter } from './instructions/instructionsEmitter';
16
+ export type { AiToolId } from './instructions/formats';
17
+ export { AI_TOOL_DETECTION_PATHS } from './instructions/formats';
18
+ import type { AnalysisModel } from '@aspectcode/core';
19
+ import type { EmitterHost } from './host';
20
+ import type { EmitOptions } from './emitter';
21
+ import type { EmitReport } from './report';
22
+ /**
23
+ * Run all built-in emitters in sequence.
24
+ * Returns the combined list of files written.
25
+ */
26
+ export declare function runEmitters(model: AnalysisModel, host: EmitterHost, options: EmitOptions): Promise<EmitReport>;
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAI/C,YAAY,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,cAAc,MAAM,CAAC;AAIrB,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAuDrB"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * @aspectcode/emitters — public API surface.
4
+ *
5
+ * Artifact emitters that consume an AnalysisModel and write KB files,
6
+ * instruction files, and manifests. No vscode dependency.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
+ };
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.AI_TOOL_DETECTION_PATHS = exports.createInstructionsEmitter = exports.generateCanonicalContentPermissive = exports.generateCanonicalContentSafe = exports.generateCanonicalContentForMode = exports.buildManifest = exports.createNodeEmitterHost = void 0;
46
+ exports.runEmitters = runEmitters;
47
+ var host_1 = require("./host");
48
+ Object.defineProperty(exports, "createNodeEmitterHost", { enumerable: true, get: function () { return host_1.createNodeEmitterHost; } });
49
+ var manifest_1 = require("./manifest");
50
+ Object.defineProperty(exports, "buildManifest", { enumerable: true, get: function () { return manifest_1.buildManifest; } });
51
+ // ── KB helpers ───────────────────────────────────────────────
52
+ __exportStar(require("./kb"), exports);
53
+ // ── Instructions ────────────────────────────────────────────
54
+ var content_1 = require("./instructions/content");
55
+ Object.defineProperty(exports, "generateCanonicalContentForMode", { enumerable: true, get: function () { return content_1.generateCanonicalContentForMode; } });
56
+ Object.defineProperty(exports, "generateCanonicalContentSafe", { enumerable: true, get: function () { return content_1.generateCanonicalContentSafe; } });
57
+ Object.defineProperty(exports, "generateCanonicalContentPermissive", { enumerable: true, get: function () { return content_1.generateCanonicalContentPermissive; } });
58
+ var instructionsEmitter_1 = require("./instructions/instructionsEmitter");
59
+ Object.defineProperty(exports, "createInstructionsEmitter", { enumerable: true, get: function () { return instructionsEmitter_1.createInstructionsEmitter; } });
60
+ var formats_1 = require("./instructions/formats");
61
+ Object.defineProperty(exports, "AI_TOOL_DETECTION_PATHS", { enumerable: true, get: function () { return formats_1.AI_TOOL_DETECTION_PATHS; } });
62
+ const core_1 = require("@aspectcode/core");
63
+ const transaction_1 = require("./transaction");
64
+ /**
65
+ * Run all built-in emitters in sequence.
66
+ * Returns the combined list of files written.
67
+ */
68
+ async function runEmitters(model, host, options) {
69
+ const _generatedAt = options.generatedAt ?? new Date().toISOString();
70
+ const outDir = options.outDir ?? options.workspaceRoot;
71
+ const opts = { ...options, generatedAt: _generatedAt, outDir };
72
+ const wrote = [];
73
+ const skipped = [];
74
+ // ── KB generation (opt-in) ────────────────────────────
75
+ if (opts.generateKb) {
76
+ const tx = new transaction_1.GenerationTransaction(host);
77
+ const txHost = tx.host;
78
+ const { createKBEmitter } = await Promise.resolve().then(() => __importStar(require('./kb/kbEmitter')));
79
+ const kb = createKBEmitter();
80
+ await kb.emit(model, txHost, opts);
81
+ await tx.commit();
82
+ wrote.push(...tx.getWrites().map((w) => ({ path: w.finalPath, bytes: w.bytes })));
83
+ }
84
+ else {
85
+ skipped.push({ id: 'kb', reason: 'KB generation not enabled (use --kb)' });
86
+ }
87
+ // ── Instructions (AGENTS.md — full file ownership) ─────────
88
+ if (opts.instructionsMode !== 'off') {
89
+ const { createInstructionsEmitter } = await Promise.resolve().then(() => __importStar(require('./instructions/instructionsEmitter')));
90
+ const instructions = createInstructionsEmitter();
91
+ const recordingHost = {
92
+ ...host,
93
+ writeFile: async (filePath, content) => {
94
+ const bytes = Buffer.byteLength(content, 'utf8');
95
+ await host.writeFile(filePath, content);
96
+ wrote.push({ path: filePath, bytes });
97
+ },
98
+ };
99
+ await instructions.emit(model, recordingHost, opts);
100
+ }
101
+ else {
102
+ skipped.push({ id: 'instructions', reason: 'Instructions mode is off' });
103
+ }
104
+ const stats = (0, core_1.computeModelStats)(model, 10);
105
+ return {
106
+ schemaVersion: model.schemaVersion,
107
+ wrote,
108
+ skipped: skipped.length > 0 ? skipped : undefined,
109
+ stats: {
110
+ files: stats.fileCount,
111
+ edges: stats.edgeCount,
112
+ hubsTop: stats.topHubs,
113
+ },
114
+ };
115
+ }
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDH,kCA2DC;AA3GD,+BAA+C;AAAtC,6GAAA,qBAAqB,OAAA;AAgB9B,uCAA2C;AAAlC,yGAAA,aAAa,OAAA;AAEtB,gEAAgE;AAEhE,uCAAqB;AAErB,+DAA+D;AAE/D,kDAIgC;AAH9B,0HAAA,+BAA+B,OAAA;AAC/B,uHAAA,4BAA4B,OAAA;AAC5B,6HAAA,kCAAkC,OAAA;AAGpC,0EAA+E;AAAtE,gIAAA,yBAAyB,OAAA;AAGlC,kDAAiE;AAAxD,kHAAA,uBAAuB,OAAA;AAKhC,2CAAqD;AAIrD,+CAAsD;AAEtD;;;GAGG;AACI,KAAK,UAAU,WAAW,CAC/B,KAAoB,EACpB,IAAiB,EACjB,OAAoB;IAEpB,MAAM,YAAY,GAChB,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IACvD,MAAM,IAAI,GAAgB,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAE5E,MAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,MAAM,OAAO,GAA0C,EAAE,CAAC;IAE1D,yDAAyD;IACzD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,IAAI,mCAAqB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;QAEvB,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;QAC7B,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEnC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,8DAA8D;IAC9D,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;QACpC,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,oCAAoC,GAAC,CAAC;QACzF,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAC;QAEjD,MAAM,aAAa,GAAgB;YACjC,GAAG,IAAI;YACP,SAAS,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAe,EAAE,EAAE;gBACrD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;SACF,CAAC;QAEF,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,wBAAiB,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE3C,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,KAAK;QACL,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACjD,KAAK,EAAE;YACL,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { InstructionsMode } from '../emitter';
2
+ /**
3
+ * Generates the canonical instruction content.
4
+ *
5
+ * When `kbAvailable` is true, the content references the `kb.md` knowledge
6
+ * base file. When false, it provides standalone rules and guidelines only.
7
+ *
8
+ * All assistant-specific exports are derived from this single source.
9
+ */
10
+ export declare function generateCanonicalContentForMode(mode: InstructionsMode, kbAvailable?: boolean): string;
11
+ export declare function generateCanonicalContentSafe(): string;
12
+ export declare function generateCanonicalContentPermissive(): string;
13
+ export declare function generateCanonicalContentSafeKB(): string;
14
+ export declare function generateCanonicalContentPermissiveKB(): string;
15
+ //# sourceMappingURL=content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/instructions/content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAUnD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,gBAAgB,EACtB,WAAW,UAAQ,GAClB,MAAM,CAOR;AAMD,wBAAgB,4BAA4B,IAAI,MAAM,CAsDrD;AAED,wBAAgB,kCAAkC,IAAI,MAAM,CA4C3D;AAMD,wBAAgB,8BAA8B,IAAI,MAAM,CAkGvD;AAED,wBAAgB,oCAAoC,IAAI,MAAM,CAoD7D"}
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateCanonicalContentForMode = generateCanonicalContentForMode;
4
+ exports.generateCanonicalContentSafe = generateCanonicalContentSafe;
5
+ exports.generateCanonicalContentPermissive = generateCanonicalContentPermissive;
6
+ exports.generateCanonicalContentSafeKB = generateCanonicalContentSafeKB;
7
+ exports.generateCanonicalContentPermissiveKB = generateCanonicalContentPermissiveKB;
8
+ // ─────────────────────────────────────────────────────────────────────────────
9
+ // Canonical instruction content - all exports derive from this
10
+ //
11
+ // Two tiers:
12
+ // 1. Rules-only (no KB references) — default when kb.md is not generated
13
+ // 2. KB-aware (references kb.md) — used when generateKb is enabled
14
+ // ─────────────────────────────────────────────────────────────────────────────
15
+ /**
16
+ * Generates the canonical instruction content.
17
+ *
18
+ * When `kbAvailable` is true, the content references the `kb.md` knowledge
19
+ * base file. When false, it provides standalone rules and guidelines only.
20
+ *
21
+ * All assistant-specific exports are derived from this single source.
22
+ */
23
+ function generateCanonicalContentForMode(mode, kbAvailable = false) {
24
+ if (mode === 'permissive') {
25
+ return kbAvailable
26
+ ? generateCanonicalContentPermissiveKB()
27
+ : generateCanonicalContentPermissive();
28
+ }
29
+ return kbAvailable ? generateCanonicalContentSafeKB() : generateCanonicalContentSafe();
30
+ }
31
+ // ─────────────────────────────────────────────────────────────────────────────
32
+ // Rules-only content (no KB references)
33
+ // ─────────────────────────────────────────────────────────────────────────────
34
+ function generateCanonicalContentSafe() {
35
+ return `## Aspect Code — Coding Guidelines
36
+
37
+ **Aspect Code** provides coding guidelines to help you make safer, more informed code changes.
38
+
39
+ ## Golden Rules
40
+
41
+ 1. **Read before you write.** Open and read the relevant files before multi-file edits.
42
+ 2. **Think step-by-step.** Break complex tasks into smaller steps; reason through each before coding.
43
+ 3. **Prefer minimal, local changes.** Small patches are safer than large refactors, especially in widely-imported files.
44
+ 4. **Never truncate code.** Don't use placeholders like \`// ...rest\` or \`# existing code...\`. Provide complete implementations.
45
+ 5. **Don't touch tests, migrations, or third-party code** unless the user explicitly asks you to.
46
+ 6. **Never remove referenced logic.** Check all callers before deleting a function, class, or symbol.
47
+ 7. **Understand blast radius.** Trace relationships and dependents before refactoring.
48
+ 8. **Follow existing naming patterns.** Match the project's existing naming patterns and import styles.
49
+ 9. **When unsure, go small.** Propose a minimal, reversible change instead of a sweeping refactor.
50
+
51
+ ## Recommended Workflow
52
+
53
+ 1. **Understand the task.** Parse requirements; note which files or endpoints are involved.
54
+ 2. **Find relevant code.** Locate data models, symbols, and naming conventions.
55
+ 3. **Understand relationships.** See which files are commonly edited together and how they connect.
56
+ 4. **Trace impact.** Review callers and dependents to gauge the blast radius of changes.
57
+ 5. **Gather evidence.** If behavior is unclear, add targeted logging or traces to confirm assumptions.
58
+ 6. **Make minimal edits.** Implement the smallest change that solves the task; run tests.
59
+
60
+ ## When Changing Code
61
+
62
+ - **Read the COMPLETE file** before modifying it. Preserve all existing exports/functions.
63
+ - **Add, don't reorganize.** Unless the task says "refactor", avoid moving code around.
64
+ - **Check widely-imported files** before editing them — changes ripple to all dependents.
65
+ - **Avoid renaming** widely-used symbols without updating all callers.
66
+ - **No new dependency cycles.** Before adding an import, verify it won't create a circular dependency.
67
+ - **Match conventions.** Follow existing naming patterns (naming, imports, frameworks).
68
+ - **Prefer small, localized changes** in the most relevant module.
69
+
70
+ ## When Things Go Wrong
71
+
72
+ If you encounter repeated errors or unexpected behavior:
73
+
74
+ 1. **Use git** to see what changed: \`git diff\`, \`git status\`
75
+ 2. **Restore lost code** with \`git checkout -- <file>\` if needed
76
+ 3. **Re-read the complete file** before making more changes
77
+ 4. **Trace data flows** to understand execution paths
78
+ 5. **Run actual tests** to verify behavior before assuming something works
79
+
80
+ ## General Guidelines
81
+
82
+ - **Start with the most relevant file.** Understand the area before changing it.
83
+ - **Check widely-imported modules.** Know which files have many dependents before editing.
84
+ - **Follow existing conventions.** Match existing naming patterns and coding styles exactly.
85
+ - **Minimal changes.** Make the smallest change that solves the problem correctly.
86
+ - **Acknowledge risk.** If editing a widely-imported file, note the elevated risk.
87
+ `.trim();
88
+ }
89
+ function generateCanonicalContentPermissive() {
90
+ return `## Aspect Code — Coding Guidelines
91
+
92
+ **Aspect Code** provides coding guidelines to help you make informed code changes.
93
+
94
+ Use these guidelines as orientation — not as constraints.
95
+
96
+ ### Operating Rules (Pragmatic, Not Rigid)
97
+
98
+ - Read relevant code before large edits; understand boundaries, flows, and ownership
99
+ - If your change creates a conflict with existing structure, either:
100
+ - update the code in a way that keeps the existing intent valid, or
101
+ - explicitly state the mismatch and proceed with a coherent new structure
102
+
103
+ ### You May (Explicitly Allowed)
104
+
105
+ - Refactor for clarity: extract functions, split files, consolidate duplicates
106
+ - Reorganize modules/folders when it improves cohesion and discoverability
107
+ - Touch multiple files when the change is conceptually one improvement
108
+ - Change public/internal APIs when it simplifies the design (with follow-through updates)
109
+ - Rename symbols for consistency (types, functions, modules) and update references
110
+
111
+ ### You Should
112
+
113
+ - Explain the new structure in terms of the existing architecture
114
+ - Keep changes "conceptually tight": one goal, end-to-end, fully wired
115
+ - Update call sites and imports immediately when you move/rename things
116
+ - Prefer simplification over novelty; remove unnecessary layers when justified
117
+ - Validate that referenced symbols still exist and are still reachable from call sites
118
+
119
+ ### Avoid
120
+
121
+ - Deleting or renaming referenced symbols without updating all usages
122
+ - Unnecessary scope creep (adding features unrelated to the request)
123
+ - Blind rewrites that ignore the project's dependency structure and entry points
124
+ - "Rebuild everything" refactors when a targeted restructure achieves the goal
125
+ - Cosmetic churn that obscures meaningful changes
126
+
127
+ ## Suggested Workflow
128
+
129
+ 1. Read the relevant code for orientation.
130
+ 2. Implement the change end-to-end.
131
+ 3. Run tests / build.
132
+ `.trim();
133
+ }
134
+ // ─────────────────────────────────────────────────────────────────────────────
135
+ // KB-aware content (references kb.md)
136
+ // ─────────────────────────────────────────────────────────────────────────────
137
+ function generateCanonicalContentSafeKB() {
138
+ return `## Aspect Code Knowledge Base
139
+
140
+ **Aspect Code** is a static-analysis tool that generates a Knowledge Base (KB) for your codebase. The KB is in \`kb.md\` at the workspace root and contains these sections:
141
+
142
+ | Section | Purpose |
143
+ |---------|---------|
144
+ | **Architecture** | **Read first.** High-risk hubs, directory layout, entry points—the "Do Not Break" zones |
145
+ | **Map** | Data models with signatures, symbol index, naming conventions |
146
+ | **Context** | Module clusters (co-edited files), external integrations, data flow paths |
147
+
148
+ **Key architectural intelligence:**
149
+ - **High-Risk Hubs** in the Architecture section: Files with many dependents—changes here ripple widely
150
+ - **Entry Points** in the Architecture section: HTTP handlers, CLI commands, event listeners
151
+ - **External Integrations** in the Context section: API clients, database connections, message queues
152
+ - **Data Models** in the Map section: ORM models, dataclasses, TypeScript interfaces with signatures
153
+
154
+ Read the relevant sections of \`kb.md\` **before** making multi-file changes.
155
+
156
+ ## Golden Rules
157
+
158
+ 1. **Read the KB as a map, not a checklist.** Use \`kb.md\` to understand architecture, not as a to-do list.
159
+ 2. **Read before you write.** Open the relevant KB sections before multi-file edits.
160
+ 3. **Check architecture first.** Review the Architecture section to understand high-risk zones before coding.
161
+ 4. **Think step-by-step.** Break complex tasks into smaller steps; reason through each before coding.
162
+ 5. **Prefer minimal, local changes.** Small patches are safer than large refactors, especially in hub files.
163
+ 6. **Never truncate code.** Don't use placeholders like \`// ...rest\` or \`# existing code...\`. Provide complete implementations.
164
+ 7. **Don't touch tests, migrations, or third-party code** unless the user explicitly asks you to.
165
+ 8. **Never remove referenced logic.** If a symbol appears in the Map section, check all callers before deleting.
166
+ 9. **Understand blast radius.** Use the Context and Map sections to trace relationships before refactors.
167
+ 10. **Follow naming patterns in the Map section.** Match the project's existing naming patterns and import styles.
168
+ 11. **When unsure, go small.** Propose a minimal, reversible change instead of a sweeping refactor.
169
+
170
+ ## Recommended Workflow
171
+
172
+ 1. **Understand the task.** Parse requirements; note which files or endpoints are involved.
173
+ 2. **Check architecture.** Open \`kb.md\` → review the Architecture section for high-risk hubs and entry points.
174
+ 3. **Find relevant code.** Review the Map section → locate data models, symbols, and naming conventions.
175
+ 4. **Understand relationships.** Review the Context section → see module clusters (co-edited files) and integrations.
176
+ 5. **Trace impact.** Review "Called by" in the Map section to gauge the blast radius of changes.
177
+ 6. **Gather evidence.** If behavior is unclear, add targeted logging or traces to confirm assumptions.
178
+ 7. **Make minimal edits.** Implement the smallest change that solves the task; run tests.
179
+
180
+ ## When Changing Code
181
+
182
+ - **Read the COMPLETE file** before modifying it. Preserve all existing exports/functions.
183
+ - **Add, don't reorganize.** Unless the task says "refactor", avoid moving code around.
184
+ - **Check high-risk hubs** (Architecture section) before editing widely-imported files.
185
+ - **Avoid renaming** widely-used symbols listed in the Map section without updating all callers.
186
+ - **No new cycles.** Before adding an import, verify it won't create a circular dependency (Architecture section).
187
+ - **Match conventions.** Follow naming patterns shown in the Map section (naming, imports, frameworks).
188
+ - **Check module clusters** (Context section) to understand which files are commonly edited together.
189
+ - **Prefer small, localized changes** in the most relevant app module identified by the KB.
190
+ - **Use the Architecture, Map, and Context sections** to locate the smallest, safest place to make a change.
191
+
192
+ ## How to Use kb.md
193
+
194
+ | Section | When to Open | What to Look For |
195
+ |---------|--------------|------------------|
196
+ | Architecture | **First, always** | High-risk hubs, directory layout, entry points, circular dependencies |
197
+ | Map | Before modifying a function | Data models with signatures, symbol index, naming conventions |
198
+ | Context | Before architectural changes | Module clusters, external integrations, data flow patterns |
199
+
200
+ ### Quick Reference
201
+
202
+ - **High-risk hubs** → Files with 3+ dependents listed in the Architecture section—changes ripple widely
203
+ - **Entry points** → HTTP handlers, CLI commands, event listeners in the Architecture section
204
+ - **External integrations** → HTTP clients, DB connections, message queues in the Context section
205
+ - **Data models** → ORM models, dataclasses, interfaces with signatures in the Map section
206
+ - **Module clusters** → Files commonly edited together in the Context section
207
+ - **High-impact symbol** → 5+ callers in the Map section "Called by" column
208
+
209
+ ## When Things Go Wrong
210
+
211
+ If you encounter repeated errors or unexpected behavior:
212
+
213
+ 1. **Use git** to see what changed: \`git diff\`, \`git status\`
214
+ 2. **Restore lost code** with \`git checkout -- <file>\` if needed
215
+ 3. **Re-read the complete file** before making more changes
216
+ 4. **Trace data flows** using the Context section to understand execution paths
217
+ 5. **Run actual tests** to verify behavior before assuming something works
218
+ 6. **Check module clusters** in the Context section for related files that may need updates
219
+
220
+ ## General Guidelines
221
+
222
+ - **Read kb.md first.** Before making changes, consult the relevant knowledge base sections.
223
+ - **Start with the Architecture section.** Understand high-risk hubs and entry points.
224
+ - **Check hub modules.** Know which files have many dependents before editing.
225
+ - **Follow Map section conventions.** Match existing naming patterns and coding styles exactly.
226
+ - **Minimal changes.** Make the smallest change that solves the problem correctly.
227
+ - **Acknowledge risk.** If editing a hub module or high-impact file, note the elevated risk.
228
+
229
+ ## Section Headers (Pattern-Matching)
230
+
231
+ **Architecture:** \`## High-Risk Architectural Hubs\`, \`## Directory Layout\`, \`## Entry Points\`, \`## Circular Dependencies\`
232
+ **Map:** \`## Data Models\` (with signatures), \`## Symbol Index\` (with Called By), \`## Conventions\`
233
+ **Context:** \`## Module Clusters\` (co-edited files), \`## External Integrations\`, \`## Critical Flows\`
234
+ `.trim();
235
+ }
236
+ function generateCanonicalContentPermissiveKB() {
237
+ return `## Aspect Code Knowledge Base
238
+
239
+ **Aspect Code** is a static-analysis tool that generates a Knowledge Base (KB) for your codebase. The KB is in \`kb.md\` at the workspace root and contains these sections:
240
+
241
+ | Section | Purpose |
242
+ |---------|---------|
243
+ | **Architecture** | Hubs, directory layout, entry points |
244
+ | **Map** | Data models with signatures, symbol index, naming conventions |
245
+ | **Context** | Module clusters (co-edited files), external integrations, data flow paths |
246
+
247
+ Use the Knowledge Base (KB) as orientation and ground truth for architecture and dependencies—not as a constraint.
248
+
249
+ ### Operating Rules (KB-First, Not KB-Locked)
250
+
251
+ - Read \`kb.md\` before large edits; use it to understand boundaries, flows, and ownership
252
+ - Treat the KB as the source of "what connects to what" (entry points, hubs, key types)
253
+ - If your change conflicts with the KB, either:
254
+ - update the code in a way that keeps the KB's intent valid, or
255
+ - explicitly state the mismatch and proceed with a coherent new structure
256
+
257
+ ### You May (Explicitly Allowed)
258
+
259
+ - Refactor for clarity: extract functions, split files, consolidate duplicates
260
+ - Reorganize modules/folders when it improves cohesion and discoverability
261
+ - Touch multiple files when the change is conceptually one improvement
262
+ - Change public/internal APIs when it simplifies the design (with follow-through updates)
263
+ - Edit high-risk hubs when needed—do it deliberately, with dependency awareness
264
+ - Rename symbols for consistency (types, functions, modules) and update references
265
+
266
+ ### You Should
267
+
268
+ - Explain the new structure in terms of the existing architecture
269
+ - Keep changes "conceptually tight": one goal, end-to-end, fully wired
270
+ - Update call sites and imports immediately when you move/rename things
271
+ - Prefer simplification over novelty; remove unnecessary layers when justified
272
+ - Validate that referenced symbols still exist and are still reachable from call sites
273
+
274
+ ### Avoid
275
+
276
+ - Deleting or renaming referenced symbols without updating all usages
277
+ - Unnecessary scope creep (adding features unrelated to the request)
278
+ - Blind rewrites that ignore \`kb.md\`'s dependency map and entry points
279
+ - "Rebuild everything" refactors when a targeted restructure achieves the goal
280
+ - Cosmetic churn that obscures meaningful changes
281
+
282
+ ## Suggested Workflow
283
+
284
+ 1. Skim the relevant sections of \`kb.md\` for orientation.
285
+ 2. Implement the change end-to-end.
286
+ 3. Run tests / build.
287
+ `.trim();
288
+ }
289
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/instructions/content.ts"],"names":[],"mappings":";;AAkBA,0EAUC;AAMD,oEAsDC;AAED,gFA4CC;AAMD,wEAkGC;AAED,oFAoDC;AAlSD,gFAAgF;AAChF,+DAA+D;AAC/D,EAAE;AACF,aAAa;AACb,2EAA2E;AAC3E,qEAAqE;AACrE,gFAAgF;AAEhF;;;;;;;GAOG;AACH,SAAgB,+BAA+B,CAC7C,IAAsB,EACtB,WAAW,GAAG,KAAK;IAEnB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,OAAO,WAAW;YAChB,CAAC,CAAC,oCAAoC,EAAE;YACxC,CAAC,CAAC,kCAAkC,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,WAAW,CAAC,CAAC,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC;AACzF,CAAC;AAED,gFAAgF;AAChF,wCAAwC;AACxC,gFAAgF;AAEhF,SAAgB,4BAA4B;IAC1C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDR,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,SAAgB,kCAAkC;IAChD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CR,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAEhF,SAAgB,8BAA8B;IAC5C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGR,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,SAAgB,oCAAoC;IAClD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDR,CAAC,IAAI,EAAE,CAAC;AACT,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { EmitterHost } from '../host';
2
+ import type { AiToolId } from './formats';
3
+ export type AssistantId = 'aspectKB' | 'agentsMd';
4
+ /**
5
+ * Detects which Aspect Code artifacts exist (KB, instructions).
6
+ */
7
+ export declare function detectAssistants(host: EmitterHost, workspaceRoot: string): Promise<Set<AssistantId>>;
8
+ /**
9
+ * Detects which AI coding tools are present in the workspace by checking
10
+ * for their config/instruction files on disk.
11
+ */
12
+ export declare function detectAiTools(host: EmitterHost, workspaceRoot: string): Promise<Set<AiToolId>>;
13
+ //# sourceMappingURL=detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/instructions/detection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAK1C,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAOlD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,WAAW,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAuB3B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAuBxB"}