@copado/agentia-cli 0.38.0-alpha.0 → 0.41.0-alpha.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 (294) hide show
  1. package/README.md +1545 -1420
  2. package/dist/commands/auth/set.d.ts +2 -13
  3. package/dist/commands/auth/set.js +41 -108
  4. package/dist/commands/auth/set.js.map +1 -1
  5. package/dist/commands/auth/unset.d.ts +15 -0
  6. package/dist/commands/auth/unset.js +64 -0
  7. package/dist/commands/auth/unset.js.map +1 -0
  8. package/dist/commands/{environment → cicd/environment}/auth/status.d.ts +2 -2
  9. package/dist/commands/{environment → cicd/environment}/auth/status.js +3 -3
  10. package/dist/commands/cicd/environment/auth/status.js.map +1 -0
  11. package/dist/commands/{environment → cicd/environment}/auth/web/login.d.ts +2 -2
  12. package/dist/commands/{environment → cicd/environment}/auth/web/login.js +2 -2
  13. package/dist/commands/cicd/environment/auth/web/login.js.map +1 -0
  14. package/dist/commands/{environment → cicd/environment}/create.d.ts +2 -2
  15. package/dist/commands/{environment → cicd/environment}/create.js +3 -3
  16. package/dist/commands/cicd/environment/create.js.map +1 -0
  17. package/dist/commands/{environment → cicd/environment}/get.d.ts +2 -2
  18. package/dist/commands/{environment → cicd/environment}/get.js +3 -3
  19. package/dist/commands/cicd/environment/get.js.map +1 -0
  20. package/dist/commands/{environment → cicd/environment}/list.d.ts +4 -4
  21. package/dist/commands/{environment → cicd/environment}/list.js +6 -6
  22. package/dist/commands/cicd/environment/list.js.map +1 -0
  23. package/dist/commands/{environment → cicd/environment}/open.d.ts +1 -1
  24. package/dist/commands/{environment → cicd/environment}/open.js +4 -4
  25. package/dist/commands/cicd/environment/open.js.map +1 -0
  26. package/dist/commands/{environment → cicd/environment}/update.d.ts +2 -2
  27. package/dist/commands/{environment → cicd/environment}/update.js +4 -4
  28. package/dist/commands/cicd/environment/update.js.map +1 -0
  29. package/dist/commands/{job → cicd/job}/get.d.ts +2 -2
  30. package/dist/commands/{job → cicd/job}/get.js +3 -3
  31. package/dist/commands/cicd/job/get.js.map +1 -0
  32. package/dist/commands/{job → cicd/job}/kill.d.ts +2 -2
  33. package/dist/commands/{job → cicd/job}/kill.js +3 -3
  34. package/dist/commands/cicd/job/kill.js.map +1 -0
  35. package/dist/commands/{job → cicd/job}/list.d.ts +3 -3
  36. package/dist/commands/{job → cicd/job}/list.js +5 -5
  37. package/dist/commands/cicd/job/list.js.map +1 -0
  38. package/dist/commands/{job → cicd/job}/log/get.d.ts +1 -1
  39. package/dist/commands/{job → cicd/job}/log/get.js +3 -3
  40. package/dist/commands/cicd/job/log/get.js.map +1 -0
  41. package/dist/commands/{job → cicd/job}/open.d.ts +1 -1
  42. package/dist/commands/{job → cicd/job}/open.js +3 -3
  43. package/dist/commands/cicd/job/open.js.map +1 -0
  44. package/dist/commands/{job → cicd/job}/pause.d.ts +2 -2
  45. package/dist/commands/{job → cicd/job}/pause.js +3 -3
  46. package/dist/commands/cicd/job/pause.js.map +1 -0
  47. package/dist/commands/{job → cicd/job}/resume.d.ts +2 -2
  48. package/dist/commands/{job → cicd/job}/resume.js +3 -3
  49. package/dist/commands/cicd/job/resume.js.map +1 -0
  50. package/dist/commands/{job → cicd/job}/run.d.ts +2 -2
  51. package/dist/commands/{job → cicd/job}/run.js +3 -3
  52. package/dist/commands/cicd/job/run.js.map +1 -0
  53. package/dist/commands/{metadata → cicd/metadata}/content/compare.d.ts +2 -2
  54. package/dist/commands/{metadata → cicd/metadata}/content/compare.js +3 -3
  55. package/dist/commands/cicd/metadata/content/compare.js.map +1 -0
  56. package/dist/commands/{metadata → cicd/metadata}/content/get.d.ts +2 -2
  57. package/dist/commands/{metadata → cicd/metadata}/content/get.js +3 -3
  58. package/dist/commands/cicd/metadata/content/get.js.map +1 -0
  59. package/dist/commands/{metadata → cicd/metadata}/dependency/list.d.ts +2 -2
  60. package/dist/commands/{metadata → cicd/metadata}/dependency/list.js +5 -5
  61. package/dist/commands/cicd/metadata/dependency/list.js.map +1 -0
  62. package/dist/commands/{metadata → cicd/metadata}/index/compare.d.ts +2 -2
  63. package/dist/commands/{metadata → cicd/metadata}/index/compare.js +3 -3
  64. package/dist/commands/cicd/metadata/index/compare.js.map +1 -0
  65. package/dist/commands/{metadata → cicd/metadata}/list.d.ts +2 -2
  66. package/dist/commands/{metadata → cicd/metadata}/list.js +3 -3
  67. package/dist/commands/cicd/metadata/list.js.map +1 -0
  68. package/dist/commands/{metadata → cicd/metadata}/refresh/deleted.d.ts +2 -2
  69. package/dist/commands/{metadata → cicd/metadata}/refresh/deleted.js +5 -5
  70. package/dist/commands/cicd/metadata/refresh/deleted.js.map +1 -0
  71. package/dist/commands/{metadata → cicd/metadata}/refresh/run.d.ts +2 -2
  72. package/dist/commands/{metadata → cicd/metadata}/refresh/run.js +5 -5
  73. package/dist/commands/cicd/metadata/refresh/run.js.map +1 -0
  74. package/dist/commands/{metadata → cicd/metadata}/refresh/status.d.ts +2 -2
  75. package/dist/commands/{metadata → cicd/metadata}/refresh/status.js +5 -5
  76. package/dist/commands/cicd/metadata/refresh/status.js.map +1 -0
  77. package/dist/commands/{pipeline → cicd/pipeline}/connection/list.d.ts +2 -2
  78. package/dist/commands/{pipeline → cicd/pipeline}/connection/list.js +4 -4
  79. package/dist/commands/cicd/pipeline/connection/list.js.map +1 -0
  80. package/dist/commands/{pipeline → cicd/pipeline}/get.d.ts +2 -2
  81. package/dist/commands/{pipeline → cicd/pipeline}/get.js +3 -3
  82. package/dist/commands/cicd/pipeline/get.js.map +1 -0
  83. package/dist/commands/{pipeline → cicd/pipeline}/list.d.ts +3 -3
  84. package/dist/commands/{pipeline → cicd/pipeline}/list.js +4 -4
  85. package/dist/commands/cicd/pipeline/list.js.map +1 -0
  86. package/dist/commands/{pipeline → cicd/pipeline}/open.d.ts +1 -1
  87. package/dist/commands/{pipeline → cicd/pipeline}/open.js +3 -3
  88. package/dist/commands/cicd/pipeline/open.js.map +1 -0
  89. package/dist/commands/{project → cicd/project}/default/get.d.ts +2 -2
  90. package/dist/commands/{project → cicd/project}/default/get.js +4 -4
  91. package/dist/commands/cicd/project/default/get.js.map +1 -0
  92. package/dist/commands/{project → cicd/project}/default/set.d.ts +2 -2
  93. package/dist/commands/{project → cicd/project}/default/set.js +4 -4
  94. package/dist/commands/cicd/project/default/set.js.map +1 -0
  95. package/dist/commands/{project → cicd/project}/default/unset.d.ts +2 -2
  96. package/dist/commands/{project → cicd/project}/default/unset.js +4 -4
  97. package/dist/commands/cicd/project/default/unset.js.map +1 -0
  98. package/dist/commands/{project → cicd/project}/get.d.ts +2 -2
  99. package/dist/commands/{project → cicd/project}/get.js +3 -3
  100. package/dist/commands/cicd/project/get.js.map +1 -0
  101. package/dist/commands/{project → cicd/project}/list.d.ts +3 -3
  102. package/dist/commands/{project → cicd/project}/list.js +5 -5
  103. package/dist/commands/cicd/project/list.js.map +1 -0
  104. package/dist/commands/{project → cicd/project}/open.d.ts +1 -1
  105. package/dist/commands/{project → cicd/project}/open.js +4 -4
  106. package/dist/commands/cicd/project/open.js.map +1 -0
  107. package/dist/commands/{promotion → cicd/promotion}/conflict/get.d.ts +1 -1
  108. package/dist/commands/{promotion → cicd/promotion}/conflict/get.js +3 -3
  109. package/dist/commands/cicd/promotion/conflict/get.js.map +1 -0
  110. package/dist/commands/{promotion → cicd/promotion}/conflict/list.d.ts +2 -2
  111. package/dist/commands/{promotion → cicd/promotion}/conflict/list.js +3 -3
  112. package/dist/commands/cicd/promotion/conflict/list.js.map +1 -0
  113. package/dist/commands/{promotion → cicd/promotion}/conflict/resolve.d.ts +2 -2
  114. package/dist/commands/{promotion → cicd/promotion}/conflict/resolve.js +3 -3
  115. package/dist/commands/cicd/promotion/conflict/resolve.js.map +1 -0
  116. package/dist/commands/{promotion → cicd/promotion}/conflict/unresolve.d.ts +2 -2
  117. package/dist/commands/{promotion → cicd/promotion}/conflict/unresolve.js +3 -3
  118. package/dist/commands/cicd/promotion/conflict/unresolve.js.map +1 -0
  119. package/dist/commands/{promotion → cicd/promotion}/get.d.ts +2 -2
  120. package/dist/commands/{promotion → cicd/promotion}/get.js +3 -3
  121. package/dist/commands/cicd/promotion/get.js.map +1 -0
  122. package/dist/commands/{promotion → cicd/promotion}/list.d.ts +3 -3
  123. package/dist/commands/{promotion → cicd/promotion}/list.js +5 -5
  124. package/dist/commands/cicd/promotion/list.js.map +1 -0
  125. package/dist/commands/{promotion → cicd/promotion}/open.d.ts +1 -1
  126. package/dist/commands/{promotion → cicd/promotion}/open.js +3 -3
  127. package/dist/commands/cicd/promotion/open.js.map +1 -0
  128. package/dist/commands/{user → cicd/user}/get.d.ts +2 -2
  129. package/dist/commands/{user → cicd/user}/get.js +3 -3
  130. package/dist/commands/cicd/user/get.js.map +1 -0
  131. package/dist/commands/{work → cicd/work}/create.d.ts +2 -2
  132. package/dist/commands/{work → cicd/work}/create.js +7 -7
  133. package/dist/commands/cicd/work/create.js.map +1 -0
  134. package/dist/commands/{work → cicd/work}/delete.d.ts +1 -1
  135. package/dist/commands/{work → cicd/work}/delete.js +3 -3
  136. package/dist/commands/cicd/work/delete.js.map +1 -0
  137. package/dist/commands/{work → cicd/work}/done.d.ts +2 -2
  138. package/dist/commands/{work → cicd/work}/done.js +9 -9
  139. package/dist/commands/cicd/work/done.js.map +1 -0
  140. package/dist/commands/{work → cicd/work}/get.d.ts +2 -2
  141. package/dist/commands/{work → cicd/work}/get.js +5 -5
  142. package/dist/commands/cicd/work/get.js.map +1 -0
  143. package/dist/commands/{work → cicd/work}/list.d.ts +3 -3
  144. package/dist/commands/{work → cicd/work}/list.js +6 -6
  145. package/dist/commands/cicd/work/list.js.map +1 -0
  146. package/dist/commands/{work → cicd/work}/open.d.ts +1 -1
  147. package/dist/commands/{work → cicd/work}/open.js +5 -5
  148. package/dist/commands/cicd/work/open.js.map +1 -0
  149. package/dist/commands/{work → cicd/work}/push.d.ts +2 -2
  150. package/dist/commands/{work → cicd/work}/push.js +9 -9
  151. package/dist/commands/cicd/work/push.js.map +1 -0
  152. package/dist/commands/{work → cicd/work}/set.d.ts +2 -2
  153. package/dist/commands/{work → cicd/work}/set.js +6 -6
  154. package/dist/commands/cicd/work/set.js.map +1 -0
  155. package/dist/commands/{work → cicd/work}/status.d.ts +2 -2
  156. package/dist/commands/{work → cicd/work}/status.js +7 -7
  157. package/dist/commands/cicd/work/status.js.map +1 -0
  158. package/dist/commands/{work → cicd/work}/submit.d.ts +3 -2
  159. package/dist/commands/{work → cicd/work}/submit.js +30 -13
  160. package/dist/commands/cicd/work/submit.js.map +1 -0
  161. package/dist/commands/cicd/work/test.d.ts +14 -0
  162. package/dist/commands/cicd/work/test.js +102 -0
  163. package/dist/commands/cicd/work/test.js.map +1 -0
  164. package/dist/commands/{work → cicd/work}/update.d.ts +2 -2
  165. package/dist/commands/{work → cicd/work}/update.js +8 -8
  166. package/dist/commands/cicd/work/update.js.map +1 -0
  167. package/dist/commands/setup.d.ts +1 -1
  168. package/dist/commands/setup.js +16 -7
  169. package/dist/commands/setup.js.map +1 -1
  170. package/dist/commands/testing/job/create.d.ts +7 -0
  171. package/dist/commands/testing/job/create.js +11 -2
  172. package/dist/commands/testing/job/create.js.map +1 -1
  173. package/dist/commands/testing/job/update.d.ts +7 -0
  174. package/dist/commands/testing/job/update.js +14 -2
  175. package/dist/commands/testing/job/update.js.map +1 -1
  176. package/dist/lib/auth-config.d.ts +62 -0
  177. package/dist/lib/auth-config.js +246 -0
  178. package/dist/lib/auth-config.js.map +1 -0
  179. package/dist/lib/cicd-gateway.js +16 -1
  180. package/dist/lib/cicd-gateway.js.map +1 -1
  181. package/dist/lib/credential-store.d.ts +3 -0
  182. package/dist/lib/credential-store.js +9 -0
  183. package/dist/lib/credential-store.js.map +1 -1
  184. package/dist/lib/cursor-mcp-config.d.ts +62 -0
  185. package/dist/lib/cursor-mcp-config.js +173 -0
  186. package/dist/lib/cursor-mcp-config.js.map +1 -0
  187. package/dist/lib/debug.d.ts +3 -0
  188. package/dist/lib/debug.js +23 -0
  189. package/dist/lib/debug.js.map +1 -0
  190. package/dist/lib/local-quality-gates.d.ts +3 -0
  191. package/dist/lib/local-quality-gates.js +10 -4
  192. package/dist/lib/local-quality-gates.js.map +1 -1
  193. package/dist/lib/mcp/testing-tools.d.ts +14 -0
  194. package/dist/lib/mcp/testing-tools.js +32 -4
  195. package/dist/lib/mcp/testing-tools.js.map +1 -1
  196. package/dist/lib/mcp/tools.d.ts +23 -0
  197. package/dist/lib/mcp/tools.js +15 -39
  198. package/dist/lib/mcp/tools.js.map +1 -1
  199. package/dist/lib/mcp/work-tools.d.ts +2 -0
  200. package/dist/lib/mcp/work-tools.js +61 -25
  201. package/dist/lib/mcp/work-tools.js.map +1 -1
  202. package/dist/lib/project-default-id.js +2 -2
  203. package/dist/lib/project-default-id.js.map +1 -1
  204. package/dist/lib/project-setup.d.ts +16 -14
  205. package/dist/lib/project-setup.js +101 -145
  206. package/dist/lib/project-setup.js.map +1 -1
  207. package/dist/lib/setup-prompts.d.ts +30 -0
  208. package/dist/lib/setup-prompts.js +13 -0
  209. package/dist/lib/setup-prompts.js.map +1 -0
  210. package/dist/lib/setup-templates.d.ts +3 -3
  211. package/dist/lib/setup-templates.js +58 -31
  212. package/dist/lib/setup-templates.js.map +1 -1
  213. package/dist/lib/setup-wizard.d.ts +42 -0
  214. package/dist/lib/setup-wizard.js +422 -0
  215. package/dist/lib/setup-wizard.js.map +1 -0
  216. package/dist/lib/testing-config.d.ts +4 -2
  217. package/dist/lib/testing-config.js +23 -3
  218. package/dist/lib/testing-config.js.map +1 -1
  219. package/dist/lib/testing-flags.d.ts +9 -0
  220. package/dist/lib/testing-flags.js +24 -0
  221. package/dist/lib/testing-flags.js.map +1 -1
  222. package/dist/lib/testing-gateway.d.ts +13 -0
  223. package/dist/lib/testing-gateway.js +67 -1
  224. package/dist/lib/testing-gateway.js.map +1 -1
  225. package/dist/lib/testing-operations.d.ts +17 -1
  226. package/dist/lib/testing-operations.js +76 -5
  227. package/dist/lib/testing-operations.js.map +1 -1
  228. package/dist/lib/testing-types.d.ts +24 -4
  229. package/dist/lib/testing-types.js.map +1 -1
  230. package/dist/lib/work-active.js +2 -2
  231. package/dist/lib/work-active.js.map +1 -1
  232. package/dist/lib/work-local-run-tests.d.ts +22 -0
  233. package/dist/lib/work-local-run-tests.js +56 -0
  234. package/dist/lib/work-local-run-tests.js.map +1 -0
  235. package/dist/lib/work-types.d.ts +7 -0
  236. package/dist/lib/work-types.js +3 -0
  237. package/dist/lib/work-types.js.map +1 -1
  238. package/oclif.manifest.json +3258 -3034
  239. package/package.json +42 -11
  240. package/dist/commands/environment/auth/status.js.map +0 -1
  241. package/dist/commands/environment/auth/web/login.js.map +0 -1
  242. package/dist/commands/environment/create.js.map +0 -1
  243. package/dist/commands/environment/get.js.map +0 -1
  244. package/dist/commands/environment/list.js.map +0 -1
  245. package/dist/commands/environment/open.js.map +0 -1
  246. package/dist/commands/environment/update.js.map +0 -1
  247. package/dist/commands/job/get.js.map +0 -1
  248. package/dist/commands/job/kill.js.map +0 -1
  249. package/dist/commands/job/list.js.map +0 -1
  250. package/dist/commands/job/log/get.js.map +0 -1
  251. package/dist/commands/job/open.js.map +0 -1
  252. package/dist/commands/job/pause.js.map +0 -1
  253. package/dist/commands/job/resume.js.map +0 -1
  254. package/dist/commands/job/run.js.map +0 -1
  255. package/dist/commands/metadata/content/compare.js.map +0 -1
  256. package/dist/commands/metadata/content/get.js.map +0 -1
  257. package/dist/commands/metadata/dependency/list.js.map +0 -1
  258. package/dist/commands/metadata/index/compare.js.map +0 -1
  259. package/dist/commands/metadata/list.js.map +0 -1
  260. package/dist/commands/metadata/refresh/deleted.js.map +0 -1
  261. package/dist/commands/metadata/refresh/run.js.map +0 -1
  262. package/dist/commands/metadata/refresh/status.js.map +0 -1
  263. package/dist/commands/pipeline/connection/list.js.map +0 -1
  264. package/dist/commands/pipeline/get.js.map +0 -1
  265. package/dist/commands/pipeline/list.js.map +0 -1
  266. package/dist/commands/pipeline/open.js.map +0 -1
  267. package/dist/commands/project/default/get.js.map +0 -1
  268. package/dist/commands/project/default/set.js.map +0 -1
  269. package/dist/commands/project/default/unset.js.map +0 -1
  270. package/dist/commands/project/get.js.map +0 -1
  271. package/dist/commands/project/list.js.map +0 -1
  272. package/dist/commands/project/open.js.map +0 -1
  273. package/dist/commands/promotion/conflict/get.js.map +0 -1
  274. package/dist/commands/promotion/conflict/list.js.map +0 -1
  275. package/dist/commands/promotion/conflict/resolve.js.map +0 -1
  276. package/dist/commands/promotion/conflict/unresolve.js.map +0 -1
  277. package/dist/commands/promotion/get.js.map +0 -1
  278. package/dist/commands/promotion/list.js.map +0 -1
  279. package/dist/commands/promotion/open.js.map +0 -1
  280. package/dist/commands/user/get.js.map +0 -1
  281. package/dist/commands/work/create.js.map +0 -1
  282. package/dist/commands/work/delete.js.map +0 -1
  283. package/dist/commands/work/done.js.map +0 -1
  284. package/dist/commands/work/get.js.map +0 -1
  285. package/dist/commands/work/list.js.map +0 -1
  286. package/dist/commands/work/open.js.map +0 -1
  287. package/dist/commands/work/push.js.map +0 -1
  288. package/dist/commands/work/set.js.map +0 -1
  289. package/dist/commands/work/status.js.map +0 -1
  290. package/dist/commands/work/submit.js.map +0 -1
  291. package/dist/commands/work/test.d.ts +0 -10
  292. package/dist/commands/work/test.js +0 -61
  293. package/dist/commands/work/test.js.map +0 -1
  294. package/dist/commands/work/update.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/lib/credential-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAEtC,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAA;AAI5C,MAAM,CAAC,MAAM,oBAAoB,GAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAErE,MAAM,mBAAmB,GAAmC;IAC1D,IAAI,EAAE,qBAAqB;IAC3B,GAAG,EAAE,sBAAsB;CAC5B,CAAA;AAED,MAAM,qBAAqB,GAAG,sBAAsB,CAAA;AACpD,MAAM,kBAAkB,GAAG,mBAAmB,CAAA;AAC9C,MAAM,kBAAkB,GAAG,mBAAmB,CAAA;AAU9C,MAAM,mBAAmB,GAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAE3F,IAAI,YAAY,GAAiB,mBAAmB,CAAA;AAEpD,MAAM,UAAU,aAAa,CAAC,IAAoB,EAAE,MAAc;IAChE,YAAY,CAAC,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAoB;IAChD,OAAO,YAAY,CAAC,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AAC/E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO,YAAY,CAAC,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,YAAY,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,YAAY,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtD,CAAC;IAED,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAA;AACnC,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,uBAAuB,CAAC,OAAqB;IAC3D,YAAY,GAAG,OAAO,CAAA;AACxB,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,yBAAyB;IACvC,YAAY,GAAG,mBAAmB,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/lib/credential-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ export declare const AGENTIA_MCP_SERVER_NAME = "agentia";
2
+ export declare const AGENTIA_MCP_ENTRY: {
3
+ readonly args: readonly ["mcp", "start"];
4
+ readonly command: "agentia";
5
+ readonly type: "stdio";
6
+ };
7
+ export type CursorMcpServerEntry = {
8
+ [key: string]: unknown;
9
+ args?: unknown;
10
+ command?: unknown;
11
+ type?: unknown;
12
+ };
13
+ export type CursorMcpDocument = {
14
+ [key: string]: unknown;
15
+ mcpServers?: Record<string, CursorMcpServerEntry>;
16
+ };
17
+ export type CursorMcpScope = 'global' | 'local';
18
+ export type CursorMcpStatus = {
19
+ configured: boolean;
20
+ conflicting: boolean;
21
+ exists: boolean;
22
+ path: string;
23
+ serverName?: string;
24
+ };
25
+ export type CursorInstallStatus = {
26
+ configPresent: boolean;
27
+ detected: boolean;
28
+ onPath: boolean;
29
+ };
30
+ export type CursorMcpDeps = {
31
+ existsSync?: (filePath: string) => boolean;
32
+ homedir?: () => string;
33
+ pathEnv?: string;
34
+ platform?: NodeJS.Platform;
35
+ readFile?: (filePath: string, encoding: 'utf8') => Promise<string>;
36
+ writeFile?: (filePath: string, contents: string, encoding: 'utf8') => Promise<void>;
37
+ };
38
+ export declare function setCursorMcpDepsForTests(deps: CursorMcpDeps | undefined): void;
39
+ export declare function resetCursorMcpDepsForTests(): void;
40
+ export declare function globalCursorMcpPath(home?: string): string;
41
+ export declare function localCursorMcpPath(projectRoot: string): string;
42
+ export declare function isAgentiaMcpEntry(value: unknown): boolean;
43
+ export declare function hasConflictingAgentiaEntry(value: unknown): boolean;
44
+ export declare function findAgentiaMcpServer(document: CursorMcpDocument | undefined): undefined | {
45
+ entry: CursorMcpServerEntry;
46
+ name: string;
47
+ };
48
+ export declare function detectCursorInstall(deps?: CursorMcpDeps): CursorInstallStatus;
49
+ export declare function readCursorMcpDocument(filePath: string, deps?: CursorMcpDeps): Promise<{
50
+ document?: CursorMcpDocument;
51
+ error?: string;
52
+ exists: boolean;
53
+ }>;
54
+ export declare function inspectCursorMcpStatus(document: CursorMcpDocument | undefined, filePath: string, exists: boolean): CursorMcpStatus;
55
+ export declare function getCursorMcpStatus(projectRoot: string, deps?: CursorMcpDeps): Promise<{
56
+ global: CursorMcpStatus;
57
+ local: CursorMcpStatus;
58
+ }>;
59
+ export declare function upsertAgentiaCursorMcp(filePath: string, deps?: CursorMcpDeps): Promise<{
60
+ path: string;
61
+ status: 'created' | 'updated';
62
+ }>;
@@ -0,0 +1,173 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
3
+ import { homedir } from 'node:os';
4
+ import path from 'node:path';
5
+ export const AGENTIA_MCP_SERVER_NAME = 'agentia';
6
+ export const AGENTIA_MCP_ENTRY = {
7
+ args: ['mcp', 'start'],
8
+ command: 'agentia',
9
+ type: 'stdio',
10
+ };
11
+ let testDeps;
12
+ export function setCursorMcpDepsForTests(deps) {
13
+ testDeps = deps;
14
+ }
15
+ export function resetCursorMcpDepsForTests() {
16
+ testDeps = undefined;
17
+ }
18
+ function resolveDeps(overrides = {}) {
19
+ const merged = { ...testDeps, ...overrides };
20
+ return {
21
+ existsSync: merged.existsSync ?? existsSync,
22
+ homedir: merged.homedir ?? homedir,
23
+ pathEnv: merged.pathEnv ?? process.env.PATH ?? '',
24
+ platform: merged.platform ?? process.platform,
25
+ readFile: merged.readFile ?? ((filePath, encoding) => readFile(filePath, encoding)),
26
+ writeFile: merged.writeFile ?? ((filePath, contents, encoding) => writeFile(filePath, contents, encoding)),
27
+ };
28
+ }
29
+ function isRecord(value) {
30
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
31
+ }
32
+ export function globalCursorMcpPath(home = homedir()) {
33
+ return path.join(home, '.cursor', 'mcp.json');
34
+ }
35
+ export function localCursorMcpPath(projectRoot) {
36
+ return path.join(projectRoot, '.cursor', 'mcp.json');
37
+ }
38
+ export function isAgentiaMcpEntry(value) {
39
+ if (!isRecord(value)) {
40
+ return false;
41
+ }
42
+ if (value.command !== 'agentia') {
43
+ return false;
44
+ }
45
+ if (!Array.isArray(value.args) || value.args.length !== 2) {
46
+ return false;
47
+ }
48
+ return value.args[0] === 'mcp' && value.args[1] === 'start';
49
+ }
50
+ export function hasConflictingAgentiaEntry(value) {
51
+ return isRecord(value) && Object.keys(value).length > 0 && !isAgentiaMcpEntry(value);
52
+ }
53
+ export function findAgentiaMcpServer(document) {
54
+ const servers = document?.mcpServers;
55
+ if (!isRecord(servers)) {
56
+ return undefined;
57
+ }
58
+ for (const [name, entry] of Object.entries(servers)) {
59
+ if (isAgentiaMcpEntry(entry)) {
60
+ return { entry, name };
61
+ }
62
+ }
63
+ return undefined;
64
+ }
65
+ function commandOnPath(command, pathEnv, platform, exists) {
66
+ const extensions = platform === 'win32' ? ['.cmd', '.exe', '.bat', ''] : [''];
67
+ for (const dir of pathEnv.split(path.delimiter)) {
68
+ if (dir.trim().length === 0) {
69
+ continue;
70
+ }
71
+ for (const extension of extensions) {
72
+ if (exists(path.join(dir, `${command}${extension}`))) {
73
+ return true;
74
+ }
75
+ }
76
+ }
77
+ return false;
78
+ }
79
+ function standardCursorAppLocations(home, platform) {
80
+ if (platform === 'darwin') {
81
+ return ['/Applications/Cursor.app'];
82
+ }
83
+ if (platform === 'win32') {
84
+ return [
85
+ path.join(home, 'AppData', 'Local', 'Programs', 'cursor', 'Cursor.exe'),
86
+ path.join(home, 'AppData', 'Local', 'Programs', 'Cursor', 'Cursor.exe'),
87
+ ];
88
+ }
89
+ return ['/usr/share/cursor', '/opt/Cursor', path.join(home, '.local', 'share', 'cursor')];
90
+ }
91
+ export function detectCursorInstall(deps = {}) {
92
+ const resolved = resolveDeps(deps);
93
+ const globalPath = globalCursorMcpPath(resolved.homedir());
94
+ const configPresent = resolved.existsSync(globalPath);
95
+ const onPath = commandOnPath('cursor', resolved.pathEnv, resolved.platform, resolved.existsSync) ||
96
+ commandOnPath('agent', resolved.pathEnv, resolved.platform, resolved.existsSync);
97
+ const appPresent = standardCursorAppLocations(resolved.homedir(), resolved.platform).some((filePath) => resolved.existsSync(filePath));
98
+ return {
99
+ configPresent,
100
+ detected: configPresent || onPath || appPresent,
101
+ onPath,
102
+ };
103
+ }
104
+ export async function readCursorMcpDocument(filePath, deps = {}) {
105
+ const resolved = resolveDeps(deps);
106
+ if (!resolved.existsSync(filePath)) {
107
+ return { exists: false };
108
+ }
109
+ try {
110
+ const contents = await resolved.readFile(filePath, 'utf8');
111
+ const parsed = JSON.parse(contents);
112
+ if (!isRecord(parsed)) {
113
+ return { error: `Cursor MCP config at ${filePath} must contain a JSON object.`, exists: true };
114
+ }
115
+ return { document: parsed, exists: true };
116
+ }
117
+ catch (error) {
118
+ if (error instanceof SyntaxError) {
119
+ return { error: `Cursor MCP config at ${filePath} contains invalid JSON.`, exists: true };
120
+ }
121
+ throw error;
122
+ }
123
+ }
124
+ export function inspectCursorMcpStatus(document, filePath, exists) {
125
+ const matched = findAgentiaMcpServer(document);
126
+ const namedEntry = document?.mcpServers?.[AGENTIA_MCP_SERVER_NAME];
127
+ return {
128
+ configured: matched !== undefined,
129
+ conflicting: matched === undefined && hasConflictingAgentiaEntry(namedEntry),
130
+ exists,
131
+ path: filePath,
132
+ serverName: matched?.name,
133
+ };
134
+ }
135
+ export async function getCursorMcpStatus(projectRoot, deps = {}) {
136
+ const resolved = resolveDeps(deps);
137
+ const localPath = localCursorMcpPath(projectRoot);
138
+ const globalPath = globalCursorMcpPath(resolved.homedir());
139
+ const [localFile, globalFile] = await Promise.all([
140
+ readCursorMcpDocument(localPath, deps),
141
+ readCursorMcpDocument(globalPath, deps),
142
+ ]);
143
+ return {
144
+ global: inspectCursorMcpStatus(globalFile.document, globalPath, globalFile.exists),
145
+ local: inspectCursorMcpStatus(localFile.document, localPath, localFile.exists),
146
+ };
147
+ }
148
+ export async function upsertAgentiaCursorMcp(filePath, deps = {}) {
149
+ const resolved = resolveDeps(deps);
150
+ const current = await readCursorMcpDocument(filePath, deps);
151
+ if (current.error !== undefined) {
152
+ throw new Error(current.error);
153
+ }
154
+ const document = current.document ?? {};
155
+ const servers = isRecord(document.mcpServers) ? { ...document.mcpServers } : {};
156
+ const existing = findAgentiaMcpServer(document);
157
+ const targetName = existing?.name ?? AGENTIA_MCP_SERVER_NAME;
158
+ const existed = current.exists && servers[targetName] !== undefined;
159
+ servers[targetName] = { ...AGENTIA_MCP_ENTRY };
160
+ document.mcpServers = servers;
161
+ try {
162
+ await mkdir(path.dirname(filePath), { recursive: true });
163
+ }
164
+ catch {
165
+ // Best-effort directory creation; writeFile still runs for injectable test deps.
166
+ }
167
+ await resolved.writeFile(filePath, `${JSON.stringify(document, null, 2)}\n`, 'utf8');
168
+ return {
169
+ path: filePath,
170
+ status: existed || current.exists ? 'updated' : 'created',
171
+ };
172
+ }
173
+ //# sourceMappingURL=cursor-mcp-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-mcp-config.js","sourceRoot":"","sources":["../../src/lib/cursor-mcp-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function isVerboseDebug(env?: NodeJS.ProcessEnv): boolean;
2
+ export declare function formatDebugBody(raw: string): unknown;
3
+ export declare function logVerboseDebug(section: string, payload: unknown): void;
@@ -0,0 +1,23 @@
1
+ export function isVerboseDebug(env = process.env) {
2
+ return env.DEBUG?.trim().toLowerCase() === 'verbose';
3
+ }
4
+ export function formatDebugBody(raw) {
5
+ const trimmed = raw.trim();
6
+ if (trimmed.length === 0) {
7
+ return null;
8
+ }
9
+ try {
10
+ return JSON.parse(trimmed);
11
+ }
12
+ catch {
13
+ return raw;
14
+ }
15
+ }
16
+ export function logVerboseDebug(section, payload) {
17
+ if (!isVerboseDebug()) {
18
+ return;
19
+ }
20
+ const serialized = typeof payload === 'string' ? payload : JSON.stringify(payload, null, 2);
21
+ process.stderr.write(`[DEBUG] ${section}\n${serialized}\n`);
22
+ }
23
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/lib/debug.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,MAAyB,OAAO,CAAC,GAAG;IACjE,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,OAAgB;IAC/D,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACtB,OAAM;IACR,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,KAAK,UAAU,IAAI,CAAC,CAAA;AAC7D,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { type ChildProcess, spawn } from 'node:child_process';
2
2
  export declare const QUALITY_GATES_SCRIPT_UNIX = ".agentia_quality_gates.sh";
3
3
  export declare const QUALITY_GATES_SCRIPT_WINDOWS = ".agentia_quality_gates.cmd";
4
+ export declare const AGENTIA_APEX_TEST_CLASSES_ENV = "AGENTIA_APEX_TEST_CLASSES";
4
5
  export declare class LocalQualityGatesError extends Error {
5
6
  readonly exitCode: number;
6
7
  readonly output: string;
@@ -12,6 +13,8 @@ export declare class LocalQualityGatesError extends Error {
12
13
  });
13
14
  }
14
15
  export type LocalQualityGatesDeps = {
16
+ /** Comma-separated Apex test class names; set as AGENTIA_APEX_TEST_CLASSES for the gates script. */
17
+ apexTestClasses?: string;
15
18
  cwd?: string;
16
19
  existsSync?: (filePath: string) => boolean;
17
20
  onOutput?: (chunk: string) => void;
@@ -4,6 +4,7 @@ import { platform as osPlatform } from 'node:os';
4
4
  import path from 'node:path';
5
5
  export const QUALITY_GATES_SCRIPT_UNIX = '.agentia_quality_gates.sh';
6
6
  export const QUALITY_GATES_SCRIPT_WINDOWS = '.agentia_quality_gates.cmd';
7
+ export const AGENTIA_APEX_TEST_CLASSES_ENV = 'AGENTIA_APEX_TEST_CLASSES';
7
8
  export class LocalQualityGatesError extends Error {
8
9
  exitCode;
9
10
  output;
@@ -48,13 +49,13 @@ export function buildQualityGatesCommand(scriptPath, currentPlatform = osPlatfor
48
49
  return { args: [scriptPath], command: 'bash' };
49
50
  }
50
51
  export async function runLocalQualityGates(options = {}) {
51
- if (options.skip) {
52
- return { ran: false, skipped: true };
53
- }
54
52
  const scriptPath = resolveLocalQualityGatesScript(options);
55
53
  if (scriptPath === undefined) {
56
54
  return { ran: false, skipped: false };
57
55
  }
56
+ if (options.skip) {
57
+ return { ran: false, scriptPath, skipped: true };
58
+ }
58
59
  const cwd = options.cwd ?? process.cwd();
59
60
  const currentPlatform = options.platform ?? osPlatform();
60
61
  const runSpawn = options.spawn ?? spawnFn;
@@ -63,14 +64,19 @@ export async function runLocalQualityGates(options = {}) {
63
64
  process.stderr.write(chunk);
64
65
  });
65
66
  const { args, command } = buildQualityGatesCommand(scriptPath, currentPlatform);
67
+ const env = { ...process.env };
68
+ if (options.apexTestClasses !== undefined && options.apexTestClasses.length > 0) {
69
+ env[AGENTIA_APEX_TEST_CLASSES_ENV] = options.apexTestClasses;
70
+ }
66
71
  return new Promise((resolve, reject) => {
67
72
  const child = runSpawn(command, args, {
68
73
  cwd,
69
- env: process.env,
74
+ env,
70
75
  stdio: ['ignore', 'pipe', 'pipe'],
71
76
  windowsHide: true,
72
77
  });
73
78
  let output = '';
79
+ // Append stdout and stderr to one buffer in chunk arrival order (mixed as they came).
74
80
  const append = (chunk) => {
75
81
  const text = chunk.toString();
76
82
  output += text;
@@ -1 +1 @@
1
- {"version":3,"file":"local-quality-gates.js","sourceRoot":"","sources":["../../src/lib/local-quality-gates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-quality-gates.js","sourceRoot":"","sources":["../../src/lib/local-quality-gates.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,13 @@ declare function testingJobGet(args: ProjectArgs & {
82
82
  declare function testingJobUpdate(args: ProjectArgs & {
83
83
  caseDurationChangeDetection?: boolean;
84
84
  description?: string;
85
+ gitBranch?: string;
86
+ gitDomainCredential?: string;
87
+ gitPassword?: string;
88
+ gitTag?: string;
89
+ gitUrl?: string;
90
+ gitUseCallerCredentials?: boolean;
91
+ gitUsername?: string;
85
92
  hideVideoParams?: boolean;
86
93
  id: number;
87
94
  name?: string;
@@ -109,6 +116,13 @@ declare function testingJobCreate(args: ProjectArgs & {
109
116
  description?: string;
110
117
  dir?: string[];
111
118
  file?: string[];
119
+ gitBranch?: string;
120
+ gitDomainCredential?: string;
121
+ gitPassword?: string;
122
+ gitTag?: string;
123
+ gitUrl?: string;
124
+ gitUseCallerCredentials?: boolean;
125
+ gitUsername?: string;
112
126
  name: string;
113
127
  robot: string;
114
128
  }): Promise<{
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { abortTestingBuild, buildFileOperationsFromSpecs, createTestingJob, createTestingProject, createTestingRobot, createTestingVariable, deleteTestingJob, deleteTestingProject, deleteTestingRobot, deleteTestingVariable, downloadTestingJobFiles, getTestingBuildLogs, getTestingJob, getTestingProject, getTestingRobot, listTestingBuilds, listTestingJobFiles, listTestingJobs, listTestingProjects, listTestingRobots, listTestingVariables, runTestingBuild, updateTestingJob, updateTestingVariable, uploadTestingJobFiles, } from '../testing-operations.js';
2
+ import { abortTestingBuild, buildFileOperationsFromSpecs, buildTestingGitStorageUpdate, createTestingJob, createTestingProject, createTestingRobot, createTestingVariable, deleteTestingJob, deleteTestingProject, deleteTestingRobot, deleteTestingVariable, downloadTestingJobFiles, getTestingBuildLogs, getTestingJob, getTestingProject, getTestingRobot, listTestingBuilds, listTestingJobFiles, listTestingJobs, listTestingProjects, listTestingRobots, listTestingVariables, runTestingBuild, updateTestingJob, updateTestingVariable, uploadTestingJobFiles, } from '../testing-operations.js';
3
3
  import { TESTING_BUILD_STATUSES, TESTING_JOB_PARALLEL_MODES, TESTING_JOB_SUITE_TYPES, TESTING_RECORD_BUILD_OPTIONS, TESTING_VARIABLE_TYPES, } from '../testing-types.js';
4
4
  import { safelyHandleTool } from './result.js';
5
5
  const connectionSchema = {
@@ -11,6 +11,15 @@ const fileInputSchema = {
11
11
  dir: z.array(z.string()).optional().describe('Directories containing Robot Framework files to upload.'),
12
12
  file: z.array(z.string()).optional().describe('Robot Framework files to upload.'),
13
13
  };
14
+ const gitStorageSchema = {
15
+ gitBranch: z.string().optional().describe('Git branch to use for a Git-backed CRT job.'),
16
+ gitDomainCredential: z.string().optional().describe('CRT domain credential ID for Git repository access.'),
17
+ gitPassword: z.string().optional().describe('Git password/token for repository access. Prefer domain credentials.'),
18
+ gitTag: z.string().optional().describe('Git tag to use for a Git-backed CRT job.'),
19
+ gitUrl: z.string().optional().describe('Git repository URL for a Git-backed CRT job.'),
20
+ gitUseCallerCredentials: z.boolean().optional().describe('Use caller credentials for Git repository access.'),
21
+ gitUsername: z.string().optional().describe('Git username for repository access. Prefer domain credentials.'),
22
+ };
14
23
  const uploadOperationSchema = {
15
24
  add: z.array(z.string()).optional().describe('Add file operations using local[:remote] syntax.'),
16
25
  remove: z.array(z.string()).optional().describe('Remote file paths to remove.'),
@@ -105,6 +114,7 @@ async function testingJobUpdate(args) {
105
114
  ? undefined
106
115
  : { caseDurationChangeDetection: args.caseDurationChangeDetection },
107
116
  description: args.description,
117
+ domainCredentialId: args.gitDomainCredential,
108
118
  jobId: args.id,
109
119
  name: args.name,
110
120
  parallelExecution: args.parallelMode,
@@ -114,6 +124,14 @@ async function testingJobUpdate(args) {
114
124
  ? undefined
115
125
  : { depth: args.screenDepth, height: args.screenHeight, width: args.screenWidth },
116
126
  showVideoParams: args.showVideoParams === true ? true : args.hideVideoParams === true ? false : undefined,
127
+ storage: buildTestingGitStorageUpdate({
128
+ gitBranch: args.gitBranch,
129
+ gitPassword: args.gitPassword,
130
+ gitTag: args.gitTag,
131
+ gitUrl: args.gitUrl,
132
+ gitUseCallerCredentials: args.gitUseCallerCredentials,
133
+ gitUsername: args.gitUsername,
134
+ }),
117
135
  suiteType: args.suiteType,
118
136
  timeout: args.timeout,
119
137
  }),
@@ -128,6 +146,13 @@ async function testingJobCreate(args) {
128
146
  ...connection(args),
129
147
  description: args.description,
130
148
  fileInput: { dirs: args.dir, files: args.file },
149
+ gitBranch: args.gitBranch,
150
+ gitDomainCredentialId: args.gitDomainCredential,
151
+ gitPassword: args.gitPassword,
152
+ gitTag: args.gitTag,
153
+ gitUrl: args.gitUrl,
154
+ gitUseCallerCredentials: args.gitUseCallerCredentials,
155
+ gitUsername: args.gitUsername,
131
156
  name: args.name,
132
157
  projectId: args.project,
133
158
  robotId: args.robot,
@@ -390,10 +415,11 @@ export function registerAgentiaMcpTestingTools(server) {
390
415
  title: 'Agentia Testing Job Get',
391
416
  }, (args) => safelyHandleTool(() => testingJobGet(args)));
392
417
  server.registerTool('agentia_testing_job_update', {
393
- description: 'Update Copado Robotic Testing job/test metadata.',
418
+ description: 'Update Copado Robotic Testing job/test metadata or Git storage.',
394
419
  inputSchema: {
395
420
  caseDurationChangeDetection: z.boolean().optional().describe('Enable or disable duration analytics.'),
396
421
  description: z.string().optional().describe('Job/test description.'),
422
+ ...gitStorageSchema,
397
423
  hideVideoParams: z.boolean().optional().describe('Hide video parameters.'),
398
424
  id: z.number().int().positive().describe('CRT job/test ID.'),
399
425
  name: z.string().optional().describe('Job/test name.'),
@@ -420,13 +446,14 @@ export function registerAgentiaMcpTestingTools(server) {
420
446
  title: 'Agentia Testing Job Delete',
421
447
  }, (args) => safelyHandleTool(() => testingJobDelete(args)));
422
448
  server.registerTool('agentia_testing_job_create', {
423
- description: 'Create a Copado Robotic Testing job/test and upload files.',
449
+ description: 'Create a Copado Robotic Testing job/test from uploaded files or Git storage.',
424
450
  inputSchema: {
425
451
  description: z.string().optional().describe('Job/test description.'),
426
452
  name: z.string().describe('Job/test name.'),
427
453
  project: z.number().int().positive().describe('CRT project ID.'),
428
454
  robot: z.string().describe('CRT robot ID.'),
429
455
  ...fileInputSchema,
456
+ ...gitStorageSchema,
430
457
  ...connectionSchema,
431
458
  },
432
459
  title: 'Agentia Testing Job Create',
@@ -544,13 +571,14 @@ export function registerAgentiaMcpTestingTools(server) {
544
571
  title: 'Agentia Testing Variable Delete',
545
572
  }, (args) => safelyHandleTool(() => testingVariableDelete(args)));
546
573
  server.registerTool('agentia_testing_create', {
547
- description: 'Create a Copado Robotic Testing test and upload Robot Framework files.',
574
+ description: 'Create a Copado Robotic Testing test from uploaded files or Git storage.',
548
575
  inputSchema: {
549
576
  description: z.string().optional().describe('Test description.'),
550
577
  name: z.string().describe('Test name.'),
551
578
  project: z.number().int().positive().describe('CRT project ID.'),
552
579
  robot: z.string().describe('CRT robot ID.'),
553
580
  ...fileInputSchema,
581
+ ...gitStorageSchema,
554
582
  ...connectionSchema,
555
583
  },
556
584
  title: 'Agentia Testing Create',