@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.
- package/README.md +1545 -1420
- package/dist/commands/auth/set.d.ts +2 -13
- package/dist/commands/auth/set.js +41 -108
- package/dist/commands/auth/set.js.map +1 -1
- package/dist/commands/auth/unset.d.ts +15 -0
- package/dist/commands/auth/unset.js +64 -0
- package/dist/commands/auth/unset.js.map +1 -0
- package/dist/commands/{environment → cicd/environment}/auth/status.d.ts +2 -2
- package/dist/commands/{environment → cicd/environment}/auth/status.js +3 -3
- package/dist/commands/cicd/environment/auth/status.js.map +1 -0
- package/dist/commands/{environment → cicd/environment}/auth/web/login.d.ts +2 -2
- package/dist/commands/{environment → cicd/environment}/auth/web/login.js +2 -2
- package/dist/commands/cicd/environment/auth/web/login.js.map +1 -0
- package/dist/commands/{environment → cicd/environment}/create.d.ts +2 -2
- package/dist/commands/{environment → cicd/environment}/create.js +3 -3
- package/dist/commands/cicd/environment/create.js.map +1 -0
- package/dist/commands/{environment → cicd/environment}/get.d.ts +2 -2
- package/dist/commands/{environment → cicd/environment}/get.js +3 -3
- package/dist/commands/cicd/environment/get.js.map +1 -0
- package/dist/commands/{environment → cicd/environment}/list.d.ts +4 -4
- package/dist/commands/{environment → cicd/environment}/list.js +6 -6
- package/dist/commands/cicd/environment/list.js.map +1 -0
- package/dist/commands/{environment → cicd/environment}/open.d.ts +1 -1
- package/dist/commands/{environment → cicd/environment}/open.js +4 -4
- package/dist/commands/cicd/environment/open.js.map +1 -0
- package/dist/commands/{environment → cicd/environment}/update.d.ts +2 -2
- package/dist/commands/{environment → cicd/environment}/update.js +4 -4
- package/dist/commands/cicd/environment/update.js.map +1 -0
- package/dist/commands/{job → cicd/job}/get.d.ts +2 -2
- package/dist/commands/{job → cicd/job}/get.js +3 -3
- package/dist/commands/cicd/job/get.js.map +1 -0
- package/dist/commands/{job → cicd/job}/kill.d.ts +2 -2
- package/dist/commands/{job → cicd/job}/kill.js +3 -3
- package/dist/commands/cicd/job/kill.js.map +1 -0
- package/dist/commands/{job → cicd/job}/list.d.ts +3 -3
- package/dist/commands/{job → cicd/job}/list.js +5 -5
- package/dist/commands/cicd/job/list.js.map +1 -0
- package/dist/commands/{job → cicd/job}/log/get.d.ts +1 -1
- package/dist/commands/{job → cicd/job}/log/get.js +3 -3
- package/dist/commands/cicd/job/log/get.js.map +1 -0
- package/dist/commands/{job → cicd/job}/open.d.ts +1 -1
- package/dist/commands/{job → cicd/job}/open.js +3 -3
- package/dist/commands/cicd/job/open.js.map +1 -0
- package/dist/commands/{job → cicd/job}/pause.d.ts +2 -2
- package/dist/commands/{job → cicd/job}/pause.js +3 -3
- package/dist/commands/cicd/job/pause.js.map +1 -0
- package/dist/commands/{job → cicd/job}/resume.d.ts +2 -2
- package/dist/commands/{job → cicd/job}/resume.js +3 -3
- package/dist/commands/cicd/job/resume.js.map +1 -0
- package/dist/commands/{job → cicd/job}/run.d.ts +2 -2
- package/dist/commands/{job → cicd/job}/run.js +3 -3
- package/dist/commands/cicd/job/run.js.map +1 -0
- package/dist/commands/{metadata → cicd/metadata}/content/compare.d.ts +2 -2
- package/dist/commands/{metadata → cicd/metadata}/content/compare.js +3 -3
- package/dist/commands/cicd/metadata/content/compare.js.map +1 -0
- package/dist/commands/{metadata → cicd/metadata}/content/get.d.ts +2 -2
- package/dist/commands/{metadata → cicd/metadata}/content/get.js +3 -3
- package/dist/commands/cicd/metadata/content/get.js.map +1 -0
- package/dist/commands/{metadata → cicd/metadata}/dependency/list.d.ts +2 -2
- package/dist/commands/{metadata → cicd/metadata}/dependency/list.js +5 -5
- package/dist/commands/cicd/metadata/dependency/list.js.map +1 -0
- package/dist/commands/{metadata → cicd/metadata}/index/compare.d.ts +2 -2
- package/dist/commands/{metadata → cicd/metadata}/index/compare.js +3 -3
- package/dist/commands/cicd/metadata/index/compare.js.map +1 -0
- package/dist/commands/{metadata → cicd/metadata}/list.d.ts +2 -2
- package/dist/commands/{metadata → cicd/metadata}/list.js +3 -3
- package/dist/commands/cicd/metadata/list.js.map +1 -0
- package/dist/commands/{metadata → cicd/metadata}/refresh/deleted.d.ts +2 -2
- package/dist/commands/{metadata → cicd/metadata}/refresh/deleted.js +5 -5
- package/dist/commands/cicd/metadata/refresh/deleted.js.map +1 -0
- package/dist/commands/{metadata → cicd/metadata}/refresh/run.d.ts +2 -2
- package/dist/commands/{metadata → cicd/metadata}/refresh/run.js +5 -5
- package/dist/commands/cicd/metadata/refresh/run.js.map +1 -0
- package/dist/commands/{metadata → cicd/metadata}/refresh/status.d.ts +2 -2
- package/dist/commands/{metadata → cicd/metadata}/refresh/status.js +5 -5
- package/dist/commands/cicd/metadata/refresh/status.js.map +1 -0
- package/dist/commands/{pipeline → cicd/pipeline}/connection/list.d.ts +2 -2
- package/dist/commands/{pipeline → cicd/pipeline}/connection/list.js +4 -4
- package/dist/commands/cicd/pipeline/connection/list.js.map +1 -0
- package/dist/commands/{pipeline → cicd/pipeline}/get.d.ts +2 -2
- package/dist/commands/{pipeline → cicd/pipeline}/get.js +3 -3
- package/dist/commands/cicd/pipeline/get.js.map +1 -0
- package/dist/commands/{pipeline → cicd/pipeline}/list.d.ts +3 -3
- package/dist/commands/{pipeline → cicd/pipeline}/list.js +4 -4
- package/dist/commands/cicd/pipeline/list.js.map +1 -0
- package/dist/commands/{pipeline → cicd/pipeline}/open.d.ts +1 -1
- package/dist/commands/{pipeline → cicd/pipeline}/open.js +3 -3
- package/dist/commands/cicd/pipeline/open.js.map +1 -0
- package/dist/commands/{project → cicd/project}/default/get.d.ts +2 -2
- package/dist/commands/{project → cicd/project}/default/get.js +4 -4
- package/dist/commands/cicd/project/default/get.js.map +1 -0
- package/dist/commands/{project → cicd/project}/default/set.d.ts +2 -2
- package/dist/commands/{project → cicd/project}/default/set.js +4 -4
- package/dist/commands/cicd/project/default/set.js.map +1 -0
- package/dist/commands/{project → cicd/project}/default/unset.d.ts +2 -2
- package/dist/commands/{project → cicd/project}/default/unset.js +4 -4
- package/dist/commands/cicd/project/default/unset.js.map +1 -0
- package/dist/commands/{project → cicd/project}/get.d.ts +2 -2
- package/dist/commands/{project → cicd/project}/get.js +3 -3
- package/dist/commands/cicd/project/get.js.map +1 -0
- package/dist/commands/{project → cicd/project}/list.d.ts +3 -3
- package/dist/commands/{project → cicd/project}/list.js +5 -5
- package/dist/commands/cicd/project/list.js.map +1 -0
- package/dist/commands/{project → cicd/project}/open.d.ts +1 -1
- package/dist/commands/{project → cicd/project}/open.js +4 -4
- package/dist/commands/cicd/project/open.js.map +1 -0
- package/dist/commands/{promotion → cicd/promotion}/conflict/get.d.ts +1 -1
- package/dist/commands/{promotion → cicd/promotion}/conflict/get.js +3 -3
- package/dist/commands/cicd/promotion/conflict/get.js.map +1 -0
- package/dist/commands/{promotion → cicd/promotion}/conflict/list.d.ts +2 -2
- package/dist/commands/{promotion → cicd/promotion}/conflict/list.js +3 -3
- package/dist/commands/cicd/promotion/conflict/list.js.map +1 -0
- package/dist/commands/{promotion → cicd/promotion}/conflict/resolve.d.ts +2 -2
- package/dist/commands/{promotion → cicd/promotion}/conflict/resolve.js +3 -3
- package/dist/commands/cicd/promotion/conflict/resolve.js.map +1 -0
- package/dist/commands/{promotion → cicd/promotion}/conflict/unresolve.d.ts +2 -2
- package/dist/commands/{promotion → cicd/promotion}/conflict/unresolve.js +3 -3
- package/dist/commands/cicd/promotion/conflict/unresolve.js.map +1 -0
- package/dist/commands/{promotion → cicd/promotion}/get.d.ts +2 -2
- package/dist/commands/{promotion → cicd/promotion}/get.js +3 -3
- package/dist/commands/cicd/promotion/get.js.map +1 -0
- package/dist/commands/{promotion → cicd/promotion}/list.d.ts +3 -3
- package/dist/commands/{promotion → cicd/promotion}/list.js +5 -5
- package/dist/commands/cicd/promotion/list.js.map +1 -0
- package/dist/commands/{promotion → cicd/promotion}/open.d.ts +1 -1
- package/dist/commands/{promotion → cicd/promotion}/open.js +3 -3
- package/dist/commands/cicd/promotion/open.js.map +1 -0
- package/dist/commands/{user → cicd/user}/get.d.ts +2 -2
- package/dist/commands/{user → cicd/user}/get.js +3 -3
- package/dist/commands/cicd/user/get.js.map +1 -0
- package/dist/commands/{work → cicd/work}/create.d.ts +2 -2
- package/dist/commands/{work → cicd/work}/create.js +7 -7
- package/dist/commands/cicd/work/create.js.map +1 -0
- package/dist/commands/{work → cicd/work}/delete.d.ts +1 -1
- package/dist/commands/{work → cicd/work}/delete.js +3 -3
- package/dist/commands/cicd/work/delete.js.map +1 -0
- package/dist/commands/{work → cicd/work}/done.d.ts +2 -2
- package/dist/commands/{work → cicd/work}/done.js +9 -9
- package/dist/commands/cicd/work/done.js.map +1 -0
- package/dist/commands/{work → cicd/work}/get.d.ts +2 -2
- package/dist/commands/{work → cicd/work}/get.js +5 -5
- package/dist/commands/cicd/work/get.js.map +1 -0
- package/dist/commands/{work → cicd/work}/list.d.ts +3 -3
- package/dist/commands/{work → cicd/work}/list.js +6 -6
- package/dist/commands/cicd/work/list.js.map +1 -0
- package/dist/commands/{work → cicd/work}/open.d.ts +1 -1
- package/dist/commands/{work → cicd/work}/open.js +5 -5
- package/dist/commands/cicd/work/open.js.map +1 -0
- package/dist/commands/{work → cicd/work}/push.d.ts +2 -2
- package/dist/commands/{work → cicd/work}/push.js +9 -9
- package/dist/commands/cicd/work/push.js.map +1 -0
- package/dist/commands/{work → cicd/work}/set.d.ts +2 -2
- package/dist/commands/{work → cicd/work}/set.js +6 -6
- package/dist/commands/cicd/work/set.js.map +1 -0
- package/dist/commands/{work → cicd/work}/status.d.ts +2 -2
- package/dist/commands/{work → cicd/work}/status.js +7 -7
- package/dist/commands/cicd/work/status.js.map +1 -0
- package/dist/commands/{work → cicd/work}/submit.d.ts +3 -2
- package/dist/commands/{work → cicd/work}/submit.js +30 -13
- package/dist/commands/cicd/work/submit.js.map +1 -0
- package/dist/commands/cicd/work/test.d.ts +14 -0
- package/dist/commands/cicd/work/test.js +102 -0
- package/dist/commands/cicd/work/test.js.map +1 -0
- package/dist/commands/{work → cicd/work}/update.d.ts +2 -2
- package/dist/commands/{work → cicd/work}/update.js +8 -8
- package/dist/commands/cicd/work/update.js.map +1 -0
- package/dist/commands/setup.d.ts +1 -1
- package/dist/commands/setup.js +16 -7
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/testing/job/create.d.ts +7 -0
- package/dist/commands/testing/job/create.js +11 -2
- package/dist/commands/testing/job/create.js.map +1 -1
- package/dist/commands/testing/job/update.d.ts +7 -0
- package/dist/commands/testing/job/update.js +14 -2
- package/dist/commands/testing/job/update.js.map +1 -1
- package/dist/lib/auth-config.d.ts +62 -0
- package/dist/lib/auth-config.js +246 -0
- package/dist/lib/auth-config.js.map +1 -0
- package/dist/lib/cicd-gateway.js +16 -1
- package/dist/lib/cicd-gateway.js.map +1 -1
- package/dist/lib/credential-store.d.ts +3 -0
- package/dist/lib/credential-store.js +9 -0
- package/dist/lib/credential-store.js.map +1 -1
- package/dist/lib/cursor-mcp-config.d.ts +62 -0
- package/dist/lib/cursor-mcp-config.js +173 -0
- package/dist/lib/cursor-mcp-config.js.map +1 -0
- package/dist/lib/debug.d.ts +3 -0
- package/dist/lib/debug.js +23 -0
- package/dist/lib/debug.js.map +1 -0
- package/dist/lib/local-quality-gates.d.ts +3 -0
- package/dist/lib/local-quality-gates.js +10 -4
- package/dist/lib/local-quality-gates.js.map +1 -1
- package/dist/lib/mcp/testing-tools.d.ts +14 -0
- package/dist/lib/mcp/testing-tools.js +32 -4
- package/dist/lib/mcp/testing-tools.js.map +1 -1
- package/dist/lib/mcp/tools.d.ts +23 -0
- package/dist/lib/mcp/tools.js +15 -39
- package/dist/lib/mcp/tools.js.map +1 -1
- package/dist/lib/mcp/work-tools.d.ts +2 -0
- package/dist/lib/mcp/work-tools.js +61 -25
- package/dist/lib/mcp/work-tools.js.map +1 -1
- package/dist/lib/project-default-id.js +2 -2
- package/dist/lib/project-default-id.js.map +1 -1
- package/dist/lib/project-setup.d.ts +16 -14
- package/dist/lib/project-setup.js +101 -145
- package/dist/lib/project-setup.js.map +1 -1
- package/dist/lib/setup-prompts.d.ts +30 -0
- package/dist/lib/setup-prompts.js +13 -0
- package/dist/lib/setup-prompts.js.map +1 -0
- package/dist/lib/setup-templates.d.ts +3 -3
- package/dist/lib/setup-templates.js +58 -31
- package/dist/lib/setup-templates.js.map +1 -1
- package/dist/lib/setup-wizard.d.ts +42 -0
- package/dist/lib/setup-wizard.js +422 -0
- package/dist/lib/setup-wizard.js.map +1 -0
- package/dist/lib/testing-config.d.ts +4 -2
- package/dist/lib/testing-config.js +23 -3
- package/dist/lib/testing-config.js.map +1 -1
- package/dist/lib/testing-flags.d.ts +9 -0
- package/dist/lib/testing-flags.js +24 -0
- package/dist/lib/testing-flags.js.map +1 -1
- package/dist/lib/testing-gateway.d.ts +13 -0
- package/dist/lib/testing-gateway.js +67 -1
- package/dist/lib/testing-gateway.js.map +1 -1
- package/dist/lib/testing-operations.d.ts +17 -1
- package/dist/lib/testing-operations.js +76 -5
- package/dist/lib/testing-operations.js.map +1 -1
- package/dist/lib/testing-types.d.ts +24 -4
- package/dist/lib/testing-types.js.map +1 -1
- package/dist/lib/work-active.js +2 -2
- package/dist/lib/work-active.js.map +1 -1
- package/dist/lib/work-local-run-tests.d.ts +22 -0
- package/dist/lib/work-local-run-tests.js +56 -0
- package/dist/lib/work-local-run-tests.js.map +1 -0
- package/dist/lib/work-types.d.ts +7 -0
- package/dist/lib/work-types.js +3 -0
- package/dist/lib/work-types.js.map +1 -1
- package/oclif.manifest.json +3258 -3034
- package/package.json +42 -11
- package/dist/commands/environment/auth/status.js.map +0 -1
- package/dist/commands/environment/auth/web/login.js.map +0 -1
- package/dist/commands/environment/create.js.map +0 -1
- package/dist/commands/environment/get.js.map +0 -1
- package/dist/commands/environment/list.js.map +0 -1
- package/dist/commands/environment/open.js.map +0 -1
- package/dist/commands/environment/update.js.map +0 -1
- package/dist/commands/job/get.js.map +0 -1
- package/dist/commands/job/kill.js.map +0 -1
- package/dist/commands/job/list.js.map +0 -1
- package/dist/commands/job/log/get.js.map +0 -1
- package/dist/commands/job/open.js.map +0 -1
- package/dist/commands/job/pause.js.map +0 -1
- package/dist/commands/job/resume.js.map +0 -1
- package/dist/commands/job/run.js.map +0 -1
- package/dist/commands/metadata/content/compare.js.map +0 -1
- package/dist/commands/metadata/content/get.js.map +0 -1
- package/dist/commands/metadata/dependency/list.js.map +0 -1
- package/dist/commands/metadata/index/compare.js.map +0 -1
- package/dist/commands/metadata/list.js.map +0 -1
- package/dist/commands/metadata/refresh/deleted.js.map +0 -1
- package/dist/commands/metadata/refresh/run.js.map +0 -1
- package/dist/commands/metadata/refresh/status.js.map +0 -1
- package/dist/commands/pipeline/connection/list.js.map +0 -1
- package/dist/commands/pipeline/get.js.map +0 -1
- package/dist/commands/pipeline/list.js.map +0 -1
- package/dist/commands/pipeline/open.js.map +0 -1
- package/dist/commands/project/default/get.js.map +0 -1
- package/dist/commands/project/default/set.js.map +0 -1
- package/dist/commands/project/default/unset.js.map +0 -1
- package/dist/commands/project/get.js.map +0 -1
- package/dist/commands/project/list.js.map +0 -1
- package/dist/commands/project/open.js.map +0 -1
- package/dist/commands/promotion/conflict/get.js.map +0 -1
- package/dist/commands/promotion/conflict/list.js.map +0 -1
- package/dist/commands/promotion/conflict/resolve.js.map +0 -1
- package/dist/commands/promotion/conflict/unresolve.js.map +0 -1
- package/dist/commands/promotion/get.js.map +0 -1
- package/dist/commands/promotion/list.js.map +0 -1
- package/dist/commands/promotion/open.js.map +0 -1
- package/dist/commands/user/get.js.map +0 -1
- package/dist/commands/work/create.js.map +0 -1
- package/dist/commands/work/delete.js.map +0 -1
- package/dist/commands/work/done.js.map +0 -1
- package/dist/commands/work/get.js.map +0 -1
- package/dist/commands/work/list.js.map +0 -1
- package/dist/commands/work/open.js.map +0 -1
- package/dist/commands/work/push.js.map +0 -1
- package/dist/commands/work/set.js.map +0 -1
- package/dist/commands/work/status.js.map +0 -1
- package/dist/commands/work/submit.js.map +0 -1
- package/dist/commands/work/test.d.ts +0 -10
- package/dist/commands/work/test.js +0 -61
- package/dist/commands/work/test.js.map +0 -1
- 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,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
|
|
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":"AAAA,OAAO,EAAoB,KAAK,EAAC,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAA;AAClC,OAAO,EAAC,QAAQ,IAAI,UAAU,EAAC,MAAM,SAAS,CAAA;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,4BAA4B,CAAA;AAExE,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/B,QAAQ,CAAQ;IAChB,MAAM,CAAQ;IACd,UAAU,CAAQ;IAElC,YAAmB,OAAe,EAAE,OAA+D;QACjG,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IACtC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"local-quality-gates.js","sourceRoot":"","sources":["../../src/lib/local-quality-gates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,EAAC,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAA;AAClC,OAAO,EAAC,QAAQ,IAAI,UAAU,EAAC,MAAM,SAAS,CAAA;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,4BAA4B,CAAA;AACxE,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAA;AAExE,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/B,QAAQ,CAAQ;IAChB,MAAM,CAAQ;IACd,UAAU,CAAQ;IAElC,YAAmB,OAAe,EAAE,OAA+D;QACjG,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IACtC,CAAC;CACF;AA+BD,IAAI,OAAO,GAAY,KAAgB,CAAA;AACvC,IAAI,YAAY,GAAkC,UAAU,CAAA;AAE5D,iBAAiB;AACjB,MAAM,UAAU,iCAAiC,CAAC,SAA8B;IAC9E,OAAO,GAAG,SAAS,IAAK,KAAiB,CAAA;AAC3C,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,sCAAsC,CAAC,UAAuD;IAC5G,YAAY,GAAG,UAAU,IAAI,UAAU,CAAA;AACzC,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,8BAA8B;IAC5C,OAAO,GAAG,KAAgB,CAAA;IAC1B,YAAY,GAAG,UAAU,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,kBAAmC,UAAU,EAAE;IACpF,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,yBAAyB,CAAA;AAC/F,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAA8B,EAAE;IAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACrC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAA;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,YAAY,CAAA;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAA;IAC1E,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAkB,EAClB,kBAAmC,UAAU,EAAE;IAE/C,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAC,CAAA;IACvD,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAC,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAoD,EAAE;IAEtD,MAAM,UAAU,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAA;IAC1D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,CAAA;IACrC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,EAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAC,CAAA;IAChD,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAA;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAA;IACzC,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ;QAChB,CAAC,CAAC,KAAa,EAAE,EAAE;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;IAEJ,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,wBAAwB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;IAC7E,MAAM,GAAG,GAAsB,EAAC,GAAG,OAAO,CAAC,GAAG,EAAC,CAAA;IAC/C,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,eAAe,CAAA;IAC9D,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE;YACpC,GAAG;YACH,GAAG;YACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,sFAAsF;QACtF,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAQ,EAAE;YAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;YAC7B,MAAM,IAAI,IAAI,CAAA;YACd,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC,CAAA;QAED,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAEhC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,CACJ,IAAI,sBAAsB,CACxB,+CAA+C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,EAC7F,EAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAC,CAClC,CACF,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACjE,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,CACJ,IAAI,sBAAsB,CACxB;oBACE,oCAAoC,QAAQ,mBAAmB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;oBAC5F,uDAAuD;iBACxD,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAC,CAC/B,CACF,CAAA;gBACD,OAAM;YACR,CAAC;YAED,OAAO,CAAC;gBACN,QAAQ;gBACR,MAAM;gBACN,GAAG,EAAE,IAAI;gBACT,UAAU;gBACV,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -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
|
|
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
|
|
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',
|