💬 Commit message: Update 2026-02-14 07:26:55, 21 files, 749 lines
📁 Files changed: 21 📝 Lines changed: 749 • browser.d.ts • browser.d.ts.map • browser.js • browser.js.map • mcp.js • mcp.js.map • safari.d.ts • safari.d.ts.map • safari.js • safari.js.map • safari.test.d.ts • safari.test.d.ts.map • safari.test.js • safari.test.js.map • types.d.ts • types.d.ts.map • browser.ts • mcp.ts • safari.test.ts • safari.ts • types.ts
This commit is contained in:
Vendored
+34
@@ -4,6 +4,7 @@ import { promisify } from 'node:util';
|
||||
import { webkit } from 'playwright';
|
||||
const execAsync = promisify(exec);
|
||||
import * as image from './image.js';
|
||||
import * as safari from './safari.js';
|
||||
export class ClaudeBrowser {
|
||||
browser = null;
|
||||
context = null;
|
||||
@@ -669,6 +670,37 @@ export class ClaudeBrowser {
|
||||
return { ok: false, error: 'Unknown storage action' };
|
||||
}
|
||||
}
|
||||
async handleImportCommand(cmd) {
|
||||
const context = this.getContext();
|
||||
if (!context)
|
||||
throw new Error('Browser not launched');
|
||||
if (cmd.source === 'safari') {
|
||||
const cookies = await safari.importSafariCookies({
|
||||
domain: cmd.domain,
|
||||
profile: cmd.profile,
|
||||
});
|
||||
if (cookies.length === 0) {
|
||||
return {
|
||||
ok: true,
|
||||
imported: 0,
|
||||
source: 'safari',
|
||||
domains: [],
|
||||
};
|
||||
}
|
||||
// Convert to Playwright format and add to context
|
||||
const playwrightCookies = cookies.map(safari.toPlaywrightCookie);
|
||||
await context.addCookies(playwrightCookies);
|
||||
// Get unique domains for reporting
|
||||
const domains = [...new Set(cookies.map((c) => c.domain))];
|
||||
return {
|
||||
ok: true,
|
||||
imported: cookies.length,
|
||||
source: 'safari',
|
||||
domains,
|
||||
};
|
||||
}
|
||||
return { ok: false, error: `Unknown import source: ${cmd.source}` };
|
||||
}
|
||||
async executeCommand(cmd) {
|
||||
try {
|
||||
switch (cmd.cmd) {
|
||||
@@ -856,6 +888,8 @@ export class ClaudeBrowser {
|
||||
size: result.size,
|
||||
};
|
||||
}
|
||||
case 'import':
|
||||
return this.handleImportCommand(cmd);
|
||||
default: {
|
||||
const _exhaustive = cmd;
|
||||
return { ok: false, error: `Unknown command: ${_exhaustive.cmd}` };
|
||||
|
||||
Reference in New Issue
Block a user