chromeflow 0.9.10 → 0.9.11
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/bin/chromeflow.mjs +4 -4
- package/package.json +1 -1
package/bin/chromeflow.mjs
CHANGED
|
@@ -24782,7 +24782,7 @@ After tabs.onUpdated fires status=complete, chromeflow also runs a 6s settle che
|
|
|
24782
24782
|
url: external_exports.string().url().describe("The URL to navigate to"),
|
|
24783
24783
|
new_tab: external_exports.boolean().optional().describe("Open in a new tab instead of replacing the current one (default false)"),
|
|
24784
24784
|
background: external_exports.boolean().optional().describe("If new_tab=true, do not switch focus to the new tab. Default false. Ignored when new_tab is false."),
|
|
24785
|
-
expect_selector: external_exports.string().optional().describe("CSS selector for an element that must be present before the page is considered settled. The settle check waits up to 6s for it; if it never appears, the response carries expect_selector_appeared:false so you can detect dead-spinner routes (
|
|
24785
|
+
expect_selector: external_exports.string().optional().describe("CSS selector for an element that must be present before the page is considered settled. The settle check waits up to 6s for it; if it never appears, the response carries expect_selector_appeared:false so you can detect dead-spinner routes (SPAs that leave a permanent spinner when the underlying API request dies).")
|
|
24786
24786
|
},
|
|
24787
24787
|
async ({ url, new_tab, background, expect_selector }) => {
|
|
24788
24788
|
const block = isBlockedUrl(url);
|
|
@@ -24802,7 +24802,7 @@ After tabs.onUpdated fires status=complete, chromeflow also runs a 6s settle che
|
|
|
24802
24802
|
if (r.stuck_spinner) {
|
|
24803
24803
|
text += `
|
|
24804
24804
|
|
|
24805
|
-
\u26A0 stuck_spinner: true \u2014 page settled with a visible spinner (${r.spinner_selector ?? "unknown selector"}) still on screen after 6s. Current URL: ${r.current_url ?? url}. The route may be dead (
|
|
24805
|
+
\u26A0 stuck_spinner: true \u2014 page settled with a visible spinner (${r.spinner_selector ?? "unknown selector"}) still on screen after 6s. Current URL: ${r.current_url ?? url}. The route may be dead (some SPAs leave a permanent spinner when the underlying API request fails) \u2014 navigate elsewhere instead of reloading, or wait and try get_page_text to see if it ever recovers.`;
|
|
24806
24806
|
}
|
|
24807
24807
|
if (expect_selector && r.expect_selector_appeared === false) {
|
|
24808
24808
|
text += `
|
|
@@ -25076,7 +25076,7 @@ ${lines.join("\n")}${r.warning ?? ""}${captchaLine}${oauthLine}` }] };
|
|
|
25076
25076
|
{
|
|
25077
25077
|
text: external_exports.string().describe("The text to type into the focused element"),
|
|
25078
25078
|
into_selector: external_exports.string().optional().describe(
|
|
25079
|
-
"CSS selector for the element to focus before typing (shadow-piercing \u2014 resolves selectors that find_text returns for closed-shadow-root content, e.g.
|
|
25079
|
+
"CSS selector for the element to focus before typing (shadow-piercing \u2014 resolves selectors that find_text returns for closed-shadow-root content, e.g. Radix portals). When omitted, types into whatever is currently focused (the caller is responsible for focusing first via click_element)."
|
|
25080
25080
|
),
|
|
25081
25081
|
clear_first: external_exports.boolean().optional().describe(
|
|
25082
25082
|
"Only with into_selector: run document.execCommand('selectAll') + 'delete' on the focused element before typing. Use to overwrite tiptap / ProseMirror editors and similar contenteditable surfaces in one call."
|
|
@@ -25900,7 +25900,7 @@ ${lines.join("\n")}${shadowSection}` }] };
|
|
|
25900
25900
|
}
|
|
25901
25901
|
|
|
25902
25902
|
// packages/mcp-server/src/index.ts
|
|
25903
|
-
var PACKAGE_VERSION = true ? "0.9.
|
|
25903
|
+
var PACKAGE_VERSION = true ? "0.9.11" : "dev";
|
|
25904
25904
|
main().catch((err) => {
|
|
25905
25905
|
console.error("[chromeflow] Fatal error:", err);
|
|
25906
25906
|
process.exit(1);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chromeflow",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.11",
|
|
4
4
|
"description": "MCP server for chromeflow — lets Claude Code or Codex CLI drive your real Chrome browser with sessions intact. Plugin install recommended; npx chromeflow for manual MCP wiring.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./bin/chromeflow.mjs",
|