@ai-support-agent/cli 0.0.23-beta.1 → 0.0.23-beta.3
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/dist/browser/browser-local-server.d.ts +2 -0
- package/dist/browser/browser-local-server.d.ts.map +1 -1
- package/dist/browser/browser-local-server.js +55 -7
- package/dist/browser/browser-local-server.js.map +1 -1
- package/dist/browser/browser-script-executor.d.ts +28 -0
- package/dist/browser/browser-script-executor.d.ts.map +1 -0
- package/dist/browser/browser-script-executor.js +173 -0
- package/dist/browser/browser-script-executor.js.map +1 -0
- package/dist/commands/claude-code-stream.d.ts +7 -1
- package/dist/commands/claude-code-stream.d.ts.map +1 -1
- package/dist/commands/claude-code-stream.js +21 -1
- package/dist/commands/claude-code-stream.js.map +1 -1
- package/dist/mcp/tools/browser/browser-proxy-session.d.ts +6 -0
- package/dist/mcp/tools/browser/browser-proxy-session.d.ts.map +1 -1
- package/dist/mcp/tools/browser/browser-proxy-session.js +15 -0
- package/dist/mcp/tools/browser/browser-proxy-session.js.map +1 -1
- package/dist/mcp/tools/browser/browser-session.d.ts +17 -1
- package/dist/mcp/tools/browser/browser-session.d.ts.map +1 -1
- package/dist/mcp/tools/browser/browser-session.js +83 -4
- package/dist/mcp/tools/browser/browser-session.js.map +1 -1
- package/dist/mcp/tools/browser/device-presets.d.ts +8 -0
- package/dist/mcp/tools/browser/device-presets.d.ts.map +1 -0
- package/dist/mcp/tools/browser/device-presets.js +36 -0
- package/dist/mcp/tools/browser/device-presets.js.map +1 -0
- package/dist/mcp/tools/browser.d.ts.map +1 -1
- package/dist/mcp/tools/browser.js +56 -7
- package/dist/mcp/tools/browser.js.map +1 -1
- package/dist/vscode/vscode-tunnel-websocket.d.ts +18 -2
- package/dist/vscode/vscode-tunnel-websocket.d.ts.map +1 -1
- package/dist/vscode/vscode-tunnel-websocket.js +41 -1
- package/dist/vscode/vscode-tunnel-websocket.js.map +1 -1
- package/package.json +1 -1
|
@@ -44,11 +44,13 @@ export declare class BrowserLocalServer {
|
|
|
44
44
|
private handleClick;
|
|
45
45
|
private handleFill;
|
|
46
46
|
private handleGetText;
|
|
47
|
+
private handleExtract;
|
|
47
48
|
private handleScreenshot;
|
|
48
49
|
private handleGetUrl;
|
|
49
50
|
private handleGetTitle;
|
|
50
51
|
private handleGetVariable;
|
|
51
52
|
private handleSetVariable;
|
|
53
|
+
private handleExecuteScript;
|
|
52
54
|
private handleListVariables;
|
|
53
55
|
}
|
|
54
56
|
//# sourceMappingURL=browser-local-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-local-server.d.ts","sourceRoot":"","sources":["../../src/browser/browser-local-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;
|
|
1
|
+
{"version":3,"file":"browser-local-server.d.ts","sourceRoot":"","sources":["../../src/browser/browser-local-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AAIpF,6CAA6C;AAC7C,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CACzF;AAED,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJ3C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAI;IAChB,WAAW,EAAE,CAAC,CAAC,YAAY,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;gBAE7C,cAAc,EAAE,qBAAqB;IAElE;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IA0B9B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;OAEG;IACH,OAAO,IAAI,MAAM;YAIH,aAAa;IA4E3B;;OAEG;IAEH,OAAO,CAAC,aAAa;YAWP,cAAc;YAmCd,WAAW;YAiCX,UAAU;YAuBV,aAAa;YAab,aAAa;YAuBb,gBAAgB;IAO9B,OAAO,CAAC,YAAY;YAKN,cAAc;IAM5B,OAAO,CAAC,iBAAiB;YAWX,iBAAiB;YAajB,mBAAmB;IAqBjC,OAAO,CAAC,mBAAmB;CAI5B"}
|
|
@@ -14,6 +14,7 @@ exports.BrowserLocalServer = void 0;
|
|
|
14
14
|
const http_1 = __importDefault(require("http"));
|
|
15
15
|
const logger_1 = require("../logger");
|
|
16
16
|
const browser_security_1 = require("../mcp/tools/browser/browser-security");
|
|
17
|
+
const browser_script_executor_1 = require("./browser-script-executor");
|
|
17
18
|
class BrowserLocalServer {
|
|
18
19
|
sessionManager;
|
|
19
20
|
server = null;
|
|
@@ -101,7 +102,10 @@ class BrowserLocalServer {
|
|
|
101
102
|
await this.handleFill(res, sessionId, session, params);
|
|
102
103
|
break;
|
|
103
104
|
case 'get-text':
|
|
104
|
-
await this.handleGetText(res, session, params);
|
|
105
|
+
await this.handleGetText(res, sessionId, session, params);
|
|
106
|
+
break;
|
|
107
|
+
case 'extract':
|
|
108
|
+
await this.handleExtract(res, sessionId, session, params);
|
|
105
109
|
break;
|
|
106
110
|
case 'screenshot':
|
|
107
111
|
await this.handleScreenshot(res, session, params);
|
|
@@ -116,20 +120,23 @@ class BrowserLocalServer {
|
|
|
116
120
|
if (req.method === 'GET') {
|
|
117
121
|
const varName = segments[3];
|
|
118
122
|
if (varName) {
|
|
119
|
-
this.handleGetVariable(res, session, varName);
|
|
123
|
+
this.handleGetVariable(res, sessionId, session, varName);
|
|
120
124
|
}
|
|
121
125
|
else {
|
|
122
126
|
sendJson(res, 400, { error: 'Missing variable name' });
|
|
123
127
|
}
|
|
124
128
|
}
|
|
125
129
|
else {
|
|
126
|
-
await this.handleSetVariable(res, session, params);
|
|
130
|
+
await this.handleSetVariable(res, sessionId, session, params);
|
|
127
131
|
}
|
|
128
132
|
break;
|
|
129
133
|
}
|
|
130
134
|
case 'variables':
|
|
131
135
|
this.handleListVariables(res, session);
|
|
132
136
|
break;
|
|
137
|
+
case 'execute-script':
|
|
138
|
+
await this.handleExecuteScript(res, sessionId, session, params);
|
|
139
|
+
break;
|
|
133
140
|
default:
|
|
134
141
|
sendJson(res, 404, { error: `Unknown action: ${action}` });
|
|
135
142
|
}
|
|
@@ -219,7 +226,7 @@ class BrowserLocalServer {
|
|
|
219
226
|
}
|
|
220
227
|
const page = await session.getPage();
|
|
221
228
|
await page.fill(selector, value, { timeout: 10000 });
|
|
222
|
-
this.emitActionLog(sessionId, session, 'fill', selector);
|
|
229
|
+
this.emitActionLog(sessionId, session, 'fill', `${selector} "${value}"`);
|
|
223
230
|
if (params.screenshot) {
|
|
224
231
|
const screenshotBuffer = await session.screenshot(true);
|
|
225
232
|
const base64 = screenshotBuffer.toString('base64');
|
|
@@ -230,12 +237,33 @@ class BrowserLocalServer {
|
|
|
230
237
|
}
|
|
231
238
|
}
|
|
232
239
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
233
|
-
async handleGetText(res, session, params) {
|
|
240
|
+
async handleGetText(res, sessionId, session, params) {
|
|
234
241
|
const page = await session.getPage();
|
|
235
242
|
const target = params.selector ?? 'body';
|
|
236
243
|
const text = await page.locator(target).innerText({ timeout: 10000 });
|
|
237
244
|
const maxLength = 50 * 1024;
|
|
238
245
|
const truncated = text.length > maxLength ? text.substring(0, maxLength) + '\n... (truncated)' : text;
|
|
246
|
+
const preview = text.replace(/\s+/g, ' ').trim();
|
|
247
|
+
const previewText = preview.length > 100 ? preview.substring(0, 100) + '…' : preview;
|
|
248
|
+
this.emitActionLog(sessionId, session, 'get_text', `${target} → "${previewText}"`);
|
|
249
|
+
sendJson(res, 200, { text: truncated });
|
|
250
|
+
}
|
|
251
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
252
|
+
async handleExtract(res, sessionId, session, params) {
|
|
253
|
+
const selector = params.selector;
|
|
254
|
+
const variableName = params.variableName;
|
|
255
|
+
if (!selector || !variableName) {
|
|
256
|
+
sendJson(res, 400, { error: 'Missing selector or variableName' });
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
const page = await session.getPage();
|
|
260
|
+
const text = await page.locator(selector).innerText({ timeout: 10000 });
|
|
261
|
+
const maxLength = 50 * 1024;
|
|
262
|
+
const truncated = text.length > maxLength ? text.substring(0, maxLength) + '\n... (truncated)' : text;
|
|
263
|
+
session.variables.set(variableName, truncated);
|
|
264
|
+
const preview = text.replace(/\s+/g, ' ').trim();
|
|
265
|
+
const previewText = preview.length > 100 ? preview.substring(0, 100) + '…' : preview;
|
|
266
|
+
this.emitActionLog(sessionId, session, 'extract', `${variableName} "${selector}" → "${previewText}"`);
|
|
239
267
|
sendJson(res, 200, { text: truncated });
|
|
240
268
|
}
|
|
241
269
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -254,16 +282,17 @@ class BrowserLocalServer {
|
|
|
254
282
|
sendJson(res, 200, { title });
|
|
255
283
|
}
|
|
256
284
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
257
|
-
handleGetVariable(res, session, name) {
|
|
285
|
+
handleGetVariable(res, sessionId, session, name) {
|
|
258
286
|
const value = session.variables.get(name);
|
|
259
287
|
if (value === undefined) {
|
|
260
288
|
sendJson(res, 404, { error: `Variable not found: ${name}` });
|
|
261
289
|
return;
|
|
262
290
|
}
|
|
291
|
+
this.emitActionLog(sessionId, session, 'get_variable', `${name} → "${value}"`);
|
|
263
292
|
sendJson(res, 200, { name, value });
|
|
264
293
|
}
|
|
265
294
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
266
|
-
async handleSetVariable(res, session, params) {
|
|
295
|
+
async handleSetVariable(res, sessionId, session, params) {
|
|
267
296
|
const name = params.name;
|
|
268
297
|
const value = params.value;
|
|
269
298
|
if (!name || value === undefined) {
|
|
@@ -271,9 +300,28 @@ class BrowserLocalServer {
|
|
|
271
300
|
return;
|
|
272
301
|
}
|
|
273
302
|
session.variables.set(name, value);
|
|
303
|
+
this.emitActionLog(sessionId, session, 'set_variable', `${name} "${value}"`);
|
|
274
304
|
sendJson(res, 200, { ok: true });
|
|
275
305
|
}
|
|
276
306
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
307
|
+
async handleExecuteScript(res, sessionId, session, params) {
|
|
308
|
+
const script = params.script;
|
|
309
|
+
if (!script) {
|
|
310
|
+
sendJson(res, 400, { error: 'Missing script' });
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
const result = await (0, browser_script_executor_1.executePlaywrightScript)(session, script, (step, total, line) => {
|
|
314
|
+
// Emit progress via action log callback
|
|
315
|
+
if (this.onActionLog) {
|
|
316
|
+
this.onActionLog({
|
|
317
|
+
sessionId,
|
|
318
|
+
entry: { timestamp: Date.now(), source: 'chat', action: 'script_progress', details: `${step}/${total}: ${line}` },
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
sendJson(res, 200, result);
|
|
323
|
+
}
|
|
324
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
277
325
|
handleListVariables(res, session) {
|
|
278
326
|
const entries = Array.from(session.variables.entries());
|
|
279
327
|
sendJson(res, 200, { variables: Object.fromEntries(entries) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-local-server.js","sourceRoot":"","sources":["../../src/browser/browser-local-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-local-server.js","sourceRoot":"","sources":["../../src/browser/browser-local-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BrowserScriptExecutor — parses and executes Playwright scripts line-by-line.
|
|
3
|
+
*
|
|
4
|
+
* Supports a subset of Playwright commands that can be deterministically parsed
|
|
5
|
+
* from generated scripts. Unsupported lines cause a parse failure, signaling
|
|
6
|
+
* the caller to fall back to AI-based execution.
|
|
7
|
+
*/
|
|
8
|
+
type BrowserSession = any;
|
|
9
|
+
export interface ScriptStepResult {
|
|
10
|
+
line: string;
|
|
11
|
+
success: boolean;
|
|
12
|
+
error?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ScriptExecutionResult {
|
|
15
|
+
success: boolean;
|
|
16
|
+
completedSteps: number;
|
|
17
|
+
totalSteps: number;
|
|
18
|
+
results: ScriptStepResult[];
|
|
19
|
+
failedLine?: string;
|
|
20
|
+
/** True when a line could not be parsed — caller should fall back to chat AI */
|
|
21
|
+
fallbackToChat?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Execute a Playwright script against a browser session.
|
|
25
|
+
*/
|
|
26
|
+
export declare function executePlaywrightScript(session: BrowserSession, script: string, onStepComplete?: (step: number, total: number, line: string) => void): Promise<ScriptExecutionResult>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=browser-script-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-script-executor.d.ts","sourceRoot":"","sources":["../../src/browser/browser-script-executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,KAAK,cAAc,GAAG,GAAG,CAAA;AAEzB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AA8ED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACnE,OAAO,CAAC,qBAAqB,CAAC,CA6GhC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BrowserScriptExecutor — parses and executes Playwright scripts line-by-line.
|
|
4
|
+
*
|
|
5
|
+
* Supports a subset of Playwright commands that can be deterministically parsed
|
|
6
|
+
* from generated scripts. Unsupported lines cause a parse failure, signaling
|
|
7
|
+
* the caller to fall back to AI-based execution.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.executePlaywrightScript = executePlaywrightScript;
|
|
11
|
+
const logger_1 = require("../logger");
|
|
12
|
+
/**
|
|
13
|
+
* Parse a single script line into a structured step.
|
|
14
|
+
* Returns null if the line cannot be parsed.
|
|
15
|
+
*/
|
|
16
|
+
function parseLine(line) {
|
|
17
|
+
const trimmed = line.trim();
|
|
18
|
+
// Empty lines and comments
|
|
19
|
+
if (!trimmed || trimmed.startsWith('//')) {
|
|
20
|
+
return { type: 'comment', raw: trimmed, args: {} };
|
|
21
|
+
}
|
|
22
|
+
// await page.goto('url'...)
|
|
23
|
+
const gotoMatch = trimmed.match(/^await\s+page\.goto\(\s*'([^']+)'/m);
|
|
24
|
+
if (gotoMatch) {
|
|
25
|
+
return { type: 'goto', raw: trimmed, args: { url: gotoMatch[1] } };
|
|
26
|
+
}
|
|
27
|
+
// await page.click('selector')
|
|
28
|
+
const clickMatch = trimmed.match(/^await\s+page\.click\(\s*'([^']+)'\s*\)/);
|
|
29
|
+
if (clickMatch) {
|
|
30
|
+
return { type: 'click', raw: trimmed, args: { selector: clickMatch[1] } };
|
|
31
|
+
}
|
|
32
|
+
// await page.fill('selector', 'value')
|
|
33
|
+
const fillMatch = trimmed.match(/^await\s+page\.fill\(\s*'([^']+)'\s*,\s*'([^']*)'\s*\)/);
|
|
34
|
+
if (fillMatch) {
|
|
35
|
+
return { type: 'fill', raw: trimmed, args: { selector: fillMatch[1], value: fillMatch[2] } };
|
|
36
|
+
}
|
|
37
|
+
// const x = await page.locator('selector').innerText()
|
|
38
|
+
const innerTextMatch = trimmed.match(/^const\s+(\S+)\s*=\s*await\s+page\.locator\(\s*'([^']+)'\s*\)\.innerText\(\s*\)/);
|
|
39
|
+
if (innerTextMatch) {
|
|
40
|
+
return { type: 'innerText', raw: trimmed, args: { variableName: innerTextMatch[1], selector: innerTextMatch[2] } };
|
|
41
|
+
}
|
|
42
|
+
// await page.keyboard.type('text')
|
|
43
|
+
const typeMatch = trimmed.match(/^await\s+page\.keyboard\.type\(\s*'([^']*)'\s*\)/);
|
|
44
|
+
if (typeMatch) {
|
|
45
|
+
return { type: 'type', raw: trimmed, args: { text: typeMatch[1] } };
|
|
46
|
+
}
|
|
47
|
+
// await page.keyboard.press('key')
|
|
48
|
+
const pressMatch = trimmed.match(/^await\s+page\.keyboard\.press\(\s*'([^']+)'\s*\)/);
|
|
49
|
+
if (pressMatch) {
|
|
50
|
+
return { type: 'press', raw: trimmed, args: { key: pressMatch[1] } };
|
|
51
|
+
}
|
|
52
|
+
// await page.mouse.wheel(deltaX, deltaY)
|
|
53
|
+
const scrollMatch = trimmed.match(/^await\s+page\.mouse\.wheel\(\s*(-?\d+)\s*,\s*(-?\d+)\s*\)/);
|
|
54
|
+
if (scrollMatch) {
|
|
55
|
+
return { type: 'scroll', raw: trimmed, args: { deltaX: scrollMatch[1], deltaY: scrollMatch[2] } };
|
|
56
|
+
}
|
|
57
|
+
// const x = 'value'
|
|
58
|
+
const varMatch = trimmed.match(/^const\s+(\S+)\s*=\s*'([^']*)'/);
|
|
59
|
+
if (varMatch) {
|
|
60
|
+
return { type: 'variable', raw: trimmed, args: { name: varMatch[1], value: varMatch[2] } };
|
|
61
|
+
}
|
|
62
|
+
// await page.waitForTimeout(ms)
|
|
63
|
+
const waitMatch = trimmed.match(/^await\s+page\.waitForTimeout\(\s*(\d+)\s*\)/);
|
|
64
|
+
if (waitMatch) {
|
|
65
|
+
return { type: 'wait', raw: trimmed, args: { ms: waitMatch[1] } };
|
|
66
|
+
}
|
|
67
|
+
// Unrecognized line
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Execute a Playwright script against a browser session.
|
|
72
|
+
*/
|
|
73
|
+
async function executePlaywrightScript(session, script, onStepComplete) {
|
|
74
|
+
const lines = script.split('\n').filter((l) => l.trim().length > 0);
|
|
75
|
+
const results = [];
|
|
76
|
+
// Parse all lines first to detect unsupported commands
|
|
77
|
+
const steps = lines.map(parseLine);
|
|
78
|
+
// Check for unparseable lines first
|
|
79
|
+
for (let i = 0; i < steps.length; i++) {
|
|
80
|
+
if (steps[i] === null) {
|
|
81
|
+
const executableSteps = steps.filter((s) => s !== null && s.type !== 'comment');
|
|
82
|
+
return {
|
|
83
|
+
success: false,
|
|
84
|
+
completedSteps: 0,
|
|
85
|
+
totalSteps: executableSteps.length,
|
|
86
|
+
results: [],
|
|
87
|
+
failedLine: lines[i],
|
|
88
|
+
fallbackToChat: true,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Filter out comments for step counting
|
|
93
|
+
const executableSteps = steps.filter((s) => s !== null && s.type !== 'comment');
|
|
94
|
+
const totalSteps = executableSteps.length;
|
|
95
|
+
if (totalSteps === 0) {
|
|
96
|
+
return { success: true, completedSteps: 0, totalSteps: 0, results: [] };
|
|
97
|
+
}
|
|
98
|
+
let completedSteps = 0;
|
|
99
|
+
const page = await session.getPage();
|
|
100
|
+
for (let i = 0; i < steps.length; i++) {
|
|
101
|
+
const step = steps[i];
|
|
102
|
+
if (step.type === 'comment') {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
switch (step.type) {
|
|
107
|
+
case 'goto':
|
|
108
|
+
await page.goto(step.args.url, { waitUntil: 'domcontentloaded', timeout: 30000 });
|
|
109
|
+
session.actionLog.add('chat', 'navigate', step.args.url);
|
|
110
|
+
break;
|
|
111
|
+
case 'click':
|
|
112
|
+
await page.click(step.args.selector, { timeout: 10000 });
|
|
113
|
+
session.actionLog.add('chat', 'click', step.args.selector);
|
|
114
|
+
break;
|
|
115
|
+
case 'fill':
|
|
116
|
+
await page.fill(step.args.selector, step.args.value, { timeout: 10000 });
|
|
117
|
+
session.actionLog.add('chat', 'fill', `${step.args.selector} "${step.args.value}"`);
|
|
118
|
+
break;
|
|
119
|
+
case 'innerText': {
|
|
120
|
+
const text = await page.locator(step.args.selector).innerText({ timeout: 10000 });
|
|
121
|
+
session.variables.set(step.args.variableName, text);
|
|
122
|
+
const preview = text.replace(/\s+/g, ' ').trim();
|
|
123
|
+
const previewText = preview.length > 100 ? preview.substring(0, 100) + '…' : preview;
|
|
124
|
+
session.actionLog.add('chat', 'extract', `${step.args.variableName} "${step.args.selector}" → "${previewText}"`);
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
case 'type':
|
|
128
|
+
await page.keyboard.type(step.args.text);
|
|
129
|
+
session.actionLog.add('chat', 'type', step.args.text);
|
|
130
|
+
break;
|
|
131
|
+
case 'press':
|
|
132
|
+
await page.keyboard.press(step.args.key);
|
|
133
|
+
session.actionLog.add('chat', 'press', step.args.key);
|
|
134
|
+
break;
|
|
135
|
+
case 'scroll':
|
|
136
|
+
await page.mouse.wheel(parseInt(step.args.deltaX, 10), parseInt(step.args.deltaY, 10));
|
|
137
|
+
session.actionLog.add('chat', 'scroll', `deltaX=${step.args.deltaX} deltaY=${step.args.deltaY}`);
|
|
138
|
+
break;
|
|
139
|
+
case 'variable':
|
|
140
|
+
session.variables.set(step.args.name, step.args.value);
|
|
141
|
+
session.actionLog.add('chat', 'set_variable', `${step.args.name} "${step.args.value}"`);
|
|
142
|
+
break;
|
|
143
|
+
case 'wait': {
|
|
144
|
+
const ms = Math.min(parseInt(step.args.ms, 10), 10000);
|
|
145
|
+
await page.waitForTimeout(ms);
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
completedSteps++;
|
|
150
|
+
results.push({ line: step.raw, success: true });
|
|
151
|
+
onStepComplete?.(completedSteps, totalSteps, step.raw);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
155
|
+
logger_1.logger.warn(`[script-executor] Step failed: ${step.raw} — ${errorMessage}`);
|
|
156
|
+
results.push({ line: step.raw, success: false, error: errorMessage });
|
|
157
|
+
return {
|
|
158
|
+
success: false,
|
|
159
|
+
completedSteps,
|
|
160
|
+
totalSteps,
|
|
161
|
+
results,
|
|
162
|
+
failedLine: step.raw,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
success: true,
|
|
168
|
+
completedSteps,
|
|
169
|
+
totalSteps,
|
|
170
|
+
results,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=browser-script-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-script-executor.js","sourceRoot":"","sources":["../../src/browser/browser-script-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,16 @@ export interface StreamJsonContentBlock {
|
|
|
7
7
|
id?: string;
|
|
8
8
|
input?: Record<string, unknown>;
|
|
9
9
|
tool_use_id?: string;
|
|
10
|
-
/** 組み込みツールでは string、MCP ツールでは {type, text}[] の配列 */
|
|
10
|
+
/** 組み込みツールでは string、MCP ツールでは {type, text}[] or {type, source}[] の配列 */
|
|
11
11
|
content?: string | Array<{
|
|
12
12
|
type: string;
|
|
13
13
|
text?: string;
|
|
14
|
+
data?: string;
|
|
15
|
+
source?: {
|
|
16
|
+
type: string;
|
|
17
|
+
media_type?: string;
|
|
18
|
+
data?: string;
|
|
19
|
+
};
|
|
14
20
|
}>;
|
|
15
21
|
}
|
|
16
22
|
/** stream-json の MCP サーバー接続情報 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code-stream.d.ts","sourceRoot":"","sources":["../../src/commands/claude-code-stream.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAG7C,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,gBAAgB,CAAA;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,
|
|
1
|
+
{"version":3,"file":"claude-code-stream.d.ts","sourceRoot":"","sources":["../../src/commands/claude-code-stream.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAG7C,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,gBAAgB,CAAA;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;CACxI;AAED,iCAAiC;AACjC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;KACnC,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAA;CACpC;AAQD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAClE,GAAG,EAAE,MAAM,EACX,KAAK,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC5G;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;CAAE,CAyJ5F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,GAAG;IAC3G,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,IAAI,CA2BP"}
|
|
@@ -7,6 +7,8 @@ const logger_1 = require("../logger");
|
|
|
7
7
|
const json_parse_1 = require("../utils/json-parse");
|
|
8
8
|
/** file_upload ツール結果を file_attachment チャンクに変換する */
|
|
9
9
|
const FILE_UPLOAD_TOOL_NAME = 'mcp__ai-support-agent__file_upload';
|
|
10
|
+
/** Screenshot base64 の最大サイズ(バイト) */
|
|
11
|
+
const SCREENSHOT_MAX_BASE64_BYTES = 512 * 1024;
|
|
10
12
|
/**
|
|
11
13
|
* stream-json の NDJSON 1行をパースし、テキストやツール呼び出し情報を処理する
|
|
12
14
|
* sendChunk は fire-and-forget で呼び出される(同期的に状態を返すため)
|
|
@@ -83,18 +85,36 @@ function processStreamJsonLine(line, sendChunk, pid, state) {
|
|
|
83
85
|
hasActualToolResult = true;
|
|
84
86
|
// ツール名を復元
|
|
85
87
|
const toolName = state.pendingToolNames?.get(block.tool_use_id) ?? 'unknown';
|
|
86
|
-
// tool_result
|
|
88
|
+
// tool_result の内容をテキストとして抽出(image ブロックがあればスクリーンショットも含める)
|
|
87
89
|
let resultText;
|
|
90
|
+
let screenshotBase64;
|
|
88
91
|
if (typeof block.content === 'string') {
|
|
89
92
|
resultText = block.content;
|
|
90
93
|
}
|
|
91
94
|
else if (Array.isArray(block.content)) {
|
|
92
95
|
const textBlock = block.content.find(b => b.type === 'text' && b.text);
|
|
93
96
|
resultText = textBlock?.text ?? '';
|
|
97
|
+
// Extract screenshot from image blocks
|
|
98
|
+
const imageBlock = block.content.find(b => b.type === 'image');
|
|
99
|
+
if (imageBlock) {
|
|
100
|
+
// image block can have data directly or in source.data
|
|
101
|
+
const base64Data = imageBlock.data ?? imageBlock.source?.data;
|
|
102
|
+
// Size guard: skip if base64 > 512KB
|
|
103
|
+
if (base64Data && base64Data.length <= SCREENSHOT_MAX_BASE64_BYTES) {
|
|
104
|
+
screenshotBase64 = base64Data;
|
|
105
|
+
}
|
|
106
|
+
else if (base64Data) {
|
|
107
|
+
logger_1.logger.warn(`[stream] Screenshot base64 too large (${base64Data.length} bytes), skipped`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
94
110
|
}
|
|
95
111
|
else {
|
|
96
112
|
resultText = '';
|
|
97
113
|
}
|
|
114
|
+
// Append screenshot marker if present
|
|
115
|
+
if (screenshotBase64) {
|
|
116
|
+
resultText += `\n[screenshot:base64:${screenshotBase64}]`;
|
|
117
|
+
}
|
|
98
118
|
// tool_result チャンクを送信
|
|
99
119
|
const isError = resultText.startsWith('Error:') || resultText.startsWith('error:');
|
|
100
120
|
const output = (0, json_parse_1.safeJsonParse)(resultText) ?? { text: resultText };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code-stream.js","sourceRoot":"","sources":["../../src/commands/claude-code-stream.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"claude-code-stream.js","sourceRoot":"","sources":["../../src/commands/claude-code-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,10 @@ export declare class BrowserProxySession {
|
|
|
40
40
|
* Fill a form field.
|
|
41
41
|
*/
|
|
42
42
|
fill(selector: string, value: string, screenshot?: boolean): Promise<Buffer | undefined>;
|
|
43
|
+
/**
|
|
44
|
+
* Extract text from an element and store in a variable (atomic operation).
|
|
45
|
+
*/
|
|
46
|
+
extract(selector: string, variableName: string): Promise<string>;
|
|
43
47
|
/**
|
|
44
48
|
* Get text content from the page.
|
|
45
49
|
*/
|
|
@@ -87,6 +91,8 @@ declare class ProxyVariableMap {
|
|
|
87
91
|
constructor(baseUrl: string, sessionId: string);
|
|
88
92
|
get(name: string): string | undefined;
|
|
89
93
|
set(name: string, value: string): this;
|
|
94
|
+
/** Update local cache only (no HTTP request). Used when setVariable() already sent the request. */
|
|
95
|
+
setLocal(name: string, value: string): void;
|
|
90
96
|
entries(): IterableIterator<[string, string]>;
|
|
91
97
|
/** Refresh cache from the server. Call before reading variables. */
|
|
92
98
|
refresh(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-proxy-session.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-proxy-session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAA;IACpC,QAAQ,CAAC,SAAS,mBAAyB;gBAGxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM;IAKpC;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QACpC,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAc/D;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QACtC,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAahE;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK9F;;OAEG;IACG,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjD;;OAEG;IACG,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAK/B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAKjC;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-proxy-session.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/browser/browser-proxy-session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAA;IACpC,QAAQ,CAAC,SAAS,mBAAyB;gBAGxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM;IAKpC;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QACpC,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAc/D;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QACtC,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAahE;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK9F;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOtE;;OAEG;IACG,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjD;;OAEG;IACG,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAK/B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAKjC;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS5D;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKtD;;;OAGG;IACH,QAAQ,IAAI,OAAO;IAInB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,GAAG;CAGZ;AAED;;;GAGG;AACH,cAAM,gBAAgB;IAIlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,KAAK,CAA4B;gBAGtB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM;IAGpC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQtC,mGAAmG;IACnG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3C,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7C,oEAAoE;IAC9D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ/B"}
|
|
@@ -63,6 +63,15 @@ class BrowserProxySession {
|
|
|
63
63
|
const result = await this.post('fill', { selector, value, screenshot: screenshot ?? false });
|
|
64
64
|
return result.screenshot ? Buffer.from(result.screenshot, 'base64') : undefined;
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Extract text from an element and store in a variable (atomic operation).
|
|
68
|
+
*/
|
|
69
|
+
async extract(selector, variableName) {
|
|
70
|
+
const result = await this.post('extract', { selector, variableName });
|
|
71
|
+
const text = result.text;
|
|
72
|
+
this.variables.setLocal(variableName, text);
|
|
73
|
+
return text;
|
|
74
|
+
}
|
|
66
75
|
/**
|
|
67
76
|
* Get text content from the page.
|
|
68
77
|
*/
|
|
@@ -96,6 +105,8 @@ class BrowserProxySession {
|
|
|
96
105
|
*/
|
|
97
106
|
async setVariable(name, value) {
|
|
98
107
|
await this.post('variable', { name, value });
|
|
108
|
+
// Update local cache so subsequent get() calls reflect the new value
|
|
109
|
+
this.variables.setLocal(name, value);
|
|
99
110
|
}
|
|
100
111
|
/**
|
|
101
112
|
* Get a session variable.
|
|
@@ -153,6 +164,10 @@ class ProxyVariableMap {
|
|
|
153
164
|
.catch((err) => { logger_1.logger.warn(`[proxy-variable] Failed to sync variable "${name}" to server: ${String(err)}`); });
|
|
154
165
|
return this;
|
|
155
166
|
}
|
|
167
|
+
/** Update local cache only (no HTTP request). Used when setVariable() already sent the request. */
|
|
168
|
+
setLocal(name, value) {
|
|
169
|
+
this.cache.set(name, value);
|
|
170
|
+
}
|
|
156
171
|
entries() {
|
|
157
172
|
return this.cache.entries();
|
|
158
173
|
}
|