@midscene/web 0.23.1 → 0.23.2-beta-20250723063354.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 (72) hide show
  1. package/dist/es/agent.js +24 -4
  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 +26 -6
  6. package/dist/es/bridge-mode.js.map +1 -1
  7. package/dist/es/chrome-extension.js +25 -5
  8. package/dist/es/chrome-extension.js.map +1 -1
  9. package/dist/es/index.js +24 -4
  10. package/dist/es/index.js.map +1 -1
  11. package/dist/es/midscene-playground.js +24 -4
  12. package/dist/es/midscene-playground.js.map +1 -1
  13. package/dist/es/midscene-server.js +7 -0
  14. package/dist/es/midscene-server.js.map +1 -1
  15. package/dist/es/playground.js +24 -4
  16. package/dist/es/playground.js.map +1 -1
  17. package/dist/es/playwright-report.js +7 -0
  18. package/dist/es/playwright-report.js.map +1 -1
  19. package/dist/es/playwright-reporter.js +7 -0
  20. package/dist/es/playwright-reporter.js.map +1 -1
  21. package/dist/es/playwright.js +24 -4
  22. package/dist/es/playwright.js.map +1 -1
  23. package/dist/es/puppeteer-agent-launcher.js +24 -4
  24. package/dist/es/puppeteer-agent-launcher.js.map +1 -1
  25. package/dist/es/puppeteer.js +24 -4
  26. package/dist/es/puppeteer.js.map +1 -1
  27. package/dist/es/utils.js +7 -0
  28. package/dist/es/utils.js.map +1 -1
  29. package/dist/lib/agent.js +73 -56
  30. package/dist/lib/agent.js.map +1 -1
  31. package/dist/lib/bridge-mode-browser.js +3 -3
  32. package/dist/lib/bridge-mode-browser.js.map +1 -1
  33. package/dist/lib/bridge-mode.js +87 -70
  34. package/dist/lib/bridge-mode.js.map +1 -1
  35. package/dist/lib/chrome-extension.js +114 -97
  36. package/dist/lib/chrome-extension.js.map +1 -1
  37. package/dist/lib/index.js +79 -62
  38. package/dist/lib/index.js.map +1 -1
  39. package/dist/lib/midscene-playground.js +109 -92
  40. package/dist/lib/midscene-playground.js.map +1 -1
  41. package/dist/lib/midscene-server.js +14 -10
  42. package/dist/lib/midscene-server.js.map +1 -1
  43. package/dist/lib/playground.js +102 -85
  44. package/dist/lib/playground.js.map +1 -1
  45. package/dist/lib/playwright-report.js +12 -8
  46. package/dist/lib/playwright-report.js.map +1 -1
  47. package/dist/lib/playwright-reporter.js +12 -8
  48. package/dist/lib/playwright-reporter.js.map +1 -1
  49. package/dist/lib/playwright.js +79 -62
  50. package/dist/lib/playwright.js.map +1 -1
  51. package/dist/lib/puppeteer-agent-launcher.js +86 -69
  52. package/dist/lib/puppeteer-agent-launcher.js.map +1 -1
  53. package/dist/lib/puppeteer.js +79 -62
  54. package/dist/lib/puppeteer.js.map +1 -1
  55. package/dist/lib/utils.js +14 -10
  56. package/dist/lib/utils.js.map +1 -1
  57. package/dist/types/agent.d.ts +1 -1
  58. package/dist/types/bridge-mode-browser.d.ts +2 -2
  59. package/dist/types/bridge-mode.d.ts +2 -2
  60. package/dist/types/{browser-f0fe7b7a.d.ts → browser-a44b28ea.d.ts} +1 -1
  61. package/dist/types/chrome-extension.d.ts +2 -2
  62. package/dist/types/index.d.ts +2 -2
  63. package/dist/types/midscene-server.d.ts +1 -1
  64. package/dist/types/{page-285dc0ff.d.ts → page-b8f0ca7d.d.ts} +1 -0
  65. package/dist/types/playground.d.ts +2 -2
  66. package/dist/types/playwright.d.ts +1 -1
  67. package/dist/types/puppeteer-agent-launcher.d.ts +1 -1
  68. package/dist/types/puppeteer.d.ts +2 -2
  69. package/dist/types/{utils-9ef53160.d.ts → utils-fcd484e0.d.ts} +1 -1
  70. package/dist/types/utils.d.ts +1 -1
  71. package/dist/types/yaml.d.ts +2 -2
  72. package/package.json +3 -3
package/dist/es/agent.js CHANGED
@@ -432,7 +432,7 @@ import { sleep } from "@midscene/core/utils";
432
432
  import { NodeType } from "@midscene/shared/constants";
433
433
  import {
434
434
  MIDSCENE_REPLANNING_CYCLE_LIMIT,
435
- getAIConfigInNumber
435
+ getAIConfigInNumber as getAIConfigInNumber2
436
436
  } from "@midscene/shared/env";
437
437
  import { getDebug as getDebug2 } from "@midscene/shared/logger";
438
438
  import { assert as assert5 } from "@midscene/shared/utils";
@@ -553,15 +553,22 @@ import assert3 from "assert";
553
553
  import { existsSync as existsSync2, mkdirSync as mkdirSync2, readFileSync, writeFileSync as writeFileSync2 } from "fs";
554
554
  import { dirname as dirname2, join as join2 } from "path";
555
555
  import { getMidsceneRunSubDir as getMidsceneRunSubDir2 } from "@midscene/shared/common";
556
+ import {
557
+ MIDSCENE_CACHE_MAX_FILENAME_LENGTH,
558
+ getAIConfigInNumber
559
+ } from "@midscene/shared/env";
556
560
  import { getDebug } from "@midscene/shared/logger";
557
561
  import { ifInBrowser as ifInBrowser2 } from "@midscene/shared/utils";
562
+ import { generateHashId } from "@midscene/shared/utils";
558
563
  import yaml3 from "js-yaml";
559
564
  import semver from "semver";
560
565
 
561
566
  // package.json
562
- var version = "0.23.1";
567
+ var version = "0.23.2-beta-20250723063354.0";
563
568
 
564
569
  // src/common/task-cache.ts
570
+ var DEFAULT_CACHE_MAX_FILENAME_LENGTH = 200;
571
+ var CACHE_MAX_FILENAME_LENGTH = getAIConfigInNumber(MIDSCENE_CACHE_MAX_FILENAME_LENGTH) || DEFAULT_CACHE_MAX_FILENAME_LENGTH;
565
572
  var debug = getDebug("cache");
566
573
  var lowestSupportedMidsceneVersion = "0.16.10";
567
574
  var cacheFileExt = ".cache.yaml";
@@ -570,7 +577,13 @@ var TaskCache = class {
570
577
  constructor(cacheId, isCacheResultUsed, cacheFilePath) {
571
578
  this.matchedCacheIndices = /* @__PURE__ */ new Set();
572
579
  assert3(cacheId, "cacheId is required");
573
- this.cacheId = replaceIllegalPathCharsAndSpace(cacheId);
580
+ let safeCacheId = replaceIllegalPathCharsAndSpace(cacheId);
581
+ if (Buffer.byteLength(safeCacheId, "utf8") > CACHE_MAX_FILENAME_LENGTH) {
582
+ const prefix = safeCacheId.slice(0, 32);
583
+ const hash = generateHashId(void 0, safeCacheId);
584
+ safeCacheId = `${prefix}-${hash}`;
585
+ }
586
+ this.cacheId = safeCacheId;
574
587
  this.cacheFilePath = ifInBrowser2 ? void 0 : cacheFilePath || join2(getMidsceneRunSubDir2("cache"), `${this.cacheId}${cacheFileExt}`);
575
588
  this.isCacheResultUsed = isCacheResultUsed;
576
589
  let cacheContent;
@@ -1615,7 +1628,7 @@ var PageTaskExecutor = class {
1615
1628
  let replanCount = 0;
1616
1629
  const logList = [];
1617
1630
  const yamlFlow = [];
1618
- const replanningCycleLimit = getAIConfigInNumber(MIDSCENE_REPLANNING_CYCLE_LIMIT) || defaultReplanningCycleLimit;
1631
+ const replanningCycleLimit = getAIConfigInNumber2(MIDSCENE_REPLANNING_CYCLE_LIMIT) || defaultReplanningCycleLimit;
1619
1632
  while (planningTask) {
1620
1633
  if (replanCount > replanningCycleLimit) {
1621
1634
  const errorMsg = "Replanning too many times, please split the task into multiple steps";
@@ -2014,6 +2027,7 @@ var PageAgent = class {
2014
2027
  * If true, the agent will not perform any actions
2015
2028
  */
2016
2029
  this.dryMode = false;
2030
+ this.destroyed = false;
2017
2031
  this.page = page;
2018
2032
  this.opts = Object.assign(
2019
2033
  {
@@ -2085,6 +2099,11 @@ var PageAgent = class {
2085
2099
  return reportHTMLContent(this.dumpDataString());
2086
2100
  }
2087
2101
  writeOutActionDumps() {
2102
+ if (this.destroyed) {
2103
+ throw new Error(
2104
+ "PageAgent has been destroyed. Cannot update report file."
2105
+ );
2106
+ }
2088
2107
  const { generateReport, autoPrintReportMsg } = this.opts;
2089
2108
  this.reportFile = writeLogFile({
2090
2109
  fileName: this.reportFileName,
@@ -2441,6 +2460,7 @@ ${errors}`);
2441
2460
  async destroy() {
2442
2461
  await this.page.destroy();
2443
2462
  this.resetDump();
2463
+ this.destroyed = true;
2444
2464
  }
2445
2465
  async logScreenshot(title, opt) {
2446
2466
  const base64 = await this.page.screenshotBase64();