donobu 2.42.0 → 2.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/assets/generated/version +1 -1
  2. package/dist/envVars.d.ts +57 -148
  3. package/dist/envVars.d.ts.map +1 -1
  4. package/dist/envVars.js +53 -99
  5. package/dist/envVars.js.map +1 -1
  6. package/dist/esm/assets/generated/version +1 -1
  7. package/dist/esm/envVars.d.ts +57 -148
  8. package/dist/esm/envVars.d.ts.map +1 -1
  9. package/dist/esm/envVars.js +53 -99
  10. package/dist/esm/envVars.js.map +1 -1
  11. package/dist/esm/exceptions/PageAiException.d.ts +10 -0
  12. package/dist/esm/exceptions/PageAiException.d.ts.map +1 -0
  13. package/dist/esm/exceptions/PageAiException.js +15 -0
  14. package/dist/esm/exceptions/PageAiException.js.map +1 -0
  15. package/dist/esm/lib/DonobuExtendedPage.d.ts +15 -7
  16. package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -1
  17. package/dist/esm/lib/PageAi.d.ts +112 -0
  18. package/dist/esm/lib/PageAi.d.ts.map +1 -0
  19. package/dist/esm/lib/PageAi.js +337 -0
  20. package/dist/esm/lib/PageAi.js.map +1 -0
  21. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  22. package/dist/esm/lib/testExtension.js +18 -48
  23. package/dist/esm/lib/testExtension.js.map +1 -1
  24. package/dist/esm/main.d.ts +1 -1
  25. package/dist/esm/main.d.ts.map +1 -1
  26. package/dist/esm/main.js +1 -1
  27. package/dist/esm/main.js.map +1 -1
  28. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  29. package/dist/esm/managers/DonobuFlow.js +10 -1
  30. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  31. package/dist/esm/managers/DonobuFlowsManager.js +3 -3
  32. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  33. package/dist/esm/utils/BrowserUtils.d.ts.map +1 -1
  34. package/dist/esm/utils/BrowserUtils.js +2 -2
  35. package/dist/esm/utils/BrowserUtils.js.map +1 -1
  36. package/dist/exceptions/PageAiException.d.ts +10 -0
  37. package/dist/exceptions/PageAiException.d.ts.map +1 -0
  38. package/dist/exceptions/PageAiException.js +15 -0
  39. package/dist/exceptions/PageAiException.js.map +1 -0
  40. package/dist/lib/DonobuExtendedPage.d.ts +15 -7
  41. package/dist/lib/DonobuExtendedPage.d.ts.map +1 -1
  42. package/dist/lib/PageAi.d.ts +112 -0
  43. package/dist/lib/PageAi.d.ts.map +1 -0
  44. package/dist/lib/PageAi.js +337 -0
  45. package/dist/lib/PageAi.js.map +1 -0
  46. package/dist/lib/testExtension.d.ts.map +1 -1
  47. package/dist/lib/testExtension.js +18 -48
  48. package/dist/lib/testExtension.js.map +1 -1
  49. package/dist/main.d.ts +1 -1
  50. package/dist/main.d.ts.map +1 -1
  51. package/dist/main.js +1 -1
  52. package/dist/main.js.map +1 -1
  53. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  54. package/dist/managers/DonobuFlow.js +10 -1
  55. package/dist/managers/DonobuFlow.js.map +1 -1
  56. package/dist/managers/DonobuFlowsManager.js +3 -3
  57. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  58. package/dist/utils/BrowserUtils.d.ts.map +1 -1
  59. package/dist/utils/BrowserUtils.js +2 -2
  60. package/dist/utils/BrowserUtils.js.map +1 -1
  61. package/package.json +3 -1
@@ -0,0 +1,112 @@
1
+ import { z } from 'zod/v4';
2
+ import { DonobuStack } from '../managers/DonobuStack';
3
+ import { DonobuExtendedPage } from './DonobuExtendedPage';
4
+ import { GptClient } from '../clients/GptClient';
5
+ import { FlowsPersistence } from '../persistence/flows/FlowsPersistence';
6
+ import { ProposedToolCall } from '../models/ProposedToolCall';
7
+ type PageAiBaseOptions = {
8
+ cache?: boolean;
9
+ selfHeal?: boolean;
10
+ allowedTools?: string[];
11
+ maxToolCalls?: number;
12
+ };
13
+ type PageAiSchemaOptions<Schema extends z.ZodObject> = PageAiBaseOptions & {
14
+ schema: Schema;
15
+ };
16
+ type PageAiNoSchemaOptions = PageAiBaseOptions & {
17
+ schema?: undefined;
18
+ };
19
+ export type PageAiOptions<Schema extends z.ZodObject | undefined = undefined> = Schema extends z.ZodObject ? PageAiSchemaOptions<Schema> : PageAiNoSchemaOptions;
20
+ type AiResult<Schema extends z.ZodObject | undefined> = Schema extends z.ZodObject ? z.infer<Schema> : void;
21
+ export type CacheKey = {
22
+ pageUrl: string;
23
+ instruction: string | null;
24
+ schema: Record<string, unknown> | null;
25
+ allowedTools: string[];
26
+ maxToolCalls: number | null;
27
+ };
28
+ export type CacheEntry = CacheKey & {
29
+ toolCallCache: ProposedToolCall[];
30
+ };
31
+ export declare class PageAi {
32
+ private readonly donobu;
33
+ private readonly persistence;
34
+ private readonly gptClient;
35
+ private readonly cacheFilepath;
36
+ constructor(donobu: DonobuStack, persistence: FlowsPersistence, gptClient: GptClient, cacheFilepath: string);
37
+ /**
38
+ * Executes an AI-driven autonomous flow to accomplish a natural language instruction
39
+ * on a web page. The AI agent can interact with the page using Donobu tools and will
40
+ * attempt to satisfy the given objective.
41
+ *
42
+ * This method supports intelligent caching: successful flows are cached and can be
43
+ * replayed deterministically on subsequent runs with identical parameters, significantly
44
+ * reducing AI token usage and execution time. When a cache hit occurs, the flow runs
45
+ * in INSTRUCT mode using the cached tool calls; otherwise, it runs in AUTONOMOUS mode
46
+ * where the AI determines the necessary actions.
47
+ *
48
+ * @template T The Zod object schema describing the expected shape of the AI result.
49
+ * @param page The Donobu page instance to use as the starting point of the flow.
50
+ * @param instruction A high-level, natural language description of what the flow should
51
+ * accomplish (e.g., "Fill out the login form and submit it").
52
+ * @param options Optional configuration for the flow execution:
53
+ * - `cache`: Set to false to bypass cache lookup and population (default: true)
54
+ * - `allowedTools`: Restrict the AI to only use specified tools by name
55
+ * - `maxToolCalls`: Maximum number of tool invocations allowed (default: 25)
56
+ * @returns A promise that resolves to the parsed result payload if a schema is provided,
57
+ * or void if no schema is specified.
58
+ * @throws {PageAiException} If the autonomous flow fails, reaches a terminal non-success
59
+ * state, or the result fails schema validation.
60
+ *
61
+ * @example
62
+ * // Simple flow without structured output
63
+ * await pageAi.ai(page, "Click the 'Get Started' button");
64
+ *
65
+ * @example
66
+ * // Flow with structured output and schema validation
67
+ * const userSchema = z.object({
68
+ * name: z.string(),
69
+ * email: z.string().email(),
70
+ * isPremium: z.boolean(),
71
+ * });
72
+ * const user = await pageAi.ai(
73
+ * page,
74
+ * "Extract the user profile information from the page",
75
+ * { schema: userSchema }
76
+ * );
77
+ *
78
+ * @example
79
+ * // Flow with custom options
80
+ * await pageAi.ai(
81
+ * page,
82
+ * "Navigate to the settings page",
83
+ * {
84
+ * cache: false,
85
+ * allowedTools: ['goto', 'click'],
86
+ * maxToolCalls: 10,
87
+ * }
88
+ * );
89
+ */
90
+ ai<Schema extends z.ZodObject | undefined = undefined>(page: DonobuExtendedPage, instruction: string, options?: PageAiOptions<Schema>): Promise<AiResult<Schema>>;
91
+ private ensureCacheFileExists;
92
+ /**
93
+ * Executes a cache operation within an exclusive file lock to prevent race conditions
94
+ * across multiple processes. This method handles cache file initialization, locking,
95
+ * reading, executing the provided operation, and conditionally writing back changes.
96
+ *
97
+ * @template T The type of result returned by the cache operation.
98
+ * @param operation A function that receives the current cache and returns both the
99
+ * modified cache (or the same cache if no modifications) and a result
100
+ * value. If the returned cache reference is different from the input,
101
+ * the cache file will be updated.
102
+ * @returns A promise that resolves to the result value from the operation.
103
+ * @throws Any error from the operation or file system operations (except expected ENOENT
104
+ * and EEXIST errors which are handled internally).
105
+ */
106
+ private withCacheLock;
107
+ private getCachedFlow;
108
+ deleteCachedFlow(cacheKey: CacheKey): Promise<boolean>;
109
+ private cacheFlow;
110
+ }
111
+ export {};
112
+ //# sourceMappingURL=PageAi.d.ts.map
@@ -0,0 +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;AAS1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAIzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,KAAK,iBAAiB,GAAG;IAEvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,mBAAmB,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,IAAI,iBAAiB,GAAG;IAGzE,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,qBAAqB,GAAG,iBAAiB,GAAG;IAC/C,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,IAC1E,MAAM,SAAS,CAAC,CAAC,SAAS,GACtB,mBAAmB,CAAC,MAAM,CAAC,GAC3B,qBAAqB,CAAC;AAE5B,KAAK,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,GAAG,SAAS,IAClD,MAAM,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAEtD,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG;IAClC,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC,CAAC;AAMF,qBAAa,MAAM;IAEf,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAHb,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM;IAGxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACU,EAAE,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,EAChE,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAqHd,qBAAqB;IAiBnC;;;;;;;;;;;;;OAaG;YACW,aAAa;YA+Db,aAAa;IAqBd,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;YA+BrD,SAAS;CA0CxB"}
@@ -0,0 +1,337 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.PageAi = void 0;
40
+ const v4_1 = require("zod/v4");
41
+ const ToolManager_1 = require("../managers/ToolManager");
42
+ const MarkObjectiveCompleteTool_1 = require("../tools/MarkObjectiveCompleteTool");
43
+ const MarkObjectiveNotCompletableTool_1 = require("../tools/MarkObjectiveNotCompletableTool");
44
+ const DonobuFlow_1 = require("../managers/DonobuFlow");
45
+ const PageAiException_1 = require("../exceptions/PageAiException");
46
+ const ControlPanel_1 = require("../models/ControlPanel");
47
+ const InteractionVisualizer_1 = require("../managers/InteractionVisualizer");
48
+ const CodeGenerator_1 = require("../managers/CodeGenerator");
49
+ const promises_1 = __importDefault(require("fs/promises"));
50
+ const LockFile = __importStar(require("proper-lockfile"));
51
+ const Logger_1 = require("../utils/Logger");
52
+ class PageAi {
53
+ constructor(donobu, persistence, gptClient, cacheFilepath) {
54
+ this.donobu = donobu;
55
+ this.persistence = persistence;
56
+ this.gptClient = gptClient;
57
+ this.cacheFilepath = cacheFilepath;
58
+ }
59
+ /**
60
+ * Executes an AI-driven autonomous flow to accomplish a natural language instruction
61
+ * on a web page. The AI agent can interact with the page using Donobu tools and will
62
+ * attempt to satisfy the given objective.
63
+ *
64
+ * This method supports intelligent caching: successful flows are cached and can be
65
+ * replayed deterministically on subsequent runs with identical parameters, significantly
66
+ * reducing AI token usage and execution time. When a cache hit occurs, the flow runs
67
+ * in INSTRUCT mode using the cached tool calls; otherwise, it runs in AUTONOMOUS mode
68
+ * where the AI determines the necessary actions.
69
+ *
70
+ * @template T The Zod object schema describing the expected shape of the AI result.
71
+ * @param page The Donobu page instance to use as the starting point of the flow.
72
+ * @param instruction A high-level, natural language description of what the flow should
73
+ * accomplish (e.g., "Fill out the login form and submit it").
74
+ * @param options Optional configuration for the flow execution:
75
+ * - `cache`: Set to false to bypass cache lookup and population (default: true)
76
+ * - `allowedTools`: Restrict the AI to only use specified tools by name
77
+ * - `maxToolCalls`: Maximum number of tool invocations allowed (default: 25)
78
+ * @returns A promise that resolves to the parsed result payload if a schema is provided,
79
+ * or void if no schema is specified.
80
+ * @throws {PageAiException} If the autonomous flow fails, reaches a terminal non-success
81
+ * state, or the result fails schema validation.
82
+ *
83
+ * @example
84
+ * // Simple flow without structured output
85
+ * await pageAi.ai(page, "Click the 'Get Started' button");
86
+ *
87
+ * @example
88
+ * // Flow with structured output and schema validation
89
+ * const userSchema = z.object({
90
+ * name: z.string(),
91
+ * email: z.string().email(),
92
+ * isPremium: z.boolean(),
93
+ * });
94
+ * const user = await pageAi.ai(
95
+ * page,
96
+ * "Extract the user profile information from the page",
97
+ * { schema: userSchema }
98
+ * );
99
+ *
100
+ * @example
101
+ * // Flow with custom options
102
+ * await pageAi.ai(
103
+ * page,
104
+ * "Navigate to the settings page",
105
+ * {
106
+ * cache: false,
107
+ * allowedTools: ['goto', 'click'],
108
+ * maxToolCalls: 10,
109
+ * }
110
+ * );
111
+ */
112
+ async ai(page, instruction, options) {
113
+ const useCache = options?.cache !== undefined ? options.cache : true;
114
+ const startingPageUrl = page.url();
115
+ const jsonSchema = options?.schema ? v4_1.z.toJSONSchema(options.schema) : null;
116
+ const maxToolCalls = options?.maxToolCalls ?? 25;
117
+ const allowedTools = options?.allowedTools ?? [];
118
+ const envData = await this.donobu.flowsManager.buildEnvData(page._donobuFlowMetadata.envVars ?? []);
119
+ const originalFlowMetadata = {
120
+ ...page._donobuFlowMetadata,
121
+ };
122
+ const cacheKey = {
123
+ pageUrl: startingPageUrl,
124
+ instruction: instruction,
125
+ schema: jsonSchema,
126
+ maxToolCalls: maxToolCalls,
127
+ allowedTools: allowedTools,
128
+ };
129
+ const cachedToolCalls = useCache
130
+ ? await this.getCachedFlow(cacheKey)
131
+ : null;
132
+ const runMode = cachedToolCalls !== null ? 'DETERMINISTIC' : 'AUTONOMOUS';
133
+ const autonomousFlowMetadata = {
134
+ ...originalFlowMetadata,
135
+ runMode: runMode,
136
+ overallObjective: instruction,
137
+ resultJsonSchema: jsonSchema,
138
+ maxToolCalls: maxToolCalls,
139
+ state: 'UNSTARTED',
140
+ allowedTools: allowedTools,
141
+ };
142
+ const toolManager = new ToolManager_1.ToolManager(options?.allowedTools
143
+ ? (await ToolManager_1.ToolManager.allTools()).filter((t) => options?.allowedTools?.includes(t.name) ||
144
+ t.name === MarkObjectiveCompleteTool_1.MarkObjectiveCompleteTool.NAME ||
145
+ t.name === MarkObjectiveNotCompletableTool_1.MarkObjectiveNotCompletableTool.NAME)
146
+ : await ToolManager_1.ToolManager.defaultTools());
147
+ // We have to revert to the original goto method in case the autonomous
148
+ // flow invokes a goto tool call (and it takes care of the things that
149
+ // the overwritten page goto method does).
150
+ const pageWithOriginalGoto = Object.create(page);
151
+ pageWithOriginalGoto.goto = page._originalGoto;
152
+ const donobuFlow = new DonobuFlow_1.DonobuFlow(this.donobu.flowsManager, envData, page.context(), this.persistence, this.gptClient, toolManager, new InteractionVisualizer_1.InteractionVisualizer(autonomousFlowMetadata.defaultMessageDuration ?? 0), cachedToolCalls ?? [], [], [], {
153
+ current: pageWithOriginalGoto,
154
+ }, autonomousFlowMetadata, new ControlPanel_1.NoOpControlPanel());
155
+ const rawResult = await donobuFlow.run();
156
+ // Unset the finality of the autonomous flow so that the test can
157
+ // continue and be recorded properly if there are subsequent steps.
158
+ // The `finally` block for the test fixture will tie up loose ends.
159
+ const updatedMetadata = {
160
+ ...originalFlowMetadata,
161
+ inputTokensUsed: donobuFlow.metadata.inputTokensUsed,
162
+ completionTokensUsed: donobuFlow.metadata.completionTokensUsed,
163
+ };
164
+ try {
165
+ await this.persistence.setFlowMetadata(updatedMetadata);
166
+ }
167
+ catch (error) {
168
+ Logger_1.appLogger.warn(`Failed to update metadata for flow: ${updatedMetadata.id}`, error);
169
+ }
170
+ if (donobuFlow.metadata.state === 'SUCCESS') {
171
+ if (useCache) {
172
+ await this.cacheFlow(startingPageUrl, donobuFlow);
173
+ }
174
+ return options?.schema?.parse(rawResult);
175
+ }
176
+ else {
177
+ const resultBlurb = donobuFlow.metadata.result
178
+ ? JSON.stringify(donobuFlow.metadata.result, null, 2)
179
+ : '';
180
+ // Only attempt to self heal if we just ran a cached flow.
181
+ if (options?.selfHeal && donobuFlow.metadata.runMode !== 'AUTONOMOUS') {
182
+ Logger_1.appLogger.warn(`(Will attempt to self-heal) Failed cached attempt to complete instruction: ${resultBlurb}`);
183
+ // Blow away the cache so that it wont be used when we attempt to retry the
184
+ // flow.
185
+ await this.deleteCachedFlow(cacheKey);
186
+ // Retry now that the cache is gone, and disable self healing so we do not
187
+ // recurse forever if the flow keeps failing.
188
+ return this.ai(page, instruction, {
189
+ ...options,
190
+ selfHeal: false,
191
+ });
192
+ }
193
+ else {
194
+ Logger_1.appLogger.error(`Failed to complete instruction: ${resultBlurb}`);
195
+ throw new PageAiException_1.PageAiException(donobuFlow.metadata);
196
+ }
197
+ }
198
+ }
199
+ async ensureCacheFileExists() {
200
+ try {
201
+ await promises_1.default.writeFile(this.cacheFilepath, JSON.stringify({ caches: [] }, null, 2), {
202
+ encoding: 'utf-8',
203
+ flag: 'wx',
204
+ });
205
+ }
206
+ catch (error) {
207
+ if (error.code !== 'EEXIST') {
208
+ throw error;
209
+ }
210
+ }
211
+ }
212
+ /**
213
+ * Executes a cache operation within an exclusive file lock to prevent race conditions
214
+ * across multiple processes. This method handles cache file initialization, locking,
215
+ * reading, executing the provided operation, and conditionally writing back changes.
216
+ *
217
+ * @template T The type of result returned by the cache operation.
218
+ * @param operation A function that receives the current cache and returns both the
219
+ * modified cache (or the same cache if no modifications) and a result
220
+ * value. If the returned cache reference is different from the input,
221
+ * the cache file will be updated.
222
+ * @returns A promise that resolves to the result value from the operation.
223
+ * @throws Any error from the operation or file system operations (except expected ENOENT
224
+ * and EEXIST errors which are handled internally).
225
+ */
226
+ async withCacheLock(operation) {
227
+ await this.ensureCacheFileExists();
228
+ const release = await LockFile.lock(this.cacheFilepath, {
229
+ retries: {
230
+ retries: 5,
231
+ minTimeout: 100,
232
+ maxTimeout: 1000,
233
+ },
234
+ });
235
+ try {
236
+ // Read the cache file as JSON.
237
+ let cache = [];
238
+ try {
239
+ const cacheContent = await promises_1.default.readFile(this.cacheFilepath, 'utf-8');
240
+ const parsedContent = JSON.parse(cacheContent);
241
+ if (typeof parsedContent !== 'object' || parsedContent === null) {
242
+ throw new Error('Invalid cache file format: expected an object with a caches array.');
243
+ }
244
+ if (!Array.isArray(parsedContent.caches)) {
245
+ parsedContent.caches = [];
246
+ await promises_1.default.writeFile(this.cacheFilepath, JSON.stringify(parsedContent, null, 2), 'utf-8');
247
+ }
248
+ cache = parsedContent.caches;
249
+ }
250
+ catch (error) {
251
+ if (error.code !== 'ENOENT') {
252
+ throw error;
253
+ }
254
+ }
255
+ // Perform the operation.
256
+ const { cache: modifiedCache, result } = await operation(cache);
257
+ // Write the cache file if it was modified.
258
+ if (modifiedCache !== cache) {
259
+ await promises_1.default.writeFile(this.cacheFilepath, JSON.stringify({ caches: modifiedCache }, null, 2), 'utf-8');
260
+ }
261
+ return result;
262
+ }
263
+ finally {
264
+ await release();
265
+ }
266
+ }
267
+ async getCachedFlow(cacheKey) {
268
+ return this.withCacheLock(async (cache) => {
269
+ const matchingEntry = cache.find((entry) => entry.pageUrl === cacheKey.pageUrl &&
270
+ entry.instruction === cacheKey.instruction &&
271
+ JSON.stringify(entry.schema) === JSON.stringify(cacheKey.schema) &&
272
+ JSON.stringify(entry.allowedTools) ===
273
+ JSON.stringify(cacheKey.allowedTools) &&
274
+ entry.maxToolCalls === cacheKey.maxToolCalls);
275
+ return {
276
+ cache, // No modification
277
+ result: matchingEntry?.toolCallCache ?? null,
278
+ };
279
+ });
280
+ }
281
+ async deleteCachedFlow(cacheKey) {
282
+ return this.withCacheLock(async (cache) => {
283
+ const targetIndex = cache.findIndex((entry) => entry.pageUrl === cacheKey.pageUrl &&
284
+ entry.instruction === cacheKey.instruction &&
285
+ JSON.stringify(entry.schema) === JSON.stringify(cacheKey.schema) &&
286
+ JSON.stringify(entry.allowedTools) ===
287
+ JSON.stringify(cacheKey.allowedTools) &&
288
+ entry.maxToolCalls === cacheKey.maxToolCalls);
289
+ if (targetIndex === -1) {
290
+ return {
291
+ cache,
292
+ result: false,
293
+ };
294
+ }
295
+ const modifiedCache = [
296
+ ...cache.slice(0, targetIndex),
297
+ ...cache.slice(targetIndex + 1),
298
+ ];
299
+ return {
300
+ cache: modifiedCache,
301
+ result: true,
302
+ };
303
+ });
304
+ }
305
+ async cacheFlow(pageUrl, donobuFlow) {
306
+ const toolCallsOnStart = await CodeGenerator_1.CodeGenerator.prepareToolCallsForRerun(donobuFlow.invokedToolCalls, {});
307
+ const cacheEntry = {
308
+ pageUrl: pageUrl,
309
+ instruction: donobuFlow.metadata.overallObjective,
310
+ schema: donobuFlow.metadata.resultJsonSchema,
311
+ allowedTools: donobuFlow.metadata.allowedTools,
312
+ maxToolCalls: donobuFlow.metadata.maxToolCalls,
313
+ toolCallCache: toolCallsOnStart,
314
+ };
315
+ await this.withCacheLock(async (cache) => {
316
+ const existingIndex = cache.findIndex((entry) => entry.pageUrl === cacheEntry.pageUrl &&
317
+ entry.instruction === cacheEntry.instruction &&
318
+ JSON.stringify(entry.schema) === JSON.stringify(cacheEntry.schema) &&
319
+ JSON.stringify(entry.allowedTools) ===
320
+ JSON.stringify(cacheEntry.allowedTools) &&
321
+ entry.maxToolCalls === cacheEntry.maxToolCalls);
322
+ const modifiedCache = [...cache];
323
+ if (existingIndex !== -1) {
324
+ modifiedCache[existingIndex] = cacheEntry;
325
+ }
326
+ else {
327
+ modifiedCache.push(cacheEntry);
328
+ }
329
+ return {
330
+ cache: modifiedCache,
331
+ result: undefined,
332
+ };
333
+ });
334
+ }
335
+ }
336
+ exports.PageAi = PageAi;
337
+ //# sourceMappingURL=PageAi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageAi.js","sourceRoot":"","sources":["../../../src/lib/PageAi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testExtension.d.ts","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAqDjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAUpE,cAAc,iBAAiB,CAAC;AAoBhC,eAAO,MAAM,IAAI;mBACA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACrD,SAAS;UACf,kBAAkB;wGAqexB,CAAC"}
1
+ {"version":3,"file":"testExtension.d.ts","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAqDjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAUpE,cAAc,iBAAiB,CAAC;AAoBhC,eAAO,MAAM,IAAI;mBACA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACrD,SAAS;UACf,kBAAkB;wGAsbxB,CAAC"}
@@ -49,9 +49,9 @@ const BrowserUtils_1 = require("../utils/BrowserUtils");
49
49
  const v4_1 = require("zod/v4");
50
50
  const ControlPanel_1 = require("../models/ControlPanel");
51
51
  const GptApiKeysNotSetupException_1 = require("../exceptions/GptApiKeysNotSetupException");
52
- const MarkObjectiveCompleteTool_1 = require("../tools/MarkObjectiveCompleteTool");
53
- const MarkObjectiveNotCompletableTool_1 = require("../tools/MarkObjectiveNotCompletableTool");
54
52
  const SmartSelector_1 = require("./SmartSelector");
53
+ const PageAi_1 = require("./PageAi");
54
+ const path_1 = require("path");
55
55
  __exportStar(require("playwright/test"), exports);
56
56
  const PLACEHOLDER_FLOW_URL = 'https://example.com';
57
57
  /**
@@ -86,51 +86,22 @@ exports.test = test_1.test.extend({
86
86
  // Save the oringal goto method since we override it later. We need the
87
87
  // original so we can delegate to it in our override.
88
88
  page._originalGoto = page.goto;
89
- page.ai = async (instruction, schema, allowedTools) => {
90
- const envData = await donobu.flowsManager.buildEnvData(page._donobuFlowMetadata.envVars ?? []);
91
- const jsonSchema = schema ? v4_1.z.toJSONSchema(schema) : null;
92
- const originalFlowMetadata = {
93
- ...page._donobuFlowMetadata,
94
- };
95
- const autonomousFlowMetadata = {
96
- ...originalFlowMetadata,
97
- runMode: 'AUTONOMOUS',
98
- overallObjective: instruction,
99
- resultJsonSchema: jsonSchema ?? null,
100
- maxToolCalls: 25,
101
- state: 'UNSTARTED',
102
- allowedTools: allowedTools ?? [],
103
- };
104
- const toolManager = new ToolManager_1.ToolManager(allowedTools
105
- ? (await ToolManager_1.ToolManager.allTools()).filter((t) => allowedTools?.includes(t.name) ||
106
- t.name === MarkObjectiveCompleteTool_1.MarkObjectiveCompleteTool.NAME ||
107
- t.name === MarkObjectiveNotCompletableTool_1.MarkObjectiveNotCompletableTool.NAME)
108
- : await ToolManager_1.ToolManager.defaultTools());
109
- // We have to revert to the original goto method in case the autonomous
110
- // flow invokes a goto tool call (and it takes care of the things that
111
- // the overwritten page goto method does).
112
- const pageWithOriginalGoto = Object.create(page);
113
- pageWithOriginalGoto.goto = page._originalGoto;
114
- const donobuFlow = new DonobuFlow_1.DonobuFlow(donobu.flowsManager, envData, page.context(), persistenceLayer, gptClient ?? null, toolManager, new InteractionVisualizer_1.InteractionVisualizer(0), [], [], [], {
115
- current: pageWithOriginalGoto,
116
- }, autonomousFlowMetadata, new ControlPanel_1.NoOpControlPanel());
117
- try {
118
- await donobuFlow.run();
119
- const result = schema
120
- ? schema.parse(donobuFlow.metadata.result)
121
- : undefined;
122
- return { metadata: donobuFlow.metadata, result: result };
89
+ page.ai = async (instruction, options) => {
90
+ if (!gptClient) {
91
+ throw new Error(`No AI connection available. Establish a connection by setting an API key via an environment variable.
92
+ Valid options:
93
+ - ${envVars_1.ENV_NAMES.ANTHROPIC_API_KEY}
94
+ - ${envVars_1.ENV_NAMES.GOOGLE_GENERATIVE_AI_API_KEY}
95
+ - ${envVars_1.ENV_NAMES.OPENAI_API_KEY}`);
123
96
  }
124
- finally {
125
- // Unset the finality of the autonomous flow so that the test can
126
- // continue and be recorded properly if there are subsequent steps.
127
- // The `finally` block for the test fixture will tie up loose ends.
128
- const updatedMetadata = {
129
- ...originalFlowMetadata,
130
- inputTokensUsed: donobuFlow.metadata.inputTokensUsed,
131
- completionTokensUsed: donobuFlow.metadata.completionTokensUsed,
97
+ else {
98
+ const cacheFilepath = (0, path_1.join)((0, path_1.dirname)(testInfo.file), 'donobu.json');
99
+ const pageAi = new PageAi_1.PageAi(donobu, persistenceLayer, gptClient, cacheFilepath);
100
+ const revisedOptions = {
101
+ selfHeal: isSelfHealingEnabled(testInfo),
102
+ ...(options ? options : {}),
132
103
  };
133
- await persistenceLayer.setFlowMetadata(updatedMetadata);
104
+ return pageAi.ai(page, instruction, revisedOptions);
134
105
  }
135
106
  };
136
107
  page.find = (selector, options) => {
@@ -436,10 +407,9 @@ exports.test = test_1.test.extend({
436
407
  },
437
408
  });
438
409
  function isSelfHealingEnabled(testInfo) {
439
- if (envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED in testInfo.project.metadata) {
410
+ if (envVars_1.ENV_NAMES.SELF_HEAL_TESTS_ENABLED in testInfo.project.metadata) {
440
411
  // Check project-specific metadata. This takes priority if it exists.
441
- const isSelfHealEnabledForProject = yn(testInfo.project.metadata[envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED]) ??
442
- false;
412
+ const isSelfHealEnabledForProject = yn(testInfo.project.metadata[envVars_1.ENV_NAMES.SELF_HEAL_TESTS_ENABLED]) ?? false;
443
413
  return isSelfHealEnabledForProject;
444
414
  }
445
415
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"testExtension.js","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testExtension.js","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import './init';
2
2
  import { ControlPanelFactory } from './models/ControlPanel';
3
- export * from './utils/PlaywrightUtils';
4
3
  export * from './lib/fixtures/browserState';
5
4
  export * from './lib/fixtures/gptClients';
6
5
  export * from './lib/utils/donobuTestStack';
7
6
  export * from './lib/DonobuExtendedPage';
8
7
  export * from './lib/testExtension';
8
+ export * from './utils/PlaywrightUtils';
9
9
  export * from './utils/JsonUtils';
10
10
  export * from './utils/MiscUtils';
11
11
  export * from './utils/Logger';