@redplanethq/corebrain 2.7.1 → 2.8.0
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/commands/browser/close-session.d.ts +10 -0
- package/dist/commands/browser/close-session.d.ts.map +1 -0
- package/dist/commands/browser/close-session.js +34 -0
- package/dist/commands/browser/close-session.js.map +1 -0
- package/dist/commands/browser/close.d.ts +2 -5
- package/dist/commands/browser/close.d.ts.map +1 -1
- package/dist/commands/browser/close.js +11 -38
- package/dist/commands/browser/close.js.map +1 -1
- package/dist/commands/browser/command.d.ts +3 -3
- package/dist/commands/browser/command.d.ts.map +1 -1
- package/dist/commands/browser/command.js +23 -26
- package/dist/commands/browser/command.js.map +1 -1
- package/dist/commands/browser/create-profile.d.ts +10 -0
- package/dist/commands/browser/create-profile.d.ts.map +1 -0
- package/dist/commands/browser/create-profile.js +37 -0
- package/dist/commands/browser/create-profile.js.map +1 -0
- package/dist/commands/browser/create-session.d.ts +4 -2
- package/dist/commands/browser/create-session.d.ts.map +1 -1
- package/dist/commands/browser/create-session.js +20 -10
- package/dist/commands/browser/create-session.js.map +1 -1
- package/dist/commands/browser/delete-profile.d.ts +10 -0
- package/dist/commands/browser/delete-profile.d.ts.map +1 -0
- package/dist/commands/browser/delete-profile.js +44 -0
- package/dist/commands/browser/delete-profile.js.map +1 -0
- package/dist/commands/browser/delete-session.d.ts.map +1 -1
- package/dist/commands/browser/delete-session.js +5 -13
- package/dist/commands/browser/delete-session.js.map +1 -1
- package/dist/commands/browser/install.d.ts.map +1 -1
- package/dist/commands/browser/install.js +18 -29
- package/dist/commands/browser/install.js.map +1 -1
- package/dist/commands/browser/list-sessions.d.ts.map +1 -1
- package/dist/commands/browser/list-sessions.js +8 -5
- package/dist/commands/browser/list-sessions.js.map +1 -1
- package/dist/commands/browser/open-head.d.ts.map +1 -1
- package/dist/commands/browser/open-head.js +21 -23
- package/dist/commands/browser/open-head.js.map +1 -1
- package/dist/commands/browser/open.d.ts +2 -2
- package/dist/commands/browser/open.d.ts.map +1 -1
- package/dist/commands/browser/open.js +27 -23
- package/dist/commands/browser/open.js.map +1 -1
- package/dist/commands/browser/set-browser.js +1 -1
- package/dist/commands/browser/set-browser.js.map +1 -1
- package/dist/commands/browser/status.d.ts.map +1 -1
- package/dist/commands/browser/status.js +23 -20
- package/dist/commands/browser/status.js.map +1 -1
- package/dist/commands/gateway/config.js +6 -6
- package/dist/commands/gateway/config.js.map +1 -1
- package/dist/commands/gateway/start.js +2 -2
- package/dist/commands/gateway/start.js.map +1 -1
- package/dist/server/gateway-client.js +2 -2
- package/dist/server/gateway-client.js.map +1 -1
- package/dist/server/tools/browser-tools.d.ts +0 -16
- package/dist/server/tools/browser-tools.d.ts.map +1 -1
- package/dist/server/tools/browser-tools.js +363 -127
- package/dist/server/tools/browser-tools.js.map +1 -1
- package/dist/tui/chat.d.ts.map +1 -1
- package/dist/tui/chat.js +6 -4
- package/dist/tui/chat.js.map +1 -1
- package/dist/tui/hooks/use-conversation.d.ts.map +1 -1
- package/dist/tui/hooks/use-conversation.js +1 -0
- package/dist/tui/hooks/use-conversation.js.map +1 -1
- package/dist/types/config.d.ts +6 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/browser-config.d.ts +51 -0
- package/dist/utils/browser-config.d.ts.map +1 -0
- package/dist/utils/browser-config.js +293 -0
- package/dist/utils/browser-config.js.map +1 -0
- package/dist/utils/browser-manager.d.ts +27 -0
- package/dist/utils/browser-manager.d.ts.map +1 -0
- package/dist/utils/browser-manager.js +131 -0
- package/dist/utils/browser-manager.js.map +1 -0
- package/package.json +2 -1
- package/dist/utils/agent-browser.d.ts +0 -135
- package/dist/utils/agent-browser.d.ts.map +0 -1
- package/dist/utils/agent-browser.js +0 -561
- package/dist/utils/agent-browser.js.map +0 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { getProfileDir, getBrowserExecutable, getSessionConfig } from '../utils/browser-config.js';
|
|
3
|
+
const sessionMap = new Map();
|
|
4
|
+
export async function getOrLaunchSession(sessionName) {
|
|
5
|
+
// Return existing session if alive
|
|
6
|
+
const existing = sessionMap.get(sessionName);
|
|
7
|
+
if (existing) {
|
|
8
|
+
if (existing.page.isClosed()) {
|
|
9
|
+
existing.page = await existing.context.newPage();
|
|
10
|
+
}
|
|
11
|
+
return { session: existing };
|
|
12
|
+
}
|
|
13
|
+
// Look up profile from session config
|
|
14
|
+
const sessionConfig = getSessionConfig(sessionName);
|
|
15
|
+
if (!sessionConfig) {
|
|
16
|
+
return {
|
|
17
|
+
session: undefined,
|
|
18
|
+
error: `Session "${sessionName}" is not configured. Run: corebrain browser create-session ${sessionName} --profile <profile>`,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
const { chromium } = await import('playwright');
|
|
23
|
+
const profileDir = getProfileDir(sessionConfig.profile);
|
|
24
|
+
fs.mkdirSync(profileDir, { recursive: true });
|
|
25
|
+
const browserConfig = getBrowserExecutable();
|
|
26
|
+
const launchOptions = {
|
|
27
|
+
headless: true,
|
|
28
|
+
};
|
|
29
|
+
if (browserConfig.type !== 'default' && browserConfig.path) {
|
|
30
|
+
launchOptions.executablePath = browserConfig.path;
|
|
31
|
+
}
|
|
32
|
+
const context = await chromium.launchPersistentContext(profileDir, launchOptions);
|
|
33
|
+
context.on('close', () => {
|
|
34
|
+
sessionMap.delete(sessionName);
|
|
35
|
+
});
|
|
36
|
+
const page = context.pages()[0] ?? (await context.newPage());
|
|
37
|
+
const session = {
|
|
38
|
+
context,
|
|
39
|
+
page,
|
|
40
|
+
sessionName,
|
|
41
|
+
profile: sessionConfig.profile,
|
|
42
|
+
profileDir,
|
|
43
|
+
headed: false,
|
|
44
|
+
createdAt: Date.now(),
|
|
45
|
+
};
|
|
46
|
+
sessionMap.set(sessionName, session);
|
|
47
|
+
return { session };
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
return {
|
|
51
|
+
session: undefined,
|
|
52
|
+
error: err instanceof Error ? err.message : 'Failed to launch browser',
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export async function launchSession(sessionName, headed) {
|
|
57
|
+
// Close existing instance if any
|
|
58
|
+
const existing = sessionMap.get(sessionName);
|
|
59
|
+
if (existing) {
|
|
60
|
+
await existing.context.close().catch(() => { });
|
|
61
|
+
sessionMap.delete(sessionName);
|
|
62
|
+
}
|
|
63
|
+
const sessionConfig = getSessionConfig(sessionName);
|
|
64
|
+
if (!sessionConfig) {
|
|
65
|
+
return {
|
|
66
|
+
session: undefined,
|
|
67
|
+
error: `Session "${sessionName}" is not configured. Run: corebrain browser create-session ${sessionName} --profile <profile>`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
const { chromium } = await import('playwright');
|
|
72
|
+
const profileDir = getProfileDir(sessionConfig.profile);
|
|
73
|
+
fs.mkdirSync(profileDir, { recursive: true });
|
|
74
|
+
const browserConfig = getBrowserExecutable();
|
|
75
|
+
const launchOptions = {
|
|
76
|
+
headless: !headed,
|
|
77
|
+
};
|
|
78
|
+
if (browserConfig.type !== 'default' && browserConfig.path) {
|
|
79
|
+
launchOptions.executablePath = browserConfig.path;
|
|
80
|
+
}
|
|
81
|
+
const context = await chromium.launchPersistentContext(profileDir, launchOptions);
|
|
82
|
+
context.on('close', () => {
|
|
83
|
+
sessionMap.delete(sessionName);
|
|
84
|
+
});
|
|
85
|
+
const page = context.pages()[0] ?? (await context.newPage());
|
|
86
|
+
const session = {
|
|
87
|
+
context,
|
|
88
|
+
page,
|
|
89
|
+
sessionName,
|
|
90
|
+
profile: sessionConfig.profile,
|
|
91
|
+
profileDir,
|
|
92
|
+
headed,
|
|
93
|
+
createdAt: Date.now(),
|
|
94
|
+
};
|
|
95
|
+
sessionMap.set(sessionName, session);
|
|
96
|
+
return { session };
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
return {
|
|
100
|
+
session: undefined,
|
|
101
|
+
error: err instanceof Error ? err.message : 'Failed to launch browser',
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export async function closeSession(sessionName) {
|
|
106
|
+
const session = sessionMap.get(sessionName);
|
|
107
|
+
if (!session) {
|
|
108
|
+
return { success: false, error: `Session "${sessionName}" is not running` };
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
await session.context.close();
|
|
112
|
+
sessionMap.delete(sessionName);
|
|
113
|
+
return { success: true };
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
sessionMap.delete(sessionName);
|
|
117
|
+
return {
|
|
118
|
+
success: false,
|
|
119
|
+
error: err instanceof Error ? err.message : 'Failed to close session',
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export async function closeAllSessions() {
|
|
124
|
+
const names = [...sessionMap.keys()];
|
|
125
|
+
await Promise.allSettled(names.map(async (name) => closeSession(name)));
|
|
126
|
+
return { success: true };
|
|
127
|
+
}
|
|
128
|
+
export function getLiveSessions() {
|
|
129
|
+
return [...sessionMap.keys()];
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=browser-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-manager.js","sourceRoot":"","sources":["../../src/utils/browser-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redplanethq/corebrain",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"ink-text-input": "^6.0.0",
|
|
29
29
|
"pastel": "^4.0.0",
|
|
30
30
|
"react": "^19.2.4",
|
|
31
|
+
"playwright": "^1.44.0",
|
|
31
32
|
"ws": "^8.18.0",
|
|
32
33
|
"zod": "^4.3.6",
|
|
33
34
|
"@redplanethq/sdk": "0.1.14"
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import type { BrowserType } from '../types/config.js';
|
|
2
|
-
export type { BrowserType } from '../types/config.js';
|
|
3
|
-
/**
|
|
4
|
-
* Get all configured session names from preferences
|
|
5
|
-
*/
|
|
6
|
-
export declare function getConfiguredSessions(): string[];
|
|
7
|
-
/**
|
|
8
|
-
* Check if a session name is configured
|
|
9
|
-
*/
|
|
10
|
-
export declare function isSessionConfigured(name: string): boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Create a new session (add to preferences.browser.sessions)
|
|
13
|
-
*/
|
|
14
|
-
export declare function createSession(name: string): {
|
|
15
|
-
success: boolean;
|
|
16
|
-
error?: string;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Delete a session from preferences
|
|
20
|
-
*/
|
|
21
|
-
export declare function deleteSession(name: string): {
|
|
22
|
-
success: boolean;
|
|
23
|
-
error?: string;
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Initialize default sessions (called on install)
|
|
27
|
-
*/
|
|
28
|
-
export declare function initializeDefaultSessions(): void;
|
|
29
|
-
/**
|
|
30
|
-
* Auto-detect Brave browser path
|
|
31
|
-
*/
|
|
32
|
-
export declare function detectBravePath(): string | null;
|
|
33
|
-
/**
|
|
34
|
-
* Auto-detect Chrome browser path
|
|
35
|
-
*/
|
|
36
|
-
export declare function detectChromePath(): string | null;
|
|
37
|
-
/**
|
|
38
|
-
* Detect all available browsers
|
|
39
|
-
*/
|
|
40
|
-
export declare function detectAvailableBrowsers(): {
|
|
41
|
-
type: BrowserType;
|
|
42
|
-
path: string;
|
|
43
|
-
}[];
|
|
44
|
-
/**
|
|
45
|
-
* Get configured browser executable from preferences.browser
|
|
46
|
-
*/
|
|
47
|
-
export declare function getBrowserExecutable(): {
|
|
48
|
-
type: BrowserType;
|
|
49
|
-
path?: string;
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Set browser executable in preferences.browser
|
|
53
|
-
*/
|
|
54
|
-
export declare function setBrowserExecutable(type: BrowserType, customPath?: string): {
|
|
55
|
-
success: boolean;
|
|
56
|
-
error?: string;
|
|
57
|
-
};
|
|
58
|
-
export interface CommandResult {
|
|
59
|
-
stdout: string;
|
|
60
|
-
stderr: string;
|
|
61
|
-
code: number;
|
|
62
|
-
}
|
|
63
|
-
export declare function clearBinaryPathCache(): void;
|
|
64
|
-
export declare function isAgentBrowserInstalled(): Promise<boolean>;
|
|
65
|
-
/**
|
|
66
|
-
* Install agent-browser via npm
|
|
67
|
-
*/
|
|
68
|
-
export declare function installAgentBrowser(): Promise<CommandResult>;
|
|
69
|
-
/**
|
|
70
|
-
* Run agent-browser doctor to validate installation
|
|
71
|
-
*/
|
|
72
|
-
export declare function runAgentBrowserDoctor(): Promise<CommandResult>;
|
|
73
|
-
export interface SessionInfo {
|
|
74
|
-
name: string;
|
|
75
|
-
status?: string;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* List all available sessions using agent-browser session list command
|
|
79
|
-
*/
|
|
80
|
-
export declare function listSessions(): Promise<string[]>;
|
|
81
|
-
/**
|
|
82
|
-
* Check if a session exists
|
|
83
|
-
*/
|
|
84
|
-
export declare function sessionExists(name: string): Promise<boolean>;
|
|
85
|
-
/**
|
|
86
|
-
* Check if max sessions limit is reached
|
|
87
|
-
*/
|
|
88
|
-
export declare function isSessionLimitReached(): Promise<boolean>;
|
|
89
|
-
/**
|
|
90
|
-
* Get current session count
|
|
91
|
-
*/
|
|
92
|
-
export declare function getSessionCount(): Promise<number>;
|
|
93
|
-
/**
|
|
94
|
-
* Open a browser with URL using the specified session
|
|
95
|
-
*/
|
|
96
|
-
export declare function browserOpen(url: string, sessionName?: string, headed?: boolean): Promise<CommandResult>;
|
|
97
|
-
/**
|
|
98
|
-
* Close a browser for the specified session
|
|
99
|
-
*/
|
|
100
|
-
export declare function browserClose(sessionName: string): Promise<CommandResult>;
|
|
101
|
-
/**
|
|
102
|
-
* Close all browser sessions by closing each configured session
|
|
103
|
-
*/
|
|
104
|
-
export declare function browserCloseAll(): Promise<CommandResult>;
|
|
105
|
-
/**
|
|
106
|
-
* Check if a command is blocked
|
|
107
|
-
*/
|
|
108
|
-
export declare function isBlockedCommand(command: string): boolean;
|
|
109
|
-
/**
|
|
110
|
-
* Execute a generic browser command on a session
|
|
111
|
-
* Blocks: open, close, cookies, storage, network, download, run, session, task, tunnel, state
|
|
112
|
-
* Filters: --session, --session-name, --executable-path (controlled internally)
|
|
113
|
-
*/
|
|
114
|
-
export declare function browserCommand(sessionName: string, command: string, args?: string[]): Promise<CommandResult>;
|
|
115
|
-
/**
|
|
116
|
-
* Get all configured sessions (sync)
|
|
117
|
-
*/
|
|
118
|
-
export declare function browserGetSessions(): string[];
|
|
119
|
-
/**
|
|
120
|
-
* Get running sessions from agent-browser
|
|
121
|
-
*/
|
|
122
|
-
export declare function getActiveSessions(): Promise<string[]>;
|
|
123
|
-
/**
|
|
124
|
-
* Get server status
|
|
125
|
-
*/
|
|
126
|
-
export declare function getServerStatus(): Promise<CommandResult>;
|
|
127
|
-
/**
|
|
128
|
-
* Get max sessions limit
|
|
129
|
-
*/
|
|
130
|
-
export declare function getMaxSessions(): number;
|
|
131
|
-
/**
|
|
132
|
-
* Get default sessions list
|
|
133
|
-
*/
|
|
134
|
-
export declare function getDefaultSessions(): string[];
|
|
135
|
-
//# sourceMappingURL=agent-browser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-browser.d.ts","sourceRoot":"","sources":["../../src/utils/agent-browser.ts"],"names":[],"mappings":"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"}
|