chrome-devtools-mcp-for-extension 0.18.5 → 0.18.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.
@@ -281,17 +281,34 @@ export const askGeminiWeb = defineTool({
281
281
  b.textContent?.includes('Stop') ||
282
282
  b.getAttribute('aria-label')?.includes('Stop'));
283
283
  // Check for "プロンプトを送信" button - this indicates response is complete
284
- const sendButton = buttons.find(b => b.textContent?.includes('プロンプトを送信') ||
285
- b.getAttribute('aria-label')?.includes('プロンプトを送信') ||
286
- b.getAttribute('aria-label')?.includes('Send message'));
287
- // Check for status text
284
+ // Must be enabled (not disabled) to indicate completion
285
+ const sendButton = buttons.find(b => {
286
+ const hasLabel = b.textContent?.includes('プロンプトを送信') ||
287
+ b.getAttribute('aria-label')?.includes('プロンプトを送信') ||
288
+ b.getAttribute('aria-label')?.includes('Send message');
289
+ return hasLabel && !b.disabled;
290
+ });
291
+ // Check for status text and thinking indicators
288
292
  const bodyText = document.body.innerText;
289
293
  const isTyping = bodyText.includes('Gemini が入力中です') ||
290
294
  bodyText.includes('Gemini is typing');
291
- const isComplete = bodyText.includes('Gemini が回答しました') ||
295
+ // Check for thinking/analyzing indicators (Gemini shows these during processing)
296
+ const isThinking = bodyText.includes('Analyzing') ||
297
+ bodyText.includes('分析中') ||
298
+ bodyText.includes('Crafting') ||
299
+ bodyText.includes('作成中') ||
300
+ bodyText.includes('Thinking') ||
301
+ bodyText.includes('思考中') ||
302
+ bodyText.includes('Researching') ||
303
+ bodyText.includes('調査中');
304
+ // Check for loading spinners or progress indicators
305
+ const hasSpinner = document.querySelector('[role="progressbar"]') !== null ||
306
+ document.querySelector('.loading') !== null ||
307
+ document.querySelector('[aria-busy="true"]') !== null;
308
+ const isComplete = (bodyText.includes('Gemini が回答しました') ||
292
309
  bodyText.includes('Gemini has responded') ||
293
- !!sendButton; // "プロンプトを送信" button indicates completion
294
- const isGenerating = !!stopButton || isTyping;
310
+ !!sendButton) && !isThinking && !hasSpinner;
311
+ const isGenerating = !!stopButton || isTyping || isThinking || hasSpinner;
295
312
  // Get the response content from model-response elements
296
313
  const modelResponses = Array.from(document.querySelectorAll('model-response'));
297
314
  let responseContent = '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chrome-devtools-mcp-for-extension",
3
- "version": "0.18.5",
3
+ "version": "0.18.6",
4
4
  "description": "MCP server for Chrome extension development with Web Store automation. Fork of chrome-devtools-mcp with extension-specific tools.",
5
5
  "type": "module",
6
6
  "bin": "./scripts/cli.mjs",