@browsers-cli/se-cli 0.1.1 → 0.2.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/README.md CHANGED
@@ -157,6 +157,39 @@ se-cli close
157
157
  | `title` | Get page title |
158
158
  | `url` | Get current URL |
159
159
 
160
+ ### Storage Management
161
+
162
+ | Command | Description |
163
+ |---------|-------------|
164
+ | `cookie-list` | List all cookies |
165
+ | `cookie-get <name>` | Get a specific cookie |
166
+ | `cookie-set <name> <value>` | Set a cookie |
167
+ | `cookie-delete [name]` | Delete a cookie (or all if name omitted) |
168
+ | `localstorage-get <key>` | Get a localStorage item |
169
+ | `localstorage-set <key> <value>` | Set a localStorage item |
170
+ | `localstorage-delete [key]` | Delete a localStorage item (or clear all) |
171
+ | `localstorage-list` | List all localStorage items |
172
+ | `sessionstorage-get <key>` | Get a sessionStorage item |
173
+ | `sessionstorage-set <key> <value>` | Set a sessionStorage item |
174
+ | `sessionstorage-delete [key]` | Delete a sessionStorage item (or clear all) |
175
+ | `sessionstorage-list` | List all sessionStorage items |
176
+
177
+ ### Tab Management
178
+
179
+ | Command | Description |
180
+ |---------|-------------|
181
+ | `tab-list` | List all open tabs (handle, title, url) |
182
+ | `tab-new [url]` | Open a new tab (optionally navigate to url) |
183
+ | `tab-close` | Close current tab and switch to remaining |
184
+ | `tab-select <index>` | Switch to tab by index (0-based) |
185
+
186
+ ### State Management
187
+
188
+ | Command | Description |
189
+ |---------|-------------|
190
+ | `state-save [--filename=f.json]` | Save cookies, localStorage, sessionStorage to file |
191
+ | `state-load [--filename=f.json]` | Load state from file (restores all storage) |
192
+
160
193
  ### Flags
161
194
 
162
195
  | Flag | Description |
@@ -167,6 +200,8 @@ se-cli close
167
200
  | `--browser=chrome\|edge\|firefox` | Browser selection (default: chrome) |
168
201
  | `--headed` | Show browser window (default: headless) |
169
202
  | `--cdp=<url>` | Attach to running Chrome via CDP |
203
+ | `--profile=<path>` | Use a persistent browser profile directory |
204
+ | `--persistent` | Keep browser profile across sessions (auto-assigns path) |
170
205
 
171
206
  ## Usage Examples
172
207
 
@@ -220,6 +255,56 @@ COUNT=$(se-cli --raw eval "document.querySelectorAll('.item').length")
220
255
  echo "Found $COUNT items"
221
256
  ```
222
257
 
258
+ ### Storage Management
259
+
260
+ ```bash
261
+ # Set and verify a cookie
262
+ se-cli open https://example.com
263
+ se-cli cookie-set session_token abc123
264
+ se-cli cookie-get session_token
265
+
266
+ # Work with localStorage
267
+ se-cli localstorage-set theme dark
268
+ se-cli localstorage-get theme
269
+ se-cli localstorage-list
270
+
271
+ # Clear all cookies
272
+ se-cli cookie-delete
273
+ ```
274
+
275
+ ### Tab Management
276
+
277
+ ```bash
278
+ # Open multiple tabs
279
+ se-cli open https://example.com
280
+ se-cli tab-new https://example.com/login
281
+
282
+ # List all tabs
283
+ se-cli tab-list
284
+
285
+ # Switch between tabs
286
+ se-cli tab-select 0
287
+ se-cli tab-select 1
288
+
289
+ # Close current tab
290
+ se-cli tab-close
291
+ ```
292
+
293
+ ### State Save & Restore
294
+
295
+ ```bash
296
+ # Save browser state (cookies + storage)
297
+ se-cli open https://example.com
298
+ se-cli cookie-set auth_token secret123
299
+ se-cli localstorage-set pref_theme dark
300
+ se-cli state-save --filename=session.json
301
+
302
+ # Later: restore state in a new session
303
+ se-cli open
304
+ se-cli state-load --filename=session.json
305
+ se-cli cookie-get auth_token # → secret123
306
+ ```
307
+
223
308
  ### Code Generation
224
309
 
225
310
  Every interaction command outputs the equivalent Selenium code:
@@ -339,7 +424,7 @@ src/
339
424
  └── daemon/
340
425
  ├── server.ts # Daemon socket server
341
426
  ├── backend.ts # Tool dispatcher
342
- └── tools/ # Tool handlers (17 tools)
427
+ └── tools/ # Tool handlers (35 tools)
343
428
  ```
344
429
 
345
430
  ## Browser Support
@@ -365,7 +450,7 @@ src/
365
450
 
366
451
  ## Roadmap
367
452
 
368
- - **v0.2**: Storage management, tab management, `install --skills`
453
+ - **v0.2** ✓: Storage management, tab management, state save/load, `install --skills`, `--profile`, `--persistent`
369
454
  - **v0.3**: iframe recursive snapshot, Shadow DOM recursion
370
455
  - **v0.4**: Network route mock, console logs, highlight
371
456
  - **v0.5**: Code recording mode, role-based locators
@@ -43,6 +43,24 @@ function parseCommand(args) {
43
43
  'find': () => ({ toolName: 'browser_find', toolParams: { text: positional[0], regex: parsed.regex } }),
44
44
  'screenshot': () => ({ toolName: 'browser_screenshot', toolParams: { target: positional[0], filename: parsed.filename } }),
45
45
  'eval': () => ({ toolName: 'browser_eval', toolParams: { script: positional[0], target: positional[1] } }),
46
+ 'cookie-list': () => ({ toolName: 'browser_cookie_list', toolParams: {} }),
47
+ 'cookie-get': () => ({ toolName: 'browser_cookie_get', toolParams: { name: positional[0] } }),
48
+ 'cookie-set': () => ({ toolName: 'browser_cookie_set', toolParams: { name: positional[0], value: positional[1] } }),
49
+ 'cookie-delete': () => ({ toolName: 'browser_cookie_delete', toolParams: { name: positional[0] } }),
50
+ 'localstorage-get': () => ({ toolName: 'browser_localstorage_get', toolParams: { key: positional[0] } }),
51
+ 'localstorage-set': () => ({ toolName: 'browser_localstorage_set', toolParams: { key: positional[0], value: positional[1] } }),
52
+ 'localstorage-delete': () => ({ toolName: 'browser_localstorage_delete', toolParams: { key: positional[0] } }),
53
+ 'localstorage-list': () => ({ toolName: 'browser_localstorage_list', toolParams: {} }),
54
+ 'sessionstorage-get': () => ({ toolName: 'browser_sessionstorage_get', toolParams: { key: positional[0] } }),
55
+ 'sessionstorage-set': () => ({ toolName: 'browser_sessionstorage_set', toolParams: { key: positional[0], value: positional[1] } }),
56
+ 'sessionstorage-delete': () => ({ toolName: 'browser_sessionstorage_delete', toolParams: { key: positional[0] } }),
57
+ 'sessionstorage-list': () => ({ toolName: 'browser_sessionstorage_list', toolParams: {} }),
58
+ 'tab-list': () => ({ toolName: 'browser_tab_list', toolParams: {} }),
59
+ 'tab-new': () => ({ toolName: 'browser_tab_new', toolParams: { url: positional[0] } }),
60
+ 'tab-close': () => ({ toolName: 'browser_tab_close', toolParams: {} }),
61
+ 'tab-select': () => ({ toolName: 'browser_tab_select', toolParams: { index: positional[0] ? parseInt(positional[0]) : 0 } }),
62
+ 'state-save': () => ({ toolName: 'browser_state_save', toolParams: { filename: parsed.filename } }),
63
+ 'state-load': () => ({ toolName: 'browser_state_load', toolParams: { filename: parsed.filename } }),
46
64
  };
47
65
  const factory = commands[cmd];
48
66
  if (!factory)
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/daemon/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/daemon/backend.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,8 @@ const workspaceDir = args[2];
44
44
  const browserName = args[3] || 'chrome';
45
45
  const headed = args.includes('--headed');
46
46
  const cdpEndpoint = args.find(a => a.startsWith('--cdp='))?.slice('--cdp='.length);
47
+ const profilePath = args.find(a => a.startsWith('--profile='))?.slice('--profile='.length);
48
+ const persistent = args.includes('--persistent');
47
49
  const version = require('../../package.json').version;
48
50
  const ALLOWED_BROWSERS = new Set(['chrome', 'edge', 'firefox']);
49
51
  if (!ALLOWED_BROWSERS.has(browserName)) {
@@ -106,6 +108,8 @@ async function buildDriver() {
106
108
  if (!headed && !cdpEndpoint) {
107
109
  chromeArgs.push('--headless=new', '--no-sandbox', '--disable-dev-shm-usage', '--disable-gpu');
108
110
  }
111
+ if (profilePath)
112
+ chromeArgs.push(`--user-data-dir=${profilePath}`);
109
113
  const chromeOpts = { args: chromeArgs };
110
114
  if (cdpEndpoint)
111
115
  chromeOpts.debuggerAddress = cdpEndpoint;
@@ -119,6 +123,8 @@ async function buildDriver() {
119
123
  if (!headed) {
120
124
  edgeArgs.push('--headless=new', '--no-sandbox', '--disable-dev-shm-usage', '--disable-gpu');
121
125
  }
126
+ if (profilePath)
127
+ edgeArgs.push(`--user-data-dir=${profilePath}`);
122
128
  const edgeOpts = { args: edgeArgs };
123
129
  if (cdpEndpoint)
124
130
  edgeOpts.debuggerAddress = cdpEndpoint;
@@ -131,6 +137,8 @@ async function buildDriver() {
131
137
  if (!headed) {
132
138
  firefoxOpts.args = ['-headless'];
133
139
  }
140
+ if (profilePath)
141
+ firefoxOpts.profile = profilePath;
134
142
  // Allow overriding the Firefox binary path via env var (useful in CI
135
143
  // where browser-actions/setup-firefox installs to a non-standard path).
136
144
  if (process.env.SE_FIREFOX_BINARY)
@@ -304,7 +312,7 @@ const config = {
304
312
  timestamp: Date.now(),
305
313
  socketPath,
306
314
  workspaceDir,
307
- persistent: false,
315
+ persistent,
308
316
  browserName,
309
317
  pid: process.pid,
310
318
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,uCAAyB;AACzB,0CAAsD;AACtD,sCAA0C;AAG1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,MAAM,WAAW,GAAI,IAAI,CAAC,CAAC,CAAmC,IAAI,QAAQ,CAAC;AAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACnF,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAEtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAChE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;IACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,oCAAoC,CAAC,CAAC;AAC3F,CAAC;AAED,IAAI,MAAM,GAAQ,IAAI,CAAC;AACvB,IAAI,eAAe,GAAkB,IAAI,CAAC;AAC1C,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzF,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAA,sBAAa,GAAE,CAAC,CAAC;AAE/C,mEAAmE;AACnE,mEAAmE;AACnE,IAAI,YAAY,GAAsB,IAAI,CAAC;AAE3C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;IACzC,YAAY,GAAG,MAAM,CAAC;IACtB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,SAAS;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1B,+DAA+D;gBAC/D,8DAA8D;gBAC9D,gCAAgC;gBAChC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;oBACrF,MAAM,CAAC,GAAG,EAAE,CAAC;oBACb,QAAQ,EAAE,CAAC;oBACX,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAkB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;gBACrF,IAAI,CAAC;oBAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,iEAAiE;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,WAAW;IACxB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClD,mEAAmE;IACnE,MAAM,mBAAmB,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAE9D,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,EAAE,yBAAyB,EAAE,eAAe,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,UAAU,GAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC7C,IAAI,WAAW;YAAE,UAAU,CAAC,eAAe,GAAG,WAAW,CAAC;QAC1D,sEAAsE;QACtE,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAAE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACnF,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,EAAE,yBAAyB,EAAE,eAAe,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,QAAQ,GAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzC,IAAI,WAAW;YAAE,QAAQ,CAAC,eAAe,GAAG,WAAW,CAAC;QACxD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;YAAE,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7E,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,WAAW,GAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,WAAW,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QACD,qEAAqE;QACrE,wEAAwE;QACxE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAAE,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACtF,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;IAED,gEAAgE;IAChE,qCAAqC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACtD,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,WAAW,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5D,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAkB;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7D,yCAAyC;IACzC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YACrE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,WAAW,EAAE,CAAC;YACtB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,eAAe,GAAG,mBAAmB,WAAW,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;gBACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YACrE,CAAC;QACH,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,IAAI,GAA0B,cAAc,CAAC;QACjD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,4BAA4B;YAAE,IAAI,GAAG,mBAAmB,CAAC;aAClG,IAAI,IAAI,KAAK,cAAc;YAAE,IAAI,GAAG,SAAS,CAAC;QACnD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,6DAA6D;IAC7D,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IAC7C,CAAC;IACD,+DAA+D;IAC/D,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;YAC1C,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IAC7D,CAAC;IACD,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,0CAA0C;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,kEAAkE;AAClE,qEAAqE;AACrE,qEAAqE;AACrE,iEAAiE;AACjE,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAU,EAAE,EAAE;IAC7C,kEAAkE;IAClE,oEAAoE;IACpE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACvF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;IACjF,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAkB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAC1G,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACnD,YAAY,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,gEAAgE;IAChE,qEAAqE;IACrE,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzF,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YAAC,IAAI,MAAM;gBAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAC3C,MAAM,GAAG,IAAI,CAAC;QACd,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,CAAC;IACb,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,6EAA6E;AAC7E,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAQ,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACvF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACtG,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAkB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YACtG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACnD,YAAY,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzF,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YAAC,IAAI,MAAM;gBAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAC3C,MAAM,GAAG,IAAI,CAAC;QACd,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,CAAC;IACb,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,wEAAwE;AACxE,wEAAwE;AACxE,0DAA0D;AAC1D,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACxC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAExC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE/B,WAAW,CAAC,GAAG,EAAE;IACf,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QAAE,QAAQ,EAAE,CAAC;AAC7D,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AAEd,6DAA6D;AAC7D,WAAW,CAAC,KAAK,IAAI,EAAE;IACrB,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAC9D,qEAAqE;QACrE,gEAAgE;QAChE,+DAA+D;QAC/D,wBAAwB;IAC1B,CAAC;AACH,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AAEd,MAAM,MAAM,GAAkB;IAC5B,IAAI,EAAE,WAAW;IACjB,OAAO;IACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;IACrB,UAAU;IACV,YAAY;IACZ,UAAU,EAAE,KAAK;IACjB,WAAW;IACX,GAAG,EAAE,OAAO,CAAC,GAAG;CACjB,CAAC;AACF,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IACvD,QAAQ,EAAE,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,oCAAoC;AACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AAC7C,CAAC;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,0EAA0E;AAC1E,yDAAyD;AACzD,CAAC,KAAK,IAAI,EAAE;IACV,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,eAAe,GAAG,mBAAmB,WAAW,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,9 @@ const snapshot_1 = require("./snapshot");
15
15
  const find_1 = require("./find");
16
16
  const screenshot_1 = require("./screenshot");
17
17
  const eval_1 = require("./eval");
18
+ const storage_1 = require("./storage");
19
+ const tab_1 = require("./tab");
20
+ const state_1 = require("./state");
18
21
  exports.tools = {
19
22
  browser_goto: goto_1.browser_goto,
20
23
  browser_go_back: navigation_1.browser_go_back,
@@ -33,5 +36,23 @@ exports.tools = {
33
36
  browser_find: find_1.browser_find,
34
37
  browser_screenshot: screenshot_1.browser_screenshot,
35
38
  browser_eval: eval_1.browser_eval,
39
+ browser_cookie_list: storage_1.browser_cookie_list,
40
+ browser_cookie_get: storage_1.browser_cookie_get,
41
+ browser_cookie_set: storage_1.browser_cookie_set,
42
+ browser_cookie_delete: storage_1.browser_cookie_delete,
43
+ browser_localstorage_get: storage_1.browser_localstorage_get,
44
+ browser_localstorage_set: storage_1.browser_localstorage_set,
45
+ browser_localstorage_delete: storage_1.browser_localstorage_delete,
46
+ browser_localstorage_list: storage_1.browser_localstorage_list,
47
+ browser_sessionstorage_get: storage_1.browser_sessionstorage_get,
48
+ browser_sessionstorage_set: storage_1.browser_sessionstorage_set,
49
+ browser_sessionstorage_delete: storage_1.browser_sessionstorage_delete,
50
+ browser_sessionstorage_list: storage_1.browser_sessionstorage_list,
51
+ browser_tab_list: tab_1.browser_tab_list,
52
+ browser_tab_new: tab_1.browser_tab_new,
53
+ browser_tab_close: tab_1.browser_tab_close,
54
+ browser_tab_select: tab_1.browser_tab_select,
55
+ browser_state_save: state_1.browser_state_save,
56
+ browser_state_load: state_1.browser_state_load,
36
57
  };
37
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/daemon/tools/index.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AACtC,6CAAmF;AACnF,mCAAwC;AACxC,+BAAoC;AACpC,mCAAwC;AACxC,iCAAsC;AACtC,iCAAsC;AACtC,mCAAwC;AACxC,qCAA0C;AAC1C,mCAAyD;AACzD,yCAA8C;AAC9C,iCAAsC;AACtC,6CAAkD;AAClD,iCAAsC;AAEzB,QAAA,KAAK,GAA+E;IAC/F,YAAY,EAAZ,mBAAY;IACZ,eAAe,EAAf,4BAAe;IACf,kBAAkB,EAAlB,+BAAkB;IAClB,cAAc,EAAd,2BAAc;IACd,aAAa,EAAb,qBAAa;IACb,WAAW,EAAX,iBAAW;IACX,aAAa,EAAb,qBAAa;IACb,YAAY,EAAZ,mBAAY;IACZ,YAAY,EAAZ,mBAAY;IACZ,aAAa,EAAb,qBAAa;IACb,cAAc,EAAd,uBAAc;IACd,aAAa,EAAb,qBAAa;IACb,eAAe,EAAf,uBAAe;IACf,gBAAgB,EAAhB,2BAAgB;IAChB,YAAY,EAAZ,mBAAY;IACZ,kBAAkB,EAAlB,+BAAkB;IAClB,YAAY,EAAZ,mBAAY;CACb,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/daemon/tools/index.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AACtC,6CAAmF;AACnF,mCAAwC;AACxC,+BAAoC;AACpC,mCAAwC;AACxC,iCAAsC;AACtC,iCAAsC;AACtC,mCAAwC;AACxC,qCAA0C;AAC1C,mCAAyD;AACzD,yCAA8C;AAC9C,iCAAsC;AACtC,6CAAkD;AAClD,iCAAsC;AACtC,uCAamB;AACnB,+BAKe;AACf,mCAGiB;AAEJ,QAAA,KAAK,GAA+E;IAC/F,YAAY,EAAZ,mBAAY;IACZ,eAAe,EAAf,4BAAe;IACf,kBAAkB,EAAlB,+BAAkB;IAClB,cAAc,EAAd,2BAAc;IACd,aAAa,EAAb,qBAAa;IACb,WAAW,EAAX,iBAAW;IACX,aAAa,EAAb,qBAAa;IACb,YAAY,EAAZ,mBAAY;IACZ,YAAY,EAAZ,mBAAY;IACZ,aAAa,EAAb,qBAAa;IACb,cAAc,EAAd,uBAAc;IACd,aAAa,EAAb,qBAAa;IACb,eAAe,EAAf,uBAAe;IACf,gBAAgB,EAAhB,2BAAgB;IAChB,YAAY,EAAZ,mBAAY;IACZ,kBAAkB,EAAlB,+BAAkB;IAClB,YAAY,EAAZ,mBAAY;IACZ,mBAAmB,EAAnB,6BAAmB;IACnB,kBAAkB,EAAlB,4BAAkB;IAClB,kBAAkB,EAAlB,4BAAkB;IAClB,qBAAqB,EAArB,+BAAqB;IACrB,wBAAwB,EAAxB,kCAAwB;IACxB,wBAAwB,EAAxB,kCAAwB;IACxB,2BAA2B,EAA3B,qCAA2B;IAC3B,yBAAyB,EAAzB,mCAAyB;IACzB,0BAA0B,EAA1B,oCAA0B;IAC1B,0BAA0B,EAA1B,oCAA0B;IAC1B,6BAA6B,EAA7B,uCAA6B;IAC7B,2BAA2B,EAA3B,qCAA2B;IAC3B,gBAAgB,EAAhB,sBAAgB;IAChB,eAAe,EAAf,qBAAe;IACf,iBAAiB,EAAjB,uBAAiB;IACjB,kBAAkB,EAAlB,wBAAkB;IAClB,kBAAkB,EAAlB,0BAAkB;IAClB,kBAAkB,EAAlB,0BAAkB;CACnB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Response } from '../../response';
2
+ export declare function browser_state_save(driver: any, params: {
3
+ filename?: string;
4
+ }, response: Response): Promise<void>;
5
+ export declare function browser_state_load(driver: any, params: {
6
+ filename?: string;
7
+ }, response: Response): Promise<void>;
@@ -0,0 +1,136 @@
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
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.browser_state_save = browser_state_save;
37
+ exports.browser_state_load = browser_state_load;
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ const shared_1 = require("./shared");
41
+ async function browser_state_save(driver, params, response) {
42
+ // 1. Collect cookies via the manage() API (httpOnly cookies are invisible to JS).
43
+ const cookies = await driver.manage().getCookies();
44
+ // 2. Collect localStorage.
45
+ const lsScript = 'return (() => { const o = {}; for (let i = 0; i < localStorage.length; i++) { const k = localStorage.key(i); o[k] = localStorage.getItem(k); } return o; })();';
46
+ const localStorageData = await driver.executeScript(lsScript);
47
+ // 3. Collect sessionStorage.
48
+ const ssScript = 'return (() => { const o = {}; for (let i = 0; i < sessionStorage.length; i++) { const k = sessionStorage.key(i); o[k] = sessionStorage.getItem(k); } return o; })();';
49
+ const sessionStorageData = await driver.executeScript(ssScript);
50
+ // 4. Capture the current URL so load() can navigate here first (cookies require
51
+ // the driver to be on a matching domain).
52
+ const url = await driver.getCurrentUrl();
53
+ // 5. Assemble the state object.
54
+ const state = {
55
+ url,
56
+ cookies,
57
+ localStorage: localStorageData || {},
58
+ sessionStorage: sessionStorageData || {},
59
+ savedAt: new Date().toISOString(),
60
+ };
61
+ // 6. Write to .se-cli/<filename> (same I/O pattern as screenshot.ts).
62
+ const outDir = path.join(process.cwd(), '.se-cli');
63
+ fs.mkdirSync(outDir, { recursive: true });
64
+ const filename = params.filename ? (0, shared_1.safeFilename)(params.filename) : `state-${Date.now()}.json`;
65
+ const file = path.join(outDir, filename);
66
+ fs.writeFileSync(file, JSON.stringify(state, null, 2));
67
+ response.addCode(`const cookies = await driver.manage().getCookies();\nconst localStorageData = await driver.executeScript('return (() => { const o = {}; for (let i = 0; i < localStorage.length; i++) { const k = localStorage.key(i); o[k] = localStorage.getItem(k); } return o; })();');\nconst sessionStorageData = await driver.executeScript('return (() => { const o = {}; for (let i = 0; i < sessionStorage.length; i++) { const k = sessionStorage.key(i); o[k] = sessionStorage.getItem(k); } return o; })();');\nconst url = await driver.getCurrentUrl();\nfs.writeFileSync('${filename}', JSON.stringify({ url, cookies, localStorage: localStorageData, sessionStorage: sessionStorageData, savedAt: new Date().toISOString() }, null, 2));`);
68
+ response.addResult(`[State](.se-cli/${filename}) (${cookies.length} cookies, ${Object.keys(state.localStorage).length} localStorage items, ${Object.keys(state.sessionStorage).length} sessionStorage items)`);
69
+ }
70
+ async function browser_state_load(driver, params, response) {
71
+ // 1. Resolve the file path.
72
+ const outDir = path.join(process.cwd(), '.se-cli');
73
+ let filename;
74
+ if (params.filename) {
75
+ filename = (0, shared_1.safeFilename)(params.filename);
76
+ }
77
+ else {
78
+ // Pick the most recent state-*.json file when no filename is given.
79
+ if (!fs.existsSync(outDir)) {
80
+ response.addError('No state file specified and .se-cli/ directory does not exist');
81
+ return;
82
+ }
83
+ const files = fs.readdirSync(outDir)
84
+ .filter(f => f.startsWith('state-') && f.endsWith('.json'))
85
+ .sort()
86
+ .reverse();
87
+ if (files.length === 0) {
88
+ response.addError('No state file specified and no state-*.json files found in .se-cli/');
89
+ return;
90
+ }
91
+ filename = files[0];
92
+ }
93
+ const file = path.join(outDir, filename);
94
+ if (!fs.existsSync(file)) {
95
+ response.addError(`State file not found: ${file}`);
96
+ return;
97
+ }
98
+ // 2. Read and parse the JSON.
99
+ const raw = fs.readFileSync(file, 'utf8');
100
+ let state;
101
+ try {
102
+ state = JSON.parse(raw);
103
+ }
104
+ catch (e) {
105
+ response.addError(`Failed to parse state file: ${e.message}`);
106
+ return;
107
+ }
108
+ // 3. Navigate to the saved URL first — cookies can only be set when the
109
+ // driver is on a matching domain.
110
+ await driver.get(state.url);
111
+ // 4. Clear existing cookies before restoring.
112
+ await driver.manage().deleteAllCookies();
113
+ // 5. Restore cookies.
114
+ // Firefox enforces that SameSite=None cookies must also be Secure.
115
+ // Sanitize cookies before passing to addCookie to avoid driver errors.
116
+ for (const cookie of state.cookies) {
117
+ const sanitized = { ...cookie };
118
+ if (sanitized.sameSite === 'None' && !sanitized.secure) {
119
+ sanitized.secure = true;
120
+ }
121
+ await driver.manage().addCookie(sanitized);
122
+ }
123
+ // 6. Restore localStorage.
124
+ const lsKeys = Object.keys(state.localStorage);
125
+ for (const k of lsKeys) {
126
+ await driver.executeScript('localStorage.setItem(arguments[0], arguments[1]);', k, state.localStorage[k]);
127
+ }
128
+ // 7. Restore sessionStorage.
129
+ const ssKeys = Object.keys(state.sessionStorage);
130
+ for (const k of ssKeys) {
131
+ await driver.executeScript('sessionStorage.setItem(arguments[0], arguments[1]);', k, state.sessionStorage[k]);
132
+ }
133
+ response.addCode(`const state = JSON.parse(fs.readFileSync('${filename}', 'utf8'));\nawait driver.get(state.url);\nawait driver.manage().deleteAllCookies();\nfor (const cookie of state.cookies) { await driver.manage().addCookie(cookie); }\nfor (const k of Object.keys(state.localStorage)) { await driver.executeScript('localStorage.setItem(arguments[0], arguments[1]);', k, state.localStorage[k]); }\nfor (const k of Object.keys(state.sessionStorage)) { await driver.executeScript('sessionStorage.setItem(arguments[0], arguments[1]);', k, state.sessionStorage[k]); }`);
134
+ response.addResult(`loaded state from ${filename} (${state.cookies.length} cookies, ${lsKeys.length} localStorage items, ${ssKeys.length} sessionStorage items)`);
135
+ }
136
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/daemon/tools/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Response } from '../../response';
2
+ export declare function browser_cookie_list(driver: any, _params: any, response: Response): Promise<void>;
3
+ export declare function browser_cookie_get(driver: any, params: {
4
+ name: string;
5
+ }, response: Response): Promise<void>;
6
+ export declare function browser_cookie_set(driver: any, params: {
7
+ name: string;
8
+ value: string;
9
+ domain?: string;
10
+ path?: string;
11
+ httpOnly?: boolean;
12
+ secure?: boolean;
13
+ }, response: Response): Promise<void>;
14
+ export declare function browser_cookie_delete(driver: any, params: {
15
+ name?: string;
16
+ }, response: Response): Promise<void>;
17
+ export declare function browser_localstorage_get(driver: any, params: {
18
+ key: string;
19
+ }, response: Response): Promise<void>;
20
+ export declare function browser_localstorage_set(driver: any, params: {
21
+ key: string;
22
+ value: string;
23
+ }, response: Response): Promise<void>;
24
+ export declare function browser_localstorage_delete(driver: any, params: {
25
+ key?: string;
26
+ }, response: Response): Promise<void>;
27
+ export declare function browser_localstorage_list(driver: any, _params: any, response: Response): Promise<void>;
28
+ export declare function browser_sessionstorage_get(driver: any, params: {
29
+ key: string;
30
+ }, response: Response): Promise<void>;
31
+ export declare function browser_sessionstorage_set(driver: any, params: {
32
+ key: string;
33
+ value: string;
34
+ }, response: Response): Promise<void>;
35
+ export declare function browser_sessionstorage_delete(driver: any, params: {
36
+ key?: string;
37
+ }, response: Response): Promise<void>;
38
+ export declare function browser_sessionstorage_list(driver: any, _params: any, response: Response): Promise<void>;
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.browser_cookie_list = browser_cookie_list;
4
+ exports.browser_cookie_get = browser_cookie_get;
5
+ exports.browser_cookie_set = browser_cookie_set;
6
+ exports.browser_cookie_delete = browser_cookie_delete;
7
+ exports.browser_localstorage_get = browser_localstorage_get;
8
+ exports.browser_localstorage_set = browser_localstorage_set;
9
+ exports.browser_localstorage_delete = browser_localstorage_delete;
10
+ exports.browser_localstorage_list = browser_localstorage_list;
11
+ exports.browser_sessionstorage_get = browser_sessionstorage_get;
12
+ exports.browser_sessionstorage_set = browser_sessionstorage_set;
13
+ exports.browser_sessionstorage_delete = browser_sessionstorage_delete;
14
+ exports.browser_sessionstorage_list = browser_sessionstorage_list;
15
+ // ---------------------------------------------------------------------------
16
+ // Cookie management
17
+ //
18
+ // Uses driver.manage() API (not executeScript) because httpOnly cookies are
19
+ // not readable via document.cookie in JavaScript.
20
+ // ---------------------------------------------------------------------------
21
+ async function browser_cookie_list(driver, _params, response) {
22
+ const cookies = await driver.manage().getCookies();
23
+ response.addCode(`const cookies = await driver.manage().getCookies();`);
24
+ response.addResult(JSON.stringify(cookies, null, 2));
25
+ }
26
+ async function browser_cookie_get(driver, params, response) {
27
+ const cookie = await driver.manage().getCookie(params.name);
28
+ response.addCode(`const cookie = await driver.manage().getCookie('${params.name}');`);
29
+ response.addResult(JSON.stringify(cookie, null, 2));
30
+ }
31
+ async function browser_cookie_set(driver, params, response) {
32
+ const cookie = { name: params.name, value: params.value };
33
+ if (params.domain !== undefined)
34
+ cookie.domain = params.domain;
35
+ if (params.path !== undefined)
36
+ cookie.path = params.path;
37
+ if (params.httpOnly !== undefined)
38
+ cookie.httpOnly = params.httpOnly;
39
+ if (params.secure !== undefined)
40
+ cookie.secure = params.secure;
41
+ await driver.manage().addCookie(cookie);
42
+ const parts = [`name: '${params.name}'`, `value: '${params.value}'`];
43
+ if (params.domain !== undefined)
44
+ parts.push(`domain: '${params.domain}'`);
45
+ if (params.path !== undefined)
46
+ parts.push(`path: '${params.path}'`);
47
+ if (params.httpOnly !== undefined)
48
+ parts.push(`httpOnly: ${params.httpOnly}`);
49
+ if (params.secure !== undefined)
50
+ parts.push(`secure: ${params.secure}`);
51
+ response.addCode(`await driver.manage().addCookie({ ${parts.join(', ')} });`);
52
+ response.addResult(`cookie set: ${params.name}=${params.value}`);
53
+ }
54
+ async function browser_cookie_delete(driver, params, response) {
55
+ if (params.name) {
56
+ await driver.manage().deleteCookie(params.name);
57
+ response.addCode(`await driver.manage().deleteCookie('${params.name}');`);
58
+ response.addResult(`deleted cookie: ${params.name}`);
59
+ }
60
+ else {
61
+ await driver.manage().deleteAllCookies();
62
+ response.addCode(`await driver.manage().deleteAllCookies();`);
63
+ response.addResult('deleted all cookies');
64
+ }
65
+ }
66
+ // ---------------------------------------------------------------------------
67
+ // localStorage
68
+ // ---------------------------------------------------------------------------
69
+ async function browser_localstorage_get(driver, params, response) {
70
+ const value = await driver.executeScript('return localStorage.getItem(arguments[0]);', params.key);
71
+ response.addCode(`const value = await driver.executeScript('return localStorage.getItem(arguments[0]);', '${params.key}');`);
72
+ response.addResult(value === null ? 'null' : String(value));
73
+ }
74
+ async function browser_localstorage_set(driver, params, response) {
75
+ await driver.executeScript('localStorage.setItem(arguments[0], arguments[1]);', params.key, params.value);
76
+ response.addCode(`await driver.executeScript('localStorage.setItem(arguments[0], arguments[1]);', '${params.key}', '${params.value}');`);
77
+ response.addResult(`localStorage set: ${params.key}=${params.value}`);
78
+ }
79
+ async function browser_localstorage_delete(driver, params, response) {
80
+ if (params.key) {
81
+ await driver.executeScript('localStorage.removeItem(arguments[0]);', params.key);
82
+ response.addCode(`await driver.executeScript('localStorage.removeItem(arguments[0]);', '${params.key}');`);
83
+ response.addResult(`deleted localStorage key: ${params.key}`);
84
+ }
85
+ else {
86
+ await driver.executeScript('localStorage.clear();');
87
+ response.addCode(`await driver.executeScript('localStorage.clear();');`);
88
+ response.addResult('cleared all localStorage');
89
+ }
90
+ }
91
+ async function browser_localstorage_list(driver, _params, response) {
92
+ const script = 'return (() => { const o = {}; for (let i = 0; i < localStorage.length; i++) { const k = localStorage.key(i); o[k] = localStorage.getItem(k); } return o; })();';
93
+ const items = await driver.executeScript(script);
94
+ response.addCode(`const items = await driver.executeScript('return (() => { const o = {}; for (let i = 0; i < localStorage.length; i++) { const k = localStorage.key(i); o[k] = localStorage.getItem(k); } return o; })();');`);
95
+ response.addResult(JSON.stringify(items, null, 2));
96
+ }
97
+ // ---------------------------------------------------------------------------
98
+ // sessionStorage — same API as localStorage
99
+ // ---------------------------------------------------------------------------
100
+ async function browser_sessionstorage_get(driver, params, response) {
101
+ const value = await driver.executeScript('return sessionStorage.getItem(arguments[0]);', params.key);
102
+ response.addCode(`const value = await driver.executeScript('return sessionStorage.getItem(arguments[0]);', '${params.key}');`);
103
+ response.addResult(value === null ? 'null' : String(value));
104
+ }
105
+ async function browser_sessionstorage_set(driver, params, response) {
106
+ await driver.executeScript('sessionStorage.setItem(arguments[0], arguments[1]);', params.key, params.value);
107
+ response.addCode(`await driver.executeScript('sessionStorage.setItem(arguments[0], arguments[1]);', '${params.key}', '${params.value}');`);
108
+ response.addResult(`sessionStorage set: ${params.key}=${params.value}`);
109
+ }
110
+ async function browser_sessionstorage_delete(driver, params, response) {
111
+ if (params.key) {
112
+ await driver.executeScript('sessionStorage.removeItem(arguments[0]);', params.key);
113
+ response.addCode(`await driver.executeScript('sessionStorage.removeItem(arguments[0]);', '${params.key}');`);
114
+ response.addResult(`deleted sessionStorage key: ${params.key}`);
115
+ }
116
+ else {
117
+ await driver.executeScript('sessionStorage.clear();');
118
+ response.addCode(`await driver.executeScript('sessionStorage.clear();');`);
119
+ response.addResult('cleared all sessionStorage');
120
+ }
121
+ }
122
+ async function browser_sessionstorage_list(driver, _params, response) {
123
+ const script = 'return (() => { const o = {}; for (let i = 0; i < sessionStorage.length; i++) { const k = sessionStorage.key(i); o[k] = sessionStorage.getItem(k); } return o; })();';
124
+ const items = await driver.executeScript(script);
125
+ response.addCode(`const items = await driver.executeScript('return (() => { const o = {}; for (let i = 0; i < sessionStorage.length; i++) { const k = sessionStorage.key(i); o[k] = sessionStorage.getItem(k); } return o; })();');`);
126
+ response.addResult(JSON.stringify(items, null, 2));
127
+ }
128
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/daemon/tools/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Response } from '../../response';
2
+ export declare function browser_tab_list(driver: any, _params: any, response: Response): Promise<void>;
3
+ export declare function browser_tab_new(driver: any, params: {
4
+ url?: string;
5
+ }, response: Response): Promise<void>;
6
+ export declare function browser_tab_close(driver: any, _params: any, response: Response): Promise<void>;
7
+ export declare function browser_tab_select(driver: any, params: {
8
+ index: number;
9
+ }, response: Response): Promise<void>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.browser_tab_list = browser_tab_list;
4
+ exports.browser_tab_new = browser_tab_new;
5
+ exports.browser_tab_close = browser_tab_close;
6
+ exports.browser_tab_select = browser_tab_select;
7
+ async function browser_tab_list(driver, _params, response) {
8
+ const originalHandle = await driver.getWindowHandle();
9
+ const handles = await driver.getAllWindowHandles();
10
+ const tabs = [];
11
+ for (const handle of handles) {
12
+ await driver.switchTo().window(handle);
13
+ const title = await driver.getTitle();
14
+ const url = await driver.getCurrentUrl();
15
+ tabs.push({ handle, title, url });
16
+ }
17
+ // Switch back to the original handle so the caller's context is preserved.
18
+ await driver.switchTo().window(originalHandle);
19
+ response.addCode(`const handles = await driver.getAllWindowHandles();`);
20
+ response.addResult(JSON.stringify(tabs, null, 2));
21
+ }
22
+ async function browser_tab_new(driver, params, response) {
23
+ await driver.switchTo().newWindow('tab');
24
+ if (params.url) {
25
+ await driver.get(params.url);
26
+ response.addCode(`await driver.switchTo().newWindow('tab');\nawait driver.get('${params.url}');`);
27
+ response.addResult(`opened new tab: ${params.url}`);
28
+ }
29
+ else {
30
+ response.addCode(`await driver.switchTo().newWindow('tab');`);
31
+ response.addResult('opened new tab');
32
+ }
33
+ }
34
+ async function browser_tab_close(driver, _params, response) {
35
+ await driver.close();
36
+ const handles = await driver.getAllWindowHandles();
37
+ if (handles.length === 0) {
38
+ response.addCode(`await driver.close();`);
39
+ response.addResult('closed tab; no remaining tabs');
40
+ return;
41
+ }
42
+ // Switch to the first remaining handle so the driver has a valid window.
43
+ await driver.switchTo().window(handles[0]);
44
+ response.addCode(`await driver.close();\nawait driver.switchTo().window(handles[0]);`);
45
+ response.addResult('closed tab');
46
+ }
47
+ async function browser_tab_select(driver, params, response) {
48
+ const handles = await driver.getAllWindowHandles();
49
+ const index = params.index;
50
+ if (index < 0 || index >= handles.length) {
51
+ response.addError(`tab index ${index} out of range (0..${handles.length - 1})`);
52
+ return;
53
+ }
54
+ await driver.switchTo().window(handles[index]);
55
+ response.addCode(`const handles = await driver.getAllWindowHandles();\nawait driver.switchTo().window(handles[${index}]);`);
56
+ response.addResult(`switched to tab ${index}`);
57
+ }
58
+ //# sourceMappingURL=tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.js","sourceRoot":"","sources":["../../../src/daemon/tools/tab.ts"],"names":[],"mappings":";;AAEA,4CAiBC;AAED,0CAcC;AAED,8CAcC;AAED,gDAgBC;AAnEM,KAAK,UAAU,gBAAgB,CAAC,MAAW,EAAE,OAAY,EAAE,QAAkB;IAClF,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAEnD,MAAM,IAAI,GAAqD,EAAE,CAAC;IAClE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,2EAA2E;IAC3E,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAE/C,QAAQ,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;IACxE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,MAAW,EACX,MAAwB,EACxB,QAAkB;IAElB,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,QAAQ,CAAC,OAAO,CAAC,gEAAgE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;QAClG,QAAQ,CAAC,SAAS,CAAC,mBAAmB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAC9D,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,MAAW,EAAE,OAAY,EAAE,QAAkB;IACnF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC1C,QAAQ,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,yEAAyE;IACzE,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAC;IACvF,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACnC,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,MAAW,EACX,MAAyB,EACzB,QAAkB;IAElB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAE3B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACzC,QAAQ,CAAC,QAAQ,CAAC,aAAa,KAAK,qBAAqB,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,+FAA+F,KAAK,KAAK,CAAC,CAAC;IAC5H,QAAQ,CAAC,SAAS,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC"}
package/dist/program.js CHANGED
@@ -45,7 +45,7 @@ const fs = __importStar(require("fs"));
45
45
  async function main(argv) {
46
46
  const opts = {
47
47
  boolean: ['headed', 'raw', 'json', 'persistent', 'help'],
48
- string: ['browser', 'filename', 'depth', 's', 'session', 'cdp'],
48
+ string: ['browser', 'filename', 'depth', 's', 'session', 'cdp', 'profile'],
49
49
  alias: { s: 'session' },
50
50
  };
51
51
  const args = (0, minimist_1.parseArgs)(argv, opts);
@@ -67,6 +67,14 @@ async function main(argv) {
67
67
  openOpts.headed = true;
68
68
  if (args.cdp)
69
69
  openOpts.cdpEndpoint = args.cdp;
70
+ if (args.profile)
71
+ openOpts.profilePath = args.profile;
72
+ if (args.persistent) {
73
+ openOpts.persistent = true;
74
+ // Auto-assign profile path
75
+ const wsHash = (0, config_1.workspaceHash)(workspaceDir);
76
+ openOpts.profilePath = path.join((0, config_1.baseDaemonDir)(), 'profiles', wsHash, sessionName);
77
+ }
70
78
  await session.startDaemon(openOpts);
71
79
  if (url) {
72
80
  const resp = await session.run(['goto', url], cwd, { raw: args.raw, json: args.json });
@@ -74,6 +82,28 @@ async function main(argv) {
74
82
  }
75
83
  return;
76
84
  }
85
+ if (cmd === 'install') {
86
+ const target = args._[1] || 'claude'; // 默认 claude
87
+ const targetMap = {
88
+ 'claude': path.join('.claude', 'skills', 'se-cli'),
89
+ 'cursor': path.join('.cursor', 'skills', 'se-cli'),
90
+ 'generic': path.join('.agents', 'skills', 'se-cli'),
91
+ };
92
+ const skillDir = targetMap[target];
93
+ if (!skillDir) {
94
+ console.error(`Unknown target: ${target}. Supported: claude, cursor, generic`);
95
+ process.exit(1);
96
+ }
97
+ const skillSource = path.join(__dirname, '..', 'skill', 'SKILL.md');
98
+ if (!fs.existsSync(skillSource)) {
99
+ console.error('SKILL.md not found in package. This may be a development installation.');
100
+ process.exit(1);
101
+ }
102
+ fs.mkdirSync(skillDir, { recursive: true });
103
+ fs.copyFileSync(skillSource, path.join(skillDir, 'SKILL.md'));
104
+ console.log(`Skill installed to ${skillDir}`);
105
+ return;
106
+ }
77
107
  if (cmd === 'close') {
78
108
  await session.stop();
79
109
  return;
@@ -129,7 +159,7 @@ async function main(argv) {
129
159
  // Strip CLI-level flags (--raw, --json, --headed, --browser, --cdp, -s, --session,
130
160
  // --persistent, --help) so the daemon only sees the command and its tool-specific
131
161
  // flags (e.g. --filename, --depth, --regex, --submit).
132
- const cliFlags = new Set(['raw', 'json', 'headed', 'persistent', 'help', 'browser', 'cdp', 's', 'session']);
162
+ const cliFlags = new Set(['raw', 'json', 'headed', 'persistent', 'help', 'browser', 'cdp', 's', 'session', 'profile']);
133
163
  const forwardArgs = argv.filter(arg => {
134
164
  const m = arg.match(/^-{1,2}([\w-]+)(=.*)?$/);
135
165
  if (!m)
@@ -166,7 +196,8 @@ function printHelp() {
166
196
  console.log(`se-cli - token-efficient Selenium browser automation
167
197
 
168
198
  Usage:
169
- se-cli open [url] [--browser=chrome|edge|firefox] [--headed] [--cdp=url]
199
+ se-cli open [url] [--browser=chrome|edge|firefox] [--headed] [--cdp=url] [--profile=path] [--persistent]
200
+ se-cli install [claude|cursor|generic]
170
201
  se-cli close
171
202
  se-cli list
172
203
  se-cli close-all
@@ -187,6 +218,11 @@ Commands:
187
218
  screenshot [ref] [--filename=f]
188
219
  eval "<js>" [ref]
189
220
  title / url
221
+ cookie-list / cookie-get <name> / cookie-set <name> <val> / cookie-delete [name]
222
+ localstorage-get <key> / localstorage-set <key> <val> / localstorage-delete [key] / localstorage-list
223
+ sessionstorage-get <key> / sessionstorage-set <key> <val> / sessionstorage-delete [key] / sessionstorage-list
224
+ tab-list / tab-new [url] / tab-close / tab-select <index>
225
+ state-save [--filename=f] / state-load [--filename=f]
190
226
 
191
227
  Flags:
192
228
  --raw output only the result value
@@ -195,6 +231,8 @@ Flags:
195
231
  --browser=chrome browser (default chrome)
196
232
  --headed show browser window (default headless)
197
233
  --cdp=<url> attach to running Chrome via CDP
234
+ --profile=<path> use a persistent browser profile directory
235
+ --persistent keep browser profile across sessions (auto-assigns profile path)
198
236
  `);
199
237
  }
200
238
  //# sourceMappingURL=program.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -12,6 +12,8 @@ export declare class Session {
12
12
  browserName?: string;
13
13
  headed?: boolean;
14
14
  cdpEndpoint?: string;
15
+ profilePath?: string;
16
+ persistent?: boolean;
15
17
  }): Promise<void>;
16
18
  run(args: string[], cwd: string, opts?: {
17
19
  raw?: boolean;
package/dist/session.js CHANGED
@@ -91,6 +91,10 @@ class Session {
91
91
  args.push('--headed');
92
92
  if (opts.cdpEndpoint)
93
93
  args.push(`--cdp=${opts.cdpEndpoint}`);
94
+ if (opts.profilePath)
95
+ args.push(`--profile=${opts.profilePath}`);
96
+ if (opts.persistent)
97
+ args.push('--persistent');
94
98
  const child = (0, child_process_1.spawn)(process.execPath, args, {
95
99
  detached: true,
96
100
  stdio: ['ignore', 'pipe', 'pipe'],
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@browsers-cli/se-cli",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Selenium CLI with token-efficient browser automation for AI agents",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://se-cli.github.io/se-cli/",
@@ -30,6 +30,7 @@
30
30
  },
31
31
  "files": [
32
32
  "dist/",
33
+ "skill/",
33
34
  "README.md",
34
35
  "LICENSE"
35
36
  ],
package/skill/SKILL.md ADDED
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: se-cli
3
+ description: Automate browser interactions and test web pages using Selenium.
4
+ allowed-tools: Bash(se-cli:*) Bash(npx:*)
5
+ ---
6
+
7
+ # Browser Automation with se-cli
8
+
9
+ ## Quick start
10
+
11
+ ```bash
12
+ se-cli open
13
+ se-cli goto https://example.com
14
+ se-cli snapshot
15
+ se-cli click e3
16
+ se-cli close
17
+ ```
18
+
19
+ ## Commands
20
+
21
+ ### Core
22
+ ```bash
23
+ se-cli open [url]
24
+ se-cli goto <url>
25
+ se-cli close
26
+ se-cli snapshot [ref] [--depth=N]
27
+ se-cli find <text>
28
+ se-cli find --regex <pattern>
29
+ se-cli click <ref|selector>
30
+ se-cli fill <ref|selector> <text>
31
+ se-cli type <text>
32
+ se-cli press <key>
33
+ se-cli select <ref> <value>
34
+ se-cli check <ref>
35
+ se-cli uncheck <ref>
36
+ se-cli screenshot [ref] [--filename=f]
37
+ se-cli eval "<js>" [ref]
38
+ se-cli title
39
+ se-cli url
40
+ ```
41
+
42
+ ### Navigation
43
+ ```bash
44
+ se-cli go-back
45
+ se-cli go-forward
46
+ se-cli reload
47
+ ```
48
+
49
+ ### Storage
50
+ ```bash
51
+ se-cli cookie-list
52
+ se-cli cookie-get <name>
53
+ se-cli cookie-set <name> <value>
54
+ se-cli cookie-delete [name]
55
+ se-cli localstorage-get <key>
56
+ se-cli localstorage-set <key> <value>
57
+ se-cli localstorage-delete [key]
58
+ se-cli localstorage-list
59
+ se-cli sessionstorage-get <key>
60
+ se-cli sessionstorage-set <key> <value>
61
+ se-cli sessionstorage-delete [key]
62
+ se-cli sessionstorage-list
63
+ ```
64
+
65
+ ### Tabs
66
+ ```bash
67
+ se-cli tab-list
68
+ se-cli tab-new [url]
69
+ se-cli tab-close
70
+ se-cli tab-select <index>
71
+ ```
72
+
73
+ ### State
74
+ ```bash
75
+ se-cli state-save [--filename=f.json]
76
+ se-cli state-load [--filename=f.json]
77
+ ```
78
+
79
+ ### Sessions
80
+ ```bash
81
+ se-cli -s=<name> <cmd>
82
+ se-cli list
83
+ se-cli close-all
84
+ ```
85
+
86
+ ## Snapshots
87
+
88
+ After each command, se-cli provides an aria snapshot of the page.
89
+ Each interactive element has a `[ref=eN]` attribute. Use the ref to interact:
90
+ ```bash
91
+ se-cli snapshot
92
+ # Output: - link "Home" [ref=e1]
93
+ se-cli click e1
94
+ ```
95
+
96
+ Refs are valid only until the page changes. Re-run `snapshot` after navigation or DOM updates.
97
+
98
+ ## Example: Form submission
99
+
100
+ ```bash
101
+ se-cli open https://example.com/login
102
+ se-cli snapshot
103
+ se-cli fill e1 "user@example.com"
104
+ se-cli fill e2 "password"
105
+ se-cli click e3
106
+ se-cli snapshot
107
+ se-cli close
108
+ ```
109
+
110
+ ## Example: Save and restore state
111
+
112
+ ```bash
113
+ se-cli open https://example.com
114
+ se-cli cookie-set auth_token secret123
115
+ se-cli localstorage-set theme dark
116
+ se-cli state-save --filename=session.json
117
+ se-cli close
118
+
119
+ # Later: restore in a new session
120
+ se-cli open
121
+ se-cli state-load --filename=session.json
122
+ se-cli cookie-get auth_token
123
+ ```