donobu 2.27.2 → 2.28.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/dist/apis/FlowsApi.d.ts +6 -15
- package/dist/apis/FlowsApi.d.ts.map +1 -1
- package/dist/apis/FlowsApi.js +18 -65
- package/dist/apis/FlowsApi.js.map +1 -1
- package/dist/assets/generated/version +1 -1
- package/dist/assets/playwright-json-to-markdown.js +1 -1
- package/dist/assets/playwright-json-to-slack-json.js +171 -0
- package/dist/esm/apis/FlowsApi.d.ts +6 -15
- package/dist/esm/apis/FlowsApi.d.ts.map +1 -1
- package/dist/esm/apis/FlowsApi.js +18 -65
- package/dist/esm/apis/FlowsApi.js.map +1 -1
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/assets/playwright-json-to-markdown.js +1 -1
- package/dist/esm/assets/playwright-json-to-slack-json.js +171 -0
- package/dist/esm/lib/testExtension.d.ts.map +1 -1
- package/dist/esm/lib/testExtension.js +88 -100
- package/dist/esm/lib/testExtension.js.map +1 -1
- package/dist/esm/lib/utils/selfHealing.d.ts.map +1 -1
- package/dist/esm/lib/utils/selfHealing.js +20 -4
- package/dist/esm/lib/utils/selfHealing.js.map +1 -1
- package/dist/esm/managers/CodeGenerator.d.ts +1 -1
- package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
- package/dist/esm/managers/CodeGenerator.js +65 -34
- package/dist/esm/managers/CodeGenerator.js.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.js +1 -1
- package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/esm/models/CodeGenerationOptions.d.ts +12 -6
- package/dist/esm/models/CodeGenerationOptions.d.ts.map +1 -1
- package/dist/esm/models/CodeGenerationOptions.js +15 -2
- package/dist/esm/models/CodeGenerationOptions.js.map +1 -1
- package/dist/esm/models/FlowMetadata.js +3 -3
- package/dist/esm/models/FlowMetadata.js.map +1 -1
- package/dist/esm/tools/ReplayableInteraction.d.ts +11 -3
- package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
- package/dist/esm/tools/ReplayableInteraction.js +45 -21
- package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
- package/dist/lib/testExtension.d.ts.map +1 -1
- package/dist/lib/testExtension.js +88 -100
- package/dist/lib/testExtension.js.map +1 -1
- package/dist/lib/utils/selfHealing.d.ts.map +1 -1
- package/dist/lib/utils/selfHealing.js +20 -4
- package/dist/lib/utils/selfHealing.js.map +1 -1
- package/dist/managers/CodeGenerator.d.ts +1 -1
- package/dist/managers/CodeGenerator.d.ts.map +1 -1
- package/dist/managers/CodeGenerator.js +65 -34
- package/dist/managers/CodeGenerator.js.map +1 -1
- package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
- package/dist/managers/DonobuFlowsManager.js +1 -1
- package/dist/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/models/CodeGenerationOptions.d.ts +12 -6
- package/dist/models/CodeGenerationOptions.d.ts.map +1 -1
- package/dist/models/CodeGenerationOptions.js +15 -2
- package/dist/models/CodeGenerationOptions.js.map +1 -1
- package/dist/models/FlowMetadata.js +3 -3
- package/dist/models/FlowMetadata.js.map +1 -1
- package/dist/tools/ReplayableInteraction.d.ts +11 -3
- package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
- package/dist/tools/ReplayableInteraction.js +45 -21
- package/dist/tools/ReplayableInteraction.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Convert Playwright JSON test results to a simplified Slack-compatible report.
|
|
5
|
+
*
|
|
6
|
+
* Usage: node playwright-json-to-slack-json.js input.json [--report-url <url>]
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
|
|
11
|
+
// Read the JSON data from file or stdin
|
|
12
|
+
function readInput() {
|
|
13
|
+
const args = process.argv.slice(2);
|
|
14
|
+
|
|
15
|
+
// Parse arguments to extract report URL and input file
|
|
16
|
+
let reportUrl = null;
|
|
17
|
+
let inputFile = null;
|
|
18
|
+
|
|
19
|
+
for (let i = 0; i < args.length; i++) {
|
|
20
|
+
if (args[i] === '--report-url' && i + 1 < args.length) {
|
|
21
|
+
reportUrl = args[i + 1];
|
|
22
|
+
i++; // Skip the URL value
|
|
23
|
+
} else if (!args[i].startsWith('--')) {
|
|
24
|
+
inputFile = args[i];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
let jsonData;
|
|
29
|
+
|
|
30
|
+
if (inputFile) {
|
|
31
|
+
jsonData = JSON.parse(fs.readFileSync(inputFile, 'utf8'));
|
|
32
|
+
} else {
|
|
33
|
+
jsonData = JSON.parse(fs.readFileSync(0, 'utf8')); // Read from stdin
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return { jsonData, reportUrl };
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Process JSON and create simplified Slack blocks
|
|
40
|
+
function generateSlackBlocks(jsonData, reportUrl) {
|
|
41
|
+
const { suites } = jsonData;
|
|
42
|
+
|
|
43
|
+
const blocks = [];
|
|
44
|
+
|
|
45
|
+
// Header block
|
|
46
|
+
blocks.push({
|
|
47
|
+
type: 'header',
|
|
48
|
+
text: {
|
|
49
|
+
type: 'plain_text',
|
|
50
|
+
text: '🎭 Playwright Test Summary',
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// Track totals
|
|
55
|
+
let totalPassed = 0;
|
|
56
|
+
let totalFailed = 0;
|
|
57
|
+
let totalTimedOut = 0;
|
|
58
|
+
let totalSkipped = 0;
|
|
59
|
+
let totalInterrupted = 0;
|
|
60
|
+
let totalSelfHealed = 0;
|
|
61
|
+
|
|
62
|
+
// Process each suite to get totals
|
|
63
|
+
suites.forEach((suite) => {
|
|
64
|
+
suite.specs.forEach((spec) => {
|
|
65
|
+
spec.tests.forEach((test) => {
|
|
66
|
+
const result = test.results && test.results.at(-1);
|
|
67
|
+
const isSelfHealed =
|
|
68
|
+
test.annotations &&
|
|
69
|
+
test.annotations.some((a) => a.type === 'self-healed');
|
|
70
|
+
|
|
71
|
+
if (
|
|
72
|
+
test.status === 'skipped' ||
|
|
73
|
+
(!result && test.status === undefined)
|
|
74
|
+
) {
|
|
75
|
+
totalSkipped++;
|
|
76
|
+
} else if (result) {
|
|
77
|
+
if (isSelfHealed) {
|
|
78
|
+
totalSelfHealed++;
|
|
79
|
+
} else {
|
|
80
|
+
switch (result.status) {
|
|
81
|
+
case 'passed':
|
|
82
|
+
totalPassed++;
|
|
83
|
+
break;
|
|
84
|
+
case 'failed':
|
|
85
|
+
totalFailed++;
|
|
86
|
+
break;
|
|
87
|
+
case 'timedOut':
|
|
88
|
+
totalTimedOut++;
|
|
89
|
+
break;
|
|
90
|
+
case 'skipped':
|
|
91
|
+
totalSkipped++;
|
|
92
|
+
break;
|
|
93
|
+
case 'interrupted':
|
|
94
|
+
totalInterrupted++;
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// Create status summary table
|
|
104
|
+
const statusRows = [
|
|
105
|
+
{ name: 'Passed', emoji: '✅', count: totalPassed },
|
|
106
|
+
{ name: 'Self-Healed', emoji: '❤️🩹', count: totalSelfHealed },
|
|
107
|
+
{ name: 'Failed', emoji: '❌', count: totalFailed },
|
|
108
|
+
{ name: 'Timed Out', emoji: '⏰', count: totalTimedOut },
|
|
109
|
+
{ name: 'Skipped', emoji: '⏭️', count: totalSkipped },
|
|
110
|
+
{ name: 'Interrupted', emoji: '⚡', count: totalInterrupted },
|
|
111
|
+
];
|
|
112
|
+
|
|
113
|
+
// Add each status row as a section with two fields
|
|
114
|
+
statusRows.forEach((row) => {
|
|
115
|
+
blocks.push({
|
|
116
|
+
type: 'section',
|
|
117
|
+
fields: [
|
|
118
|
+
{
|
|
119
|
+
type: 'mrkdwn',
|
|
120
|
+
text: `${row.emoji} ${row.name}`,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'mrkdwn',
|
|
124
|
+
text: `${row.count}`,
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
// Add report URL link if provided
|
|
131
|
+
if (reportUrl) {
|
|
132
|
+
blocks.push({
|
|
133
|
+
type: 'divider',
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
blocks.push({
|
|
137
|
+
type: 'section',
|
|
138
|
+
text: {
|
|
139
|
+
type: 'mrkdwn',
|
|
140
|
+
text: `📊 <${reportUrl}|View Full Report>`,
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Add timestamp footer
|
|
146
|
+
blocks.push({
|
|
147
|
+
type: 'divider',
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
blocks.push({
|
|
151
|
+
type: 'context',
|
|
152
|
+
elements: [
|
|
153
|
+
{
|
|
154
|
+
type: 'mrkdwn',
|
|
155
|
+
text: `Report generated on ${new Date().toLocaleString()} by Donobu`,
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
return { blocks };
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// Main execution
|
|
164
|
+
try {
|
|
165
|
+
const { jsonData, reportUrl } = readInput();
|
|
166
|
+
const slackBlocks = generateSlackBlocks(jsonData, reportUrl);
|
|
167
|
+
console.log(JSON.stringify(slackBlocks, null, 2));
|
|
168
|
+
} catch (error) {
|
|
169
|
+
console.error('Error processing JSON:', error.message);
|
|
170
|
+
process.exit(1);
|
|
171
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testExtension.d.ts","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAoDjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAOpE,cAAc,iBAAiB,CAAC;AAIhC,eAAO,MAAM,IAAI;mBACA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACrD,SAAS;UACf,kBAAkB;
|
|
1
|
+
{"version":3,"file":"testExtension.d.ts","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAoDjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAOpE,cAAc,iBAAiB,CAAC;AAIhC,eAAO,MAAM,IAAI;mBACA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACrD,SAAS;UACf,kBAAkB;wGAodxB,CAAC"}
|
|
@@ -63,88 +63,15 @@ exports.test = test_1.test.extend({
|
|
|
63
63
|
],
|
|
64
64
|
// Override the default page fixture
|
|
65
65
|
page: async ({ page, gptClient, headless }, use, testInfo) => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
Logger_1.appLogger.debug(`Saved initial browser state: ${JSON.stringify(page._initialBrowserState, null, 2)}`);
|
|
69
|
-
}
|
|
70
|
-
catch (e) {
|
|
71
|
-
page._initialBrowserState = {
|
|
72
|
-
cookies: [],
|
|
73
|
-
origins: [],
|
|
74
|
-
};
|
|
75
|
-
Logger_1.appLogger.error(`Failed to record initial browser state for test: ${testInfo.file}`, e);
|
|
76
|
-
}
|
|
77
|
-
if (!gptClient) {
|
|
78
|
-
try {
|
|
79
|
-
gptClient = await (0, gptClients_1.getOrCreateDefaultGptClient)();
|
|
80
|
-
}
|
|
81
|
-
catch (_error) {
|
|
82
|
-
// Do nothing since we may not need a GPT client at all anyway.
|
|
83
|
-
// If something later on requires a GPT client, it will throw an error.
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
if (gptClient) {
|
|
87
|
-
const modelName = 'modelName' in gptClient.config
|
|
88
|
-
? gptClient.config.modelName
|
|
89
|
-
: 'unknown';
|
|
90
|
-
Logger_1.appLogger.info(`Setup ${gptClient.config.type} client for model: ${modelName}`);
|
|
91
|
-
}
|
|
92
|
-
// Patch the page with "run", but do it lazily
|
|
66
|
+
page._initialBrowserState = await getBrowserState(page, testInfo);
|
|
67
|
+
gptClient = await buttonUpGptClient(gptClient);
|
|
93
68
|
const donobu = await (0, donobuTestStack_1.getOrCreateDonobuStack)();
|
|
69
|
+
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
94
70
|
await PlaywrightUtils_1.PlaywrightUtils.setupBasicBrowserContext(page.context());
|
|
95
71
|
// Save the oringal goto method since we override it later. We need the
|
|
96
72
|
// original so we can delegate to it in our override.
|
|
97
73
|
page._originalGoto = page.goto;
|
|
98
|
-
let isTestRunInitialized = false;
|
|
99
|
-
async function maybeInitDonobu() {
|
|
100
|
-
if (isTestRunInitialized) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
const overallObjective = testInfo.annotations.find((v) => {
|
|
104
|
-
return v.type === 'objective';
|
|
105
|
-
})?.description ?? null;
|
|
106
|
-
// Get the implied allowed environment variables by inspecting the objective.
|
|
107
|
-
const allowedEnvVarsByName = DonobuFlowsManager_1.DonobuFlowsManager.distillAllowedEnvVariableNames(overallObjective, null);
|
|
108
|
-
const donobuTestFlowMetadata = {
|
|
109
|
-
id: (0, uuid_1.v4)(),
|
|
110
|
-
name: testInfo.title,
|
|
111
|
-
createdWithDonobuVersion: MiscUtils_1.MiscUtils.DONOBU_VERSION,
|
|
112
|
-
browser: {
|
|
113
|
-
persistState: true,
|
|
114
|
-
using: {
|
|
115
|
-
type: 'device',
|
|
116
|
-
deviceName: 'Desktop Chromium',
|
|
117
|
-
headless: headless,
|
|
118
|
-
},
|
|
119
|
-
},
|
|
120
|
-
envVars: allowedEnvVarsByName,
|
|
121
|
-
gptConfigName: null,
|
|
122
|
-
hasGptConfigNameOverride: false,
|
|
123
|
-
customTools: null,
|
|
124
|
-
defaultMessageDuration: 0,
|
|
125
|
-
runMode: 'DETERMINISTIC',
|
|
126
|
-
isControlPanelEnabled: false,
|
|
127
|
-
callbackUrl: null,
|
|
128
|
-
targetWebsite: PLACEHOLDER_FLOW_URL,
|
|
129
|
-
overallObjective: overallObjective,
|
|
130
|
-
allowedTools: [],
|
|
131
|
-
resultJsonSchema: null,
|
|
132
|
-
result: null,
|
|
133
|
-
inputTokensUsed: 0,
|
|
134
|
-
completionTokensUsed: 0,
|
|
135
|
-
maxToolCalls: null,
|
|
136
|
-
startedAt: new Date().getTime(),
|
|
137
|
-
completedAt: null,
|
|
138
|
-
state: 'RUNNING_ACTION',
|
|
139
|
-
nextState: null,
|
|
140
|
-
};
|
|
141
|
-
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
142
|
-
await persistenceLayer.setFlowMetadata(donobuTestFlowMetadata);
|
|
143
|
-
page._donobuFlowMetadata = donobuTestFlowMetadata;
|
|
144
|
-
isTestRunInitialized = true;
|
|
145
|
-
}
|
|
146
74
|
page.ai = async (instruction, schema) => {
|
|
147
|
-
await maybeInitDonobu();
|
|
148
75
|
const envData = await donobu.flowsManager.buildEnvData(page._donobuFlowMetadata.envVars ?? []);
|
|
149
76
|
const jsonSchema = schema
|
|
150
77
|
? (0, zod_to_json_schema_1.zodToJsonSchema)(schema, {
|
|
@@ -163,7 +90,6 @@ exports.test = test_1.test.extend({
|
|
|
163
90
|
maxToolCalls: 25,
|
|
164
91
|
state: 'UNSTARTED',
|
|
165
92
|
};
|
|
166
|
-
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
167
93
|
// We have to revert to the original goto method in case the autonomous
|
|
168
94
|
// flow invokes a goto tool call (and it takes care of the things that
|
|
169
95
|
// the overwritten page goto method does).
|
|
@@ -195,10 +121,8 @@ exports.test = test_1.test.extend({
|
|
|
195
121
|
// Donobu action if necessary. This can happen if you run a Playwright
|
|
196
122
|
// test using npx, but later decide to rerun that run using the Donobu UI.
|
|
197
123
|
page.goto = async (url, options) => {
|
|
198
|
-
await maybeInitDonobu();
|
|
199
124
|
const startedAt = new Date().getTime();
|
|
200
125
|
const flowId = page._donobuFlowMetadata.id;
|
|
201
|
-
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
202
126
|
// Update the target website to whatever the first place we are
|
|
203
127
|
// navigating to is.
|
|
204
128
|
if (page._donobuFlowMetadata.targetWebsite === PLACEHOLDER_FLOW_URL) {
|
|
@@ -242,7 +166,7 @@ exports.test = test_1.test.extend({
|
|
|
242
166
|
const completedAt = new Date().getTime();
|
|
243
167
|
await persistenceLayer.saveToolCall(flowId, {
|
|
244
168
|
id: MiscUtils_1.MiscUtils.createAdHocToolCallId(),
|
|
245
|
-
toolName:
|
|
169
|
+
toolName: GoToWebpageTool_1.GoToWebpageTool.NAME,
|
|
246
170
|
parameters: {
|
|
247
171
|
url: url,
|
|
248
172
|
},
|
|
@@ -262,7 +186,6 @@ exports.test = test_1.test.extend({
|
|
|
262
186
|
}
|
|
263
187
|
};
|
|
264
188
|
page.run = async (toolName, toolParams, gptClientOverride) => {
|
|
265
|
-
await maybeInitDonobu();
|
|
266
189
|
let finalGptClient = null;
|
|
267
190
|
if (gptClientOverride) {
|
|
268
191
|
if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
|
|
@@ -277,7 +200,6 @@ exports.test = test_1.test.extend({
|
|
|
277
200
|
}
|
|
278
201
|
const pageInspector = new PageInspector_1.PageInspector();
|
|
279
202
|
const controlPanel = new ControlPanel_1.ControlPanel(page._donobuFlowMetadata);
|
|
280
|
-
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
281
203
|
const clonedParams = toolParams
|
|
282
204
|
? JSON.parse(JSON.stringify(toolParams))
|
|
283
205
|
: {};
|
|
@@ -347,10 +269,9 @@ exports.test = test_1.test.extend({
|
|
|
347
269
|
return page.run(ClickTool_1.ClickTool.NAME, params);
|
|
348
270
|
};
|
|
349
271
|
page.createCookieReport = async (gptClientOverride) => {
|
|
350
|
-
return page.run(CreateBrowserCookieReportTool_1.CreateBrowserCookieReportTool.NAME, gptClientOverride);
|
|
272
|
+
return page.run(CreateBrowserCookieReportTool_1.CreateBrowserCookieReportTool.NAME, {}, gptClientOverride);
|
|
351
273
|
};
|
|
352
274
|
page.extract = async (params, gptClientOverride) => {
|
|
353
|
-
await maybeInitDonobu();
|
|
354
275
|
let finalGptClient = null;
|
|
355
276
|
if (gptClientOverride) {
|
|
356
277
|
if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
|
|
@@ -368,7 +289,6 @@ exports.test = test_1.test.extend({
|
|
|
368
289
|
throw Error('Cannot extract an object from page without a GPT client set up!');
|
|
369
290
|
}
|
|
370
291
|
try {
|
|
371
|
-
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
372
292
|
const toolCallHistory = await persistenceLayer.getToolCalls(page._donobuFlowMetadata.id);
|
|
373
293
|
const structuredOutputMessage = await (0, DonobuFlow_1.extractFromPage)(params.instruction ??
|
|
374
294
|
'Generate an object conforming to the given JSON-schema', (0, JsonSchemaUtils_1.jsonSchemaToZod)(params.schema), page, toolCallHistory, finalGptClient);
|
|
@@ -404,6 +324,46 @@ exports.test = test_1.test.extend({
|
|
|
404
324
|
return page.run(AssertTool_1.AssertTool.NAME, params, gptClientOverride);
|
|
405
325
|
};
|
|
406
326
|
try {
|
|
327
|
+
const overallObjective = testInfo.annotations.find((v) => {
|
|
328
|
+
return v.type === 'objective';
|
|
329
|
+
})?.description ?? null;
|
|
330
|
+
// Get the implied allowed environment variables by inspecting the objective.
|
|
331
|
+
const allowedEnvVarsByName = DonobuFlowsManager_1.DonobuFlowsManager.distillAllowedEnvVariableNames(overallObjective, null);
|
|
332
|
+
const donobuTestFlowMetadata = {
|
|
333
|
+
id: (0, uuid_1.v4)(),
|
|
334
|
+
name: testInfo.title,
|
|
335
|
+
createdWithDonobuVersion: MiscUtils_1.MiscUtils.DONOBU_VERSION,
|
|
336
|
+
browser: {
|
|
337
|
+
persistState: true,
|
|
338
|
+
using: {
|
|
339
|
+
type: 'device',
|
|
340
|
+
deviceName: 'Desktop Chromium',
|
|
341
|
+
headless: headless,
|
|
342
|
+
},
|
|
343
|
+
},
|
|
344
|
+
envVars: allowedEnvVarsByName,
|
|
345
|
+
gptConfigName: null,
|
|
346
|
+
hasGptConfigNameOverride: false,
|
|
347
|
+
customTools: null,
|
|
348
|
+
defaultMessageDuration: 0,
|
|
349
|
+
runMode: 'DETERMINISTIC',
|
|
350
|
+
isControlPanelEnabled: false,
|
|
351
|
+
callbackUrl: null,
|
|
352
|
+
targetWebsite: PLACEHOLDER_FLOW_URL,
|
|
353
|
+
overallObjective: overallObjective,
|
|
354
|
+
allowedTools: [],
|
|
355
|
+
resultJsonSchema: null,
|
|
356
|
+
result: null,
|
|
357
|
+
inputTokensUsed: 0,
|
|
358
|
+
completionTokensUsed: 0,
|
|
359
|
+
maxToolCalls: null,
|
|
360
|
+
startedAt: new Date().getTime(),
|
|
361
|
+
completedAt: null,
|
|
362
|
+
state: 'RUNNING_ACTION',
|
|
363
|
+
nextState: null,
|
|
364
|
+
};
|
|
365
|
+
await persistenceLayer.setFlowMetadata(donobuTestFlowMetadata);
|
|
366
|
+
page._donobuFlowMetadata = donobuTestFlowMetadata;
|
|
407
367
|
// Let Playwright continue and give tests the patched page.
|
|
408
368
|
await use(page);
|
|
409
369
|
}
|
|
@@ -414,7 +374,6 @@ exports.test = test_1.test.extend({
|
|
|
414
374
|
}
|
|
415
375
|
finally {
|
|
416
376
|
try {
|
|
417
|
-
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
418
377
|
if (page._donobuFlowMetadata) {
|
|
419
378
|
// Update metadata with final status.
|
|
420
379
|
page._donobuFlowMetadata.state =
|
|
@@ -436,8 +395,14 @@ exports.test = test_1.test.extend({
|
|
|
436
395
|
// Log but don't throw, to ensure cleanup continues.
|
|
437
396
|
Logger_1.appLogger.error('Error during test cleanup:', error);
|
|
438
397
|
}
|
|
439
|
-
if (
|
|
440
|
-
if (
|
|
398
|
+
if (testInfo.status === 'failed' && isSelfHealingEnabled(testInfo)) {
|
|
399
|
+
if (!page._donobuFlowMetadata) {
|
|
400
|
+
Logger_1.appLogger.error('Will not self-heal due to no Donobu metadata being found.');
|
|
401
|
+
}
|
|
402
|
+
else if (!gptClient) {
|
|
403
|
+
Logger_1.appLogger.warn('Will not self-heal due to no GPT client being set up.');
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
441
406
|
try {
|
|
442
407
|
await (0, selfHealing_1.selfHeal)(gptClient, testInfo, page);
|
|
443
408
|
}
|
|
@@ -445,22 +410,12 @@ exports.test = test_1.test.extend({
|
|
|
445
410
|
Logger_1.appLogger.error('Error when attempting to self heal:', selfHealError);
|
|
446
411
|
}
|
|
447
412
|
}
|
|
448
|
-
else {
|
|
449
|
-
Logger_1.appLogger.warn('Will not self-heal due to no GPT client being set up.');
|
|
450
|
-
}
|
|
451
413
|
}
|
|
452
414
|
}
|
|
453
415
|
},
|
|
454
416
|
});
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
*/
|
|
458
|
-
function shouldSelfHeal(flowMetadata, testInfo) {
|
|
459
|
-
if (flowMetadata.state !== 'FAILED') {
|
|
460
|
-
// Nothing to self-heal if the flow did not fail.
|
|
461
|
-
return false;
|
|
462
|
-
}
|
|
463
|
-
else if (envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED in testInfo.project.metadata) {
|
|
417
|
+
function isSelfHealingEnabled(testInfo) {
|
|
418
|
+
if (envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED in testInfo.project.metadata) {
|
|
464
419
|
// Check project-specific metadata. This takes priority if it exists.
|
|
465
420
|
const isSelfHealEnabledForProject = (0, yn_1.default)(testInfo.project.metadata[envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED]) ??
|
|
466
421
|
false;
|
|
@@ -472,4 +427,37 @@ function shouldSelfHeal(flowMetadata, testInfo) {
|
|
|
472
427
|
return isSelfHealEnabledViaEnvVar;
|
|
473
428
|
}
|
|
474
429
|
}
|
|
430
|
+
async function getBrowserState(page, testInfo) {
|
|
431
|
+
try {
|
|
432
|
+
return await BrowserUtils_1.BrowserUtils.getBrowserStorageState(page.context());
|
|
433
|
+
}
|
|
434
|
+
catch (e) {
|
|
435
|
+
Logger_1.appLogger.error(`Failed to fetch browser state for test: ${testInfo.file}`, e);
|
|
436
|
+
return {
|
|
437
|
+
cookies: [],
|
|
438
|
+
origins: [],
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
async function buttonUpGptClient(gptClient) {
|
|
443
|
+
try {
|
|
444
|
+
if (!gptClient) {
|
|
445
|
+
gptClient = await (0, gptClients_1.getOrCreateDefaultGptClient)();
|
|
446
|
+
}
|
|
447
|
+
return gptClient;
|
|
448
|
+
}
|
|
449
|
+
catch (_error) {
|
|
450
|
+
// Do nothing since we may not need a GPT client at all anyway.
|
|
451
|
+
// If something later on requires a GPT client, it will throw an error.
|
|
452
|
+
return gptClient;
|
|
453
|
+
}
|
|
454
|
+
finally {
|
|
455
|
+
if (gptClient) {
|
|
456
|
+
const modelName = 'modelName' in gptClient.config
|
|
457
|
+
? gptClient.config.modelName
|
|
458
|
+
: 'unknown';
|
|
459
|
+
Logger_1.appLogger.info(`Setup ${gptClient.config.type} client for model: ${modelName}`);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
}
|
|
475
463
|
//# sourceMappingURL=testExtension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testExtension.js","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,2CAAgE;AAChE,4CAAoB;AACpB,+BAAkC;AAElC,oDAAiD;AAEjD,oEAAiE;AACjE,8DAA2D;AAC3D,6DAAiE;AACjE,qDAA+C;AAC/C,wCAA2C;AAC3C,kDAA+C;AAC/C,uEAAoE;AAEpE,sDAAoE;AACpE,8DAGkC;AAElC,6DAA0D;AAC1D,2DAAwD;AACxD,6EAA0E;AAE1E,yDAAsD;AACtD,sEAGsC;AACtC,oEAGqC;AACrC,4CAA4C;AAC5C,uDAAqE;AAErE,wEAAqE;AACrE,8FAGkD;AAClD,oDAAmE;AACnE,8EAG0C;AAC1C,4EAGyC;AACzC,kDAA+C;AAC/C,0FAAuF;AACvF,0DAA8E;AAC9E,wDAA2E;AAC3E,gFAA6E;AAC7E,4DAA+E;AAE/E,wDAAqD;AAGrD,8DAA2D;AAC3D,2DAAqD;AAErD,kDAAgC;AAEhC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEtC,QAAA,IAAI,GAAG,WAAI,CAAC,MAAM,CAI5B;IACD,+EAA+E;IAC/E,SAAS,EAAE;QACT,SAAS,EAAE,UAAU;QACrB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,oDAAoD;KACvE;IACD,oCAAoC;IACpC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,IAAI,CAAC,oBAAoB,GAAG,MAAM,2BAAY,CAAC,sBAAsB,CACnE,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;YACF,kBAAS,CAAC,KAAK,CACb,gCAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,GAAG;gBAC1B,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;aACZ,CAAC;YACF,kBAAS,CAAC,KAAK,CACb,oDAAoD,QAAQ,CAAC,IAAI,EAAE,EACnE,CAAC,CACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,IAAA,wCAA2B,GAAE,CAAC;YAClD,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,+DAA+D;gBAC/D,uEAAuE;YACzE,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,GACb,WAAW,IAAI,SAAS,CAAC,MAAM;gBAC7B,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS;gBAC5B,CAAC,CAAC,SAAS,CAAC;YAChB,kBAAS,CAAC,IAAI,CACZ,SAAS,SAAS,CAAC,MAAM,CAAC,IAAI,sBAAsB,SAAS,EAAE,CAChE,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAsB,GAAE,CAAC;QAC9C,MAAM,iCAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,uEAAuE;QACvE,qDAAqD;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;QAE/B,IAAI,oBAAoB,GAAG,KAAK,CAAC;QAEjC,KAAK,UAAU,eAAe;YAC5B,IAAI,oBAAoB,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,MAAM,gBAAgB,GACpB,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;YAChC,CAAC,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC;YAC1B,6EAA6E;YAC7E,MAAM,oBAAoB,GACxB,uCAAkB,CAAC,8BAA8B,CAC/C,gBAAgB,EAChB,IAAI,CACL,CAAC;YACJ,MAAM,sBAAsB,GAAiB;gBAC3C,EAAE,EAAE,IAAA,SAAI,GAAE;gBACV,IAAI,EAAE,QAAQ,CAAC,KAAK;gBACpB,wBAAwB,EAAE,qBAAS,CAAC,cAAc;gBAClD,OAAO,EAAE;oBACP,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,kBAAkB;wBAC9B,QAAQ,EAAE,QAAQ;qBACnB;iBACF;gBACD,OAAO,EAAE,oBAAoB;gBAC7B,aAAa,EAAE,IAAI;gBACnB,wBAAwB,EAAE,KAAK;gBAC/B,WAAW,EAAE,IAAI;gBACjB,sBAAsB,EAAE,CAAC;gBACzB,OAAO,EAAE,eAAe;gBACxB,qBAAqB,EAAE,KAAK;gBAC5B,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,oBAAoB;gBACnC,gBAAgB,EAAE,gBAAgB;gBAClC,YAAY,EAAE,EAAE;gBAChB,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,CAAC;gBAClB,oBAAoB,EAAE,CAAC;gBACvB,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC/B,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,gBAAgB;gBACvB,SAAS,EAAE,IAAI;aAChB,CAAC;YACF,MAAM,gBAAgB,GACpB,MAAM,MAAM,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;YAChE,MAAM,gBAAgB,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;YAC/D,IAAI,CAAC,mBAAmB,GAAG,sBAAsB,CAAC;YAClD,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,KAAK,EACb,WAAmB,EACnB,MAAU,EACV,EAAE;YACF,MAAM,eAAe,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,YAAY,CACpD,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,EAAE,CACvC,CAAC;YACF,MAAM,UAAU,GAAG,MAAM;gBACvB,CAAC,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE;oBACtB,MAAM,EAAE,aAAa;oBACrB,YAAY,EAAE,MAAM;iBACrB,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,oBAAoB,GAAiB;gBACzC,GAAG,IAAI,CAAC,mBAAmB;aAC5B,CAAC;YACF,MAAM,sBAAsB,GAAiB;gBAC3C,GAAG,oBAAoB;gBACvB,OAAO,EAAE,YAAY;gBACrB,gBAAgB,EAAE,WAAW;gBAC7B,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAE,UAA0B,CAAC,CAAC,CAAC,IAAI;gBACjE,YAAY,EAAE,EAAE;gBAChB,KAAK,EAAE,WAAW;aACnB,CAAC;YACF,MAAM,gBAAgB,GACpB,MAAM,MAAM,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;YAChE,uEAAuE;YACvE,sEAAsE;YACtE,0CAA0C;YAC1C,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjD,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAC/B,MAAM,CAAC,YAAY,EACnB,OAAO,EACP,IAAI,CAAC,OAAO,EAAE,EACd,gBAAgB,EAChB,SAAS,IAAI,IAAI,EACjB,IAAI,yBAAW,CAAC,MAAM,yBAAW,CAAC,YAAY,EAAE,CAAC,EACjD,IAAI,6CAAqB,CAAC,CAAC,CAAC,EAC5B,EAAE,EACF,EAAE,EACF,EAAE,EACF;gBACE,OAAO,EAAE,oBAAoB;aAC9B,EACD,sBAAsB,CACvB,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,MAAM;oBACnB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC1C,CAAC,CAAC,SAAS,CAAC;gBACd,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3D,CAAC;oBAAS,CAAC;gBACT,iEAAiE;gBACjE,mEAAmE;gBACnE,mEAAmE;gBACnE,MAAM,eAAe,GAAG;oBACtB,GAAG,oBAAoB;oBACvB,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe;oBACpD,oBAAoB,EAAE,UAAU,CAAC,QAAQ,CAAC,oBAAoB;iBACxC,CAAC;gBACzB,MAAM,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;QAEF,yEAAyE;QACzE,sEAAsE;QACtE,0EAA0E;QAC1E,IAAI,CAAC,IAAI,GAAG,KAAK,EACf,GAAW,EACX,OAIC,EACD,EAAE;YACF,MAAM,eAAe,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC3C,MAAM,gBAAgB,GACpB,MAAM,MAAM,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;YAChE,+DAA+D;YAC/D,oBAAoB;YACpB,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;gBACpE,IAAI,CAAC,mBAAmB,GAAG;oBACzB,GAAG,IAAI,CAAC,mBAAmB;oBAC3B,aAAa,EAAE,GAAG;iBACnB,CAAC;gBACF,MAAM,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC/D,MAAM,iCAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,aAAa,GACjB,MAAM,iCAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAC3D,MAAM,EACN,aAAa,CACd,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;oBAC1C,EAAE,EAAE,qBAAS,CAAC,qBAAqB,EAAE;oBACrC,QAAQ,EAAE,iCAAe,CAAC,IAAI;oBAC9B,UAAU,EAAE;wBACV,GAAG,EAAE,GAAG;qBAC+C;oBACzD,OAAO,EAAE;wBACP,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,6BAA6B,GAAG,EAAE;wBAC1C,QAAQ,EAAE;4BACR,SAAS,EAAE,SAAS;4BACpB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;yBACxB;qBACF;oBACD,eAAe,EAAE,eAAe;oBAChC,IAAI,EAAE,GAAG;oBACT,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,WAAW;iBACN,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,aAAa,GACjB,MAAM,iCAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAC3D,MAAM,EACN,aAAa,CACd,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;oBAC1C,EAAE,EAAE,qBAAS,CAAC,qBAAqB,EAAE;oBACrC,QAAQ,EAAE,aAAa;oBACvB,UAAU,EAAE;wBACV,GAAG,EAAE,GAAG;qBAC+C;oBACzD,OAAO,EAAE;wBACP,YAAY,EAAE,KAAK;wBACnB,MAAM,EAAE,WAAW,OAAO,KAAK,KAAM,KAAa,CAAC,OAAO,EAAE;wBAC5D,QAAQ,EAAE,IAAI;qBACf;oBACD,eAAe,EAAE,eAAe;oBAChC,IAAI,EAAE,GAAG;oBACT,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,WAAW;iBACN,CAAC,CAAC;gBAEtB,yCAAyC;gBACzC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC3B,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,KAAK,EACd,QAAgB,EAChB,UAAgB,EAChB,iBAA6C,EAC7C,EAAE;YACF,MAAM,eAAe,EAAE,CAAC;YACxB,IAAI,cAAc,GAAqB,IAAI,CAAC;YAE5C,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,iBAAiB,YAAY,qBAAS,CAAC,EAAE,CAAC;oBAC9C,cAAc,GAAG,IAAI,qCAAiB,CAAC,iBAAiB,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,cAAc,GAAG,iBAAiB,CAAC;gBACrC,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,cAAc,GAAG,SAAS,CAAC;YAC7B,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChE,MAAM,gBAAgB,GACpB,MAAM,MAAM,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;YAChE,MAAM,YAAY,GAAG,UAAU;gBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC,CAAC,EAAE,CAAC;YACP,YAAY,CAAC,SAAS,KAAtB,YAAY,CAAC,SAAS,GAAK,EAAE,EAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,YAAY,CACpD,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,EAAE,CACvC,CAAC;YACF,MAAM,eAAe,GAAG;gBACtB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,OAAO,EAAE,OAAO;gBAChB,aAAa,EAAE,aAAa;gBAC5B,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,cAAc;gBACzB,qBAAqB,EAAE,IAAI,6CAAqB,CAAC,CAAC,CAAC;gBACnD,iBAAiB,EAAE,EAAE;gBACrB,gBAAgB,EAAE,EAAE;gBACpB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBACvB,QAAQ,EAAE,IAAI,CAAC,mBAAmB;gBAClC,UAAU,EACR,YAAY,CAAC,UAAU,IAAI,qBAAS,CAAC,qBAAqB,EAAE;aACrC,CAAC;YAE5B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,yBAAW,CAAC,QAAQ,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,yBAAW,CAAC,KAAK,CAAC,CAAC,UAAU,CACpD,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,KAAK,CACN,CAAC;gBAEF,MAAM,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACjE,MAAM,gBAAgB,CAAC,YAAY,CACjC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC3B,MAAM,CACP,CAAC;gBAEF,yCAAyC;gBACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACnE,CAAC;gBACJ,CAAC;gBAED,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mEAAmE;gBACnE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC3B,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,KAAK,EAC1B,MAAqD,EACrD,iBAA6C,EAC7C,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,yCAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,KAAK,EACzB,MAAoD,EACpD,iBAA6C,EAC7C,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,uCAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACtE,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;YACpD,sEAAsE;YACtE,0EAA0E;YAC1E,qCAAqC;YACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iDAAuB,CAAC,IAAI,EAAE;gBAC1D,MAAM,EAAE,GAAG;aAC4C,CAAC,CAAC;YAE3D,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,oEAAoE;gBACpE,sEAAsE;gBACtE,WAAW;gBACX,OAAO,IAAI;qBACR,OAAO,EAAE;qBACT,KAAK,EAAE;qBACP,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAE,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,KAAK,EAC7B,MAAsD,EACtD,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,+CAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,KAAK,EAAE,MAA2C,EAAE,EAAE;YACxE,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,KAAK,EAC7B,iBAA6C,EAC7C,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,6DAA6B,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACzE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,EAClB,MAGC,EACD,iBAA6C,EACX,EAAE;YACpC,MAAM,eAAe,EAAE,CAAC;YAExB,IAAI,cAAc,GAAqB,IAAI,CAAC;YAE5C,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,iBAAiB,YAAY,qBAAS,CAAC,EAAE,CAAC;oBAC9C,cAAc,GAAG,IAAI,qCAAiB,CAAC,iBAAiB,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,cAAc,GAAG,iBAAiB,CAAC;gBACrC,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,cAAc,GAAG,SAAS,CAAC;YAC7B,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC3B,MAAM,KAAK,CACT,iEAAiE,CAClE,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,gBAAgB,GACpB,MAAM,MAAM,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;gBAChE,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,YAAY,CACzD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAC5B,CAAC;gBACF,MAAM,uBAAuB,GAAG,MAAM,IAAA,4BAAe,EACnD,MAAM,CAAC,WAAW;oBAChB,wDAAwD,EAC1D,IAAA,iCAAe,EAAC,MAAM,CAAC,MAAM,CAAqB,EAClD,IAAI,EACJ,eAAe,EACf,cAAc,CACf,CAAC;gBACF,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC1D,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC;gBACjE,MAAM,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACjE,OAAO,uBAAuB,CAAC,MAAM,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC3B,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,KAAK,EAC3B,MAA2C,EAC3C,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,2CAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,IAAI,CAAC,2BAA2B,GAAG,KAAK,EACtC,MAA+D,EAC/D,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,iEAA+B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,MAA6C,EAAE,EAAE;YACvE,OAAO,IAAI,CAAC,GAAG,CAAC,6BAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,MAA4C,EAAE,EAAE;YACrE,OAAO,IAAI,CAAC,GAAG,CAAC,2BAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,KAAK,IAAI,EAAE;YACrC,OAAO,IAAI,CAAC,GAAG,CAAC,mDAAwB,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAA4C,EAAE,EAAE;YACnE,OAAO,IAAI,CAAC,GAAG,CAAC,+BAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,KAAK,EACzB,MAAwC,EACxC,iBAA6B,EAC7B,EAAE;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAU,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,2DAA2D;YAC3D,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC3B,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,gBAAgB,GACpB,MAAM,MAAM,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;gBAEhE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC7B,qCAAqC;oBACrC,IAAI,CAAC,mBAAmB,CAAC,KAAK;wBAC5B,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU;4BAC5D,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,SAAS,CAAC;oBAChB,IAAI,CAAC,mBAAmB,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;oBAC5D,MAAM,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBACjE,MAAM,QAAQ,CAAC,MAAM,CAAC,yBAAyB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;wBACvD,WAAW,EAAE,kBAAkB;qBAChC,CAAC,CAAC;oBACH,mCAAmC;oBACnC,MAAM,YAAY,GAAG,MAAM,2BAAY,CAAC,sBAAsB,CAC5D,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;oBACF,MAAM,gBAAgB,CAAC,eAAe,CACpC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC3B,YAAY,CACb,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oDAAoD;gBACpD,kBAAS,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC;wBACH,MAAM,IAAA,sBAAQ,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC5C,CAAC;oBAAC,OAAO,aAAa,EAAE,CAAC;wBACvB,kBAAS,CAAC,KAAK,CACb,qCAAqC,EACrC,aAAa,CACd,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,kBAAS,CAAC,IAAI,CACZ,uDAAuD,CACxD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,cAAc,CACrB,YAA0B,EAC1B,QAAkB;IAElB,IAAI,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpC,iDAAiD;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IACL,uBAAa,CAAC,uBAAuB,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAClE,CAAC;QACD,qEAAqE;QACrE,MAAM,2BAA2B,GAC/B,IAAA,YAAE,EAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAa,CAAC,uBAAuB,CAAC,CAAC;YACpE,KAAK,CAAC;QACR,OAAO,2BAA2B,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,iDAAiD;QACjD,MAAM,0BAA0B,GAC9B,IAAA,YAAE,EAAC,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;QAC1E,OAAO,0BAA0B,CAAC;IACpC,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"testExtension.js","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfHealing.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AA4BpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"selfHealing.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AA4BpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAS3D;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CA0If"}
|
|
@@ -63,6 +63,7 @@ const SolveMfaChallenge_1 = require("../../tools/SolveMfaChallenge");
|
|
|
63
63
|
const ToolManager_1 = require("../../managers/ToolManager");
|
|
64
64
|
const BrowserUtils_1 = require("../../utils/BrowserUtils");
|
|
65
65
|
const DonobuFlowsManager_1 = require("../../managers/DonobuFlowsManager");
|
|
66
|
+
const CodeGenerationOptions_1 = require("../../models/CodeGenerationOptions");
|
|
66
67
|
/**
|
|
67
68
|
* Self-heals a test that has failed by creating and running a new autonomous
|
|
68
69
|
* flow using the failed test's code as part of the overall objective. If the
|
|
@@ -75,6 +76,7 @@ const DonobuFlowsManager_1 = require("../../managers/DonobuFlowsManager");
|
|
|
75
76
|
* @param donobuFlowMetadata The metadata of the flow that is being self-healed.
|
|
76
77
|
*/
|
|
77
78
|
async function selfHeal(gptClient, testInfo, page) {
|
|
79
|
+
Logger_1.appLogger.error(JSON.stringify(getSelfHealingOptions(testInfo), null, 2));
|
|
78
80
|
const donobuFlowMetadata = page._donobuFlowMetadata;
|
|
79
81
|
if (!donobuFlowMetadata || !donobuFlowMetadata.overallObjective) {
|
|
80
82
|
// We cannot self-heal without an flow metadata or objective.
|
|
@@ -141,10 +143,7 @@ ${originalTestCode}
|
|
|
141
143
|
});
|
|
142
144
|
if (newFlow.donobuFlow.metadata.state === 'SUCCESS') {
|
|
143
145
|
Logger_1.appLogger.info('Self-heal succeeded! The new autonomous flow completed successfully. Generating revised test...');
|
|
144
|
-
const newTestCode = await donobu.flowsManager.getFlowAsPlaywrightScript(newFlow.donobuFlow.metadata.id,
|
|
145
|
-
areElementIdsVolatile: false,
|
|
146
|
-
disableSelectorFailover: false,
|
|
147
|
-
});
|
|
146
|
+
const newTestCode = await donobu.flowsManager.getFlowAsPlaywrightScript(newFlow.donobuFlow.metadata.id, getSelfHealingOptions(testInfo));
|
|
148
147
|
// Save the fixed test as an attachment
|
|
149
148
|
await testInfo.attach('fixed-test.ts', {
|
|
150
149
|
body: newTestCode,
|
|
@@ -181,6 +180,23 @@ ${originalTestCode}
|
|
|
181
180
|
return;
|
|
182
181
|
}
|
|
183
182
|
}
|
|
183
|
+
function getSelfHealingOptions(testInfo) {
|
|
184
|
+
const defaultCodeGenerationOptions = {
|
|
185
|
+
areElementIdsVolatile: false,
|
|
186
|
+
disableSelectorFailover: false,
|
|
187
|
+
// The other options are not relevant to self-healing.
|
|
188
|
+
};
|
|
189
|
+
if ('selfHealingOptions' in testInfo.project.metadata) {
|
|
190
|
+
try {
|
|
191
|
+
return CodeGenerationOptions_1.CodeGenerationOptionsSchema.parse(testInfo.project.metadata.selfHealingOptions);
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
Logger_1.appLogger.warn(`Malformed selfHealingOptions, will use default value of: ${JSON.stringify(defaultCodeGenerationOptions, null, 2)}`, error);
|
|
195
|
+
return defaultCodeGenerationOptions;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return defaultCodeGenerationOptions;
|
|
199
|
+
}
|
|
184
200
|
async function restoreBrowserContext(browserContext, browserState) {
|
|
185
201
|
browserContext.pages().forEach(async (p) => await p.close());
|
|
186
202
|
await browserContext.clearCookies();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfHealing.js","sourceRoot":"","sources":["../../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"selfHealing.js","sourceRoot":"","sources":["../../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export declare class CodeGenerator {
|
|
|
18
18
|
generateProject(flowsWithToolCalls: Array<{
|
|
19
19
|
metadata: FlowMetadata;
|
|
20
20
|
toolCalls: ProposedToolCall[];
|
|
21
|
-
}
|
|
21
|
+
}>, options: CodeGenerationOptions): Promise<GeneratedProject>;
|
|
22
22
|
private generateGitHubActionsWorkflow;
|
|
23
23
|
/**
|
|
24
24
|
* Maps a proposed Donobu tool call to valid NodeJS Playwright code that uses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeGenerator.d.ts","sourceRoot":"","sources":["../../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA4C9C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC;IA6FlB;;OAEG;IACU,eAAe,CAC1B,kBAAkB,EAAE,KAAK,CAAC;QACxB,QAAQ,EAAE,YAAY,CAAC;QACvB,SAAS,EAAE,gBAAgB,EAAE,CAAC;KAC/B,CAAC,
|
|
1
|
+
{"version":3,"file":"CodeGenerator.d.ts","sourceRoot":"","sources":["../../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA4C9C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC;IA6FlB;;OAEG;IACU,eAAe,CAC1B,kBAAkB,EAAE,KAAK,CAAC;QACxB,QAAQ,EAAE,YAAY,CAAC;QACvB,SAAS,EAAE,gBAAgB,EAAE,CAAC;KAC/B,CAAC,EACF,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IA2C5B,OAAO,CAAC,6BAA6B;IA+FrC;;;OAGG;IACH,OAAO,CAAC,uCAAuC;IAqG/C,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;YACW,wBAAwB;IAgDtC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;YACW,iBAAiB;IAqB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,eAAe;YAKT,YAAY;IAY1B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;YAUpB,mBAAmB;IAoBjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;WACiB,wBAAwB,CAC1C,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAyC/B"}
|