donobu 2.50.0 → 2.51.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/assets/generated/version +1 -1
- package/dist/cli/donobu-cli.js +0 -0
- package/dist/cli/install-donobu-plugin.js +0 -0
- package/dist/cli/playwright-json-to-markdown.js +0 -0
- package/dist/cli/playwright-json-to-slack-json.js +0 -0
- package/dist/clients/AnthropicGptClient.d.ts.map +1 -1
- package/dist/clients/AnthropicGptClient.js +2 -1
- package/dist/clients/AnthropicGptClient.js.map +1 -1
- package/dist/clients/DonobuGptClient.d.ts.map +1 -1
- package/dist/clients/DonobuGptClient.js +2 -3
- package/dist/clients/DonobuGptClient.js.map +1 -1
- package/dist/clients/GptClient.d.ts +1 -0
- package/dist/clients/GptClient.d.ts.map +1 -1
- package/dist/clients/GptClient.js +15 -0
- package/dist/clients/GptClient.js.map +1 -1
- package/dist/clients/OpenAiGptClient.d.ts.map +1 -1
- package/dist/clients/OpenAiGptClient.js +1 -1
- package/dist/clients/OpenAiGptClient.js.map +1 -1
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/clients/AnthropicGptClient.d.ts.map +1 -1
- package/dist/esm/clients/AnthropicGptClient.js +2 -1
- package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
- package/dist/esm/clients/DonobuGptClient.d.ts.map +1 -1
- package/dist/esm/clients/DonobuGptClient.js +2 -3
- package/dist/esm/clients/DonobuGptClient.js.map +1 -1
- package/dist/esm/clients/GptClient.d.ts +1 -0
- package/dist/esm/clients/GptClient.d.ts.map +1 -1
- package/dist/esm/clients/GptClient.js +15 -0
- package/dist/esm/clients/GptClient.js.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.d.ts.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.js +1 -1
- package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
- package/dist/esm/lib/DonobuExtendedPage.d.ts +1 -1
- package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -1
- package/dist/esm/lib/PageAi.d.ts +4 -6
- package/dist/esm/lib/PageAi.d.ts.map +1 -1
- package/dist/esm/lib/PageAi.js +11 -9
- package/dist/esm/lib/PageAi.js.map +1 -1
- package/dist/esm/lib/createDonobuExtendedPage.d.ts +10 -0
- package/dist/esm/lib/createDonobuExtendedPage.d.ts.map +1 -0
- package/dist/esm/lib/createDonobuExtendedPage.js +377 -0
- package/dist/esm/lib/createDonobuExtendedPage.js.map +1 -0
- package/dist/esm/lib/pageAi/cache.d.ts +13 -10
- package/dist/esm/lib/pageAi/cache.d.ts.map +1 -1
- package/dist/esm/lib/pageAi/cache.js +67 -30
- package/dist/esm/lib/pageAi/cache.js.map +1 -1
- package/dist/esm/lib/testExtension.d.ts.map +1 -1
- package/dist/esm/lib/testExtension.js +69 -436
- package/dist/esm/lib/testExtension.js.map +1 -1
- package/dist/esm/main.d.ts +1 -0
- package/dist/esm/main.d.ts.map +1 -1
- package/dist/esm/main.js +1 -0
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/utils/MiscUtils.d.ts +5 -0
- package/dist/esm/utils/MiscUtils.d.ts.map +1 -1
- package/dist/esm/utils/MiscUtils.js +16 -0
- package/dist/esm/utils/MiscUtils.js.map +1 -1
- package/dist/lib/DonobuExtendedPage.d.ts +1 -1
- package/dist/lib/DonobuExtendedPage.d.ts.map +1 -1
- package/dist/lib/PageAi.d.ts +4 -6
- package/dist/lib/PageAi.d.ts.map +1 -1
- package/dist/lib/PageAi.js +11 -9
- package/dist/lib/PageAi.js.map +1 -1
- package/dist/lib/createDonobuExtendedPage.d.ts +10 -0
- package/dist/lib/createDonobuExtendedPage.d.ts.map +1 -0
- package/dist/lib/createDonobuExtendedPage.js +377 -0
- package/dist/lib/createDonobuExtendedPage.js.map +1 -0
- package/dist/lib/pageAi/cache.d.ts +13 -10
- package/dist/lib/pageAi/cache.d.ts.map +1 -1
- package/dist/lib/pageAi/cache.js +67 -30
- package/dist/lib/pageAi/cache.js.map +1 -1
- package/dist/lib/testExtension.d.ts.map +1 -1
- package/dist/lib/testExtension.js +69 -436
- package/dist/lib/testExtension.js.map +1 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/utils/MiscUtils.d.ts +5 -0
- package/dist/utils/MiscUtils.d.ts.map +1 -1
- package/dist/utils/MiscUtils.js +16 -0
- package/dist/utils/MiscUtils.js.map +1 -1
- package/package.json +4 -1
|
@@ -2,6 +2,11 @@ import { GptMessage } from '../models/GptMessage';
|
|
|
2
2
|
export declare class MiscUtils {
|
|
3
3
|
private constructor();
|
|
4
4
|
static readonly DONOBU_VERSION: string;
|
|
5
|
+
/**
|
|
6
|
+
* Force a true/false/undefined value for a given value. This is a stripped down
|
|
7
|
+
* version of th 'yn' library.
|
|
8
|
+
*/
|
|
9
|
+
static yn(value: any): boolean | undefined;
|
|
5
10
|
/**
|
|
6
11
|
* This is the base working directory for the entire application. Care is made
|
|
7
12
|
* to ensure we do not access data outside of this directory to maintain
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiscUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,SAAS;IACpB,OAAO;IAEP,gBAAuB,cAAc,SAEnC;IAEF;;;;;;;;;;;OAWG;WACW,oBAAoB,CAChC,OAAO;;;;;;;;MAA6D,GACnE,MAAM;WAkCK,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM;IA8BjE;;OAEG;WACW,iBAAiB,CAC7B,WAAW,EAAE;QACX,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,EACD,YAAY,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,GACA,IAAI;IAKP;;OAEG;WACW,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK/D;;OAEG;WACW,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAS9D;;;;;;;OAOG;WACiB,wBAAwB,CAC1C,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAyDlB;;;OAGG;WACW,kCAAkC,IAAI,MAAM;IAkB1D;;;OAGG;WACW,qCAAqC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAoDxE;;;;;;;OAOG;WACW,qBAAqB,IAAI,MAAM;IAI7C;;OAEG;WACW,yBAAyB,CACrC,QAAQ,EAAE,UAAU,EAAE,GACrB,UAAU,EAAE;CA2BhB"}
|
|
1
|
+
{"version":3,"file":"MiscUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,SAAS;IACpB,OAAO;IAEP,gBAAuB,cAAc,SAEnC;IAEF;;;OAGG;WACW,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS;IAYjD;;;;;;;;;;;OAWG;WACW,oBAAoB,CAChC,OAAO;;;;;;;;MAA6D,GACnE,MAAM;WAkCK,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM;IA8BjE;;OAEG;WACW,iBAAiB,CAC7B,WAAW,EAAE;QACX,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,EACD,YAAY,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,GACA,IAAI;IAKP;;OAEG;WACW,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK/D;;OAEG;WACW,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAS9D;;;;;;;OAOG;WACiB,wBAAwB,CAC1C,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAyDlB;;;OAGG;WACW,kCAAkC,IAAI,MAAM;IAkB1D;;;OAGG;WACW,qCAAqC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAoDxE;;;;;;;OAOG;WACW,qBAAqB,IAAI,MAAM;IAI7C;;OAEG;WACW,yBAAyB,CACrC,QAAQ,EAAE,UAAU,EAAE,GACrB,UAAU,EAAE;CA2BhB"}
|
|
@@ -9,6 +9,22 @@ const jimp_1 = require("jimp");
|
|
|
9
9
|
const envVars_1 = require("../envVars");
|
|
10
10
|
class MiscUtils {
|
|
11
11
|
constructor() { }
|
|
12
|
+
/**
|
|
13
|
+
* Force a true/false/undefined value for a given value. This is a stripped down
|
|
14
|
+
* version of th 'yn' library.
|
|
15
|
+
*/
|
|
16
|
+
static yn(value) {
|
|
17
|
+
value = String(value).trim();
|
|
18
|
+
if (/^(?:y|yes|true|1|on)$/i.test(value)) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
else if (/^(?:n|no|false|0|off)$/i.test(value)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
12
28
|
/**
|
|
13
29
|
* This is the base working directory for the entire application. Care is made
|
|
14
30
|
* to ensure we do not access data outside of this directory to maintain
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiscUtils.js","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MiscUtils.js","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonobuExtendedPage.d.ts","sourceRoot":"","sources":["../../src/lib/DonobuExtendedPage.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DonobuExtendedPage.d.ts","sourceRoot":"","sources":["../../src/lib/DonobuExtendedPage.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/PageAi.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { DonobuExtendedPage } from './DonobuExtendedPage';
|
|
|
4
4
|
import { FlowMetadata } from '../models/FlowMetadata';
|
|
5
5
|
import { DonobuFlow } from '../managers/DonobuFlow';
|
|
6
6
|
import { GptClient } from '../clients/GptClient';
|
|
7
|
-
import { FlowsPersistence } from '../persistence/flows/FlowsPersistence';
|
|
8
7
|
import { ProposedToolCall } from '../models/ProposedToolCall';
|
|
9
8
|
import { PageAiCache } from './pageAi/cache';
|
|
10
9
|
/**
|
|
@@ -69,9 +68,8 @@ type PageAiRunResult<Schema extends z.ZodObject | undefined> = {
|
|
|
69
68
|
*/
|
|
70
69
|
export declare class PageAiRunner {
|
|
71
70
|
private readonly donobu;
|
|
72
|
-
private readonly persistence;
|
|
73
71
|
private readonly gptClient;
|
|
74
|
-
constructor(donobu: DonobuStack,
|
|
72
|
+
constructor(donobu: DonobuStack, gptClient: GptClient);
|
|
75
73
|
/**
|
|
76
74
|
* Executes a flow using the provided configuration.
|
|
77
75
|
*
|
|
@@ -97,17 +95,17 @@ export declare class PageAi {
|
|
|
97
95
|
private readonly runner;
|
|
98
96
|
/**
|
|
99
97
|
* @param donobu Donobu stack providing flow managers and shared services.
|
|
100
|
-
* @param persistence Persistence layer used to store flow metadata.
|
|
101
98
|
* @param gptClient GPT client used for autonomous reasoning.
|
|
102
99
|
* @param cache Pluggable cache implementation the facade should consult.
|
|
103
100
|
*/
|
|
104
|
-
constructor(donobu: DonobuStack,
|
|
101
|
+
constructor(donobu: DonobuStack, gptClient: GptClient, cache: PageAiCache);
|
|
105
102
|
/**
|
|
106
103
|
* Builds a `PageAi` instance configured to use the file-backed cache stored
|
|
107
104
|
* alongside the current test file. This mirrors the behaviour relied upon by
|
|
108
105
|
* the Playwright fixture.
|
|
109
106
|
*/
|
|
110
|
-
static withFileCache(donobu: DonobuStack,
|
|
107
|
+
static withFileCache(donobu: DonobuStack, gptClient: GptClient, cacheFilepath: string): PageAi;
|
|
108
|
+
static withInMemoryCache(donobu: DonobuStack, gptClient: GptClient): PageAi;
|
|
111
109
|
/**
|
|
112
110
|
* Public entry point invoked by `page.ai`. Handles cache lookup, delegates to
|
|
113
111
|
* the runner, and stores the result back into the cache when appropriate.
|
package/dist/lib/PageAi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageAi.d.ts","sourceRoot":"","sources":["../../src/lib/PageAi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PageAi.d.ts","sourceRoot":"","sources":["../../src/lib/PageAi.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/PageAi.js
CHANGED
|
@@ -27,9 +27,8 @@ const originalGotoRegistry_1 = require("./originalGotoRegistry");
|
|
|
27
27
|
* all?”.
|
|
28
28
|
*/
|
|
29
29
|
class PageAiRunner {
|
|
30
|
-
constructor(donobu,
|
|
30
|
+
constructor(donobu, gptClient) {
|
|
31
31
|
this.donobu = donobu;
|
|
32
|
-
this.persistence = persistence;
|
|
33
32
|
this.gptClient = gptClient;
|
|
34
33
|
}
|
|
35
34
|
/**
|
|
@@ -54,9 +53,10 @@ class PageAiRunner {
|
|
|
54
53
|
allowedTools: config.allowedTools,
|
|
55
54
|
};
|
|
56
55
|
const toolManager = await this.buildToolManager(config.allowedTools);
|
|
56
|
+
const persistence = await this.donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
57
57
|
const pageWithOriginalGoto = Object.create(config.page);
|
|
58
58
|
pageWithOriginalGoto.goto = (0, originalGotoRegistry_1.getOriginalGoto)(config.page);
|
|
59
|
-
const donobuFlow = new DonobuFlow_1.DonobuFlow(this.donobu.flowsManager, envData, config.page.context(),
|
|
59
|
+
const donobuFlow = new DonobuFlow_1.DonobuFlow(this.donobu.flowsManager, envData, config.page.context(), persistence, this.gptClient, toolManager, new InteractionVisualizer_1.InteractionVisualizer(augmentedMetadata.defaultMessageDuration ?? 0), config.cachedToolCalls ?? [], [], [], {
|
|
60
60
|
current: pageWithOriginalGoto,
|
|
61
61
|
}, augmentedMetadata, new ControlPanel_1.NoOpControlPanel());
|
|
62
62
|
const rawResult = await donobuFlow.run();
|
|
@@ -66,7 +66,7 @@ class PageAiRunner {
|
|
|
66
66
|
completionTokensUsed: donobuFlow.metadata.completionTokensUsed,
|
|
67
67
|
};
|
|
68
68
|
try {
|
|
69
|
-
await
|
|
69
|
+
await persistence.setFlowMetadata(updatedMetadata);
|
|
70
70
|
}
|
|
71
71
|
catch (error) {
|
|
72
72
|
Logger_1.appLogger.warn(`Failed to update metadata for flow: ${updatedMetadata.id}`, error);
|
|
@@ -113,21 +113,23 @@ exports.PageAiRunner = PageAiRunner;
|
|
|
113
113
|
class PageAi {
|
|
114
114
|
/**
|
|
115
115
|
* @param donobu Donobu stack providing flow managers and shared services.
|
|
116
|
-
* @param persistence Persistence layer used to store flow metadata.
|
|
117
116
|
* @param gptClient GPT client used for autonomous reasoning.
|
|
118
117
|
* @param cache Pluggable cache implementation the facade should consult.
|
|
119
118
|
*/
|
|
120
|
-
constructor(donobu,
|
|
119
|
+
constructor(donobu, gptClient, cache) {
|
|
121
120
|
this.cache = cache;
|
|
122
|
-
this.runner = new PageAiRunner(donobu,
|
|
121
|
+
this.runner = new PageAiRunner(donobu, gptClient);
|
|
123
122
|
}
|
|
124
123
|
/**
|
|
125
124
|
* Builds a `PageAi` instance configured to use the file-backed cache stored
|
|
126
125
|
* alongside the current test file. This mirrors the behaviour relied upon by
|
|
127
126
|
* the Playwright fixture.
|
|
128
127
|
*/
|
|
129
|
-
static withFileCache(donobu,
|
|
130
|
-
return new PageAi(donobu,
|
|
128
|
+
static withFileCache(donobu, gptClient, cacheFilepath) {
|
|
129
|
+
return new PageAi(donobu, gptClient, new cache_1.FilePageAiCache(cacheFilepath));
|
|
130
|
+
}
|
|
131
|
+
static withInMemoryCache(donobu, gptClient) {
|
|
132
|
+
return new PageAi(donobu, gptClient, new cache_1.InMemoryPageAiCache());
|
|
131
133
|
}
|
|
132
134
|
/**
|
|
133
135
|
* Public entry point invoked by `page.ai`. Handles cache lookup, delegates to
|
package/dist/lib/PageAi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageAi.js","sourceRoot":"","sources":["../../src/lib/PageAi.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAI3B,yDAAsD;AACtD,uDAAoD;AACpD,mEAAgE;AAChE,yDAA0D;AAC1D,6EAA0E;
|
|
1
|
+
{"version":3,"file":"PageAi.js","sourceRoot":"","sources":["../../src/lib/PageAi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Page } from 'playwright-core';
|
|
2
|
+
import { GptClient } from '../clients/GptClient';
|
|
3
|
+
import { DonobuExtendedPage } from './DonobuExtendedPage';
|
|
4
|
+
export declare function extendPage(page: Page, options?: {
|
|
5
|
+
cacheFilepath?: string;
|
|
6
|
+
envVars?: string[];
|
|
7
|
+
gptClient?: GptClient;
|
|
8
|
+
headless?: boolean;
|
|
9
|
+
}): Promise<DonobuExtendedPage>;
|
|
10
|
+
//# sourceMappingURL=createDonobuExtendedPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDonobuExtendedPage.d.ts","sourceRoot":"","sources":["../../src/lib/createDonobuExtendedPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAiB,MAAM,sBAAsB,CAAC;AAiEzE,wBAAsB,UAAU,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAyD7B"}
|
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extendPage = extendPage;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
5
|
+
const GptClient_1 = require("../clients/GptClient");
|
|
6
|
+
const PlaywrightUtils_1 = require("../utils/PlaywrightUtils");
|
|
7
|
+
const donobuTestStack_1 = require("./utils/donobuTestStack");
|
|
8
|
+
const BrowserUtils_1 = require("../utils/BrowserUtils");
|
|
9
|
+
const envVars_1 = require("../envVars");
|
|
10
|
+
const gptClients_1 = require("./fixtures/gptClients");
|
|
11
|
+
const GptApiKeysNotSetupException_1 = require("../exceptions/GptApiKeysNotSetupException");
|
|
12
|
+
const Logger_1 = require("../utils/Logger");
|
|
13
|
+
const AssertTool_1 = require("../tools/AssertTool");
|
|
14
|
+
const ScrollPageTool_1 = require("../tools/ScrollPageTool");
|
|
15
|
+
const v4_1 = require("zod/v4");
|
|
16
|
+
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
17
|
+
const originalGotoRegistry_1 = require("./originalGotoRegistry");
|
|
18
|
+
const VercelAiGptClient_1 = require("../clients/VercelAiGptClient");
|
|
19
|
+
const PageAi_1 = require("./PageAi");
|
|
20
|
+
const SmartSelector_1 = require("./SmartSelector");
|
|
21
|
+
const GoToWebpageTool_1 = require("../tools/GoToWebpageTool");
|
|
22
|
+
const PageInspector_1 = require("../managers/PageInspector");
|
|
23
|
+
const ControlPanel_1 = require("../models/ControlPanel");
|
|
24
|
+
const InteractionVisualizer_1 = require("../managers/InteractionVisualizer");
|
|
25
|
+
const ToolManager_1 = require("../managers/ToolManager");
|
|
26
|
+
const AnalyzePageTextTool_1 = require("../tools/AnalyzePageTextTool");
|
|
27
|
+
const AssertPageTextTool_1 = require("../tools/AssertPageTextTool");
|
|
28
|
+
const ChangeWebBrowserTabTool_1 = require("../tools/ChangeWebBrowserTabTool");
|
|
29
|
+
const ChooseSelectOptionTool_1 = require("../tools/ChooseSelectOptionTool");
|
|
30
|
+
const ClickTool_1 = require("../tools/ClickTool");
|
|
31
|
+
const CreateBrowserCookieReportTool_1 = require("../tools/CreateBrowserCookieReportTool");
|
|
32
|
+
const DonobuFlow_1 = require("../managers/DonobuFlow");
|
|
33
|
+
const HoverOverElementTool_1 = require("../tools/HoverOverElementTool");
|
|
34
|
+
const InputRandomizedEmailAddressTool_1 = require("../tools/InputRandomizedEmailAddressTool");
|
|
35
|
+
const InputTextTool_1 = require("../tools/InputTextTool");
|
|
36
|
+
const PressKeyTool_1 = require("../tools/PressKeyTool");
|
|
37
|
+
const RunAccessibilityTestTool_1 = require("../tools/RunAccessibilityTestTool");
|
|
38
|
+
const PLACEHOLDER_FLOW_URL = 'https://example.com';
|
|
39
|
+
async function extendPage(page, options) {
|
|
40
|
+
await PlaywrightUtils_1.PlaywrightUtils.setupBasicBrowserContext(page.context());
|
|
41
|
+
const donobuStack = await (0, donobuTestStack_1.getOrCreateDonobuStack)();
|
|
42
|
+
const persistence = await donobuStack.flowsPersistenceFactory.createPersistenceLayer();
|
|
43
|
+
const initialBrowserState = await BrowserUtils_1.BrowserUtils.getBrowserStorageState(page.context());
|
|
44
|
+
const resolvedGptClient = await buttonUpGptClient(options?.gptClient);
|
|
45
|
+
const extend = createDonobuPageExtender({
|
|
46
|
+
donobuFlowMetadata: {
|
|
47
|
+
id: (0, uuid_1.v4)(),
|
|
48
|
+
name: null,
|
|
49
|
+
createdWithDonobuVersion: MiscUtils_1.MiscUtils.DONOBU_VERSION,
|
|
50
|
+
browser: {
|
|
51
|
+
persistState: true,
|
|
52
|
+
using: {
|
|
53
|
+
type: 'device',
|
|
54
|
+
deviceName: 'Desktop Chromium',
|
|
55
|
+
headless: options?.headless,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
envVars: options?.envVars ?? null,
|
|
59
|
+
gptConfigName: null,
|
|
60
|
+
hasGptConfigNameOverride: false,
|
|
61
|
+
customTools: null,
|
|
62
|
+
defaultMessageDuration: 0,
|
|
63
|
+
runMode: 'DETERMINISTIC',
|
|
64
|
+
isControlPanelEnabled: false,
|
|
65
|
+
callbackUrl: null,
|
|
66
|
+
targetWebsite: PLACEHOLDER_FLOW_URL,
|
|
67
|
+
overallObjective: null,
|
|
68
|
+
allowedTools: [],
|
|
69
|
+
resultJsonSchema: null,
|
|
70
|
+
result: null,
|
|
71
|
+
inputTokensUsed: 0,
|
|
72
|
+
completionTokensUsed: 0,
|
|
73
|
+
maxToolCalls: null,
|
|
74
|
+
startedAt: new Date().getTime(),
|
|
75
|
+
completedAt: null,
|
|
76
|
+
state: 'RUNNING_ACTION',
|
|
77
|
+
nextState: null,
|
|
78
|
+
},
|
|
79
|
+
donobuStack: donobuStack,
|
|
80
|
+
pageAi: undefined,
|
|
81
|
+
persistence: persistence,
|
|
82
|
+
initialBrowserState: initialBrowserState,
|
|
83
|
+
gptClient: resolvedGptClient,
|
|
84
|
+
runtimeDirectives: {
|
|
85
|
+
clearPageAiCache: MiscUtils_1.MiscUtils.yn(envVars_1.env.data.DONOBU_PAGE_AI_CLEAR_CACHE),
|
|
86
|
+
},
|
|
87
|
+
}, options?.cacheFilepath);
|
|
88
|
+
const extendedPage = extend(page);
|
|
89
|
+
return extendedPage;
|
|
90
|
+
}
|
|
91
|
+
function createDonobuPageExtender(sharedState, cacheFilepath) {
|
|
92
|
+
const extend = (target) => {
|
|
93
|
+
if (!(0, originalGotoRegistry_1.hasOriginalGoto)(target)) {
|
|
94
|
+
(0, originalGotoRegistry_1.registerOriginalGoto)(target, target.goto);
|
|
95
|
+
}
|
|
96
|
+
const extended = target;
|
|
97
|
+
extended._dnb = sharedState;
|
|
98
|
+
attachDonobuMethods(extended, sharedState, extend, cacheFilepath);
|
|
99
|
+
return extended;
|
|
100
|
+
};
|
|
101
|
+
return extend;
|
|
102
|
+
}
|
|
103
|
+
function attachDonobuMethods(page, sharedState, extend, cacheFilepath) {
|
|
104
|
+
page.ai = async (instruction, options, gptClientOverride) => {
|
|
105
|
+
let finalGptClient = null;
|
|
106
|
+
if (gptClientOverride) {
|
|
107
|
+
if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
|
|
108
|
+
finalGptClient = new VercelAiGptClient_1.VercelAiGptClient(gptClientOverride);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
finalGptClient = gptClientOverride;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else if (sharedState.gptClient) {
|
|
115
|
+
finalGptClient = sharedState.gptClient;
|
|
116
|
+
}
|
|
117
|
+
if (!finalGptClient) {
|
|
118
|
+
throw new Error(`No AI connection available. Establish a connection by setting an API key via an environment variable.
|
|
119
|
+
Valid options:
|
|
120
|
+
- ${envVars_1.env.keys.ANTHROPIC_API_KEY}
|
|
121
|
+
- ${envVars_1.env.keys.GOOGLE_GENERATIVE_AI_API_KEY}
|
|
122
|
+
- ${envVars_1.env.keys.OPENAI_API_KEY}`);
|
|
123
|
+
}
|
|
124
|
+
if (!sharedState.pageAi) {
|
|
125
|
+
sharedState.pageAi = cacheFilepath
|
|
126
|
+
? PageAi_1.PageAi.withFileCache(sharedState.donobuStack, finalGptClient, cacheFilepath)
|
|
127
|
+
: PageAi_1.PageAi.withInMemoryCache(sharedState.donobuStack, finalGptClient);
|
|
128
|
+
}
|
|
129
|
+
const clearAiCacheForRun = sharedState.runtimeDirectives?.clearPageAiCache ?? false;
|
|
130
|
+
const revisedOptions = {
|
|
131
|
+
envVars: sharedState.donobuFlowMetadata.envVars ?? [],
|
|
132
|
+
...(options ? options : {}),
|
|
133
|
+
};
|
|
134
|
+
if (clearAiCacheForRun) {
|
|
135
|
+
await sharedState.pageAi.invalidate(page, instruction, revisedOptions);
|
|
136
|
+
Logger_1.appLogger.debug(`Page.AI cache invalidated for this run via ${envVars_1.env.keys.DONOBU_PAGE_AI_CLEAR_CACHE}`);
|
|
137
|
+
}
|
|
138
|
+
return sharedState.pageAi.ai(page, instruction, revisedOptions);
|
|
139
|
+
};
|
|
140
|
+
page.find = (selector, options) => {
|
|
141
|
+
return new SmartSelector_1.SmartSelectorImpl(page, {
|
|
142
|
+
element: [selector, ...(options?.failover ?? [])],
|
|
143
|
+
frame: options?.frame,
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
page.goto = async (url, options) => {
|
|
147
|
+
const startedAt = new Date().getTime();
|
|
148
|
+
const flowId = sharedState.donobuFlowMetadata.id;
|
|
149
|
+
if (sharedState.donobuFlowMetadata.targetWebsite === PLACEHOLDER_FLOW_URL) {
|
|
150
|
+
sharedState.donobuFlowMetadata = {
|
|
151
|
+
...sharedState.donobuFlowMetadata,
|
|
152
|
+
targetWebsite: url,
|
|
153
|
+
};
|
|
154
|
+
await sharedState.persistence.setFlowMetadata(sharedState.donobuFlowMetadata);
|
|
155
|
+
}
|
|
156
|
+
try {
|
|
157
|
+
const originalGoto = (0, originalGotoRegistry_1.getOriginalGoto)(page);
|
|
158
|
+
const resp = await originalGoto.call(page, url, options);
|
|
159
|
+
const pageTitle = await page.title();
|
|
160
|
+
const postCallImage = await PlaywrightUtils_1.PlaywrightUtils.takeViewportScreenshot(page);
|
|
161
|
+
const postCallImageId = await sharedState.persistence.saveScreenShot(flowId, postCallImage);
|
|
162
|
+
const completedAt = new Date().getTime();
|
|
163
|
+
await sharedState.persistence.saveToolCall(flowId, {
|
|
164
|
+
id: MiscUtils_1.MiscUtils.createAdHocToolCallId(),
|
|
165
|
+
toolName: GoToWebpageTool_1.GoToWebpageTool.NAME,
|
|
166
|
+
parameters: {
|
|
167
|
+
url: url,
|
|
168
|
+
},
|
|
169
|
+
outcome: {
|
|
170
|
+
isSuccessful: true,
|
|
171
|
+
forLlm: `Successfully navigated to ${url}`,
|
|
172
|
+
metadata: {
|
|
173
|
+
pageTitle: pageTitle,
|
|
174
|
+
resolvedUrl: page.url(),
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
postCallImageId: postCallImageId,
|
|
178
|
+
page: url,
|
|
179
|
+
startedAt: startedAt,
|
|
180
|
+
completedAt: completedAt,
|
|
181
|
+
});
|
|
182
|
+
return resp;
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
const postCallImage = await PlaywrightUtils_1.PlaywrightUtils.takeViewportScreenshot(page);
|
|
186
|
+
const postCallImageId = await sharedState.persistence.saveScreenShot(flowId, postCallImage);
|
|
187
|
+
const completedAt = new Date().getTime();
|
|
188
|
+
await sharedState.persistence.saveToolCall(flowId, {
|
|
189
|
+
id: MiscUtils_1.MiscUtils.createAdHocToolCallId(),
|
|
190
|
+
toolName: GoToWebpageTool_1.GoToWebpageTool.NAME,
|
|
191
|
+
parameters: {
|
|
192
|
+
url: url,
|
|
193
|
+
},
|
|
194
|
+
outcome: {
|
|
195
|
+
isSuccessful: false,
|
|
196
|
+
forLlm: `FAILED! ${typeof error}: ${error.message}`,
|
|
197
|
+
metadata: null,
|
|
198
|
+
},
|
|
199
|
+
postCallImageId: postCallImageId,
|
|
200
|
+
page: url,
|
|
201
|
+
startedAt: startedAt,
|
|
202
|
+
completedAt: completedAt,
|
|
203
|
+
});
|
|
204
|
+
throw error;
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
page.run = async (toolName, toolParams, gptClientOverride) => {
|
|
208
|
+
let finalGptClient = null;
|
|
209
|
+
if (gptClientOverride) {
|
|
210
|
+
if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
|
|
211
|
+
finalGptClient = new VercelAiGptClient_1.VercelAiGptClient(gptClientOverride);
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
finalGptClient = gptClientOverride;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else if (sharedState.gptClient) {
|
|
218
|
+
finalGptClient = sharedState.gptClient;
|
|
219
|
+
}
|
|
220
|
+
const pageInspector = new PageInspector_1.PageInspector();
|
|
221
|
+
const controlPanel = new ControlPanel_1.NoOpControlPanel();
|
|
222
|
+
const clonedParams = toolParams
|
|
223
|
+
? JSON.parse(JSON.stringify(toolParams))
|
|
224
|
+
: {};
|
|
225
|
+
clonedParams.rationale || (clonedParams.rationale = '');
|
|
226
|
+
const envData = await sharedState.donobuStack.flowsManager.buildEnvData(sharedState.donobuFlowMetadata.envVars ?? []);
|
|
227
|
+
const toolCallContext = {
|
|
228
|
+
flowsManager: sharedState.donobuStack.flowsManager,
|
|
229
|
+
envData: envData,
|
|
230
|
+
pageInspector: pageInspector,
|
|
231
|
+
controlPanel: controlPanel,
|
|
232
|
+
persistence: sharedState.persistence,
|
|
233
|
+
gptClient: finalGptClient,
|
|
234
|
+
interactionVisualizer: new InteractionVisualizer_1.InteractionVisualizer(0),
|
|
235
|
+
proposedToolCalls: [],
|
|
236
|
+
invokedToolCalls: [],
|
|
237
|
+
page: { current: page },
|
|
238
|
+
metadata: sharedState.donobuFlowMetadata,
|
|
239
|
+
toolCallId: clonedParams.toolCallId ?? MiscUtils_1.MiscUtils.createAdHocToolCallId(),
|
|
240
|
+
};
|
|
241
|
+
try {
|
|
242
|
+
const tools = await ToolManager_1.ToolManager.allTools();
|
|
243
|
+
const result = await new ToolManager_1.ToolManager(tools).invokeTool(toolCallContext, toolName, clonedParams, false);
|
|
244
|
+
if (!result.outcome.isSuccessful) {
|
|
245
|
+
throw new Error(`${toolName} execution failed: ${JSON.stringify(result, null, 2)}`);
|
|
246
|
+
}
|
|
247
|
+
return result.outcome;
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
throw error;
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
page.analyzePageText = async (params, gptClientOverride) => {
|
|
254
|
+
return page.run(AnalyzePageTextTool_1.AnalyzePageTextTool.NAME, params, gptClientOverride);
|
|
255
|
+
};
|
|
256
|
+
page.assertPageText = async (params, gptClientOverride) => {
|
|
257
|
+
return page.run(AssertPageTextTool_1.AssertPageTextTool.NAME, params, gptClientOverride);
|
|
258
|
+
};
|
|
259
|
+
page.changeTab = async (url) => {
|
|
260
|
+
const result = await page.run(ChangeWebBrowserTabTool_1.ChangeWebBrowserTabTool.NAME, {
|
|
261
|
+
tabUrl: url,
|
|
262
|
+
});
|
|
263
|
+
if (result.isSuccessful) {
|
|
264
|
+
const matchingPage = page
|
|
265
|
+
.context()
|
|
266
|
+
.pages()
|
|
267
|
+
.find((tab) => tab.url() === url);
|
|
268
|
+
if (!matchingPage) {
|
|
269
|
+
throw new Error(`Unable to locate tab with URL ${url} after switching.`);
|
|
270
|
+
}
|
|
271
|
+
return extend(matchingPage);
|
|
272
|
+
}
|
|
273
|
+
throw Error(result.forLlm);
|
|
274
|
+
};
|
|
275
|
+
page.chooseSelectOption = async (params) => {
|
|
276
|
+
return page.run(ChooseSelectOptionTool_1.ChooseSelectOptionTool.NAME, params);
|
|
277
|
+
};
|
|
278
|
+
page.clickElement = async (params) => {
|
|
279
|
+
return page.run(ClickTool_1.ClickTool.NAME, params);
|
|
280
|
+
};
|
|
281
|
+
page.createCookieReport = async (gptClientOverride) => {
|
|
282
|
+
return page.run(CreateBrowserCookieReportTool_1.CreateBrowserCookieReportTool.NAME, {}, gptClientOverride);
|
|
283
|
+
};
|
|
284
|
+
page.extract = async (params, gptClientOverride) => {
|
|
285
|
+
let finalGptClient = null;
|
|
286
|
+
if (gptClientOverride) {
|
|
287
|
+
if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
|
|
288
|
+
finalGptClient = new VercelAiGptClient_1.VercelAiGptClient(gptClientOverride);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
finalGptClient = gptClientOverride;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
else if (sharedState.gptClient) {
|
|
295
|
+
finalGptClient = sharedState.gptClient;
|
|
296
|
+
}
|
|
297
|
+
if (!finalGptClient) {
|
|
298
|
+
throw Error('Cannot extract an object from page without a GPT client set up!');
|
|
299
|
+
}
|
|
300
|
+
try {
|
|
301
|
+
const toolCallHistory = await sharedState.persistence.getToolCalls(sharedState.donobuFlowMetadata.id);
|
|
302
|
+
const structuredOutputMessage = await (0, DonobuFlow_1.extractFromPage)(params.instruction ??
|
|
303
|
+
'Generate an object conforming to the given JSON-schema', params.schema, page, toolCallHistory, finalGptClient);
|
|
304
|
+
sharedState.donobuFlowMetadata.resultJsonSchema = v4_1.z.toJSONSchema(params.schema);
|
|
305
|
+
sharedState.donobuFlowMetadata.result = JSON.parse(JSON.stringify(structuredOutputMessage.output));
|
|
306
|
+
await sharedState.persistence.setFlowMetadata(sharedState.donobuFlowMetadata);
|
|
307
|
+
return structuredOutputMessage.output;
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
throw error;
|
|
311
|
+
}
|
|
312
|
+
};
|
|
313
|
+
page.hoverOverElement = async (params) => {
|
|
314
|
+
return page.run(HoverOverElementTool_1.HoverOverElementTool.NAME, params);
|
|
315
|
+
};
|
|
316
|
+
page.inputRandomizedEmailAddress = async (params) => {
|
|
317
|
+
return page.run(InputRandomizedEmailAddressTool_1.InputRandomizedEmailAddressTool.NAME, params);
|
|
318
|
+
};
|
|
319
|
+
page.inputText = async (params) => {
|
|
320
|
+
return page.run(InputTextTool_1.InputTextTool.NAME, params);
|
|
321
|
+
};
|
|
322
|
+
page.pressKey = async (params) => {
|
|
323
|
+
return page.run(PressKeyTool_1.PressKeyTool.NAME, params);
|
|
324
|
+
};
|
|
325
|
+
page.runAccessibilityTest = async () => {
|
|
326
|
+
return page.run(RunAccessibilityTestTool_1.RunAccessibilityTestTool.NAME);
|
|
327
|
+
};
|
|
328
|
+
page.scroll = async (params) => {
|
|
329
|
+
return page.run(ScrollPageTool_1.ScrollPageTool.NAME, params);
|
|
330
|
+
};
|
|
331
|
+
page.visuallyAssert = async (params, gptClientOverride) => {
|
|
332
|
+
return page.run(AssertTool_1.AssertTool.NAME, params, gptClientOverride);
|
|
333
|
+
};
|
|
334
|
+
page.once('close', () => {
|
|
335
|
+
void finalizeFlowOnPageClose(sharedState);
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
async function buttonUpGptClient(gptClient) {
|
|
339
|
+
try {
|
|
340
|
+
if (!gptClient) {
|
|
341
|
+
gptClient = await (0, gptClients_1.getOrCreateDefaultGptClient)();
|
|
342
|
+
}
|
|
343
|
+
return gptClient;
|
|
344
|
+
}
|
|
345
|
+
catch (error) {
|
|
346
|
+
if (!(error instanceof GptApiKeysNotSetupException_1.GptApiKeysNotSetupException)) {
|
|
347
|
+
const err = error;
|
|
348
|
+
Logger_1.appLogger.error(`Failed to set up GPT client! ${err.name}: ${err.message}`);
|
|
349
|
+
}
|
|
350
|
+
// Do nothing since we may not need a GPT client at all anyway.
|
|
351
|
+
// If something later on requires a GPT client, it will throw an error.
|
|
352
|
+
return gptClient;
|
|
353
|
+
}
|
|
354
|
+
finally {
|
|
355
|
+
if (gptClient) {
|
|
356
|
+
const modelName = 'modelName' in gptClient.config
|
|
357
|
+
? gptClient.config.modelName
|
|
358
|
+
: undefined;
|
|
359
|
+
Logger_1.appLogger.info(`Set up ${gptClient.config.type} client${modelName ? ` for model: ${modelName}` : ''}`);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
async function finalizeFlowOnPageClose(sharedState) {
|
|
364
|
+
if (sharedState.donobuFlowMetadata.state === 'SUCCESS' ||
|
|
365
|
+
sharedState.donobuFlowMetadata.state === 'FAILED') {
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
sharedState.donobuFlowMetadata.state = 'SUCCESS';
|
|
369
|
+
sharedState.donobuFlowMetadata.completedAt = new Date().getTime();
|
|
370
|
+
try {
|
|
371
|
+
await sharedState.persistence.setFlowMetadata(sharedState.donobuFlowMetadata);
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
Logger_1.appLogger.error('Failed to persist Donobu flow metadata when page closed.', error);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
//# sourceMappingURL=createDonobuExtendedPage.js.map
|