donobu 1.0.0 → 2.1.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/SpecialFlowsApi.d.ts +5 -2
- package/dist/apis/SpecialFlowsApi.js +46 -25
- package/dist/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/assets/control-panel.js +16 -1
- package/dist/assets/generated/parameter-schemas.json +340 -94
- package/dist/assets/generated/version +1 -1
- package/dist/clients/AnthropicGptClient.js +1 -1
- package/dist/clients/AnthropicGptClient.js.map +1 -1
- package/dist/clients/GoogleGptClient.js +1 -1
- package/dist/clients/GoogleGptClient.js.map +1 -1
- package/dist/clients/OpenAiGptClient.js +1 -1
- package/dist/clients/OpenAiGptClient.js.map +1 -1
- package/dist/clients/VercelAiGptClient.d.ts +26 -0
- package/dist/clients/VercelAiGptClient.js +231 -0
- package/dist/clients/VercelAiGptClient.js.map +1 -0
- package/dist/envVars.d.ts +76 -0
- package/dist/envVars.js +80 -0
- package/dist/envVars.js.map +1 -0
- package/dist/esm/apis/SpecialFlowsApi.d.ts +5 -2
- package/dist/esm/apis/SpecialFlowsApi.js +46 -25
- package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/esm/assets/control-panel.js +16 -1
- package/dist/esm/assets/generated/parameter-schemas.json +340 -94
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/clients/AnthropicGptClient.js +1 -1
- package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
- package/dist/esm/clients/GoogleGptClient.js +1 -1
- package/dist/esm/clients/GoogleGptClient.js.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.js +1 -1
- package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
- package/dist/esm/clients/VercelAiGptClient.d.ts +26 -0
- package/dist/esm/clients/VercelAiGptClient.js +231 -0
- package/dist/esm/clients/VercelAiGptClient.js.map +1 -0
- package/dist/esm/envVars.d.ts +76 -0
- package/dist/esm/envVars.js +80 -0
- package/dist/esm/envVars.js.map +1 -0
- package/dist/esm/main.js +2 -2
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/managers/AdminApiController.js +1 -1
- package/dist/esm/managers/AdminApiController.js.map +1 -1
- package/dist/esm/managers/AgentsManager.js +2 -1
- package/dist/esm/managers/AgentsManager.js.map +1 -1
- package/dist/esm/managers/CodeGenerator.d.ts +17 -0
- package/dist/esm/managers/CodeGenerator.js +258 -0
- package/dist/esm/managers/CodeGenerator.js.map +1 -0
- package/dist/esm/managers/DonobuFlow.d.ts +4 -4
- package/dist/esm/managers/DonobuFlow.js +73 -71
- package/dist/esm/managers/DonobuFlow.js.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.d.ts +3 -6
- package/dist/esm/managers/DonobuFlowsManager.js +38 -175
- package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/esm/managers/GptConfigsManager.d.ts +1 -1
- package/dist/esm/managers/GptConfigsManager.js +45 -25
- package/dist/esm/managers/GptConfigsManager.js.map +1 -1
- package/dist/esm/managers/ToolManager.d.ts +0 -5
- package/dist/esm/managers/ToolManager.js +3 -68
- package/dist/esm/managers/ToolManager.js.map +1 -1
- package/dist/esm/models/BrowserConfig.d.ts +65 -0
- package/dist/esm/models/BrowserConfig.js +4 -0
- package/dist/esm/models/BrowserConfig.js.map +1 -0
- package/dist/esm/models/BrowserFramework.d.ts +31 -4
- package/dist/esm/models/BrowserFramework.js +125 -7
- package/dist/esm/models/BrowserFramework.js.map +1 -1
- package/dist/esm/models/BrowserStateFlowReference.js +1 -0
- package/dist/esm/models/BrowserStateFlowReference.js.map +1 -1
- package/dist/esm/models/CreateDonobuFlow.d.ts +2 -27
- package/dist/esm/models/FlowMetadata.d.ts +6 -19
- package/dist/esm/models/FlowMetadata.js +1 -0
- package/dist/esm/models/FlowMetadata.js.map +1 -1
- package/dist/esm/models/GptConfig.d.ts +6 -1
- package/dist/esm/persistence/DonobuSqliteDb.js +75 -0
- package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.d.ts +0 -4
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js +5 -8
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
- package/dist/esm/test.d.ts +12 -8
- package/dist/esm/test.js +52 -39
- package/dist/esm/test.js.map +1 -1
- package/dist/esm/tools/AssertPageTextTool.d.ts +19 -0
- package/dist/esm/tools/AssertPageTextTool.js +42 -0
- package/dist/esm/tools/AssertPageTextTool.js.map +1 -0
- package/dist/esm/tools/AssertTextVisibility.d.ts +19 -0
- package/dist/esm/tools/AssertTextVisibility.js +32 -0
- package/dist/esm/tools/AssertTextVisibility.js.map +1 -0
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js +33 -16
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
- package/dist/esm/utils/MiscUtils.js +2 -1
- package/dist/esm/utils/MiscUtils.js.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.js +1 -2
- package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
- package/dist/main.js +2 -2
- package/dist/main.js.map +1 -1
- package/dist/managers/AdminApiController.js +1 -1
- package/dist/managers/AdminApiController.js.map +1 -1
- package/dist/managers/AgentsManager.js +2 -1
- package/dist/managers/AgentsManager.js.map +1 -1
- package/dist/managers/CodeGenerator.d.ts +17 -0
- package/dist/managers/CodeGenerator.js +258 -0
- package/dist/managers/CodeGenerator.js.map +1 -0
- package/dist/managers/DonobuFlow.d.ts +4 -4
- package/dist/managers/DonobuFlow.js +73 -71
- package/dist/managers/DonobuFlow.js.map +1 -1
- package/dist/managers/DonobuFlowsManager.d.ts +3 -6
- package/dist/managers/DonobuFlowsManager.js +38 -175
- package/dist/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/managers/GptConfigsManager.d.ts +1 -1
- package/dist/managers/GptConfigsManager.js +45 -25
- package/dist/managers/GptConfigsManager.js.map +1 -1
- package/dist/managers/ToolManager.d.ts +0 -5
- package/dist/managers/ToolManager.js +3 -68
- package/dist/managers/ToolManager.js.map +1 -1
- package/dist/models/BrowserConfig.d.ts +65 -0
- package/dist/models/BrowserConfig.js +4 -0
- package/dist/models/BrowserConfig.js.map +1 -0
- package/dist/models/BrowserFramework.d.ts +31 -4
- package/dist/models/BrowserFramework.js +125 -7
- package/dist/models/BrowserFramework.js.map +1 -1
- package/dist/models/BrowserStateFlowReference.js +1 -0
- package/dist/models/BrowserStateFlowReference.js.map +1 -1
- package/dist/models/CreateDonobuFlow.d.ts +2 -27
- package/dist/models/FlowMetadata.d.ts +6 -19
- package/dist/models/FlowMetadata.js +1 -0
- package/dist/models/FlowMetadata.js.map +1 -1
- package/dist/models/GptConfig.d.ts +6 -1
- package/dist/persistence/DonobuSqliteDb.js +75 -0
- package/dist/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/persistence/FlowsPersistenceFactoryImpl.d.ts +0 -4
- package/dist/persistence/FlowsPersistenceFactoryImpl.js +5 -8
- package/dist/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
- package/dist/test.d.ts +12 -8
- package/dist/test.js +52 -39
- package/dist/test.js.map +1 -1
- package/dist/tools/AssertPageTextTool.d.ts +19 -0
- package/dist/tools/AssertPageTextTool.js +42 -0
- package/dist/tools/AssertPageTextTool.js.map +1 -0
- package/dist/tools/AssertTextVisibility.d.ts +19 -0
- package/dist/tools/AssertTextVisibility.js +32 -0
- package/dist/tools/AssertTextVisibility.js.map +1 -0
- package/dist/tools/ExtractPublicFacebookEntityDataTool.js +33 -16
- package/dist/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
- package/dist/utils/MiscUtils.js +2 -1
- package/dist/utils/MiscUtils.js.map +1 -1
- package/dist/utils/PlaywrightUtils.js +1 -2
- package/dist/utils/PlaywrightUtils.js.map +1 -1
- package/package.json +7 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminApiController.js","sourceRoot":"","sources":["../../../src/managers/AdminApiController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AdminApiController.js","sourceRoot":"","sources":["../../../src/managers/AdminApiController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AgentsManager = void 0;
|
|
4
|
+
const envVars_1 = require("../envVars");
|
|
4
5
|
const GptConfigNotFoundException_1 = require("../exceptions/GptConfigNotFoundException");
|
|
5
6
|
/**
|
|
6
7
|
* This class is responsible for mapping Donobu agents to GPT configurations.
|
|
@@ -65,7 +66,7 @@ class AgentsManager {
|
|
|
65
66
|
* DEFAULT_FLOW_RUNNER_GPT_CONFIG_NAME environment variable if it exists.
|
|
66
67
|
*/
|
|
67
68
|
async initializeDefaultConfigurations() {
|
|
68
|
-
const defaultFlowRunnerGptConfigName = process.env.DEFAULT_FLOW_RUNNER_GPT_CONFIG_NAME;
|
|
69
|
+
const defaultFlowRunnerGptConfigName = process.env[envVars_1.ENV_VAR_NAMES.DEFAULT_FLOW_RUNNER_GPT_CONFIG_NAME];
|
|
69
70
|
if (defaultFlowRunnerGptConfigName) {
|
|
70
71
|
await this.set('flow-runner', defaultFlowRunnerGptConfigName);
|
|
71
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentsManager.js","sourceRoot":"","sources":["../../../src/managers/AgentsManager.ts"],"names":[],"mappings":";;;AAAA,yFAAsF;AAKtF;;GAEG;AACH,MAAa,aAAa;IAEL;IACA;IAFnB,YACmB,iBAAoC,EACpC,iBAAoC;QADpC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEG,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,iBAAoC,EACpC,iBAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;QACzE,MAAM,QAAQ,CAAC,+BAA+B,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CACd,KAAkB,EAClB,aAA4B;QAE5B,IAAI,aAAa,EAAE,CAAC;YAClB,yEAAyE;YACzE,OAAO;YACP,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAG,CAAC,KAAkB;QACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,sEAAsE;gBACtE,eAAe;gBACf,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7C,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,uDAA0B,EAAE,CAAC;oBAChD,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,+BAA+B;QAC3C,MAAM,8BAA8B,GAClC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentsManager.js","sourceRoot":"","sources":["../../../src/managers/AgentsManager.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAC3C,yFAAsF;AAKtF;;GAEG;AACH,MAAa,aAAa;IAEL;IACA;IAFnB,YACmB,iBAAoC,EACpC,iBAAoC;QADpC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEG,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,iBAAoC,EACpC,iBAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;QACzE,MAAM,QAAQ,CAAC,+BAA+B,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CACd,KAAkB,EAClB,aAA4B;QAE5B,IAAI,aAAa,EAAE,CAAC;YAClB,yEAAyE;YACzE,OAAO;YACP,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAG,CAAC,KAAkB;QACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,sEAAsE;gBACtE,eAAe;gBACf,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7C,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,uDAA0B,EAAE,CAAC;oBAChD,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,+BAA+B;QAC3C,MAAM,8BAA8B,GAClC,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,mCAAmC,CAAC,CAAC;QAEjE,IAAI,8BAA8B,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF;AA3ED,sCA2EC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FlowMetadata } from '../models/FlowMetadata';
|
|
2
|
+
import { ProposedToolCall } from '../models/ProposedToolCall';
|
|
3
|
+
import { AgentsManager } from './AgentsManager';
|
|
4
|
+
import { GptConfigsManager } from './GptConfigsManager';
|
|
5
|
+
export declare class CodeGenerator {
|
|
6
|
+
private readonly gptConfigsManager;
|
|
7
|
+
private readonly agentsManager;
|
|
8
|
+
constructor(gptConfigsManager: GptConfigsManager, agentsManager: AgentsManager);
|
|
9
|
+
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
10
|
+
getFlowAsPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall<any>[]): Promise<string>;
|
|
11
|
+
/**
|
|
12
|
+
* Maps a proposed Donobu tool call to valid NodeJS Playwright code that uses
|
|
13
|
+
* the `DonobuExtendedPage` extension.
|
|
14
|
+
*/
|
|
15
|
+
static convertProposedToolCallToPlaywrightCode(proposedToolCall: ProposedToolCall<any>): string;
|
|
16
|
+
private prettifyCode;
|
|
17
|
+
}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CodeGenerator = void 0;
|
|
37
|
+
const AnalyzePageTextTool_1 = require("../tools/AnalyzePageTextTool");
|
|
38
|
+
const AssertPageTextTool_1 = require("../tools/AssertPageTextTool");
|
|
39
|
+
const AssertTool_1 = require("../tools/AssertTool");
|
|
40
|
+
const ChangeWebBrowserTabTool_1 = require("../tools/ChangeWebBrowserTabTool");
|
|
41
|
+
const ChooseSelectOptionTool_1 = require("../tools/ChooseSelectOptionTool");
|
|
42
|
+
const ClickTool_1 = require("../tools/ClickTool");
|
|
43
|
+
const CreateBrowserCookieReportTool_1 = require("../tools/CreateBrowserCookieReportTool");
|
|
44
|
+
const DetectBrokenLinksTool_1 = require("../tools/DetectBrokenLinksTool");
|
|
45
|
+
const GoForwardOrBackTool_1 = require("../tools/GoForwardOrBackTool");
|
|
46
|
+
const GoToWebpageTool_1 = require("../tools/GoToWebpageTool");
|
|
47
|
+
const HoverOverElementTool_1 = require("../tools/HoverOverElementTool");
|
|
48
|
+
const InputRandomizedEmailAddressTool_1 = require("../tools/InputRandomizedEmailAddressTool");
|
|
49
|
+
const InputTextTool_1 = require("../tools/InputTextTool");
|
|
50
|
+
const MakeCommentTool_1 = require("../tools/MakeCommentTool");
|
|
51
|
+
const MarkObjectiveCompleteTool_1 = require("../tools/MarkObjectiveCompleteTool");
|
|
52
|
+
const MarkObjectiveNotCompletableTool_1 = require("../tools/MarkObjectiveNotCompletableTool");
|
|
53
|
+
const PressKeyTool_1 = require("../tools/PressKeyTool");
|
|
54
|
+
const ReloadPageTool_1 = require("../tools/ReloadPageTool");
|
|
55
|
+
const RunAccessibilityTestTool_1 = require("../tools/RunAccessibilityTestTool");
|
|
56
|
+
const ScrollPageTool_1 = require("../tools/ScrollPageTool");
|
|
57
|
+
const SummarizeLearningsTool_1 = require("../tools/SummarizeLearningsTool");
|
|
58
|
+
const JsonUtils_1 = require("../utils/JsonUtils");
|
|
59
|
+
const ToolManager_1 = require("./ToolManager");
|
|
60
|
+
const prettier = __importStar(require("prettier"));
|
|
61
|
+
class CodeGenerator {
|
|
62
|
+
gptConfigsManager;
|
|
63
|
+
agentsManager;
|
|
64
|
+
constructor(gptConfigsManager, agentsManager) {
|
|
65
|
+
this.gptConfigsManager = gptConfigsManager;
|
|
66
|
+
this.agentsManager = agentsManager;
|
|
67
|
+
}
|
|
68
|
+
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
69
|
+
async getFlowAsPlaywrightScript(flowMetadata, toolCalls) {
|
|
70
|
+
// These tools are not supported in the generated script because they have
|
|
71
|
+
// static outputs that have no side effects, so they are not actually
|
|
72
|
+
// doing anything.
|
|
73
|
+
const unsupportedToolsByName = new Set([
|
|
74
|
+
MakeCommentTool_1.MakeCommentTool.NAME,
|
|
75
|
+
MarkObjectiveCompleteTool_1.MarkObjectiveCompleteTool.NAME,
|
|
76
|
+
MarkObjectiveNotCompletableTool_1.MarkObjectiveNotCompletableTool.NAME,
|
|
77
|
+
SummarizeLearningsTool_1.SummarizeLearningsTool.NAME,
|
|
78
|
+
]);
|
|
79
|
+
const doAnyToolCallsRequireGptClient = toolCalls
|
|
80
|
+
.map((toolCall) => {
|
|
81
|
+
return toolCall.name;
|
|
82
|
+
})
|
|
83
|
+
.map((toolCallName) => {
|
|
84
|
+
return ToolManager_1.ToolManager.ALL_TOOLS.find((t) => t.name === toolCallName);
|
|
85
|
+
})
|
|
86
|
+
.filter((tool) => {
|
|
87
|
+
return tool?.requiresGpt;
|
|
88
|
+
}).length > 0;
|
|
89
|
+
let gptConfig = null;
|
|
90
|
+
if (doAnyToolCallsRequireGptClient) {
|
|
91
|
+
if (flowMetadata.gptConfigName) {
|
|
92
|
+
gptConfig = await this.gptConfigsManager.get(flowMetadata.gptConfigName);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const gptConfigName = await this.agentsManager.get('flow-runner');
|
|
96
|
+
if (gptConfigName) {
|
|
97
|
+
gptConfig = await this.gptConfigsManager.get(gptConfigName);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const gptSetupNote = doAnyToolCallsRequireGptClient
|
|
102
|
+
? ` *
|
|
103
|
+
* Also, since this test is using tools that require the usage of an LLM, be
|
|
104
|
+
* sure to have an appropriate LLM API key available as an environment variable
|
|
105
|
+
* (e.g. OPENAI_API_KEY, ANTHROPIC_API_KEY, etc).
|
|
106
|
+
`
|
|
107
|
+
: ' ';
|
|
108
|
+
const hasObjective = (flowMetadata.overallObjective?.trim().length ?? 0) > 0;
|
|
109
|
+
const formattedObjective = hasObjective
|
|
110
|
+
? '\n// Overall objective:\n' +
|
|
111
|
+
flowMetadata
|
|
112
|
+
.overallObjective.split('\n')
|
|
113
|
+
.map((line) => `// ${line}`) // Prefix each line with comment marker.
|
|
114
|
+
.join('\n')
|
|
115
|
+
: '';
|
|
116
|
+
const testName = flowMetadata.name
|
|
117
|
+
? flowMetadata.name
|
|
118
|
+
// Escape backslashes first.
|
|
119
|
+
.replace(/\\/g, '\\\\')
|
|
120
|
+
// Escape single quotes.
|
|
121
|
+
.replace(/'/g, "\\'")
|
|
122
|
+
// Escape newlines.
|
|
123
|
+
.replace(/\n/g, '\\n')
|
|
124
|
+
// Escape carriage returns.
|
|
125
|
+
.replace(/\r/g, '\\r')
|
|
126
|
+
: `Test for ${flowMetadata.targetWebsite}`;
|
|
127
|
+
const useStorageState = flowMetadata.browser && flowMetadata.browser.initialState
|
|
128
|
+
? `storageState: getBrowserStorageStateFixture(${JSON.stringify(flowMetadata.browser.initialState, null, 2)}),`
|
|
129
|
+
: undefined;
|
|
130
|
+
let useGptClientImport = undefined;
|
|
131
|
+
let useGptClient = undefined;
|
|
132
|
+
if (gptConfig) {
|
|
133
|
+
switch (gptConfig.type) {
|
|
134
|
+
case 'ANTHROPIC':
|
|
135
|
+
useGptClientImport =
|
|
136
|
+
"import { anthropicClientFixture } from 'donobu';";
|
|
137
|
+
useGptClient = `gptClient: anthropicClientFixture('${gptConfig.modelName}'),`;
|
|
138
|
+
break;
|
|
139
|
+
case 'ANTHROPIC_AWS_BEDROCK':
|
|
140
|
+
useGptClientImport =
|
|
141
|
+
"import { anthropicAwsBedrockClient } from 'donobu';";
|
|
142
|
+
useGptClient = `gptClient: anthropicAwsBedrockClient('${gptConfig.modelName}', '${gptConfig.region}'),`;
|
|
143
|
+
break;
|
|
144
|
+
case 'GOOGLE_GEMINI':
|
|
145
|
+
useGptClientImport =
|
|
146
|
+
"import { googleGeminiClientFixture } from 'donobu';";
|
|
147
|
+
useGptClient = `gptClient: googleGeminiClientFixture('${gptConfig.modelName}'),`;
|
|
148
|
+
break;
|
|
149
|
+
case 'OPENAI':
|
|
150
|
+
useGptClientImport = "import { openAiClientFixture } from 'donobu';";
|
|
151
|
+
useGptClient = `gptClient: openAiClientFixture('${gptConfig.modelName}'),`;
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
let testExtension = '';
|
|
156
|
+
if (useStorageState || useGptClient) {
|
|
157
|
+
testExtension = `.extend({${useStorageState ?? ''}${useGptClient ?? ''}})`;
|
|
158
|
+
}
|
|
159
|
+
const scriptedToolCalls = toolCalls
|
|
160
|
+
.filter((toolCall) => !unsupportedToolsByName.has(toolCall.name))
|
|
161
|
+
.map((toolCall) => {
|
|
162
|
+
return CodeGenerator.convertProposedToolCallToPlaywrightCode(toolCall);
|
|
163
|
+
})
|
|
164
|
+
.join('\n');
|
|
165
|
+
const script = `/**
|
|
166
|
+
* Be sure that Donobu is installed before running this script...
|
|
167
|
+
* 'npm install donobu' or 'yarn add donobu'
|
|
168
|
+
*
|
|
169
|
+
* Also, be sure that Playwright's browsers are installed...
|
|
170
|
+
* 'npx playwright install'
|
|
171
|
+
${gptSetupNote}*/
|
|
172
|
+
import { test } from 'donobu';${useGptClientImport ? '\n' + useGptClientImport : ''}${useStorageState ? "\nimport { getBrowserStorageStateFixture } from 'donobu';" : ''}
|
|
173
|
+
|
|
174
|
+
${formattedObjective}
|
|
175
|
+
test${testExtension}('${testName}', async ({ page }) => {
|
|
176
|
+
${scriptedToolCalls}
|
|
177
|
+
});
|
|
178
|
+
`;
|
|
179
|
+
return this.prettifyCode(script);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Maps a proposed Donobu tool call to valid NodeJS Playwright code that uses
|
|
183
|
+
* the `DonobuExtendedPage` extension.
|
|
184
|
+
*/
|
|
185
|
+
static convertProposedToolCallToPlaywrightCode(proposedToolCall) {
|
|
186
|
+
const rawParams = JsonUtils_1.JsonUtils.objectToJson(proposedToolCall.parameters);
|
|
187
|
+
const rationale = rawParams.rationale && rawParams.rationale.trim().length > 0
|
|
188
|
+
? rawParams.rationale
|
|
189
|
+
.split('\n')
|
|
190
|
+
.map((line) => `// ${line}`.trim())
|
|
191
|
+
.join('\n') + '\n'
|
|
192
|
+
: '';
|
|
193
|
+
// Delete fields that should not be directly mapped.
|
|
194
|
+
delete rawParams.rationale;
|
|
195
|
+
delete rawParams.whyThisAnnotation;
|
|
196
|
+
delete rawParams.annotation;
|
|
197
|
+
const hasNonEmptyParameters = Object.keys(rawParams).length > 0;
|
|
198
|
+
const serializedParams = JSON.stringify(rawParams, null, 2);
|
|
199
|
+
switch (proposedToolCall.name) {
|
|
200
|
+
case AssertTool_1.AssertTool.NAME: {
|
|
201
|
+
return `${rationale}await page.visuallyAssert(${serializedParams});`;
|
|
202
|
+
}
|
|
203
|
+
case ChangeWebBrowserTabTool_1.ChangeWebBrowserTabTool.NAME: {
|
|
204
|
+
return `${rationale}page = page.context().pages().find((tab) => tab.url() === '${rawParams.tabUrl}');`;
|
|
205
|
+
}
|
|
206
|
+
case ChooseSelectOptionTool_1.ChooseSelectOptionTool.NAME: {
|
|
207
|
+
return `${rationale}await page.chooseSelectOption(${serializedParams});`;
|
|
208
|
+
}
|
|
209
|
+
case ClickTool_1.ClickTool.NAME: {
|
|
210
|
+
return `${rationale}await page.clickElement(${serializedParams});`;
|
|
211
|
+
}
|
|
212
|
+
case GoForwardOrBackTool_1.GoForwardOrBackTool.NAME:
|
|
213
|
+
if (rawParams.direction === 'FORWARD') {
|
|
214
|
+
return `${rationale}await page.goForward();`;
|
|
215
|
+
}
|
|
216
|
+
else if (rawParams.direction === 'BACK') {
|
|
217
|
+
return `${rationale}await page.goBack();`;
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
throw new Error(`Invalid ${GoForwardOrBackTool_1.GoForwardOrBackTool.NAME} params: ${serializedParams}`);
|
|
221
|
+
}
|
|
222
|
+
case GoToWebpageTool_1.GoToWebpageTool.NAME:
|
|
223
|
+
return `${rationale}await page.goto('${rawParams.url}');`;
|
|
224
|
+
case ReloadPageTool_1.ReloadPageTool.NAME:
|
|
225
|
+
return `${rationale}await page.reload();`;
|
|
226
|
+
case ScrollPageTool_1.ScrollPageTool.NAME:
|
|
227
|
+
return `${rationale}await page.scroll(${serializedParams});`;
|
|
228
|
+
// The following tools can be mapped directly.
|
|
229
|
+
case AnalyzePageTextTool_1.AnalyzePageTextTool.NAME:
|
|
230
|
+
case AssertPageTextTool_1.AssertPageTextTool.NAME:
|
|
231
|
+
case CreateBrowserCookieReportTool_1.CreateBrowserCookieReportTool.NAME:
|
|
232
|
+
case DetectBrokenLinksTool_1.DetectBrokenLinksTool.NAME:
|
|
233
|
+
case HoverOverElementTool_1.HoverOverElementTool.NAME:
|
|
234
|
+
case InputRandomizedEmailAddressTool_1.InputRandomizedEmailAddressTool.NAME:
|
|
235
|
+
case InputTextTool_1.InputTextTool.NAME:
|
|
236
|
+
case PressKeyTool_1.PressKeyTool.NAME:
|
|
237
|
+
case RunAccessibilityTestTool_1.RunAccessibilityTestTool.NAME: {
|
|
238
|
+
return `${rationale}await page.${proposedToolCall.name}(${hasNonEmptyParameters ? serializedParams : ''});`;
|
|
239
|
+
}
|
|
240
|
+
default:
|
|
241
|
+
const toolName = proposedToolCall.name;
|
|
242
|
+
const toolCallScript = hasNonEmptyParameters
|
|
243
|
+
? `${rationale}await page.run('${toolName}', ${serializedParams});`
|
|
244
|
+
: `${rationale}await page.run('${toolName}');`;
|
|
245
|
+
return toolCallScript;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
async prettifyCode(code) {
|
|
249
|
+
const formattedCode = prettier.format(code, {
|
|
250
|
+
parser: 'typescript',
|
|
251
|
+
semi: true,
|
|
252
|
+
singleQuote: true,
|
|
253
|
+
});
|
|
254
|
+
return formattedCode;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
exports.CodeGenerator = CodeGenerator;
|
|
258
|
+
//# sourceMappingURL=CodeGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeGenerator.js","sourceRoot":"","sources":["../../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { BrowserContext } from 'playwright';
|
|
2
1
|
import { GptClient } from '../clients/GptClient';
|
|
3
2
|
import { FlowMetadata } from '../models/FlowMetadata';
|
|
4
3
|
import { ProposedToolCall } from '../models/ProposedToolCall';
|
|
@@ -9,9 +8,10 @@ import { ToolTipper } from './ToolTipper';
|
|
|
9
8
|
import { FlowsPersistence } from '../persistence/FlowsPersistence';
|
|
10
9
|
import { FocusedPage } from '../models/FocusedPage';
|
|
11
10
|
import { DonobuFlowsManager } from './DonobuFlowsManager';
|
|
11
|
+
import { BrowserFramework } from '../models/BrowserFramework';
|
|
12
12
|
export declare class DonobuFlow {
|
|
13
13
|
readonly flowsManager: DonobuFlowsManager;
|
|
14
|
-
readonly
|
|
14
|
+
readonly browserFramework: BrowserFramework;
|
|
15
15
|
readonly persistence: FlowsPersistence;
|
|
16
16
|
readonly gptClient: GptClient | null;
|
|
17
17
|
readonly toolManager: ToolManager;
|
|
@@ -24,7 +24,7 @@ export declare class DonobuFlow {
|
|
|
24
24
|
private static readonly logger;
|
|
25
25
|
private static readonly MAIN_MESSAGE_ELEMENT_LIST_MARKER;
|
|
26
26
|
private static readonly ADDITIONAL_PAGE_LOAD_WAIT;
|
|
27
|
-
constructor(flowsManager: DonobuFlowsManager,
|
|
27
|
+
constructor(flowsManager: DonobuFlowsManager, browserFramework: BrowserFramework, persistence: FlowsPersistence, gptClient: GptClient | null, toolManager: ToolManager, toolTipper: ToolTipper, proposedToolCalls: ProposedToolCall<any>[], invokedToolCalls: ToolCall[], gptMessages: GptMessage[], focusedPage: FocusedPage, metadata: FlowMetadata);
|
|
28
28
|
run(): Promise<void>;
|
|
29
29
|
/**
|
|
30
30
|
* This method re-assigns the currently focused page (presumably due to the
|
|
@@ -52,7 +52,6 @@ export declare class DonobuFlow {
|
|
|
52
52
|
* if the POST fails for any reason; this is a best-effort 1-shot try.
|
|
53
53
|
*/
|
|
54
54
|
private static invokeFlowFinishedCallback;
|
|
55
|
-
close(): Promise<void>;
|
|
56
55
|
private onDialog;
|
|
57
56
|
private maybeUpdateControlPanel;
|
|
58
57
|
private getControlPanelMessage;
|
|
@@ -63,6 +62,7 @@ export declare class DonobuFlow {
|
|
|
63
62
|
*/
|
|
64
63
|
private transitionState;
|
|
65
64
|
private maybeForceEnableControlPanel;
|
|
65
|
+
private isHeadless;
|
|
66
66
|
private setupInitScriptsAndBindings;
|
|
67
67
|
/**
|
|
68
68
|
* Returns an object formatted according to the following priority:
|
|
@@ -17,7 +17,7 @@ const MarkObjectiveNotCompletableTool_1 = require("../tools/MarkObjectiveNotComp
|
|
|
17
17
|
const PageClosedException_1 = require("../exceptions/PageClosedException");
|
|
18
18
|
class DonobuFlow {
|
|
19
19
|
flowsManager;
|
|
20
|
-
|
|
20
|
+
browserFramework;
|
|
21
21
|
persistence;
|
|
22
22
|
gptClient;
|
|
23
23
|
toolManager;
|
|
@@ -30,9 +30,9 @@ class DonobuFlow {
|
|
|
30
30
|
static logger = Logger_1.Logger.appLogger;
|
|
31
31
|
static MAIN_MESSAGE_ELEMENT_LIST_MARKER = 'Textual list of the interactable HTML elements for the active tab, denoted by their annotation...';
|
|
32
32
|
static ADDITIONAL_PAGE_LOAD_WAIT = 2000; // ms
|
|
33
|
-
constructor(flowsManager,
|
|
33
|
+
constructor(flowsManager, browserFramework, persistence, gptClient, toolManager, toolTipper, proposedToolCalls, invokedToolCalls, gptMessages, focusedPage, metadata) {
|
|
34
34
|
this.flowsManager = flowsManager;
|
|
35
|
-
this.
|
|
35
|
+
this.browserFramework = browserFramework;
|
|
36
36
|
this.persistence = persistence;
|
|
37
37
|
this.gptClient = gptClient;
|
|
38
38
|
this.toolManager = toolManager;
|
|
@@ -44,58 +44,63 @@ class DonobuFlow {
|
|
|
44
44
|
this.metadata = metadata;
|
|
45
45
|
}
|
|
46
46
|
async run() {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
47
|
+
try {
|
|
48
|
+
while (true) {
|
|
49
|
+
try {
|
|
50
|
+
await this.maybeUpdateControlPanel();
|
|
51
|
+
switch (this.metadata.state) {
|
|
52
|
+
case FlowMetadata_1.State.UNSTARTED:
|
|
53
|
+
await this.onUnstarted();
|
|
54
|
+
break;
|
|
55
|
+
case FlowMetadata_1.State.INITIALIZING:
|
|
56
|
+
await this.onInitializing();
|
|
57
|
+
break;
|
|
58
|
+
case FlowMetadata_1.State.RUNNING_ACTION:
|
|
59
|
+
await this.onRunningAction();
|
|
60
|
+
break;
|
|
61
|
+
case FlowMetadata_1.State.QUERYING_LLM_FOR_NEXT_ACTION:
|
|
62
|
+
await this.onQueryingLlmForNextAction();
|
|
63
|
+
break;
|
|
64
|
+
case FlowMetadata_1.State.WAITING_ON_USER_FOR_NEXT_ACTION:
|
|
65
|
+
await this.onWaitingForUserForNextAction();
|
|
66
|
+
break;
|
|
67
|
+
case FlowMetadata_1.State.PAUSED:
|
|
68
|
+
await this.onPaused();
|
|
69
|
+
break;
|
|
70
|
+
case FlowMetadata_1.State.RESUMING:
|
|
71
|
+
await this.onResuming();
|
|
72
|
+
break;
|
|
73
|
+
case FlowMetadata_1.State.FAILED:
|
|
74
|
+
await this.onFailed();
|
|
75
|
+
break;
|
|
76
|
+
case FlowMetadata_1.State.SUCCESS:
|
|
77
|
+
await this.onSuccess();
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
if ((0, FlowMetadata_1.isComplete)(this.metadata.state)) {
|
|
81
|
+
await this.onComplete();
|
|
77
82
|
break;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
await this.transitionState();
|
|
86
|
+
}
|
|
78
87
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
await this.onFocusedPageClosed(error);
|
|
90
|
-
}
|
|
91
|
-
else if (error instanceof GptPlatformInternalErrorException_1.GptPlatformInternalErrorException) {
|
|
92
|
-
await this.onPersistentGptFailure(error);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
await this.onUnexpectedException(error);
|
|
88
|
+
catch (error) {
|
|
89
|
+
if (error instanceof PageClosedException_1.PageClosedException) {
|
|
90
|
+
await this.onFocusedPageClosed(error);
|
|
91
|
+
}
|
|
92
|
+
else if (error instanceof GptPlatformInternalErrorException_1.GptPlatformInternalErrorException) {
|
|
93
|
+
await this.onPersistentGptFailure(error);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
await this.onUnexpectedException(error);
|
|
97
|
+
}
|
|
96
98
|
}
|
|
97
99
|
}
|
|
98
100
|
}
|
|
101
|
+
finally {
|
|
102
|
+
await this.browserFramework.close();
|
|
103
|
+
}
|
|
99
104
|
}
|
|
100
105
|
/**
|
|
101
106
|
* This method re-assigns the currently focused page (presumably due to the
|
|
@@ -103,7 +108,7 @@ class DonobuFlow {
|
|
|
103
108
|
* browser context, then the flow is marked as a failure.
|
|
104
109
|
*/
|
|
105
110
|
async onFocusedPageClosed(_error) {
|
|
106
|
-
const allPages = this.browserContext.pages();
|
|
111
|
+
const allPages = this.browserFramework.browserContext.pages();
|
|
107
112
|
if (allPages.length === 0) {
|
|
108
113
|
this.focusedPage.current = null;
|
|
109
114
|
// There are no other pages to bring into focus, so we fail the run.
|
|
@@ -149,9 +154,9 @@ class DonobuFlow {
|
|
|
149
154
|
*/
|
|
150
155
|
async onComplete() {
|
|
151
156
|
await this.persistence.saveMetadata(this.metadata);
|
|
152
|
-
if (this.metadata.
|
|
157
|
+
if (this.metadata.browser?.persistState) {
|
|
153
158
|
try {
|
|
154
|
-
const browserState = await this.browserContext.storageState({
|
|
159
|
+
const browserState = await this.browserFramework.browserContext.storageState({
|
|
155
160
|
indexedDB: true,
|
|
156
161
|
});
|
|
157
162
|
await this.persistence.setBrowserState(this.metadata.id, browserState);
|
|
@@ -161,7 +166,6 @@ class DonobuFlow {
|
|
|
161
166
|
}
|
|
162
167
|
}
|
|
163
168
|
DonobuFlow.invokeFlowFinishedCallback(this.metadata.callbackUrl, this.metadata.id);
|
|
164
|
-
await this.close();
|
|
165
169
|
}
|
|
166
170
|
/**
|
|
167
171
|
* Attempt to POST a JSON body containing given flow ID to the given
|
|
@@ -190,16 +194,6 @@ class DonobuFlow {
|
|
|
190
194
|
DonobuFlow.logger.error(`Failed to invoke flow completion callback at ${callbackUrl} for flow: ${flowId}`, error);
|
|
191
195
|
}
|
|
192
196
|
}
|
|
193
|
-
async close() {
|
|
194
|
-
try {
|
|
195
|
-
const browser = this.browserContext.browser();
|
|
196
|
-
await this.browserContext.close();
|
|
197
|
-
await browser?.close();
|
|
198
|
-
}
|
|
199
|
-
catch (_e) {
|
|
200
|
-
// Pass.
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
197
|
async onDialog(dialog) {
|
|
204
198
|
const startedAt = new Date().getTime();
|
|
205
199
|
switch (dialog.type()) {
|
|
@@ -529,6 +523,12 @@ Message: ${dialog.message()}`;
|
|
|
529
523
|
await this.setupDonobuControlPanel(this.focusedPage.current);
|
|
530
524
|
}
|
|
531
525
|
}
|
|
526
|
+
isHeadless() {
|
|
527
|
+
return this.metadata.browser.using.type === 'device' &&
|
|
528
|
+
this.metadata.browser.using.headless
|
|
529
|
+
? true
|
|
530
|
+
: false;
|
|
531
|
+
}
|
|
532
532
|
async setupInitScriptsAndBindings(browserContext) {
|
|
533
533
|
browserContext.on('dialog', this.onDialog.bind(this));
|
|
534
534
|
if (this.toolManager.tools.some((tool) => tool instanceof RunAccessibilityTestTool_1.RunAccessibilityTestTool)) {
|
|
@@ -541,7 +541,7 @@ Message: ${dialog.message()}`;
|
|
|
541
541
|
// Update the currently focused page if new tabs or pop-ups occur.
|
|
542
542
|
this.focusedPage.current = page;
|
|
543
543
|
// Only create the control panel if we are not in headless mode.
|
|
544
|
-
if (
|
|
544
|
+
if (this.metadata.isControlPanelEnabled && !this.isHeadless()) {
|
|
545
545
|
// We call setupDonobuControlPanel twice because `onDOMContentLoaded`
|
|
546
546
|
// will not fire if we are looking at an about:blank page, and
|
|
547
547
|
// conversely if we do not also call `onDOMContentLoaded` when looking
|
|
@@ -559,9 +559,9 @@ Message: ${dialog.message()}`;
|
|
|
559
559
|
DonobuFlow.logger.error('Error when evaluating pageInteractionsTrackerInitScript script', error);
|
|
560
560
|
}
|
|
561
561
|
}
|
|
562
|
-
if (
|
|
563
|
-
!
|
|
564
|
-
|
|
562
|
+
if (this.metadata.isControlPanelEnabled &&
|
|
563
|
+
!this.isHeadless() &&
|
|
564
|
+
!frame.parentFrame()) {
|
|
565
565
|
// Only recreate the control panel if we are not in headless mode,
|
|
566
566
|
// and we are looking at a non-iframe.
|
|
567
567
|
await this.setupDonobuControlPanel(frame.page());
|
|
@@ -682,9 +682,11 @@ ${formattedToolCallHistory}
|
|
|
682
682
|
],
|
|
683
683
|
});
|
|
684
684
|
}
|
|
685
|
-
await this.browserContext.grantPermissions([
|
|
686
|
-
|
|
687
|
-
|
|
685
|
+
await this.browserFramework.browserContext.grantPermissions([
|
|
686
|
+
'geolocation',
|
|
687
|
+
]);
|
|
688
|
+
await this.setupInitScriptsAndBindings(this.browserFramework.browserContext);
|
|
689
|
+
await this.browserFramework.browserContext.newPage();
|
|
688
690
|
}
|
|
689
691
|
async onRunningAction() {
|
|
690
692
|
const proposedToolCall = this.proposedToolCalls.shift();
|