@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
|
@@ -1550,17 +1550,23 @@ var PageTaskExecutor = class {
|
|
|
1550
1550
|
executor: taskExecutor
|
|
1551
1551
|
};
|
|
1552
1552
|
}
|
|
1553
|
-
async
|
|
1554
|
-
const
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1553
|
+
async createTypeQueryTask(type, demand) {
|
|
1554
|
+
const taskExecutor = new import_core.Executor(
|
|
1555
|
+
taskTitleStr(
|
|
1556
|
+
type,
|
|
1557
|
+
typeof demand === "string" ? demand : JSON.stringify(demand)
|
|
1558
|
+
),
|
|
1559
|
+
{
|
|
1560
|
+
onTaskStart: this.onTaskStartCallback
|
|
1561
|
+
}
|
|
1562
|
+
);
|
|
1558
1563
|
const queryTask = {
|
|
1559
1564
|
type: "Insight",
|
|
1560
|
-
subType:
|
|
1565
|
+
subType: type,
|
|
1561
1566
|
locate: null,
|
|
1562
1567
|
param: {
|
|
1563
1568
|
dataDemand: demand
|
|
1569
|
+
// for user param presentation in report right sidebar
|
|
1564
1570
|
},
|
|
1565
1571
|
executor: async (param) => {
|
|
1566
1572
|
let insightDump;
|
|
@@ -1568,11 +1574,21 @@ var PageTaskExecutor = class {
|
|
|
1568
1574
|
insightDump = dump;
|
|
1569
1575
|
};
|
|
1570
1576
|
this.insight.onceDumpUpdatedFn = dumpCollector;
|
|
1571
|
-
const
|
|
1572
|
-
|
|
1573
|
-
)
|
|
1577
|
+
const ifTypeRestricted = type !== "Query";
|
|
1578
|
+
let demandInput = demand;
|
|
1579
|
+
if (ifTypeRestricted) {
|
|
1580
|
+
demandInput = {
|
|
1581
|
+
result: `${type}, ${demand}`
|
|
1582
|
+
};
|
|
1583
|
+
}
|
|
1584
|
+
const { data, usage } = await this.insight.extract(demandInput);
|
|
1585
|
+
let outputResult = data;
|
|
1586
|
+
if (ifTypeRestricted) {
|
|
1587
|
+
(0, import_utils9.assert)(data?.result !== void 0, "No result in query data");
|
|
1588
|
+
outputResult = data.result;
|
|
1589
|
+
}
|
|
1574
1590
|
return {
|
|
1575
|
-
output:
|
|
1591
|
+
output: outputResult,
|
|
1576
1592
|
log: { dump: insightDump },
|
|
1577
1593
|
usage
|
|
1578
1594
|
};
|
|
@@ -1585,6 +1601,18 @@ var PageTaskExecutor = class {
|
|
|
1585
1601
|
executor: taskExecutor
|
|
1586
1602
|
};
|
|
1587
1603
|
}
|
|
1604
|
+
async query(demand) {
|
|
1605
|
+
return this.createTypeQueryTask("Query", demand);
|
|
1606
|
+
}
|
|
1607
|
+
async boolean(prompt) {
|
|
1608
|
+
return this.createTypeQueryTask("Boolean", prompt);
|
|
1609
|
+
}
|
|
1610
|
+
async number(prompt) {
|
|
1611
|
+
return this.createTypeQueryTask("Number", prompt);
|
|
1612
|
+
}
|
|
1613
|
+
async string(prompt) {
|
|
1614
|
+
return this.createTypeQueryTask("String", prompt);
|
|
1615
|
+
}
|
|
1588
1616
|
async assert(assertion) {
|
|
1589
1617
|
const description = `assert: ${assertion}`;
|
|
1590
1618
|
const taskExecutor = new import_core.Executor(taskTitleStr("Assert", description), {
|
|
@@ -1771,6 +1799,16 @@ function buildPlans(type, locateParam, param) {
|
|
|
1771
1799
|
};
|
|
1772
1800
|
returnPlans = [sleepPlan];
|
|
1773
1801
|
}
|
|
1802
|
+
if (type === "Locate") {
|
|
1803
|
+
(0, import_utils10.assert)(locateParam, `missing locate info for action "${type}"`);
|
|
1804
|
+
const locatePlan2 = {
|
|
1805
|
+
type,
|
|
1806
|
+
param: locateParam,
|
|
1807
|
+
locate: locateParam,
|
|
1808
|
+
thought: ""
|
|
1809
|
+
};
|
|
1810
|
+
returnPlans = [locatePlan2];
|
|
1811
|
+
}
|
|
1774
1812
|
if (returnPlans) {
|
|
1775
1813
|
debug3("buildPlans", returnPlans);
|
|
1776
1814
|
return returnPlans;
|
|
@@ -1970,6 +2008,35 @@ ${errorTask?.errorStack}`);
|
|
|
1970
2008
|
this.afterTaskRunning(executor);
|
|
1971
2009
|
return output;
|
|
1972
2010
|
}
|
|
2011
|
+
async aiBoolean(prompt) {
|
|
2012
|
+
const { output, executor } = await this.taskExecutor.boolean(prompt);
|
|
2013
|
+
this.afterTaskRunning(executor);
|
|
2014
|
+
return output;
|
|
2015
|
+
}
|
|
2016
|
+
async aiNumber(prompt) {
|
|
2017
|
+
const { output, executor } = await this.taskExecutor.number(prompt);
|
|
2018
|
+
this.afterTaskRunning(executor);
|
|
2019
|
+
return output;
|
|
2020
|
+
}
|
|
2021
|
+
async aiString(prompt) {
|
|
2022
|
+
const { output, executor } = await this.taskExecutor.string(prompt);
|
|
2023
|
+
this.afterTaskRunning(executor);
|
|
2024
|
+
return output;
|
|
2025
|
+
}
|
|
2026
|
+
async aiLocate(prompt, opt) {
|
|
2027
|
+
const detailedLocateParam = this.buildDetailedLocateParam(prompt, opt);
|
|
2028
|
+
const plans = buildPlans("Locate", detailedLocateParam);
|
|
2029
|
+
const { executor, output } = await this.taskExecutor.runPlans(
|
|
2030
|
+
taskTitleStr("Locate", locateParamStr(detailedLocateParam)),
|
|
2031
|
+
plans
|
|
2032
|
+
);
|
|
2033
|
+
this.afterTaskRunning(executor);
|
|
2034
|
+
const { element } = output;
|
|
2035
|
+
return {
|
|
2036
|
+
rect: element?.rect,
|
|
2037
|
+
center: element?.center
|
|
2038
|
+
};
|
|
2039
|
+
}
|
|
1973
2040
|
async aiAssert(assertion, msg, opt) {
|
|
1974
2041
|
const { output, executor } = await this.taskExecutor.assert(assertion);
|
|
1975
2042
|
this.afterTaskRunning(executor, true);
|
|
@@ -2258,7 +2325,7 @@ function sleep2(ms) {
|
|
|
2258
2325
|
var ChromeExtensionProxyPage = class {
|
|
2259
2326
|
constructor(forceSameTabNavigation) {
|
|
2260
2327
|
this.pageType = "chrome-extension-proxy";
|
|
2261
|
-
this.version = "0.16.
|
|
2328
|
+
this.version = "0.16.6";
|
|
2262
2329
|
this.activeTabId = null;
|
|
2263
2330
|
this.tabIdOfDebuggerAttached = null;
|
|
2264
2331
|
this.attachingDebugger = null;
|