testchimp-runner-core 0.0.26 → 0.0.28
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/CREDIT_CALLBACK_ARCHITECTURE.md +253 -0
- package/INTEGRATION_COMPLETE.md +322 -0
- package/RELEASE_0.0.26.md +165 -0
- package/RELEASE_0.0.27.md +236 -0
- package/RELEASE_0.0.28.md +286 -0
- package/dist/credit-usage-service.d.ts +28 -2
- package/dist/credit-usage-service.d.ts.map +1 -1
- package/dist/credit-usage-service.js +60 -24
- package/dist/credit-usage-service.js.map +1 -1
- package/dist/execution-service.d.ts.map +1 -1
- package/dist/execution-service.js +134 -10
- package/dist/execution-service.js.map +1 -1
- package/dist/index.d.ts +13 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -7
- package/dist/index.js.map +1 -1
- package/dist/progress-reporter.d.ts +30 -0
- package/dist/progress-reporter.d.ts.map +1 -1
- package/dist/prompts.js +4 -4
- package/dist/scenario-service.d.ts +1 -1
- package/dist/scenario-service.d.ts.map +1 -1
- package/dist/scenario-service.js +7 -4
- package/dist/scenario-service.js.map +1 -1
- package/dist/scenario-worker-class.d.ts +2 -10
- package/dist/scenario-worker-class.d.ts.map +1 -1
- package/dist/scenario-worker-class.js +88 -26
- package/dist/scenario-worker-class.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/credit-usage-service.ts +81 -26
- package/src/execution-service.ts +158 -11
- package/src/index.ts +42 -10
- package/src/progress-reporter.ts +35 -0
- package/src/prompts.ts +4 -4
- package/src/scenario-service.ts +16 -4
- package/src/scenario-worker-class.ts +102 -28
- package/src/types.ts +16 -0
- package/testchimp-runner-core-0.0.27.tgz +0 -0
- package/testchimp-runner-core-0.0.26.tgz +0 -0
|
@@ -12,15 +12,35 @@ export interface InsertCreditUsageRequest {
|
|
|
12
12
|
}
|
|
13
13
|
export interface InsertCreditUsageResponse {
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Credit usage information for callback
|
|
17
|
+
*/
|
|
18
|
+
export interface CreditUsage {
|
|
19
|
+
credits: number;
|
|
20
|
+
usageReason: CreditUsageReason;
|
|
21
|
+
jobId?: string;
|
|
22
|
+
timestamp: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Callback for credit usage reporting
|
|
26
|
+
* Allows consumers to track credit usage in their own systems
|
|
27
|
+
*/
|
|
28
|
+
export type CreditUsageCallback = (usage: CreditUsage) => void | Promise<void>;
|
|
15
29
|
export declare class CreditUsageService {
|
|
16
30
|
private backendUrl;
|
|
17
31
|
private authConfig;
|
|
18
32
|
private logger?;
|
|
19
|
-
|
|
33
|
+
private creditUsageCallback?;
|
|
34
|
+
constructor(authConfig?: AuthConfig, backendUrl?: string, creditUsageCallback?: CreditUsageCallback);
|
|
20
35
|
/**
|
|
21
36
|
* Set a logger callback for capturing execution logs
|
|
22
37
|
*/
|
|
23
38
|
setLogger(logger: (message: string, level?: 'log' | 'error' | 'warn') => void): void;
|
|
39
|
+
/**
|
|
40
|
+
* Set credit usage callback
|
|
41
|
+
* Allows consumers to track credit usage in their own systems
|
|
42
|
+
*/
|
|
43
|
+
setCreditUsageCallback(callback: CreditUsageCallback): void;
|
|
24
44
|
/**
|
|
25
45
|
* Log a message using the configured logger
|
|
26
46
|
*/
|
|
@@ -34,7 +54,13 @@ export declare class CreditUsageService {
|
|
|
34
54
|
*/
|
|
35
55
|
getAuthConfig(): AuthConfig | null;
|
|
36
56
|
/**
|
|
37
|
-
* Report credit usage
|
|
57
|
+
* Report credit usage via callback and/or backend
|
|
58
|
+
*
|
|
59
|
+
* Behavior:
|
|
60
|
+
* 1. If callback provided: Call callback (server-side uses this to update DB directly)
|
|
61
|
+
* 2. If NO callback but auth configured: Make axios call to backend (client-side: vs-ext, github action)
|
|
62
|
+
* 3. Server-side: Provides callback, no axios calls made
|
|
63
|
+
* 4. Client-side: No callback, uses auth for axios calls to backend
|
|
38
64
|
*/
|
|
39
65
|
reportCreditUsage(credits: number | undefined, usageReason: CreditUsageReason, jobId?: string): Promise<InsertCreditUsageResponse>;
|
|
40
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credit-usage-service.d.ts","sourceRoot":"","sources":["../src/credit-usage-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAG3D,oBAAY,iBAAiB;IAC3B,2BAA2B,IAAI;IAC/B,aAAa,IAAI;IACjB,WAAW,IAAI;IACf,eAAe,IAAI;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;CAEzC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,MAAM,CAAC,CAA8D;
|
|
1
|
+
{"version":3,"file":"credit-usage-service.d.ts","sourceRoot":"","sources":["../src/credit-usage-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAG3D,oBAAY,iBAAiB;IAC3B,2BAA2B,IAAI;IAC/B,aAAa,IAAI;IACjB,WAAW,IAAI;IACf,eAAe,IAAI;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;CAEzC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,MAAM,CAAC,CAA8D;IAC7E,OAAO,CAAC,mBAAmB,CAAC,CAAsB;gBAEtC,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,mBAAmB;IAcnG;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI;IAIpF;;;OAGG;IACH,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAI3D;;OAEG;IACH,OAAO,CAAC,GAAG;IAOX;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAI3C;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAIlC;;;;;;;;OAQG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,YAAI,EACnB,WAAW,EAAE,iBAAiB,EAC9B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC;IAqDrC;;OAEG;IACG,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjE;;OAEG;IACG,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS1D"}
|
|
@@ -15,7 +15,7 @@ var CreditUsageReason;
|
|
|
15
15
|
CreditUsageReason[CreditUsageReason["SCRIPT_GENERATE"] = 3] = "SCRIPT_GENERATE";
|
|
16
16
|
})(CreditUsageReason || (exports.CreditUsageReason = CreditUsageReason = {}));
|
|
17
17
|
class CreditUsageService {
|
|
18
|
-
constructor(authConfig, backendUrl) {
|
|
18
|
+
constructor(authConfig, backendUrl, creditUsageCallback) {
|
|
19
19
|
// Use provided backend URL or fall back to environment configuration
|
|
20
20
|
if (backendUrl) {
|
|
21
21
|
this.backendUrl = backendUrl;
|
|
@@ -26,6 +26,7 @@ class CreditUsageService {
|
|
|
26
26
|
this.backendUrl = envConfig.TESTCHIMP_BACKEND_URL;
|
|
27
27
|
}
|
|
28
28
|
this.authConfig = authConfig || null;
|
|
29
|
+
this.creditUsageCallback = creditUsageCallback;
|
|
29
30
|
}
|
|
30
31
|
/**
|
|
31
32
|
* Set a logger callback for capturing execution logs
|
|
@@ -33,6 +34,13 @@ class CreditUsageService {
|
|
|
33
34
|
setLogger(logger) {
|
|
34
35
|
this.logger = logger;
|
|
35
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Set credit usage callback
|
|
39
|
+
* Allows consumers to track credit usage in their own systems
|
|
40
|
+
*/
|
|
41
|
+
setCreditUsageCallback(callback) {
|
|
42
|
+
this.creditUsageCallback = callback;
|
|
43
|
+
}
|
|
36
44
|
/**
|
|
37
45
|
* Log a message using the configured logger
|
|
38
46
|
*/
|
|
@@ -55,33 +63,61 @@ class CreditUsageService {
|
|
|
55
63
|
return this.authConfig;
|
|
56
64
|
}
|
|
57
65
|
/**
|
|
58
|
-
* Report credit usage
|
|
66
|
+
* Report credit usage via callback and/or backend
|
|
67
|
+
*
|
|
68
|
+
* Behavior:
|
|
69
|
+
* 1. If callback provided: Call callback (server-side uses this to update DB directly)
|
|
70
|
+
* 2. If NO callback but auth configured: Make axios call to backend (client-side: vs-ext, github action)
|
|
71
|
+
* 3. Server-side: Provides callback, no axios calls made
|
|
72
|
+
* 4. Client-side: No callback, uses auth for axios calls to backend
|
|
59
73
|
*/
|
|
60
74
|
async reportCreditUsage(credits = 1, usageReason, jobId) {
|
|
61
|
-
|
|
62
|
-
|
|
75
|
+
const creditUsage = {
|
|
76
|
+
credits,
|
|
77
|
+
usageReason,
|
|
78
|
+
jobId,
|
|
79
|
+
timestamp: Date.now()
|
|
80
|
+
};
|
|
81
|
+
// 1. If callback provided: Use callback (server-side path)
|
|
82
|
+
if (this.creditUsageCallback) {
|
|
83
|
+
try {
|
|
84
|
+
await this.creditUsageCallback(creditUsage);
|
|
85
|
+
this.log(`Credit usage reported via callback: ${credits} credits for ${CreditUsageReason[usageReason]}`);
|
|
86
|
+
return {}; // Callback succeeded, no need for backend call
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
this.log(`Credit usage callback failed: ${error.message}`, 'error');
|
|
90
|
+
throw error; // Callback failure is critical for server-side
|
|
91
|
+
}
|
|
63
92
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
// 2. No callback: Make axios call if auth configured (client-side path: vs-ext, github action)
|
|
94
|
+
if (this.authConfig) {
|
|
95
|
+
try {
|
|
96
|
+
const authHeaders = (0, auth_config_1.getAuthHeaders)(this.authConfig);
|
|
97
|
+
const url = `${this.backendUrl}/localagent/insert_credit_usage`;
|
|
98
|
+
const request = {
|
|
99
|
+
credits,
|
|
100
|
+
usage_reason: usageReason,
|
|
101
|
+
job_id: jobId
|
|
102
|
+
};
|
|
103
|
+
const response = await axios_1.default.post(url, request, {
|
|
104
|
+
headers: {
|
|
105
|
+
...authHeaders,
|
|
106
|
+
'Content-Type': 'application/json'
|
|
107
|
+
},
|
|
108
|
+
timeout: 10000 // 10 second timeout for credit usage calls
|
|
109
|
+
});
|
|
110
|
+
this.log(`Credit usage reported to backend: ${credits} credits for ${CreditUsageReason[usageReason]}`);
|
|
111
|
+
return response.data;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
this.log(`Credit usage backend report failed: ${error.message}`, 'error');
|
|
115
|
+
throw error; // Backend failure is critical for client-side
|
|
116
|
+
}
|
|
84
117
|
}
|
|
118
|
+
// 3. No callback and no auth - no credit tracking (development mode)
|
|
119
|
+
this.log(`Credit usage not tracked (no callback or auth configured): ${credits} credits for ${CreditUsageReason[usageReason]}`, 'warn');
|
|
120
|
+
return {};
|
|
85
121
|
}
|
|
86
122
|
/**
|
|
87
123
|
* Report script generation credit usage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credit-usage-service.js","sourceRoot":"","sources":["../src/credit-usage-service.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,+CAA2D;AAC3D,6CAA6C;AAE7C,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,uGAA+B,CAAA;IAC/B,2EAAiB,CAAA;IACjB,uEAAe,CAAA;IACf,+EAAmB,CAAA;AACrB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B;
|
|
1
|
+
{"version":3,"file":"credit-usage-service.js","sourceRoot":"","sources":["../src/credit-usage-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-service.d.ts","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAE3B,sBAAsB,EACtB,uBAAuB,EAKxB,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,MAAM,CAAC,CAA8D;gBAG3E,UAAU,CAAC,EAAE,UAAU,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,uBAAuB,GAAE,MAAW,EACpC,WAAW,CAAC,EAAE,WAAW,EACzB,gBAAgB,CAAC,EAAE,gBAAgB;IAarC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI;IAIpF;;OAEG;IACH,OAAO,CAAC,GAAG;IAOX;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAQ3C;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkBtF;;OAEG;YACW,qBAAqB;IAmBnC;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAgCjG;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsC7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,OAAO,IAAI,OAAO;YAIJ,UAAU;
|
|
1
|
+
{"version":3,"file":"execution-service.d.ts","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAE3B,sBAAsB,EACtB,uBAAuB,EAKxB,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,MAAM,CAAC,CAA8D;gBAG3E,UAAU,CAAC,EAAE,UAAU,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,uBAAuB,GAAE,MAAW,EACpC,WAAW,CAAC,EAAE,WAAW,EACzB,gBAAgB,CAAC,EAAE,gBAAgB;IAarC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI;IAIpF;;OAEG;IACH,OAAO,CAAC,GAAG;IAOX;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAQ3C;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkBtF;;OAEG;YACW,qBAAqB;IAmBnC;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAgCjG;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsC7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,OAAO,IAAI,OAAO;YAIJ,UAAU;YAiIV,eAAe;YAoKf,oBAAoB;IAgBlC,OAAO,CAAC,4BAA4B;YA8CtB,iBAAiB;YAiVjB,eAAe;IA0B7B;;OAEG;IACH,OAAO,CAAC,aAAa;YAeP,oBAAoB;YAoDpB,oBAAoB;YAiBpB,mBAAmB;IAcjC,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,yBAAyB;YA0CnB,0BAA0B;YAkF1B,iBAAiB;IA0D/B,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;YACW,iBAAiB;IAI/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAkC3B"}
|
|
@@ -186,12 +186,67 @@ class ExecutionService {
|
|
|
186
186
|
if (!request.script) {
|
|
187
187
|
throw new Error('Script content is required for execution. The TestChimpService should read the file and provide script content.');
|
|
188
188
|
}
|
|
189
|
+
// Check if we should use existing browser or create new one
|
|
190
|
+
const useExistingBrowser = !!(request.existingBrowser && request.existingContext && request.existingPage);
|
|
191
|
+
if (useExistingBrowser) {
|
|
192
|
+
this.log('Using existing browser/page provided by caller');
|
|
193
|
+
// Single attempt with existing browser
|
|
194
|
+
const browser = request.existingBrowser;
|
|
195
|
+
const context = request.existingContext;
|
|
196
|
+
const page = request.existingPage;
|
|
197
|
+
try {
|
|
198
|
+
// LIFECYCLE: Call beforeStartTest if provided
|
|
199
|
+
if (this.progressReporter?.beforeStartTest) {
|
|
200
|
+
await this.progressReporter.beforeStartTest(page, browser, context);
|
|
201
|
+
}
|
|
202
|
+
// Execute the script as-is
|
|
203
|
+
await this.executeScriptContent(request.script, page);
|
|
204
|
+
// LIFECYCLE: Call afterEndTest on success
|
|
205
|
+
if (this.progressReporter?.afterEndTest) {
|
|
206
|
+
await this.progressReporter.afterEndTest('passed', undefined, page);
|
|
207
|
+
}
|
|
208
|
+
// Don't close browser - caller owns it
|
|
209
|
+
return {
|
|
210
|
+
run_status: 'success',
|
|
211
|
+
num_deflake_runs: 0,
|
|
212
|
+
executionTime: Date.now() - startTime
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
lastError = error instanceof Error ? error : new Error('Script execution failed');
|
|
217
|
+
this.log(`Execution failed: ${lastError.message}`);
|
|
218
|
+
// LIFECYCLE: Call afterEndTest on failure
|
|
219
|
+
if (this.progressReporter?.afterEndTest) {
|
|
220
|
+
try {
|
|
221
|
+
await this.progressReporter.afterEndTest('failed', lastError.message, page);
|
|
222
|
+
}
|
|
223
|
+
catch (callbackError) {
|
|
224
|
+
this.log(`afterEndTest callback failed: ${callbackError}`, 'warn');
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return {
|
|
228
|
+
run_status: 'failed',
|
|
229
|
+
num_deflake_runs: 0,
|
|
230
|
+
executionTime: Date.now() - startTime,
|
|
231
|
+
error: lastError.message
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
// Create our own browser (original behavior)
|
|
189
236
|
for (let attempt = 1; attempt <= totalAttempts; attempt++) {
|
|
190
237
|
this.log(`Attempting deflake run ${attempt}/${totalAttempts}`);
|
|
191
238
|
const { browser, context, page } = await this.initializeBrowser(request.playwrightConfig, request.headless, request.playwrightConfigFilePath);
|
|
192
239
|
try {
|
|
240
|
+
// LIFECYCLE: Call beforeStartTest if provided
|
|
241
|
+
if (this.progressReporter?.beforeStartTest) {
|
|
242
|
+
await this.progressReporter.beforeStartTest(page, browser, context);
|
|
243
|
+
}
|
|
193
244
|
// Execute the script as-is
|
|
194
245
|
await this.executeScriptContent(request.script, page);
|
|
246
|
+
// LIFECYCLE: Call afterEndTest on success
|
|
247
|
+
if (this.progressReporter?.afterEndTest) {
|
|
248
|
+
await this.progressReporter.afterEndTest('passed', undefined, page);
|
|
249
|
+
}
|
|
195
250
|
await browser.close();
|
|
196
251
|
// Success! Return immediately
|
|
197
252
|
return {
|
|
@@ -203,6 +258,15 @@ class ExecutionService {
|
|
|
203
258
|
catch (error) {
|
|
204
259
|
lastError = error instanceof Error ? error : new Error('Script execution failed');
|
|
205
260
|
this.log(`Initial run failed: ${lastError.message}`);
|
|
261
|
+
// LIFECYCLE: Call afterEndTest on failure
|
|
262
|
+
if (this.progressReporter?.afterEndTest) {
|
|
263
|
+
try {
|
|
264
|
+
await this.progressReporter.afterEndTest('failed', lastError.message, page);
|
|
265
|
+
}
|
|
266
|
+
catch (callbackError) {
|
|
267
|
+
this.log(`afterEndTest callback failed: ${callbackError}`, 'warn');
|
|
268
|
+
}
|
|
269
|
+
}
|
|
206
270
|
try {
|
|
207
271
|
await browser.close();
|
|
208
272
|
}
|
|
@@ -231,6 +295,8 @@ class ExecutionService {
|
|
|
231
295
|
if (!request.script) {
|
|
232
296
|
throw new Error('Script content is required for AI repair. The TestChimpService should read the file and provide script content.');
|
|
233
297
|
}
|
|
298
|
+
// Check if we should use existing browser
|
|
299
|
+
const useExistingBrowser = !!(request.existingBrowser && request.existingContext && request.existingPage);
|
|
234
300
|
// First, try runExactly (which includes deflaking if configured)
|
|
235
301
|
this.log('Attempting runExactly first (with deflaking if configured)...');
|
|
236
302
|
const runExactlyResult = await this.runExactly(request, startTime, model);
|
|
@@ -241,14 +307,40 @@ class ExecutionService {
|
|
|
241
307
|
// runExactly failed, start AI repair
|
|
242
308
|
this.log('runExactly failed, starting AI repair process...');
|
|
243
309
|
try {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
this.
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
310
|
+
let repairBrowser, repairContext, repairPage, steps, updatedSteps;
|
|
311
|
+
if (useExistingBrowser) {
|
|
312
|
+
// Use existing browser
|
|
313
|
+
this.log('Using existing browser for AI repair...');
|
|
314
|
+
repairBrowser = request.existingBrowser;
|
|
315
|
+
repairContext = request.existingContext;
|
|
316
|
+
repairPage = request.existingPage;
|
|
317
|
+
// Parse script into steps
|
|
318
|
+
steps = await this.parseScriptIntoSteps(request.script, model);
|
|
319
|
+
// LIFECYCLE: Call beforeStartTest if provided
|
|
320
|
+
if (this.progressReporter?.beforeStartTest) {
|
|
321
|
+
await this.progressReporter.beforeStartTest(repairPage, repairBrowser, repairContext);
|
|
322
|
+
}
|
|
323
|
+
this.log('Starting AI repair with parsed steps...');
|
|
324
|
+
updatedSteps = await this.repairStepsWithAI(steps, repairPage, repairFlexibility, model);
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
// Start browser initialization and script parsing in parallel for faster startup
|
|
328
|
+
this.log('Initializing repair browser and parsing script...');
|
|
329
|
+
const results = await Promise.all([
|
|
330
|
+
this.parseScriptIntoSteps(request.script, model),
|
|
331
|
+
this.initializeBrowser(request.playwrightConfig, request.headless, request.playwrightConfigFilePath) // Use request.headless (defaults to false/headed)
|
|
332
|
+
]);
|
|
333
|
+
steps = results[0];
|
|
334
|
+
repairBrowser = results[1].browser;
|
|
335
|
+
repairContext = results[1].context;
|
|
336
|
+
repairPage = results[1].page;
|
|
337
|
+
// LIFECYCLE: Call beforeStartTest if provided
|
|
338
|
+
if (this.progressReporter?.beforeStartTest) {
|
|
339
|
+
await this.progressReporter.beforeStartTest(repairPage, repairBrowser, repairContext);
|
|
340
|
+
}
|
|
341
|
+
this.log('Starting AI repair with parsed steps...');
|
|
342
|
+
updatedSteps = await this.repairStepsWithAI(steps, repairPage, repairFlexibility, model);
|
|
343
|
+
}
|
|
252
344
|
// Always generate the updated script
|
|
253
345
|
const updatedScript = this.generateUpdatedScript(updatedSteps);
|
|
254
346
|
// Check if repair was successful by seeing if we completed all steps
|
|
@@ -273,7 +365,19 @@ class ExecutionService {
|
|
|
273
365
|
this.creditUsageService.reportAIRepairCredit().catch(error => {
|
|
274
366
|
this.log(`Failed to report credit usage for AI repair: ${error}`, 'warn');
|
|
275
367
|
});
|
|
276
|
-
|
|
368
|
+
// LIFECYCLE: Call afterEndTest (partial or complete success)
|
|
369
|
+
if (this.progressReporter?.afterEndTest) {
|
|
370
|
+
try {
|
|
371
|
+
await this.progressReporter.afterEndTest(allStepsSuccessful ? 'passed' : 'failed', allStepsSuccessful ? undefined : 'Partial repair success', repairPage);
|
|
372
|
+
}
|
|
373
|
+
catch (callbackError) {
|
|
374
|
+
this.log(`afterEndTest callback failed: ${callbackError}`, 'warn');
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
// Only close browser if we created it (not provided by caller)
|
|
378
|
+
if (!useExistingBrowser) {
|
|
379
|
+
await repairBrowser.close();
|
|
380
|
+
}
|
|
277
381
|
return {
|
|
278
382
|
run_status: 'failed', // Original script failed
|
|
279
383
|
repair_status: allStepsSuccessful ? 'success' : 'partial', // Complete or partial repair success
|
|
@@ -286,7 +390,19 @@ class ExecutionService {
|
|
|
286
390
|
}
|
|
287
391
|
else {
|
|
288
392
|
// No successful repairs at all
|
|
289
|
-
|
|
393
|
+
// LIFECYCLE: Call afterEndTest (complete failure)
|
|
394
|
+
if (this.progressReporter?.afterEndTest) {
|
|
395
|
+
try {
|
|
396
|
+
await this.progressReporter.afterEndTest('failed', 'AI repair could not fix any steps', repairPage);
|
|
397
|
+
}
|
|
398
|
+
catch (callbackError) {
|
|
399
|
+
this.log(`afterEndTest callback failed: ${callbackError}`, 'warn');
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
// Only close browser if we created it (not provided by caller)
|
|
403
|
+
if (!useExistingBrowser) {
|
|
404
|
+
await repairBrowser.close();
|
|
405
|
+
}
|
|
290
406
|
return {
|
|
291
407
|
run_status: 'failed', // Original script failed
|
|
292
408
|
repair_status: 'failed',
|
|
@@ -377,6 +493,14 @@ class ExecutionService {
|
|
|
377
493
|
const step = updatedSteps[i];
|
|
378
494
|
this.log(`Loop iteration: i=${i}, step description="${step.description}", total steps=${updatedSteps.length}`);
|
|
379
495
|
try {
|
|
496
|
+
// LIFECYCLE: Call beforeStepStart if provided
|
|
497
|
+
if (this.progressReporter?.beforeStepStart) {
|
|
498
|
+
await this.progressReporter.beforeStepStart({
|
|
499
|
+
stepNumber: i + 1,
|
|
500
|
+
description: step.description,
|
|
501
|
+
code: step.code
|
|
502
|
+
}, page);
|
|
503
|
+
}
|
|
380
504
|
// Try to execute the step directly without context replay
|
|
381
505
|
this.log(`Attempting Step ${i + 1}: ${step.description}`);
|
|
382
506
|
this.log(` Code: ${step.code}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,16 +8,16 @@ import { ScenarioWorker } from './scenario-worker-class';
|
|
|
8
8
|
import { PlaywrightMCPService } from './playwright-mcp-service';
|
|
9
9
|
import { LLMFacade } from './llm-facade';
|
|
10
10
|
import { AuthConfig } from './auth-config';
|
|
11
|
-
import { CreditUsageService } from './credit-usage-service';
|
|
12
|
-
export { ExecutionService, ScenarioService, ScenarioWorker, PlaywrightMCPService, LLMFacade, CreditUsageService };
|
|
11
|
+
import { CreditUsageService, CreditUsageCallback, CreditUsage, CreditUsageReason } from './credit-usage-service';
|
|
12
|
+
export { ExecutionService, ScenarioService, ScenarioWorker, PlaywrightMCPService, LLMFacade, CreditUsageService, CreditUsageCallback, CreditUsage, CreditUsageReason };
|
|
13
13
|
import { FileHandler, LocalFileHandler, CIFileHandler, NoOpFileHandler } from './file-handler';
|
|
14
14
|
export { FileHandler, LocalFileHandler, CIFileHandler, NoOpFileHandler };
|
|
15
15
|
import { LLMProvider, LLMRequest, LLMResponse } from './llm-provider';
|
|
16
|
-
import { ProgressReporter, StepProgress, JobProgress, StepExecutionStatus } from './progress-reporter';
|
|
16
|
+
import { ProgressReporter, StepProgress, JobProgress, StepExecutionStatus, StepInfo } from './progress-reporter';
|
|
17
17
|
import { BackendProxyLLMProvider } from './providers/backend-proxy-llm-provider';
|
|
18
18
|
import { LocalLLMProvider } from './providers/local-llm-provider';
|
|
19
19
|
export { LLMProvider, LLMRequest, LLMResponse };
|
|
20
|
-
export { ProgressReporter, StepProgress, JobProgress, StepExecutionStatus };
|
|
20
|
+
export { ProgressReporter, StepProgress, JobProgress, StepExecutionStatus, StepInfo };
|
|
21
21
|
export { BackendProxyLLMProvider, LocalLLMProvider };
|
|
22
22
|
import type { AgentConfig } from './orchestrator';
|
|
23
23
|
export { OrchestratorAgent, ToolRegistry, Tool, ToolParameter, ToolExecutionContext, AgentConfig, AgentContext, AgentDecision, JourneyMemory, MemoryStep, OrchestratorStepResult, SelfReflection, ToolCall, ToolResult, DEFAULT_AGENT_CONFIG, TakeScreenshotTool, RecallHistoryTool, InspectPageTool, CheckPageReadyTool, ExtractDataTool } from './orchestrator';
|
|
@@ -39,11 +39,12 @@ export declare class TestChimpService {
|
|
|
39
39
|
private logger?;
|
|
40
40
|
private orchestratorOptions?;
|
|
41
41
|
private outputChannel?;
|
|
42
|
+
private creditUsageCallback?;
|
|
42
43
|
constructor(fileHandler?: FileHandler, authConfig?: AuthConfig, backendUrl?: string, maxWorkers?: number, llmProvider?: LLMProvider, progressReporter?: ProgressReporter, orchestratorOptions?: {
|
|
43
44
|
useOrchestrator?: boolean;
|
|
44
45
|
orchestratorConfig?: Partial<AgentConfig>;
|
|
45
46
|
debugMode?: boolean;
|
|
46
|
-
});
|
|
47
|
+
}, creditUsageCallback?: CreditUsageCallback);
|
|
47
48
|
/**
|
|
48
49
|
* Set authentication configuration for the service
|
|
49
50
|
* Recreates LLM provider and services with new auth config
|
|
@@ -63,6 +64,12 @@ export declare class TestChimpService {
|
|
|
63
64
|
* This enables orchestrator thinking logs to appear in output console
|
|
64
65
|
*/
|
|
65
66
|
setOutputChannel(outputChannel: any): void;
|
|
67
|
+
/**
|
|
68
|
+
* Set credit usage callback
|
|
69
|
+
* Server-side: Use callback to update DB directly (no axios calls)
|
|
70
|
+
* Client-side: Don't set callback, uses auth for axios calls to backend
|
|
71
|
+
*/
|
|
72
|
+
setCreditUsageCallback(callback: CreditUsageCallback): void;
|
|
66
73
|
/**
|
|
67
74
|
* Log a message using the configured logger
|
|
68
75
|
*/
|
|
@@ -73,7 +80,7 @@ export declare class TestChimpService {
|
|
|
73
80
|
getAuthConfig(): AuthConfig | null;
|
|
74
81
|
initialize(): Promise<void>;
|
|
75
82
|
shutdown(): Promise<void>;
|
|
76
|
-
generateScript(scenario: string, testName?: string, config?: string, model?: string, scenarioFileName?: string): Promise<string>;
|
|
83
|
+
generateScript(scenario: string, testName?: string, config?: string, model?: string, scenarioFileName?: string, existingBrowser?: any, existingContext?: any, existingPage?: any): Promise<string>;
|
|
77
84
|
executeScript(request: any): Promise<any>;
|
|
78
85
|
executeScriptWithAIRepair(request: any): Promise<any>;
|
|
79
86
|
reportScriptGenerationCredit(jobId?: string): Promise<void>;
|