@midscene/web 0.17.3 → 0.17.4-beta-20250528162713.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.
- package/dist/es/agent.js +41 -4
- package/dist/es/agent.js.map +1 -1
- package/dist/es/bridge-mode-browser.js +41 -17
- package/dist/es/bridge-mode-browser.js.map +1 -1
- package/dist/es/bridge-mode.js +43 -6
- package/dist/es/bridge-mode.js.map +1 -1
- package/dist/es/chrome-extension.js +80 -19
- package/dist/es/chrome-extension.js.map +1 -1
- package/dist/es/index.js +53 -8
- package/dist/es/index.js.map +1 -1
- package/dist/es/midscene-playground.js +41 -4
- package/dist/es/midscene-playground.js.map +1 -1
- package/dist/es/playground.js +41 -4
- package/dist/es/playground.js.map +1 -1
- package/dist/es/playwright.js +50 -5
- package/dist/es/playwright.js.map +1 -1
- package/dist/es/puppeteer-agent-launcher.js +45 -8
- package/dist/es/puppeteer-agent-launcher.js.map +1 -1
- package/dist/es/puppeteer.js +45 -8
- package/dist/es/puppeteer.js.map +1 -1
- package/dist/es/ui-utils.js.map +1 -1
- package/dist/es/yaml.js +5 -1
- package/dist/es/yaml.js.map +1 -1
- package/dist/lib/agent.js +41 -4
- package/dist/lib/agent.js.map +1 -1
- package/dist/lib/bridge-mode-browser.js +41 -17
- package/dist/lib/bridge-mode-browser.js.map +1 -1
- package/dist/lib/bridge-mode.js +43 -6
- package/dist/lib/bridge-mode.js.map +1 -1
- package/dist/lib/chrome-extension.js +80 -19
- package/dist/lib/chrome-extension.js.map +1 -1
- package/dist/lib/index.js +53 -8
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/midscene-playground.js +41 -4
- package/dist/lib/midscene-playground.js.map +1 -1
- package/dist/lib/playground.js +41 -4
- package/dist/lib/playground.js.map +1 -1
- package/dist/lib/playwright.js +50 -5
- package/dist/lib/playwright.js.map +1 -1
- package/dist/lib/puppeteer-agent-launcher.js +45 -8
- package/dist/lib/puppeteer-agent-launcher.js.map +1 -1
- package/dist/lib/puppeteer.js +45 -8
- package/dist/lib/puppeteer.js.map +1 -1
- package/dist/lib/ui-utils.js.map +1 -1
- package/dist/lib/yaml.js +5 -1
- package/dist/lib/yaml.js.map +1 -1
- package/dist/types/agent.d.ts +2 -1
- package/dist/types/bridge-mode-browser.d.ts +2 -2
- package/dist/types/bridge-mode.d.ts +2 -2
- package/dist/types/{browser-dd81e35b.d.ts → browser-6f60e23c.d.ts} +1 -1
- package/dist/types/chrome-extension.d.ts +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/midscene-server.d.ts +1 -1
- package/dist/types/{page-cd833f42.d.ts → page-25a629c6.d.ts} +1 -0
- package/dist/types/playground.d.ts +2 -2
- package/dist/types/playwright.d.ts +5 -1
- package/dist/types/puppeteer-agent-launcher.d.ts +1 -1
- package/dist/types/puppeteer.d.ts +1 -1
- package/dist/types/ui-utils.d.ts +1 -1
- package/dist/types/utils.d.ts +1 -1
- package/dist/types/yaml.d.ts +1 -1
- package/package.json +3 -3
package/dist/es/agent.js
CHANGED
|
@@ -96,12 +96,13 @@ var ScriptPlayer = class {
|
|
|
96
96
|
} else if ("aiAssert" in flowItem) {
|
|
97
97
|
const assertTask = flowItem;
|
|
98
98
|
const prompt = assertTask.aiAssert;
|
|
99
|
+
const msg = assertTask.errorMessage;
|
|
99
100
|
assert(prompt, "missing prompt for aiAssert");
|
|
100
101
|
assert(
|
|
101
102
|
typeof prompt === "string",
|
|
102
103
|
"prompt for aiAssert must be a string"
|
|
103
104
|
);
|
|
104
|
-
await agent.aiAssert(prompt);
|
|
105
|
+
await agent.aiAssert(prompt, msg);
|
|
105
106
|
} else if ("aiQuery" in flowItem) {
|
|
106
107
|
const queryTask = flowItem;
|
|
107
108
|
const prompt = queryTask.aiQuery;
|
|
@@ -177,6 +178,9 @@ var ScriptPlayer = class {
|
|
|
177
178
|
} else if ("aiTap" in flowItem) {
|
|
178
179
|
const tapTask = flowItem;
|
|
179
180
|
await agent.aiTap(tapTask.aiTap, tapTask);
|
|
181
|
+
} else if ("aiRightClick" in flowItem) {
|
|
182
|
+
const rightClickTask = flowItem;
|
|
183
|
+
await agent.aiRightClick(rightClickTask.aiRightClick, rightClickTask);
|
|
180
184
|
} else if ("aiHover" in flowItem) {
|
|
181
185
|
const hoverTask = flowItem;
|
|
182
186
|
await agent.aiHover(hoverTask.aiHover, hoverTask);
|
|
@@ -857,6 +861,22 @@ var PageTaskExecutor = class {
|
|
|
857
861
|
}
|
|
858
862
|
};
|
|
859
863
|
tasks.push(taskActionTap);
|
|
864
|
+
} else if (plan2.type === "RightClick") {
|
|
865
|
+
const taskActionRightClick = {
|
|
866
|
+
type: "Action",
|
|
867
|
+
subType: "RightClick",
|
|
868
|
+
thought: plan2.thought,
|
|
869
|
+
locate: plan2.locate,
|
|
870
|
+
executor: async (param, { element }) => {
|
|
871
|
+
assert4(element, "Element not found, cannot right click");
|
|
872
|
+
await this.page.mouse.click(
|
|
873
|
+
element.center[0],
|
|
874
|
+
element.center[1],
|
|
875
|
+
{ button: "right" }
|
|
876
|
+
);
|
|
877
|
+
}
|
|
878
|
+
};
|
|
879
|
+
tasks.push(taskActionRightClick);
|
|
860
880
|
} else if (plan2.type === "Drag") {
|
|
861
881
|
const taskActionDrag = {
|
|
862
882
|
type: "Action",
|
|
@@ -1133,6 +1153,7 @@ var PageTaskExecutor = class {
|
|
|
1133
1153
|
sleep: sleep2
|
|
1134
1154
|
} = planResult;
|
|
1135
1155
|
executorContext.task.log = {
|
|
1156
|
+
...executorContext.task.log || {},
|
|
1136
1157
|
rawResponse
|
|
1137
1158
|
};
|
|
1138
1159
|
executorContext.task.usage = usage;
|
|
@@ -1581,7 +1602,7 @@ function buildPlans(type, locateParam, param) {
|
|
|
1581
1602
|
param: locateParam,
|
|
1582
1603
|
thought: ""
|
|
1583
1604
|
} : null;
|
|
1584
|
-
if (type === "Tap" || type === "Hover") {
|
|
1605
|
+
if (type === "Tap" || type === "Hover" || type === "RightClick") {
|
|
1585
1606
|
assert5(locateParam, `missing locate info for action "${type}"`);
|
|
1586
1607
|
assert5(locatePlan, `missing locate info for action "${type}"`);
|
|
1587
1608
|
const tapPlan = {
|
|
@@ -1661,7 +1682,7 @@ import yaml3 from "js-yaml";
|
|
|
1661
1682
|
import semver from "semver";
|
|
1662
1683
|
|
|
1663
1684
|
// package.json
|
|
1664
|
-
var version = "0.17.
|
|
1685
|
+
var version = "0.17.4-beta-20250528162713.0";
|
|
1665
1686
|
|
|
1666
1687
|
// src/common/task-cache.ts
|
|
1667
1688
|
var debug3 = getDebug3("cache");
|
|
@@ -1966,6 +1987,19 @@ ${errorTask?.errorStack}`);
|
|
|
1966
1987
|
this.afterTaskRunning(executor);
|
|
1967
1988
|
return output;
|
|
1968
1989
|
}
|
|
1990
|
+
async aiRightClick(locatePrompt, opt) {
|
|
1991
|
+
const detailedLocateParam = this.buildDetailedLocateParam(
|
|
1992
|
+
locatePrompt,
|
|
1993
|
+
opt
|
|
1994
|
+
);
|
|
1995
|
+
const plans = buildPlans("RightClick", detailedLocateParam);
|
|
1996
|
+
const { executor, output } = await this.taskExecutor.runPlans(
|
|
1997
|
+
taskTitleStr("RightClick", locateParamStr(detailedLocateParam)),
|
|
1998
|
+
plans
|
|
1999
|
+
);
|
|
2000
|
+
this.afterTaskRunning(executor);
|
|
2001
|
+
return output;
|
|
2002
|
+
}
|
|
1969
2003
|
async aiHover(locatePrompt, opt) {
|
|
1970
2004
|
const detailedLocateParam = this.buildDetailedLocateParam(
|
|
1971
2005
|
locatePrompt,
|
|
@@ -2202,8 +2236,11 @@ ${errorTask?.errorStack}`);
|
|
|
2202
2236
|
if (type === "tap") {
|
|
2203
2237
|
return this.aiTap(taskPrompt);
|
|
2204
2238
|
}
|
|
2239
|
+
if (type === "rightClick") {
|
|
2240
|
+
return this.aiRightClick(taskPrompt);
|
|
2241
|
+
}
|
|
2205
2242
|
throw new Error(
|
|
2206
|
-
`Unknown type: ${type}, only support 'action', 'query', 'assert', 'tap'`
|
|
2243
|
+
`Unknown type: ${type}, only support 'action', 'query', 'assert', 'tap', 'rightClick'`
|
|
2207
2244
|
);
|
|
2208
2245
|
}
|
|
2209
2246
|
async runYaml(yamlScriptContent) {
|