donobu 2.27.1 → 2.27.3

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 (71) hide show
  1. package/dist/apis/FlowsApi.d.ts +6 -15
  2. package/dist/apis/FlowsApi.d.ts.map +1 -1
  3. package/dist/apis/FlowsApi.js +22 -60
  4. package/dist/apis/FlowsApi.js.map +1 -1
  5. package/dist/assets/generated/version +1 -1
  6. package/dist/esm/apis/FlowsApi.d.ts +6 -15
  7. package/dist/esm/apis/FlowsApi.d.ts.map +1 -1
  8. package/dist/esm/apis/FlowsApi.js +22 -60
  9. package/dist/esm/apis/FlowsApi.js.map +1 -1
  10. package/dist/esm/assets/generated/version +1 -1
  11. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  12. package/dist/esm/lib/testExtension.js +88 -94
  13. package/dist/esm/lib/testExtension.js.map +1 -1
  14. package/dist/esm/lib/utils/selfHealing.d.ts.map +1 -1
  15. package/dist/esm/lib/utils/selfHealing.js +22 -2
  16. package/dist/esm/lib/utils/selfHealing.js.map +1 -1
  17. package/dist/esm/managers/CodeGenerator.d.ts +35 -1
  18. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  19. package/dist/esm/managers/CodeGenerator.js +164 -33
  20. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  21. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  22. package/dist/esm/managers/DonobuFlow.js +6 -4
  23. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  24. package/dist/esm/managers/DonobuFlowsManager.d.ts +6 -6
  25. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  26. package/dist/esm/managers/DonobuFlowsManager.js +8 -73
  27. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  28. package/dist/esm/managers/ToolManager.js +2 -2
  29. package/dist/esm/managers/ToolManager.js.map +1 -1
  30. package/dist/esm/models/CodeGenerationOptions.d.ts +19 -0
  31. package/dist/esm/models/CodeGenerationOptions.d.ts.map +1 -0
  32. package/dist/esm/models/CodeGenerationOptions.js +22 -0
  33. package/dist/esm/models/CodeGenerationOptions.js.map +1 -0
  34. package/dist/esm/models/FlowMetadata.js +3 -3
  35. package/dist/esm/models/FlowMetadata.js.map +1 -1
  36. package/dist/esm/tools/InputRandomizedEmailAddressTool.d.ts +6 -6
  37. package/dist/esm/tools/ReplayableInteraction.d.ts +108 -5
  38. package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
  39. package/dist/esm/tools/ReplayableInteraction.js +169 -14
  40. package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
  41. package/dist/lib/testExtension.d.ts.map +1 -1
  42. package/dist/lib/testExtension.js +88 -94
  43. package/dist/lib/testExtension.js.map +1 -1
  44. package/dist/lib/utils/selfHealing.d.ts.map +1 -1
  45. package/dist/lib/utils/selfHealing.js +22 -2
  46. package/dist/lib/utils/selfHealing.js.map +1 -1
  47. package/dist/managers/CodeGenerator.d.ts +35 -1
  48. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  49. package/dist/managers/CodeGenerator.js +164 -33
  50. package/dist/managers/CodeGenerator.js.map +1 -1
  51. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  52. package/dist/managers/DonobuFlow.js +6 -4
  53. package/dist/managers/DonobuFlow.js.map +1 -1
  54. package/dist/managers/DonobuFlowsManager.d.ts +6 -6
  55. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  56. package/dist/managers/DonobuFlowsManager.js +8 -73
  57. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  58. package/dist/managers/ToolManager.js +2 -2
  59. package/dist/managers/ToolManager.js.map +1 -1
  60. package/dist/models/CodeGenerationOptions.d.ts +19 -0
  61. package/dist/models/CodeGenerationOptions.d.ts.map +1 -0
  62. package/dist/models/CodeGenerationOptions.js +22 -0
  63. package/dist/models/CodeGenerationOptions.js.map +1 -0
  64. package/dist/models/FlowMetadata.js +3 -3
  65. package/dist/models/FlowMetadata.js.map +1 -1
  66. package/dist/tools/InputRandomizedEmailAddressTool.d.ts +6 -6
  67. package/dist/tools/ReplayableInteraction.d.ts +108 -5
  68. package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
  69. package/dist/tools/ReplayableInteraction.js +169 -14
  70. package/dist/tools/ReplayableInteraction.js.map +1 -1
  71. package/package.json +1 -1
@@ -63,88 +63,15 @@ exports.test = test_1.test.extend({
63
63
  ],
64
64
  // Override the default page fixture
65
65
  page: async ({ page, gptClient, headless }, use, testInfo) => {
66
- try {
67
- page._initialBrowserState = await BrowserUtils_1.BrowserUtils.getBrowserStorageState(page.context());
68
- Logger_1.appLogger.debug(`Saved initial browser state: ${JSON.stringify(page._initialBrowserState, null, 2)}`);
69
- }
70
- catch (e) {
71
- page._initialBrowserState = {
72
- cookies: [],
73
- origins: [],
74
- };
75
- Logger_1.appLogger.error(`Failed to record initial browser state for test: ${testInfo.file}`, e);
76
- }
77
- if (!gptClient) {
78
- try {
79
- gptClient = await (0, gptClients_1.getOrCreateDefaultGptClient)();
80
- }
81
- catch (_error) {
82
- // Do nothing since we may not need a GPT client at all anyway.
83
- // If something later on requires a GPT client, it will throw an error.
84
- }
85
- }
86
- if (gptClient) {
87
- const modelName = 'modelName' in gptClient.config
88
- ? gptClient.config.modelName
89
- : 'unknown';
90
- Logger_1.appLogger.info(`Setup ${gptClient.config.type} client for model: ${modelName}`);
91
- }
66
+ page._initialBrowserState = await getBrowserState(page, testInfo);
67
+ gptClient = await buttonUpGptClient(gptClient);
92
68
  // Patch the page with "run", but do it lazily
93
69
  const donobu = await (0, donobuTestStack_1.getOrCreateDonobuStack)();
94
70
  await PlaywrightUtils_1.PlaywrightUtils.setupBasicBrowserContext(page.context());
95
71
  // Save the oringal goto method since we override it later. We need the
96
72
  // original so we can delegate to it in our override.
97
73
  page._originalGoto = page.goto;
98
- let isTestRunInitialized = false;
99
- async function maybeInitDonobu() {
100
- if (isTestRunInitialized) {
101
- return;
102
- }
103
- const overallObjective = testInfo.annotations.find((v) => {
104
- return v.type === 'objective';
105
- })?.description ?? null;
106
- // Get the implied allowed environment variables by inspecting the objective.
107
- const allowedEnvVarsByName = DonobuFlowsManager_1.DonobuFlowsManager.distillAllowedEnvVariableNames(overallObjective, null);
108
- const donobuTestFlowMetadata = {
109
- id: (0, uuid_1.v4)(),
110
- name: testInfo.title,
111
- createdWithDonobuVersion: MiscUtils_1.MiscUtils.DONOBU_VERSION,
112
- browser: {
113
- persistState: true,
114
- using: {
115
- type: 'device',
116
- deviceName: 'Desktop Chromium',
117
- headless: headless,
118
- },
119
- },
120
- envVars: allowedEnvVarsByName,
121
- gptConfigName: null,
122
- hasGptConfigNameOverride: false,
123
- customTools: null,
124
- defaultMessageDuration: 0,
125
- runMode: 'DETERMINISTIC',
126
- isControlPanelEnabled: false,
127
- callbackUrl: null,
128
- targetWebsite: PLACEHOLDER_FLOW_URL,
129
- overallObjective: overallObjective,
130
- allowedTools: [],
131
- resultJsonSchema: null,
132
- result: null,
133
- inputTokensUsed: 0,
134
- completionTokensUsed: 0,
135
- maxToolCalls: null,
136
- startedAt: new Date().getTime(),
137
- completedAt: null,
138
- state: 'RUNNING_ACTION',
139
- nextState: null,
140
- };
141
- const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
142
- await persistenceLayer.setFlowMetadata(donobuTestFlowMetadata);
143
- page._donobuFlowMetadata = donobuTestFlowMetadata;
144
- isTestRunInitialized = true;
145
- }
146
74
  page.ai = async (instruction, schema) => {
147
- await maybeInitDonobu();
148
75
  const envData = await donobu.flowsManager.buildEnvData(page._donobuFlowMetadata.envVars ?? []);
149
76
  const jsonSchema = schema
150
77
  ? (0, zod_to_json_schema_1.zodToJsonSchema)(schema, {
@@ -195,7 +122,6 @@ exports.test = test_1.test.extend({
195
122
  // Donobu action if necessary. This can happen if you run a Playwright
196
123
  // test using npx, but later decide to rerun that run using the Donobu UI.
197
124
  page.goto = async (url, options) => {
198
- await maybeInitDonobu();
199
125
  const startedAt = new Date().getTime();
200
126
  const flowId = page._donobuFlowMetadata.id;
201
127
  const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
@@ -242,7 +168,7 @@ exports.test = test_1.test.extend({
242
168
  const completedAt = new Date().getTime();
243
169
  await persistenceLayer.saveToolCall(flowId, {
244
170
  id: MiscUtils_1.MiscUtils.createAdHocToolCallId(),
245
- toolName: 'goToWebpage',
171
+ toolName: GoToWebpageTool_1.GoToWebpageTool.NAME,
246
172
  parameters: {
247
173
  url: url,
248
174
  },
@@ -262,7 +188,6 @@ exports.test = test_1.test.extend({
262
188
  }
263
189
  };
264
190
  page.run = async (toolName, toolParams, gptClientOverride) => {
265
- await maybeInitDonobu();
266
191
  let finalGptClient = null;
267
192
  if (gptClientOverride) {
268
193
  if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
@@ -347,10 +272,9 @@ exports.test = test_1.test.extend({
347
272
  return page.run(ClickTool_1.ClickTool.NAME, params);
348
273
  };
349
274
  page.createCookieReport = async (gptClientOverride) => {
350
- return page.run(CreateBrowserCookieReportTool_1.CreateBrowserCookieReportTool.NAME, gptClientOverride);
275
+ return page.run(CreateBrowserCookieReportTool_1.CreateBrowserCookieReportTool.NAME, {}, gptClientOverride);
351
276
  };
352
277
  page.extract = async (params, gptClientOverride) => {
353
- await maybeInitDonobu();
354
278
  let finalGptClient = null;
355
279
  if (gptClientOverride) {
356
280
  if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
@@ -404,6 +328,47 @@ exports.test = test_1.test.extend({
404
328
  return page.run(AssertTool_1.AssertTool.NAME, params, gptClientOverride);
405
329
  };
406
330
  try {
331
+ const overallObjective = testInfo.annotations.find((v) => {
332
+ return v.type === 'objective';
333
+ })?.description ?? null;
334
+ // Get the implied allowed environment variables by inspecting the objective.
335
+ const allowedEnvVarsByName = DonobuFlowsManager_1.DonobuFlowsManager.distillAllowedEnvVariableNames(overallObjective, null);
336
+ const donobuTestFlowMetadata = {
337
+ id: (0, uuid_1.v4)(),
338
+ name: testInfo.title,
339
+ createdWithDonobuVersion: MiscUtils_1.MiscUtils.DONOBU_VERSION,
340
+ browser: {
341
+ persistState: true,
342
+ using: {
343
+ type: 'device',
344
+ deviceName: 'Desktop Chromium',
345
+ headless: headless,
346
+ },
347
+ },
348
+ envVars: allowedEnvVarsByName,
349
+ gptConfigName: null,
350
+ hasGptConfigNameOverride: false,
351
+ customTools: null,
352
+ defaultMessageDuration: 0,
353
+ runMode: 'DETERMINISTIC',
354
+ isControlPanelEnabled: false,
355
+ callbackUrl: null,
356
+ targetWebsite: PLACEHOLDER_FLOW_URL,
357
+ overallObjective: overallObjective,
358
+ allowedTools: [],
359
+ resultJsonSchema: null,
360
+ result: null,
361
+ inputTokensUsed: 0,
362
+ completionTokensUsed: 0,
363
+ maxToolCalls: null,
364
+ startedAt: new Date().getTime(),
365
+ completedAt: null,
366
+ state: 'RUNNING_ACTION',
367
+ nextState: null,
368
+ };
369
+ const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
370
+ await persistenceLayer.setFlowMetadata(donobuTestFlowMetadata);
371
+ page._donobuFlowMetadata = donobuTestFlowMetadata;
407
372
  // Let Playwright continue and give tests the patched page.
408
373
  await use(page);
409
374
  }
@@ -436,8 +401,14 @@ exports.test = test_1.test.extend({
436
401
  // Log but don't throw, to ensure cleanup continues.
437
402
  Logger_1.appLogger.error('Error during test cleanup:', error);
438
403
  }
439
- if (shouldSelfHeal(page._donobuFlowMetadata, testInfo)) {
440
- if (gptClient) {
404
+ if (testInfo.status === 'failed' && isSelfHealingEnabled(testInfo)) {
405
+ if (!page._donobuFlowMetadata) {
406
+ Logger_1.appLogger.error('Will not self-heal due to no Donobu metadata being found.');
407
+ }
408
+ else if (!gptClient) {
409
+ Logger_1.appLogger.warn('Will not self-heal due to no GPT client being set up.');
410
+ }
411
+ else {
441
412
  try {
442
413
  await (0, selfHealing_1.selfHeal)(gptClient, testInfo, page);
443
414
  }
@@ -445,22 +416,12 @@ exports.test = test_1.test.extend({
445
416
  Logger_1.appLogger.error('Error when attempting to self heal:', selfHealError);
446
417
  }
447
418
  }
448
- else {
449
- Logger_1.appLogger.warn('Will not self-heal due to no GPT client being set up.');
450
- }
451
419
  }
452
420
  }
453
421
  },
454
422
  });
455
- /**
456
- * Returns true IFF the given flow should attempt to be self healed.
457
- */
458
- function shouldSelfHeal(flowMetadata, testInfo) {
459
- if (flowMetadata.state !== 'FAILED') {
460
- // Nothing to self-heal if the flow did not fail.
461
- return false;
462
- }
463
- else if (envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED in testInfo.project.metadata) {
423
+ function isSelfHealingEnabled(testInfo) {
424
+ if (envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED in testInfo.project.metadata) {
464
425
  // Check project-specific metadata. This takes priority if it exists.
465
426
  const isSelfHealEnabledForProject = (0, yn_1.default)(testInfo.project.metadata[envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED]) ??
466
427
  false;
@@ -472,4 +433,37 @@ function shouldSelfHeal(flowMetadata, testInfo) {
472
433
  return isSelfHealEnabledViaEnvVar;
473
434
  }
474
435
  }
436
+ async function getBrowserState(page, testInfo) {
437
+ try {
438
+ return await BrowserUtils_1.BrowserUtils.getBrowserStorageState(page.context());
439
+ }
440
+ catch (e) {
441
+ Logger_1.appLogger.error(`Failed to fetch browser state for test: ${testInfo.file}`, e);
442
+ return {
443
+ cookies: [],
444
+ origins: [],
445
+ };
446
+ }
447
+ }
448
+ async function buttonUpGptClient(gptClient) {
449
+ try {
450
+ if (!gptClient) {
451
+ gptClient = await (0, gptClients_1.getOrCreateDefaultGptClient)();
452
+ }
453
+ return gptClient;
454
+ }
455
+ catch (_error) {
456
+ // Do nothing since we may not need a GPT client at all anyway.
457
+ // If something later on requires a GPT client, it will throw an error.
458
+ return gptClient;
459
+ }
460
+ finally {
461
+ if (gptClient) {
462
+ const modelName = 'modelName' in gptClient.config
463
+ ? gptClient.config.modelName
464
+ : 'unknown';
465
+ Logger_1.appLogger.info(`Setup ${gptClient.config.type} client for model: ${modelName}`);
466
+ }
467
+ }
468
+ }
475
469
  //# sourceMappingURL=testExtension.js.map
@@ -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 +1 @@
1
- {"version":3,"file":"selfHealing.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AA4BpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAwIf"}
1
+ {"version":3,"file":"selfHealing.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AA4BpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAS3D;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CA0If"}
@@ -62,6 +62,8 @@ const WaitTool_1 = require("../../tools/WaitTool");
62
62
  const SolveMfaChallenge_1 = require("../../tools/SolveMfaChallenge");
63
63
  const ToolManager_1 = require("../../managers/ToolManager");
64
64
  const BrowserUtils_1 = require("../../utils/BrowserUtils");
65
+ const DonobuFlowsManager_1 = require("../../managers/DonobuFlowsManager");
66
+ const CodeGenerationOptions_1 = require("../../models/CodeGenerationOptions");
65
67
  /**
66
68
  * Self-heals a test that has failed by creating and running a new autonomous
67
69
  * flow using the failed test's code as part of the overall objective. If the
@@ -74,6 +76,7 @@ const BrowserUtils_1 = require("../../utils/BrowserUtils");
74
76
  * @param donobuFlowMetadata The metadata of the flow that is being self-healed.
75
77
  */
76
78
  async function selfHeal(gptClient, testInfo, page) {
79
+ Logger_1.appLogger.error(JSON.stringify(getSelfHealingOptions(testInfo), null, 2));
77
80
  const donobuFlowMetadata = page._donobuFlowMetadata;
78
81
  if (!donobuFlowMetadata || !donobuFlowMetadata.overallObjective) {
79
82
  // We cannot self-heal without an flow metadata or objective.
@@ -117,7 +120,7 @@ ${originalTestCode}
117
120
  customTools: donobuFlowMetadata.customTools ?? undefined,
118
121
  allowedTools: allowedTools,
119
122
  callbackUrl: undefined,
120
- maxToolCalls: 30,
123
+ maxToolCalls: DonobuFlowsManager_1.DonobuFlowsManager.DEFAULT_MAX_TOOL_CALLS,
121
124
  gptConfigNameOverride: undefined,
122
125
  defaultMessageDuration: undefined,
123
126
  initialRunMode: 'AUTONOMOUS',
@@ -140,7 +143,7 @@ ${originalTestCode}
140
143
  });
141
144
  if (newFlow.donobuFlow.metadata.state === 'SUCCESS') {
142
145
  Logger_1.appLogger.info('Self-heal succeeded! The new autonomous flow completed successfully. Generating revised test...');
143
- const newTestCode = await donobu.flowsManager.getFlowAsPlaywrightScript(newFlow.donobuFlow.metadata.id);
146
+ const newTestCode = await donobu.flowsManager.getFlowAsPlaywrightScript(newFlow.donobuFlow.metadata.id, getSelfHealingOptions(testInfo));
144
147
  // Save the fixed test as an attachment
145
148
  await testInfo.attach('fixed-test.ts', {
146
149
  body: newTestCode,
@@ -177,6 +180,23 @@ ${originalTestCode}
177
180
  return;
178
181
  }
179
182
  }
183
+ function getSelfHealingOptions(testInfo) {
184
+ const defaultCodeGenerationOptions = {
185
+ areElementIdsVolatile: false,
186
+ disableSelectorFailover: false,
187
+ // The other options are not relevant to self-healing.
188
+ };
189
+ if ('selfHealingOptions' in testInfo.project.metadata) {
190
+ try {
191
+ return CodeGenerationOptions_1.CodeGenerationOptionsSchema.parse(testInfo.project.metadata.selfHealingOptions);
192
+ }
193
+ catch (error) {
194
+ Logger_1.appLogger.warn(`Malformed selfHealingOptions, will use default value of: ${JSON.stringify(defaultCodeGenerationOptions, null, 2)}`, error);
195
+ return defaultCodeGenerationOptions;
196
+ }
197
+ }
198
+ return defaultCodeGenerationOptions;
199
+ }
180
200
  async function restoreBrowserContext(browserContext, browserState) {
181
201
  browserContext.pages().forEach(async (p) => await p.close());
182
202
  await browserContext.clearCookies();
@@ -1 +1 @@
1
- {"version":3,"file":"selfHealing.js","sourceRoot":"","sources":["../../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selfHealing.js","sourceRoot":"","sources":["../../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,4BA8IC;AAjMD,uCAAyB;AAIzB,uDAA2D;AAC3D,uDAAoD;AACpD,+CAA+C;AAC/C,yEAAsE;AACtE,uEAAoE;AACpE,uDAAoD;AACpD,iFAA8E;AAC9E,+EAA4E;AAC5E,qDAAkD;AAClD,6FAA0F;AAC1F,6EAA0E;AAC1E,yEAAsE;AACtE,iEAA8D;AAC9D,iFAA8E;AAC9E,2EAAwE;AACxE,iGAA8F;AAC9F,6DAA0D;AAC1D,qFAAkF;AAClF,iGAA8F;AAC9F,2DAAwD;AACxD,mFAAgF;AAChF,+DAA4D;AAC5D,+EAA4E;AAC5E,mDAAgD;AAChD,qEAAsE;AAEtE,4DAAyD;AAEzD,2DAAwD;AAExD,0EAAuE;AACvE,8EAG4C;AAE5C;;;;;;;;;;GAUG;AACI,KAAK,UAAU,QAAQ,CAC5B,SAAoB,EACpB,QAAkB,EAClB,IAAwB;IAExB,kBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAEpD,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;QAChE,6DAA6D;QAC7D,kBAAS,CAAC,IAAI,CACZ,kFAAkF,CACnF,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAsB,GAAE,CAAC;QAC9C,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,YAAY;QAC9C,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAG,iBAAiB,CAAC,CAAC;QAC1D,kBAAS,CAAC,IAAI,CACZ,8BAA8B,iBAAiB,wBAAwB,CACxE,CAAC;QACF,kBAAS,CAAC,IAAI,CACZ,8DAA8D,CAC/D,CAAC;QACF,sEAAsE;QACtE,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC7D,2EAA2E;QAC3E,yCAAyC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;QACnC,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG;;;;;;;;;;;;;EAavB,gBAAgB;;CAEjB,CAAC,IAAI,EAAE,CAAC;QACL,MAAM,aAAa,GAAqB;YACtC,aAAa,EAAE,kBAAkB,CAAC,aAAa;YAC/C,gBAAgB,EAAE,YAAY;YAC9B,IAAI,EAAE,kBAAkB,CAAC,IAAI,IAAI,SAAS;YAC1C,OAAO,EAAE,kBAAkB,CAAC,OAAO;YACnC,OAAO,EAAE,kBAAkB,CAAC,OAAO,IAAI,SAAS;YAChD,WAAW,EAAE,kBAAkB,CAAC,WAAW,IAAI,SAAS;YACxD,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,uCAAkB,CAAC,sBAAsB;YACvD,qBAAqB,EAAE,SAAS;YAChC,sBAAsB,EAAE,SAAS;YACjC,cAAc,EAAE,YAAY;YAC5B,qBAAqB,EAAE,KAAK;YAC5B,gBAAgB,EAAE,SAAS;YAC3B,gBAAgB,EAAE,SAAS;SAC5B,CAAC;QAEF,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAClD,aAAa,EACb,SAAS,EACT,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;QACF,kBAAS,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACrD,MAAM,OAAO,CAAC,GAAG,CAAC;QAClB,qEAAqE;QACrE,kEAAkE;QAClE,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,WAAW,GACf,MAAM,MAAM,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;QAChE,MAAM,WAAW,CAAC,eAAe,CAAC;YAChC,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;SACtD,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpD,kBAAS,CAAC,IAAI,CACZ,iGAAiG,CAClG,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,yBAAyB,CACrE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAC9B,qBAAqB,CAAC,QAAQ,CAAC,CAChC,CAAC;YAEF,uCAAuC;YACvC,MAAM,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE;gBACrC,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,wBAAwB;aACtC,CAAC,CAAC;YACH,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;YAEH,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,kBAAS,CAAC,IAAI,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;oBACtD,MAAM,aAAa,GAAG,MAAM,iCAAe,CAAC,cAAc,CACxD,YAAY,EACZ,QAAQ,CAAC,KAAK,EACd,WAAW,CACZ,CAAC;oBAEF,IAAI,aAAa,EAAE,CAAC;wBAClB,kBAAS,CAAC,IAAI,CACZ,sDAAsD,CACvD,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,kBAAS,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAAC,OAAO,eAAe,EAAE,CAAC;oBACzB,kBAAS,CAAC,KAAK,CACb,4BAA4B,YAAY,GAAG,EAC3C,eAAe,CAChB,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kBAAS,CAAC,IAAI,CACZ,8DAA8D,CAC/D,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kBAAS,CAAC,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAS,CAAC,KAAK,CACb,uDAAuD,EACvD,KAAK,CACN,CAAC;QACF,OAAO;IACT,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAkB;IAC/C,MAAM,4BAA4B,GAA0B;QAC1D,qBAAqB,EAAE,KAAK;QAC5B,uBAAuB,EAAE,KAAK;QAC9B,sDAAsD;KACvD,CAAC;IAEF,IAAI,oBAAoB,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,OAAO,mDAA2B,CAAC,KAAK,CACtC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAC7C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kBAAS,CAAC,IAAI,CACZ,4DAA4D,IAAI,CAAC,SAAS,CAAC,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EACnH,KAAK,CACN,CAAC;YACF,OAAO,4BAA4B,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,cAA8B,EAC9B,YAAiC;IAEjC,cAAc,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;IACpC,MAAM,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,2BAAY,CAAC,oCAAoC,CACrD,cAAc,EACd,YAAY,CACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,kBAAgC;IAEhC,MAAM,SAAS,GAAG;QAChB,yCAAmB,CAAC,IAAI;QACxB,uBAAU,CAAC,IAAI;QACf,uCAAkB,CAAC,IAAI;QACvB,6DAA6B,CAAC,IAAI;QAClC,iDAAuB,CAAC,IAAI;QAC5B,+CAAsB,CAAC,IAAI;QAC3B,qBAAS,CAAC,IAAI;QACd,6CAAqB,CAAC,IAAI;QAC1B,yCAAmB,CAAC,IAAI;QACxB,iCAAe,CAAC,IAAI;QACpB,iDAAuB,CAAC,IAAI;QAC5B,2CAAoB,CAAC,IAAI;QACzB,iEAA+B,CAAC,IAAI;QACpC,6BAAa,CAAC,IAAI;QAClB,qDAAyB,CAAC,IAAI;QAC9B,iEAA+B,CAAC,IAAI;QACpC,2BAAY,CAAC,IAAI;QACjB,mDAAwB,CAAC,IAAI;QAC7B,yCAAqB,CAAC,IAAI;QAC1B,+BAAc,CAAC,IAAI;QACnB,+CAAsB,CAAC,IAAI;QAC3B,mBAAQ,CAAC,IAAI;KACd,CAAC;IACF,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,CAAC,MAAM,yBAAW,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;QAC3B,GAAG,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,SAAS;QACZ,GAAG,gBAAgB;KACpB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,5 +1,7 @@
1
+ import { CodeGenerationOptions } from '../models/CodeGenerationOptions';
1
2
  import { FlowMetadata } from '../models/FlowMetadata';
2
3
  import { ProposedToolCall } from '../models/ProposedToolCall';
4
+ import { ToolCall } from '../models/ToolCall';
3
5
  export interface ProjectFile {
4
6
  path: string;
5
7
  content: string;
@@ -16,13 +18,14 @@ export declare class CodeGenerator {
16
18
  generateProject(flowsWithToolCalls: Array<{
17
19
  metadata: FlowMetadata;
18
20
  toolCalls: ProposedToolCall[];
19
- }>): Promise<GeneratedProject>;
21
+ }>, options: CodeGenerationOptions): Promise<GeneratedProject>;
20
22
  private generateGitHubActionsWorkflow;
21
23
  /**
22
24
  * Maps a proposed Donobu tool call to valid NodeJS Playwright code that uses
23
25
  * the `DonobuExtendedPage` extension.
24
26
  */
25
27
  private convertProposedToolCallToPlaywrightCode;
28
+ private generateGitIgnore;
26
29
  /**
27
30
  * Generates the playwright.config.ts file with project dependencies
28
31
  */
@@ -64,5 +67,36 @@ export declare class CodeGenerator {
64
67
  * @returns The sanitized string that can be safely used within backticks
65
68
  */
66
69
  private sanitizeForTemplateLiteral;
70
+ private isGptClientRequired;
71
+ /**
72
+ * Convert an *executed* list of {@link ToolCall}s into a list of
73
+ * {@link ProposedToolCall}s that can be replayed in a fresh browser
74
+ * session.
75
+ *
76
+ * ### What happens?
77
+ * 1. **Identify calls that need selector-remapping.**
78
+ * Some tools (e.g. {@link ClickTool}, {@link InputTextTool}) rely on a
79
+ * deterministic selector captured at runtime. These tool names live in
80
+ * `toolsThatNeedRemappedInputs`.
81
+ * 2. **Attempt remap with {@link ReplayableInteraction.prepareToolCallForRerun}.**
82
+ * If a call belongs to that set, we delegate to
83
+ * `ReplayableInteraction.remapForRerun` to inject the stored selector and
84
+ * strip any transient GPT-only fields.
85
+ * 3. **Pass through other calls unchanged.**
86
+ * Tools that have no UI footprint (e.g. navigation helpers, assertions)
87
+ * are copied verbatim.
88
+ * 4. **Error handling.**
89
+ * When remapping fails (e.g. selector metadata missing) we *skip* the
90
+ * offending call, emit a warning via `appLogger`, and continue processing
91
+ * the remainder so that a “best-effort” replay is still possible.
92
+ *
93
+ * The resulting array preserves the original order **minus** any calls that
94
+ * could not be remapped.
95
+ *
96
+ * @param toolCalls – The chronologically ordered list of executed
97
+ * {@link ToolCall}s.
98
+ * @returns A list of {@link ProposedToolCall}s ready for replay.
99
+ */
100
+ static prepareToolCallsForRerun(toolCalls: ToolCall[], options: CodeGenerationOptions): Promise<ProposedToolCall[]>;
67
101
  }
68
102
  //# sourceMappingURL=CodeGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeGenerator.d.ts","sourceRoot":"","sources":["../../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AA0C9D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC;IAsGlB;;OAEG;IACU,eAAe,CAC1B,kBAAkB,EAAE,KAAK,CAAC;QACxB,QAAQ,EAAE,YAAY,CAAC;QACvB,SAAS,EAAE,gBAAgB,EAAE,CAAC;KAC/B,CAAC,GACD,OAAO,CAAC,gBAAgB,CAAC;IAsC5B,OAAO,CAAC,6BAA6B;IAwCrC;;;OAGG;IACH,OAAO,CAAC,uCAAuC;IAqG/C;;OAEG;YACW,wBAAwB;IAkCtC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;YACW,iBAAiB;IAqB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,eAAe;YAKT,YAAY;IAY1B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;CASnC"}
1
+ {"version":3,"file":"CodeGenerator.d.ts","sourceRoot":"","sources":["../../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA4C9C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC;IA6FlB;;OAEG;IACU,eAAe,CAC1B,kBAAkB,EAAE,KAAK,CAAC;QACxB,QAAQ,EAAE,YAAY,CAAC;QACvB,SAAS,EAAE,gBAAgB,EAAE,CAAC;KAC/B,CAAC,EACF,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IA2C5B,OAAO,CAAC,6BAA6B;IAoFrC;;;OAGG;IACH,OAAO,CAAC,uCAAuC;IAqG/C,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;YACW,wBAAwB;IAgDtC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;YACW,iBAAiB;IAqB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,eAAe;YAKT,YAAY;IAY1B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;YAUpB,mBAAmB;IAoBjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;WACiB,wBAAwB,CAC1C,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAyC/B"}