10x-chat 0.9.0 → 0.9.1
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,4 +1,5 @@
|
|
|
1
1
|
import type { ProviderActions, ProviderConfig } from '../types.js';
|
|
2
2
|
export declare const CLAUDE_CONFIG: ProviderConfig;
|
|
3
|
+
export declare function stripClaudeThinkingText(text: string): string;
|
|
3
4
|
export declare const claudeActions: ProviderActions;
|
|
4
5
|
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAoB,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGrF,eAAO,MAAM,aAAa,EAAE,cAQ3B,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAoB,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGrF,eAAO,MAAM,aAAa,EAAE,cAQ3B,CAAC;AAcF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB5D;AAED,eAAO,MAAM,aAAa,EAAE,eA6G3B,CAAC"}
|
package/dist/providers/claude.js
CHANGED
|
@@ -15,6 +15,23 @@ const SELECTORS = {
|
|
|
15
15
|
responseTurn: '[data-is-streaming], .font-claude-message, .font-claude-response, [data-testid="assistant-message"], [data-testid="user-message"] ~ div',
|
|
16
16
|
fileInput: '[data-testid="file-upload"], #chat-input-file-upload-onpage',
|
|
17
17
|
};
|
|
18
|
+
const THINKING_PREFIX_RE = /^(thinking(?: about)?\b|thought for\b|pondering\b|identified\b|analyzing\b|considering\b|evaluating\b|processing\b|synthesized?\b|let me\b)/i;
|
|
19
|
+
export function stripClaudeThinkingText(text) {
|
|
20
|
+
const normalized = text.replace(/\r\n?/g, '\n').trim();
|
|
21
|
+
if (!normalized)
|
|
22
|
+
return normalized;
|
|
23
|
+
const lines = normalized.split('\n');
|
|
24
|
+
let firstAnswerLine = 0;
|
|
25
|
+
while (firstAnswerLine < lines.length && THINKING_PREFIX_RE.test(lines[firstAnswerLine].trim())) {
|
|
26
|
+
firstAnswerLine++;
|
|
27
|
+
}
|
|
28
|
+
if (firstAnswerLine > 0) {
|
|
29
|
+
const stripped = lines.slice(firstAnswerLine).join('\n').trim();
|
|
30
|
+
if (stripped)
|
|
31
|
+
return stripped;
|
|
32
|
+
}
|
|
33
|
+
return normalized;
|
|
34
|
+
}
|
|
18
35
|
export const claudeActions = {
|
|
19
36
|
async isLoggedIn(page) {
|
|
20
37
|
try {
|
|
@@ -52,9 +69,51 @@ export const claudeActions = {
|
|
|
52
69
|
await page.locator(SELECTORS.responseTurn).nth(existingTurns).waitFor({ timeout: timeoutMs });
|
|
53
70
|
const remainingMs = Math.max(timeoutMs - (Date.now() - startTime), 5_000);
|
|
54
71
|
const { text, elapsed: _pollElapsed, truncated, } = await pollUntilStable(page, {
|
|
55
|
-
getText: async (p) =>
|
|
72
|
+
getText: async (p) => {
|
|
73
|
+
const selector = SELECTORS.responseTurn;
|
|
74
|
+
const visibleText = await p.evaluate((sel) => {
|
|
75
|
+
const nodes = document.querySelectorAll(sel);
|
|
76
|
+
const last = nodes[nodes.length - 1];
|
|
77
|
+
if (!last)
|
|
78
|
+
return '';
|
|
79
|
+
// Claude's thinking block is rendered as a collapsible <details> or
|
|
80
|
+
// a sibling div before the actual response content. Try to extract
|
|
81
|
+
// only the non-thinking child content. The response text typically
|
|
82
|
+
// lives in .font-claude-message or the last block-level child that
|
|
83
|
+
// isn't a <details>/<button> collapsible.
|
|
84
|
+
const thinkingEls = last.querySelectorAll('details, [data-testid*="thinking"], [class*="thinking"], button[aria-expanded]');
|
|
85
|
+
if (thinkingEls.length > 0) {
|
|
86
|
+
// Clone the node, remove thinking elements, get remaining text
|
|
87
|
+
const clone = last.cloneNode(true);
|
|
88
|
+
const removeSelectors = [
|
|
89
|
+
'details',
|
|
90
|
+
'[data-testid*="thinking"]',
|
|
91
|
+
'[class*="thinking"]',
|
|
92
|
+
'button[aria-expanded]',
|
|
93
|
+
];
|
|
94
|
+
for (const rs of removeSelectors) {
|
|
95
|
+
const matches = clone.querySelectorAll(rs);
|
|
96
|
+
for (let i = 0; i < matches.length; i++) {
|
|
97
|
+
matches[i].remove();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const cleaned = clone.innerText?.trim();
|
|
101
|
+
if (cleaned)
|
|
102
|
+
return cleaned;
|
|
103
|
+
}
|
|
104
|
+
return (last.innerText ?? last.textContent ?? '').trim();
|
|
105
|
+
}, selector);
|
|
106
|
+
return stripClaudeThinkingText(visibleText);
|
|
107
|
+
},
|
|
56
108
|
timeoutMs: remainingMs,
|
|
57
109
|
onChunk,
|
|
110
|
+
isStreaming: async (p) => {
|
|
111
|
+
// Claude is still generating when [data-is-streaming] is present
|
|
112
|
+
const streaming = await p.evaluate(() => {
|
|
113
|
+
return document.querySelector('[data-is-streaming]') !== null;
|
|
114
|
+
});
|
|
115
|
+
return streaming;
|
|
116
|
+
},
|
|
58
117
|
});
|
|
59
118
|
const lastTurn = page.locator(SELECTORS.responseTurn).last();
|
|
60
119
|
const markdown = (await lastTurn.innerHTML()) ?? '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;IACrB,GAAG,EAAE,uBAAuB;IAC5B,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC;IAC5C,YAAY,EAAE,iBAAiB;IAC/B,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;CAChC,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,QAAQ,EAAE,iEAAiE;IAC3E,UAAU,EACR,0GAA0G;IAC5G,YAAY,EACV,yIAAyI;IAC3I,SAAS,EAAE,6DAA6D;CAChE,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,KAAK,CAAC,UAAU,CAAC,IAAU;QACzB,IAAI,CAAC;YACH,MAAM,IAAI;iBACP,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;iBAC3B,KAAK,EAAE;iBACP,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBAC7C,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnB,MAAM,eAAe,GAAG,MAAM,IAAI;iBAC/B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;iBAC3B,KAAK,EAAE;iBACP,SAAS,EAAE;iBACX,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,eAAe,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAU,EAAE,SAAmB;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5D,MAAM,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAU,EAAE,MAAc;QAC3C,MAAM,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE;YACzC,gBAAgB,EAAE,SAAS,CAAC,QAAQ;YACpC,kBAAkB,EAAE,SAAS,CAAC,UAAU;SACzC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,IAAU,EACV,IAA8D;QAE9D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;QAEzE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAE9F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,MAAM,EACJ,IAAI,EACJ,OAAO,EAAE,YAAY,EACrB,SAAS,GACV,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;IACrB,GAAG,EAAE,uBAAuB;IAC5B,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC;IAC5C,YAAY,EAAE,iBAAiB;IAC/B,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;CAChC,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,QAAQ,EAAE,iEAAiE;IAC3E,UAAU,EACR,0GAA0G;IAC5G,YAAY,EACV,yIAAyI;IAC3I,SAAS,EAAE,6DAA6D;CAChE,CAAC;AAEX,MAAM,kBAAkB,GACtB,8IAA8I,CAAC;AAEjJ,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC;IAEnC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,OAAO,eAAe,GAAG,KAAK,CAAC,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAChG,eAAe,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,KAAK,CAAC,UAAU,CAAC,IAAU;QACzB,IAAI,CAAC;YACH,MAAM,IAAI;iBACP,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;iBAC3B,KAAK,EAAE;iBACP,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBAC7C,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnB,MAAM,eAAe,GAAG,MAAM,IAAI;iBAC/B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;iBAC3B,KAAK,EAAE;iBACP,SAAS,EAAE;iBACX,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,eAAe,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAU,EAAE,SAAmB;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5D,MAAM,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAU,EAAE,MAAc;QAC3C,MAAM,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE;YACzC,gBAAgB,EAAE,SAAS,CAAC,QAAQ;YACpC,kBAAkB,EAAE,SAAS,CAAC,UAAU;SACzC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,IAAU,EACV,IAA8D;QAE9D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;QAEzE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAE9F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,MAAM,EACJ,IAAI,EACJ,OAAO,EAAE,YAAY,EACrB,SAAS,GACV,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACnB,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;gBACxC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;oBACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAA4B,CAAC;oBAChE,IAAI,CAAC,IAAI;wBAAE,OAAO,EAAE,CAAC;oBAErB,oEAAoE;oBACpE,mEAAmE;oBACnE,mEAAmE;oBACnE,mEAAmE;oBACnE,0CAA0C;oBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CACvC,gFAAgF,CACjF,CAAC;oBACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,+DAA+D;wBAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;wBAClD,MAAM,eAAe,GAAG;4BACtB,SAAS;4BACT,2BAA2B;4BAC3B,qBAAqB;4BACrB,uBAAuB;yBACxB,CAAC;wBACF,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;4BACjC,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;4BAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCACxC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;4BACtB,CAAC;wBACH,CAAC;wBACD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;wBACxC,IAAI,OAAO;4BAAE,OAAO,OAAO,CAAC;oBAC9B,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACb,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC;YACD,SAAS,EAAE,WAAW;YACtB,OAAO;YACP,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACvB,iEAAiE;gBACjE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;oBACtC,OAAO,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC;gBAChE,CAAC,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC5C,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,SAAS;YACT,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;SAC9C,CAAC;IACJ,CAAC;CACF,CAAC"}
|