@ai-dev-tools/test-copilot-core 1.0.19

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 (328) hide show
  1. package/README.md +6 -0
  2. package/azure-pipelines.yml +51 -0
  3. package/out/cli/commands/appInsightTelemetry.d.ts +7 -0
  4. package/out/cli/commands/appInsightTelemetry.d.ts.map +1 -0
  5. package/out/cli/commands/appInsightTelemetry.js +76 -0
  6. package/out/cli/commands/appInsightTelemetry.js.map +1 -0
  7. package/out/cli/commands/cliConfig.d.ts +4 -0
  8. package/out/cli/commands/cliConfig.d.ts.map +1 -0
  9. package/out/cli/commands/cliConfig.js +68 -0
  10. package/out/cli/commands/cliConfig.js.map +1 -0
  11. package/out/cli/commands/prompt.d.ts +6 -0
  12. package/out/cli/commands/prompt.d.ts.map +1 -0
  13. package/out/cli/commands/prompt.js +29 -0
  14. package/out/cli/commands/prompt.js.map +1 -0
  15. package/out/cli/commands/ut.d.ts +14 -0
  16. package/out/cli/commands/ut.d.ts.map +1 -0
  17. package/out/cli/commands/ut.js +72 -0
  18. package/out/cli/commands/ut.js.map +1 -0
  19. package/out/cli/commands/utPipeCmdWrapper.d.ts +18 -0
  20. package/out/cli/commands/utPipeCmdWrapper.d.ts.map +1 -0
  21. package/out/cli/commands/utPipeCmdWrapper.js +37 -0
  22. package/out/cli/commands/utPipeCmdWrapper.js.map +1 -0
  23. package/out/cli/config/index.d.ts +15 -0
  24. package/out/cli/config/index.d.ts.map +1 -0
  25. package/out/cli/config/index.js +10 -0
  26. package/out/cli/config/index.js.map +1 -0
  27. package/out/cli/index.d.ts +3 -0
  28. package/out/cli/index.d.ts.map +1 -0
  29. package/out/cli/index.js +169 -0
  30. package/out/cli/index.js.map +1 -0
  31. package/out/cli/type.d.ts +11 -0
  32. package/out/cli/type.d.ts.map +1 -0
  33. package/out/cli/type.js +3 -0
  34. package/out/cli/type.js.map +1 -0
  35. package/out/cli/utils/ds.d.ts +3 -0
  36. package/out/cli/utils/ds.d.ts.map +1 -0
  37. package/out/cli/utils/ds.js +50 -0
  38. package/out/cli/utils/ds.js.map +1 -0
  39. package/out/cli/utils/gpt.d.ts +3 -0
  40. package/out/cli/utils/gpt.d.ts.map +1 -0
  41. package/out/cli/utils/gpt.js +63 -0
  42. package/out/cli/utils/gpt.js.map +1 -0
  43. package/out/core/analyze/cjs.d.ts +61 -0
  44. package/out/core/analyze/cjs.d.ts.map +1 -0
  45. package/out/core/analyze/cjs.js +358 -0
  46. package/out/core/analyze/cjs.js.map +1 -0
  47. package/out/core/analyze/class.d.ts +4 -0
  48. package/out/core/analyze/class.d.ts.map +1 -0
  49. package/out/core/analyze/class.js +32 -0
  50. package/out/core/analyze/class.js.map +1 -0
  51. package/out/core/analyze/declares.d.ts +7 -0
  52. package/out/core/analyze/declares.d.ts.map +1 -0
  53. package/out/core/analyze/declares.js +316 -0
  54. package/out/core/analyze/declares.js.map +1 -0
  55. package/out/core/analyze/deps.d.ts +8 -0
  56. package/out/core/analyze/deps.d.ts.map +1 -0
  57. package/out/core/analyze/deps.js +210 -0
  58. package/out/core/analyze/deps.js.map +1 -0
  59. package/out/core/analyze/functionComponent.d.ts +4 -0
  60. package/out/core/analyze/functionComponent.d.ts.map +1 -0
  61. package/out/core/analyze/functionComponent.js +77 -0
  62. package/out/core/analyze/functionComponent.js.map +1 -0
  63. package/out/core/analyze/functions.d.ts +4 -0
  64. package/out/core/analyze/functions.d.ts.map +1 -0
  65. package/out/core/analyze/functions.js +46 -0
  66. package/out/core/analyze/functions.js.map +1 -0
  67. package/out/core/analyze/index.d.ts +16 -0
  68. package/out/core/analyze/index.d.ts.map +1 -0
  69. package/out/core/analyze/index.js +149 -0
  70. package/out/core/analyze/index.js.map +1 -0
  71. package/out/core/analyze/index.type.d.ts +69 -0
  72. package/out/core/analyze/index.type.d.ts.map +1 -0
  73. package/out/core/analyze/index.type.js +14 -0
  74. package/out/core/analyze/index.type.js.map +1 -0
  75. package/out/core/analyze/utils/global.d.ts +2 -0
  76. package/out/core/analyze/utils/global.d.ts.map +1 -0
  77. package/out/core/analyze/utils/global.js +84 -0
  78. package/out/core/analyze/utils/global.js.map +1 -0
  79. package/out/core/analyzev2/declare/class.d.ts +4 -0
  80. package/out/core/analyzev2/declare/class.d.ts.map +1 -0
  81. package/out/core/analyzev2/declare/class.js +24 -0
  82. package/out/core/analyzev2/declare/class.js.map +1 -0
  83. package/out/core/analyzev2/declare/funcLike.d.ts +8 -0
  84. package/out/core/analyzev2/declare/funcLike.d.ts.map +1 -0
  85. package/out/core/analyzev2/declare/funcLike.js +71 -0
  86. package/out/core/analyzev2/declare/funcLike.js.map +1 -0
  87. package/out/core/analyzev2/declare/variable.d.ts +3 -0
  88. package/out/core/analyzev2/declare/variable.d.ts.map +1 -0
  89. package/out/core/analyzev2/declare/variable.js +15 -0
  90. package/out/core/analyzev2/declare/variable.js.map +1 -0
  91. package/out/core/analyzev2/file.d.ts +19 -0
  92. package/out/core/analyzev2/file.d.ts.map +1 -0
  93. package/out/core/analyzev2/file.js +449 -0
  94. package/out/core/analyzev2/file.js.map +1 -0
  95. package/out/core/analyzev2/index.d.ts +5 -0
  96. package/out/core/analyzev2/index.d.ts.map +1 -0
  97. package/out/core/analyzev2/index.js +30 -0
  98. package/out/core/analyzev2/index.js.map +1 -0
  99. package/out/core/analyzev2/type.d.ts +35 -0
  100. package/out/core/analyzev2/type.d.ts.map +1 -0
  101. package/out/core/analyzev2/type.js +3 -0
  102. package/out/core/analyzev2/type.js.map +1 -0
  103. package/out/core/config/index.d.ts +25 -0
  104. package/out/core/config/index.d.ts.map +1 -0
  105. package/out/core/config/index.js +14 -0
  106. package/out/core/config/index.js.map +1 -0
  107. package/out/core/constants.d.ts +9 -0
  108. package/out/core/constants.d.ts.map +1 -0
  109. package/out/core/constants.js +12 -0
  110. package/out/core/constants.js.map +1 -0
  111. package/out/core/features/common/base.d.ts +20 -0
  112. package/out/core/features/common/base.d.ts.map +1 -0
  113. package/out/core/features/common/base.js +77 -0
  114. package/out/core/features/common/base.js.map +1 -0
  115. package/out/core/features/common/types.d.ts +16 -0
  116. package/out/core/features/common/types.d.ts.map +1 -0
  117. package/out/core/features/common/types.js +12 -0
  118. package/out/core/features/common/types.js.map +1 -0
  119. package/out/core/features/generateFile.d.ts +31 -0
  120. package/out/core/features/generateFile.d.ts.map +1 -0
  121. package/out/core/features/generateFile.js +148 -0
  122. package/out/core/features/generateFile.js.map +1 -0
  123. package/out/core/features/generateSingle.d.ts +28 -0
  124. package/out/core/features/generateSingle.d.ts.map +1 -0
  125. package/out/core/features/generateSingle.js +149 -0
  126. package/out/core/features/generateSingle.js.map +1 -0
  127. package/out/core/features/index.d.ts +9 -0
  128. package/out/core/features/index.d.ts.map +1 -0
  129. package/out/core/features/index.js +16 -0
  130. package/out/core/features/index.js.map +1 -0
  131. package/out/core/features/lintFix.d.ts +2 -0
  132. package/out/core/features/lintFix.d.ts.map +1 -0
  133. package/out/core/features/lintFix.js +33 -0
  134. package/out/core/features/lintFix.js.map +1 -0
  135. package/out/core/features/mergeUTFile.d.ts +19 -0
  136. package/out/core/features/mergeUTFile.d.ts.map +1 -0
  137. package/out/core/features/mergeUTFile.js +63 -0
  138. package/out/core/features/mergeUTFile.js.map +1 -0
  139. package/out/core/features/removeFailedCases.d.ts +23 -0
  140. package/out/core/features/removeFailedCases.d.ts.map +1 -0
  141. package/out/core/features/removeFailedCases.js +81 -0
  142. package/out/core/features/removeFailedCases.js.map +1 -0
  143. package/out/core/features/updateSpec.d.ts +20 -0
  144. package/out/core/features/updateSpec.d.ts.map +1 -0
  145. package/out/core/features/updateSpec.js +98 -0
  146. package/out/core/features/updateSpec.js.map +1 -0
  147. package/out/core/features/validFix.d.ts +29 -0
  148. package/out/core/features/validFix.d.ts.map +1 -0
  149. package/out/core/features/validFix.js +219 -0
  150. package/out/core/features/validFix.js.map +1 -0
  151. package/out/core/generate/UTGen.d.ts +79 -0
  152. package/out/core/generate/UTGen.d.ts.map +1 -0
  153. package/out/core/generate/UTGen.js +795 -0
  154. package/out/core/generate/UTGen.js.map +1 -0
  155. package/out/core/llm/index.d.ts +9 -0
  156. package/out/core/llm/index.d.ts.map +1 -0
  157. package/out/core/llm/index.js +39 -0
  158. package/out/core/llm/index.js.map +1 -0
  159. package/out/core/llm/prompts/config.d.ts +6 -0
  160. package/out/core/llm/prompts/config.d.ts.map +1 -0
  161. package/out/core/llm/prompts/config.js +239 -0
  162. package/out/core/llm/prompts/config.js.map +1 -0
  163. package/out/core/llm/prompts/templates/common.d.ts +3 -0
  164. package/out/core/llm/prompts/templates/common.d.ts.map +1 -0
  165. package/out/core/llm/prompts/templates/common.js +27 -0
  166. package/out/core/llm/prompts/templates/common.js.map +1 -0
  167. package/out/core/llm/prompts/templates/fixCase.d.ts +4 -0
  168. package/out/core/llm/prompts/templates/fixCase.d.ts.map +1 -0
  169. package/out/core/llm/prompts/templates/fixCase.js +46 -0
  170. package/out/core/llm/prompts/templates/fixCase.js.map +1 -0
  171. package/out/core/llm/prompts/templates/fixLint.d.ts +3 -0
  172. package/out/core/llm/prompts/templates/fixLint.d.ts.map +1 -0
  173. package/out/core/llm/prompts/templates/fixLint.js +22 -0
  174. package/out/core/llm/prompts/templates/fixLint.js.map +1 -0
  175. package/out/core/llm/prompts/templates/genClassMemberUT.d.ts +5 -0
  176. package/out/core/llm/prompts/templates/genClassMemberUT.d.ts.map +1 -0
  177. package/out/core/llm/prompts/templates/genClassMemberUT.js +115 -0
  178. package/out/core/llm/prompts/templates/genClassMemberUT.js.map +1 -0
  179. package/out/core/llm/prompts/templates/genFuncUT.d.ts +4 -0
  180. package/out/core/llm/prompts/templates/genFuncUT.d.ts.map +1 -0
  181. package/out/core/llm/prompts/templates/genFuncUT.js +64 -0
  182. package/out/core/llm/prompts/templates/genFuncUT.js.map +1 -0
  183. package/out/core/llm/prompts/templates/mergeUT.d.ts +4 -0
  184. package/out/core/llm/prompts/templates/mergeUT.d.ts.map +1 -0
  185. package/out/core/llm/prompts/templates/mergeUT.js +106 -0
  186. package/out/core/llm/prompts/templates/mergeUT.js.map +1 -0
  187. package/out/core/llm/prompts/templates/msnStudio.d.ts +3 -0
  188. package/out/core/llm/prompts/templates/msnStudio.d.ts.map +1 -0
  189. package/out/core/llm/prompts/templates/msnStudio.js +36 -0
  190. package/out/core/llm/prompts/templates/msnStudio.js.map +1 -0
  191. package/out/core/llm/prompts/templates/snapshotUT.d.ts +4 -0
  192. package/out/core/llm/prompts/templates/snapshotUT.d.ts.map +1 -0
  193. package/out/core/llm/prompts/templates/snapshotUT.js +68 -0
  194. package/out/core/llm/prompts/templates/snapshotUT.js.map +1 -0
  195. package/out/core/llm/prompts/templates/updateSpecBlock.d.ts +3 -0
  196. package/out/core/llm/prompts/templates/updateSpecBlock.d.ts.map +1 -0
  197. package/out/core/llm/prompts/templates/updateSpecBlock.js +38 -0
  198. package/out/core/llm/prompts/templates/updateSpecBlock.js.map +1 -0
  199. package/out/core/llm/prompts/templates/updateSpecFile.d.ts +3 -0
  200. package/out/core/llm/prompts/templates/updateSpecFile.d.ts.map +1 -0
  201. package/out/core/llm/prompts/templates/updateSpecFile.js +30 -0
  202. package/out/core/llm/prompts/templates/updateSpecFile.js.map +1 -0
  203. package/out/core/llm/types.d.ts +80 -0
  204. package/out/core/llm/types.d.ts.map +1 -0
  205. package/out/core/llm/types.js +5 -0
  206. package/out/core/llm/types.js.map +1 -0
  207. package/out/core/quality/validateMockedTest.d.ts +3 -0
  208. package/out/core/quality/validateMockedTest.d.ts.map +1 -0
  209. package/out/core/quality/validateMockedTest.js +211 -0
  210. package/out/core/quality/validateMockedTest.js.map +1 -0
  211. package/out/core/utils/checkTestIgnore.d.ts +4 -0
  212. package/out/core/utils/checkTestIgnore.d.ts.map +1 -0
  213. package/out/core/utils/checkTestIgnore.js +52 -0
  214. package/out/core/utils/checkTestIgnore.js.map +1 -0
  215. package/out/core/utils/common.d.ts +4 -0
  216. package/out/core/utils/common.d.ts.map +1 -0
  217. package/out/core/utils/common.js +34 -0
  218. package/out/core/utils/common.js.map +1 -0
  219. package/out/core/utils/console.d.ts +8 -0
  220. package/out/core/utils/console.d.ts.map +1 -0
  221. package/out/core/utils/console.js +24 -0
  222. package/out/core/utils/console.js.map +1 -0
  223. package/out/core/utils/deps.d.ts +3 -0
  224. package/out/core/utils/deps.d.ts.map +1 -0
  225. package/out/core/utils/deps.js +58 -0
  226. package/out/core/utils/deps.js.map +1 -0
  227. package/out/core/utils/eslintRuleHandler.d.ts +3 -0
  228. package/out/core/utils/eslintRuleHandler.d.ts.map +1 -0
  229. package/out/core/utils/eslintRuleHandler.js +98 -0
  230. package/out/core/utils/eslintRuleHandler.js.map +1 -0
  231. package/out/core/utils/file.d.ts +18 -0
  232. package/out/core/utils/file.d.ts.map +1 -0
  233. package/out/core/utils/file.js +142 -0
  234. package/out/core/utils/file.js.map +1 -0
  235. package/out/core/utils/lint.d.ts +9 -0
  236. package/out/core/utils/lint.d.ts.map +1 -0
  237. package/out/core/utils/lint.js +95 -0
  238. package/out/core/utils/lint.js.map +1 -0
  239. package/out/core/utils/lru.d.ts +12 -0
  240. package/out/core/utils/lru.d.ts.map +1 -0
  241. package/out/core/utils/lru.js +47 -0
  242. package/out/core/utils/lru.js.map +1 -0
  243. package/out/core/utils/move.d.ts +12 -0
  244. package/out/core/utils/move.d.ts.map +1 -0
  245. package/out/core/utils/move.js +93 -0
  246. package/out/core/utils/move.js.map +1 -0
  247. package/out/core/utils/msnStudio.d.ts +13 -0
  248. package/out/core/utils/msnStudio.d.ts.map +1 -0
  249. package/out/core/utils/msnStudio.js +150 -0
  250. package/out/core/utils/msnStudio.js.map +1 -0
  251. package/out/core/utils/parseCustomizedCmd.d.ts +2 -0
  252. package/out/core/utils/parseCustomizedCmd.d.ts.map +1 -0
  253. package/out/core/utils/parseCustomizedCmd.js +32 -0
  254. package/out/core/utils/parseCustomizedCmd.js.map +1 -0
  255. package/out/core/utils/specBlock.d.ts +20 -0
  256. package/out/core/utils/specBlock.d.ts.map +1 -0
  257. package/out/core/utils/specBlock.js +231 -0
  258. package/out/core/utils/specBlock.js.map +1 -0
  259. package/out/core/utils/system.d.ts +13 -0
  260. package/out/core/utils/system.d.ts.map +1 -0
  261. package/out/core/utils/system.js +86 -0
  262. package/out/core/utils/system.js.map +1 -0
  263. package/out/core/utils/telemetry.d.ts +9 -0
  264. package/out/core/utils/telemetry.d.ts.map +1 -0
  265. package/out/core/utils/telemetry.js +32 -0
  266. package/out/core/utils/telemetry.js.map +1 -0
  267. package/out/core/utils/tsMorph.d.ts +13 -0
  268. package/out/core/utils/tsMorph.d.ts.map +1 -0
  269. package/out/core/utils/tsMorph.js +76 -0
  270. package/out/core/utils/tsMorph.js.map +1 -0
  271. package/out/core/valid/customizedLint.d.ts +2 -0
  272. package/out/core/valid/customizedLint.d.ts.map +1 -0
  273. package/out/core/valid/customizedLint.js +64 -0
  274. package/out/core/valid/customizedLint.js.map +1 -0
  275. package/out/core/valid/customizedTest.d.ts +3 -0
  276. package/out/core/valid/customizedTest.d.ts.map +1 -0
  277. package/out/core/valid/customizedTest.js +58 -0
  278. package/out/core/valid/customizedTest.js.map +1 -0
  279. package/out/core/valid/extractVitestConfig.d.ts +5 -0
  280. package/out/core/valid/extractVitestConfig.d.ts.map +1 -0
  281. package/out/core/valid/extractVitestConfig.js +97 -0
  282. package/out/core/valid/extractVitestConfig.js.map +1 -0
  283. package/out/core/valid/getViteConfig.d.ts +2 -0
  284. package/out/core/valid/getViteConfig.d.ts.map +1 -0
  285. package/out/core/valid/getViteConfig.js +65 -0
  286. package/out/core/valid/getViteConfig.js.map +1 -0
  287. package/out/core/valid/index.d.ts +15 -0
  288. package/out/core/valid/index.d.ts.map +1 -0
  289. package/out/core/valid/index.js +99 -0
  290. package/out/core/valid/index.js.map +1 -0
  291. package/out/core/valid/jest.d.ts +4 -0
  292. package/out/core/valid/jest.d.ts.map +1 -0
  293. package/out/core/valid/jest.js +121 -0
  294. package/out/core/valid/jest.js.map +1 -0
  295. package/out/core/valid/mock.d.ts +2 -0
  296. package/out/core/valid/mock.d.ts.map +1 -0
  297. package/out/core/valid/mock.js +149 -0
  298. package/out/core/valid/mock.js.map +1 -0
  299. package/out/core/valid/remove.d.ts +5 -0
  300. package/out/core/valid/remove.d.ts.map +1 -0
  301. package/out/core/valid/remove.js +109 -0
  302. package/out/core/valid/remove.js.map +1 -0
  303. package/out/core/valid/tag.d.ts +3 -0
  304. package/out/core/valid/tag.d.ts.map +1 -0
  305. package/out/core/valid/tag.js +91 -0
  306. package/out/core/valid/tag.js.map +1 -0
  307. package/out/core/valid/type.d.ts +83 -0
  308. package/out/core/valid/type.d.ts.map +1 -0
  309. package/out/core/valid/type.js +3 -0
  310. package/out/core/valid/type.js.map +1 -0
  311. package/out/core/valid/vitest.d.ts +3 -0
  312. package/out/core/valid/vitest.d.ts.map +1 -0
  313. package/out/core/valid/vitest.js +82 -0
  314. package/out/core/valid/vitest.js.map +1 -0
  315. package/out/index.d.ts +20 -0
  316. package/out/index.d.ts.map +1 -0
  317. package/out/index.js +60 -0
  318. package/out/index.js.map +1 -0
  319. package/out/setup.d.ts +11 -0
  320. package/out/setup.d.ts.map +1 -0
  321. package/out/setup.js +14 -0
  322. package/out/setup.js.map +1 -0
  323. package/out/types.d.ts +23 -0
  324. package/out/types.d.ts.map +1 -0
  325. package/out/types.js +3 -0
  326. package/out/types.js.map +1 -0
  327. package/package.json +39 -0
  328. package/package_devops.json +42 -0
@@ -0,0 +1,169 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const cliConfig_1 = require("./commands/cliConfig");
8
+ const constants_1 = require("../core/constants");
9
+ const yargs_1 = __importDefault(require("yargs/yargs"));
10
+ const prompt_1 = require("./commands/prompt");
11
+ const helpers_1 = require("yargs/helpers");
12
+ const path_1 = __importDefault(require("path"));
13
+ const ut_1 = require("./commands/ut");
14
+ const utPipeCmdWrapper_1 = require("./commands/utPipeCmdWrapper");
15
+ // const hardcodedArgs = ['', '', 'utcmd', '--sourceMeta',
16
+ // '[{\"codePath\":\"D:/code/msnews-experiences/experiences/sports-retention-full/src/SportsRetentionFull.ts\",\"prompt\":\"\",\"covPath\":\"\",\"exclude\":[],\"lineRanges\":[[79,80],[100,101],[145,145],[384,384],[451,451]],\"methods\":[],\"testCodePath\":\"\",\"verifyTests\":1}]'];
17
+ function main() {
18
+ // Yargs(hideBin(hardcodedArgs))
19
+ (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
20
+ .scriptName('test-copilot')
21
+ .option('source', {
22
+ alias: 's',
23
+ describe: 'where the test copilot is running',
24
+ choices: ['localCmd', 'vsplugin', 'cloudpipe', 'cloudbatch'],
25
+ default: 'localCmd',
26
+ type: 'string',
27
+ })
28
+ .option('mode', {
29
+ alias: 'm',
30
+ describe: 'test copilot work mode',
31
+ choices: ['generate', 'repair'],
32
+ default: 'repair',
33
+ type: 'string',
34
+ })
35
+ .option('type', {
36
+ // alias: 'l',
37
+ describe: 'type of test to generate',
38
+ choices: ['ut', 'vp', "snapshot"],
39
+ default: 'ut',
40
+ type: 'string',
41
+ })
42
+ .option('code', {
43
+ describe: 'code type',
44
+ choices: ['ts', 'c#'],
45
+ default: 'ts',
46
+ type: 'string',
47
+ })
48
+ .option('keepFailedTestFile', {
49
+ describe: 'whether to keep failed test file',
50
+ choices: [0, 1],
51
+ default: 0,
52
+ type: 'number',
53
+ })
54
+ .option('removeFailedTestCases', {
55
+ describe: 'whether to remove failed test cases',
56
+ choices: [0, 1],
57
+ default: 1,
58
+ type: 'number',
59
+ })
60
+ .option('skipFileLevelCheck', {
61
+ describe: 'whether to skip file level check for existing test file, to resolve negative code coverage issue',
62
+ choices: [0, 1],
63
+ default: 0,
64
+ type: 'number',
65
+ })
66
+ .option('enableCov', {
67
+ describe: 'whether to run coverage',
68
+ choices: [0, 1],
69
+ default: 0,
70
+ type: 'number',
71
+ })
72
+ .option('LLMModel', {
73
+ describe: 'use which LLM model',
74
+ default: "gpt4o",
75
+ type: 'string',
76
+ })
77
+ .option('LLMAuthKey', {
78
+ describe: 'LLM service Auth Key',
79
+ type: 'string',
80
+ })
81
+ .option('sourceMeta', {
82
+ describe: 'source meta data to generate test. it\'s json object string',
83
+ type: 'string',
84
+ })
85
+ .option('config', {
86
+ alias: 'c',
87
+ describe: 'Path to the configuration file',
88
+ type: 'string',
89
+ })
90
+ .option('target', {
91
+ alias: 't',
92
+ describe: 'Target file or directory',
93
+ type: 'string',
94
+ })
95
+ .option('line', {
96
+ alias: 'l',
97
+ describe: 'Target line in the code file (1-based; ignored if target is a directory)',
98
+ type: 'number',
99
+ })
100
+ .option('userName', {
101
+ describe: 'User name for telemetry',
102
+ type: 'string',
103
+ })
104
+ .option('testDirRelativeToPackage', {
105
+ alias: 'tdrtp',
106
+ describe: 'Test directory relative to package',
107
+ type: 'string',
108
+ })
109
+ .option('customizedTestCmd', {
110
+ alias: 'ctc',
111
+ describe: 'Custom command to run tests, If there are multiple CMDs, please separate them by a semicolon.',
112
+ type: 'string',
113
+ })
114
+ .option('customizedLintCmd', {
115
+ alias: 'clc',
116
+ describe: 'Custom command to run lint, If there are multiple CMDs, please separate them by a semicolon.',
117
+ type: 'string',
118
+ })
119
+ .command('init', 'Init config file', (yargs) => {
120
+ return yargs
121
+ .option('out', {
122
+ alias: 'o',
123
+ describe: 'Output file path',
124
+ type: 'string',
125
+ });
126
+ }, (c) => {
127
+ (0, cliConfig_1.initConfigFile)(c.out);
128
+ })
129
+ .command('ut', 'Generate unit test', (yargs) => {
130
+ return yargs
131
+ .option('runTest', {
132
+ describe: 'Run the test after running the code',
133
+ type: 'boolean',
134
+ default: true
135
+ })
136
+ .option('repair', {
137
+ describe: 'Repair the test if spec file already exists',
138
+ type: 'boolean',
139
+ default: false
140
+ });
141
+ }, (c) => {
142
+ const config = (0, cliConfig_1.readConfig)(c.config);
143
+ return (0, ut_1.runUT)({
144
+ ...c,
145
+ config
146
+ });
147
+ })
148
+ .command('utcmd', 'Generate unit test using command line for pipeline', () => { }, (c) => {
149
+ return (0, utPipeCmdWrapper_1.runUTCmd)({
150
+ ...c
151
+ });
152
+ })
153
+ .command('expose-prompt', 'Expose prompt template to customize', (yargs) => {
154
+ return yargs
155
+ .option('out', {
156
+ alias: 'o',
157
+ describe: 'Output file path',
158
+ type: 'string',
159
+ });
160
+ }, (c) => {
161
+ const outPath = path_1.default.resolve(c.out || `./${constants_1.TEST_COPILOT_CONFIG_PROMPTS_UT_TS}`);
162
+ (0, prompt_1.exposePrompt)(outPath);
163
+ })
164
+ .help()
165
+ .alias('help', 'h')
166
+ .parse();
167
+ }
168
+ main();
169
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { PromptConfigs } from "../core/llm";
2
+ import { CoreConfig } from "../core/config";
3
+ export interface ConfigFile {
4
+ customizePrompt?: true | string;
5
+ common?: CoreConfig['common'];
6
+ gpt?: CoreConfig['gpt'];
7
+ }
8
+ export interface CliConfig extends Omit<ConfigFile, 'customizePrompt'> {
9
+ promptConfigs?: Partial<PromptConfigs>;
10
+ }
11
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/cli/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,UAAU;IACvB,eAAe,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAClE,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/cli/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { IGetResponse } from "../../core/llm";
2
+ export declare const getDSResponse: IGetResponse;
3
+ //# sourceMappingURL=ds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/ds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAQ,MAAM,gBAAgB,CAAC;AAKpD,eAAO,MAAM,aAAa,EAAE,YAyC3B,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDSResponse = void 0;
4
+ const identity_1 = require("@azure/identity");
5
+ const console_1 = require("../../core/utils/console");
6
+ const credential = new identity_1.DefaultAzureCredential(); // CodeQL [SM05138] This is non-production testing code which is not deployed.
7
+ const getDSResponse = async (messages) => {
8
+ const model = 'DeepSeekV3-AMD';
9
+ let start = Date.now();
10
+ const token = (await credential.getToken('api://5fe538a8-15d5-4a84-961e-be66cd036687/.default')).token;
11
+ console.log(`Token duration: ${Date.now() - start}ms`);
12
+ start = Date.now();
13
+ (0, console_1.getConsole)().log(`Fetching response from DeepSeek (${model})...`);
14
+ const res = await fetch('https://NorthCentralUS.papyrus.binginternal.com/chat/completions', {
15
+ method: 'POST',
16
+ headers: {
17
+ 'Content-Type': 'application/json',
18
+ Authorization: `Bearer ${token}`,
19
+ "papyrus-model-name": model,
20
+ "papyrus-quota-id": 'deepseekamdmsnverticals',
21
+ "papyrus-timeout-ms": "600000",
22
+ },
23
+ body: JSON.stringify({
24
+ messages: messages.map(el => ({
25
+ ...el,
26
+ role: el.role === "system" /* Role.System */ ? "user" /* Role.User */ : el.role
27
+ })),
28
+ max_tokens: 4000
29
+ })
30
+ });
31
+ console.log(`Response duration: ${Date.now() - start}ms`);
32
+ const text = await res.text();
33
+ const json = JSON.parse(text);
34
+ const content = json.choices[0].message.content || '';
35
+ const [think, result] = content.split('</think>');
36
+ if (result) {
37
+ return {
38
+ reason: think.trim(),
39
+ content: result.trim(),
40
+ success: true
41
+ };
42
+ }
43
+ ;
44
+ return {
45
+ content: content.trim(),
46
+ success: true
47
+ };
48
+ };
49
+ exports.getDSResponse = getDSResponse;
50
+ //# sourceMappingURL=ds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds.js","sourceRoot":"","sources":["../../../src/cli/utils/ds.ts"],"names":[],"mappings":";;;AAAA,8CAAyD;AAEzD,sDAAsD;AAEtD,MAAM,UAAU,GAAG,IAAI,iCAAsB,EAAE,CAAC,CAAC,8EAA8E;AAExH,MAAM,aAAa,GAAiB,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC;IAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,CAAC,KAAK,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;IACvD,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,IAAA,oBAAU,GAAE,CAAC,GAAG,CAAC,oCAAoC,KAAK,MAAM,CAAC,CAAC;IAElE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,kEAAkE,EAAE;QACxF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,oBAAoB,EAAE,KAAK;YAC3B,kBAAkB,EAAE,yBAAyB;YAC7C,oBAAoB,EAAE,QAAQ;SACjC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1B,GAAG,EAAE;gBACL,IAAI,EAAE,EAAE,CAAC,IAAI,+BAAgB,CAAC,CAAC,wBAAW,CAAC,CAAC,EAAE,CAAC,IAAI;aACtD,CAAC,CAAC;YACH,UAAU,EAAE,IAAI;SACnB,CAAC;KACL,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC;QACT,OAAO;YACH,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE;YACpB,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;YACtB,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IAAA,CAAC;IACF,OAAO;QACH,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;QACvB,OAAO,EAAE,IAAI;KAChB,CAAC;AACN,CAAC,CAAC;AAzCW,QAAA,aAAa,iBAyCxB"}
@@ -0,0 +1,3 @@
1
+ import { IGetResponse } from "../../core/llm";
2
+ export declare const getGPTResponse: IGetResponse;
3
+ //# sourceMappingURL=gpt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpt.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/gpt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAQ,MAAM,gBAAgB,CAAC;AA0CpD,eAAO,MAAM,cAAc,EAAE,YA0B5B,CAAA"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGPTResponse = void 0;
4
+ const identity_1 = require("@azure/identity");
5
+ const config_1 = require("../../core/config");
6
+ let cachedToken = null;
7
+ let tokenExpiration = null;
8
+ // platform provided endpoint
9
+ // const gpt4oEndpoint = "https://autogenerate-unit-tests-draft-1.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2025-01-01-preview";
10
+ const gpt5Endpoint = "https://peregrine-utgen-eus2.cognitiveservices.azure.com/openai/deployments/gpt-5-chat/chat/completions?api-version=2025-01-01-preview";
11
+ async function getToken() {
12
+ const currentTime = new Date().getTime();
13
+ // Check if the cached token is still valid
14
+ if (cachedToken && tokenExpiration && currentTime < tokenExpiration) {
15
+ return cachedToken;
16
+ }
17
+ try {
18
+ const credential = new identity_1.ChainedTokenCredential(new identity_1.AzureCliCredential(), new identity_1.ManagedIdentityCredential(), new identity_1.DefaultAzureCredential() // CodeQL [SM05138] This is non-production testing code which is not deployed.
19
+ );
20
+ const tokenResponse = await credential.getToken('https://cognitiveservices.azure.com/.default');
21
+ if (tokenResponse) {
22
+ cachedToken = tokenResponse.token;
23
+ // Set token expiration time based on the token's expiresOnTimestamp
24
+ tokenExpiration = tokenResponse.expiresOnTimestamp;
25
+ return cachedToken;
26
+ }
27
+ else {
28
+ throw new Error('Failed to obtain token');
29
+ }
30
+ }
31
+ catch (error) {
32
+ console.error('Error obtaining token:', error);
33
+ throw error;
34
+ }
35
+ }
36
+ const getGPTResponse = async (messages) => {
37
+ const token = await getToken();
38
+ const endpoint = (0, config_1.getConfig)().gpt?.api ?? gpt5Endpoint;
39
+ const res = await fetch(endpoint, {
40
+ method: 'POST',
41
+ headers: {
42
+ 'Content-Type': 'application/json',
43
+ Authorization: 'Bearer ' + token,
44
+ },
45
+ body: JSON.stringify({
46
+ messages: messages.map(el => ({
47
+ ...el,
48
+ role: el.role === "system" /* Role.System */ ? "user" /* Role.User */ : el.role
49
+ })),
50
+ })
51
+ });
52
+ const json = await res.json();
53
+ if (!res.ok) {
54
+ console.error('GPT response error:', json.error);
55
+ return { success: false, content: undefined };
56
+ }
57
+ return {
58
+ success: res.ok,
59
+ content: json.choices?.[0]?.message?.content
60
+ };
61
+ };
62
+ exports.getGPTResponse = getGPTResponse;
63
+ //# sourceMappingURL=gpt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpt.js","sourceRoot":"","sources":["../../../src/cli/utils/gpt.ts"],"names":[],"mappings":";;;AAAA,8CAAgI;AAGhI,8CAA8C;AAE9C,IAAI,WAAW,GAAG,IAAI,CAAC;AACvB,IAAI,eAAe,GAAG,IAAI,CAAC;AAC3B,6BAA6B;AAC7B,8JAA8J;AAC9J,MAAM,YAAY,GAAG,wIAAwI,CAAC;AAG9J,KAAK,UAAU,QAAQ;IACnB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAEzC,2CAA2C;IAC3C,IAAI,WAAW,IAAI,eAAe,IAAI,WAAW,GAAG,eAAe,EAAE,CAAC;QAClE,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,iCAAsB,CACzC,IAAI,6BAAkB,EAAE,EACxB,IAAI,oCAAyB,EAAE,EAC/B,IAAI,iCAAsB,EAAE,CAAC,8EAA8E;SAC9G,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,8CAA8C,CAAC,CAAC;QAEhG,IAAI,aAAa,EAAE,CAAC;YAChB,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC;YAClC,oEAAoE;YACpE,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC;YACnD,OAAO,WAAW,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAEM,MAAM,cAAc,GAAiB,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC3D,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAA,kBAAS,GAAE,CAAC,GAAG,EAAE,GAAG,IAAI,YAAY,CAAC;IACtD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,SAAS,GAAG,KAAK;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1B,GAAG,EAAE;gBACL,IAAI,EAAE,EAAE,CAAC,IAAI,+BAAgB,CAAC,CAAC,wBAAW,CAAC,CAAC,EAAE,CAAC,IAAI;aACtD,CAAC,CAAC;SACN,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAS,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAClD,CAAC;IACD,OAAO;QACH,OAAO,EAAE,GAAG,CAAC,EAAE;QACf,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO;KAC/C,CAAC;AACN,CAAC,CAAA;AA1BY,QAAA,cAAc,kBA0B1B"}
@@ -0,0 +1,61 @@
1
+ import { CodeDetailData } from "./index.type";
2
+ export declare function maybeCjs(fileName: string, fileContent: string): boolean;
3
+ export declare class CommonJSAnalyzer {
4
+ #private;
5
+ /**
6
+ * Analyzes a CommonJS file to extract imports and exports
7
+ */
8
+ analyzeFile(filePath: string): CodeDetailData[];
9
+ /**
10
+ * Analyzes require() imports in a CommonJS file
11
+ */
12
+ private analyzeRequireImports;
13
+ /**
14
+ * Extracts require() call information from a variable declaration
15
+ */
16
+ private extractRequireInfo;
17
+ /**
18
+ * Processes a require declaration and adds it to the imports array
19
+ */
20
+ private processRequireDeclaration;
21
+ /**
22
+ * Analyzes exports and module.exports in a CommonJS file
23
+ */
24
+ private analyzeExports;
25
+ /**
26
+ * Processes a single export statement
27
+ */
28
+ private processExportStatement;
29
+ /**
30
+ * Processes a named export (exports.xxx = ...)
31
+ */
32
+ private processNamedExport;
33
+ /**
34
+ * Processes module.exports assignment
35
+ */
36
+ private processModuleExport;
37
+ /**
38
+ * Processes object literal exports (module.exports = { ... })
39
+ */
40
+ private processObjectLiteralExport;
41
+ /**
42
+ * Processes property assignment in object literal export
43
+ */
44
+ private processPropertyAssignment;
45
+ /**
46
+ * Processes shorthand property in object literal export
47
+ */
48
+ private processShorthandProperty;
49
+ private checkNode;
50
+ private extractFunction;
51
+ private extractClass;
52
+ /**
53
+ * Extracts class functions from a class expression
54
+ */
55
+ private extractClassFunctions;
56
+ private extractRange;
57
+ private addClassFunction;
58
+ private findByName;
59
+ }
60
+ export declare function analyzeCommonJSFile(filePath: string): CodeDetailData[];
61
+ //# sourceMappingURL=cjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cjs.d.ts","sourceRoot":"","sources":["../../../src/core/analyze/cjs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAoC,MAAM,cAAc,CAAC;AAMhF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAUvE;AAED,qBAAa,gBAAgB;;IAQzB;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE;IAoDtD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA6BjC;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAUlC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAejC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,YAAY;IAuBpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,UAAU;CAMrB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAQtE"}