donobu 5.8.2 → 5.8.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.
Files changed (51) hide show
  1. package/dist/esm/lib/ai/PageAi.d.ts.map +1 -1
  2. package/dist/esm/lib/ai/PageAi.js +2 -13
  3. package/dist/esm/lib/ai/PageAi.js.map +1 -1
  4. package/dist/esm/lib/ai/cache/assertCache.d.ts +6 -0
  5. package/dist/esm/lib/ai/cache/assertCache.d.ts.map +1 -1
  6. package/dist/esm/lib/ai/cache/assertCache.js +45 -3
  7. package/dist/esm/lib/ai/cache/assertCache.js.map +1 -1
  8. package/dist/esm/lib/ai/cache/cacheLocator.d.ts +10 -0
  9. package/dist/esm/lib/ai/cache/cacheLocator.d.ts.map +1 -1
  10. package/dist/esm/lib/ai/cache/cacheLocator.js +18 -0
  11. package/dist/esm/lib/ai/cache/cacheLocator.js.map +1 -1
  12. package/dist/esm/lib/page/extendPage.d.ts.map +1 -1
  13. package/dist/esm/lib/page/extendPage.js +4 -14
  14. package/dist/esm/lib/page/extendPage.js.map +1 -1
  15. package/dist/esm/tools/AssertTool.d.ts.map +1 -1
  16. package/dist/esm/tools/AssertTool.js +23 -8
  17. package/dist/esm/tools/AssertTool.js.map +1 -1
  18. package/dist/esm/tools/InputRandomizedEmailAddressTool.d.ts +1 -1
  19. package/dist/esm/tools/InputRandomizedEmailAddressTool.d.ts.map +1 -1
  20. package/dist/esm/tools/InputRandomizedEmailAddressTool.js +8 -6
  21. package/dist/esm/tools/InputRandomizedEmailAddressTool.js.map +1 -1
  22. package/dist/esm/tools/InputTextTool.d.ts +1 -1
  23. package/dist/esm/tools/InputTextTool.d.ts.map +1 -1
  24. package/dist/esm/tools/InputTextTool.js +11 -6
  25. package/dist/esm/tools/InputTextTool.js.map +1 -1
  26. package/dist/lib/ai/PageAi.d.ts.map +1 -1
  27. package/dist/lib/ai/PageAi.js +2 -13
  28. package/dist/lib/ai/PageAi.js.map +1 -1
  29. package/dist/lib/ai/cache/assertCache.d.ts +6 -0
  30. package/dist/lib/ai/cache/assertCache.d.ts.map +1 -1
  31. package/dist/lib/ai/cache/assertCache.js +45 -3
  32. package/dist/lib/ai/cache/assertCache.js.map +1 -1
  33. package/dist/lib/ai/cache/cacheLocator.d.ts +10 -0
  34. package/dist/lib/ai/cache/cacheLocator.d.ts.map +1 -1
  35. package/dist/lib/ai/cache/cacheLocator.js +18 -0
  36. package/dist/lib/ai/cache/cacheLocator.js.map +1 -1
  37. package/dist/lib/page/extendPage.d.ts.map +1 -1
  38. package/dist/lib/page/extendPage.js +4 -14
  39. package/dist/lib/page/extendPage.js.map +1 -1
  40. package/dist/tools/AssertTool.d.ts.map +1 -1
  41. package/dist/tools/AssertTool.js +23 -8
  42. package/dist/tools/AssertTool.js.map +1 -1
  43. package/dist/tools/InputRandomizedEmailAddressTool.d.ts +1 -1
  44. package/dist/tools/InputRandomizedEmailAddressTool.d.ts.map +1 -1
  45. package/dist/tools/InputRandomizedEmailAddressTool.js +8 -6
  46. package/dist/tools/InputRandomizedEmailAddressTool.js.map +1 -1
  47. package/dist/tools/InputTextTool.d.ts +1 -1
  48. package/dist/tools/InputTextTool.d.ts.map +1 -1
  49. package/dist/tools/InputTextTool.js +11 -6
  50. package/dist/tools/InputTextTool.js.map +1 -1
  51. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"InputRandomizedEmailAddressTool.d.ts","sourceRoot":"","sources":["../../src/tools/InputRandomizedEmailAddressTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAEL,qBAAqB,EAEtB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,qCAAqC;;;iBAUhD,CAAC;AAEH,eAAO,MAAM,uCAAuC;;;;;;;iBAGlD,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;iBAG/C,CAAC;AAEH,qBAAa,+BAAgC,SAAQ,qBAAqB,CACxE,OAAO,qCAAqC,EAC5C,OAAO,uCAAuC,EAC9C,OAAO,oCAAoC,CAC5C;IACC,gBAAuB,IAAI,iCAAiC;IAE5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CACiC;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAM;;IAe5C,MAAM,CACV,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,EACjE,OAAO,EAAE;QACP,MAAM,EAAE,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;QAChD,KAAK,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;KACjD,GACA,OAAO,CAAC,MAAM,CAAC;IA2BlB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,oBAAoB;YAYd,UAAU;CAiBzB"}
1
+ {"version":3,"file":"InputRandomizedEmailAddressTool.d.ts","sourceRoot":"","sources":["../../src/tools/InputRandomizedEmailAddressTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAEL,qBAAqB,EAEtB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,qCAAqC;;;iBAUhD,CAAC;AAEH,eAAO,MAAM,uCAAuC;;;;;;;iBAGlD,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;iBAG/C,CAAC;AAEH,qBAAa,+BAAgC,SAAQ,qBAAqB,CACxE,OAAO,qCAAqC,EAC5C,OAAO,uCAAuC,EAC9C,OAAO,oCAAoC,CAC5C;IACC,gBAAuB,IAAI,iCAAiC;IAE5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CACiC;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAM;;IAe5C,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,EACjE,OAAO,EAAE;QACP,MAAM,EAAE,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;QAChD,KAAK,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;KACjD,GACA,OAAO,CAAC,MAAM,CAAC;IA6BlB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,oBAAoB;YAYd,UAAU;CAiBzB"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InputRandomizedEmailAddressTool = exports.InputRandomizedEmailAddressGptSchema = exports.InputRandomizedEmailAddressNonGptSchema = exports.InputRandomizedEmailAddressCoreSchema = void 0;
4
4
  const v4_1 = require("zod/v4");
5
5
  const MiscUtils_1 = require("../utils/MiscUtils");
6
+ const TargetUtils_1 = require("../utils/TargetUtils");
6
7
  const ReplayableInteraction_1 = require("./ReplayableInteraction");
7
8
  exports.InputRandomizedEmailAddressCoreSchema = v4_1.z.object({
8
9
  baseEmail: v4_1.z
@@ -28,24 +29,25 @@ For example if passed "foo@gmail.com", this tool will create "foo+RANDOM@gmail.c
28
29
  RANDOM is a random string of characters safe for use in an email address, and input it in the
29
30
  specified text field.`, exports.InputRandomizedEmailAddressCoreSchema, exports.InputRandomizedEmailAddressNonGptSchema, exports.InputRandomizedEmailAddressGptSchema);
30
31
  }
31
- async invoke(_context, parameters, handles) {
32
+ async invoke(context, parameters, handles) {
32
33
  const randomizedEmail = this.randomizeEmail(parameters.baseEmail);
33
34
  const element = handles.target;
34
35
  // Clear any existing text first.
35
36
  await this.clearField(element);
36
- // Input each character of the randomized email with human-like timing
37
+ // Focus the element, then type via the page keyboard. See InputTextTool
38
+ // for the rationale behind this approach.
39
+ await element.focus();
40
+ const page = (0, TargetUtils_1.webPage)(context);
37
41
  for (const char of randomizedEmail) {
38
- await element.press(char, {
42
+ await page.keyboard.press(char, {
39
43
  delay: MiscUtils_1.MiscUtils.generateHumanLikeKeyPressDurationInMs(char),
40
- timeout: 3000,
41
44
  });
42
45
  }
43
46
  // Submit if requested
44
47
  if (parameters.finalizeWithSubmit) {
45
48
  const enterKey = 'Enter';
46
- await element.press(enterKey, {
49
+ await page.keyboard.press(enterKey, {
47
50
  delay: MiscUtils_1.MiscUtils.generateHumanLikeKeyPressDurationInMs(enterKey),
48
- timeout: 3000,
49
51
  });
50
52
  }
51
53
  return `Inputted email: "${randomizedEmail}" at: `;
@@ -1 +1 @@
1
- {"version":3,"file":"InputRandomizedEmailAddressTool.js","sourceRoot":"","sources":["../../src/tools/InputRandomizedEmailAddressTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputRandomizedEmailAddressTool.js","sourceRoot":"","sources":["../../src/tools/InputRandomizedEmailAddressTool.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export declare const InputTextGptSchema: z.ZodObject<{
27
27
  export declare class InputTextTool extends ReplayableInteraction<typeof InputTextCoreSchema, typeof InputTextNonGptSchema, typeof InputTextGptSchema> {
28
28
  static readonly NAME = "inputText";
29
29
  constructor();
30
- invoke(_context: ToolCallContext, parameters: z.infer<typeof InputTextCoreSchema>, handles: {
30
+ invoke(context: ToolCallContext, parameters: z.infer<typeof InputTextCoreSchema>, handles: {
31
31
  target: ElementHandle<HTMLElement | SVGElement>;
32
32
  label?: ElementHandle<HTMLElement | SVGElement>;
33
33
  }): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"InputTextTool.d.ts","sourceRoot":"","sources":["../../src/tools/InputTextTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAEL,qBAAqB,EAEtB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,mBAAmB;;;;iBAe9B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;iBAG7B,CAAC;AAEH,qBAAa,aAAc,SAAQ,qBAAqB,CACtD,OAAO,mBAAmB,EAC1B,OAAO,qBAAqB,EAC5B,OAAO,kBAAkB,CAC1B;IACC,gBAAuB,IAAI,eAAe;;IAYpC,MAAM,CACV,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,EAC/C,OAAO,EAAE;QACP,MAAM,EAAE,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;QAChD,KAAK,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;KACjD,GACA,OAAO,CAAC,MAAM,CAAC;YA2BJ,UAAU;CAiBzB"}
1
+ {"version":3,"file":"InputTextTool.d.ts","sourceRoot":"","sources":["../../src/tools/InputTextTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAEL,qBAAqB,EAEtB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,mBAAmB;;;;iBAe9B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;iBAG7B,CAAC;AAEH,qBAAa,aAAc,SAAQ,qBAAqB,CACtD,OAAO,mBAAmB,EAC1B,OAAO,qBAAqB,EAC5B,OAAO,kBAAkB,CAC1B;IACC,gBAAuB,IAAI,eAAe;;IAYpC,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,EAC/C,OAAO,EAAE;QACP,MAAM,EAAE,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;QAChD,KAAK,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;KACjD,GACA,OAAO,CAAC,MAAM,CAAC;YAiCJ,UAAU;CAiBzB"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InputTextTool = exports.InputTextGptSchema = exports.InputTextNonGptSchema = exports.InputTextCoreSchema = void 0;
4
4
  const v4_1 = require("zod/v4");
5
5
  const MiscUtils_1 = require("../utils/MiscUtils");
6
+ const TargetUtils_1 = require("../utils/TargetUtils");
6
7
  const ReplayableInteraction_1 = require("./ReplayableInteraction");
7
8
  exports.InputTextCoreSchema = v4_1.z.object({
8
9
  text: v4_1.z.string().describe('The text to input'),
@@ -28,25 +29,29 @@ class InputTextTool extends ReplayableInteraction_1.ReplayableInteraction {
28
29
  constructor() {
29
30
  super(InputTextTool.NAME, "Input text to a webpage's text input box.", exports.InputTextCoreSchema, exports.InputTextNonGptSchema, exports.InputTextGptSchema);
30
31
  }
31
- async invoke(_context, parameters, handles) {
32
+ async invoke(context, parameters, handles) {
32
33
  const element = handles.target;
33
34
  if (!parameters.append) {
34
35
  // Clear any existing text first.
35
36
  await this.clearField(element);
36
37
  }
37
- // Input each character with human-like timing
38
+ // Focus the element, then type via the page keyboard rather than holding
39
+ // a reference to a specific DOM node. This survives mid-sequence DOM
40
+ // replacement: if a reactive widget (e.g. Wikipedia's CDX search) swaps
41
+ // the <input> on the first keydown, the replacement receives focus and
42
+ // subsequent keystrokes are delivered there automatically.
43
+ await element.focus();
44
+ const page = (0, TargetUtils_1.webPage)(context);
38
45
  for (const char of parameters.text) {
39
- await element.press(char, {
46
+ await page.keyboard.press(char, {
40
47
  delay: MiscUtils_1.MiscUtils.generateHumanLikeKeyPressDurationInMs(char),
41
- timeout: 3000,
42
48
  });
43
49
  }
44
50
  // Submit if requested
45
51
  if (parameters.finalizeWithSubmit) {
46
52
  const enterKey = 'Enter';
47
- await element.press(enterKey, {
53
+ await page.keyboard.press(enterKey, {
48
54
  delay: MiscUtils_1.MiscUtils.generateHumanLikeKeyPressDurationInMs(enterKey),
49
- timeout: 3000,
50
55
  });
51
56
  }
52
57
  return `Inputted text '${parameters.text}' into: `;
@@ -1 +1 @@
1
- {"version":3,"file":"InputTextTool.js","sourceRoot":"","sources":["../../src/tools/InputTextTool.ts"],"names":[],"mappings":";;;AACA,+BAA2B;AAG3B,kDAA+C;AAC/C,mEAIiC;AAEpB,QAAA,mBAAmB,GAAG,MAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC9C,MAAM,EAAE,MAAC;SACN,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,8IAA8I,CAC/I;IACH,kBAAkB,EAAE,MAAC;SAClB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,yFAAyF;QACvF,+EAA+E,CAClF;CACJ,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,MAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,2CAAmB,CAAC,KAAK;IAC5B,GAAG,2BAAmB,CAAC,KAAK;CAC7B,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,MAAC,CAAC,MAAM,CAAC;IACzC,GAAG,6CAAqB,CAAC,KAAK;IAC9B,GAAG,2BAAmB,CAAC,KAAK;CAC7B,CAAC,CAAC;AAEH,MAAa,aAAc,SAAQ,6CAIlC;IAGC;QACE,KAAK,CACH,aAAa,CAAC,IAAI,EAClB,2CAA2C,EAC3C,2BAAmB,EACnB,6BAAqB,EACrB,0BAAkB,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAyB,EACzB,UAA+C,EAC/C,OAGC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,iCAAiC;YACjC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,8CAA8C;QAC9C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;gBACxB,KAAK,EAAE,qBAAS,CAAC,qCAAqC,CAAC,IAAI,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,OAAO,CAAC;YACzB,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC5B,KAAK,EAAE,qBAAS,CAAC,qCAAqC,CAAC,QAAQ,CAAC;gBAChE,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED,OAAO,kBAAkB,UAAU,CAAC,IAAI,UAAU,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAAsB;QAC7C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAEzC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,MAAM,YAAY,GAAG,WAAW,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE;oBAChC,KAAK,EAAE,qBAAS,CAAC,qCAAqC,CAAC,YAAY,CAAC;oBACpE,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,uFAAuF;YACvF,QAAQ;QACV,CAAC;IACH,CAAC;;AAnEH,sCAoEC;AA/DwB,kBAAI,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"InputTextTool.js","sourceRoot":"","sources":["../../src/tools/InputTextTool.ts"],"names":[],"mappings":";;;AACA,+BAA2B;AAG3B,kDAA+C;AAC/C,sDAA+C;AAC/C,mEAIiC;AAEpB,QAAA,mBAAmB,GAAG,MAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC9C,MAAM,EAAE,MAAC;SACN,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,8IAA8I,CAC/I;IACH,kBAAkB,EAAE,MAAC;SAClB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,yFAAyF;QACvF,+EAA+E,CAClF;CACJ,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,MAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,2CAAmB,CAAC,KAAK;IAC5B,GAAG,2BAAmB,CAAC,KAAK;CAC7B,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,MAAC,CAAC,MAAM,CAAC;IACzC,GAAG,6CAAqB,CAAC,KAAK;IAC9B,GAAG,2BAAmB,CAAC,KAAK;CAC7B,CAAC,CAAC;AAEH,MAAa,aAAc,SAAQ,6CAIlC;IAGC;QACE,KAAK,CACH,aAAa,CAAC,IAAI,EAClB,2CAA2C,EAC3C,2BAAmB,EACnB,6BAAqB,EACrB,0BAAkB,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAAwB,EACxB,UAA+C,EAC/C,OAGC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAE/B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,iCAAiC;YACjC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,yEAAyE;QACzE,qEAAqE;QACrE,wEAAwE;QACxE,uEAAuE;QACvE,2DAA2D;QAC3D,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAA,qBAAO,EAAC,OAAO,CAAC,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC9B,KAAK,EAAE,qBAAS,CAAC,qCAAqC,CAAC,IAAI,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,OAAO,CAAC;YACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAClC,KAAK,EAAE,qBAAS,CAAC,qCAAqC,CAAC,QAAQ,CAAC;aACjE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,kBAAkB,UAAU,CAAC,IAAI,UAAU,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAAsB;QAC7C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAEzC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,MAAM,YAAY,GAAG,WAAW,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE;oBAChC,KAAK,EAAE,qBAAS,CAAC,qCAAqC,CAAC,YAAY,CAAC;oBACpE,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,uFAAuF;YACvF,QAAQ;QACV,CAAC;IACH,CAAC;;AAzEH,sCA0EC;AArEwB,kBAAI,GAAG,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "donobu",
3
- "version": "5.8.2",
3
+ "version": "5.8.4",
4
4
  "description": "Create browser automations with an LLM agent and replay them as Playwright scripts.",
5
5
  "main": "dist/main.js",
6
6
  "module": "dist/esm/main.js",