@midscene/web 0.25.1 → 0.25.2-beta-20250806064106.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 (64) hide show
  1. package/dist/es/agent.js +32 -5
  2. package/dist/es/agent.js.map +1 -1
  3. package/dist/es/bridge-mode-browser.js +3 -3
  4. package/dist/es/bridge-mode-browser.js.map +1 -1
  5. package/dist/es/bridge-mode.js +34 -7
  6. package/dist/es/bridge-mode.js.map +1 -1
  7. package/dist/es/chrome-extension.js +33 -6
  8. package/dist/es/chrome-extension.js.map +1 -1
  9. package/dist/es/index.js +32 -5
  10. package/dist/es/index.js.map +1 -1
  11. package/dist/es/midscene-playground.js +32 -5
  12. package/dist/es/midscene-playground.js.map +1 -1
  13. package/dist/es/midscene-server.js.map +1 -1
  14. package/dist/es/playground.js +32 -5
  15. package/dist/es/playground.js.map +1 -1
  16. package/dist/es/playwright-report.js.map +1 -1
  17. package/dist/es/playwright-reporter.js.map +1 -1
  18. package/dist/es/playwright.js +32 -5
  19. package/dist/es/playwright.js.map +1 -1
  20. package/dist/es/puppeteer-agent-launcher.js +32 -5
  21. package/dist/es/puppeteer-agent-launcher.js.map +1 -1
  22. package/dist/es/puppeteer.js +32 -5
  23. package/dist/es/puppeteer.js.map +1 -1
  24. package/dist/es/utils.js.map +1 -1
  25. package/dist/lib/agent.js +32 -5
  26. package/dist/lib/agent.js.map +1 -1
  27. package/dist/lib/bridge-mode-browser.js +3 -3
  28. package/dist/lib/bridge-mode-browser.js.map +1 -1
  29. package/dist/lib/bridge-mode.js +34 -7
  30. package/dist/lib/bridge-mode.js.map +1 -1
  31. package/dist/lib/chrome-extension.js +33 -6
  32. package/dist/lib/chrome-extension.js.map +1 -1
  33. package/dist/lib/index.js +32 -5
  34. package/dist/lib/index.js.map +1 -1
  35. package/dist/lib/midscene-playground.js +32 -5
  36. package/dist/lib/midscene-playground.js.map +1 -1
  37. package/dist/lib/midscene-server.js.map +1 -1
  38. package/dist/lib/playground.js +32 -5
  39. package/dist/lib/playground.js.map +1 -1
  40. package/dist/lib/playwright-report.js.map +1 -1
  41. package/dist/lib/playwright-reporter.js.map +1 -1
  42. package/dist/lib/playwright.js +32 -5
  43. package/dist/lib/playwright.js.map +1 -1
  44. package/dist/lib/puppeteer-agent-launcher.js +32 -5
  45. package/dist/lib/puppeteer-agent-launcher.js.map +1 -1
  46. package/dist/lib/puppeteer.js +32 -5
  47. package/dist/lib/puppeteer.js.map +1 -1
  48. package/dist/lib/utils.js.map +1 -1
  49. package/dist/types/agent.d.ts +1 -2
  50. package/dist/types/bridge-mode-browser.d.ts +2 -3
  51. package/dist/types/bridge-mode.d.ts +2 -3
  52. package/dist/types/{browser-c26ba6ee.d.ts → browser-cfba5bfa.d.ts} +1 -1
  53. package/dist/types/chrome-extension.d.ts +5 -5
  54. package/dist/types/index.d.ts +4 -3
  55. package/dist/types/midscene-server.d.ts +1 -2
  56. package/dist/types/{page-c5200f3d.d.ts → page-e3163b95.d.ts} +119 -151
  57. package/dist/types/playground.d.ts +5 -5
  58. package/dist/types/playwright.d.ts +1 -2
  59. package/dist/types/puppeteer-agent-launcher.d.ts +1 -2
  60. package/dist/types/puppeteer.d.ts +2 -3
  61. package/dist/types/{utils-892a1dd9.d.ts → utils-0657319e.d.ts} +1 -1
  62. package/dist/types/utils.d.ts +58 -5
  63. package/dist/types/yaml.d.ts +2 -3
  64. package/package.json +3 -3
package/dist/es/agent.js CHANGED
@@ -585,7 +585,7 @@ import yaml3 from "js-yaml";
585
585
  import semver from "semver";
586
586
 
587
587
  // package.json
588
- var version = "0.25.1";
588
+ var version = "0.25.2-beta-20250806064106.0";
589
589
 
590
590
  // src/common/task-cache.ts
591
591
  var DEFAULT_CACHE_MAX_FILENAME_LENGTH = 200;
@@ -1068,7 +1068,7 @@ var PageTaskExecutor = class {
1068
1068
  };
1069
1069
  this.insight.onceDumpUpdatedFn = dumpCollector;
1070
1070
  const shotTime = Date.now();
1071
- const pageContext = await this.insight.contextRetrieverFn("locate");
1071
+ const pageContext = param?.pageContext || await this.insight.contextRetrieverFn("locate");
1072
1072
  task.pageContext = pageContext;
1073
1073
  const recordItem = {
1074
1074
  type: "screenshot",
@@ -2184,6 +2184,10 @@ var PageAgent = class {
2184
2184
  */
2185
2185
  this.dryMode = false;
2186
2186
  this.destroyed = false;
2187
+ /**
2188
+ * Flag to indicate if page context is frozen
2189
+ */
2190
+ this.isPageContextFrozen = false;
2187
2191
  this.page = page;
2188
2192
  this.opts = Object.assign(
2189
2193
  {
@@ -2228,6 +2232,9 @@ var PageAgent = class {
2228
2232
  ignoreMarker: !!vlLocateMode()
2229
2233
  });
2230
2234
  }
2235
+ async _snapshotContext() {
2236
+ return await this.getUIContext("locate");
2237
+ }
2231
2238
  async setAIActionContext(prompt) {
2232
2239
  this.opts.aiActionContext = prompt;
2233
2240
  }
@@ -2296,7 +2303,8 @@ ${errorTask?.errorStack}`, {
2296
2303
  }
2297
2304
  buildDetailedLocateParam(locatePrompt, opt) {
2298
2305
  assert7(locatePrompt, "missing locate prompt");
2299
- if (typeof opt === "object") {
2306
+ const pageContext = this.isPageContextFrozen ? this.frozenPageContext : void 0;
2307
+ if (typeof opt === "object" && opt !== null) {
2300
2308
  const prompt = locatePrompt;
2301
2309
  const deepThink = opt.deepThink ?? false;
2302
2310
  const cacheable = opt.cacheable ?? true;
@@ -2305,11 +2313,13 @@ ${errorTask?.errorStack}`, {
2305
2313
  prompt,
2306
2314
  deepThink,
2307
2315
  cacheable,
2308
- xpath
2316
+ xpath,
2317
+ pageContext
2309
2318
  };
2310
2319
  }
2311
2320
  return {
2312
- prompt: locatePrompt
2321
+ prompt: locatePrompt,
2322
+ pageContext
2313
2323
  };
2314
2324
  }
2315
2325
  async aiTap(locatePrompt, opt) {
@@ -2688,6 +2698,23 @@ ${errors}`);
2688
2698
  executions: newExecutions
2689
2699
  };
2690
2700
  }
2701
+ /**
2702
+ * Freezes the current page context to be reused in subsequent AI operations
2703
+ * This avoids recalculating page context for each operation
2704
+ */
2705
+ async freezePageContext() {
2706
+ const context = await this._snapshotContext();
2707
+ context._isFrozen = true;
2708
+ this.frozenPageContext = context;
2709
+ this.isPageContextFrozen = true;
2710
+ }
2711
+ /**
2712
+ * Unfreezes the page context, allowing AI operations to calculate context dynamically
2713
+ */
2714
+ async unfreezePageContext() {
2715
+ this.frozenPageContext = void 0;
2716
+ this.isPageContextFrozen = false;
2717
+ }
2691
2718
  };
2692
2719
  export {
2693
2720
  PageAgent