camofox-browser 2.1.1 → 2.4.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.
Files changed (102) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +304 -33
  3. package/dist/src/cli/commands/content.d.ts.map +1 -1
  4. package/dist/src/cli/commands/content.js +37 -0
  5. package/dist/src/cli/commands/content.js.map +1 -1
  6. package/dist/src/cli/commands/core.d.ts.map +1 -1
  7. package/dist/src/cli/commands/core.js +21 -4
  8. package/dist/src/cli/commands/core.js.map +1 -1
  9. package/dist/src/cli/commands/interaction.d.ts.map +1 -1
  10. package/dist/src/cli/commands/interaction.js +5 -14
  11. package/dist/src/cli/commands/interaction.js.map +1 -1
  12. package/dist/src/cli/commands/navigation.d.ts.map +1 -1
  13. package/dist/src/cli/commands/navigation.js +12 -6
  14. package/dist/src/cli/commands/navigation.js.map +1 -1
  15. package/dist/src/cli/commands/server.d.ts.map +1 -1
  16. package/dist/src/cli/commands/server.js +9 -3
  17. package/dist/src/cli/commands/server.js.map +1 -1
  18. package/dist/src/cli/commands/session.d.ts.map +1 -1
  19. package/dist/src/cli/commands/session.js +23 -5
  20. package/dist/src/cli/commands/session.js.map +1 -1
  21. package/dist/src/cli/server/manager.d.ts +1 -0
  22. package/dist/src/cli/server/manager.d.ts.map +1 -1
  23. package/dist/src/cli/server/manager.js +7 -12
  24. package/dist/src/cli/server/manager.js.map +1 -1
  25. package/dist/src/middleware/lifecycle-activity.d.ts +9 -0
  26. package/dist/src/middleware/lifecycle-activity.d.ts.map +1 -0
  27. package/dist/src/middleware/lifecycle-activity.js +21 -0
  28. package/dist/src/middleware/lifecycle-activity.js.map +1 -0
  29. package/dist/src/openapi/spec.d.ts +4 -0
  30. package/dist/src/openapi/spec.d.ts.map +1 -0
  31. package/dist/src/openapi/spec.js +730 -0
  32. package/dist/src/openapi/spec.js.map +1 -0
  33. package/dist/src/routes/core.d.ts.map +1 -1
  34. package/dist/src/routes/core.js +428 -53
  35. package/dist/src/routes/core.js.map +1 -1
  36. package/dist/src/routes/docs.d.ts +3 -0
  37. package/dist/src/routes/docs.d.ts.map +1 -0
  38. package/dist/src/routes/docs.js +23 -0
  39. package/dist/src/routes/docs.js.map +1 -0
  40. package/dist/src/routes/openclaw.d.ts.map +1 -1
  41. package/dist/src/routes/openclaw.js +244 -90
  42. package/dist/src/routes/openclaw.js.map +1 -1
  43. package/dist/src/server.js +55 -4
  44. package/dist/src/server.js.map +1 -1
  45. package/dist/src/services/context-pool.d.ts +19 -3
  46. package/dist/src/services/context-pool.d.ts.map +1 -1
  47. package/dist/src/services/context-pool.js +248 -65
  48. package/dist/src/services/context-pool.js.map +1 -1
  49. package/dist/src/services/download.d.ts +2 -0
  50. package/dist/src/services/download.d.ts.map +1 -1
  51. package/dist/src/services/download.js +110 -80
  52. package/dist/src/services/download.js.map +1 -1
  53. package/dist/src/services/lifecycle-controller.d.ts +40 -0
  54. package/dist/src/services/lifecycle-controller.d.ts.map +1 -0
  55. package/dist/src/services/lifecycle-controller.js +106 -0
  56. package/dist/src/services/lifecycle-controller.js.map +1 -0
  57. package/dist/src/services/resource-extractor.d.ts +1 -0
  58. package/dist/src/services/resource-extractor.d.ts.map +1 -1
  59. package/dist/src/services/resource-extractor.js +7 -0
  60. package/dist/src/services/resource-extractor.js.map +1 -1
  61. package/dist/src/services/session.d.ts +84 -2
  62. package/dist/src/services/session.d.ts.map +1 -1
  63. package/dist/src/services/session.js +349 -47
  64. package/dist/src/services/session.js.map +1 -1
  65. package/dist/src/services/structured-extractor.d.ts +39 -0
  66. package/dist/src/services/structured-extractor.d.ts.map +1 -0
  67. package/dist/src/services/structured-extractor.js +487 -0
  68. package/dist/src/services/structured-extractor.js.map +1 -0
  69. package/dist/src/services/tab.d.ts +30 -3
  70. package/dist/src/services/tab.d.ts.map +1 -1
  71. package/dist/src/services/tab.js +872 -124
  72. package/dist/src/services/tab.js.map +1 -1
  73. package/dist/src/services/tracing.d.ts +7 -0
  74. package/dist/src/services/tracing.d.ts.map +1 -1
  75. package/dist/src/services/tracing.js +162 -19
  76. package/dist/src/services/tracing.js.map +1 -1
  77. package/dist/src/services/vnc.d.ts.map +1 -1
  78. package/dist/src/services/vnc.js +5 -3
  79. package/dist/src/services/vnc.js.map +1 -1
  80. package/dist/src/services/youtube.js +1 -1
  81. package/dist/src/services/youtube.js.map +1 -1
  82. package/dist/src/types.d.ts +71 -1
  83. package/dist/src/types.d.ts.map +1 -1
  84. package/dist/src/utils/config.d.ts +79 -3
  85. package/dist/src/utils/config.d.ts.map +1 -1
  86. package/dist/src/utils/config.js +145 -3
  87. package/dist/src/utils/config.js.map +1 -1
  88. package/dist/src/utils/presets.d.ts.map +1 -1
  89. package/dist/src/utils/presets.js +3 -1
  90. package/dist/src/utils/presets.js.map +1 -1
  91. package/dist/src/utils/proxy-profiles.d.ts +18 -0
  92. package/dist/src/utils/proxy-profiles.d.ts.map +1 -0
  93. package/dist/src/utils/proxy-profiles.js +197 -0
  94. package/dist/src/utils/proxy-profiles.js.map +1 -0
  95. package/dist/src/utils/sidecar-version.d.ts +12 -0
  96. package/dist/src/utils/sidecar-version.d.ts.map +1 -0
  97. package/dist/src/utils/sidecar-version.js +63 -0
  98. package/dist/src/utils/sidecar-version.js.map +1 -0
  99. package/dist/tsconfig.tsbuildinfo +1 -1
  100. package/openclaw.plugin.json +39 -0
  101. package/package.json +16 -4
  102. package/plugin.ts +949 -0
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -10,9 +43,12 @@ const express_1 = require("express");
10
43
  const errors_1 = require("../middleware/errors");
11
44
  const logging_1 = require("../middleware/logging");
12
45
  const auth_1 = require("../middleware/auth");
46
+ const structured_extractor_1 = require("../services/structured-extractor");
13
47
  const config_1 = require("../utils/config");
14
48
  const browser_1 = require("../services/browser");
15
49
  const context_pool_1 = require("../services/context-pool");
50
+ const lifecycle_controller_1 = require("../services/lifecycle-controller");
51
+ const download_1 = require("../services/download");
16
52
  const session_1 = require("../services/session");
17
53
  const tab_1 = require("../services/tab");
18
54
  const CONFIG = (0, config_1.loadConfig)();
@@ -26,6 +62,15 @@ const PKG_VERSION = (() => {
26
62
  return pkg.version;
27
63
  })();
28
64
  const router = (0, express_1.Router)();
65
+ function getRouteErrorStatus(err) {
66
+ if (typeof err === 'object' && err !== null && 'statusCode' in err && typeof err.statusCode === 'number') {
67
+ return err.statusCode;
68
+ }
69
+ if (typeof err === 'object' && err !== null && 'status' in err && typeof err.status === 'number') {
70
+ return err.status;
71
+ }
72
+ return 500;
73
+ }
29
74
  function isLoadState(value) {
30
75
  return value === 'load' || value === 'domcontentloaded' || value === 'networkidle';
31
76
  }
@@ -62,18 +107,57 @@ router.get('/', async (_req, res) => {
62
107
  // POST /tabs/open - Open tab (alias for POST /tabs, OpenClaw format)
63
108
  router.post('/tabs/open', async (req, res) => {
64
109
  try {
65
- const { url, userId, listItemId = 'default' } = req.body;
110
+ if (CONFIG.apiKey && !(0, auth_1.isAuthorizedWithApiKey)(req, CONFIG.apiKey)) {
111
+ return res.status(403).json({ error: 'Forbidden' });
112
+ }
113
+ const { url, userId, listItemId = 'default', proxyProfile, proxy, geoMode } = req.body;
66
114
  if (!userId) {
67
115
  return res.status(400).json({ error: 'userId is required' });
68
116
  }
69
117
  if (!url) {
70
118
  return res.status(400).json({ error: 'url is required' });
71
119
  }
72
- const urlErr = (0, tab_1.validateUrl)(url);
120
+ // Establish/check session profile if proxy/geo fields provided
121
+ if (proxyProfile || proxy || geoMode) {
122
+ const { resolveSessionProfileInput, getConfiguredServerProxy, loadProxyProfiles } = await Promise.resolve().then(() => __importStar(require('../utils/proxy-profiles')));
123
+ const { establishSessionProfile } = await Promise.resolve().then(() => __importStar(require('../services/session')));
124
+ const profileInput = {
125
+ proxy: proxy,
126
+ proxyProfile,
127
+ geoMode: geoMode,
128
+ };
129
+ const deps = {
130
+ serverProxy: getConfiguredServerProxy(CONFIG.proxy),
131
+ proxyProfiles: loadProxyProfiles(CONFIG.proxyProfilesFile),
132
+ };
133
+ try {
134
+ const resolvedProfileBase = resolveSessionProfileInput(profileInput, deps);
135
+ const resolvedProfile = { ...resolvedProfileBase, sessionKey: listItemId };
136
+ establishSessionProfile(userId, listItemId, resolvedProfile);
137
+ }
138
+ catch (err) {
139
+ const message = err instanceof Error ? err.message : String(err);
140
+ if (message === 'Session profile conflict') {
141
+ return res.status(409).json({ error: 'Session profile conflict' });
142
+ }
143
+ return res.status(400).json({ error: message });
144
+ }
145
+ }
146
+ const urlErr = await (0, tab_1.validateNavigationUrl)(url, {
147
+ allowPrivateNetworkTargets: CONFIG.allowPrivateNetworkTargets,
148
+ });
73
149
  if (urlErr)
74
150
  return res.status(400).json({ error: urlErr });
75
- const sessionMapKey = (0, session_1.getSessionMapKey)(userId, null);
76
- const session = await (0, session_1.getSession)(userId);
151
+ const canonical = (0, session_1.getCanonicalProfile)(userId);
152
+ if (!canonical) {
153
+ (0, logging_1.log)('warn', 'openclaw tab open rejected: no canonical profile', { userId: String(userId) });
154
+ return res.status(409).json({
155
+ error: 'No canonical profile',
156
+ message: 'Cannot open tabs via this endpoint without an established canonical profile. Use core POST /tabs first.',
157
+ });
158
+ }
159
+ const sessionMapKey = (0, session_1.getSessionMapKey)(userId, canonical.resolvedOverrides);
160
+ const session = await (0, session_1.getSession)(userId, canonical.resolvedOverrides);
77
161
  const totalTabs = (0, session_1.countTotalTabsForSessions)([[sessionMapKey, session]]);
78
162
  if (totalTabs >= session_1.MAX_TABS_PER_SESSION) {
79
163
  return res.status(429).json({ error: 'Maximum tabs per session reached' });
@@ -81,12 +165,18 @@ router.post('/tabs/open', async (req, res) => {
81
165
  const group = (0, session_1.getTabGroup)(session, listItemId);
82
166
  const page = await session.context.newPage();
83
167
  const tabId = node_crypto_1.default.randomUUID();
84
- const tabState = (0, tab_1.createTabState)(page);
168
+ const tabState = await (0, tab_1.createTabState)(page);
85
169
  group.set(tabId, tabState);
86
170
  (0, session_1.indexTab)(tabId, sessionMapKey);
87
- await page.goto(url, { waitUntil: 'domcontentloaded', timeout: 30000 });
171
+ (0, download_1.registerDownloadListener)(tabId, String(userId), page);
172
+ await (0, tab_1.navigateWithSafetyGuard)(page, url, {
173
+ allowPrivateNetworkTargets: CONFIG.allowPrivateNetworkTargets,
174
+ waitUntil: 'domcontentloaded',
175
+ timeout: 30000,
176
+ });
88
177
  tabState.visitedUrls.add(url);
89
178
  (0, logging_1.log)('info', 'openclaw tab opened', { reqId: req.reqId, tabId, url: page.url() });
179
+ lifecycle_controller_1.lifecycleController.recordInteractiveActivity();
90
180
  return res.json({
91
181
  ok: true,
92
182
  targetId: tabId,
@@ -98,7 +188,7 @@ router.post('/tabs/open', async (req, res) => {
98
188
  catch (err) {
99
189
  const message = err instanceof Error ? err.message : String(err);
100
190
  (0, logging_1.log)('error', 'openclaw tab open failed', { reqId: req.reqId, error: message });
101
- return res.status(500).json({ error: (0, errors_1.safeError)(err) });
191
+ return res.status(getRouteErrorStatus(err)).json({ error: (0, errors_1.safeError)(err) });
102
192
  }
103
193
  });
104
194
  // POST /start - Start browser (OpenClaw expects this)
@@ -128,16 +218,16 @@ router.post('/stop', async (req, res) => {
128
218
  // POST /navigate - Navigate (OpenClaw format with targetId in body)
129
219
  router.post('/navigate', async (req, res) => {
130
220
  try {
131
- const { targetId, url, userId } = req.body;
221
+ if (CONFIG.apiKey && !(0, auth_1.isAuthorizedWithApiKey)(req, CONFIG.apiKey)) {
222
+ return res.status(403).json({ error: 'Forbidden' });
223
+ }
224
+ const { targetId, url, macro, query, userId } = req.body;
132
225
  if (!userId) {
133
226
  return res.status(400).json({ error: 'userId is required' });
134
227
  }
135
- if (!url) {
136
- return res.status(400).json({ error: 'url is required' });
228
+ if (!url && !macro) {
229
+ return res.status(400).json({ error: 'url or macro required' });
137
230
  }
138
- const urlErr = (0, tab_1.validateUrl)(url);
139
- if (urlErr)
140
- return res.status(400).json({ error: urlErr });
141
231
  const found = (0, session_1.findTabById)(String(targetId), userId);
142
232
  if (!found) {
143
233
  return res.status(404).json({ error: 'Tab not found' });
@@ -145,17 +235,36 @@ router.post('/navigate', async (req, res) => {
145
235
  const { tabState } = found;
146
236
  tabState.toolCalls++;
147
237
  const result = await (0, session_1.withUserLimit)(String(userId), CONFIG.maxConcurrentPerUser, () => (0, tab_1.withTimeout)((0, tab_1.withTabLock)(String(targetId), async () => {
148
- await tabState.page.goto(url, { waitUntil: 'domcontentloaded', timeout: 30000 });
149
- tabState.visitedUrls.add(url);
238
+ let targetUrl = url;
239
+ if (macro) {
240
+ const { expandMacro } = await Promise.resolve().then(() => __importStar(require('../utils/macros')));
241
+ targetUrl = expandMacro(macro, query) || url;
242
+ }
243
+ if (!targetUrl)
244
+ return { status: 400, body: { error: 'url or macro required' } };
245
+ const urlErr = await (0, tab_1.validateNavigationUrl)(targetUrl, {
246
+ allowPrivateNetworkTargets: CONFIG.allowPrivateNetworkTargets,
247
+ });
248
+ if (urlErr)
249
+ return { status: 400, body: { error: urlErr } };
250
+ await (0, tab_1.navigateWithSafetyGuard)(tabState.page, targetUrl, {
251
+ allowPrivateNetworkTargets: CONFIG.allowPrivateNetworkTargets,
252
+ waitUntil: 'domcontentloaded',
253
+ timeout: 30000,
254
+ });
255
+ tabState.visitedUrls.add(targetUrl);
150
256
  tabState.refs = await (0, tab_1.buildRefs)(tabState.page);
151
- return { ok: true, targetId, url: tabState.page.url() };
257
+ return { status: 200, body: { ok: true, targetId, url: tabState.page.url() } };
152
258
  }), CONFIG.handlerTimeoutMs, 'openclaw-navigate'));
153
- return res.json(result);
259
+ if (result.status !== 200)
260
+ return res.status(result.status).json(result.body);
261
+ lifecycle_controller_1.lifecycleController.recordInteractiveActivity();
262
+ return res.json(result.body);
154
263
  }
155
264
  catch (err) {
156
265
  const message = err instanceof Error ? err.message : String(err);
157
266
  (0, logging_1.log)('error', 'openclaw navigate failed', { reqId: req.reqId, error: message });
158
- return res.status(500).json({ error: (0, errors_1.safeError)(err) });
267
+ return res.status(getRouteErrorStatus(err)).json({ error: (0, errors_1.safeError)(err) });
159
268
  }
160
269
  });
161
270
  // GET /snapshot - Snapshot (OpenClaw format with query params)
@@ -171,25 +280,29 @@ router.get('/snapshot', async (req, res) => {
171
280
  }
172
281
  const { tabState } = found;
173
282
  tabState.toolCalls++;
174
- const result = await (0, tab_1.withTimeout)((0, tab_1.snapshotTab)(tabState), CONFIG.handlerTimeoutMs, 'openclaw-snapshot');
283
+ const rawOffset = Number(req.query.offset);
284
+ const offset = Number.isFinite(rawOffset) && rawOffset > 0 ? Math.floor(rawOffset) : 0;
285
+ const raw = await (0, session_1.withUserLimit)(String(userId), CONFIG.maxConcurrentPerUser, () => (0, tab_1.withTimeout)((0, tab_1.snapshotTab)(tabState), CONFIG.handlerTimeoutMs, 'openclaw-snapshot'));
286
+ const payload = (0, tab_1.buildSnapshotPayload)(raw, offset);
175
287
  return res.json({
176
288
  ok: true,
177
289
  format: 'aria',
178
290
  targetId,
179
- url: result.url,
180
- snapshot: result.snapshot,
181
- refsCount: result.refsCount,
291
+ ...payload,
182
292
  });
183
293
  }
184
294
  catch (err) {
185
295
  const message = err instanceof Error ? err.message : String(err);
186
296
  (0, logging_1.log)('error', 'openclaw snapshot failed', { reqId: req.reqId, error: message });
187
- return res.status(500).json({ error: (0, errors_1.safeError)(err) });
297
+ return res.status(getRouteErrorStatus(err)).json({ error: (0, errors_1.safeError)(err) });
188
298
  }
189
299
  });
190
300
  // POST /act - Combined action endpoint (OpenClaw format)
191
301
  router.post('/act', async (req, res) => {
192
302
  try {
303
+ if (CONFIG.apiKey && !(0, auth_1.isAuthorizedWithApiKey)(req, CONFIG.apiKey)) {
304
+ return res.status(403).json({ error: 'Forbidden' });
305
+ }
193
306
  const body = req.body;
194
307
  const kind = typeof body.kind === 'string' ? body.kind : undefined;
195
308
  const targetId = typeof body.targetId === 'string' ? body.targetId : undefined;
@@ -235,16 +348,17 @@ router.post('/act', async (req, res) => {
235
348
  }
236
349
  }
237
350
  };
238
- if (ref) {
239
- const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
240
- if (!locator)
241
- throw new Error(`Unknown ref: ${ref}`);
242
- await doClick(locator);
243
- }
244
- else {
245
- await doClick(String(selector));
246
- }
247
- await tabState.page.waitForTimeout(500);
351
+ await (0, tab_1.withBlockedNavigationTracking)(tabState.page, async () => {
352
+ if (ref) {
353
+ const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
354
+ if (!locator)
355
+ throw new Error(`Unknown ref: ${ref}`);
356
+ await doClick(locator);
357
+ }
358
+ else {
359
+ await doClick(String(selector));
360
+ }
361
+ });
248
362
  tabState.refs = await (0, tab_1.buildRefs)(tabState.page);
249
363
  return { ok: true, targetId, url: tabState.page.url() };
250
364
  }
@@ -257,20 +371,22 @@ router.post('/act', async (req, res) => {
257
371
  if (typeof text !== 'string' || text.length === 0) {
258
372
  throw new Error('text is required');
259
373
  }
260
- if (ref) {
261
- const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
262
- if (!locator)
263
- throw new Error(`Unknown ref: ${ref}`);
264
- await (0, tab_1.smartFill)(locator, tabState.page, text);
265
- if (submit)
266
- await tabState.page.keyboard.press('Enter');
267
- }
268
- else {
269
- const locator = tabState.page.locator(String(selector));
270
- await (0, tab_1.smartFill)(locator, tabState.page, text);
271
- if (submit)
272
- await tabState.page.keyboard.press('Enter');
273
- }
374
+ await (0, tab_1.withBlockedNavigationTracking)(tabState.page, async () => {
375
+ if (ref) {
376
+ const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
377
+ if (!locator)
378
+ throw new Error(`Unknown ref: ${ref}`);
379
+ await (0, tab_1.smartFill)(locator, tabState.page, text);
380
+ if (submit)
381
+ await tabState.page.keyboard.press('Enter');
382
+ }
383
+ else {
384
+ const locator = tabState.page.locator(String(selector));
385
+ await (0, tab_1.smartFill)(locator, tabState.page, text);
386
+ if (submit)
387
+ await tabState.page.keyboard.press('Enter');
388
+ }
389
+ });
274
390
  return { ok: true, targetId };
275
391
  }
276
392
  case 'select': {
@@ -282,15 +398,17 @@ router.post('/act', async (req, res) => {
282
398
  if (typeof value !== 'string') {
283
399
  throw new Error('value is required');
284
400
  }
285
- if (ref) {
286
- const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
287
- if (!locator)
288
- throw new Error(`Unknown ref: ${ref}`);
289
- await locator.selectOption(value);
290
- }
291
- else {
292
- await tabState.page.locator(String(selector)).selectOption(value);
293
- }
401
+ await (0, tab_1.withBlockedNavigationTracking)(tabState.page, async () => {
402
+ if (ref) {
403
+ const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
404
+ if (!locator)
405
+ throw new Error(`Unknown ref: ${ref}`);
406
+ await locator.selectOption(value);
407
+ }
408
+ else {
409
+ await tabState.page.locator(String(selector)).selectOption(value);
410
+ }
411
+ });
294
412
  return { ok: true, targetId };
295
413
  }
296
414
  case 'press': {
@@ -298,7 +416,9 @@ router.post('/act', async (req, res) => {
298
416
  const { key } = params;
299
417
  if (!key)
300
418
  throw new Error('key is required');
301
- await tabState.page.keyboard.press(key);
419
+ await (0, tab_1.withBlockedNavigationTracking)(tabState.page, async () => {
420
+ await tabState.page.keyboard.press(key);
421
+ });
302
422
  return { ok: true, targetId };
303
423
  }
304
424
  case 'scroll':
@@ -307,17 +427,20 @@ router.post('/act', async (req, res) => {
307
427
  const ref = params.ref;
308
428
  const direction = params.direction ?? 'down';
309
429
  const amount = params.amount ?? 500;
310
- if (ref) {
311
- const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
312
- if (!locator)
313
- throw new Error(`Unknown ref: ${ref}`);
314
- await locator.scrollIntoViewIfNeeded({ timeout: 5000 });
315
- }
316
- else {
317
- const delta = direction === 'up' ? -amount : amount;
318
- await tabState.page.mouse.wheel(0, delta);
319
- }
320
- await tabState.page.waitForTimeout(300);
430
+ await (0, tab_1.withBlockedNavigationTracking)(tabState.page, async () => {
431
+ if (ref) {
432
+ const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
433
+ if (!locator)
434
+ throw new Error(`Unknown ref: ${ref}`);
435
+ await locator.scrollIntoViewIfNeeded({ timeout: 5000 });
436
+ }
437
+ else {
438
+ const isHorizontal = direction === 'left' || direction === 'right';
439
+ const delta = direction === 'up' || direction === 'left' ? -amount : amount;
440
+ await tabState.page.mouse.wheel(isHorizontal ? delta : 0, isHorizontal ? 0 : delta);
441
+ }
442
+ await tabState.page.waitForTimeout(300);
443
+ });
321
444
  return { ok: true, targetId };
322
445
  }
323
446
  case 'hover': {
@@ -325,15 +448,17 @@ router.post('/act', async (req, res) => {
325
448
  const { ref, selector } = params;
326
449
  if (!ref && !selector)
327
450
  throw new Error('ref or selector required');
328
- if (ref) {
329
- const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
330
- if (!locator)
331
- throw new Error(`Unknown ref: ${ref}`);
332
- await locator.hover({ timeout: 5000 });
333
- }
334
- else {
335
- await tabState.page.locator(String(selector)).hover({ timeout: 5000 });
336
- }
451
+ await (0, tab_1.withBlockedNavigationTracking)(tabState.page, async () => {
452
+ if (ref) {
453
+ const locator = await (0, tab_1.refToLocator)(tabState.page, ref, tabState.refs);
454
+ if (!locator)
455
+ throw new Error(`Unknown ref: ${ref}`);
456
+ await locator.hover({ timeout: 5000 });
457
+ }
458
+ else {
459
+ await tabState.page.locator(String(selector)).hover({ timeout: 5000 });
460
+ }
461
+ });
337
462
  return { ok: true, targetId };
338
463
  }
339
464
  case 'wait': {
@@ -341,17 +466,38 @@ router.post('/act', async (req, res) => {
341
466
  const { timeMs, text } = params;
342
467
  const loadStateUnknown = params.loadState;
343
468
  const loadState = typeof loadStateUnknown === 'string' && isLoadState(loadStateUnknown) ? loadStateUnknown : undefined;
344
- if (timeMs) {
345
- await tabState.page.waitForTimeout(timeMs);
346
- }
347
- else if (text) {
348
- await tabState.page.waitForSelector(`text=${text}`, { timeout: 30000 });
349
- }
350
- else if (loadState) {
351
- await tabState.page.waitForLoadState(loadState, { timeout: 30000 });
352
- }
469
+ await (0, tab_1.withBlockedNavigationTracking)(tabState.page, async () => {
470
+ try {
471
+ if (timeMs) {
472
+ await tabState.page.waitForTimeout(timeMs);
473
+ }
474
+ else if (text) {
475
+ await tabState.page.waitForSelector(`text=${text}`, { timeout: 30000 });
476
+ }
477
+ else if (loadState) {
478
+ await tabState.page.waitForLoadState(loadState, { timeout: 30000 });
479
+ }
480
+ }
481
+ catch (err) {
482
+ await (0, tab_1.flushBlockedNavigationError)(tabState.page);
483
+ throw err;
484
+ }
485
+ });
353
486
  return { ok: true, targetId, url: tabState.page.url() };
354
487
  }
488
+ case 'extractStructured': {
489
+ const params = body;
490
+ if (!params.schema || typeof params.schema !== 'object' || Array.isArray(params.schema)) {
491
+ throw new structured_extractor_1.StructuredExtractSchemaError('schema must be an object');
492
+ }
493
+ const payload = await (0, structured_extractor_1.extractStructuredData)(tabState.page, params.schema);
494
+ return {
495
+ ok: true,
496
+ targetId,
497
+ data: payload.data,
498
+ metadata: payload.metadata,
499
+ };
500
+ }
355
501
  case 'close': {
356
502
  await (0, tab_1.safePageClose)(tabState.page);
357
503
  found.group.delete(String(targetId));
@@ -365,16 +511,24 @@ router.post('/act', async (req, res) => {
365
511
  throw new Error(`Unsupported action kind: ${kind}`);
366
512
  }
367
513
  }), CONFIG.handlerTimeoutMs, 'act'));
514
+ lifecycle_controller_1.lifecycleController.recordInteractiveActivity();
368
515
  return res.json(result);
369
516
  }
370
517
  catch (err) {
518
+ if (err instanceof structured_extractor_1.StructuredExtractSchemaError) {
519
+ return res.status(err.statusCode).json({ error: err.message });
520
+ }
521
+ if (err instanceof structured_extractor_1.StructuredExtractRuntimeError) {
522
+ return res.status(err.statusCode).json({
523
+ error: 'Structured extraction failed',
524
+ fieldPath: err.fieldPath,
525
+ reason: err.reason,
526
+ });
527
+ }
371
528
  const message = err instanceof Error ? err.message : String(err);
372
- const statusCode = err?.statusCode;
373
529
  const kindFromBody = typeof req.body.kind === 'string' ? req.body.kind : undefined;
374
530
  (0, logging_1.log)('error', 'act failed', { reqId: req.reqId, kind: kindFromBody, error: message });
375
- if (statusCode === 400)
376
- return res.status(400).json({ error: message });
377
- return res.status(500).json({ error: (0, errors_1.safeError)(err) });
531
+ return res.status(getRouteErrorStatus(err)).json({ error: (0, errors_1.safeError)(err) });
378
532
  }
379
533
  });
380
534
  exports.default = router;
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../../src/routes/openclaw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../../src/routes/openclaw.ts"],"names":[],"mappings":"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"}