chromeflow 0.1.5 → 0.1.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/CLAUDE.md CHANGED
@@ -97,6 +97,6 @@ Use the absolute path for `envPath` — it's the Claude Code working directory +
97
97
  - After any action → `get_page_text()` to check for errors (not `take_screenshot`)
98
98
  - `click_element` not found → `scroll_page("down")` then retry
99
99
  - Still not found → `take_screenshot()` then `highlight_region(x,y,w,h,msg)`
100
- - `fill_input` not found → `click_element(hint)` to focus the field, then retry `fill_input`. If still failing, `take_screenshot()` then `highlight_region(x,y,w,h,"Type: [value]")` — do NOT ask the user to type unless all automated attempts have failed
100
+ - `fill_input` not found → `click_element(hint)` to focus the field, then retry `fill_input`. If still failing, `take_screenshot()` then `highlight_region(x,y,w,h, message: "Click here — I'll fill it in")` (NO `valueToType`) then `wait_for_click()` then retry `fill_input` after the user focuses the field by clicking, the active-element fallback will fill it automatically. Only use `valueToType` when the user genuinely must type the value themselves (e.g. password, personal data).
101
101
  - Waiting for async result (build, save, deploy) → `wait_for_selector(selector, timeout)`
102
102
  - Never use Bash to work around a stuck browser interaction
package/dist/index.js CHANGED
@@ -27,7 +27,7 @@ async function main() {
27
27
  const bridge = new WsBridge();
28
28
  const server = new McpServer({
29
29
  name: "chromeflow",
30
- version: "0.1.5"
30
+ version: "0.1.6"
31
31
  });
32
32
  registerBrowserTools(server, bridge);
33
33
  registerHighlightTools(server, bridge);
@@ -11,7 +11,7 @@ function registerHighlightTools(server, bridge) {
11
11
  "Instruction to show the user in the callout (e.g. 'Click here to create your API key'). When the user needs to type something, use a short instruction like 'Type this in the field:' and pass the text as valueToType."
12
12
  ),
13
13
  valueToType: z.string().optional().describe(
14
- "When the user needs to type something, pass the exact text here. It will be shown prominently in the callout so the user knows exactly what to enter."
14
+ "Only use when the user must personally type the value (password, email, personal data). Do NOT use when Claude will auto-fill after the click \u2014 in that case, omit this and use message: 'Click here \u2014 I'll fill it in'."
15
15
  )
16
16
  },
17
17
  async ({ text, message, valueToType }) => {
@@ -46,7 +46,7 @@ function registerHighlightTools(server, bridge) {
46
46
  "Instruction to show the user in the callout. When the user needs to type something, use a short instruction like 'Type this in the field:' and pass the text as valueToType."
47
47
  ),
48
48
  valueToType: z.string().optional().describe(
49
- "When the user needs to type something, pass the exact text here. It will be shown prominently in the callout so the user knows exactly what to enter."
49
+ `Only use when the user must personally type the value (password, email, personal data). Do NOT use when Claude will auto-fill after the click \u2014 in that case, omit this and use message: "Click here \u2014 I'll fill it in".`
50
50
  )
51
51
  },
52
52
  async ({ x, y, width, height, message, valueToType }) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chromeflow",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Browser guidance MCP server for Claude Code — highlights, clicks, fills, and captures from the web so you don't have to.",
5
5
  "type": "module",
6
6
  "bin": {