agentmb 0.1.1 → 0.3.2

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 (50) hide show
  1. package/README.md +1002 -153
  2. package/dist/browser/actions.d.ts +25 -2
  3. package/dist/browser/actions.d.ts.map +1 -1
  4. package/dist/browser/actions.js +122 -22
  5. package/dist/browser/actions.js.map +1 -1
  6. package/dist/browser/manager.d.ts +35 -0
  7. package/dist/browser/manager.d.ts.map +1 -1
  8. package/dist/browser/manager.js +244 -16
  9. package/dist/browser/manager.js.map +1 -1
  10. package/dist/cli/commands/actions.d.ts.map +1 -1
  11. package/dist/cli/commands/actions.js +342 -80
  12. package/dist/cli/commands/actions.js.map +1 -1
  13. package/dist/cli/commands/browser-launch.d.ts +7 -0
  14. package/dist/cli/commands/browser-launch.d.ts.map +1 -0
  15. package/dist/cli/commands/browser-launch.js +116 -0
  16. package/dist/cli/commands/browser-launch.js.map +1 -0
  17. package/dist/cli/commands/session.d.ts.map +1 -1
  18. package/dist/cli/commands/session.js +76 -4
  19. package/dist/cli/commands/session.js.map +1 -1
  20. package/dist/cli/index.js +3 -1
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/daemon/index.js +2 -2
  23. package/dist/daemon/index.js.map +1 -1
  24. package/dist/daemon/routes/actions.d.ts.map +1 -1
  25. package/dist/daemon/routes/actions.js +516 -78
  26. package/dist/daemon/routes/actions.js.map +1 -1
  27. package/dist/daemon/routes/interaction.d.ts.map +1 -1
  28. package/dist/daemon/routes/interaction.js +10 -1
  29. package/dist/daemon/routes/interaction.js.map +1 -1
  30. package/dist/daemon/routes/sessions.d.ts.map +1 -1
  31. package/dist/daemon/routes/sessions.js +314 -3
  32. package/dist/daemon/routes/sessions.js.map +1 -1
  33. package/dist/daemon/routes/state.d.ts.map +1 -1
  34. package/dist/daemon/routes/state.js +26 -0
  35. package/dist/daemon/routes/state.js.map +1 -1
  36. package/dist/daemon/server.js +1 -1
  37. package/dist/daemon/session.d.ts +19 -0
  38. package/dist/daemon/session.d.ts.map +1 -1
  39. package/dist/daemon/session.js +13 -0
  40. package/dist/daemon/session.js.map +1 -1
  41. package/dist/policy/types.d.ts.map +1 -1
  42. package/dist/policy/types.js +14 -12
  43. package/dist/policy/types.js.map +1 -1
  44. package/package.json +4 -2
  45. package/skills/agentmb/SKILL.md +541 -0
  46. package/skills/agentmb/references/authentication.md +180 -0
  47. package/skills/agentmb/references/browser-modes.md +167 -0
  48. package/skills/agentmb/references/commands.md +231 -0
  49. package/skills/agentmb/references/locator-modes.md +254 -0
  50. package/skills/agentmb/references/session-management.md +260 -0
@@ -38,6 +38,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.registerSessionRoutes = registerSessionRoutes;
40
40
  const crypto_1 = __importDefault(require("crypto"));
41
+ const fs_1 = __importDefault(require("fs"));
42
+ const os_1 = __importDefault(require("os"));
43
+ const path_1 = __importDefault(require("path"));
41
44
  require("../types"); // T11: Fastify type augmentation
42
45
  // ---------------------------------------------------------------------------
43
46
  // T12: CDP error sanitization
@@ -57,14 +60,64 @@ function sanitizeCdpError(raw) {
57
60
  function registerSessionRoutes(server, registry) {
58
61
  // POST /api/v1/sessions — create session
59
62
  server.post('/api/v1/sessions', async (req, reply) => {
60
- const { profile, headless = true, agent_id, accept_downloads = false } = req.body ?? {};
63
+ const { profile, headless = true, agent_id, accept_downloads = false, ephemeral, browser_channel, executable_path, launch_mode, cdp_url, proxy_url, record_video, allow_dirs, } = req.body ?? {};
61
64
  const manager = server.browserManager;
62
65
  if (!manager) {
63
66
  return reply.code(503).send({ error: 'Browser manager not initialized' });
64
67
  }
65
- const id = registry.create({ profile, headless, agentId: agent_id });
68
+ // Preflight validation
69
+ const VALID_CHANNELS = ['chromium', 'chrome', 'msedge'];
70
+ if (browser_channel && executable_path) {
71
+ return reply.code(400).send({ error: 'preflight_failed', field: 'browser_channel', reason: 'browser_channel and executable_path are mutually exclusive' });
72
+ }
73
+ if (browser_channel && !VALID_CHANNELS.includes(browser_channel)) {
74
+ return reply.code(400).send({ error: 'preflight_failed', field: 'browser_channel', reason: `Invalid browser_channel; valid values: ${VALID_CHANNELS.join(', ')}` });
75
+ }
76
+ if (launch_mode === 'attach') {
77
+ if (!cdp_url) {
78
+ return reply.code(400).send({ error: 'preflight_failed', field: 'cdp_url', reason: 'cdp_url is required when launch_mode=attach' });
79
+ }
80
+ if (!cdp_url.startsWith('http://') && !cdp_url.startsWith('https://') && !cdp_url.startsWith('ws://') && !cdp_url.startsWith('wss://')) {
81
+ return reply.code(400).send({ error: 'preflight_failed', field: 'cdp_url', reason: 'cdp_url must be a valid http/https/ws/wss URL' });
82
+ }
83
+ if (browser_channel || executable_path) {
84
+ return reply.code(400).send({ error: 'preflight_failed', field: 'browser_channel', reason: 'browser_channel/executable_path cannot be used with launch_mode=attach' });
85
+ }
86
+ }
87
+ const id = registry.create({
88
+ profile, headless, agentId: agent_id,
89
+ ephemeral, browserChannel: browser_channel, executablePath: executable_path,
90
+ launchMode: launch_mode, cdpUrl: cdp_url,
91
+ });
66
92
  try {
67
- await manager.launchSession(id, { profile, headless, acceptDownloads: accept_downloads });
93
+ if (launch_mode === 'attach') {
94
+ await manager.attachCdpSession(id, cdp_url);
95
+ getLogger()?.write({
96
+ session_id: id,
97
+ action_id: 'act_' + crypto_1.default.randomBytes(6).toString('hex'),
98
+ type: 'session',
99
+ action: 'attach',
100
+ params: { cdp_url },
101
+ result: { status: 'ok' },
102
+ });
103
+ const s = registry.get(id);
104
+ return reply.code(201).send({
105
+ session_id: s.id,
106
+ profile: s.profile,
107
+ headless: s.headless,
108
+ created_at: s.createdAt,
109
+ launch_mode: 'attach',
110
+ cdp_url,
111
+ warning: 'close will disconnect only; remote browser process is not terminated',
112
+ });
113
+ }
114
+ else {
115
+ await manager.launchSession(id, {
116
+ profile, headless, acceptDownloads: accept_downloads,
117
+ channel: browser_channel, executablePath: executable_path, ephemeral,
118
+ proxyUrl: proxy_url, recordVideo: record_video, allowDirs: allow_dirs,
119
+ });
120
+ }
68
121
  }
69
122
  catch (err) {
70
123
  // Use registry.close() so persist() is called and sessions.json stays clean
@@ -78,6 +131,9 @@ function registerSessionRoutes(server, registry) {
78
131
  headless: s.headless,
79
132
  created_at: s.createdAt,
80
133
  accept_downloads: manager.getAcceptDownloads(id),
134
+ ephemeral: s.ephemeral ?? false,
135
+ browser_channel: s.browserChannel ?? null,
136
+ launch_mode: s.launchMode ?? 'managed',
81
137
  });
82
138
  });
83
139
  // GET /api/v1/sessions — list (normalized to snake_case for SDK)
@@ -89,6 +145,11 @@ function registerSessionRoutes(server, registry) {
89
145
  created_at: s.createdAt,
90
146
  state: s.state,
91
147
  agent_id: s.agentId ?? null,
148
+ ephemeral: s.ephemeral ?? false,
149
+ browser_channel: s.browserChannel ?? null,
150
+ launch_mode: s.launchMode ?? 'managed',
151
+ cdp_url: s.cdpUrl ?? null,
152
+ sealed: s.sealed ?? false,
92
153
  }));
93
154
  });
94
155
  // GET /api/v1/sessions/:id
@@ -103,6 +164,11 @@ function registerSessionRoutes(server, registry) {
103
164
  created_at: s.createdAt,
104
165
  state: s.state,
105
166
  agent_id: s.agentId ?? null,
167
+ ephemeral: s.ephemeral ?? false,
168
+ browser_channel: s.browserChannel ?? null,
169
+ launch_mode: s.launchMode ?? 'managed',
170
+ cdp_url: s.cdpUrl ?? null,
171
+ sealed: s.sealed ?? false,
106
172
  };
107
173
  });
108
174
  // DELETE /api/v1/sessions/:id
@@ -110,6 +176,9 @@ function registerSessionRoutes(server, registry) {
110
176
  const s = registry.get(req.params.id);
111
177
  if (!s)
112
178
  return reply.code(404).send({ error: 'Not found' });
179
+ if (s.sealed) {
180
+ return reply.code(423).send({ error: 'session_sealed', message: 'Session is sealed and cannot be deleted. Use seal=false if you need to unseal.' });
181
+ }
113
182
  // Clean up BrowserManager internal state first, then registry
114
183
  const manager = server.browserManager;
115
184
  if (manager)
@@ -117,6 +186,57 @@ function registerSessionRoutes(server, registry) {
117
186
  await registry.close(req.params.id);
118
187
  return reply.code(204).send();
119
188
  });
189
+ // POST /api/v1/sessions/:id/attach — re-attach zombie or live session to a running browser via CDP
190
+ server.post('/api/v1/sessions/:id/attach', async (req, reply) => {
191
+ const s = registry.get(req.params.id);
192
+ if (!s)
193
+ return reply.code(404).send({ error: 'Not found' });
194
+ const manager = server.browserManager;
195
+ if (!manager)
196
+ return reply.code(503).send({ error: 'Browser manager not initialized' });
197
+ const { cdp_url, url_contains, title_contains, index } = req.body ?? {};
198
+ if (!cdp_url)
199
+ return reply.code(400).send({ error: 'cdp_url is required' });
200
+ if (!cdp_url.startsWith('http://') && !cdp_url.startsWith('https://') && !cdp_url.startsWith('ws://') && !cdp_url.startsWith('wss://')) {
201
+ return reply.code(400).send({ error: 'cdp_url must be a valid http/https/ws/wss URL' });
202
+ }
203
+ const target = (url_contains || title_contains || index !== undefined)
204
+ ? { url_contains, title_contains, index }
205
+ : undefined;
206
+ try {
207
+ await manager.attachCdpSession(req.params.id, cdp_url, target);
208
+ }
209
+ catch (err) {
210
+ return reply.code(500).send({ error: err.message });
211
+ }
212
+ getLogger()?.write({
213
+ session_id: req.params.id,
214
+ action_id: 'act_' + crypto_1.default.randomBytes(6).toString('hex'),
215
+ type: 'session',
216
+ action: 'attach',
217
+ params: { cdp_url },
218
+ result: { status: 'ok' },
219
+ });
220
+ return {
221
+ session_id: req.params.id,
222
+ launch_mode: 'attach',
223
+ cdp_url,
224
+ warning: 'close will disconnect only; remote browser process is not terminated',
225
+ };
226
+ });
227
+ // POST /api/v1/sessions/:id/seal — mark session as sealed (blocks DELETE)
228
+ server.post('/api/v1/sessions/:id/seal', async (req, reply) => {
229
+ const s = registry.get(req.params.id);
230
+ if (!s)
231
+ return reply.code(404).send({ error: 'Not found' });
232
+ try {
233
+ registry.seal(req.params.id);
234
+ }
235
+ catch (err) {
236
+ return reply.code(400).send({ error: err.message });
237
+ }
238
+ return { status: 'ok', session_id: req.params.id, sealed: true };
239
+ });
120
240
  // POST /api/v1/sessions/:id/mode — switch headless/headed
121
241
  server.post('/api/v1/sessions/:id/mode', async (req, reply) => {
122
242
  const s = registry.get(req.params.id);
@@ -503,5 +623,196 @@ function registerSessionRoutes(server, registry) {
503
623
  return reply.code(400).send({ error: err.message });
504
624
  }
505
625
  });
626
+ // ---------------------------------------------------------------------------
627
+ // R08-R11: Browser Settings GET — viewport, UA, URL, headless
628
+ // ---------------------------------------------------------------------------
629
+ server.get('/api/v1/sessions/:id/settings', async (req, reply) => {
630
+ const s = registry.get(req.params.id);
631
+ if (!s)
632
+ return reply.code(404).send({ error: 'Not found' });
633
+ const manager = server.browserManager;
634
+ if (!manager)
635
+ return reply.code(503).send({ error: 'Browser manager not initialized' });
636
+ const live = registry.getLive(req.params.id);
637
+ if ('notFound' in live || 'zombie' in live)
638
+ return reply.code(410).send({ error: 'Session browser is not running' });
639
+ const liveSess = live;
640
+ const viewport = liveSess.page?.viewportSize?.() ?? null;
641
+ const userAgent = await liveSess.page?.evaluate(() => navigator.userAgent).catch(() => null);
642
+ const url = liveSess.page?.url?.() ?? null;
643
+ return {
644
+ session_id: req.params.id,
645
+ viewport,
646
+ user_agent: userAgent,
647
+ url,
648
+ headless: s.headless,
649
+ profile: s.profile,
650
+ };
651
+ });
652
+ // ---------------------------------------------------------------------------
653
+ // R08-R14: Profile lifecycle — list + reset
654
+ // ---------------------------------------------------------------------------
655
+ function getProfilesDir() {
656
+ const dataDir = process.env.AGENTMB_DATA_DIR ?? path_1.default.join(os_1.default.homedir(), '.agentmb');
657
+ return path_1.default.join(dataDir, 'profiles');
658
+ }
659
+ server.get('/api/v1/profiles', async (_req, reply) => {
660
+ const dir = getProfilesDir();
661
+ try {
662
+ if (!fs_1.default.existsSync(dir))
663
+ return { profiles: [], count: 0 };
664
+ const entries = await fs_1.default.promises.readdir(dir, { withFileTypes: true });
665
+ const profiles = await Promise.all(entries
666
+ .filter(e => e.isDirectory())
667
+ .map(async (e) => {
668
+ const profilePath = path_1.default.join(dir, e.name);
669
+ let last_used = null;
670
+ try {
671
+ const stat = await fs_1.default.promises.stat(profilePath);
672
+ last_used = stat.mtime.toISOString();
673
+ }
674
+ catch { /* ignore */ }
675
+ return { name: e.name, path: profilePath, last_used };
676
+ }));
677
+ return { profiles, count: profiles.length };
678
+ }
679
+ catch (err) {
680
+ return reply.code(500).send({ error: err.message });
681
+ }
682
+ });
683
+ server.post('/api/v1/profiles/:name/reset', async (req, reply) => {
684
+ const { name } = req.params;
685
+ if (!/^[\w\-]+$/.test(name))
686
+ return reply.code(400).send({ error: 'Invalid profile name; only alphanumeric, dash, underscore allowed' });
687
+ const dir = getProfilesDir();
688
+ const profilePath = path_1.default.join(dir, name);
689
+ // Safety: ensure profilePath is inside dir (no path traversal)
690
+ if (!profilePath.startsWith(dir + path_1.default.sep))
691
+ return reply.code(400).send({ error: 'Invalid profile name' });
692
+ // Check if any live session is using this profile
693
+ const liveSessions = registry.list().filter(s => s.profile === name && s.state === 'live');
694
+ if (liveSessions.length > 0) {
695
+ return reply.code(409).send({
696
+ error: 'profile_in_use',
697
+ message: `Profile '${name}' is currently used by ${liveSessions.length} live session(s). Close those sessions first.`,
698
+ session_ids: liveSessions.map(s => s.id),
699
+ });
700
+ }
701
+ try {
702
+ if (fs_1.default.existsSync(profilePath)) {
703
+ await fs_1.default.promises.rm(profilePath, { recursive: true, force: true });
704
+ }
705
+ await fs_1.default.promises.mkdir(profilePath, { recursive: true });
706
+ return { status: 'ok', profile: name, message: `Profile '${name}' reset (cookies and storage cleared)` };
707
+ }
708
+ catch (err) {
709
+ return reply.code(500).send({ error: err.message });
710
+ }
711
+ });
712
+ async function scanDir(dirPath, depth) {
713
+ const entries = [];
714
+ let items;
715
+ try {
716
+ items = await fs_1.default.promises.readdir(dirPath, { withFileTypes: true });
717
+ }
718
+ catch {
719
+ return [];
720
+ }
721
+ for (const item of items) {
722
+ const fullPath = path_1.default.join(dirPath, item.name);
723
+ if (item.isDirectory()) {
724
+ const entry = { name: item.name, type: 'dir', path: fullPath };
725
+ if (depth > 1)
726
+ entry.children = await scanDir(fullPath, depth - 1);
727
+ entries.push(entry);
728
+ }
729
+ else if (item.isFile()) {
730
+ let size;
731
+ try {
732
+ size = (await fs_1.default.promises.stat(fullPath)).size;
733
+ }
734
+ catch { /* ignore */ }
735
+ entries.push({ name: item.name, type: 'file', path: fullPath, size });
736
+ }
737
+ }
738
+ return entries;
739
+ }
740
+ /** Shared ls handler — used by both GET and POST endpoints. */
741
+ async function handleLs(bm, session_id, reqPath, depthStr, reply) {
742
+ if (!bm)
743
+ return reply.code(503).send({ error: 'Browser manager not initialized' });
744
+ if (!session_id)
745
+ return reply.code(400).send({ error: 'session_id is required' });
746
+ if (!reqPath)
747
+ return reply.code(400).send({ error: 'path is required' });
748
+ const s = registry.get(session_id);
749
+ if (!s)
750
+ return reply.code(404).send({ error: `Session ${session_id} not found` });
751
+ const allowDirs = bm.getAllowDirs(session_id);
752
+ if (allowDirs.length === 0) {
753
+ return reply.code(403).send({ error: 'No allowed directories for this session. Set allow_dirs when creating session.' });
754
+ }
755
+ // R09-C07-P0: resolve symlinks via realpath to prevent symlink traversal attacks.
756
+ // path.resolve() only does string manipulation; fs.realpath follows symlinks on disk.
757
+ let abs;
758
+ try {
759
+ abs = await fs_1.default.promises.realpath(reqPath);
760
+ }
761
+ catch {
762
+ return reply.code(404).send({ error: `Path ${reqPath} does not exist or is not accessible.` });
763
+ }
764
+ const allowed = allowDirs.some(d => abs === d || abs.startsWith(d + path_1.default.sep));
765
+ if (!allowed) {
766
+ return reply.code(403).send({ error: `Path ${reqPath} is not within allowed directories.` });
767
+ }
768
+ const depth = Math.min(parseInt(depthStr ?? '1', 10) || 1, 5);
769
+ const entries = await scanDir(abs, depth);
770
+ return { path: abs, entries, session_id };
771
+ }
772
+ // GET variant (query params — ASCII paths, backward compatible)
773
+ server.get('/api/v1/utils/ls', async (req, reply) => {
774
+ const { session_id, path: reqPath, depth: depthStr } = req.query;
775
+ return handleLs(server.browserManager, session_id, reqPath, depthStr, reply);
776
+ });
777
+ // POST variant (JSON body — supports non-ASCII / Unicode paths, R09-C06-P2)
778
+ server.post('/api/v1/utils/ls', async (req, reply) => {
779
+ const { session_id, path: reqPath, depth } = req.body ?? {};
780
+ return handleLs(server.browserManager, session_id, reqPath, depth !== undefined ? String(depth) : undefined, reply);
781
+ });
782
+ // ---------------------------------------------------------------------------
783
+ // R09-C04-T08: Video recording endpoints
784
+ // ---------------------------------------------------------------------------
785
+ server.get('/api/v1/sessions/:id/video', async (req, reply) => {
786
+ const s = registry.get(req.params.id);
787
+ if (!s)
788
+ return reply.code(404).send({ error: 'Not found' });
789
+ const manager = server.browserManager;
790
+ if (!manager)
791
+ return reply.code(503).send({ error: 'Browser manager not initialized' });
792
+ const videoPath = await manager.getVideoPath(req.params.id);
793
+ return { session_id: req.params.id, video_path: videoPath };
794
+ });
795
+ server.post('/api/v1/sessions/:id/video/save', async (req, reply) => {
796
+ const s = registry.get(req.params.id);
797
+ if (!s)
798
+ return reply.code(404).send({ error: 'Not found' });
799
+ const manager = server.browserManager;
800
+ if (!manager)
801
+ return reply.code(503).send({ error: 'Browser manager not initialized' });
802
+ const videoPath = await manager.getVideoPath(req.params.id);
803
+ if (!videoPath)
804
+ return reply.code(404).send({ error: 'No video available for this session. Ensure record_video=true was set on session creation.' });
805
+ const { dest_path } = req.body ?? {};
806
+ if (!dest_path)
807
+ return reply.code(400).send({ error: 'dest_path is required' });
808
+ try {
809
+ await fs_1.default.promises.mkdir(path_1.default.dirname(dest_path), { recursive: true });
810
+ await fs_1.default.promises.copyFile(videoPath, dest_path);
811
+ return { session_id: req.params.id, saved_to: dest_path, source: videoPath };
812
+ }
813
+ catch (err) {
814
+ return reply.code(500).send({ error: err.message });
815
+ }
816
+ });
506
817
  }
507
818
  //# sourceMappingURL=sessions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/daemon/routes/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/daemon/routes/sessions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/daemon/routes/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,eAAe,EAAe,MAAM,YAAY,CAAA;AAKzD,OAAO,UAAU,CAAA;AAWjB,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAmK5F"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/daemon/routes/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,eAAe,EAAe,MAAM,YAAY,CAAA;AAKzD,OAAO,UAAU,CAAA;AAWjB,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CA2L5F"}
@@ -85,6 +85,32 @@ function registerStateRoutes(server, registry) {
85
85
  await bm().clearCookies(s.id);
86
86
  return { status: 'ok' };
87
87
  });
88
+ /**
89
+ * POST /api/v1/sessions/:id/cookies/delete — delete specific cookie(s) by name (R08-R15)
90
+ * Body: { name: string; domain?: string }
91
+ * Gets all cookies, removes matching ones, clears, and re-adds the rest.
92
+ */
93
+ server.post('/api/v1/sessions/:id/cookies/delete', async (req, reply) => {
94
+ const s = resolve(registry, req.params.id, reply);
95
+ if (!s)
96
+ return;
97
+ const { name, domain } = req.body;
98
+ if (!name)
99
+ return reply.code(400).send({ error: 'name is required' });
100
+ const all = await bm().getCookies(s.id);
101
+ const kept = all.filter((c) => {
102
+ if (c.name !== name)
103
+ return true;
104
+ if (domain && c.domain !== domain)
105
+ return true;
106
+ return false;
107
+ });
108
+ const removed = all.length - kept.length;
109
+ await bm().clearCookies(s.id);
110
+ if (kept.length > 0)
111
+ await bm().addCookies(s.id, kept);
112
+ return { status: 'ok', removed, remaining: kept.length };
113
+ });
88
114
  // ---------------------------------------------------------------------------
89
115
  // R07-T05: Storage state (Playwright storageState format)
90
116
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/daemon/routes/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/daemon/routes/state.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ function buildServer(config, registry) {
45
45
  server.get('/health', async () => {
46
46
  return {
47
47
  status: 'ok',
48
- version: '0.1.1',
48
+ version: '0.3.2',
49
49
  uptime_s: Math.floor(process.uptime()),
50
50
  sessions_active: registry.count(),
51
51
  };
@@ -9,6 +9,18 @@ export interface SessionInfo {
9
9
  agentId?: string;
10
10
  /** 'live' = browser running; 'zombie' = metadata only (browser not started) */
11
11
  state: 'live' | 'zombie';
12
+ /** Pure Sandbox: ephemeral temp dir, cleaned up on close */
13
+ ephemeral?: boolean;
14
+ /** Multi-channel: 'chrome' | 'msedge' | 'chromium' */
15
+ browserChannel?: string;
16
+ /** Absolute path to custom browser executable */
17
+ executablePath?: string;
18
+ /** 'managed' = agentmb launched browser; 'attach' = CDP connectOverCDP */
19
+ launchMode?: 'managed' | 'attach';
20
+ /** CDP URL for attach mode */
21
+ cdpUrl?: string;
22
+ /** Sealed sessions block DELETE and destructive ops */
23
+ sealed?: boolean;
12
24
  }
13
25
  export interface LiveSession extends SessionInfo {
14
26
  context: BrowserContext | null;
@@ -26,7 +38,14 @@ export declare class SessionRegistry {
26
38
  profile?: string;
27
39
  headless?: boolean;
28
40
  agentId?: string;
41
+ ephemeral?: boolean;
42
+ browserChannel?: string;
43
+ executablePath?: string;
44
+ launchMode?: 'managed' | 'attach';
45
+ cdpUrl?: string;
29
46
  }): string;
47
+ /** Mark a session as sealed — blocks DELETE and destructive ops. */
48
+ seal(id: string): void;
30
49
  attach(id: string, context: BrowserContext, page: Page): void;
31
50
  get(id: string): LiveSession | undefined;
32
51
  getOrThrow(id: string): LiveSession;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/daemon/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AActD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASxD;AAgCD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;CACzB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAClB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,aAAa,CAAC,CAAQ;gBAElB,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAQtD,gEAAgE;IAChE,qBAAqB,IAAI,IAAI;IAgC7B,OAAO,CAAC,OAAO;IAcf,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAehF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAO7D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIxC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAMnC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,EAAE,MAAM,GACd,CAAC,WAAW,GAAG;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,GACvD;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAClB;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE;IAOvC,IAAI,IAAI,WAAW,EAAE;IAIrB,KAAK,IAAI,MAAM;IAIf,yFAAyF;IACzF,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAO7C,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtC,oFAAoF;IAC9E,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/daemon/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AActD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASxD;AAgCD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IACxB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IACjC,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAClB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,aAAa,CAAC,CAAQ;gBAElB,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAQtD,gEAAgE;IAChE,qBAAqB,IAAI,IAAI;IAgC7B,OAAO,CAAC,OAAO;IAcf,MAAM,CAAC,IAAI,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;QACjC,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,MAAM;IAoBV,oEAAoE;IACpE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOtB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAO7D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIxC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAMnC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,EAAE,MAAM,GACd,CAAC,WAAW,GAAG;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,GACvD;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAClB;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE;IAOvC,IAAI,IAAI,WAAW,EAAE;IAIrB,KAAK,IAAI,MAAM;IAIf,yFAAyF;IACzF,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAO7C,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtC,oFAAoF;IAC9E,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}