openchrome-mcp 1.7.14 → 1.7.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"progress-tracker.d.ts","sourceRoot":"","sources":["../../src/hints/progress-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAElE;;;GAGG;AACH,QAAA,MAAM,oBAAoB,UAmBzB,CAAC;AAEF,qBAAa,eAAe;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CACN,WAAW,EAAE,aAAa,EAAE,EAC5B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,OAAO,GACtB,cAAc;IAwCjB;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAM7C;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;CAe7B;AAGD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"progress-tracker.d.ts","sourceRoot":"","sources":["../../src/hints/progress-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAuBlE;;;GAGG;AACH,QAAA,MAAM,oBAAoB,UAmBzB,CAAC;AAEF,qBAAa,eAAe;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CACN,WAAW,EAAE,aAAa,EAAE,EAC5B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,OAAO,GACtB,cAAc;IA8CjB;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAM7C;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;CAe7B;AAGD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -8,6 +8,27 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.NON_PROGRESS_SIGNALS = exports.ProgressTracker = void 0;
11
+ /**
12
+ * Tools that are purely observational — the LLM uses them to check state,
13
+ * not to make progress. Successful calls to these tools should NOT reset
14
+ * the consecutive error counter, because the "try → observe → retry" loop
15
+ * is the most common hang pattern.
16
+ *
17
+ * Note: `computer` tool is only observational when action is 'screenshot'.
18
+ * Click/type actions via `computer` ARE progress and should break the streak.
19
+ */
20
+ const OBSERVATION_TOOLS = new Set(['read_page', 'tabs_context']);
21
+ /**
22
+ * Check if a tool call is purely observational (state-checking, not progress-making).
23
+ */
24
+ function isObservationCall(call) {
25
+ if (OBSERVATION_TOOLS.has(call.toolName))
26
+ return true;
27
+ // computer tool: only screenshots are observation; clicks/typing are progress
28
+ if (call.toolName === 'computer' && call.args?.action === 'screenshot')
29
+ return true;
30
+ return false;
31
+ }
11
32
  /**
12
33
  * Signals in tool results that indicate NO meaningful progress was made,
13
34
  * even if the tool call technically "succeeded".
@@ -54,6 +75,13 @@ class ProgressTracker {
54
75
  consecutiveErrors++;
55
76
  consecutiveNonProgress++;
56
77
  }
78
+ else if (isObservationCall(call) && !call.error) {
79
+ // Observation-only tools (screenshot, read_page, tabs_context) are the LLM
80
+ // checking state between retries. They should NOT reset the error counter
81
+ // or count as progress — the "try → observe → retry" loop is the most
82
+ // common hang pattern that previously went undetected.
83
+ consecutiveNonProgress++;
84
+ }
57
85
  else {
58
86
  // Check if the successful call had non-progress signals
59
87
  // We can only check error field; for successful calls we check the tool name pattern
@@ -1 +1 @@
1
- {"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../src/hints/progress-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../src/hints/progress-tracker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-recovery.d.ts","sourceRoot":"","sources":["../../../src/hints/rules/error-recovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA6C/C,eAAO,MAAM,kBAAkB,EAAE,QAAQ,EAOtC,CAAC"}
1
+ {"version":3,"file":"error-recovery.d.ts","sourceRoot":"","sources":["../../../src/hints/rules/error-recovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAqD/C,eAAO,MAAM,kBAAkB,EAAE,QAAQ,EAOtC,CAAC"}
@@ -7,15 +7,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.errorRecoveryRules = void 0;
8
8
  const patterns = [
9
9
  {
10
- test: /ref[^a-z]*not found|invalid ref|stale ref/i,
10
+ test: /ref\b.+not found|invalid ref|stale ref/i,
11
11
  hint: 'Hint: Refs expire after page changes. Use read_page or find for fresh refs.',
12
12
  },
13
13
  {
14
- test: /tab[^a-z]*not found|invalid tab|no such tab/i,
15
- hint: 'Hint: Use tabs_context to list valid tabIds.',
14
+ test: /tab\b.+not found|target\b.+not found|invalid tab|no such tab/i,
15
+ hint: 'Hint: Use tabs_context to list valid tabIds, or navigate to open a new page.',
16
16
  },
17
17
  {
18
- test: /selector[^a-z]*(failed|not found|no match)|querySelectorAll.*returned 0|no elements? (found )?match/i,
18
+ test: /selector\b.*(failed|not found|no match)|querySelectorAll.*returned 0|no elements? (found )?match/i,
19
19
  hint: 'Hint: Try find(query) with natural language instead.',
20
20
  },
21
21
  {
@@ -46,6 +46,14 @@ const patterns = [
46
46
  test: /await is only valid in async/i,
47
47
  hint: 'Hint: Top-level await is not supported in javascript_tool. Use Promise chaining instead: new Promise(r => setTimeout(r, ms)).then(() => yourCode). Or wrap in async IIFE: (async () => { await ...; return result; })()',
48
48
  },
49
+ {
50
+ test: /not editable|is not editable/i,
51
+ hint: 'Hint: This element is not a form input (e.g., SVG, div, span). Use find to locate the correct input field, or javascript_tool to set the value directly.',
52
+ },
53
+ {
54
+ test: /layout object|could not get position/i,
55
+ hint: 'Hint: Element is hidden (display:none or detached). Use find to locate a visible equivalent, or javascript_tool to interact programmatically.',
56
+ },
49
57
  ];
50
58
  exports.errorRecoveryRules = patterns.map((p, i) => ({
51
59
  name: `error-recovery-${i}`,
@@ -1 +1 @@
1
- {"version":3,"file":"error-recovery.js","sourceRoot":"","sources":["../../../src/hints/rules/error-recovery.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,MAAM,QAAQ,GAA0C;IACtD;QACE,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,6EAA6E;KACpF;IACD;QACE,IAAI,EAAE,8CAA8C;QACpD,IAAI,EAAE,8CAA8C;KACrD;IACD;QACE,IAAI,EAAE,sGAAsG;QAC5G,IAAI,EAAE,sDAAsD;KAC7D;IACD;QACE,IAAI,EAAE,sEAAsE;QAC5E,IAAI,EAAE,wFAAwF;KAC/F;IACD;QACE,IAAI,EAAE,6EAA6E;QACnF,IAAI,EAAE,6LAA6L;KACpM;IACD;QACE,IAAI,EAAE,0CAA0C;QAChD,IAAI,EAAE,2HAA2H;KAClI;IACD;QACE,IAAI,EAAE,wEAAwE;QAC9E,IAAI,EAAE,yDAAyD;KAChE;IACD;QACE,IAAI,EAAE,uCAAuC;QAC7C,IAAI,EAAE,wEAAwE;KAC/E;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,IAAI,EAAE,gHAAgH;KACvH;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,yNAAyN;KAChO;CACF,CAAC;AAEW,QAAA,kBAAkB,GAAe,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,EAAE,kBAAkB,CAAC,EAAE;IAC3B,QAAQ,EAAE,GAAG,GAAG,CAAC;IACjB,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;CACF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"error-recovery.js","sourceRoot":"","sources":["../../../src/hints/rules/error-recovery.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,MAAM,QAAQ,GAA0C;IACtD;QACE,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,6EAA6E;KACpF;IACD;QACE,IAAI,EAAE,+DAA+D;QACrE,IAAI,EAAE,8EAA8E;KACrF;IACD;QACE,IAAI,EAAE,mGAAmG;QACzG,IAAI,EAAE,sDAAsD;KAC7D;IACD;QACE,IAAI,EAAE,sEAAsE;QAC5E,IAAI,EAAE,wFAAwF;KAC/F;IACD;QACE,IAAI,EAAE,6EAA6E;QACnF,IAAI,EAAE,6LAA6L;KACpM;IACD;QACE,IAAI,EAAE,0CAA0C;QAChD,IAAI,EAAE,2HAA2H;KAClI;IACD;QACE,IAAI,EAAE,wEAAwE;QAC9E,IAAI,EAAE,yDAAyD;KAChE;IACD;QACE,IAAI,EAAE,uCAAuC;QAC7C,IAAI,EAAE,wEAAwE;KAC/E;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,IAAI,EAAE,gHAAgH;KACvH;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,yNAAyN;KAChO;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,0JAA0J;KACjK;IACD;QACE,IAAI,EAAE,uCAAuC;QAC7C,IAAI,EAAE,+IAA+I;KACtJ;CACF,CAAC;AAEW,QAAA,kBAAkB,GAAe,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,EAAE,kBAAkB,CAAC,EAAE;IAC3B,QAAQ,EAAE,GAAG,GAAG,CAAC;IACjB,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;CACF,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openchrome-mcp",
3
- "version": "1.7.14",
3
+ "version": "1.7.15",
4
4
  "description": "Open-source browser automation MCP server. Control your real Chrome from any AI agent.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {