camofox-browser 1.2.0 → 1.4.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/CHANGELOG.md +42 -0
- package/README.md +21 -1
- package/dist/src/routes/core.d.ts.map +1 -1
- package/dist/src/routes/core.js +41 -15
- package/dist/src/routes/core.js.map +1 -1
- package/dist/src/routes/openclaw.d.ts.map +1 -1
- package/dist/src/routes/openclaw.js +34 -18
- package/dist/src/routes/openclaw.js.map +1 -1
- package/dist/src/server.js +3 -5
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/browser.d.ts +0 -3
- package/dist/src/services/browser.d.ts.map +1 -1
- package/dist/src/services/browser.js +3 -58
- package/dist/src/services/browser.js.map +1 -1
- package/dist/src/services/context-pool.d.ts +25 -0
- package/dist/src/services/context-pool.d.ts.map +1 -0
- package/dist/src/services/context-pool.js +205 -0
- package/dist/src/services/context-pool.js.map +1 -0
- package/dist/src/services/session.d.ts +5 -0
- package/dist/src/services/session.d.ts.map +1 -1
- package/dist/src/services/session.js +119 -33
- package/dist/src/services/session.js.map +1 -1
- package/dist/src/services/tab.d.ts +2 -21
- package/dist/src/services/tab.d.ts.map +1 -1
- package/dist/src/services/tab.js +46 -54
- package/dist/src/services/tab.js.map +1 -1
- package/dist/src/utils/config.d.ts +7 -0
- package/dist/src/utils/config.d.ts.map +1 -1
- package/dist/src/utils/config.js +20 -0
- package/dist/src/utils/config.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.4.0] - 2026-02-18
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- `withTimeout()` utility — configurable handler timeout (default 30s, env: `HANDLER_TIMEOUT_MS`)
|
|
7
|
+
- `withUserLimit()` — per-user concurrency limiter (default 3, env: `MAX_CONCURRENT_PER_USER`)
|
|
8
|
+
- `safePageClose()` — safe page close with 5s timeout, prevents hung close operations
|
|
9
|
+
- Unit tests for all new utility functions
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- ariaSnapshot timeout reduced 10s → 5s for faster failure detection
|
|
13
|
+
- ariaSnapshot retry now catches failures gracefully (returns empty refs instead of crashing)
|
|
14
|
+
- `getAriaSnapshot()` returns null on failure instead of throwing
|
|
15
|
+
- Navigate endpoint returns 400 (not 500) for blocked URL schemes
|
|
16
|
+
- All core handlers wrapped with `withTimeout` for request-level timeout protection
|
|
17
|
+
- Navigate, snapshot, click handlers wrapped with `withUserLimit` for per-user concurrency control
|
|
18
|
+
- OpenClaw /navigate, /act, /snapshot handlers wrapped with `withTimeout` + `withUserLimit`
|
|
19
|
+
- All page.close() calls replaced with `safePageClose()`
|
|
20
|
+
- userId validation added to navigate, snapshot, click endpoints (returns 400 if missing)
|
|
21
|
+
|
|
22
|
+
### Removed
|
|
23
|
+
- Dead code: unused `navigateTab()`, `scrollTab()`, `waitTab()` exports
|
|
24
|
+
|
|
25
|
+
### Security
|
|
26
|
+
- Blocked URL scheme detection returns proper 400 status code
|
|
27
|
+
|
|
28
|
+
## [1.3.0] - 2026-02-18
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
- **Persistent browser profiles**: Each userId gets a real Firefox profile directory that auto-persists ALL browser state (cookies, localStorage, IndexedDB, Service Workers, cache)
|
|
32
|
+
- New `CAMOFOX_PROFILES_DIR` environment variable for custom profile storage location (default: `~/.camofox/profiles`)
|
|
33
|
+
- Context pool manager with LRU eviction and eviction callbacks
|
|
34
|
+
- Health endpoint now reports pool stats (poolSize, activeUserIds, profileDirsTotal)
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
- Browser contexts are now backed by persistent Firefox profile directories instead of ephemeral in-memory contexts
|
|
38
|
+
- Session management refactored to use context pool
|
|
39
|
+
- Removed singleton browser pattern in favor of per-user browser processes
|
|
40
|
+
|
|
41
|
+
### Fixed
|
|
42
|
+
- Telegram and other IndexedDB-based sites now maintain login sessions across restarts
|
|
43
|
+
- Session eviction properly cleans up tab references
|
|
44
|
+
|
|
3
45
|
## [1.2.0] - 2026-02-18
|
|
4
46
|
|
|
5
47
|
### Changed
|
package/README.md
CHANGED
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
- **C++ Anti-Detection** — fingerprint spoofing at the Camoufox engine level (not JS injection)
|
|
43
43
|
- **REST API** — language-agnostic HTTP endpoints for browser automation and AI agent integration
|
|
44
44
|
- **Multi-Session** — concurrent isolated browser contexts per `userId` (defaults: max 50 sessions, max 10 tabs/session)
|
|
45
|
+
- **Persistent Browser Profiles** — Each user gets a dedicated Firefox profile. Cookies, localStorage, IndexedDB, and all browser storage persist across sessions automatically.
|
|
45
46
|
- **Geo Presets** — 8 built-in region presets (locale/timezone/geolocation) + custom presets file
|
|
46
47
|
- **14 Search Macros** — Google, YouTube, Amazon, Reddit (search + subreddit JSON), Wikipedia, Twitter, Yelp, Spotify, Netflix, LinkedIn, Instagram, TikTok, Twitch
|
|
47
48
|
- **Element Refs** — accessibility snapshots annotated with stable `eN` element references for precise interaction
|
|
@@ -85,6 +86,17 @@ docker build -t camofox-browser .
|
|
|
85
86
|
docker run -p 9377:9377 camofox-browser
|
|
86
87
|
```
|
|
87
88
|
|
|
89
|
+
To persist browser profiles (cookies, localStorage, IndexedDB, etc.) across container restarts:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
docker run -d \
|
|
93
|
+
-p 9377:9377 \
|
|
94
|
+
-v ~/.camofox:/home/node/.camofox \
|
|
95
|
+
ghcr.io/redf0x1/camofox-browser:latest
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The volume mount `-v ~/.camofox:/home/node/.camofox` ensures profiles persist across container restarts.
|
|
99
|
+
|
|
88
100
|
### Using Docker Compose
|
|
89
101
|
|
|
90
102
|
```yaml
|
|
@@ -132,6 +144,12 @@ AI Agent (MCP / OpenClaw / REST Client)
|
|
|
132
144
|
└──────────────────────────────────────────┘
|
|
133
145
|
```
|
|
134
146
|
|
|
147
|
+
### Persistent Profiles (v1.3.0+)
|
|
148
|
+
|
|
149
|
+
- Each `userId` runs in its own persistent Firefox process/context (backed by `launchPersistentContext(userDataDir)`)
|
|
150
|
+
- Profile data is stored at `~/.camofox/profiles/{userId}/` (override via `CAMOFOX_PROFILES_DIR`)
|
|
151
|
+
- Idle user contexts are closed via LRU eviction (profile data remains on disk)
|
|
152
|
+
|
|
135
153
|
## API Reference
|
|
136
154
|
|
|
137
155
|
Base URL: `http://localhost:9377`
|
|
@@ -234,6 +252,7 @@ Custom presets: set `CAMOFOX_PRESETS_FILE=/path/to/presets.json` (JSON object; k
|
|
|
234
252
|
| `CAMOFOX_ADMIN_KEY` | (empty) | Required for `POST /stop` (sent via `x-admin-key`) |
|
|
235
253
|
| `CAMOFOX_API_KEY` | (empty) | Enables cookie import endpoint; sent via `Authorization: Bearer ...` |
|
|
236
254
|
| `CAMOFOX_COOKIES_DIR` | `~/.camofox/cookies` | Directory used by the OpenClaw plugin cookie tool |
|
|
255
|
+
| `CAMOFOX_PROFILES_DIR` | `~/.camofox/profiles` | Profile storage directory (persistent per-user Firefox profiles) |
|
|
237
256
|
| `CAMOFOX_PRESETS_FILE` | (unset) | Optional JSON file defining/overriding geo presets |
|
|
238
257
|
| `CAMOFOX_SESSION_TIMEOUT` | `1800000` | Session idle timeout in ms (min `60000`) |
|
|
239
258
|
| `CAMOFOX_MAX_SESSIONS` | `50` | Maximum concurrent sessions |
|
|
@@ -250,6 +269,7 @@ Custom presets: set `CAMOFOX_PRESETS_FILE=/path/to/presets.json` (JSON object; k
|
|
|
250
269
|
```bash
|
|
251
270
|
docker build -t camofox-browser .
|
|
252
271
|
docker run -p 9377:9377 \
|
|
272
|
+
-v ~/.camofox:/home/node/.camofox \
|
|
253
273
|
-e CAMOFOX_PORT=9377 \
|
|
254
274
|
camofox-browser
|
|
255
275
|
```
|
|
@@ -299,7 +319,7 @@ src/
|
|
|
299
319
|
│ ├── core.ts # Core REST API (~21 endpoints)
|
|
300
320
|
│ └── openclaw.ts # OpenClaw compatibility (~7 endpoints)
|
|
301
321
|
├── services/
|
|
302
|
-
│ ├── browser.ts # Browser lifecycle
|
|
322
|
+
│ ├── browser.ts # Browser lifecycle + persistent context pool
|
|
303
323
|
│ ├── session.ts # Session management + limits
|
|
304
324
|
│ └── tab.ts # Tab operations (snapshot/click/type/etc.)
|
|
305
325
|
├── middleware/ # Auth, logging, errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/routes/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/routes/core.ts"],"names":[],"mappings":"AAkDA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAorBxB,eAAe,MAAM,CAAC"}
|
package/dist/src/routes/core.js
CHANGED
|
@@ -37,13 +37,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
40
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
40
41
|
const express_1 = __importStar(require("express"));
|
|
41
42
|
const errors_1 = require("../middleware/errors");
|
|
42
43
|
const logging_1 = require("../middleware/logging");
|
|
43
44
|
const auth_1 = require("../middleware/auth");
|
|
44
45
|
const config_1 = require("../utils/config");
|
|
45
46
|
const presets_1 = require("../utils/presets");
|
|
46
|
-
const
|
|
47
|
+
const context_pool_1 = require("../services/context-pool");
|
|
47
48
|
const session_1 = require("../services/session");
|
|
48
49
|
const tab_1 = require("../services/tab");
|
|
49
50
|
const CONFIG = (0, config_1.loadConfig)();
|
|
@@ -154,8 +155,26 @@ router.get('/tabs/:tabId/cookies', async (req, res) => {
|
|
|
154
155
|
// Health check
|
|
155
156
|
router.get('/health', async (_req, res) => {
|
|
156
157
|
try {
|
|
157
|
-
const
|
|
158
|
-
|
|
158
|
+
const activeUserIds = context_pool_1.contextPool.listActiveUserIds();
|
|
159
|
+
let profileDirsTotal = 0;
|
|
160
|
+
try {
|
|
161
|
+
profileDirsTotal = node_fs_1.default
|
|
162
|
+
.readdirSync(CONFIG.profilesDir, { withFileTypes: true })
|
|
163
|
+
.filter((d) => d.isDirectory())
|
|
164
|
+
.length;
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
profileDirsTotal = 0;
|
|
168
|
+
}
|
|
169
|
+
res.json({
|
|
170
|
+
ok: true,
|
|
171
|
+
running: true,
|
|
172
|
+
engine: 'camoufox',
|
|
173
|
+
browserConnected: activeUserIds.length > 0,
|
|
174
|
+
poolSize: context_pool_1.contextPool.size(),
|
|
175
|
+
activeUserIds,
|
|
176
|
+
profileDirsTotal,
|
|
177
|
+
});
|
|
159
178
|
}
|
|
160
179
|
catch (err) {
|
|
161
180
|
res.status(500).json({ ok: false, error: (0, errors_1.safeError)(err) });
|
|
@@ -264,12 +283,14 @@ router.post('/tabs/:tabId/navigate', async (req, res) => {
|
|
|
264
283
|
const tabId = req.params.tabId;
|
|
265
284
|
try {
|
|
266
285
|
const { userId, url, macro, query } = req.body;
|
|
286
|
+
if (!userId)
|
|
287
|
+
return res.status(400).json({ error: 'userId required' });
|
|
267
288
|
const found = (0, session_1.findTabById)(tabId, userId);
|
|
268
289
|
if (!found)
|
|
269
290
|
return res.status(404).json({ error: 'Tab not found' });
|
|
270
291
|
const { tabState } = found;
|
|
271
292
|
tabState.toolCalls++;
|
|
272
|
-
const result = await (0, tab_1.withTabLock)(tabId, async () => {
|
|
293
|
+
const result = await (0, session_1.withUserLimit)(String(userId), CONFIG.maxConcurrentPerUser, () => (0, tab_1.withTimeout)((0, tab_1.withTabLock)(tabId, async () => {
|
|
273
294
|
let targetUrl = url;
|
|
274
295
|
if (macro) {
|
|
275
296
|
// Reuse the same macro expansion as the legacy server implementation.
|
|
@@ -284,7 +305,7 @@ router.post('/tabs/:tabId/navigate', async (req, res) => {
|
|
|
284
305
|
tabState.visitedUrls.add(targetUrl);
|
|
285
306
|
tabState.refs = await (0, tab_1.buildRefs)(tabState.page);
|
|
286
307
|
return { status: 200, body: { ok: true, url: tabState.page.url() } };
|
|
287
|
-
});
|
|
308
|
+
}), CONFIG.handlerTimeoutMs, 'navigate'));
|
|
288
309
|
if (result.status !== 200)
|
|
289
310
|
return res.status(result.status).json(result.body);
|
|
290
311
|
(0, logging_1.log)('info', 'navigated', { reqId: req.reqId, tabId, url: result.body.url });
|
|
@@ -293,20 +314,23 @@ router.post('/tabs/:tabId/navigate', async (req, res) => {
|
|
|
293
314
|
catch (err) {
|
|
294
315
|
const message = err instanceof Error ? err.message : String(err);
|
|
295
316
|
(0, logging_1.log)('error', 'navigate failed', { reqId: req.reqId, tabId, error: message });
|
|
296
|
-
|
|
317
|
+
const status = err instanceof Error && err.message?.startsWith('Blocked URL scheme') ? 400 : 500;
|
|
318
|
+
return res.status(status).json({ error: (0, errors_1.safeError)(err) });
|
|
297
319
|
}
|
|
298
320
|
});
|
|
299
321
|
// Snapshot
|
|
300
322
|
router.get('/tabs/:tabId/snapshot', async (req, res) => {
|
|
301
323
|
try {
|
|
302
324
|
const userId = req.query.userId;
|
|
325
|
+
if (!userId)
|
|
326
|
+
return res.status(400).json({ error: 'userId required' });
|
|
303
327
|
const tabId = req.params.tabId;
|
|
304
328
|
const found = (0, session_1.findTabById)(tabId, userId);
|
|
305
329
|
if (!found)
|
|
306
330
|
return res.status(404).json({ error: 'Tab not found' });
|
|
307
331
|
const { tabState } = found;
|
|
308
332
|
tabState.toolCalls++;
|
|
309
|
-
const result = await (0, tab_1.snapshotTab)(tabState);
|
|
333
|
+
const result = await (0, session_1.withUserLimit)(String(userId), CONFIG.maxConcurrentPerUser, () => (0, tab_1.withTimeout)((0, tab_1.snapshotTab)(tabState), CONFIG.handlerTimeoutMs, 'snapshot'));
|
|
310
334
|
(0, logging_1.log)('info', 'snapshot', {
|
|
311
335
|
reqId: req.reqId,
|
|
312
336
|
tabId,
|
|
@@ -344,12 +368,14 @@ router.post('/tabs/:tabId/click', async (req, res) => {
|
|
|
344
368
|
const tabId = req.params.tabId;
|
|
345
369
|
try {
|
|
346
370
|
const { userId, ref, selector } = req.body;
|
|
371
|
+
if (!userId)
|
|
372
|
+
return res.status(400).json({ error: 'userId required' });
|
|
347
373
|
const found = (0, session_1.findTabById)(tabId, userId);
|
|
348
374
|
if (!found)
|
|
349
375
|
return res.status(404).json({ error: 'Tab not found' });
|
|
350
376
|
const { tabState } = found;
|
|
351
377
|
tabState.toolCalls++;
|
|
352
|
-
const result = await (0, tab_1.clickTab)(tabId, tabState, { ref, selector });
|
|
378
|
+
const result = await (0, session_1.withUserLimit)(String(userId), CONFIG.maxConcurrentPerUser, () => (0, tab_1.withTimeout)((0, tab_1.clickTab)(tabId, tabState, { ref, selector }), CONFIG.handlerTimeoutMs, 'click'));
|
|
353
379
|
(0, logging_1.log)('info', 'clicked', { reqId: req.reqId, tabId, url: result.url });
|
|
354
380
|
return res.json(result);
|
|
355
381
|
}
|
|
@@ -372,7 +398,7 @@ router.post('/tabs/:tabId/type', async (req, res) => {
|
|
|
372
398
|
return res.status(404).json({ error: 'Tab not found' });
|
|
373
399
|
const { tabState } = found;
|
|
374
400
|
tabState.toolCalls++;
|
|
375
|
-
const result = await (0, tab_1.typeTab)(tabId, tabState, { ref, selector, text: String(text ?? '') });
|
|
401
|
+
const result = await (0, tab_1.withTimeout)((0, tab_1.typeTab)(tabId, tabState, { ref, selector, text: String(text ?? '') }), CONFIG.handlerTimeoutMs, 'type');
|
|
376
402
|
return res.json(result);
|
|
377
403
|
}
|
|
378
404
|
catch (err) {
|
|
@@ -394,7 +420,7 @@ router.post('/tabs/:tabId/press', async (req, res) => {
|
|
|
394
420
|
return res.status(404).json({ error: 'Tab not found' });
|
|
395
421
|
const { tabState } = found;
|
|
396
422
|
tabState.toolCalls++;
|
|
397
|
-
await (0, tab_1.pressTab)(tabId, tabState, String(key ?? ''));
|
|
423
|
+
await (0, tab_1.withTimeout)((0, tab_1.pressTab)(tabId, tabState, String(key ?? '')), CONFIG.handlerTimeoutMs, 'press');
|
|
398
424
|
return res.json({ ok: true });
|
|
399
425
|
}
|
|
400
426
|
catch (err) {
|
|
@@ -483,7 +509,7 @@ router.post('/tabs/:tabId/back', async (req, res) => {
|
|
|
483
509
|
return res.status(404).json({ error: 'Tab not found' });
|
|
484
510
|
const { tabState } = found;
|
|
485
511
|
tabState.toolCalls++;
|
|
486
|
-
const result = await (0, tab_1.backTab)(tabId, tabState);
|
|
512
|
+
const result = await (0, tab_1.withTimeout)((0, tab_1.backTab)(tabId, tabState), CONFIG.handlerTimeoutMs, 'back');
|
|
487
513
|
return res.json(result);
|
|
488
514
|
}
|
|
489
515
|
catch (err) {
|
|
@@ -502,7 +528,7 @@ router.post('/tabs/:tabId/forward', async (req, res) => {
|
|
|
502
528
|
return res.status(404).json({ error: 'Tab not found' });
|
|
503
529
|
const { tabState } = found;
|
|
504
530
|
tabState.toolCalls++;
|
|
505
|
-
const result = await (0, tab_1.forwardTab)(tabId, tabState);
|
|
531
|
+
const result = await (0, tab_1.withTimeout)((0, tab_1.forwardTab)(tabId, tabState), CONFIG.handlerTimeoutMs, 'forward');
|
|
506
532
|
return res.json(result);
|
|
507
533
|
}
|
|
508
534
|
catch (err) {
|
|
@@ -521,7 +547,7 @@ router.post('/tabs/:tabId/refresh', async (req, res) => {
|
|
|
521
547
|
return res.status(404).json({ error: 'Tab not found' });
|
|
522
548
|
const { tabState } = found;
|
|
523
549
|
tabState.toolCalls++;
|
|
524
|
-
const result = await (0, tab_1.refreshTab)(tabId, tabState);
|
|
550
|
+
const result = await (0, tab_1.withTimeout)((0, tab_1.refreshTab)(tabId, tabState), CONFIG.handlerTimeoutMs, 'refresh');
|
|
525
551
|
return res.json(result);
|
|
526
552
|
}
|
|
527
553
|
catch (err) {
|
|
@@ -601,7 +627,7 @@ router.delete('/tabs/:tabId', async (req, res) => {
|
|
|
601
627
|
const { userId } = req.body;
|
|
602
628
|
const found = (0, session_1.findTabById)(req.params.tabId, userId);
|
|
603
629
|
if (found) {
|
|
604
|
-
await found.tabState.page
|
|
630
|
+
await (0, tab_1.safePageClose)(found.tabState.page);
|
|
605
631
|
found.group.delete(req.params.tabId);
|
|
606
632
|
(0, session_1.unindexTab)(req.params.tabId);
|
|
607
633
|
if (found.group.size === 0) {
|
|
@@ -627,7 +653,7 @@ router.delete('/tabs/group/:listItemId', async (req, res) => {
|
|
|
627
653
|
if (!group)
|
|
628
654
|
continue;
|
|
629
655
|
for (const [tabId, tabState] of group) {
|
|
630
|
-
await tabState.page
|
|
656
|
+
await (0, tab_1.safePageClose)(tabState.page);
|
|
631
657
|
(0, session_1.unindexTab)(tabId);
|
|
632
658
|
}
|
|
633
659
|
session.tabGroups.delete(req.params.listItemId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/routes/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/routes/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw.d.ts","sourceRoot":"","sources":["../../../src/routes/openclaw.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openclaw.d.ts","sourceRoot":"","sources":["../../../src/routes/openclaw.ts"],"names":[],"mappings":"AAwCA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAqZxB,eAAe,MAAM,CAAC"}
|
|
@@ -4,12 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
7
8
|
const express_1 = require("express");
|
|
8
9
|
const errors_1 = require("../middleware/errors");
|
|
9
10
|
const logging_1 = require("../middleware/logging");
|
|
10
11
|
const auth_1 = require("../middleware/auth");
|
|
11
12
|
const config_1 = require("../utils/config");
|
|
12
13
|
const browser_1 = require("../services/browser");
|
|
14
|
+
const context_pool_1 = require("../services/context-pool");
|
|
13
15
|
const session_1 = require("../services/session");
|
|
14
16
|
const tab_1 = require("../services/tab");
|
|
15
17
|
const CONFIG = (0, config_1.loadConfig)();
|
|
@@ -20,13 +22,26 @@ function isLoadState(value) {
|
|
|
20
22
|
// GET / - Status (alias for GET /health)
|
|
21
23
|
router.get('/', async (_req, res) => {
|
|
22
24
|
try {
|
|
23
|
-
const
|
|
25
|
+
const activeUserIds = context_pool_1.contextPool.listActiveUserIds();
|
|
26
|
+
let profileDirsTotal = 0;
|
|
27
|
+
try {
|
|
28
|
+
profileDirsTotal = node_fs_1.default
|
|
29
|
+
.readdirSync(CONFIG.profilesDir, { withFileTypes: true })
|
|
30
|
+
.filter((d) => d.isDirectory())
|
|
31
|
+
.length;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
profileDirsTotal = 0;
|
|
35
|
+
}
|
|
24
36
|
res.json({
|
|
25
37
|
ok: true,
|
|
26
38
|
enabled: true,
|
|
27
|
-
running:
|
|
39
|
+
running: true,
|
|
28
40
|
engine: 'camoufox',
|
|
29
|
-
browserConnected:
|
|
41
|
+
browserConnected: activeUserIds.length > 0,
|
|
42
|
+
poolSize: context_pool_1.contextPool.size(),
|
|
43
|
+
activeUserIds,
|
|
44
|
+
profileDirsTotal,
|
|
30
45
|
});
|
|
31
46
|
}
|
|
32
47
|
catch (err) {
|
|
@@ -78,7 +93,6 @@ router.post('/tabs/open', async (req, res) => {
|
|
|
78
93
|
// POST /start - Start browser (OpenClaw expects this)
|
|
79
94
|
router.post('/start', async (_req, res) => {
|
|
80
95
|
try {
|
|
81
|
-
await (0, browser_1.ensureBrowser)();
|
|
82
96
|
res.json({ ok: true, profile: 'camoufox' });
|
|
83
97
|
}
|
|
84
98
|
catch (err) {
|
|
@@ -91,9 +105,8 @@ router.post('/stop', async (req, res) => {
|
|
|
91
105
|
if (!(0, auth_1.isAuthorizedWithAdminKey)(req, CONFIG.adminKey)) {
|
|
92
106
|
return res.status(403).json({ error: 'Forbidden' });
|
|
93
107
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
108
|
+
await (0, session_1.closeAllSessions)();
|
|
109
|
+
await (0, browser_1.closeBrowser)();
|
|
97
110
|
(0, session_1.clearAllState)();
|
|
98
111
|
res.json({ ok: true, stopped: true, profile: 'camoufox' });
|
|
99
112
|
}
|
|
@@ -120,12 +133,12 @@ router.post('/navigate', async (req, res) => {
|
|
|
120
133
|
}
|
|
121
134
|
const { tabState } = found;
|
|
122
135
|
tabState.toolCalls++;
|
|
123
|
-
const result = await (0, tab_1.withTabLock)(String(targetId), async () => {
|
|
136
|
+
const result = await (0, session_1.withUserLimit)(String(userId), CONFIG.maxConcurrentPerUser, () => (0, tab_1.withTimeout)((0, tab_1.withTabLock)(String(targetId), async () => {
|
|
124
137
|
await tabState.page.goto(url, { waitUntil: 'domcontentloaded', timeout: 30000 });
|
|
125
138
|
tabState.visitedUrls.add(url);
|
|
126
139
|
tabState.refs = await (0, tab_1.buildRefs)(tabState.page);
|
|
127
140
|
return { ok: true, targetId, url: tabState.page.url() };
|
|
128
|
-
});
|
|
141
|
+
}), CONFIG.handlerTimeoutMs, 'openclaw-navigate'));
|
|
129
142
|
return res.json(result);
|
|
130
143
|
}
|
|
131
144
|
catch (err) {
|
|
@@ -147,16 +160,19 @@ router.get('/snapshot', async (req, res) => {
|
|
|
147
160
|
}
|
|
148
161
|
const { tabState } = found;
|
|
149
162
|
tabState.toolCalls++;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
163
|
+
const result = await (0, tab_1.withTimeout)((async () => {
|
|
164
|
+
tabState.refs = await (0, tab_1.buildRefs)(tabState.page);
|
|
165
|
+
const ariaYaml = await (0, tab_1.getAriaSnapshot)(tabState.page);
|
|
166
|
+
const annotatedYaml = (0, tab_1.annotateAriaYamlWithRefs)(ariaYaml, tabState.refs);
|
|
167
|
+
return { url: tabState.page.url(), snapshot: annotatedYaml, refsCount: tabState.refs.size };
|
|
168
|
+
})(), CONFIG.handlerTimeoutMs, 'openclaw-snapshot');
|
|
153
169
|
return res.json({
|
|
154
170
|
ok: true,
|
|
155
171
|
format: 'aria',
|
|
156
172
|
targetId,
|
|
157
|
-
url:
|
|
158
|
-
snapshot:
|
|
159
|
-
refsCount:
|
|
173
|
+
url: result.url,
|
|
174
|
+
snapshot: result.snapshot,
|
|
175
|
+
refsCount: result.refsCount,
|
|
160
176
|
});
|
|
161
177
|
}
|
|
162
178
|
catch (err) {
|
|
@@ -187,7 +203,7 @@ router.post('/act', async (req, res) => {
|
|
|
187
203
|
}
|
|
188
204
|
const { tabState } = found;
|
|
189
205
|
tabState.toolCalls++;
|
|
190
|
-
const result = await (0, tab_1.withTabLock)(targetId, async () => {
|
|
206
|
+
const result = await (0, session_1.withUserLimit)(String(userId), CONFIG.maxConcurrentPerUser, () => (0, tab_1.withTimeout)((0, tab_1.withTabLock)(targetId, async () => {
|
|
191
207
|
switch (kind) {
|
|
192
208
|
case 'click': {
|
|
193
209
|
const params = body;
|
|
@@ -311,7 +327,7 @@ router.post('/act', async (req, res) => {
|
|
|
311
327
|
return { ok: true, targetId, url: tabState.page.url() };
|
|
312
328
|
}
|
|
313
329
|
case 'close': {
|
|
314
|
-
await tabState.page
|
|
330
|
+
await (0, tab_1.safePageClose)(tabState.page);
|
|
315
331
|
found.group.delete(String(targetId));
|
|
316
332
|
(0, session_1.unindexTab)(String(targetId));
|
|
317
333
|
if (found.group.size === 0) {
|
|
@@ -322,7 +338,7 @@ router.post('/act', async (req, res) => {
|
|
|
322
338
|
default:
|
|
323
339
|
throw new Error(`Unsupported action kind: ${kind}`);
|
|
324
340
|
}
|
|
325
|
-
});
|
|
341
|
+
}), CONFIG.handlerTimeoutMs, 'act'));
|
|
326
342
|
return res.json(result);
|
|
327
343
|
}
|
|
328
344
|
catch (err) {
|