@copado/agentia-cli 0.111.0-alpha.0 → 0.113.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 +1965 -410
- package/dist/commands/testing/build/abort.d.ts +7 -1
- package/dist/commands/testing/build/abort.js +13 -3
- package/dist/commands/testing/build/abort.js.map +1 -1
- package/dist/commands/testing/build/get.d.ts +18 -0
- package/dist/commands/testing/build/get.js +38 -0
- package/dist/commands/testing/build/get.js.map +1 -0
- package/dist/commands/testing/build/latest.d.ts +12 -0
- package/dist/commands/testing/build/latest.js +40 -0
- package/dist/commands/testing/build/latest.js.map +1 -0
- package/dist/commands/testing/build/list.d.ts +6 -1
- package/dist/commands/testing/build/list.js +23 -1
- package/dist/commands/testing/build/list.js.map +1 -1
- package/dist/commands/testing/build/logs.d.ts +6 -0
- package/dist/commands/testing/build/logs.js +8 -1
- package/dist/commands/testing/build/logs.js.map +1 -1
- package/dist/commands/testing/build/run.d.ts +27 -4
- package/dist/commands/testing/build/run.js +4 -18
- package/dist/commands/testing/build/run.js.map +1 -1
- package/dist/commands/testing/build/search.d.ts +21 -0
- package/dist/commands/testing/build/search.js +57 -0
- package/dist/commands/testing/build/search.js.map +1 -0
- package/dist/commands/testing/create.d.ts +1 -15
- package/dist/commands/testing/create.js +1 -43
- package/dist/commands/testing/create.js.map +1 -1
- package/dist/commands/testing/data-table/create.d.ts +30 -0
- package/dist/commands/testing/data-table/create.js +52 -0
- package/dist/commands/testing/data-table/create.js.map +1 -0
- package/dist/commands/testing/data-table/delete.d.ts +25 -0
- package/dist/commands/testing/data-table/delete.js +40 -0
- package/dist/commands/testing/data-table/delete.js.map +1 -0
- package/dist/commands/testing/data-table/export.d.ts +33 -0
- package/dist/commands/testing/data-table/export.js +59 -0
- package/dist/commands/testing/data-table/export.js.map +1 -0
- package/dist/commands/testing/data-table/get.d.ts +21 -0
- package/dist/commands/testing/data-table/get.js +35 -0
- package/dist/commands/testing/data-table/get.js.map +1 -0
- package/dist/commands/testing/data-table/list.d.ts +16 -0
- package/dist/commands/testing/data-table/list.js +33 -0
- package/dist/commands/testing/data-table/list.js.map +1 -0
- package/dist/commands/testing/data-table/update.d.ts +34 -0
- package/dist/commands/testing/data-table/update.js +64 -0
- package/dist/commands/testing/data-table/update.js.map +1 -0
- package/dist/commands/testing/job/create.d.ts +18 -0
- package/dist/commands/testing/job/create.js +60 -4
- package/dist/commands/testing/job/create.js.map +1 -1
- package/dist/commands/testing/job/delete.d.ts +6 -1
- package/dist/commands/testing/job/delete.js +13 -3
- package/dist/commands/testing/job/delete.js.map +1 -1
- package/dist/commands/testing/job/refs.d.ts +17 -0
- package/dist/commands/testing/job/refs.js +30 -0
- package/dist/commands/testing/job/refs.js.map +1 -0
- package/dist/commands/testing/job/schedule/get.d.ts +23 -0
- package/dist/commands/testing/job/schedule/get.js +31 -0
- package/dist/commands/testing/job/schedule/get.js.map +1 -0
- package/dist/commands/testing/job/schedule/remove.d.ts +24 -0
- package/dist/commands/testing/job/schedule/remove.js +34 -0
- package/dist/commands/testing/job/schedule/remove.js.map +1 -0
- package/dist/commands/testing/job/schedule/set.d.ts +23 -0
- package/dist/commands/testing/job/schedule/set.js +39 -0
- package/dist/commands/testing/job/schedule/set.js.map +1 -0
- package/dist/commands/testing/job/update.d.ts +2 -0
- package/dist/commands/testing/job/update.js +7 -1
- package/dist/commands/testing/job/update.js.map +1 -1
- package/dist/commands/testing/job/upload.d.ts +6 -0
- package/dist/commands/testing/job/upload.js +22 -0
- package/dist/commands/testing/job/upload.js.map +1 -1
- package/dist/commands/testing/live/continue.d.ts +20 -0
- package/dist/commands/testing/live/continue.js +21 -0
- package/dist/commands/testing/live/continue.js.map +1 -0
- package/dist/commands/testing/live/execute.d.ts +30 -0
- package/dist/commands/testing/live/execute.js +43 -0
- package/dist/commands/testing/live/execute.js.map +1 -0
- package/dist/commands/testing/live/history.d.ts +23 -0
- package/dist/commands/testing/live/history.js +35 -0
- package/dist/commands/testing/live/history.js.map +1 -0
- package/dist/commands/testing/live/inspect.d.ts +18 -0
- package/dist/commands/testing/live/inspect.js +30 -0
- package/dist/commands/testing/live/inspect.js.map +1 -0
- package/dist/commands/testing/live/interrupt.d.ts +20 -0
- package/dist/commands/testing/live/interrupt.js +21 -0
- package/dist/commands/testing/live/interrupt.js.map +1 -0
- package/dist/commands/testing/live/recorder.d.ts +23 -0
- package/dist/commands/testing/live/recorder.js +134 -0
- package/dist/commands/testing/live/recorder.js.map +1 -0
- package/dist/commands/testing/live/reports.d.ts +20 -0
- package/dist/commands/testing/live/reports.js +31 -0
- package/dist/commands/testing/live/reports.js.map +1 -0
- package/dist/commands/testing/live/screenshot.d.ts +23 -0
- package/dist/commands/testing/live/screenshot.js +25 -0
- package/dist/commands/testing/live/screenshot.js.map +1 -0
- package/dist/commands/testing/live/set-options.d.ts +27 -0
- package/dist/commands/testing/live/set-options.js +28 -0
- package/dist/commands/testing/live/set-options.js.map +1 -0
- package/dist/commands/testing/live/start.d.ts +29 -0
- package/dist/commands/testing/live/start.js +53 -0
- package/dist/commands/testing/live/start.js.map +1 -0
- package/dist/commands/testing/live/status.d.ts +19 -0
- package/dist/commands/testing/live/status.js +27 -0
- package/dist/commands/testing/live/status.js.map +1 -0
- package/dist/commands/testing/live/stop.d.ts +24 -0
- package/dist/commands/testing/live/stop.js +38 -0
- package/dist/commands/testing/live/stop.js.map +1 -0
- package/dist/commands/testing/live/view.d.ts +16 -0
- package/dist/commands/testing/live/view.js +36 -0
- package/dist/commands/testing/live/view.js.map +1 -0
- package/dist/commands/testing/logs.d.ts +6 -0
- package/dist/commands/testing/logs.js +8 -1
- package/dist/commands/testing/logs.js.map +1 -1
- package/dist/commands/testing/project/create.d.ts +3 -0
- package/dist/commands/testing/project/create.js +17 -1
- package/dist/commands/testing/project/create.js.map +1 -1
- package/dist/commands/testing/project/delete.d.ts +7 -2
- package/dist/commands/testing/project/delete.js +15 -3
- package/dist/commands/testing/project/delete.js.map +1 -1
- package/dist/commands/testing/project/get.js +1 -1
- package/dist/commands/testing/project/get.js.map +1 -1
- package/dist/commands/testing/project/permission/get.d.ts +13 -0
- package/dist/commands/testing/project/permission/get.js +21 -0
- package/dist/commands/testing/project/permission/get.js.map +1 -0
- package/dist/commands/testing/project/permission/list.d.ts +13 -0
- package/dist/commands/testing/project/permission/list.js +21 -0
- package/dist/commands/testing/project/permission/list.js.map +1 -0
- package/dist/commands/testing/project/permission/set.d.ts +19 -0
- package/dist/commands/testing/project/permission/set.js +33 -0
- package/dist/commands/testing/project/permission/set.js.map +1 -0
- package/dist/commands/testing/project/permission/update.d.ts +19 -0
- package/dist/commands/testing/project/permission/update.js +33 -0
- package/dist/commands/testing/project/permission/update.js.map +1 -0
- package/dist/commands/testing/project/update.d.ts +14 -0
- package/dist/commands/testing/project/update.js +28 -0
- package/dist/commands/testing/project/update.js.map +1 -0
- package/dist/commands/testing/robot/create.d.ts +4 -1
- package/dist/commands/testing/robot/create.js +20 -5
- package/dist/commands/testing/robot/create.js.map +1 -1
- package/dist/commands/testing/robot/delete.d.ts +6 -1
- package/dist/commands/testing/robot/delete.js +13 -3
- package/dist/commands/testing/robot/delete.js.map +1 -1
- package/dist/commands/testing/robot/update.d.ts +19 -0
- package/dist/commands/testing/robot/update.js +49 -0
- package/dist/commands/testing/robot/update.js.map +1 -0
- package/dist/commands/testing/run.d.ts +27 -4
- package/dist/commands/testing/run.js +4 -11
- package/dist/commands/testing/run.js.map +1 -1
- package/dist/commands/testing/test/run.d.ts +27 -11
- package/dist/commands/testing/test/run.js +5 -37
- package/dist/commands/testing/test/run.js.map +1 -1
- package/dist/commands/testing/update.d.ts +6 -0
- package/dist/commands/testing/update.js +10 -0
- package/dist/commands/testing/update.js.map +1 -1
- package/dist/commands/testing/user-parameter/create.d.ts +19 -0
- package/dist/commands/testing/user-parameter/create.js +45 -0
- package/dist/commands/testing/user-parameter/create.js.map +1 -0
- package/dist/commands/testing/user-parameter/delete.d.ts +21 -0
- package/dist/commands/testing/user-parameter/delete.js +33 -0
- package/dist/commands/testing/user-parameter/delete.js.map +1 -0
- package/dist/commands/testing/user-parameter/get.d.ts +13 -0
- package/dist/commands/testing/user-parameter/get.js +21 -0
- package/dist/commands/testing/user-parameter/get.js.map +1 -0
- package/dist/commands/testing/user-parameter/list.d.ts +12 -0
- package/dist/commands/testing/user-parameter/list.js +23 -0
- package/dist/commands/testing/user-parameter/list.js.map +1 -0
- package/dist/commands/testing/user-parameter/update.d.ts +23 -0
- package/dist/commands/testing/user-parameter/update.js +45 -0
- package/dist/commands/testing/user-parameter/update.js.map +1 -0
- package/dist/commands/testing/variable/create.d.ts +6 -2
- package/dist/commands/testing/variable/create.js +14 -5
- package/dist/commands/testing/variable/create.js.map +1 -1
- package/dist/commands/testing/variable/delete.d.ts +6 -1
- package/dist/commands/testing/variable/delete.js +13 -3
- package/dist/commands/testing/variable/delete.js.map +1 -1
- package/dist/commands/testing/variable/get.d.ts +13 -0
- package/dist/commands/testing/variable/get.js +25 -0
- package/dist/commands/testing/variable/get.js.map +1 -0
- package/dist/commands/testing/variable/list.d.ts +4 -0
- package/dist/commands/testing/variable/list.js +15 -3
- package/dist/commands/testing/variable/list.js.map +1 -1
- package/dist/commands/testing/variable/update.d.ts +6 -2
- package/dist/commands/testing/variable/update.js +11 -5
- package/dist/commands/testing/variable/update.js.map +1 -1
- package/dist/lib/ai-gateway.js +2 -0
- package/dist/lib/ai-gateway.js.map +1 -1
- package/dist/lib/cicd-gateway.d.ts +4 -2
- package/dist/lib/cicd-gateway.js +14 -0
- package/dist/lib/cicd-gateway.js.map +1 -1
- package/dist/lib/credential-store.d.ts +3 -0
- package/dist/lib/credential-store.js +16 -0
- package/dist/lib/credential-store.js.map +1 -1
- package/dist/lib/mcp/command-id.js +3 -0
- package/dist/lib/mcp/command-id.js.map +1 -1
- package/dist/lib/mcp/testing-live-tools.d.ts +126 -0
- package/dist/lib/mcp/testing-live-tools.js +215 -0
- package/dist/lib/mcp/testing-live-tools.js.map +1 -0
- package/dist/lib/mcp/testing-tools.d.ts +455 -9
- package/dist/lib/mcp/testing-tools.js +677 -37
- package/dist/lib/mcp/testing-tools.js.map +1 -1
- package/dist/lib/mcp/tools.d.ts +551 -14
- package/dist/lib/testing-config.d.ts +3 -0
- package/dist/lib/testing-config.js +9 -0
- package/dist/lib/testing-config.js.map +1 -1
- package/dist/lib/testing-confirmation.d.ts +14 -0
- package/dist/lib/testing-confirmation.js +17 -0
- package/dist/lib/testing-confirmation.js.map +1 -0
- package/dist/lib/testing-data-command.d.ts +21 -0
- package/dist/lib/testing-data-command.js +49 -0
- package/dist/lib/testing-data-command.js.map +1 -0
- package/dist/lib/testing-data-core.d.ts +22 -0
- package/dist/lib/testing-data-core.js +208 -0
- package/dist/lib/testing-data-core.js.map +1 -0
- package/dist/lib/testing-data-export.d.ts +1 -0
- package/dist/lib/testing-data-export.js +2 -0
- package/dist/lib/testing-data-export.js.map +1 -0
- package/dist/lib/testing-data-import.d.ts +1 -0
- package/dist/lib/testing-data-import.js +2 -0
- package/dist/lib/testing-data-import.js.map +1 -0
- package/dist/lib/testing-data-io.d.ts +21 -0
- package/dist/lib/testing-data-io.js +236 -0
- package/dist/lib/testing-data-io.js.map +1 -0
- package/dist/lib/testing-data-operations.d.ts +36 -0
- package/dist/lib/testing-data-operations.js +91 -0
- package/dist/lib/testing-data-operations.js.map +1 -0
- package/dist/lib/testing-data-types.d.ts +41 -0
- package/dist/lib/testing-data-types.js +3 -0
- package/dist/lib/testing-data-types.js.map +1 -0
- package/dist/lib/testing-flags.d.ts +62 -1
- package/dist/lib/testing-flags.js +177 -1
- package/dist/lib/testing-flags.js.map +1 -1
- package/dist/lib/testing-gateway.d.ts +17 -3
- package/dist/lib/testing-gateway.js +176 -45
- package/dist/lib/testing-gateway.js.map +1 -1
- package/dist/lib/testing-live-command.d.ts +24 -0
- package/dist/lib/testing-live-command.js +56 -0
- package/dist/lib/testing-live-command.js.map +1 -0
- package/dist/lib/testing-live-endpoints.d.ts +14 -0
- package/dist/lib/testing-live-endpoints.js +34 -0
- package/dist/lib/testing-live-endpoints.js.map +1 -0
- package/dist/lib/testing-live-history.d.ts +11 -0
- package/dist/lib/testing-live-history.js +96 -0
- package/dist/lib/testing-live-history.js.map +1 -0
- package/dist/lib/testing-live-operations.d.ts +118 -0
- package/dist/lib/testing-live-operations.js +676 -0
- package/dist/lib/testing-live-operations.js.map +1 -0
- package/dist/lib/testing-live-recorder.d.ts +14 -0
- package/dist/lib/testing-live-recorder.js +122 -0
- package/dist/lib/testing-live-recorder.js.map +1 -0
- package/dist/lib/testing-live-robot.d.ts +16 -0
- package/dist/lib/testing-live-robot.js +158 -0
- package/dist/lib/testing-live-robot.js.map +1 -0
- package/dist/lib/testing-live-state.d.ts +4 -0
- package/dist/lib/testing-live-state.js +90 -0
- package/dist/lib/testing-live-state.js.map +1 -0
- package/dist/lib/testing-live-types.d.ts +92 -0
- package/dist/lib/testing-live-types.js +2 -0
- package/dist/lib/testing-live-types.js.map +1 -0
- package/dist/lib/testing-operations.d.ts +157 -5
- package/dist/lib/testing-operations.js +830 -66
- package/dist/lib/testing-operations.js.map +1 -1
- package/dist/lib/testing-run-command.d.ts +25 -0
- package/dist/lib/testing-run-command.js +94 -0
- package/dist/lib/testing-run-command.js.map +1 -0
- package/dist/lib/testing-sanitization.d.ts +11 -0
- package/dist/lib/testing-sanitization.js +135 -0
- package/dist/lib/testing-sanitization.js.map +1 -0
- package/dist/lib/testing-schedule.d.ts +23 -0
- package/dist/lib/testing-schedule.js +48 -0
- package/dist/lib/testing-schedule.js.map +1 -0
- package/dist/lib/testing-secret-input.d.ts +12 -0
- package/dist/lib/testing-secret-input.js +56 -0
- package/dist/lib/testing-secret-input.js.map +1 -0
- package/dist/lib/testing-session.d.ts +8 -0
- package/dist/lib/testing-session.js +82 -0
- package/dist/lib/testing-session.js.map +1 -0
- package/dist/lib/testing-types.d.ts +143 -13
- package/dist/lib/testing-types.js +110 -5
- package/dist/lib/testing-types.js.map +1 -1
- package/dist/lib/testing-watch.d.ts +4 -0
- package/dist/lib/testing-watch.js +45 -0
- package/dist/lib/testing-watch.js.map +1 -0
- package/oclif.manifest.json +8721 -4127
- package/package.json +12 -1
- package/templates/skills/agentia-testing/SKILL.md +9 -6
- package/templates/skills/agentia-testing/references/tests.md +70 -36
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
|
+
export default class TestingLiveStatus extends AgentiaCommand {
|
|
3
|
+
static args: {
|
|
4
|
+
'job-id': import("@oclif/core/interfaces").Arg<number | undefined, {
|
|
5
|
+
max?: number;
|
|
6
|
+
min?: number;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
static description: string;
|
|
10
|
+
static examples: string[];
|
|
11
|
+
static flags: {
|
|
12
|
+
project: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'session-id': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<{
|
|
16
|
+
metadata: import("../../../lib/testing-live-types.js").TestingLiveMetadata;
|
|
17
|
+
status: import("../../../lib/testing-live-types.js").TestingLiveStatus;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
3
|
+
import { testingLiveCommonFlags } from '../../../lib/testing-live-command.js';
|
|
4
|
+
import { getTestingLiveStatus } from '../../../lib/testing-live-operations.js';
|
|
5
|
+
export default class TestingLiveStatus extends AgentiaCommand {
|
|
6
|
+
static args = {
|
|
7
|
+
'job-id': Args.integer({ description: 'Optional CRT job/test ID guard.', required: false }),
|
|
8
|
+
};
|
|
9
|
+
static description = 'Inspect sanitized status for the active CRT live session';
|
|
10
|
+
static examples = ['<%= config.bin %> <%= command.id %> --project <project-id> --json'];
|
|
11
|
+
static flags = testingLiveCommonFlags;
|
|
12
|
+
async run() {
|
|
13
|
+
const { args, flags } = await this.parse(TestingLiveStatus);
|
|
14
|
+
const result = await this.withSpinner('Reading CRT live status', () => getTestingLiveStatus({
|
|
15
|
+
jobId: args['job-id'],
|
|
16
|
+
projectId: flags.project,
|
|
17
|
+
sessionId: flags['session-id'],
|
|
18
|
+
}));
|
|
19
|
+
this.display(() => {
|
|
20
|
+
this.log(`Session: ${result.metadata.sessionId} (${result.metadata.status})`);
|
|
21
|
+
this.log(`Browser started: ${result.status.env.isBrowserStarted}`);
|
|
22
|
+
this.log(`Executor running: ${result.status.session.isRobotExecutorRunning}`);
|
|
23
|
+
});
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/commands/testing/live/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,sBAAsB,EAAC,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAC,oBAAoB,EAAC,MAAM,yCAAyC,CAAA;AAE5E,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,cAAc;IAC3D,MAAM,CAAU,IAAI,GAAG;QACrB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC;KAC1F,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,0DAA0D,CAAA;IACxF,MAAM,CAAU,QAAQ,GAAG,CAAC,mEAAmE,CAAC,CAAA;IAChG,MAAM,CAAU,KAAK,GAAG,sBAAsB,CAAA;IAEvC,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,EAAE,CACpE,oBAAoB,CAAC;YACnB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACrB,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;SAC/B,CAAC,CACH,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;YAC7E,IAAI,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAA;QAC/E,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
|
+
export default class TestingLiveStop extends AgentiaCommand {
|
|
3
|
+
static args: {
|
|
4
|
+
'job-id': import("@oclif/core/interfaces").Arg<number | undefined, {
|
|
5
|
+
max?: number;
|
|
6
|
+
min?: number;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
static description: string;
|
|
10
|
+
static examples: string[];
|
|
11
|
+
static flags: {
|
|
12
|
+
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
project: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'session-id': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<{
|
|
17
|
+
jobId: number;
|
|
18
|
+
projectId: number;
|
|
19
|
+
sessionId: number;
|
|
20
|
+
stopped: true;
|
|
21
|
+
} | {
|
|
22
|
+
stopped: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
3
|
+
import { confirmTestingAction } from '../../../lib/testing-confirmation.js';
|
|
4
|
+
import { testingLiveCommonFlags } from '../../../lib/testing-live-command.js';
|
|
5
|
+
import { stopTestingLive } from '../../../lib/testing-live-operations.js';
|
|
6
|
+
export default class TestingLiveStop extends AgentiaCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
'job-id': Args.integer({ description: 'Optional CRT job/test ID guard.', required: false }),
|
|
9
|
+
};
|
|
10
|
+
static description = 'Stop the active Copado Robotic Testing live session';
|
|
11
|
+
static examples = [
|
|
12
|
+
'<%= config.bin %> <%= command.id %> --project <project-id>',
|
|
13
|
+
'<%= config.bin %> <%= command.id %> <job-id> --project <project-id> --yes --json',
|
|
14
|
+
];
|
|
15
|
+
static flags = {
|
|
16
|
+
...testingLiveCommonFlags,
|
|
17
|
+
yes: Flags.boolean({ char: 'y', default: false, description: 'Confirm live session shutdown.' }),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
const { args, flags } = await this.parse(TestingLiveStop);
|
|
21
|
+
const confirmed = await confirmTestingAction({
|
|
22
|
+
action: 'CRT live session shutdown',
|
|
23
|
+
json: this.jsonEnabled(),
|
|
24
|
+
message: 'Stop the active CRT live session?',
|
|
25
|
+
yes: flags.yes,
|
|
26
|
+
});
|
|
27
|
+
if (!confirmed)
|
|
28
|
+
return { stopped: false };
|
|
29
|
+
const result = await this.withSpinner('Stopping CRT live session', () => stopTestingLive({
|
|
30
|
+
jobId: args['job-id'],
|
|
31
|
+
projectId: flags.project,
|
|
32
|
+
sessionId: flags['session-id'],
|
|
33
|
+
}));
|
|
34
|
+
this.display(() => this.log(`Stopped CRT live session ${result.sessionId}.`));
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=stop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../../src/commands/testing/live/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAC,sBAAsB,EAAC,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,yCAAyC,CAAA;AAEvE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,cAAc;IACzD,MAAM,CAAU,IAAI,GAAG;QACrB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC;KAC1F,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,qDAAqD,CAAA;IACnF,MAAM,CAAU,QAAQ,GAAG;QACzB,4DAA4D;QAC5D,kFAAkF;KACnF,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,sBAAsB;QACzB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gCAAgC,EAAC,CAAC;KAC/F,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC;YAC3C,MAAM,EAAE,2BAA2B;YACnC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;YACxB,OAAO,EAAE,mCAAmC;YAC5C,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAA;QACF,IAAI,CAAC,SAAS;YAAE,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,CAAA;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,GAAG,EAAE,CACtE,eAAe,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACrB,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;SAC/B,CAAC,CACH,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QAC7E,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
|
+
export default class TestingLiveView extends AgentiaCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
'no-open': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
project: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'session-id': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<{
|
|
12
|
+
access: "authenticated-page-only";
|
|
13
|
+
opened: boolean;
|
|
14
|
+
url: string;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
3
|
+
import { openUrl } from '../../../lib/open-browser.js';
|
|
4
|
+
import { testingLiveViewUrl } from '../../../lib/testing-live-operations.js';
|
|
5
|
+
export default class TestingLiveView extends AgentiaCommand {
|
|
6
|
+
static description = 'Open the authenticated CRT run/session page without putting viewer secrets in the URL';
|
|
7
|
+
static examples = [
|
|
8
|
+
'<%= config.bin %> <%= command.id %> --project <project-id>',
|
|
9
|
+
'<%= config.bin %> <%= command.id %> --project <project-id> --no-open --json',
|
|
10
|
+
];
|
|
11
|
+
static flags = {
|
|
12
|
+
interactive: Flags.boolean({ default: false, description: 'Request interactive viewer controls when available.' }),
|
|
13
|
+
'no-open': Flags.boolean({ default: false, description: 'Return the nonsecret URL without opening a browser.' }),
|
|
14
|
+
project: Flags.integer({ char: 'p', description: 'CRT project ID.', required: true }),
|
|
15
|
+
'session-id': Flags.integer({ description: 'Guard that must match the active CRT live session.', min: 1 }),
|
|
16
|
+
};
|
|
17
|
+
async run() {
|
|
18
|
+
const { flags } = await this.parse(TestingLiveView);
|
|
19
|
+
if (this.jsonEnabled() && !flags['no-open']) {
|
|
20
|
+
throw new Error('CRT live view cannot open a browser with --json. Re-run with --no-open.');
|
|
21
|
+
}
|
|
22
|
+
const url = await testingLiveViewUrl({
|
|
23
|
+
interactive: flags.interactive,
|
|
24
|
+
projectId: flags.project,
|
|
25
|
+
sessionId: flags['session-id'],
|
|
26
|
+
});
|
|
27
|
+
if (!flags['no-open'])
|
|
28
|
+
await openUrl(url);
|
|
29
|
+
this.display(() => {
|
|
30
|
+
this.log(url);
|
|
31
|
+
this.warn('Viewer secrets are intentionally not transported in the URL; this opens only the authenticated CRT session page.');
|
|
32
|
+
});
|
|
33
|
+
return { access: 'authenticated-page-only', opened: !flags['no-open'], url };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/commands/testing/live/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAA;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAA;AAE1E,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,cAAc;IACzD,MAAM,CAAU,WAAW,GAAG,uFAAuF,CAAA;IACrH,MAAM,CAAU,QAAQ,GAAG;QACzB,4DAA4D;QAC5D,6EAA6E;KAC9E,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,qDAAqD,EAAC,CAAC;QAChH,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,qDAAqD,EAAC,CAAC;QAC9G,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QACnF,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,oDAAoD,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;KACzG,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACjD,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA;QAC5F,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC;YACnC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;SAC/B,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACb,IAAI,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAA;QAC/H,CAAC,CAAC,CAAA;QACF,OAAO,EAAC,MAAM,EAAE,yBAAkC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,EAAC,CAAA;IACrF,CAAC"}
|
|
@@ -11,6 +11,12 @@ export default class TestingLogs extends AgentiaCommand {
|
|
|
11
11
|
static examples: string[];
|
|
12
12
|
static flags: {
|
|
13
13
|
output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
container: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'limit-bytes': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
pretty: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
'since-seconds': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'tail-lines': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
timestamps: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
20
|
job: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
21
|
project: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
22
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Args } from '@oclif/core';
|
|
2
2
|
import { AgentiaCommand } from '../../lib/agentia-command.js';
|
|
3
|
-
import { testingJobFlag, testingOutputFlags, testingProjectFlag, } from '../../lib/testing-flags.js';
|
|
3
|
+
import { testingJobFlag, testingLogOptionFlags, testingOutputFlags, testingProjectFlag, } from '../../lib/testing-flags.js';
|
|
4
4
|
import { getTestingBuildLogs } from '../../lib/testing-operations.js';
|
|
5
5
|
export default class TestingLogs extends AgentiaCommand {
|
|
6
6
|
static args = {
|
|
@@ -17,15 +17,22 @@ export default class TestingLogs extends AgentiaCommand {
|
|
|
17
17
|
static flags = {
|
|
18
18
|
...testingProjectFlag,
|
|
19
19
|
...testingJobFlag,
|
|
20
|
+
...testingLogOptionFlags,
|
|
20
21
|
...testingOutputFlags,
|
|
21
22
|
};
|
|
22
23
|
async run() {
|
|
23
24
|
const { args, flags } = await this.parse(TestingLogs);
|
|
24
25
|
const result = await this.withSpinner('Fetching testing run logs', () => getTestingBuildLogs({
|
|
25
26
|
buildId: args.id,
|
|
27
|
+
container: flags.container,
|
|
26
28
|
jobId: flags.job,
|
|
29
|
+
limitBytes: flags['limit-bytes'],
|
|
27
30
|
output: flags.output,
|
|
31
|
+
pretty: flags.pretty ? true : undefined,
|
|
28
32
|
projectId: flags.project,
|
|
33
|
+
sinceSeconds: flags['since-seconds'],
|
|
34
|
+
tailLines: flags['tail-lines'],
|
|
35
|
+
timestamps: flags.timestamps ? true : undefined,
|
|
29
36
|
}));
|
|
30
37
|
this.display(() => {
|
|
31
38
|
if (flags.output !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/commands/testing/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAA;AAGnE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,cAAc;IACrD,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;YACf,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,2CAA2C,CAAA;IACzE,MAAM,CAAU,QAAQ,GAAG;QACzB,sFAAsF;QACtF,+GAA+G;KAChH,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,kBAAkB;QACrB,GAAG,cAAc;QACjB,GAAG,kBAAkB;KACtB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,GAAG,EAAE,CACtE,mBAAmB,CAAC;YAClB,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,KAAK,EAAE,KAAK,CAAC,GAAG;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/commands/testing/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAA;AAGnE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,cAAc;IACrD,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;YACf,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,2CAA2C,CAAA;IACzE,MAAM,CAAU,QAAQ,GAAG;QACzB,sFAAsF;QACtF,+GAA+G;KAChH,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,kBAAkB;QACrB,GAAG,cAAc;QACjB,GAAG,qBAAqB;QACxB,GAAG,kBAAkB;KACtB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,GAAG,EAAE,CACtE,mBAAmB,CAAC;YAClB,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,GAAG;YAChB,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;YAChC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACvC,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;YACpC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAChD,CAAC,CACH,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;gBACvD,OAAM;YACR,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -4,8 +4,11 @@ export default class TestingProjectCreate extends AgentiaCommand {
|
|
|
4
4
|
static description: string;
|
|
5
5
|
static examples: string[];
|
|
6
6
|
static flags: {
|
|
7
|
+
'dashboard-id': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
8
|
description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
executor: import("@oclif/core/interfaces").OptionFlag<"jenkins" | "kubernetes" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
10
|
name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
type: import("@oclif/core/interfaces").OptionFlag<"rpa" | "ta", import("@oclif/core/interfaces").CustomOptions>;
|
|
9
12
|
};
|
|
10
13
|
run(): Promise<TestingProject>;
|
|
11
14
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
2
|
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
3
3
|
import { createTestingProject } from '../../../lib/testing-operations.js';
|
|
4
|
-
import { formatTestingRecord } from '../../../lib/testing-types.js';
|
|
4
|
+
import { formatTestingRecord, TESTING_PROJECT_EXECUTORS, TESTING_PROJECT_TYPES, } from '../../../lib/testing-types.js';
|
|
5
5
|
export default class TestingProjectCreate extends AgentiaCommand {
|
|
6
6
|
static description = 'Create a Copado Robotic Testing project';
|
|
7
7
|
static examples = [
|
|
@@ -9,19 +9,35 @@ export default class TestingProjectCreate extends AgentiaCommand {
|
|
|
9
9
|
'<%= config.bin %> <%= command.id %> --name "QA Tests" --description "Smoke suite" --json',
|
|
10
10
|
];
|
|
11
11
|
static flags = {
|
|
12
|
+
'dashboard-id': Flags.integer({
|
|
13
|
+
description: 'Optional CRT dashboard ID.',
|
|
14
|
+
min: 1,
|
|
15
|
+
}),
|
|
12
16
|
description: Flags.string({
|
|
13
17
|
description: 'Project description.',
|
|
14
18
|
}),
|
|
19
|
+
executor: Flags.option({
|
|
20
|
+
description: 'Project execution backend.',
|
|
21
|
+
options: [...TESTING_PROJECT_EXECUTORS],
|
|
22
|
+
})(),
|
|
15
23
|
name: Flags.string({
|
|
16
24
|
description: 'Project name.',
|
|
17
25
|
required: true,
|
|
18
26
|
}),
|
|
27
|
+
type: Flags.option({
|
|
28
|
+
default: 'ta',
|
|
29
|
+
description: 'CRT project type.',
|
|
30
|
+
options: [...TESTING_PROJECT_TYPES],
|
|
31
|
+
})(),
|
|
19
32
|
};
|
|
20
33
|
async run() {
|
|
21
34
|
const { flags } = await this.parse(TestingProjectCreate);
|
|
22
35
|
const project = await this.withSpinner('Creating testing project', () => createTestingProject({
|
|
36
|
+
dashboardId: flags['dashboard-id'],
|
|
23
37
|
description: flags.description,
|
|
24
38
|
name: flags.name,
|
|
39
|
+
projectExecutor: flags.executor,
|
|
40
|
+
projectType: flags.type,
|
|
25
41
|
}));
|
|
26
42
|
this.display(() => {
|
|
27
43
|
this.log('Testing project created');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/testing/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAA;AACvE,OAAO,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/testing/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAA;AACvE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,GAItB,MAAM,+BAA+B,CAAA;AAEtC,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,cAAc;IAC9D,MAAM,CAAU,WAAW,GAAG,yCAAyC,CAAA;IACvE,MAAM,CAAU,QAAQ,GAAG;QACzB,uDAAuD;QACvD,0FAA0F;KAC3F,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5B,WAAW,EAAE,4BAA4B;YACzC,GAAG,EAAE,CAAC;SACP,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,sBAAsB;SACpC,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,CAAC,GAAG,yBAAyB,CAAC;SACxC,CAAC,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE,CAAC,GAAG,qBAAqB,CAAC;SACpC,CAAC,EAAE;KACL,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACtE,oBAAoB,CAAC;YACnB,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,eAAe,EAAE,KAAK,CAAC,QAA8C;YACrE,WAAW,EAAE,KAAK,CAAC,IAA0B;SAC9C,CAAC,CACH,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;YACnC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAChB,CAAC"}
|
|
@@ -12,7 +12,12 @@ export default class TestingProjectDelete extends AgentiaCommand {
|
|
|
12
12
|
};
|
|
13
13
|
static description: string;
|
|
14
14
|
static examples: string[];
|
|
15
|
-
static flags: {
|
|
16
|
-
|
|
15
|
+
static flags: {
|
|
16
|
+
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<TestingProjectDeleteResult | {
|
|
19
|
+
cancelled: true;
|
|
20
|
+
projectId: number;
|
|
21
|
+
}>;
|
|
17
22
|
}
|
|
18
23
|
export {};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Args } from '@oclif/core';
|
|
2
2
|
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
3
|
+
import { confirmTestingAction } from '../../../lib/testing-confirmation.js';
|
|
4
|
+
import { testingYesFlag } from '../../../lib/testing-flags.js';
|
|
3
5
|
import { deleteTestingProject } from '../../../lib/testing-operations.js';
|
|
4
6
|
export default class TestingProjectDelete extends AgentiaCommand {
|
|
5
7
|
static args = {
|
|
@@ -10,12 +12,22 @@ export default class TestingProjectDelete extends AgentiaCommand {
|
|
|
10
12
|
};
|
|
11
13
|
static description = 'Delete a Copado Robotic Testing project';
|
|
12
14
|
static examples = [
|
|
13
|
-
'<%= config.bin %> <%= command.id %> <project-id>',
|
|
14
|
-
'<%= config.bin %> <%= command.id %> <project-id> --json',
|
|
15
|
+
'<%= config.bin %> <%= command.id %> <project-id> --yes',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> <project-id> --yes --json',
|
|
15
17
|
];
|
|
16
|
-
static flags = {
|
|
18
|
+
static flags = {
|
|
19
|
+
...testingYesFlag,
|
|
20
|
+
};
|
|
17
21
|
async run() {
|
|
18
22
|
const { args, flags } = await this.parse(TestingProjectDelete);
|
|
23
|
+
const confirmed = await confirmTestingAction({
|
|
24
|
+
action: 'Project deletion',
|
|
25
|
+
json: this.jsonEnabled(),
|
|
26
|
+
message: `Delete testing project ${args.id}?`,
|
|
27
|
+
yes: flags.yes,
|
|
28
|
+
});
|
|
29
|
+
if (!confirmed)
|
|
30
|
+
return { cancelled: true, projectId: args.id };
|
|
19
31
|
const result = await this.withSpinner('Deleting testing project', () => deleteTestingProject({ projectId: args.id }));
|
|
20
32
|
this.display(() => {
|
|
21
33
|
this.log(`Deleted testing project ${result.projectId}.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/testing/project/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAA;AAOvE,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,cAAc;IAC9D,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;YACf,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,yCAAyC,CAAA;IACvE,MAAM,CAAU,QAAQ,GAAG;QACzB,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/testing/project/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAA;AAOvE,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,cAAc;IAC9D,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;YACf,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,yCAAyC,CAAA;IACvE,MAAM,CAAU,QAAQ,GAAG;QACzB,wDAAwD;QACxD,+DAA+D;KAChE,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,cAAc;KAClB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC;YAC3C,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;YACxB,OAAO,EAAE,0BAA0B,IAAI,CAAC,EAAE,GAAG;YAC7C,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAA;QACF,IAAI,CAAC,SAAS;YAAE,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAC,CAAA;QAE5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACrE,oBAAoB,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CAC3C,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,SAAS,GAAG,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -16,7 +16,7 @@ export default class TestingProjectGet extends AgentiaCommand {
|
|
|
16
16
|
];
|
|
17
17
|
static flags = {};
|
|
18
18
|
async run() {
|
|
19
|
-
const { args
|
|
19
|
+
const { args } = await this.parse(TestingProjectGet);
|
|
20
20
|
const project = await this.withSpinner('Fetching testing project', () => getTestingProject({ projectId: args.id }));
|
|
21
21
|
this.display(() => {
|
|
22
22
|
this.log(formatTestingRecord(project));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/testing/project/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAC,mBAAmB,EAAsB,MAAM,+BAA+B,CAAA;AAEtF,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,cAAc;IAC3D,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,4DAA4D,CAAA;IAC1F,MAAM,CAAU,QAAQ,GAAG;QACzB,kDAAkD;QAClD,yDAAyD;KAC1D,CAAA;IACD,MAAM,CAAU,KAAK,GAAG,EACvB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/testing/project/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAC,mBAAmB,EAAsB,MAAM,+BAA+B,CAAA;AAEtF,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,cAAc;IAC3D,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,4DAA4D,CAAA;IAC1F,MAAM,CAAU,QAAQ,GAAG;QACzB,kDAAkD;QAClD,yDAAyD;KAC1D,CAAA;IACD,MAAM,CAAU,KAAK,GAAG,EACvB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACtE,iBAAiB,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CACxC,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAChB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { type TestingPermission } from '../../../../lib/testing-types.js';
|
|
3
|
+
export default class TestingProjectPermissionGet extends AgentiaCommand {
|
|
4
|
+
static args: {
|
|
5
|
+
project: import("@oclif/core/interfaces").Arg<number, {
|
|
6
|
+
max?: number;
|
|
7
|
+
min?: number;
|
|
8
|
+
}>;
|
|
9
|
+
};
|
|
10
|
+
static description: string;
|
|
11
|
+
static examples: string[];
|
|
12
|
+
run(): Promise<TestingPermission>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
3
|
+
import { getTestingProjectPermission } from '../../../../lib/testing-operations.js';
|
|
4
|
+
import { formatTestingRecord } from '../../../../lib/testing-types.js';
|
|
5
|
+
export default class TestingProjectPermissionGet extends AgentiaCommand {
|
|
6
|
+
static args = {
|
|
7
|
+
project: Args.integer({ description: 'CRT project ID.', required: true }),
|
|
8
|
+
};
|
|
9
|
+
static description = "Get the caller's permission on a Copado Robotic Testing project";
|
|
10
|
+
static examples = [
|
|
11
|
+
'<%= config.bin %> <%= command.id %> <project-id>',
|
|
12
|
+
'<%= config.bin %> <%= command.id %> <project-id> --json',
|
|
13
|
+
];
|
|
14
|
+
async run() {
|
|
15
|
+
const { args } = await this.parse(TestingProjectPermissionGet);
|
|
16
|
+
const result = await this.withSpinner('Fetching testing project permission', () => getTestingProjectPermission({ projectId: args.project }));
|
|
17
|
+
this.display(() => this.log(formatTestingRecord(result)));
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/commands/testing/project/permission/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAA;AACjE,OAAO,EAAC,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAC,mBAAmB,EAAyB,MAAM,kCAAkC,CAAA;AAE5F,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,cAAc;IACrE,MAAM,CAAU,IAAI,GAAG;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KACxE,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,iEAAiE,CAAA;IAC/F,MAAM,CAAU,QAAQ,GAAG;QACzB,kDAAkD;QAClD,yDAAyD;KAC1D,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAChF,2BAA2B,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CACvD,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACzD,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { type TestingPermission } from '../../../../lib/testing-types.js';
|
|
3
|
+
export default class TestingProjectPermissionList extends AgentiaCommand {
|
|
4
|
+
static args: {
|
|
5
|
+
project: import("@oclif/core/interfaces").Arg<number, {
|
|
6
|
+
max?: number;
|
|
7
|
+
min?: number;
|
|
8
|
+
}>;
|
|
9
|
+
};
|
|
10
|
+
static description: string;
|
|
11
|
+
static examples: string[];
|
|
12
|
+
run(): Promise<TestingPermission[]>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
3
|
+
import { listTestingProjectPermissions } from '../../../../lib/testing-operations.js';
|
|
4
|
+
import { formatTestingTable } from '../../../../lib/testing-types.js';
|
|
5
|
+
export default class TestingProjectPermissionList extends AgentiaCommand {
|
|
6
|
+
static args = {
|
|
7
|
+
project: Args.integer({ description: 'CRT project ID.', required: true }),
|
|
8
|
+
};
|
|
9
|
+
static description = 'List assignments for a Copado Robotic Testing project';
|
|
10
|
+
static examples = [
|
|
11
|
+
'<%= config.bin %> <%= command.id %> <project-id>',
|
|
12
|
+
'<%= config.bin %> <%= command.id %> <project-id> --json',
|
|
13
|
+
];
|
|
14
|
+
async run() {
|
|
15
|
+
const { args } = await this.parse(TestingProjectPermissionList);
|
|
16
|
+
const result = await this.withSpinner('Fetching testing project permissions', () => listTestingProjectPermissions({ projectId: args.project }));
|
|
17
|
+
this.display(() => this.log(result.length === 0 ? 'No testing project permissions found.' : formatTestingTable(result)));
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/testing/project/permission/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAA;AACjE,OAAO,EAAC,6BAA6B,EAAC,MAAM,uCAAuC,CAAA;AACnF,OAAO,EAAC,kBAAkB,EAAyB,MAAM,kCAAkC,CAAA;AAE3F,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,cAAc;IACtE,MAAM,CAAU,IAAI,GAAG;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KACxE,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,uDAAuD,CAAA;IACrF,MAAM,CAAU,QAAQ,GAAG;QACzB,kDAAkD;QAClD,yDAAyD;KAC1D,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sCAAsC,EAAE,GAAG,EAAE,CACjF,6BAA6B,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CACzD,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACxH,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { type TestingPermission } from '../../../../lib/testing-types.js';
|
|
3
|
+
export default class TestingProjectPermissionSet extends AgentiaCommand {
|
|
4
|
+
static args: {
|
|
5
|
+
project: import("@oclif/core/interfaces").Arg<number, {
|
|
6
|
+
max?: number;
|
|
7
|
+
min?: number;
|
|
8
|
+
}>;
|
|
9
|
+
};
|
|
10
|
+
static description: string;
|
|
11
|
+
static examples: string[];
|
|
12
|
+
static flags: {
|
|
13
|
+
edit: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
group: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
user: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
view: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<TestingPermission[]>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
3
|
+
import { setTestingProjectPermission } from '../../../../lib/testing-operations.js';
|
|
4
|
+
import { formatTestingTable } from '../../../../lib/testing-types.js';
|
|
5
|
+
export default class TestingProjectPermissionSet extends AgentiaCommand {
|
|
6
|
+
static args = {
|
|
7
|
+
project: Args.integer({ description: 'CRT project ID.', required: true }),
|
|
8
|
+
};
|
|
9
|
+
static description = 'Set a user or group permission on a Copado Robotic Testing project';
|
|
10
|
+
static examples = [
|
|
11
|
+
'<%= config.bin %> <%= command.id %> <project-id> --user <user-id> --view',
|
|
12
|
+
'<%= config.bin %> <%= command.id %> <project-id> --group <group-id> --view --edit --json',
|
|
13
|
+
];
|
|
14
|
+
static flags = {
|
|
15
|
+
edit: Flags.boolean({ default: false, description: 'Grant edit access.' }),
|
|
16
|
+
group: Flags.integer({ description: 'Platform group ID.', exclusive: ['user'], min: 1 }),
|
|
17
|
+
user: Flags.integer({ description: 'Platform user ID.', exclusive: ['group'], min: 1 }),
|
|
18
|
+
view: Flags.boolean({ default: false, description: 'Grant view access.' }),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
const { args, flags } = await this.parse(TestingProjectPermissionSet);
|
|
22
|
+
const result = await this.withSpinner('Setting testing project permission', () => setTestingProjectPermission({
|
|
23
|
+
edit: flags.edit || undefined,
|
|
24
|
+
groupId: flags.group,
|
|
25
|
+
projectId: args.project,
|
|
26
|
+
userId: flags.user,
|
|
27
|
+
view: flags.view || undefined,
|
|
28
|
+
}));
|
|
29
|
+
this.display(() => this.log(result.length === 0 ? 'Testing project permission set.' : formatTestingTable(result)));
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/testing/project/permission/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAA;AACjE,OAAO,EAAC,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAyB,MAAM,kCAAkC,CAAA;AAE3F,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,cAAc;IACrE,MAAM,CAAU,IAAI,GAAG;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KACxE,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,oEAAoE,CAAA;IAClG,MAAM,CAAU,QAAQ,GAAG;QACzB,0EAA0E;QAC1E,0FAA0F;KAC3F,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAC,CAAC;QACxE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;QACtF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;QACrF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAC,CAAC;KACzE,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oCAAoC,EAAE,GAAG,EAAE,CAC/E,2BAA2B,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;YAC7B,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,MAAM,EAAE,KAAK,CAAC,IAAI;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;SAC9B,CAAC,CACH,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAClH,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
2
|
+
import { type TestingPermission } from '../../../../lib/testing-types.js';
|
|
3
|
+
export default class TestingProjectPermissionUpdate extends AgentiaCommand {
|
|
4
|
+
static args: {
|
|
5
|
+
project: import("@oclif/core/interfaces").Arg<number, {
|
|
6
|
+
max?: number;
|
|
7
|
+
min?: number;
|
|
8
|
+
}>;
|
|
9
|
+
};
|
|
10
|
+
static description: string;
|
|
11
|
+
static examples: string[];
|
|
12
|
+
static flags: {
|
|
13
|
+
edit: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
group: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
user: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
view: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<TestingPermission[]>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
3
|
+
import { setTestingProjectPermission } from '../../../../lib/testing-operations.js';
|
|
4
|
+
import { formatTestingTable } from '../../../../lib/testing-types.js';
|
|
5
|
+
export default class TestingProjectPermissionUpdate extends AgentiaCommand {
|
|
6
|
+
static args = {
|
|
7
|
+
project: Args.integer({ description: 'CRT project ID.', required: true }),
|
|
8
|
+
};
|
|
9
|
+
static description = 'Update a user or group permission on a Copado Robotic Testing project';
|
|
10
|
+
static examples = [
|
|
11
|
+
'<%= config.bin %> <%= command.id %> <project-id> --user <user-id> --view --edit',
|
|
12
|
+
'<%= config.bin %> <%= command.id %> <project-id> --group <group-id> --view --json',
|
|
13
|
+
];
|
|
14
|
+
static flags = {
|
|
15
|
+
edit: Flags.boolean({ default: false, description: 'Set edit access.' }),
|
|
16
|
+
group: Flags.integer({ description: 'Platform group ID.', exclusive: ['user'], min: 1 }),
|
|
17
|
+
user: Flags.integer({ description: 'Platform user ID.', exclusive: ['group'], min: 1 }),
|
|
18
|
+
view: Flags.boolean({ default: false, description: 'Set view access.' }),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
const { args, flags } = await this.parse(TestingProjectPermissionUpdate);
|
|
22
|
+
const result = await this.withSpinner('Updating testing project permission', () => setTestingProjectPermission({
|
|
23
|
+
edit: flags.edit || undefined,
|
|
24
|
+
groupId: flags.group,
|
|
25
|
+
projectId: args.project,
|
|
26
|
+
userId: flags.user,
|
|
27
|
+
view: flags.view || undefined,
|
|
28
|
+
}));
|
|
29
|
+
this.display(() => this.log(result.length === 0 ? 'Testing project permission updated.' : formatTestingTable(result)));
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/testing/project/permission/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAA;AACjE,OAAO,EAAC,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAyB,MAAM,kCAAkC,CAAA;AAE3F,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,cAAc;IACxE,MAAM,CAAU,IAAI,GAAG;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KACxE,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,uEAAuE,CAAA;IACrG,MAAM,CAAU,QAAQ,GAAG;QACzB,iFAAiF;QACjF,mFAAmF;KACpF,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAC,CAAC;QACtE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;QACtF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;QACrF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAC,CAAC;KACvE,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAChF,2BAA2B,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;YAC7B,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,MAAM,EAAE,KAAK,CAAC,IAAI;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;SAC9B,CAAC,CACH,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACtH,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
|
+
import { type TestingProject } from '../../../lib/testing-types.js';
|
|
3
|
+
export default class TestingProjectUpdate extends AgentiaCommand {
|
|
4
|
+
static args: {
|
|
5
|
+
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static description: string;
|
|
8
|
+
static examples: string[];
|
|
9
|
+
static flags: {
|
|
10
|
+
description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<TestingProject>;
|
|
14
|
+
}
|