10x-chat 0.10.0 → 0.10.2

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.
@@ -14,8 +14,8 @@
14
14
  import type { BrowserType } from 'playwright';
15
15
  /** Get the chromium browser type (async — loads engine on first call). */
16
16
  export declare function getChromium(): Promise<BrowserType>;
17
- /** Which engine is active: 'patchright' or 'playwright'. */
18
- export declare function getEngineName(): 'patchright' | 'playwright';
17
+ /** Which engine is active. Returns 'unknown' if not yet loaded. */
18
+ export declare function getEngineName(): 'patchright' | 'playwright' | 'unknown';
19
19
  /** Whether the engine has been loaded yet. */
20
20
  export declare function isEngineLoaded(): boolean;
21
21
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/browser/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAiC9C,0EAA0E;AAC1E,wBAAsB,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAExD;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,IAAI,YAAY,GAAG,YAAY,CAE3D;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/browser/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmC9C,0EAA0E;AAC1E,wBAAsB,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAExD;AAED,mEAAmE;AACnE,wBAAgB,aAAa,IAAI,YAAY,GAAG,YAAY,GAAG,SAAS,CAEvE;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
@@ -12,7 +12,7 @@
12
12
  * re-exports `chromium` from whichever is available.
13
13
  */
14
14
  let _chromium;
15
- let _engineName = 'playwright';
15
+ let _engineName = 'unknown';
16
16
  let _loaded = false;
17
17
  async function loadEngine() {
18
18
  if (_chromium)
@@ -20,13 +20,15 @@ async function loadEngine() {
20
20
  // Try Patchright first (drop-in Playwright replacement with stealth)
21
21
  try {
22
22
  const patchright = await import('patchright');
23
- _chromium = patchright.chromium;
24
- _engineName = 'patchright';
25
- _loaded = true;
26
- return _chromium;
23
+ if (patchright.chromium) {
24
+ _chromium = patchright.chromium;
25
+ _engineName = 'patchright';
26
+ _loaded = true;
27
+ return _chromium;
28
+ }
27
29
  }
28
30
  catch {
29
- // Patchright not installed — fall back to Playwright
31
+ // Patchright not installed or broken — fall back to Playwright
30
32
  }
31
33
  try {
32
34
  const playwright = await import('playwright');
@@ -43,7 +45,7 @@ async function loadEngine() {
43
45
  export async function getChromium() {
44
46
  return loadEngine();
45
47
  }
46
- /** Which engine is active: 'patchright' or 'playwright'. */
48
+ /** Which engine is active. Returns 'unknown' if not yet loaded. */
47
49
  export function getEngineName() {
48
50
  return _engineName;
49
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/browser/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,IAAI,SAAkC,CAAC;AACvC,IAAI,WAAW,GAAgC,YAAY,CAAC;AAC5D,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB,KAAK,UAAU,UAAU;IACvB,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,qEAAqE;IACrE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9C,SAAS,GAAG,UAAU,CAAC,QAAuB,CAAC;QAC/C,WAAW,GAAG,YAAY,CAAC;QAC3B,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9C,SAAS,GAAG,UAAU,CAAC,QAAuB,CAAC;QAC/C,WAAW,GAAG,YAAY,CAAC;QAC3B,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/browser/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,IAAI,SAAkC,CAAC;AACvC,IAAI,WAAW,GAA4C,SAAS,CAAC;AACrE,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB,KAAK,UAAU,UAAU;IACvB,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,qEAAqE;IACrE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,SAAS,GAAG,UAAU,CAAC,QAAuB,CAAC;YAC/C,WAAW,GAAG,YAAY,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9C,SAAS,GAAG,UAAU,CAAC,QAAuB,CAAC;QAC/C,WAAW,GAAG,YAAY,CAAC;QAC3B,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -12,7 +12,7 @@
12
12
  * 4. navigator.plugins/mimeTypes populated
13
13
  * 5. navigator.languages populated
14
14
  */
15
- export declare const STEALTH_INIT_SCRIPT = "\n(() => {\n // 1. Remove webdriver flag\n Object.defineProperty(navigator, 'webdriver', { get: () => false });\n\n // 2. Fake chrome runtime (headless Chrome is missing window.chrome)\n if (!window.chrome) {\n window.chrome = {};\n }\n if (!window.chrome.runtime) {\n window.chrome.runtime = {};\n }\n\n // 3. Fix permissions query for notifications\n const origQuery = navigator.permissions?.query?.bind(navigator.permissions);\n if (origQuery) {\n navigator.permissions.query = (params) => {\n if (params.name === 'notifications') {\n return Promise.resolve({ state: Notification.permission, onchange: null });\n }\n return origQuery(params);\n };\n }\n\n // 4. Fix plugins/mimeTypes (headless has empty arrays)\n Object.defineProperty(navigator, 'plugins', {\n get: () => [1, 2, 3, 4, 5].map(() => ({\n name: 'Chrome PDF Plugin',\n description: 'Portable Document Format',\n filename: 'internal-pdf-viewer',\n length: 1,\n })),\n });\n\n // 5. Fix languages (some headless configs return empty)\n Object.defineProperty(navigator, 'languages', {\n get: () => ['en-US', 'en'],\n });\n})();\n";
15
+ export declare const STEALTH_INIT_SCRIPT = "\n(() => {\n // 1. Remove webdriver flag\n Object.defineProperty(navigator, 'webdriver', { get: () => false });\n\n // 2. Fake chrome runtime (headless Chrome is missing window.chrome)\n if (!window.chrome) {\n window.chrome = {};\n }\n if (!window.chrome.runtime) {\n window.chrome.runtime = {};\n }\n\n // 3. Fix permissions query for notifications\n const origQuery = navigator.permissions?.query?.bind(navigator.permissions);\n if (origQuery) {\n navigator.permissions.query = (params) => {\n if (params.name === 'notifications') {\n return Promise.resolve({ state: Notification.permission, onchange: null });\n }\n return origQuery(params);\n };\n }\n\n // 4. Fix plugins/mimeTypes (headless has empty arrays)\n Object.defineProperty(navigator, 'plugins', {\n get: () => [\n { name: 'PDF Viewer', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },\n { name: 'Chrome PDF Viewer', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },\n { name: 'Chromium PDF Viewer', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },\n { name: 'Microsoft Edge PDF Viewer', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },\n { name: 'WebKit built-in PDF', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },\n ],\n });\n\n // 5. Fix languages (some headless configs return empty)\n Object.defineProperty(navigator, 'languages', {\n get: () => ['en-US', 'en'],\n });\n})();\n";
16
16
  /**
17
17
  * Detect if real Google Chrome is installed on the system.
18
18
  * Returns 'chrome' if found, undefined otherwise.
@@ -1 +1 @@
1
- {"version":3,"file":"stealth.d.ts","sourceRoot":"","sources":["../../src/browser/stealth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,0pCAuC/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,GAAG,SAAS,CAkB1D"}
1
+ {"version":3,"file":"stealth.d.ts","sourceRoot":"","sources":["../../src/browser/stealth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,6lDAwC/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,GAAG,SAAS,CAkB1D"}
@@ -38,12 +38,13 @@ export const STEALTH_INIT_SCRIPT = `
38
38
 
39
39
  // 4. Fix plugins/mimeTypes (headless has empty arrays)
40
40
  Object.defineProperty(navigator, 'plugins', {
41
- get: () => [1, 2, 3, 4, 5].map(() => ({
42
- name: 'Chrome PDF Plugin',
43
- description: 'Portable Document Format',
44
- filename: 'internal-pdf-viewer',
45
- length: 1,
46
- })),
41
+ get: () => [
42
+ { name: 'PDF Viewer', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },
43
+ { name: 'Chrome PDF Viewer', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },
44
+ { name: 'Chromium PDF Viewer', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },
45
+ { name: 'Microsoft Edge PDF Viewer', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },
46
+ { name: 'WebKit built-in PDF', description: 'Portable Document Format', filename: 'internal-pdf-viewer', length: 1 },
47
+ ],
47
48
  });
48
49
 
49
50
  // 5. Fix languages (some headless configs return empty)
@@ -1 +1 @@
1
- {"version":3,"file":"stealth.js","sourceRoot":"","sources":["../../src/browser/stealth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuClC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG;YACZ,8DAA8D;YAC9D,wBAAwB;YACxB,+BAA+B;YAC/B,4DAA4D;YAC5D,kEAAkE;SACnE,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC;QACxC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"stealth.js","sourceRoot":"","sources":["../../src/browser/stealth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwClC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG;YACZ,8DAA8D;YAC9D,wBAAwB;YACxB,+BAA+B;YAC/B,4DAA4D;YAC5D,kEAAkE;SACnE,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC;QACxC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chatgpt.d.ts","sourceRoot":"","sources":["../../src/providers/chatgpt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,cAAc,EAAE,cAW5B,CAAC;AA6LF,8FAA8F;AAC9F,qBAAa,sBAAuB,SAAQ,KAAK;;CAShD;AAED,eAAO,MAAM,cAAc,EAAE,eAsL5B,CAAC"}
1
+ {"version":3,"file":"chatgpt.d.ts","sourceRoot":"","sources":["../../src/providers/chatgpt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAC;AA6BrB,eAAO,MAAM,cAAc,EAAE,cAW5B,CAAC;AAqOF,8FAA8F;AAC9F,qBAAa,sBAAuB,SAAQ,KAAK;;CAShD;AAED,eAAO,MAAM,cAAc,EAAE,eAsL5B,CAAC"}
@@ -1,5 +1,28 @@
1
1
  import { pollUntilStable } from '../core/polling.js';
2
2
  import { submitPromptToComposer } from './submit.js';
3
+ const ASSISTANT_TURN_FALLBACK_SELECTORS = [
4
+ 'div.agent-turn',
5
+ 'article[data-testid^="conversation-turn-"]:has(.markdown)',
6
+ 'div[data-message-id]:has(.markdown)',
7
+ '[data-message-author-role="assistant"]',
8
+ '.markdown',
9
+ ];
10
+ const ASSISTANT_TURN_COUNT_SELECTORS = [
11
+ 'div.agent-turn',
12
+ 'article[data-testid^="conversation-turn-"]:has(.markdown)',
13
+ 'div[data-message-id]:has(.markdown)',
14
+ '[data-message-author-role="assistant"]',
15
+ ];
16
+ const ASSISTANT_CONTENT_FALLBACK_SELECTORS = [
17
+ 'div.agent-turn .markdown',
18
+ 'article[data-testid^="conversation-turn-"]:has(.markdown) .markdown',
19
+ 'div[data-message-id]:has(.markdown) .markdown',
20
+ 'div.agent-turn',
21
+ 'article[data-testid^="conversation-turn-"]:has(.markdown)',
22
+ 'div[data-message-id]:has(.markdown)',
23
+ '[data-message-author-role="assistant"]',
24
+ '.markdown',
25
+ ];
3
26
  export const CHATGPT_CONFIG = {
4
27
  name: 'chatgpt',
5
28
  displayName: 'ChatGPT',
@@ -13,10 +36,10 @@ export const CHATGPT_CONFIG = {
13
36
  headlessBlocked: true,
14
37
  };
15
38
  const SELECTORS = {
16
- composer: '#prompt-textarea, [data-testid="composer-input"], div.ProseMirror[contenteditable="true"]',
39
+ composer: '#prompt-textarea.ProseMirror[contenteditable="true"][role="textbox"], #prompt-textarea[contenteditable="true"], [data-testid="composer-input"], div.ProseMirror[contenteditable="true"], textarea, .wcDTda_fallbackTextarea',
17
40
  sendButton: '#composer-submit-button, button[aria-label="Send prompt"], [data-testid="send-button"]',
18
41
  stopButton: 'button[aria-label="Stop streaming"]',
19
- assistantTurn: '[data-message-author-role="assistant"]',
42
+ assistantTurn: ASSISTANT_TURN_FALLBACK_SELECTORS.join(', '),
20
43
  loginPage: 'button:has-text("Log in"), button:has-text("Sign up")',
21
44
  /** Hidden file input — exclude the dedicated photo/camera inputs */
22
45
  fileInput: 'input[type="file"]:not(#upload-photos):not(#upload-camera)',
@@ -34,6 +57,31 @@ const MODEL_OPTION_SCOPE_SELECTORS = [
34
57
  function normalizeModelLabel(text) {
35
58
  return (text ?? '').replace(/\s+/g, ' ').trim().toLowerCase();
36
59
  }
60
+ async function getAssistantTurnCount(page) {
61
+ for (const selector of ASSISTANT_TURN_COUNT_SELECTORS) {
62
+ const count = await page
63
+ .locator(selector)
64
+ .count()
65
+ .catch(() => 0);
66
+ if (count > 0) {
67
+ return count;
68
+ }
69
+ }
70
+ return page
71
+ .locator(SELECTORS.assistantTurn)
72
+ .count()
73
+ .catch(() => 0);
74
+ }
75
+ async function getLatestAssistantContent(page) {
76
+ for (const selector of ASSISTANT_CONTENT_FALLBACK_SELECTORS) {
77
+ const locator = page.locator(selector);
78
+ const count = await locator.count().catch(() => 0);
79
+ if (count > 0) {
80
+ return locator.last();
81
+ }
82
+ }
83
+ return page.locator(SELECTORS.assistantTurn).last();
84
+ }
37
85
  async function getVisibleModelPickerState(page) {
38
86
  return page.evaluate(({ explicitSelector, candidateSelector }) => {
39
87
  const normalizeText = (value) => (value ?? '').replace(/\s+/g, ' ').trim();
@@ -120,6 +168,11 @@ async function clickVisibleModelOption(page, model) {
120
168
  */
121
169
  async function dismissOverlays(page) {
122
170
  const overlaySelectors = [
171
+ // Login/signup modal that blocks all pointer events
172
+ '#modal-no-auth-login button:has-text("Stay logged out")',
173
+ '#modal-no-auth-login button:has-text("Continue without login")',
174
+ '#modal-no-auth-login button:has-text("Not now")',
175
+ '#modal-no-auth-login button[aria-label="Close"]',
123
176
  // Onboarding modal skip/dismiss buttons
124
177
  '#modal-onboarding button:has-text("Skip")',
125
178
  '#modal-onboarding button:has-text("Next")',
@@ -141,7 +194,7 @@ async function dismissOverlays(page) {
141
194
  try {
142
195
  const btn = page.locator(selector).first();
143
196
  if (await btn.isVisible().catch(() => false)) {
144
- await btn.click();
197
+ await btn.click({ force: true });
145
198
  await page.waitForTimeout(300);
146
199
  }
147
200
  }
@@ -149,6 +202,11 @@ async function dismissOverlays(page) {
149
202
  // Ignore — overlay may not exist
150
203
  }
151
204
  }
205
+ const noAuthModal = page.locator('#modal-no-auth-login').first();
206
+ if (await noAuthModal.isVisible().catch(() => false)) {
207
+ await page.keyboard.press('Escape').catch(() => { });
208
+ await page.waitForTimeout(300);
209
+ }
152
210
  }
153
211
  /**
154
212
  * Detect Cloudflare bot-protection challenge pages.
@@ -262,12 +320,12 @@ export const chatgptActions = {
262
320
  // ChatGPT navigates from / to /c/<id> after sending a new message.
263
321
  // This resets the DOM, so we cannot rely on a fixed nth() index.
264
322
  // Strategy: track initial turn count + URL to detect the new response.
265
- const initialTurnCount = await page.locator(SELECTORS.assistantTurn).count();
323
+ const initialTurnCount = await getAssistantTurnCount(page);
266
324
  // Phase 1: Wait for a new assistant turn to appear
267
325
  const waitForNewTurn = async () => {
268
326
  while (Date.now() - startTime < timeoutMs) {
269
327
  const currentUrl = page.url();
270
- const currentCount = await page.locator(SELECTORS.assistantTurn).count();
328
+ const currentCount = await getAssistantTurnCount(page);
271
329
  // Case 1: URL changed (new conversation) — any turn is "ours"
272
330
  if (currentUrl !== initialUrl && currentCount > 0)
273
331
  return;
@@ -283,7 +341,7 @@ export const chatgptActions = {
283
341
  const remainingMs = Math.max(timeoutMs - (Date.now() - startTime), 5_000);
284
342
  const { text: lastText, truncated } = await pollUntilStable(page, {
285
343
  getText: async (p) => {
286
- const lastTurn = p.locator(SELECTORS.assistantTurn).last();
344
+ const lastTurn = await getLatestAssistantContent(p);
287
345
  const remaining = Math.max(timeoutMs - (Date.now() - startTime), 5_000);
288
346
  return (await lastTurn.textContent({ timeout: remaining }))?.trim() ?? '';
289
347
  },
@@ -296,7 +354,7 @@ export const chatgptActions = {
296
354
  .catch(() => false),
297
355
  });
298
356
  // Extract the final HTML content
299
- const lastTurn = page.locator(SELECTORS.assistantTurn).last();
357
+ const lastTurn = await getLatestAssistantContent(page);
300
358
  const finalRemainingMs = Math.max(timeoutMs - (Date.now() - startTime), 5_000);
301
359
  const markdown = (await lastTurn.innerHTML({ timeout: finalRemainingMs })) ?? '';
302
360
  // Extract generated images (DALL-E / GPT-Image)
@@ -1 +1 @@
1
- {"version":3,"file":"chatgpt.js","sourceRoot":"","sources":["../../src/providers/chatgpt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatgpt.js","sourceRoot":"","sources":["../../src/providers/chatgpt.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { Page } from 'playwright';
4
4
  *
5
5
  * All chat providers follow the same pattern:
6
6
  * 1. Wait for composer → click → select-all → delete
7
- * 2. Try fill(), fallback to JS innerText injection
7
+ * 2. Insert text via the right input path for the element type
8
8
  * 3. Wait → click send button
9
9
  *
10
10
  * This helper encapsulates that pattern so each provider only needs
@@ -1 +1 @@
1
- {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/providers/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IACJ,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,IAAI,CAAC,CAoCf"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/providers/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IACJ,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,IAAI,CAAC,CAyDf"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * All chat providers follow the same pattern:
5
5
  * 1. Wait for composer → click → select-all → delete
6
- * 2. Try fill(), fallback to JS innerText injection
6
+ * 2. Insert text via the right input path for the element type
7
7
  * 3. Wait → click send button
8
8
  *
9
9
  * This helper encapsulates that pattern so each provider only needs
@@ -16,18 +16,47 @@ export async function submitPromptToComposer(page, prompt, opts) {
16
16
  await composer.click();
17
17
  await page.keyboard.press('ControlOrMeta+a');
18
18
  await page.keyboard.press('Backspace');
19
- // Use fill() for speed; fall back to JS injection for contenteditable elements
20
- try {
21
- await composer.fill(prompt);
19
+ const isContentEditable = await composer
20
+ .evaluate((element) => {
21
+ if (!(element instanceof HTMLElement))
22
+ return false;
23
+ return element.isContentEditable || element.getAttribute('contenteditable') === 'true';
24
+ })
25
+ .catch(() => false);
26
+ if (isContentEditable) {
27
+ try {
28
+ await page.keyboard.insertText(prompt);
29
+ }
30
+ catch {
31
+ await composer.evaluate((element, text) => {
32
+ if (!(element instanceof HTMLElement))
33
+ return;
34
+ element.focus();
35
+ element.innerText = text;
36
+ element.dispatchEvent(new Event('input', { bubbles: true }));
37
+ element.dispatchEvent(new Event('change', { bubbles: true }));
38
+ }, prompt);
39
+ }
22
40
  }
23
- catch {
24
- await page.evaluate(({ sel, text }) => {
25
- const el = document.querySelector(sel);
26
- if (el) {
27
- el.innerText = text;
28
- el.dispatchEvent(new Event('input', { bubbles: true }));
29
- }
30
- }, { sel: composerSelector, text: prompt });
41
+ else {
42
+ try {
43
+ await composer.fill(prompt);
44
+ }
45
+ catch {
46
+ await composer.evaluate((element, text) => {
47
+ if (element instanceof HTMLTextAreaElement || element instanceof HTMLInputElement) {
48
+ element.value = text;
49
+ }
50
+ else if (element instanceof HTMLElement) {
51
+ element.innerText = text;
52
+ }
53
+ else {
54
+ return;
55
+ }
56
+ element.dispatchEvent(new Event('input', { bubbles: true }));
57
+ element.dispatchEvent(new Event('change', { bubbles: true }));
58
+ }, prompt);
59
+ }
31
60
  }
32
61
  await page.waitForTimeout(300);
33
62
  const sendButton = page.locator(sendButtonSelector).first();
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../src/providers/submit.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAU,EACV,MAAc,EACd,IAKC;IAED,MAAM,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAAG,MAAM,EACxB,WAAW,GAAG,KAAK,GACpB,GAAG,IAAI,CAAC;IAET,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;IACxD,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAEvE,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEvC,+EAA+E;IAC/E,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,CAAC,QAAQ,CACjB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;YAChB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,EAAE,EAAE,CAAC;gBACN,EAAkB,CAAC,SAAS,GAAG,IAAI,CAAC;gBACrC,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,EACD,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,CACxC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACrE,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../src/providers/submit.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "10x-chat",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "description": "CLI to chat with web AI agents (ChatGPT, Gemini, Claude) via browser automation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -29,7 +29,8 @@
29
29
  "lint:fix": "biome check --fix .",
30
30
  "test": "vitest run",
31
31
  "test:watch": "vitest watch",
32
- "prepublishOnly": "bun run typecheck && bun run lint && bun run test && bun run build"
32
+ "prepublishOnly": "bun run typecheck && bun run lint && bun run test && bun run build",
33
+ "postinstall": "npx patchright install chromium 2>/dev/null || npx playwright install chromium 2>/dev/null || true"
33
34
  },
34
35
  "engines": {
35
36
  "node": ">=22"