donobu 3.5.2 → 3.5.4
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/codegen/CodeGenerator.js +1 -1
- package/dist/codegen/CodeGenerator.js.map +1 -1
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/codegen/CodeGenerator.js +1 -1
- package/dist/esm/codegen/CodeGenerator.js.map +1 -1
- package/dist/esm/lib/createDonobuExtendedPage.d.ts +8 -0
- package/dist/esm/lib/createDonobuExtendedPage.d.ts.map +1 -1
- package/dist/esm/lib/createDonobuExtendedPage.js +121 -56
- package/dist/esm/lib/createDonobuExtendedPage.js.map +1 -1
- package/dist/esm/lib/pageAi/cache.d.ts +7 -0
- package/dist/esm/lib/pageAi/cache.d.ts.map +1 -1
- package/dist/esm/lib/pageAi/cache.js +67 -6
- package/dist/esm/lib/pageAi/cache.js.map +1 -1
- package/dist/esm/managers/DonobuStack.d.ts +1 -3
- package/dist/esm/managers/DonobuStack.d.ts.map +1 -1
- package/dist/esm/managers/DonobuStack.js +1 -2
- package/dist/esm/managers/DonobuStack.js.map +1 -1
- package/dist/esm/tools/ReplayableInteraction.d.ts +2 -0
- package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
- package/dist/esm/tools/ReplayableInteraction.js +59 -5
- package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
- package/dist/lib/createDonobuExtendedPage.d.ts +8 -0
- package/dist/lib/createDonobuExtendedPage.d.ts.map +1 -1
- package/dist/lib/createDonobuExtendedPage.js +121 -56
- package/dist/lib/createDonobuExtendedPage.js.map +1 -1
- package/dist/lib/pageAi/cache.d.ts +7 -0
- package/dist/lib/pageAi/cache.d.ts.map +1 -1
- package/dist/lib/pageAi/cache.js +67 -6
- package/dist/lib/pageAi/cache.js.map +1 -1
- package/dist/managers/DonobuStack.d.ts +1 -3
- package/dist/managers/DonobuStack.d.ts.map +1 -1
- package/dist/managers/DonobuStack.js +1 -2
- package/dist/managers/DonobuStack.js.map +1 -1
- package/dist/tools/ReplayableInteraction.d.ts +2 -0
- package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
- package/dist/tools/ReplayableInteraction.js +59 -5
- package/dist/tools/ReplayableInteraction.js.map +1 -1
- package/package.json +3 -3
|
@@ -27,71 +27,107 @@ const originalGotoRegistry_1 = require("./originalGotoRegistry");
|
|
|
27
27
|
const PageAi_1 = require("./PageAi");
|
|
28
28
|
const SmartSelector_1 = require("./SmartSelector");
|
|
29
29
|
const donobuTestStack_1 = require("./utils/donobuTestStack");
|
|
30
|
+
// Donobu page extension helpers: decorate Playwright pages with Donobu behaviors and keep one
|
|
31
|
+
// coherent flow (and persistence record) per browser context so new tabs share state safely.
|
|
30
32
|
const PLACEHOLDER_FLOW_URL = 'https://example.com';
|
|
33
|
+
// Cache the shared Donobu state per browser context so every tab in that context reuses the same
|
|
34
|
+
// flow metadata, persistence, GPT client, and visualizer. WeakMap ensures cleanup when contexts die.
|
|
35
|
+
const contextSharedState = new WeakMap();
|
|
36
|
+
/**
|
|
37
|
+
* Decorate a Playwright page with Donobu capabilities.
|
|
38
|
+
* - If the browser context already has an extended page, reuse its shared state (flowId,
|
|
39
|
+
* persistence, GPT client, cache settings); passing a different flowId will throw.
|
|
40
|
+
* - Otherwise, initialize a fresh flow and register it for future tabs in this context.
|
|
41
|
+
*/
|
|
31
42
|
async function extendPage(page, options) {
|
|
32
43
|
await PlaywrightUtils_1.PlaywrightUtils.setupBasicBrowserContext(page.context());
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
const browserContext = page.context();
|
|
45
|
+
let contextEntry = contextSharedState.get(browserContext);
|
|
46
|
+
if (contextEntry) {
|
|
47
|
+
const existingFlowId = contextEntry.sharedState.donobuFlowMetadata.id;
|
|
48
|
+
if (options?.flowId && options.flowId !== existingFlowId) {
|
|
49
|
+
throw new Error(`extendPage called with flowId ${options.flowId}, but this browser context is already bound to flow ${existingFlowId}. New tabs share the existing flow; omit flowId or reuse the same one.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
const donobuStack = options?.donobuStack ?? (await (0, donobuTestStack_1.getOrCreateDonobuStack)());
|
|
54
|
+
const persistence = await donobuStack.flowsPersistenceFactory.createPersistenceLayer();
|
|
55
|
+
const initialBrowserState = await BrowserUtils_1.BrowserUtils.getBrowserStorageState(browserContext);
|
|
56
|
+
const resolvedGptClient = await buttonUpGptClient(options?.gptClient);
|
|
57
|
+
const defaultMessageDuration = options?.visualCueDurationMs ?? 0;
|
|
58
|
+
const interactionVisualizer = new InteractionVisualizer_1.InteractionVisualizer(defaultMessageDuration);
|
|
59
|
+
const sharedState = {
|
|
60
|
+
donobuFlowMetadata: {
|
|
61
|
+
id: options?.flowId ?? (0, uuid_1.v4)(),
|
|
62
|
+
name: null,
|
|
63
|
+
createdWithDonobuVersion: MiscUtils_1.MiscUtils.DONOBU_VERSION,
|
|
64
|
+
browser: {
|
|
65
|
+
persistState: true,
|
|
66
|
+
using: {
|
|
67
|
+
type: 'device',
|
|
68
|
+
deviceName: 'Desktop Chromium',
|
|
69
|
+
headless: options?.headless,
|
|
70
|
+
},
|
|
50
71
|
},
|
|
72
|
+
envVars: options?.envVars ?? null,
|
|
73
|
+
gptConfigName: null,
|
|
74
|
+
hasGptConfigNameOverride: false,
|
|
75
|
+
customTools: null,
|
|
76
|
+
defaultMessageDuration: defaultMessageDuration,
|
|
77
|
+
runMode: 'DETERMINISTIC',
|
|
78
|
+
isControlPanelEnabled: false,
|
|
79
|
+
callbackUrl: null,
|
|
80
|
+
targetWebsite: PLACEHOLDER_FLOW_URL,
|
|
81
|
+
overallObjective: null,
|
|
82
|
+
allowedTools: [],
|
|
83
|
+
resultJsonSchema: null,
|
|
84
|
+
result: null,
|
|
85
|
+
inputTokensUsed: 0,
|
|
86
|
+
completionTokensUsed: 0,
|
|
87
|
+
maxToolCalls: null,
|
|
88
|
+
startedAt: new Date().getTime(),
|
|
89
|
+
completedAt: null,
|
|
90
|
+
state: 'RUNNING_ACTION',
|
|
91
|
+
nextState: null,
|
|
51
92
|
},
|
|
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
|
-
|
|
77
|
-
initialBrowserState: initialBrowserState,
|
|
78
|
-
gptClient: resolvedGptClient,
|
|
79
|
-
runtimeDirectives: {
|
|
80
|
-
clearPageAiCache: MiscUtils_1.MiscUtils.yn(envVars_1.env.data.DONOBU_PAGE_AI_CLEAR_CACHE),
|
|
81
|
-
},
|
|
82
|
-
}, options?.cacheFilepath);
|
|
93
|
+
interactionVisualizer: interactionVisualizer,
|
|
94
|
+
donobuStack: donobuStack,
|
|
95
|
+
pageAi: undefined,
|
|
96
|
+
persistence: persistence,
|
|
97
|
+
initialBrowserState: initialBrowserState,
|
|
98
|
+
gptClient: resolvedGptClient,
|
|
99
|
+
runtimeDirectives: {
|
|
100
|
+
clearPageAiCache: MiscUtils_1.MiscUtils.yn(envVars_1.env.data.DONOBU_PAGE_AI_CLEAR_CACHE),
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
const showMouse = async (p) => {
|
|
104
|
+
if (interactionVisualizer.defaultMessageDurationMillis > 0) {
|
|
105
|
+
await interactionVisualizer.showMouse(p);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
contextEntry = {
|
|
109
|
+
sharedState,
|
|
110
|
+
cacheFilepath: options?.cacheFilepath,
|
|
111
|
+
showMouse,
|
|
112
|
+
pageListenerRegistered: false,
|
|
113
|
+
};
|
|
114
|
+
contextSharedState.set(browserContext, contextEntry);
|
|
115
|
+
}
|
|
116
|
+
const { sharedState, cacheFilepath, showMouse } = contextEntry;
|
|
117
|
+
const extend = createDonobuPageExtender(sharedState, cacheFilepath);
|
|
83
118
|
const extendedPage = extend(page);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
119
|
+
if (!contextEntry.pageListenerRegistered) {
|
|
120
|
+
browserContext.on('page', (newPage) => {
|
|
121
|
+
newPage.on('domcontentloaded', showMouse);
|
|
122
|
+
});
|
|
123
|
+
contextEntry.pageListenerRegistered = true;
|
|
124
|
+
}
|
|
89
125
|
page.on('domcontentloaded', showMouse);
|
|
90
|
-
extendedPage.context().on('page', (page) => {
|
|
91
|
-
page.on('domcontentloaded', showMouse);
|
|
92
|
-
});
|
|
93
126
|
return extendedPage;
|
|
94
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Build a function that applies Donobu behavior to a page while reusing the provided shared state.
|
|
130
|
+
*/
|
|
95
131
|
function createDonobuPageExtender(sharedState, cacheFilepath) {
|
|
96
132
|
const extend = (target) => {
|
|
97
133
|
if (!(0, originalGotoRegistry_1.hasOriginalGoto)(target)) {
|
|
@@ -104,6 +140,10 @@ function createDonobuPageExtender(sharedState, cacheFilepath) {
|
|
|
104
140
|
};
|
|
105
141
|
return extend;
|
|
106
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Attach all Donobu helpers to a page: AI, assertions, tool runner, tab switching, etc.
|
|
145
|
+
* Methods operate against the shared flow state so every tab records into the same flow.
|
|
146
|
+
*/
|
|
107
147
|
function attachDonobuMethods(page, sharedState, extend, cacheFilepath) {
|
|
108
148
|
async function act(instruction, options) {
|
|
109
149
|
if (!sharedState.pageAi) {
|
|
@@ -188,6 +228,7 @@ Valid options:
|
|
|
188
228
|
page.goto = async (url, options) => {
|
|
189
229
|
const startedAt = new Date().getTime();
|
|
190
230
|
const flowId = sharedState.donobuFlowMetadata.id;
|
|
231
|
+
// First navigation sets the target website and records the tool call with screenshots.
|
|
191
232
|
if (sharedState.donobuFlowMetadata.targetWebsite === PLACEHOLDER_FLOW_URL) {
|
|
192
233
|
sharedState.donobuFlowMetadata = {
|
|
193
234
|
...sharedState.donobuFlowMetadata,
|
|
@@ -247,12 +288,14 @@ Valid options:
|
|
|
247
288
|
}
|
|
248
289
|
};
|
|
249
290
|
page.run = async (toolName, toolParams, options) => {
|
|
291
|
+
// Thin wrapper to run a Donobu tool and throw on failure so tests can await it directly.
|
|
250
292
|
const result = await runTool(page, toolName, toolParams, options?.gptClient);
|
|
251
293
|
if (!result.isSuccessful) {
|
|
252
294
|
throw new Error(`${toolName} execution failed: ${JSON.stringify(result, null, 2)}`);
|
|
253
295
|
}
|
|
254
296
|
return result;
|
|
255
297
|
};
|
|
298
|
+
// Switch tabs by URL and return the extended page so it continues logging to the same flow.
|
|
256
299
|
page.changeTab = async (url) => {
|
|
257
300
|
const result = await page.run(ChangeWebBrowserTabTool_1.ChangeWebBrowserTabTool.NAME, {
|
|
258
301
|
tabUrl: url,
|
|
@@ -269,14 +312,26 @@ Valid options:
|
|
|
269
312
|
}
|
|
270
313
|
throw Error(result.forLlm);
|
|
271
314
|
};
|
|
315
|
+
// Convenience wrapper to run the accessibility tool and return its metadata.
|
|
272
316
|
page.runAccessibilityTest = async () => {
|
|
273
317
|
const result = await page.run(RunAccessibilityTestTool_1.RunAccessibilityTestTool.NAME);
|
|
274
318
|
return result.metadata;
|
|
275
319
|
};
|
|
276
320
|
page.once('close', () => {
|
|
321
|
+
const otherOpenPages = page
|
|
322
|
+
.context()
|
|
323
|
+
.pages()
|
|
324
|
+
.filter((p) => p !== page && !p.isClosed());
|
|
325
|
+
if (otherOpenPages.length > 0) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
// Only mark the flow complete when the last page in the context closes.
|
|
277
329
|
void finalizeFlowOnPageClose(sharedState);
|
|
278
330
|
});
|
|
279
331
|
}
|
|
332
|
+
/**
|
|
333
|
+
* Run a Donobu tool with full context and persistence wiring.
|
|
334
|
+
*/
|
|
280
335
|
async function runTool(page, toolName, toolParams, gptClient) {
|
|
281
336
|
const clonedParams = toolParams ? JSON.parse(JSON.stringify(toolParams)) : {};
|
|
282
337
|
clonedParams.rationale || (clonedParams.rationale = '');
|
|
@@ -298,6 +353,9 @@ async function runTool(page, toolName, toolParams, gptClient) {
|
|
|
298
353
|
const result = await new ToolManager_1.ToolManager(tools).invokeTool(toolCallContext, toolName, clonedParams, false);
|
|
299
354
|
return result.outcome;
|
|
300
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Resolve the GPT client to use, wrapping non-Donobu clients when needed.
|
|
358
|
+
*/
|
|
301
359
|
function getGptClient(page, gptClient) {
|
|
302
360
|
if (gptClient) {
|
|
303
361
|
if (!(gptClient instanceof GptClient_1.GptClient)) {
|
|
@@ -314,6 +372,10 @@ function getGptClient(page, gptClient) {
|
|
|
314
372
|
return null;
|
|
315
373
|
}
|
|
316
374
|
}
|
|
375
|
+
/**
|
|
376
|
+
* Ensure we have a GPT client, logging non-configuration failures but allowing flows that do
|
|
377
|
+
* not need AI to proceed.
|
|
378
|
+
*/
|
|
317
379
|
async function buttonUpGptClient(gptClient) {
|
|
318
380
|
try {
|
|
319
381
|
if (!gptClient) {
|
|
@@ -339,6 +401,9 @@ async function buttonUpGptClient(gptClient) {
|
|
|
339
401
|
}
|
|
340
402
|
}
|
|
341
403
|
}
|
|
404
|
+
/**
|
|
405
|
+
* Finalize flow metadata once the flow ends, persisting completion time and state.
|
|
406
|
+
*/
|
|
342
407
|
async function finalizeFlowOnPageClose(sharedState) {
|
|
343
408
|
if (sharedState.donobuFlowMetadata.state === 'SUCCESS' ||
|
|
344
409
|
sharedState.donobuFlowMetadata.state === 'FAILED') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDonobuExtendedPage.js","sourceRoot":"","sources":["../../src/lib/createDonobuExtendedPage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createDonobuExtendedPage.js","sourceRoot":"","sources":["../../src/lib/createDonobuExtendedPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,13 @@ export declare class FilePageAiCache implements PageAiCache {
|
|
|
63
63
|
* idempotent even when multiple processes start simultaneously.
|
|
64
64
|
*/
|
|
65
65
|
private ensureCacheFileExists;
|
|
66
|
+
/**
|
|
67
|
+
* Reads and evaluates the cache file without touching Node's module cache.
|
|
68
|
+
* We re-run the file in a fresh CommonJS wrapper on every call so parallel
|
|
69
|
+
* writers cannot serve stale data to parallel readers (a risk when relying
|
|
70
|
+
* on dynamic import cache-busting tokens).
|
|
71
|
+
*/
|
|
72
|
+
private loadCacheModule;
|
|
66
73
|
private readCacheFile;
|
|
67
74
|
private writeCacheFile;
|
|
68
75
|
private withCacheLock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/lib/pageAi/cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/lib/pageAi/cache.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,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;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG;IAC1D,GAAG,EAAE,mBAAmB,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,2BAA2B,KACjC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;IACrE,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC1C;AAwGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,gBAAgB,EAAE,KAAG,MAU/D,CAAC;AAEF;;;GAGG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,MAAM;IAE5C,GAAG,CACd,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAehC,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3C,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B1D;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAarD;;;OAGG;YACW,qBAAqB;IAanC;;;;;OAKG;YACW,eAAe;YA8Bf,aAAa;YAgDb,cAAc;YAUd,aAAa;CA8B5B;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,KAAK,CAA+B;gBAG1C,eAAe,GAAE,gBAAgB,EAAE,GAAG,mBAAwB;IASnD,GAAG,CACd,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAUhC,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3C,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB7C,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAKtD"}
|
package/dist/lib/pageAi/cache.js
CHANGED
|
@@ -37,20 +37,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.InMemoryPageAiCache = exports.FilePageAiCache = exports.renderCacheModule = void 0;
|
|
40
|
-
const
|
|
40
|
+
const node_module_1 = require("node:module");
|
|
41
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
41
42
|
const node_vm_1 = require("node:vm");
|
|
42
43
|
const promises_1 = __importDefault(require("fs/promises"));
|
|
43
44
|
const LockFile = __importStar(require("proper-lockfile"));
|
|
44
45
|
const CodeGenerator_1 = require("../../codegen/CodeGenerator");
|
|
45
|
-
const areCacheCollectionsEqual = (left, right) =>
|
|
46
|
+
const areCacheCollectionsEqual = (left, right) =>
|
|
47
|
+
// We serialize to JSON rather than deep-walking to keep the comparison short
|
|
48
|
+
// and avoid surprises from prototype differences.
|
|
49
|
+
JSON.stringify(left) === JSON.stringify(right);
|
|
50
|
+
// Comparison helper that keeps cache key equality stable even when the schema
|
|
51
|
+
// or tool list objects are different references but deeply identical.
|
|
46
52
|
const pageAiCacheKeysMatch = (left, right) => left.pageUrl === right.pageUrl &&
|
|
47
53
|
left.instruction === right.instruction &&
|
|
48
54
|
areCacheCollectionsEqual(left.schema, right.schema) &&
|
|
49
55
|
areCacheCollectionsEqual(left.allowedTools, right.allowedTools) &&
|
|
50
56
|
left.maxToolCalls === right.maxToolCalls;
|
|
51
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Turns a cached stringified function into an executable runner. We reuse a
|
|
59
|
+
* fresh VM context per entry to prevent any globals created by one cached
|
|
60
|
+
* function from leaking into another.
|
|
61
|
+
*/
|
|
52
62
|
const compileRunSource = (runSource) => {
|
|
53
63
|
try {
|
|
64
|
+
const runnerContext = (0, node_vm_1.createContext)({});
|
|
54
65
|
const script = new node_vm_1.Script(`(${runSource})`);
|
|
55
66
|
const runner = script.runInContext(runnerContext);
|
|
56
67
|
if (typeof runner !== 'function') {
|
|
@@ -66,10 +77,12 @@ const compileRunSource = (runSource) => {
|
|
|
66
77
|
throw evaluationError;
|
|
67
78
|
}
|
|
68
79
|
};
|
|
80
|
+
// Hydrates the serialized entry with a callable runner.
|
|
69
81
|
const materializeEntry = (entry) => ({
|
|
70
82
|
...entry,
|
|
71
83
|
run: compileRunSource(entry.runSource),
|
|
72
84
|
});
|
|
85
|
+
// Drops the live runner to produce a JSON-safe shape for storage/serialization.
|
|
73
86
|
const stripRunner = (entry) => ({
|
|
74
87
|
pageUrl: entry.pageUrl,
|
|
75
88
|
instruction: entry.instruction,
|
|
@@ -80,10 +93,13 @@ const stripRunner = (entry) => ({
|
|
|
80
93
|
maxToolCalls: entry.maxToolCalls,
|
|
81
94
|
runSource: entry.runSource,
|
|
82
95
|
});
|
|
96
|
+
// Returns a defensive copy with the same runner reference so callers cannot
|
|
97
|
+
// mutate our in-memory cache accidentally.
|
|
83
98
|
const cloneEntryWithRunner = (entry) => ({
|
|
84
99
|
...stripRunner(entry),
|
|
85
100
|
run: entry.run,
|
|
86
101
|
});
|
|
102
|
+
// Serializes a cache entry into inline JS that will be emitted to disk.
|
|
87
103
|
const serializeEntry = (entry) => {
|
|
88
104
|
const instructionLiteral = entry.instruction === null ? 'null' : JSON.stringify(entry.instruction);
|
|
89
105
|
const schemaLiteral = entry.schema === null ? 'null' : JSON.stringify(entry.schema);
|
|
@@ -99,6 +115,8 @@ const serializeEntry = (entry) => {
|
|
|
99
115
|
];
|
|
100
116
|
return `{ ${parts.join(', ')} }`;
|
|
101
117
|
};
|
|
118
|
+
// Emits the cache file as a CommonJS module matching what the runtime loader
|
|
119
|
+
// expects. This keeps the on-disk format aligned between generator and reader.
|
|
102
120
|
const renderCacheModule = (entries) => {
|
|
103
121
|
const serializedEntries = entries.map(serializeEntry).join(', ');
|
|
104
122
|
return `/**
|
|
@@ -120,6 +138,8 @@ class FilePageAiCache {
|
|
|
120
138
|
this.cacheFilepath = cacheFilepath;
|
|
121
139
|
}
|
|
122
140
|
async get(key) {
|
|
141
|
+
// Reads happen under the same lock as writes to avoid observing
|
|
142
|
+
// partially-written files on platforms without atomic replace semantics.
|
|
123
143
|
return this.withCacheLock(async (cache) => {
|
|
124
144
|
const matchingEntry = cache.find((entry) => pageAiCacheKeysMatch(entry, key));
|
|
125
145
|
return {
|
|
@@ -129,6 +149,8 @@ class FilePageAiCache {
|
|
|
129
149
|
});
|
|
130
150
|
}
|
|
131
151
|
async put(entry) {
|
|
152
|
+
// Upsert logic is delegated into the locked section to keep the file and
|
|
153
|
+
// in-memory view consistent for all concurrent callers.
|
|
132
154
|
await this.withCacheLock(async (cache) => {
|
|
133
155
|
const existingIndex = cache.findIndex((candidate) => pageAiCacheKeysMatch(candidate, entry));
|
|
134
156
|
const materializedEntry = materializeEntry(entry);
|
|
@@ -143,6 +165,8 @@ class FilePageAiCache {
|
|
|
143
165
|
});
|
|
144
166
|
}
|
|
145
167
|
async delete(key) {
|
|
168
|
+
// Deletion is also serialized via the lock to avoid interleaving with
|
|
169
|
+
// writes from other workers.
|
|
146
170
|
return this.withCacheLock(async (cache) => {
|
|
147
171
|
const targetIndex = cache.findIndex((entry) => pageAiCacheKeysMatch(entry, key));
|
|
148
172
|
if (targetIndex === -1) {
|
|
@@ -193,13 +217,38 @@ class FilePageAiCache {
|
|
|
193
217
|
}
|
|
194
218
|
}
|
|
195
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* Reads and evaluates the cache file without touching Node's module cache.
|
|
222
|
+
* We re-run the file in a fresh CommonJS wrapper on every call so parallel
|
|
223
|
+
* writers cannot serve stale data to parallel readers (a risk when relying
|
|
224
|
+
* on dynamic import cache-busting tokens).
|
|
225
|
+
*/
|
|
226
|
+
async loadCacheModule() {
|
|
227
|
+
const source = await promises_1.default.readFile(this.cacheFilepath, 'utf-8');
|
|
228
|
+
const cacheRequire = (0, node_module_1.createRequire)(this.cacheFilepath);
|
|
229
|
+
const module = { exports: {} };
|
|
230
|
+
const sandbox = (0, node_vm_1.createContext)({
|
|
231
|
+
module,
|
|
232
|
+
exports: module.exports,
|
|
233
|
+
require: cacheRequire,
|
|
234
|
+
__filename: this.cacheFilepath,
|
|
235
|
+
__dirname: node_path_1.default.dirname(this.cacheFilepath),
|
|
236
|
+
});
|
|
237
|
+
// Mirror Node's CommonJS wrapper so `module.exports` and `require` behave
|
|
238
|
+
// exactly as they would when executed normally from disk.
|
|
239
|
+
const script = new node_vm_1.Script(`(function (exports, require, module, __filename, __dirname) {${source}\n})`, { filename: this.cacheFilepath });
|
|
240
|
+
const runner = script.runInContext(sandbox);
|
|
241
|
+
runner(module.exports, cacheRequire, module, this.cacheFilepath, node_path_1.default.dirname(this.cacheFilepath));
|
|
242
|
+
return module.exports;
|
|
243
|
+
}
|
|
196
244
|
async readCacheFile() {
|
|
197
245
|
try {
|
|
198
|
-
const
|
|
199
|
-
const
|
|
200
|
-
|
|
246
|
+
const cacheModule = await this.loadCacheModule();
|
|
247
|
+
const exported = (cacheModule.default ??
|
|
248
|
+
cacheModule);
|
|
201
249
|
const caches = Array.isArray(exported.caches) ? exported.caches : [];
|
|
202
250
|
return caches.map((entry) => {
|
|
251
|
+
// Input validation keeps bad cache writes from crashing consumers.
|
|
203
252
|
if (typeof entry.run !== 'function') {
|
|
204
253
|
throw new Error(`Invalid cache entry: run must be a function for ${entry.pageUrl ?? 'unknown page'}.`);
|
|
205
254
|
}
|
|
@@ -226,17 +275,22 @@ class FilePageAiCache {
|
|
|
226
275
|
}
|
|
227
276
|
catch (error) {
|
|
228
277
|
if (error.code === 'ERR_MODULE_NOT_FOUND' || error.code === 'ENOENT') {
|
|
278
|
+
// Cache missing is a valid cold-start scenario; treat it as empty.
|
|
229
279
|
return [];
|
|
230
280
|
}
|
|
231
281
|
throw error;
|
|
232
282
|
}
|
|
233
283
|
}
|
|
234
284
|
async writeCacheFile(cache) {
|
|
285
|
+
// All writes funnel through here so we can pretty-print once and keep
|
|
286
|
+
// the on-disk schema in sync with the generator format.
|
|
235
287
|
const serialized = cache.map((entry) => stripRunner(entry));
|
|
236
288
|
const prettified = await (0, CodeGenerator_1.prettifyCode)((0, exports.renderCacheModule)(serialized));
|
|
237
289
|
await promises_1.default.writeFile(this.cacheFilepath, prettified, 'utf-8');
|
|
238
290
|
}
|
|
239
291
|
async withCacheLock(operation) {
|
|
292
|
+
// Acquire the OS-level lock around the entire read-modify-write to keep
|
|
293
|
+
// inter-process access linearizable.
|
|
240
294
|
await this.ensureCacheFileExists();
|
|
241
295
|
const release = await LockFile.lock(this.cacheFilepath, {
|
|
242
296
|
retries: {
|
|
@@ -266,14 +320,19 @@ exports.FilePageAiCache = FilePageAiCache;
|
|
|
266
320
|
*/
|
|
267
321
|
class InMemoryPageAiCache {
|
|
268
322
|
constructor(initialContents = []) {
|
|
323
|
+
// The constructor accepts either the raw caches array or the on-disk
|
|
324
|
+
// module shape to make tests less picky about input format.
|
|
269
325
|
const entries = 'caches' in initialContents ? initialContents.caches : initialContents;
|
|
270
326
|
this.cache = entries.map((entry) => materializeEntry(entry));
|
|
271
327
|
}
|
|
272
328
|
async get(key) {
|
|
329
|
+
// In-memory variant does not need locking; we still clone on return to
|
|
330
|
+
// protect internal state from callers mutating entries.
|
|
273
331
|
const matchingEntry = this.cache.find((entry) => pageAiCacheKeysMatch(entry, key));
|
|
274
332
|
return matchingEntry ? cloneEntryWithRunner(matchingEntry) : null;
|
|
275
333
|
}
|
|
276
334
|
async put(entry) {
|
|
335
|
+
// Upsert in memory mirrors the file-backed logic for parity.
|
|
277
336
|
const materialized = materializeEntry(entry);
|
|
278
337
|
const existingIndex = this.cache.findIndex((candidate) => pageAiCacheKeysMatch(candidate, entry));
|
|
279
338
|
if (existingIndex === -1) {
|
|
@@ -285,6 +344,8 @@ class InMemoryPageAiCache {
|
|
|
285
344
|
this.cache = nextCache;
|
|
286
345
|
}
|
|
287
346
|
async delete(key) {
|
|
347
|
+
// Simple array removal; returns false when nothing was removed to keep
|
|
348
|
+
// parity with the file-backed API surface.
|
|
288
349
|
const targetIndex = this.cache.findIndex((entry) => pageAiCacheKeysMatch(entry, key));
|
|
289
350
|
if (targetIndex === -1) {
|
|
290
351
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/lib/pageAi/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/lib/pageAi/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type Database from 'better-sqlite3';
|
|
2
1
|
import type { GptClientFactory } from '../clients/GptClientFactory';
|
|
3
2
|
import type { ControlPanelFactory } from '../models/ControlPanel';
|
|
4
3
|
import type { DonobuDeploymentEnvironment } from '../models/DonobuDeploymentEnvironment';
|
|
@@ -12,7 +11,6 @@ import { EnvDataManager } from './EnvDataManager';
|
|
|
12
11
|
import { GptConfigsManager } from './GptConfigsManager';
|
|
13
12
|
import { RequestContextHolder } from './RequestContextHolder';
|
|
14
13
|
export type DonobuStack = {
|
|
15
|
-
sqliteDb: Database.Database;
|
|
16
14
|
gptClientFactory: GptClientFactory;
|
|
17
15
|
gptConfigsPersistence: GptConfigsPersistence;
|
|
18
16
|
gptConfigsManager: GptConfigsManager;
|
|
@@ -30,7 +28,7 @@ export type DonobuStack = {
|
|
|
30
28
|
* parameter is because that can be used to hold a snapshot of the
|
|
31
29
|
* real NodeJS process's environment variables, of which, we generally
|
|
32
30
|
* should not do in hosted environments. However, if we are running
|
|
33
|
-
* within the context of being a library used for
|
|
31
|
+
* within the context of being a library used for running Playwright tests,
|
|
34
32
|
* then having this snapshot is relevant so that tests can use normal
|
|
35
33
|
* environment variables.
|
|
36
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonobuStack.d.ts","sourceRoot":"","sources":["../../src/managers/DonobuStack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"DonobuStack.d.ts","sourceRoot":"","sources":["../../src/managers/DonobuStack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAIjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAE5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAE7F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,YAAY,EAAE,kBAAkB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,2BAA2B,EAAE,2BAA2B,EACxD,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBN,GACA,OAAO,CAAC,WAAW,CAAC,CAmDtB"}
|
|
@@ -20,7 +20,7 @@ const RequestContextHolder_1 = require("./RequestContextHolder");
|
|
|
20
20
|
* parameter is because that can be used to hold a snapshot of the
|
|
21
21
|
* real NodeJS process's environment variables, of which, we generally
|
|
22
22
|
* should not do in hosted environments. However, if we are running
|
|
23
|
-
* within the context of being a library used for
|
|
23
|
+
* within the context of being a library used for running Playwright tests,
|
|
24
24
|
* then having this snapshot is relevant so that tests can use normal
|
|
25
25
|
* environment variables.
|
|
26
26
|
*/
|
|
@@ -37,7 +37,6 @@ async function setupDonobuStack(donobuDeploymentEnvironment, controlPanelFactory
|
|
|
37
37
|
const envDataManager = new EnvDataManager_1.EnvDataManager(envPersistenceFactory);
|
|
38
38
|
const flowsManager = new DonobuFlowsManager_1.DonobuFlowsManager(donobuDeploymentEnvironment, gptClientFactory, gptConfigsManager, agentsManager, flowsPersistenceFactory, envDataManager, controlPanelFactory, environ);
|
|
39
39
|
return {
|
|
40
|
-
sqliteDb,
|
|
41
40
|
gptClientFactory,
|
|
42
41
|
gptConfigsPersistence,
|
|
43
42
|
gptConfigsManager,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonobuStack.js","sourceRoot":"","sources":["../../src/managers/DonobuStack.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"DonobuStack.js","sourceRoot":"","sources":["../../src/managers/DonobuStack.ts"],"names":[],"mappings":";;AA2CA,4CA0EC;AApHD,kEAAmE;AACnE,wCAAiC;AAIjC,2FAAwF;AACxF,kEAAwE;AACxE,4FAAyF;AAGzF,kGAA+F;AAE/F,uGAAoG;AACpG,mDAAgD;AAChD,6DAA0D;AAC1D,qDAAkD;AAClD,2DAAwD;AACxD,iEAA8D;AAc9D;;;;;;;;;;GAUG;AACI,KAAK,UAAU,gBAAgB,CACpC,2BAAwD,EACxD,mBAAwC,EACxC,sBAA+C,EAC/C,OAAO,GAAG,aAAG,CAAC,IAAI,CAChB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,qCAAqC,EACrC,gBAAgB,EAChB,8BAA8B,EAC9B,iCAAiC,EACjC,6BAA6B,EAC7B,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,CAC1B;IAED,MAAM,gBAAgB,GAAG,IAAI,uCAAoB,EAAE,CAAC;IACpD,MAAM,oBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,IAAA,wCAAuB,GAAE,CAAC;IACjD,MAAM,qBAAqB,GACzB,MAAM,yDAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,MAAM,qCAAiB,CAAC,MAAM,CACtD,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,CACR,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,iDAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,MAAM,6BAAa,CAAC,MAAM,CAC9C,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,CACR,CAAC;IACF,MAAM,uBAAuB,GAC3B,MAAM,yDAA2B,CAAC,eAAe,CAC/C,2BAA2B,EAC3B,oBAAoB,EACpB,OAAO,CACR,CAAC;IACJ,MAAM,qBAAqB,GAAG,MAAM,qDAAyB,CAAC,eAAe,CAC3E,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,IAAI,IAAI,EAC9B,OAAO,CACR,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,qBAAqB,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,IAAI,uCAAkB,CACzC,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,OAAO,CACR,CAAC;IACF,OAAO;QACL,gBAAgB;QAChB,qBAAqB;QACrB,iBAAiB;QACjB,iBAAiB;QACjB,aAAa;QACb,uBAAuB;QACvB,YAAY;QACZ,cAAc;QACd,oBAAoB;KACrB,CAAC;AACJ,CAAC"}
|