nstbrowser-ai-agent 0.0.2 → 0.0.3

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
@@ -4,6 +4,58 @@ Headless browser automation CLI for AI agents. Fast Rust CLI with Node.js fallba
4
4
 
5
5
  ## Installation
6
6
 
7
+ ## Prerequisites
8
+
9
+ Before using nstbrowser-ai-agent, ensure you have the following:
10
+
11
+ ### 1. Nstbrowser Client
12
+
13
+ **Nstbrowser client must be installed and running.**
14
+
15
+ - Download from: https://www.nstbrowser.io/
16
+ - Install the client application
17
+ - Launch the Nstbrowser client
18
+
19
+ ### 2. Nstbrowser Service
20
+
21
+ The Nstbrowser API service must be accessible:
22
+
23
+ - Default endpoint: `http://127.0.0.1:8848`
24
+ - Verify service is running:
25
+ ```bash
26
+ curl http://127.0.0.1:8848/api/v2/profiles
27
+ ```
28
+ - Expected response: JSON with profile data or empty list
29
+
30
+ ### 3. API Key
31
+
32
+ Obtain your API key from the Nstbrowser dashboard and configure it:
33
+
34
+ **Method 1: Config File (Recommended)**
35
+ ```bash
36
+ nstbrowser-ai-agent config set key YOUR_API_KEY
37
+ ```
38
+
39
+ **Method 2: Environment Variable**
40
+ ```bash
41
+ export NST_API_KEY="YOUR_API_KEY"
42
+ ```
43
+
44
+ ### 4. Verify Setup
45
+
46
+ Test your configuration:
47
+
48
+ ```bash
49
+ # Check CLI version
50
+ nstbrowser-ai-agent --version
51
+
52
+ # List profiles (verifies API connection)
53
+ nstbrowser-ai-agent profile list
54
+ ```
55
+
56
+ If you see your profiles or an empty list, your environment is configured correctly.
57
+
58
+
7
59
  ### npm (Recommended)
8
60
 
9
61
  Install globally via npm to get the native Rust binary for maximum performance:
@@ -86,6 +138,53 @@ nstbrowser-ai-agent install --with-deps
86
138
  # or manually: npx playwright install-deps chromium
87
139
  ```
88
140
 
141
+ ## Quick Start Examples
142
+
143
+ ### Using Temporary Browser (Fastest)
144
+
145
+ For quick tests or one-time tasks:
146
+
147
+ ```bash
148
+ # Start temporary browser
149
+ nstbrowser-ai-agent browser start-once
150
+
151
+ # Open a website
152
+ nstbrowser-ai-agent open https://example.com
153
+
154
+ # Take a snapshot
155
+ nstbrowser-ai-agent snapshot -i
156
+
157
+ # Close browser (auto-cleanup)
158
+ nstbrowser-ai-agent close
159
+ ```
160
+
161
+ **Note:** Temporary browsers don't save session state.
162
+
163
+ ### Using Profile (Recommended)
164
+
165
+ For tasks requiring persistent sessions:
166
+
167
+ ```bash
168
+ # List available profiles
169
+ nstbrowser-ai-agent profile list
170
+
171
+ # Create a new profile (if needed)
172
+ nstbrowser-ai-agent profile create my-profile
173
+
174
+ # Set default profile
175
+ export NST_PROFILE="my-profile"
176
+
177
+ # Open browser (auto-starts with profile)
178
+ nstbrowser-ai-agent open https://example.com
179
+
180
+ # Interact with page
181
+ nstbrowser-ai-agent snapshot -i
182
+ nstbrowser-ai-agent click @e1
183
+
184
+ # Close browser (session saved to profile)
185
+ nstbrowser-ai-agent close
186
+ ```
187
+
89
188
  ## Default Provider
90
189
 
91
190
  By default, nstbrowser-ai-agent uses **Nstbrowser** as the browser provider. This means you don't need to specify `-p nst` every time - it's automatic.
@@ -112,29 +211,6 @@ nstbrowser-ai-agent browser list # List running browsers
112
211
  nstbrowser-ai-agent browser start profile-id # Start browser with profile
113
212
  ```
114
213
 
115
- ### Using Local Browser Mode
116
-
117
- If you want to use a local browser instead of Nstbrowser, use the `--local` flag:
118
-
119
- ```bash
120
- # Use local browser (no API key needed)
121
- nstbrowser-ai-agent --local open example.com
122
- nstbrowser-ai-agent --headed open example.com # Visual browser (also uses local)
123
- ```
124
-
125
- ### Provider Selection Logic
126
-
127
- The provider is selected automatically based on the following priority (highest to lowest):
128
-
129
- 1. Explicit `--provider` flag
130
- 2. `--local` flag (uses local browser)
131
- 3. `--headed` flag (implies local)
132
- 4. `--cdp` flag (implies local)
133
- 5. `--auto-connect` flag (implies local)
134
- 6. `NST_API_KEY` environment variable (uses nst)
135
- 7. **Default: nst (Nstbrowser)**
136
-
137
- This means if you have `NST_API_KEY` set, Nstbrowser will be used automatically. To override this, use `--local` or any other flag that implies local mode.
138
214
 
139
215
  ### Traditional Selectors (also supported)
140
216
 
@@ -173,7 +249,6 @@ nstbrowser-ai-agent screenshot --annotate # Annotated screenshot with numbered
173
249
  nstbrowser-ai-agent pdf <path> # Save as PDF
174
250
  nstbrowser-ai-agent snapshot # Accessibility tree with refs (best for AI)
175
251
  nstbrowser-ai-agent eval <js> # Run JavaScript (-b for base64, --stdin for piped input)
176
- nstbrowser-ai-agent connect <port> # Connect to browser via CDP
177
252
  nstbrowser-ai-agent close # Close browser (aliases: quit, exit)
178
253
  ```
179
254
 
@@ -478,7 +553,6 @@ nstbrowser-ai-agent --session-name secure open example.com
478
553
  | `NSTBROWSER_AI_AGENT_ENCRYPTION_KEY` | 64-char hex key for AES-256-GCM encryption |
479
554
  | `NSTBROWSER_AI_AGENT_STATE_EXPIRE_DAYS` | Auto-delete states older than N days (default: 30) |
480
555
  | `NSTBROWSER_AI_AGENT_PROVIDER` | Browser provider (default: nst) |
481
- | `NSTBROWSER_AI_AGENT_LOCAL` | Use local browser instead of Nstbrowser |
482
556
  | `NST_API_KEY` | Nstbrowser API key (required for nst provider, default provider) |
483
557
  | `NST_HOST` | Nstbrowser API host (default: localhost) |
484
558
  | `NST_PORT` | Nstbrowser API port (default: 8848) |
@@ -503,7 +577,6 @@ nstbrowser-ai-agent includes security features for safe AI agent deployments. Al
503
577
  | `NSTBROWSER_AI_AGENT_CONFIRM_ACTIONS` | Action categories requiring confirmation |
504
578
  | `NSTBROWSER_AI_AGENT_CONFIRM_INTERACTIVE` | Enable interactive confirmation prompts |
505
579
  | `NSTBROWSER_AI_AGENT_PROVIDER` | Browser provider (default: nst) |
506
- | `NSTBROWSER_AI_AGENT_LOCAL` | Use local browser instead of Nstbrowser |
507
580
  | `NST_API_KEY` | Nstbrowser API key (required for nst provider, default provider) |
508
581
  | `NST_HOST` | Nstbrowser API host (default: localhost) |
509
582
  | `NST_PORT` | Nstbrowser API port (default: 8848) |
@@ -573,13 +646,9 @@ This is useful for multimodal AI models that can reason about visual layout, unl
573
646
  | `--ignore-https-errors` | Ignore HTTPS certificate errors (useful for self-signed certs) |
574
647
  | `--allow-file-access` | Allow file:// URLs to access local files (Chromium only) |
575
648
  | `-p, --provider <name>` | Browser provider: `nst` (default), `local` (or `NSTBROWSER_AI_AGENT_PROVIDER` env) |
576
- | `--local` | Use local browser instead of Nstbrowser (or `NSTBROWSER_AI_AGENT_LOCAL` env) |
577
649
  | `--json` | JSON output (for agents) |
578
650
  | `--full, -f` | Full page screenshot |
579
651
  | `--annotate` | Annotated screenshot with numbered element labels (or `NSTBROWSER_AI_AGENT_ANNOTATE` env) |
580
- | `--headed` | Show browser window (not headless, implies local mode) |
581
- | `--cdp <port\|url>` | Connect via Chrome DevTools Protocol (port or WebSocket URL, implies local mode) |
582
- | `--auto-connect` | Auto-discover and connect to running Chrome (implies local mode) (or `NSTBROWSER_AI_AGENT_AUTO_CONNECT` env) |
583
652
  | `--color-scheme <scheme>` | Color scheme: `dark`, `light`, `no-preference` (or `NSTBROWSER_AI_AGENT_COLOR_SCHEME` env) |
584
653
  | `--download-path <path>` | Default download directory (or `NSTBROWSER_AI_AGENT_DOWNLOAD_PATH` env) |
585
654
  | `--content-boundaries` | Wrap page output in boundary markers for LLM safety (or `NSTBROWSER_AI_AGENT_CONTENT_BOUNDARIES` env) |
@@ -876,59 +945,6 @@ The `--allow-file-access` flag adds Chromium flags (`--allow-file-access-from-fi
876
945
 
877
946
  **Note:** This flag only works with Chromium. For security, it's disabled by default.
878
947
 
879
- ## CDP Mode
880
-
881
- Connect to an existing browser via Chrome DevTools Protocol:
882
-
883
- ```bash
884
- # Start Chrome with: google-chrome --remote-debugging-port=9222
885
-
886
- # Connect once, then run commands without --cdp
887
- nstbrowser-ai-agent connect 9222
888
- nstbrowser-ai-agent snapshot
889
- nstbrowser-ai-agent tab
890
- nstbrowser-ai-agent close
891
-
892
- # Or pass --cdp on each command
893
- nstbrowser-ai-agent --cdp 9222 snapshot
894
-
895
- # Connect to remote browser via WebSocket URL
896
- nstbrowser-ai-agent --cdp "wss://your-browser-service.com/cdp?token=..." snapshot
897
- ```
898
-
899
- The `--cdp` flag accepts either:
900
- - A port number (e.g., `9222`) for local connections via `http://localhost:{port}`
901
- - A full WebSocket URL (e.g., `wss://...` or `ws://...`) for remote browser services
902
-
903
- This enables control of:
904
- - Electron apps
905
- - Chrome/Chromium instances with remote debugging
906
- - WebView2 applications
907
- - Any browser exposing a CDP endpoint
908
-
909
- ### Auto-Connect
910
-
911
- Use `--auto-connect` to automatically discover and connect to a running Chrome instance without specifying a port:
912
-
913
- ```bash
914
- # Auto-discover running Chrome with remote debugging
915
- nstbrowser-ai-agent --auto-connect open example.com
916
- nstbrowser-ai-agent --auto-connect snapshot
917
-
918
- # Or via environment variable
919
- NSTBROWSER_AI_AGENT_AUTO_CONNECT=1 nstbrowser-ai-agent snapshot
920
- ```
921
-
922
- Auto-connect discovers Chrome by:
923
- 1. Reading Chrome's `DevToolsActivePort` file from the default user data directory
924
- 2. Falling back to probing common debugging ports (9222, 9229)
925
-
926
- This is useful when:
927
- - Chrome 144+ has remote debugging enabled via `chrome://inspect/#remote-debugging` (which uses a dynamic port)
928
- - You want a zero-configuration connection to your existing browser
929
- - You don't want to track which port Chrome is using
930
-
931
- ## Streaming (Browser Preview)
932
948
 
933
949
  Stream the browser viewport via WebSocket for live preview or "pair browsing" where a human can watch and interact alongside an AI agent.
934
950
 
@@ -1137,10 +1153,11 @@ For more consistent results, add to your project or global instructions file:
1137
1153
  Use `nstbrowser-ai-agent` for web automation. Run `nstbrowser-ai-agent --help` for all commands.
1138
1154
 
1139
1155
  Core workflow:
1140
- 1. `nstbrowser-ai-agent open <url>` - Navigate to page
1141
- 2. `nstbrowser-ai-agent snapshot -i` - Get interactive elements with refs (@e1, @e2)
1142
- 3. `nstbrowser-ai-agent click @e1` / `fill @e2 "text"` - Interact using refs
1143
- 4. Re-snapshot after page changes
1156
+ 1. Set profile: `export NST_PROFILE="my-profile"` or use `browser start-once` for temporary browser
1157
+ 2. `nstbrowser-ai-agent open <url>` - Navigate to page
1158
+ 3. `nstbrowser-ai-agent snapshot -i` - Get interactive elements with refs (@e1, @e2)
1159
+ 4. `nstbrowser-ai-agent click @e1` / `fill @e2 "text"` - Interact using refs
1160
+ 5. Re-snapshot after page changes
1144
1161
  ```
1145
1162
 
1146
1163
  ## Nstbrowser Integration
@@ -1245,7 +1262,6 @@ You can still use `--profile-id` for explicit ID specification if preferred, but
1245
1262
  # With default NST provider (NST_API_KEY set), no 'nst' prefix needed:
1246
1263
  nstbrowser-ai-agent browser list # List running instances
1247
1264
  nstbrowser-ai-agent browser start profile-123 # Start browser for profile
1248
- nstbrowser-ai-agent browser start-batch p1 p2 p3 # Start multiple browsers
1249
1265
  nstbrowser-ai-agent browser start-once # Start temporary browser
1250
1266
  nstbrowser-ai-agent browser stop profile-123 # Stop browser instance
1251
1267
  nstbrowser-ai-agent browser stop-all # Stop all instances
@@ -1259,7 +1275,6 @@ nstbrowser-ai-agent browser connect-once # Connect to temp browser
1259
1275
  # Traditional explicit syntax still works:
1260
1276
  nstbrowser-ai-agent nst browser list
1261
1277
  nstbrowser-ai-agent nst browser start profile-123
1262
- nstbrowser-ai-agent nst browser start-batch p1 p2 p3
1263
1278
  nstbrowser-ai-agent nst browser stop profile-123
1264
1279
  nstbrowser-ai-agent nst browser stop-all
1265
1280
  ```
Binary file
Binary file
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"nstbrowser-actions.d.ts","sourceRoot":"","sources":["../src/nstbrowser-actions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAWpD;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyFlF"}
1
+ {"version":3,"file":"nstbrowser-actions.d.ts","sourceRoot":"","sources":["../src/nstbrowser-actions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAWpD;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqGlF"}
@@ -81,6 +81,18 @@ export async function executeNstbrowserCommand(command) {
81
81
  return await handleProfileTagsBatchClear(command, client);
82
82
  case 'nst_profile_group_batch_change':
83
83
  return await handleProfileGroupBatchChange(command, client);
84
+ case 'nst_browser_start_once':
85
+ return await handleBrowserStartOnce(command, client);
86
+ case 'nst_browser_cdp_url':
87
+ return await handleBrowserCdpUrl(command, client);
88
+ case 'nst_browser_cdp_url_once':
89
+ return await handleBrowserCdpUrlOnce(command, client);
90
+ case 'nst_browser_connect':
91
+ return await handleBrowserConnect(command, client);
92
+ case 'nst_browser_connect_once':
93
+ return await handleBrowserConnectOnce(command, client);
94
+ case 'nst_profile_list_cursor':
95
+ return await handleProfileListCursor(command, client);
84
96
  default:
85
97
  return errorResponse(command.id, `Unknown Nstbrowser action: ${command.action}`);
86
98
  }
@@ -273,4 +285,31 @@ async function handleProfileGroupBatchChange(command, client) {
273
285
  await client.batchChangeProfileGroup(profileIds, command.groupId);
274
286
  return successResponse(command.id, { changed: profileIds.length });
275
287
  }
288
+ // ==================== New Commands - Batch and CDP ====================
289
+ async function handleBrowserStartOnce(command, client) {
290
+ const result = await client.startOnceBrowser(command.config || {});
291
+ return successResponse(command.id, result);
292
+ }
293
+ async function handleBrowserCdpUrl(command, client) {
294
+ const profileId = await resolveProfileId(client, command.profileId);
295
+ const result = await client.getCdpUrl(profileId);
296
+ return successResponse(command.id, result);
297
+ }
298
+ async function handleBrowserCdpUrlOnce(command, client) {
299
+ const result = await client.getCdpUrlOnce();
300
+ return successResponse(command.id, result);
301
+ }
302
+ async function handleBrowserConnect(command, client) {
303
+ const profileId = await resolveProfileId(client, command.profileId);
304
+ const result = await client.connectBrowser(profileId);
305
+ return successResponse(command.id, result);
306
+ }
307
+ async function handleBrowserConnectOnce(command, client) {
308
+ const result = await client.connectOnceBrowser(command.config || {});
309
+ return successResponse(command.id, result);
310
+ }
311
+ async function handleProfileListCursor(command, client) {
312
+ const result = await client.getProfilesByCursor(command.cursor, command.pageSize, command.direction);
313
+ return successResponse(command.id, result);
314
+ }
276
315
  //# sourceMappingURL=nstbrowser-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nstbrowser-actions.js","sourceRoot":"","sources":["../src/nstbrowser-actions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO/D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAAgB;IAC7D,2EAA2E;IAC3E,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,aAAa,CAClB,OAAO,CAAC,EAAE,EACV,+FAA+F,CAChG,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE;YACxD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;YAC7C,MAAM,EAAE,4BAA4B;SACrC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,kBAAkB;gBACrB,OAAO,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,KAAK,mBAAmB;gBACtB,OAAO,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,KAAK,kBAAkB;gBACrB,OAAO,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,KAAK,sBAAsB;gBACzB,OAAO,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrD,KAAK,kBAAkB;gBACrB,OAAO,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,KAAK,oBAAoB;gBACvB,OAAO,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,KAAK,oBAAoB;gBACvB,OAAO,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,KAAK,0BAA0B;gBAC7B,OAAO,MAAM,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzD,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,KAAK,uBAAuB;gBAC1B,OAAO,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtD,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,KAAK,wBAAwB;gBAC3B,OAAO,MAAM,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvD,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,KAAK,0BAA0B;gBAC7B,OAAO,MAAM,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzD,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,KAAK,2BAA2B;gBAC9B,OAAO,MAAM,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1D,KAAK,kBAAkB;gBACrB,OAAO,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,KAAK,wBAAwB;gBAC3B,OAAO,MAAM,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvD,KAAK,mBAAmB;gBACtB,OAAO,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,KAAK,sBAAsB;gBACzB,OAAO,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtD,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,KAAK,gCAAgC;gBACnC,OAAO,MAAM,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9D,KAAK,+BAA+B;gBAClC,OAAO,MAAM,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7D,KAAK,+BAA+B;gBAClC,OAAO,MAAM,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7D,KAAK,+BAA+B;gBAClC,OAAO,MAAM,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7D,KAAK,8BAA8B;gBACjC,OAAO,MAAM,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5D,KAAK,gCAAgC;gBACnC,OAAO,MAAM,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9D;gBACE,OAAO,aAAa,CACjB,OAA0B,CAAC,EAAE,EAC9B,8BAA+B,OAA8B,CAAC,MAAM,EAAE,CACvE,CAAC;QACN,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,wEAAwE;AAExE,KAAK,UAAU,iBAAiB,CAC9B,OAAmD,EACnD,MAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAKC,EACD,MAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAAsE,EACtE,MAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAuD,EACvD,MAAwB;IAExB,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;IAC/B,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,+DAA+D;AAE/D,KAAK,UAAU,iBAAiB,CAC9B,OAIC,EACD,MAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAgBC,EACD,MAAwB;IAExB,mCAAmC;IACnC,MAAM,aAAa,GAAkB;QACnC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;IAEF,+BAA+B;IAC/B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,aAAa,CAAC,KAAK,GAAG;YACpB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;YAC9B,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;YAC9B,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;YAC9B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;YACtC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;SACvC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAC1D,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAA2E,EAC3E,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,6DAA6D;AAE7D,KAAK,UAAU,wBAAwB,CACrC,OAWC,EACD,MAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAAgF,EAChF,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,2DAA2D;AAE3D,KAAK,UAAU,qBAAqB,CAClC,OAAwD,EACxD,MAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAC3C,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAKC,EACD,MAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,+CAA+C;IAC/C,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAA+E,EAC/E,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,6DAA6D;AAE7D,KAAK,UAAU,uBAAuB,CACpC,OAA0D,EAC1D,MAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAClD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,OAKC,EACD,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,CAAC,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,kEAAkE;AAElE,KAAK,UAAU,uBAAuB,CACpC,OAAgF,EAChF,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,uEAAuE;IACvE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,OAAkF,EAClF,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,yEAAyE;IACzE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,yDAAyD;AAEzD,KAAK,UAAU,iBAAiB,CAC9B,OAAsE,EACtE,MAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtE,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAA4E,EAC5E,MAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtE,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAuE,EACvE,MAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAA0E,EAC1E,MAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAChE,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAKC,EACD,MAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,OAWC,EACD,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/D,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAIC,EACD,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAKC,EACD,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAKC,EACD,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,OAIC,EACD,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,OAKC,EACD,MAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,MAAM,CAAC,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"nstbrowser-actions.js","sourceRoot":"","sources":["../src/nstbrowser-actions.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ export declare class NstbrowserAuthError extends NstbrowserError {
18
18
  export declare class NstbrowserProfileNotFoundError extends NstbrowserError {
19
19
  constructor(profileName: string);
20
20
  }
21
+ export declare class NoProfileSpecifiedError extends NstbrowserError {
22
+ constructor();
23
+ }
21
24
  export declare class NstbrowserConnectionError extends NstbrowserError {
22
25
  constructor(message: string);
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nstbrowser-errors.d.ts","sourceRoot":"","sources":["../src/nstbrowser-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;IAG/B,IAAI,CAAC,EAAE,MAAM;IACb,UAAU,CAAC,EAAE,MAAM;gBAF1B,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,UAAU,CAAC,EAAE,MAAM,YAAA;CAK7B;AAED,qBAAa,2BAA4B,SAAQ,eAAe;;CAI/D;AAED,qBAAa,yBAA0B,SAAQ,eAAe;;CAI7D;AAED,qBAAa,mBAAoB,SAAQ,eAAe;;CAIvD;AAED,qBAAa,8BAA+B,SAAQ,eAAe;gBACrD,WAAW,EAAE,MAAM;CAGhC;AAED,qBAAa,yBAA0B,SAAQ,eAAe;gBAChD,OAAO,EAAE,MAAM;CAG5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAoB3D"}
1
+ {"version":3,"file":"nstbrowser-errors.d.ts","sourceRoot":"","sources":["../src/nstbrowser-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;IAG/B,IAAI,CAAC,EAAE,MAAM;IACb,UAAU,CAAC,EAAE,MAAM;gBAF1B,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,UAAU,CAAC,EAAE,MAAM,YAAA;CAK7B;AAED,qBAAa,2BAA4B,SAAQ,eAAe;;CAI/D;AAED,qBAAa,yBAA0B,SAAQ,eAAe;;CAI7D;AAED,qBAAa,mBAAoB,SAAQ,eAAe;;CAevD;AAED,qBAAa,8BAA+B,SAAQ,eAAe;gBACrD,WAAW,EAAE,MAAM;CAchC;AAED,qBAAa,uBAAwB,SAAQ,eAAe;;CAkB3D;AAED,qBAAa,yBAA0B,SAAQ,eAAe;gBAChD,OAAO,EAAE,MAAM;CAY5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAoB3D"}
@@ -23,17 +23,67 @@ export class NstbrowserNotRunningError extends NstbrowserError {
23
23
  }
24
24
  export class NstbrowserAuthError extends NstbrowserError {
25
25
  constructor() {
26
- super('Invalid Nstbrowser API key', 'NST_AUTH_ERROR', 401);
26
+ const message = `Invalid Nstbrowser API key
27
+
28
+ Setup:
29
+ 1. Get your API key from Nstbrowser dashboard
30
+ 2. Configure using one of these methods:
31
+
32
+ Method 1 (Recommended - Config file):
33
+ nstbrowser-ai-agent config set key YOUR_API_KEY
34
+
35
+ Method 2 (Environment variable):
36
+ export NST_API_KEY="YOUR_API_KEY"`;
37
+ super(message, 'NST_AUTH_ERROR', 401);
27
38
  }
28
39
  }
29
40
  export class NstbrowserProfileNotFoundError extends NstbrowserError {
30
41
  constructor(profileName) {
31
- super(`Profile "${profileName}" not found`, 'NST_PROFILE_NOT_FOUND', 404);
42
+ const message = `Profile '${profileName}' not found
43
+
44
+ Suggestions:
45
+ 1. List available profiles:
46
+ nstbrowser-ai-agent nst profile list
47
+
48
+ 2. Create a new profile:
49
+ nstbrowser-ai-agent nst profile create ${profileName}
50
+
51
+ 3. Use temporary browser:
52
+ nstbrowser-ai-agent nst browser start-once`;
53
+ super(message, 'NST_PROFILE_NOT_FOUND', 404);
54
+ }
55
+ }
56
+ export class NoProfileSpecifiedError extends NstbrowserError {
57
+ constructor() {
58
+ const message = `No profile specified
59
+
60
+ Options:
61
+ 1. Specify profile by name:
62
+ nstbrowser-ai-agent --profile my-profile open https://example.com
63
+
64
+ 2. Specify profile by ID:
65
+ nstbrowser-ai-agent --profile-id <UUID> open https://example.com
66
+
67
+ 3. Set default profile (environment variable):
68
+ export NST_PROFILE="my-profile"
69
+
70
+ 4. Use temporary browser:
71
+ nstbrowser-ai-agent nst browser start-once`;
72
+ super(message, 'NO_PROFILE_SPECIFIED');
32
73
  }
33
74
  }
34
75
  export class NstbrowserConnectionError extends NstbrowserError {
35
76
  constructor(message) {
36
- super(`Failed to connect to Nstbrowser: ${message}`, 'NST_CONNECTION_ERROR');
77
+ const fullMessage = `Failed to connect to Nstbrowser: ${message}
78
+
79
+ Troubleshooting:
80
+ 1. Verify Nstbrowser client is running
81
+ 2. Check API endpoint: http://127.0.0.1:8848
82
+ 3. Test connection:
83
+ curl http://127.0.0.1:8848/api/v2/profiles
84
+ 4. Check API key is configured:
85
+ echo $NST_API_KEY`;
86
+ super(fullMessage, 'NST_CONNECTION_ERROR');
37
87
  }
38
88
  }
39
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"nstbrowser-errors.js","sourceRoot":"","sources":["../src/nstbrowser-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAG/B;IACA;IAHT,YACE,OAAe,EACR,IAAa,EACb,UAAmB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAS;QACb,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D;QACE,KAAK,CAAC,oCAAoC,EAAE,mBAAmB,CAAC,CAAC;IACnE,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D;QACE,KAAK,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD;QACE,KAAK,CAAC,4BAA4B,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,eAAe;IACjE,YAAY,WAAmB;QAC7B,KAAK,CAAC,YAAY,WAAW,aAAa,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,oCAAoC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAC/E,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,2BAA2B;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,yBAAyB,EAAE,CAAC;QACzC,CAAC;QAED,kCAAkC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5E,OAAO,IAAI,mBAAmB,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"nstbrowser-errors.js","sourceRoot":"","sources":["../src/nstbrowser-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAG/B;IACA;IAHT,YACE,OAAe,EACR,IAAa,EACb,UAAmB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAS;QACb,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D;QACE,KAAK,CAAC,oCAAoC,EAAE,mBAAmB,CAAC,CAAC;IACnE,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D;QACE,KAAK,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD;QACE,MAAM,OAAO,GAAG;;;;;;;;;;qCAUiB,CAAC;QAClC,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,eAAe;IACjE,YAAY,WAAmB;QAC7B,MAAM,OAAO,GAAG,YAAY,WAAW;;;;;;;4CAOC,WAAW;;;8CAGT,CAAC;QAC3C,KAAK,CAAC,OAAO,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IAC1D;QACE,MAAM,OAAO,GAAG;;;;;;;;;;;;;8CAa0B,CAAC;QAC3C,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,MAAM,WAAW,GAAG,oCAAoC,OAAO;;;;;;;;qBAQ9C,CAAC;QAClB,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,2BAA2B;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,yBAAyB,EAAE,CAAC;QACzC,CAAC;QAED,kCAAkC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5E,OAAO,IAAI,mBAAmB,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -7,8 +7,14 @@ import type { NstbrowserClient } from './nstbrowser-client.js';
7
7
  * Resolve a profile identifier (name or ID) to a profile ID
8
8
  *
9
9
  * This function attempts to resolve a profile by:
10
- * 1. First trying to use the input as a profile ID directly
11
- * 2. If that fails, searching for a profile with matching name
10
+ * 1. Detecting if input is UUID format (profile ID)
11
+ * 2. If UUID, looking up by ID directly
12
+ * 3. If not UUID, searching by name
13
+ * 4. If multiple profiles with same name, returning first one
14
+ *
15
+ * Priority order for profile resolution:
16
+ * - Direct UUID match (profile ID)
17
+ * - Name match (first match if multiple)
12
18
  *
13
19
  * @param client - NSTBrowser API client instance
14
20
  * @param nameOrId - Profile name or profile ID
@@ -1 +1 @@
1
- {"version":3,"file":"nstbrowser-utils.d.ts","sourceRoot":"","sources":["../src/nstbrowser-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWhG;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oDAgBpF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAK9D;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAatF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAI9D;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,IAAI,MAAM,CAWzD"}
1
+ {"version":3,"file":"nstbrowser-utils.d.ts","sourceRoot":"","sources":["../src/nstbrowser-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AA+B/D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWhG;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oDAgBpF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAK9D;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAatF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAI9D;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,IAAI,MAAM,CAWzD"}
@@ -3,12 +3,42 @@
3
3
  * Helper functions for NSTBrowser API operations
4
4
  */
5
5
  import { NstbrowserError } from './nstbrowser-errors.js';
6
+ // Simple in-memory cache for profile lookups
7
+ const profileCache = new Map();
8
+ const CACHE_TTL_MS = 30000; // 30 seconds
9
+ /**
10
+ * Check if a string is a valid UUID format
11
+ */
12
+ function isUUID(str) {
13
+ const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
14
+ return uuidRegex.test(str);
15
+ }
16
+ /**
17
+ * Get profiles with caching
18
+ */
19
+ async function getCachedProfiles(client) {
20
+ const cacheKey = 'profiles';
21
+ const cached = profileCache.get(cacheKey);
22
+ const now = Date.now();
23
+ if (cached && now - cached.timestamp < CACHE_TTL_MS) {
24
+ return cached.profiles;
25
+ }
26
+ const profiles = await client.getProfiles();
27
+ profileCache.set(cacheKey, { profiles, timestamp: now });
28
+ return profiles;
29
+ }
6
30
  /**
7
31
  * Resolve a profile identifier (name or ID) to a profile ID
8
32
  *
9
33
  * This function attempts to resolve a profile by:
10
- * 1. First trying to use the input as a profile ID directly
11
- * 2. If that fails, searching for a profile with matching name
34
+ * 1. Detecting if input is UUID format (profile ID)
35
+ * 2. If UUID, looking up by ID directly
36
+ * 3. If not UUID, searching by name
37
+ * 4. If multiple profiles with same name, returning first one
38
+ *
39
+ * Priority order for profile resolution:
40
+ * - Direct UUID match (profile ID)
41
+ * - Name match (first match if multiple)
12
42
  *
13
43
  * @param client - NSTBrowser API client instance
14
44
  * @param nameOrId - Profile name or profile ID
@@ -20,28 +50,30 @@ export async function resolveProfileId(client, nameOrId) {
20
50
  throw new NstbrowserError('Profile name or ID cannot be empty', 'INVALID_INPUT');
21
51
  }
22
52
  const trimmedInput = nameOrId.trim();
23
- // Step 1: Try to use as ID directly by querying all profiles
24
- // Note: We need to query profiles to check if this ID exists
25
53
  try {
26
- const profiles = await client.getProfiles();
27
- // Check if input matches a profile ID
28
- const profileById = profiles.find((p) => p.profileId === trimmedInput);
29
- if (profileById) {
30
- return profileById.profileId;
54
+ const profiles = await getCachedProfiles(client);
55
+ // Step 1: Check if input is UUID format
56
+ if (isUUID(trimmedInput)) {
57
+ // Try to find by ID
58
+ const profileById = profiles.find((p) => p.profileId === trimmedInput);
59
+ if (profileById) {
60
+ return profileById.profileId;
61
+ }
62
+ // UUID format but not found
63
+ throw new NstbrowserError(`Profile ID not found: "${trimmedInput}"`, 'PROFILE_NOT_FOUND', 404);
31
64
  }
32
- // Step 2: Search by name
65
+ // Step 2: Search by name (not UUID format)
33
66
  const profilesByName = profiles.filter((p) => p.name === trimmedInput);
34
67
  if (profilesByName.length === 0) {
35
- throw new NstbrowserError(`Profile not found: "${trimmedInput}". Please check the profile name or ID.`, 'PROFILE_NOT_FOUND', 404);
68
+ throw new NstbrowserError(`Profile not found: "${trimmedInput}"`, 'PROFILE_NOT_FOUND', 404);
36
69
  }
37
70
  if (profilesByName.length > 1) {
38
- // Multiple profiles with same name - return first one but warn
71
+ // Multiple profiles with same name - return first one and log warning
39
72
  if (process.env.NSTBROWSER_AI_AGENT_DEBUG === '1') {
40
73
  console.warn(`[WARNING] Multiple profiles found with name "${trimmedInput}". Using first match: ${profilesByName[0].profileId}`);
41
74
  }
42
- return profilesByName[0].profileId;
43
75
  }
44
- // Exactly one profile found by name
76
+ // Return first match (whether single or multiple)
45
77
  return profilesByName[0].profileId;
46
78
  }
47
79
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"nstbrowser-utils.js","sourceRoot":"","sources":["../src/nstbrowser-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAwB,EACxB,QAAgB;IAEhB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CAAC,oCAAoC,EAAE,eAAe,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAErC,6DAA6D;IAC7D,6DAA6D;IAC7D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAE5C,sCAAsC;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC;QACvE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,CAAC;QAED,yBAAyB;QACzB,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAEvE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,eAAe,CACvB,uBAAuB,YAAY,yCAAyC,EAC5E,mBAAmB,EACnB,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,+DAA+D;YAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CACV,gDAAgD,YAAY,yBAAyB,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CACnH,CAAC;YACJ,CAAC;YACD,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrC,CAAC;QAED,oCAAoC;QACpC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iDAAiD;QACjD,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,oBAAoB;QACpB,MAAM,IAAI,eAAe,CACvB,8BAA8B,YAAY,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxG,kBAAkB,CACnB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAwB,EACxB,UAAoB;IAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,eAAe,CAAC,4CAA4C,EAAE,eAAe,CAAC,CAAC;IAC3F,CAAC;IAED,mCAAmC;IACnC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CACjE,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAwB,EAAE,QAAgB;IAC5E,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,wBAAwB;QACxB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAwB,EAAE,QAAgB;IACnF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAE5C,0BAA0B;IAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;IACnE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,sBAAsB;IACtB,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAChE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,IAAI,eAAe,CAAC,uBAAuB,QAAQ,GAAG,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;AAC1F,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,+CAA+C;IAC/C,kFAAkF;IAClF,0DAA0D;IAC1D,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAY;IAClE,IAAI,CAAC;QACH,uCAAuC;QACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,kBAAkB,EAAE;YACrE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;aAC3C;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,+EAA+E;IAC/E,qEAAqE;IACrE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gCAAgC;IAC9C,OAAO;;;;;;;;;CASR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"nstbrowser-utils.js","sourceRoot":"","sources":["../src/nstbrowser-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA+1CpD,MAAM,MAAM,WAAW,GACnB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACnC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAqDvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAEnE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAEjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAg1CpD,MAAM,MAAM,WAAW,GACnB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACnC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAqDvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAEnE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAEjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE5D"}