@copado/agentia-cli 0.37.0-alpha.0 → 0.38.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +430 -109
  2. package/dist/commands/auth/set.js +2 -3
  3. package/dist/commands/auth/set.js.map +1 -1
  4. package/dist/commands/testing/build/abort.d.ts +26 -0
  5. package/dist/commands/testing/build/abort.js +38 -0
  6. package/dist/commands/testing/build/abort.js.map +1 -0
  7. package/dist/commands/testing/build/list.js +2 -2
  8. package/dist/commands/testing/build/list.js.map +1 -1
  9. package/dist/commands/testing/build/run.d.ts +8 -0
  10. package/dist/commands/testing/build/run.js +4 -2
  11. package/dist/commands/testing/build/run.js.map +1 -1
  12. package/dist/commands/testing/job/delete.d.ts +24 -0
  13. package/dist/commands/testing/job/delete.js +30 -0
  14. package/dist/commands/testing/job/delete.js.map +1 -0
  15. package/dist/commands/testing/job/list.js +2 -2
  16. package/dist/commands/testing/job/list.js.map +1 -1
  17. package/dist/commands/testing/job/run.d.ts +1 -0
  18. package/dist/commands/testing/job/run.js +2 -0
  19. package/dist/commands/testing/job/run.js.map +1 -0
  20. package/dist/commands/testing/job/update.d.ts +35 -0
  21. package/dist/commands/testing/job/update.js +125 -0
  22. package/dist/commands/testing/job/update.js.map +1 -0
  23. package/dist/commands/testing/project/delete.d.ts +22 -0
  24. package/dist/commands/testing/project/delete.js +29 -0
  25. package/dist/commands/testing/project/delete.js.map +1 -0
  26. package/dist/commands/testing/robot/delete.d.ts +21 -0
  27. package/dist/commands/testing/robot/delete.js +30 -0
  28. package/dist/commands/testing/robot/delete.js.map +1 -0
  29. package/dist/commands/testing/run.d.ts +8 -0
  30. package/dist/commands/testing/run.js +4 -2
  31. package/dist/commands/testing/run.js.map +1 -1
  32. package/dist/commands/testing/status.js +2 -2
  33. package/dist/commands/testing/status.js.map +1 -1
  34. package/dist/commands/testing/test/run.d.ts +34 -1
  35. package/dist/commands/testing/test/run.js +58 -1
  36. package/dist/commands/testing/test/run.js.map +1 -1
  37. package/dist/commands/testing/variable/create.d.ts +1 -1
  38. package/dist/commands/testing/variable/update.d.ts +21 -0
  39. package/dist/commands/testing/variable/update.js +63 -0
  40. package/dist/commands/testing/variable/update.js.map +1 -0
  41. package/dist/lib/mcp/testing-tools.d.ts +84 -2
  42. package/dist/lib/mcp/testing-tools.js +197 -13
  43. package/dist/lib/mcp/testing-tools.js.map +1 -1
  44. package/dist/lib/mcp/tools.d.ts +137 -0
  45. package/dist/lib/testing-flags.d.ts +26 -1
  46. package/dist/lib/testing-flags.js +61 -0
  47. package/dist/lib/testing-flags.js.map +1 -1
  48. package/dist/lib/testing-operations.d.ts +77 -5
  49. package/dist/lib/testing-operations.js +136 -15
  50. package/dist/lib/testing-operations.js.map +1 -1
  51. package/dist/lib/testing-types.d.ts +52 -1
  52. package/dist/lib/testing-types.js +65 -1
  53. package/dist/lib/testing-types.js.map +1 -1
  54. package/oclif.manifest.json +940 -49
  55. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
- import { type TestingConnectionOptions } from './testing-operations.js';
1
+ import { type TestingConnectionOptions, type TestingRunOptions } from './testing-operations.js';
2
+ import { type TestingRecordBuildOption } from './testing-types.js';
2
3
  export declare const testingConnectionFlags: {
3
4
  domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
4
5
  org: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -13,6 +14,16 @@ export declare const testingJobFlag: {
13
14
  export declare const testingBranchFlag: {
14
15
  branch: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
16
  };
17
+ export declare const testingRunOptionFlags: {
18
+ branch: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ exclude: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ include: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ param: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ record: import("@oclif/core/interfaces").OptionFlag<"none" | "failed" | "all" | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ 'rerun-failed': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ 'rerun-failed-from-latest': import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
+ tag: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ };
16
27
  export declare const testingOutputFlags: {
17
28
  output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
29
  };
@@ -30,4 +41,18 @@ export type TestingConnectionFlagValues = {
30
41
  org?: number;
31
42
  pat?: string;
32
43
  };
44
+ export type TestingRunFlagValues = TestingConnectionFlagValues & {
45
+ branch?: string;
46
+ exclude?: string[];
47
+ include?: string[];
48
+ param?: string[];
49
+ record?: TestingRecordBuildOption;
50
+ 'rerun-failed'?: number;
51
+ 'rerun-failed-from-latest'?: boolean;
52
+ tag?: string;
53
+ };
33
54
  export declare function testingConnectionOptions(flags: TestingConnectionFlagValues): TestingConnectionOptions;
55
+ export declare function testingRunOptions(flags: TestingRunFlagValues, ids: {
56
+ jobId: number;
57
+ projectId: number;
58
+ }): TestingRunOptions;
@@ -1,4 +1,5 @@
1
1
  import { Flags } from '@oclif/core';
2
+ import { TESTING_RECORD_BUILD_OPTIONS } from './testing-types.js';
2
3
  export const testingConnectionFlags = {
3
4
  domain: Flags.string({
4
5
  description: 'CRT domain hostname. Defaults to COPADO_ROBOTIC_DOMAIN, CRT_DOMAIN, or stored auth config.',
@@ -29,6 +30,37 @@ export const testingBranchFlag = {
29
30
  description: 'Optional CRT branch name for file operations.',
30
31
  }),
31
32
  };
33
+ export const testingRunOptionFlags = {
34
+ branch: Flags.string({
35
+ description: 'Git branch/ref to use for this run. Mutually exclusive with --tag.',
36
+ }),
37
+ exclude: Flags.string({
38
+ description: 'Robot Framework tag to exclude from this run. Can be provided multiple times.',
39
+ multiple: true,
40
+ }),
41
+ include: Flags.string({
42
+ description: 'Robot Framework tag to include in this run. Can be provided multiple times.',
43
+ multiple: true,
44
+ }),
45
+ param: Flags.string({
46
+ description: 'Execution parameter in KEY=VALUE format. Can be provided multiple times.',
47
+ multiple: true,
48
+ }),
49
+ record: Flags.option({
50
+ description: 'CRT execution recording mode.',
51
+ options: [...TESTING_RECORD_BUILD_OPTIONS],
52
+ })(),
53
+ 'rerun-failed': Flags.integer({
54
+ description: 'Rerun failed tests from the specified build/run ID. Mutually exclusive with --rerun-failed-from-latest.',
55
+ }),
56
+ 'rerun-failed-from-latest': Flags.boolean({
57
+ default: false,
58
+ description: 'Rerun failed tests from the latest failed run. Mutually exclusive with --rerun-failed.',
59
+ }),
60
+ tag: Flags.string({
61
+ description: 'Git tag to use for this run. Mutually exclusive with --branch.',
62
+ }),
63
+ };
32
64
  export const testingOutputFlags = {
33
65
  output: Flags.string({
34
66
  char: 'o',
@@ -67,4 +99,33 @@ export function testingConnectionOptions(flags) {
67
99
  pat: flags.pat,
68
100
  };
69
101
  }
102
+ export function testingRunOptions(flags, ids) {
103
+ if (flags.branch !== undefined && flags.tag !== undefined) {
104
+ throw new Error('Use either --branch or --tag, not both.');
105
+ }
106
+ if (flags['rerun-failed'] !== undefined && flags['rerun-failed-from-latest'] === true) {
107
+ throw new Error('Use either --rerun-failed or --rerun-failed-from-latest, not both.');
108
+ }
109
+ return {
110
+ ...testingConnectionOptions(flags),
111
+ branch: flags.branch,
112
+ exclude: flags.exclude,
113
+ include: flags.include,
114
+ jobId: ids.jobId,
115
+ parameters: (flags.param ?? []).map((param) => parseTestingParameter(param)),
116
+ projectId: ids.projectId,
117
+ record: flags.record,
118
+ rerunFailedFromLatest: flags['rerun-failed-from-latest'] === true ? true : undefined,
119
+ rerunFailedId: flags['rerun-failed'],
120
+ tag: flags.tag,
121
+ };
122
+ }
123
+ function parseTestingParameter(spec) {
124
+ const separator = spec.indexOf('=');
125
+ const key = separator === -1 ? spec.trim() : spec.slice(0, separator).trim();
126
+ if (separator === -1 || key.length === 0) {
127
+ throw new Error(`Invalid execution parameter: ${spec}. Use KEY=VALUE.`);
128
+ }
129
+ return { key, value: spec.slice(separator + 1) };
130
+ }
70
131
  //# sourceMappingURL=testing-flags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing-flags.js","sourceRoot":"","sources":["../../src/lib/testing-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAIjC,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,4FAA4F;KAC1G,CAAC;IACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;QACjB,WAAW,EAAE,yFAAyF;KACvG,CAAC;IACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,0FAA0F;KACxG,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,+CAA+C;KAC7D,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,qCAAqC;KACnD,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,uFAAuF;QACpG,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,iEAAiE;QAC9E,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,yEAAyE;QACtF,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,gEAAgE;QAC7E,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,6EAA6E;QAC1F,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAA;AAQD,MAAM,UAAU,wBAAwB,CAAC,KAAkC;IACzE,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"testing-flags.js","sourceRoot":"","sources":["../../src/lib/testing-flags.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type TestingGatewayCallOptions } from './testing-gateway.js';
2
- import { type TestingAuthor, type TestingBuild, type TestingBuildRunResult, type TestingBuildStatus, type TestingCreateVariableRequest, type TestingDownloadResult, type TestingFileEntry, type TestingFileOperation, type TestingJob, type TestingJobCreateResult, type TestingLogResult, type TestingProject, type TestingRecord, type TestingRobot, type TestingVariable } from './testing-types.js';
2
+ import { type TestingAuthor, type TestingBuild, type TestingBuildRunRequest, type TestingBuildRunResult, type TestingBuildStatus, type TestingCreateVariableRequest, type TestingDownloadResult, type TestingFileEntry, type TestingFileOperation, type TestingJob, type TestingJobCreateResult, type TestingJobUpdateRequest, type TestingLogResult, type TestingProject, type TestingRecord, type TestingRecordBuildOption, type TestingRobot, type TestingVariable, type TestingVariableType, type TestingVariableUpdateRequest } from './testing-types.js';
3
3
  export declare const DEFAULT_TESTING_AUTHOR: TestingAuthor;
4
4
  export type TestingFileCollectionInput = {
5
5
  dirs?: string[];
@@ -27,6 +27,39 @@ export type TestingDownloadOptions = TestingConnectionOptions & {
27
27
  outputDir?: string;
28
28
  projectId: number;
29
29
  };
30
+ export type TestingBuildParameterInput = {
31
+ key: string;
32
+ sensitive?: boolean;
33
+ type?: TestingVariableType;
34
+ value?: string;
35
+ };
36
+ export type TestingRunOptions = TestingConnectionOptions & {
37
+ branch?: string;
38
+ exclude?: string[];
39
+ include?: string[];
40
+ jobId: number;
41
+ parameters?: TestingBuildParameterInput[];
42
+ projectId: number;
43
+ record?: TestingRecordBuildOption;
44
+ rerunFailedFromLatest?: boolean;
45
+ rerunFailedId?: number;
46
+ tag?: string;
47
+ };
48
+ export type TestingBuildWaitOptions = TestingConnectionOptions & {
49
+ buildId?: number | string;
50
+ intervalMs?: number;
51
+ jobId: number;
52
+ onPoll?: (build: TestingBuild) => void;
53
+ projectId: number;
54
+ timeoutMs?: number;
55
+ };
56
+ export type TestingBuildWaitResult = {
57
+ attempts: number;
58
+ build: TestingBuild;
59
+ buildId?: number | string;
60
+ jobId: number;
61
+ projectId: number;
62
+ };
30
63
  type TestingSnapshotFetchFn = (url: URL, headers: Record<string, string>, timeoutMs: number) => Promise<Buffer>;
31
64
  export declare function listTestingProjects(options?: TestingConnectionOptions & {
32
65
  name?: string;
@@ -38,6 +71,12 @@ export declare function createTestingProject(options: TestingConnectionOptions &
38
71
  export declare function getTestingProject(options: TestingConnectionOptions & {
39
72
  projectId: number | string;
40
73
  }): Promise<TestingProject>;
74
+ export declare function deleteTestingProject(options: TestingConnectionOptions & {
75
+ projectId: number;
76
+ }): Promise<{
77
+ deleted: true;
78
+ projectId: number;
79
+ }>;
41
80
  export declare function listTestingRobots(options: TestingConnectionOptions & {
42
81
  projectId: number;
43
82
  }): Promise<TestingRobot[]>;
@@ -54,6 +93,14 @@ export declare function getTestingRobot(options: TestingConnectionOptions & {
54
93
  projectId: number;
55
94
  robotId: number | string;
56
95
  }): Promise<TestingRobot>;
96
+ export declare function deleteTestingRobot(options: TestingConnectionOptions & {
97
+ projectId: number;
98
+ robotId: number | string;
99
+ }): Promise<{
100
+ deleted: true;
101
+ projectId: number;
102
+ robotId: number | string;
103
+ }>;
57
104
  export declare function listTestingJobs(options: TestingConnectionOptions & {
58
105
  name?: string;
59
106
  projectId: number;
@@ -62,6 +109,18 @@ export declare function getTestingJob(options: TestingConnectionOptions & {
62
109
  jobId: number | string;
63
110
  projectId: number;
64
111
  }): Promise<TestingJob>;
112
+ export declare function updateTestingJob(options: TestingConnectionOptions & TestingJobUpdateRequest & {
113
+ jobId: number;
114
+ projectId: number;
115
+ }): Promise<TestingJob>;
116
+ export declare function deleteTestingJob(options: TestingConnectionOptions & {
117
+ jobId: number;
118
+ projectId: number;
119
+ }): Promise<{
120
+ deleted: true;
121
+ jobId: number;
122
+ projectId: number;
123
+ }>;
65
124
  export declare function createTestingJob(options: TestingCreateJobOptions): Promise<TestingJobCreateResult>;
66
125
  export declare function listTestingJobFiles(options: TestingConnectionOptions & {
67
126
  jobId: number;
@@ -72,22 +131,30 @@ export declare function uploadTestingJobFiles(options: TestingUploadOptions): Pr
72
131
  response: TestingRecord;
73
132
  }>;
74
133
  export declare function downloadTestingJobFiles(options: TestingDownloadOptions): Promise<TestingDownloadResult>;
75
- export declare function runTestingBuild(options: TestingConnectionOptions & {
76
- jobId: number;
77
- projectId: number;
78
- }): Promise<TestingBuildRunResult>;
134
+ export declare function runTestingBuild(options: TestingRunOptions): Promise<TestingBuildRunResult>;
79
135
  export declare function listTestingBuilds(options: TestingConnectionOptions & {
80
136
  jobId?: number;
81
137
  projectId: number;
82
138
  resultSize?: 'compact';
83
139
  status?: TestingBuildStatus;
84
140
  }): Promise<TestingBuild[]>;
141
+ export declare function waitForTestingBuildResult(options: TestingBuildWaitOptions): Promise<TestingBuildWaitResult>;
85
142
  export declare function getTestingBuildLogs(options: TestingConnectionOptions & {
86
143
  buildId: number;
87
144
  jobId: number;
88
145
  output?: string;
89
146
  projectId: number;
90
147
  }): Promise<TestingLogResult>;
148
+ export declare function abortTestingBuild(options: TestingConnectionOptions & {
149
+ buildId: number;
150
+ jobId: number;
151
+ projectId: number;
152
+ }): Promise<{
153
+ build: TestingRecord;
154
+ buildId: number;
155
+ jobId: number;
156
+ projectId: number;
157
+ }>;
91
158
  export declare function listTestingVariables(options: TestingConnectionOptions & {
92
159
  jobId?: number;
93
160
  projectId: number;
@@ -96,6 +163,10 @@ export declare function listTestingVariables(options: TestingConnectionOptions &
96
163
  export declare function createTestingVariable(options: TestingConnectionOptions & TestingCreateVariableRequest & {
97
164
  projectId: number;
98
165
  }): Promise<unknown>;
166
+ export declare function updateTestingVariable(options: TestingConnectionOptions & TestingVariableUpdateRequest & {
167
+ projectId: number;
168
+ variableId: string;
169
+ }): Promise<unknown>;
99
170
  export declare function deleteTestingVariable(options: TestingConnectionOptions & {
100
171
  projectId: number;
101
172
  variableId: string;
@@ -109,6 +180,7 @@ export declare function buildFileOperationsFromSpecs(specs: {
109
180
  remove?: string[];
110
181
  replace?: string[];
111
182
  }): TestingFileOperation[];
183
+ export declare function buildTestingRunRequest(options: TestingRunOptions): TestingBuildRunRequest;
112
184
  export declare function setTestingSnapshotFetchForTests(snapshotFetchFn: TestingSnapshotFetchFn): void;
113
185
  export declare function resetTestingSnapshotFetchForTests(): void;
114
186
  export {};
@@ -1,15 +1,19 @@
1
- /* eslint-disable unicorn/text-encoding-identifier-case -- CRT file operation payloads require the literal utf-8 enum. */
1
+ /* eslint-disable no-await-in-loop, unicorn/text-encoding-identifier-case -- CRT polling waits between API checks and file operation payloads require the literal utf-8 enum. */
2
2
  import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
3
3
  import * as http from 'node:http';
4
4
  import * as https from 'node:https';
5
5
  import { dirname, join, relative, resolve, sep } from 'node:path';
6
6
  import { resolveTestingCredentials } from './testing-config.js';
7
7
  import { TESTING_DEFAULT_TIMEOUT_MS, TestingGateway } from './testing-gateway.js';
8
- import { createDefaultRobotSnapshotBase64, listSnapshotZipEntries, normalizeDownloadedFiles, normalizeTestingArray, normalizeTestingId, normalizeTestingRecord, redactTestingVariables, testingBuildLogsEndpoint, testingJobBuildsEndpoint, testingJobFilesDownloadEndpoint, testingJobFilesEndpoint, testingJobFilesUploadEndpoint, testingJobsEndpoint, testingProjectBuildsEndpoint, testingProjectsEndpoint, testingRobotJobsEndpoint, testingRobotsEndpoint, testingVariableEndpoint, testingVariablesEndpoint, } from './testing-types.js';
8
+ import { createDefaultRobotSnapshotBase64, listSnapshotZipEntries, normalizeDownloadedFiles, normalizeTestingArray, normalizeTestingId, normalizeTestingRecord, redactTestingVariables, testingBuildAbortEndpoint, testingBuildLogsEndpoint, testingJobBuildsEndpoint, testingJobEndpoint, testingJobFilesDownloadEndpoint, testingJobFilesEndpoint, testingJobFilesUploadEndpoint, testingJobsEndpoint, testingProjectBuildsEndpoint, testingProjectDeleteEndpoint, testingProjectsEndpoint, testingRobotEndpoint, testingRobotJobsEndpoint, testingRobotsEndpoint, testingVariableEndpoint, testingVariablesEndpoint, } from './testing-types.js';
9
9
  export const DEFAULT_TESTING_AUTHOR = {
10
10
  email: 'agentia@copado.com',
11
11
  name: 'Agentia CLI',
12
12
  };
13
+ const TESTING_TERMINAL_BUILD_STATUSES = new Set(['aborted', 'failed', 'finished', 'succeeded']);
14
+ const TESTING_WAIT_INITIAL_INTERVAL_MS = 2000;
15
+ const TESTING_WAIT_MAX_INTERVAL_MS = 10_000;
16
+ const TESTING_WAIT_TIMEOUT_MS = 30 * 60_000;
13
17
  async function defaultTestingSnapshotFetch(url, headers, timeoutMs) {
14
18
  const transport = url.protocol === 'http:' ? http : https;
15
19
  return new Promise((resolvePromise, reject) => {
@@ -59,6 +63,10 @@ export async function createTestingProject(options) {
59
63
  export async function getTestingProject(options) {
60
64
  return findTestingRecord(await listTestingProjects(options), options.projectId, 'project');
61
65
  }
66
+ export async function deleteTestingProject(options) {
67
+ await TestingGateway.call({ endpoint: testingProjectDeleteEndpoint(options.projectId), method: 'DELETE', service: 'pace' }, options);
68
+ return { deleted: true, projectId: options.projectId };
69
+ }
62
70
  export async function listTestingRobots(options) {
63
71
  const response = await TestingGateway.call({ endpoint: testingRobotsEndpoint(options.projectId), method: 'GET', service: 'pace' }, options);
64
72
  return normalizeTestingArray(response);
@@ -78,6 +86,10 @@ export async function createTestingRobot(options) {
78
86
  export async function getTestingRobot(options) {
79
87
  return findTestingRecord(await listTestingRobots(options), options.robotId, 'robot');
80
88
  }
89
+ export async function deleteTestingRobot(options) {
90
+ await TestingGateway.call({ endpoint: testingRobotEndpoint(options.projectId, options.robotId), method: 'DELETE', service: 'pace' }, options);
91
+ return { deleted: true, projectId: options.projectId, robotId: options.robotId };
92
+ }
81
93
  export async function listTestingJobs(options) {
82
94
  const response = await TestingGateway.call({ endpoint: testingJobsEndpoint(options.projectId), method: 'GET', service: 'pace' }, options);
83
95
  const jobs = normalizeTestingArray(response);
@@ -86,7 +98,28 @@ export async function listTestingJobs(options) {
86
98
  export async function getTestingJob(options) {
87
99
  return findTestingRecord(await listTestingJobs(options), options.jobId, 'job');
88
100
  }
101
+ export async function updateTestingJob(options) {
102
+ const body = omitUndefined({
103
+ analytics: options.analytics,
104
+ description: options.description,
105
+ name: options.name,
106
+ parallelExecution: options.parallelExecution,
107
+ robotId: options.robotId,
108
+ screen: options.screen,
109
+ showVideoParams: options.showVideoParams,
110
+ suiteType: options.suiteType,
111
+ timeout: options.timeout,
112
+ });
113
+ requireBodyFields(body, 'Provide at least one job field to update.');
114
+ const response = await TestingGateway.call({ body, endpoint: testingJobEndpoint(options.projectId, options.jobId), method: 'PUT', service: 'pace' }, options);
115
+ return normalizeTestingRecord(response);
116
+ }
117
+ export async function deleteTestingJob(options) {
118
+ await TestingGateway.call({ endpoint: testingJobEndpoint(options.projectId, options.jobId), method: 'DELETE', service: 'pace' }, options);
119
+ return { deleted: true, jobId: options.jobId, projectId: options.projectId };
120
+ }
89
121
  export async function createTestingJob(options) {
122
+ const operations = options.fileInput === undefined ? [] : buildFileAddOperations(options.fileInput);
90
123
  const body = {
91
124
  description: options.description ?? '',
92
125
  name: options.name,
@@ -104,17 +137,14 @@ export async function createTestingJob(options) {
104
137
  jobId,
105
138
  projectId: options.projectId,
106
139
  };
107
- if (jobId !== undefined && options.fileInput !== undefined) {
108
- const operations = buildFileAddOperations(options.fileInput);
109
- if (operations.length > 0) {
110
- const upload = await uploadTestingJobFiles({
111
- ...options,
112
- jobId: numericId(jobId, 'job'),
113
- operations: [{ op: 'remove', path: 'tests.robot' }, ...operations],
114
- projectId: options.projectId,
115
- });
116
- result.filesUploaded = upload.operations.length - 1;
117
- }
140
+ if (jobId !== undefined && operations.length > 0) {
141
+ const upload = await uploadTestingJobFiles({
142
+ ...options,
143
+ jobId: numericId(jobId, 'job'),
144
+ operations: [{ op: 'remove', path: 'tests.robot' }, ...operations],
145
+ projectId: options.projectId,
146
+ });
147
+ result.filesUploaded = upload.operations.length - 1;
118
148
  }
119
149
  return result;
120
150
  }
@@ -161,8 +191,9 @@ export async function downloadTestingJobFiles(options) {
161
191
  };
162
192
  }
163
193
  export async function runTestingBuild(options) {
164
- const build = await TestingGateway.call({ body: {}, endpoint: testingJobBuildsEndpoint(options.projectId, options.jobId), method: 'POST', service: 'pace' }, options);
165
- return { build, jobId: options.jobId, projectId: options.projectId };
194
+ const body = buildTestingRunRequest(options);
195
+ const build = await TestingGateway.call({ body, endpoint: testingJobBuildsEndpoint(options.projectId, options.jobId), method: 'POST', service: 'pace' }, options);
196
+ return { body, build, jobId: options.jobId, projectId: options.projectId };
166
197
  }
167
198
  export async function listTestingBuilds(options) {
168
199
  const endpoint = options.jobId === undefined
@@ -171,6 +202,31 @@ export async function listTestingBuilds(options) {
171
202
  const response = await TestingGateway.call({ endpoint, method: 'GET', service: 'pace' }, options);
172
203
  return normalizeTestingArray(response);
173
204
  }
205
+ export async function waitForTestingBuildResult(options) {
206
+ const timeoutMs = options.timeoutMs ?? TESTING_WAIT_TIMEOUT_MS;
207
+ const deadline = Date.now() + timeoutMs;
208
+ let attempts = 0;
209
+ let intervalMs = options.intervalMs ?? TESTING_WAIT_INITIAL_INTERVAL_MS;
210
+ while (Date.now() <= deadline) {
211
+ attempts++;
212
+ const builds = await listTestingBuilds({
213
+ ...options,
214
+ jobId: options.jobId,
215
+ projectId: options.projectId,
216
+ resultSize: 'compact',
217
+ });
218
+ const build = findMatchingBuild(builds, options.buildId);
219
+ if (build !== undefined) {
220
+ options.onPoll?.(build);
221
+ if (isTerminalBuild(build)) {
222
+ return { attempts, build, buildId: options.buildId, jobId: options.jobId, projectId: options.projectId };
223
+ }
224
+ }
225
+ await delay(Math.min(intervalMs, Math.max(deadline - Date.now(), 0)));
226
+ intervalMs = Math.min(Math.ceil(intervalMs * 1.5), TESTING_WAIT_MAX_INTERVAL_MS);
227
+ }
228
+ throw new Error(`Timed out waiting for CRT build result for job ${options.jobId}.`);
229
+ }
174
230
  export async function getTestingBuildLogs(options) {
175
231
  const log = await TestingGateway.call({
176
232
  endpoint: testingBuildLogsEndpoint(options.projectId, options.jobId, options.buildId),
@@ -190,6 +246,19 @@ export async function getTestingBuildLogs(options) {
190
246
  projectId: options.projectId,
191
247
  };
192
248
  }
249
+ export async function abortTestingBuild(options) {
250
+ const response = await TestingGateway.call({
251
+ endpoint: testingBuildAbortEndpoint(options.projectId, options.jobId, options.buildId),
252
+ method: 'PUT',
253
+ service: 'pace',
254
+ }, options);
255
+ return {
256
+ build: normalizeTestingRecord(response),
257
+ buildId: options.buildId,
258
+ jobId: options.jobId,
259
+ projectId: options.projectId,
260
+ };
261
+ }
193
262
  export async function listTestingVariables(options) {
194
263
  const response = await TestingGateway.call({ endpoint: testingVariablesEndpoint(options.projectId), method: 'GET', service: 'pace' }, options);
195
264
  const variables = normalizeTestingArray(response)
@@ -211,6 +280,18 @@ export async function createTestingVariable(options) {
211
280
  const response = await TestingGateway.call({ body, endpoint: testingVariablesEndpoint(options.projectId), method: 'POST', service: 'pace' }, options);
212
281
  return redactTestingVariables(response);
213
282
  }
283
+ export async function updateTestingVariable(options) {
284
+ const body = omitUndefined({
285
+ description: options.description,
286
+ key: options.key,
287
+ sensitive: options.sensitive,
288
+ type: options.type,
289
+ value: options.value,
290
+ });
291
+ requireBodyFields(body, 'Provide at least one variable field to update.');
292
+ const response = await TestingGateway.call({ body, endpoint: testingVariableEndpoint(options.projectId, options.variableId), method: 'PUT', service: 'pace' }, options);
293
+ return redactTestingVariables(response);
294
+ }
214
295
  export async function deleteTestingVariable(options) {
215
296
  await TestingGateway.call({ endpoint: testingVariableEndpoint(options.projectId, options.variableId), method: 'DELETE', service: 'pace' }, options);
216
297
  return { projectId: options.projectId, variableId: options.variableId };
@@ -235,6 +316,21 @@ export function buildFileOperationsFromSpecs(specs) {
235
316
  ...(specs.remove ?? []).map((path) => ({ op: 'remove', path: normalizeRemotePath(path) })),
236
317
  ];
237
318
  }
319
+ export function buildTestingRunRequest(options) {
320
+ const inputParameters = [
321
+ ...(options.parameters ?? []),
322
+ ...(options.include ?? []).map((value) => ({ key: 'include', type: 'clp', value })),
323
+ ...(options.exclude ?? []).map((value) => ({ key: 'exclude', type: 'clp', value })),
324
+ ];
325
+ return omitUndefined({
326
+ branch: options.branch,
327
+ inputParameters: inputParameters.length > 0 ? inputParameters : undefined,
328
+ record: options.record,
329
+ rerunFailedFromLatest: options.rerunFailedFromLatest,
330
+ rerunFailedId: options.rerunFailedId,
331
+ tag: options.tag,
332
+ });
333
+ }
238
334
  export function setTestingSnapshotFetchForTests(snapshotFetchFn) {
239
335
  testingSnapshotFetchFn = snapshotFetchFn;
240
336
  }
@@ -249,6 +345,10 @@ function fileOperationFromSpec(spec, op) {
249
345
  }
250
346
  function fileOperationFromLocalFile(localPath, remotePath, op) {
251
347
  const path = normalizeRemotePath(remotePath);
348
+ if (!existsSync(localPath))
349
+ throw new Error(`Local CRT file does not exist: ${localPath}`);
350
+ if (!statSync(localPath).isFile())
351
+ throw new Error(`Local CRT path is not a file: ${localPath}`);
252
352
  return {
253
353
  encoding: 'utf-8',
254
354
  op,
@@ -306,6 +406,23 @@ function filterByName(records, name, insensitive) {
306
406
  return insensitive ? actual.toLowerCase() === expected : actual === expected;
307
407
  });
308
408
  }
409
+ function findMatchingBuild(builds, buildId) {
410
+ if (buildId === undefined)
411
+ return builds[0];
412
+ const expected = buildId.toString();
413
+ return builds.find((build) => build.id?.toString() === expected || build.buildId?.toString() === expected);
414
+ }
415
+ function isTerminalBuild(build) {
416
+ const status = typeof build.status === 'string' ? build.status.toLowerCase() : undefined;
417
+ return status !== undefined && TESTING_TERMINAL_BUILD_STATUSES.has(status);
418
+ }
419
+ async function delay(ms) {
420
+ if (ms <= 0)
421
+ return;
422
+ await new Promise((resolvePromise) => {
423
+ setTimeout(resolvePromise, ms);
424
+ });
425
+ }
309
426
  async function listTestingSnapshotFiles(snapshotUrl, options) {
310
427
  const credentials = resolveTestingCredentials(options);
311
428
  const snapshot = await testingSnapshotFetchFn(new URL(snapshotUrl), {
@@ -337,6 +454,10 @@ function numericId(value, label) {
337
454
  function omitUndefined(record) {
338
455
  return Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
339
456
  }
457
+ function requireBodyFields(body, message) {
458
+ if (Object.keys(body).length === 0)
459
+ throw new Error(message);
460
+ }
340
461
  function resolveOptions(options) {
341
462
  return { orgId: resolveTestingCredentials(options).orgId };
342
463
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testing-operations.js","sourceRoot":"","sources":["../../src/lib/testing-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing-operations.js","sourceRoot":"","sources":["../../src/lib/testing-operations.ts"],"names":[],"mappings":"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"}