@midscene/web 0.16.4 → 0.16.6
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/es/agent.js +78 -14
- package/dist/es/agent.js.map +1 -1
- package/dist/es/bridge-mode-browser.js +3 -3
- package/dist/es/bridge-mode-browser.js.map +1 -1
- package/dist/es/bridge-mode.js +82 -18
- package/dist/es/bridge-mode.js.map +1 -1
- package/dist/es/chrome-extension.js +79 -15
- package/dist/es/chrome-extension.js.map +1 -1
- package/dist/es/index.js +110 -14
- package/dist/es/index.js.map +1 -1
- package/dist/es/midscene-playground.js +78 -14
- package/dist/es/midscene-playground.js.map +1 -1
- package/dist/es/playground.js +78 -14
- package/dist/es/playground.js.map +1 -1
- package/dist/es/playwright.js +110 -14
- package/dist/es/playwright.js.map +1 -1
- package/dist/es/puppeteer-agent-launcher.js +78 -14
- package/dist/es/puppeteer-agent-launcher.js.map +1 -1
- package/dist/es/puppeteer.js +78 -14
- package/dist/es/puppeteer.js.map +1 -1
- package/dist/es/ui-utils.js.map +1 -1
- package/dist/lib/agent.js +77 -10
- package/dist/lib/agent.js.map +1 -1
- package/dist/lib/bridge-mode-browser.js +3 -3
- package/dist/lib/bridge-mode-browser.js.map +1 -1
- package/dist/lib/bridge-mode.js +81 -14
- package/dist/lib/bridge-mode.js.map +1 -1
- package/dist/lib/chrome-extension.js +78 -11
- package/dist/lib/chrome-extension.js.map +1 -1
- package/dist/lib/index.js +109 -10
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/midscene-playground.js +77 -10
- package/dist/lib/midscene-playground.js.map +1 -1
- package/dist/lib/playground.js +77 -10
- package/dist/lib/playground.js.map +1 -1
- package/dist/lib/playwright.js +109 -10
- package/dist/lib/playwright.js.map +1 -1
- package/dist/lib/puppeteer-agent-launcher.js +77 -10
- package/dist/lib/puppeteer-agent-launcher.js.map +1 -1
- package/dist/lib/puppeteer.js +77 -10
- package/dist/lib/puppeteer.js.map +1 -1
- package/dist/lib/ui-utils.js.map +1 -1
- package/dist/types/agent.d.ts +8 -0
- package/dist/types/playwright.d.ts +16 -0
- package/dist/types/ui-utils.d.ts +1 -1
- package/package.json +4 -5
package/dist/lib/playground.js
CHANGED
|
@@ -1504,17 +1504,23 @@ var PageTaskExecutor = class {
|
|
|
1504
1504
|
executor: taskExecutor
|
|
1505
1505
|
};
|
|
1506
1506
|
}
|
|
1507
|
-
async
|
|
1508
|
-
const
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1507
|
+
async createTypeQueryTask(type, demand) {
|
|
1508
|
+
const taskExecutor = new import_core.Executor(
|
|
1509
|
+
taskTitleStr(
|
|
1510
|
+
type,
|
|
1511
|
+
typeof demand === "string" ? demand : JSON.stringify(demand)
|
|
1512
|
+
),
|
|
1513
|
+
{
|
|
1514
|
+
onTaskStart: this.onTaskStartCallback
|
|
1515
|
+
}
|
|
1516
|
+
);
|
|
1512
1517
|
const queryTask = {
|
|
1513
1518
|
type: "Insight",
|
|
1514
|
-
subType:
|
|
1519
|
+
subType: type,
|
|
1515
1520
|
locate: null,
|
|
1516
1521
|
param: {
|
|
1517
1522
|
dataDemand: demand
|
|
1523
|
+
// for user param presentation in report right sidebar
|
|
1518
1524
|
},
|
|
1519
1525
|
executor: async (param) => {
|
|
1520
1526
|
let insightDump;
|
|
@@ -1522,11 +1528,21 @@ var PageTaskExecutor = class {
|
|
|
1522
1528
|
insightDump = dump;
|
|
1523
1529
|
};
|
|
1524
1530
|
this.insight.onceDumpUpdatedFn = dumpCollector;
|
|
1525
|
-
const
|
|
1526
|
-
|
|
1527
|
-
)
|
|
1531
|
+
const ifTypeRestricted = type !== "Query";
|
|
1532
|
+
let demandInput = demand;
|
|
1533
|
+
if (ifTypeRestricted) {
|
|
1534
|
+
demandInput = {
|
|
1535
|
+
result: `${type}, ${demand}`
|
|
1536
|
+
};
|
|
1537
|
+
}
|
|
1538
|
+
const { data, usage } = await this.insight.extract(demandInput);
|
|
1539
|
+
let outputResult = data;
|
|
1540
|
+
if (ifTypeRestricted) {
|
|
1541
|
+
(0, import_utils9.assert)(data?.result !== void 0, "No result in query data");
|
|
1542
|
+
outputResult = data.result;
|
|
1543
|
+
}
|
|
1528
1544
|
return {
|
|
1529
|
-
output:
|
|
1545
|
+
output: outputResult,
|
|
1530
1546
|
log: { dump: insightDump },
|
|
1531
1547
|
usage
|
|
1532
1548
|
};
|
|
@@ -1539,6 +1555,18 @@ var PageTaskExecutor = class {
|
|
|
1539
1555
|
executor: taskExecutor
|
|
1540
1556
|
};
|
|
1541
1557
|
}
|
|
1558
|
+
async query(demand) {
|
|
1559
|
+
return this.createTypeQueryTask("Query", demand);
|
|
1560
|
+
}
|
|
1561
|
+
async boolean(prompt) {
|
|
1562
|
+
return this.createTypeQueryTask("Boolean", prompt);
|
|
1563
|
+
}
|
|
1564
|
+
async number(prompt) {
|
|
1565
|
+
return this.createTypeQueryTask("Number", prompt);
|
|
1566
|
+
}
|
|
1567
|
+
async string(prompt) {
|
|
1568
|
+
return this.createTypeQueryTask("String", prompt);
|
|
1569
|
+
}
|
|
1542
1570
|
async assert(assertion) {
|
|
1543
1571
|
const description = `assert: ${assertion}`;
|
|
1544
1572
|
const taskExecutor = new import_core.Executor(taskTitleStr("Assert", description), {
|
|
@@ -1725,6 +1753,16 @@ function buildPlans(type, locateParam, param) {
|
|
|
1725
1753
|
};
|
|
1726
1754
|
returnPlans = [sleepPlan];
|
|
1727
1755
|
}
|
|
1756
|
+
if (type === "Locate") {
|
|
1757
|
+
(0, import_utils10.assert)(locateParam, `missing locate info for action "${type}"`);
|
|
1758
|
+
const locatePlan2 = {
|
|
1759
|
+
type,
|
|
1760
|
+
param: locateParam,
|
|
1761
|
+
locate: locateParam,
|
|
1762
|
+
thought: ""
|
|
1763
|
+
};
|
|
1764
|
+
returnPlans = [locatePlan2];
|
|
1765
|
+
}
|
|
1728
1766
|
if (returnPlans) {
|
|
1729
1767
|
debug3("buildPlans", returnPlans);
|
|
1730
1768
|
return returnPlans;
|
|
@@ -1924,6 +1962,35 @@ ${errorTask?.errorStack}`);
|
|
|
1924
1962
|
this.afterTaskRunning(executor);
|
|
1925
1963
|
return output;
|
|
1926
1964
|
}
|
|
1965
|
+
async aiBoolean(prompt) {
|
|
1966
|
+
const { output, executor } = await this.taskExecutor.boolean(prompt);
|
|
1967
|
+
this.afterTaskRunning(executor);
|
|
1968
|
+
return output;
|
|
1969
|
+
}
|
|
1970
|
+
async aiNumber(prompt) {
|
|
1971
|
+
const { output, executor } = await this.taskExecutor.number(prompt);
|
|
1972
|
+
this.afterTaskRunning(executor);
|
|
1973
|
+
return output;
|
|
1974
|
+
}
|
|
1975
|
+
async aiString(prompt) {
|
|
1976
|
+
const { output, executor } = await this.taskExecutor.string(prompt);
|
|
1977
|
+
this.afterTaskRunning(executor);
|
|
1978
|
+
return output;
|
|
1979
|
+
}
|
|
1980
|
+
async aiLocate(prompt, opt) {
|
|
1981
|
+
const detailedLocateParam = this.buildDetailedLocateParam(prompt, opt);
|
|
1982
|
+
const plans = buildPlans("Locate", detailedLocateParam);
|
|
1983
|
+
const { executor, output } = await this.taskExecutor.runPlans(
|
|
1984
|
+
taskTitleStr("Locate", locateParamStr(detailedLocateParam)),
|
|
1985
|
+
plans
|
|
1986
|
+
);
|
|
1987
|
+
this.afterTaskRunning(executor);
|
|
1988
|
+
const { element } = output;
|
|
1989
|
+
return {
|
|
1990
|
+
rect: element?.rect,
|
|
1991
|
+
center: element?.center
|
|
1992
|
+
};
|
|
1993
|
+
}
|
|
1927
1994
|
async aiAssert(assertion, msg, opt) {
|
|
1928
1995
|
const { output, executor } = await this.taskExecutor.assert(assertion);
|
|
1929
1996
|
this.afterTaskRunning(executor, true);
|