neuron-inspector 0.8.1 → 1.1.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 +345 -42
- package/dist/automations/executor.d.ts +21 -0
- package/dist/automations/executor.js +835 -0
- package/dist/automations/executor.js.map +1 -0
- package/dist/automations/index.d.ts +7 -0
- package/dist/automations/index.js +21 -0
- package/dist/automations/index.js.map +1 -0
- package/dist/automations/store.d.ts +15 -0
- package/dist/automations/store.js +193 -0
- package/dist/automations/store.js.map +1 -0
- package/dist/automations/tools.d.ts +14 -0
- package/dist/automations/tools.js +735 -0
- package/dist/automations/tools.js.map +1 -0
- package/dist/automations/types.d.ts +211 -0
- package/dist/automations/types.js +4 -0
- package/dist/automations/types.js.map +1 -0
- package/dist/business-tools.d.ts +17 -0
- package/dist/business-tools.js +3065 -0
- package/dist/business-tools.js.map +1 -0
- package/dist/collections/resolver.js +2 -2
- package/dist/collections/resolver.js.map +1 -1
- package/dist/collections/store.js +2 -2
- package/dist/collections/store.js.map +1 -1
- package/dist/killswitch.js +2 -2
- package/dist/killswitch.js.map +1 -1
- package/dist/monitor.d.ts +77 -2
- package/dist/monitor.js +331 -53
- package/dist/monitor.js.map +1 -1
- package/dist/paths.d.ts +16 -0
- package/dist/paths.js +39 -0
- package/dist/paths.js.map +1 -0
- package/dist/recipe-tools.js +28 -3
- package/dist/recipe-tools.js.map +1 -1
- package/dist/recipes.d.ts +2 -0
- package/dist/recipes.js +34 -5
- package/dist/recipes.js.map +1 -1
- package/dist/scheduler.js +4 -8
- package/dist/scheduler.js.map +1 -1
- package/dist/server.js +191 -19
- package/dist/server.js.map +1 -1
- package/dist/session-state.js +2 -2
- package/dist/session-state.js.map +1 -1
- package/dist/tools.js +28 -0
- package/dist/tools.js.map +1 -1
- package/package.json +2 -2
- package/recipes/linkedin-job-scraper/agent.md +144 -0
- package/recipes/linkedin-job-scraper/learnings.md +3 -0
- package/recipes/linkedin-job-scraper/recipe.yaml +71 -0
- package/recipes/sheets-data-entry/agent.md +166 -0
- package/recipes/sheets-data-entry/learnings.md +3 -0
- package/recipes/sheets-data-entry/recipe.yaml +78 -0
- package/recipes/x-job-scraper/agent.md +156 -0
- package/recipes/x-job-scraper/learnings.md +3 -0
- package/recipes/x-job-scraper/recipe.yaml +72 -0
- package/dist/__tests__/correlation.test.d.ts +0 -1
- package/dist/__tests__/correlation.test.js +0 -53
- package/dist/__tests__/correlation.test.js.map +0 -1
- package/dist/__tests__/monitor.test.d.ts +0 -1
- package/dist/__tests__/monitor.test.js +0 -286
- package/dist/__tests__/monitor.test.js.map +0 -1
- package/dist/__tests__/recipes.test.d.ts +0 -1
- package/dist/__tests__/recipes.test.js +0 -415
- package/dist/__tests__/recipes.test.js.map +0 -1
- package/dist/__tests__/scheduler.test.d.ts +0 -1
- package/dist/__tests__/scheduler.test.js +0 -316
- package/dist/__tests__/scheduler.test.js.map +0 -1
- package/dist/__tests__/session-state.test.d.ts +0 -1
- package/dist/__tests__/session-state.test.js +0 -335
- package/dist/__tests__/session-state.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# neuron-inspector
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**177 browser tools for AI agents.** Your AI can't see your browser. This fixes that.
|
|
4
4
|
|
|
5
|
-
Inspect DOM, automate clicks, run JavaScript, search network traffic, audit security, check accessibility, scan SEO, mock APIs, extract structured data, record demos — all from Claude Code, Cursor, Windsurf, or any MCP client.
|
|
5
|
+
Inspect DOM, automate clicks, run JavaScript, search network traffic, audit security, check accessibility, scan SEO, mock APIs, extract structured data, record demos, scan profiles, score leads, track competitors, monitor mentions, build revenue pipelines — all from Claude Code, Cursor, Windsurf, or any MCP client.
|
|
6
6
|
|
|
7
7
|
No API keys. No cloud. Runs on localhost.
|
|
8
8
|
|
|
@@ -63,9 +63,61 @@ Open any page in Chrome. Ask your AI agent to interact with it. Done.
|
|
|
63
63
|
|
|
64
64
|
---
|
|
65
65
|
|
|
66
|
+
## Multi-Profile Setup
|
|
67
|
+
|
|
68
|
+
Each Chrome profile can connect to a different bridge instance. This enables multi-account workflows where each profile is logged into different social media accounts.
|
|
69
|
+
|
|
70
|
+
### 1. Set the bridge port per Chrome profile
|
|
71
|
+
|
|
72
|
+
Open the extension popup > Settings (gear icon) > enable Developer Mode. Set a unique **Bridge Port** for each Chrome profile:
|
|
73
|
+
|
|
74
|
+
- Profile A (personal): port `7377` (default)
|
|
75
|
+
- Profile B (business): port `7378`
|
|
76
|
+
- Profile C (client): port `7379`
|
|
77
|
+
|
|
78
|
+
### 2. Start a bridge per profile
|
|
79
|
+
|
|
80
|
+
Each bridge gets its own port (`NEURON_BRIDGE_PORT`) and its own data directory (`NEURON_DATA_DIR`) so leads, monitors, sessions, and recipes stay isolated.
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Terminal 1 — personal (default port + default data dir)
|
|
84
|
+
npx neuron-inspector
|
|
85
|
+
|
|
86
|
+
# Terminal 2 — business
|
|
87
|
+
NEURON_BRIDGE_PORT=7378 NEURON_DATA_DIR=~/.neuron/letschop npx neuron-inspector
|
|
88
|
+
|
|
89
|
+
# Terminal 3 — client
|
|
90
|
+
NEURON_BRIDGE_PORT=7379 NEURON_DATA_DIR=~/.neuron/dlvh npx neuron-inspector
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 3. Register each bridge with your AI tool
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
claude mcp add rasheed-personal -- npx neuron-inspector
|
|
97
|
+
claude mcp add letschop -- env NEURON_BRIDGE_PORT=7378 NEURON_DATA_DIR=~/.neuron/letschop npx neuron-inspector
|
|
98
|
+
claude mcp add dlvh -- env NEURON_BRIDGE_PORT=7379 NEURON_DATA_DIR=~/.neuron/dlvh npx neuron-inspector
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Each bridge logs its data directory on startup so you can confirm isolation:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
[bridge] Data directory: /Users/you/.neuron/letschop
|
|
105
|
+
[bridge] Primary mode — WebSocket server on 127.0.0.1:7378
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Data layout:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
~/.neuron/ ← rasheed-personal (default)
|
|
112
|
+
~/.neuron/letschop/ ← letschop leads, monitors, recipes, collections
|
|
113
|
+
~/.neuron/dlvh/ ← dlvh leads, monitors, recipes, collections
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
66
118
|
## What you can do
|
|
67
119
|
|
|
68
|
-
###
|
|
120
|
+
### Debug a page
|
|
69
121
|
|
|
70
122
|
> "Why is this page slow?"
|
|
71
123
|
|
|
@@ -79,55 +131,63 @@ The agent calls `neuron_perf_snapshot` and gets back Core Web Vitals, render-blo
|
|
|
79
131
|
|
|
80
132
|
`neuron_a11y_audit` runs a WCAG audit — color contrast failures, missing alt text, broken heading hierarchy, unlabeled form fields.
|
|
81
133
|
|
|
82
|
-
###
|
|
134
|
+
### Explore traffic
|
|
83
135
|
|
|
84
136
|
> "What APIs is this SPA calling?"
|
|
85
137
|
|
|
86
138
|
`neuron_discover_apis` maps every endpoint from observed traffic — call counts, status codes, auth patterns, response shapes.
|
|
87
139
|
|
|
88
|
-
> "
|
|
140
|
+
> "Reverse-engineer this site's API into a collection"
|
|
141
|
+
|
|
142
|
+
`neuron_api_blueprint` analyzes traffic, infers schemas, detects auth patterns, and creates a ready-to-use API collection.
|
|
89
143
|
|
|
90
|
-
|
|
144
|
+
### Prospect and generate leads
|
|
91
145
|
|
|
92
|
-
> "
|
|
146
|
+
> "Scan these 20 Instagram profiles and score them as leads"
|
|
93
147
|
|
|
94
|
-
`
|
|
148
|
+
`neuron_profile_scanner` visits each profile, extracts data. `neuron_lead_scorer` scores them by follower count, bio keywords, website presence.
|
|
95
149
|
|
|
96
|
-
|
|
150
|
+
> "Find people asking for delivery services in this hashtag feed"
|
|
97
151
|
|
|
98
|
-
|
|
152
|
+
`neuron_demand_scanner` scrolls the feed, matches trigger phrases like "looking for", "need a", "who delivers", and enriches each poster's profile.
|
|
99
153
|
|
|
100
|
-
|
|
154
|
+
> "Who are my competitor's most engaged followers?"
|
|
101
155
|
|
|
102
|
-
|
|
156
|
+
`neuron_competitor_mapper` scans their recent posts, ranks commenters by frequency, and categorizes each as potential customer, fellow business, or influencer.
|
|
103
157
|
|
|
104
|
-
|
|
158
|
+
### Monitor and track
|
|
105
159
|
|
|
106
|
-
> "
|
|
160
|
+
> "Watch this collection for new items matching 'logistics'"
|
|
107
161
|
|
|
108
|
-
`
|
|
162
|
+
`neuron_collection_watch` creates a persistent monitor that alerts when matching content appears.
|
|
109
163
|
|
|
110
|
-
|
|
164
|
+
> "Show me all opportunities from the last 24 hours"
|
|
111
165
|
|
|
112
|
-
|
|
166
|
+
`neuron_opportunity_radar` aggregates alerts from all your monitors into one feed.
|
|
113
167
|
|
|
114
|
-
|
|
168
|
+
> "Track who mentions our brand across platforms"
|
|
115
169
|
|
|
116
|
-
|
|
170
|
+
`neuron_mention_tracker` scans feeds for your brand terms and saves matches to a searchable bank.
|
|
117
171
|
|
|
118
|
-
|
|
172
|
+
### Automate social actions
|
|
119
173
|
|
|
120
|
-
|
|
174
|
+
> "Like this post and leave a comment"
|
|
121
175
|
|
|
122
|
-
|
|
176
|
+
`neuron_quick_action` handles per-platform DOM selectors — works across Instagram, X, LinkedIn, TikTok, Facebook.
|
|
123
177
|
|
|
124
|
-
|
|
178
|
+
> "Send personalized DMs to this lead list"
|
|
179
|
+
|
|
180
|
+
`neuron_dm_outreach` composes messages from a template with merge fields, paces them to avoid detection, and tracks status.
|
|
125
181
|
|
|
126
182
|
---
|
|
127
183
|
|
|
128
|
-
## All
|
|
184
|
+
## All 177 tools
|
|
185
|
+
|
|
186
|
+
### Browser Primitives (55 tools)
|
|
187
|
+
|
|
188
|
+
Low-level extension commands forwarded over WebSocket.
|
|
129
189
|
|
|
130
|
-
|
|
190
|
+
#### Inspect & Debug
|
|
131
191
|
| Tool | What it does |
|
|
132
192
|
|------|-------------|
|
|
133
193
|
| `neuron_query_dom` | DOM snapshot of the page or a subtree |
|
|
@@ -137,19 +197,24 @@ The agent calls `neuron_perf_snapshot` and gets back Core Web Vitals, render-blo
|
|
|
137
197
|
| `neuron_screenshot` | PNG screenshot of the visible area |
|
|
138
198
|
| `neuron_diagnose` | Connection health check |
|
|
139
199
|
| `neuron_list_tabs` | Open tabs with platform detection |
|
|
200
|
+
| `neuron_session_diagnostics` | Agent session health |
|
|
201
|
+
| `neuron_action_space` | Snapshot all interactable controls on a page |
|
|
140
202
|
|
|
141
|
-
|
|
203
|
+
#### Browse & Automate
|
|
142
204
|
| Tool | What it does |
|
|
143
205
|
|------|-------------|
|
|
144
206
|
| `neuron_click` | Click by selector or text |
|
|
145
207
|
| `neuron_type` | Type into inputs and contenteditable |
|
|
146
208
|
| `neuron_scroll` | Scroll by pixels or into view |
|
|
147
209
|
| `neuron_navigate` | Navigate to a URL |
|
|
210
|
+
| `neuron_press_key` | Press keyboard key (Enter, Tab, Escape, etc.) |
|
|
211
|
+
| `neuron_focus_tab` | Bring a tab to the foreground |
|
|
148
212
|
| `neuron_open_tab` | Open a new tab |
|
|
149
213
|
| `neuron_reload` | Reload a tab |
|
|
150
214
|
| `neuron_run_sequence` | Multi-step automation (click, type, wait, eval) |
|
|
215
|
+
| `neuron_trigger_post` | Trigger the IG post runner |
|
|
151
216
|
|
|
152
|
-
|
|
217
|
+
#### Network Intelligence
|
|
153
218
|
| Tool | What it does |
|
|
154
219
|
|------|-------------|
|
|
155
220
|
| `neuron_get_requests` | Query HTTP requests by tab, method, status, URL |
|
|
@@ -161,28 +226,28 @@ The agent calls `neuron_perf_snapshot` and gets back Core Web Vitals, render-blo
|
|
|
161
226
|
| `neuron_replay_request` | Re-fire a request with the browser's live session |
|
|
162
227
|
| `neuron_waterfall` | DNS/TLS/TTFB timing per resource |
|
|
163
228
|
|
|
164
|
-
|
|
229
|
+
#### Security & Auth
|
|
165
230
|
| Tool | What it does |
|
|
166
231
|
|------|-------------|
|
|
167
232
|
| `neuron_security_scan` | Leaked secrets, missing headers, CORS, mixed content |
|
|
168
233
|
| `neuron_check_auth` | Verify platform credentials |
|
|
169
234
|
| `neuron_detect_blocker` | Detect rate limits, captchas, login walls |
|
|
170
235
|
|
|
171
|
-
|
|
236
|
+
#### Quality
|
|
172
237
|
| Tool | What it does |
|
|
173
238
|
|------|-------------|
|
|
174
239
|
| `neuron_a11y_audit` | WCAG audit — contrast, labels, headings, tabindex |
|
|
175
240
|
| `neuron_perf_snapshot` | Core Web Vitals, resource breakdown, memory |
|
|
176
241
|
| `neuron_seo_audit` | Meta, OG, headings, structured data, links |
|
|
177
242
|
|
|
178
|
-
|
|
243
|
+
#### Network Mocking
|
|
179
244
|
| Tool | What it does |
|
|
180
245
|
|------|-------------|
|
|
181
246
|
| `neuron_set_mock` | Intercept requests, return custom responses |
|
|
182
247
|
| `neuron_get_mocks` | List active mock rules |
|
|
183
248
|
| `neuron_clear_mocks` | Remove all mocks |
|
|
184
249
|
|
|
185
|
-
|
|
250
|
+
#### Cookies & Storage
|
|
186
251
|
| Tool | What it does |
|
|
187
252
|
|------|-------------|
|
|
188
253
|
| `neuron_get_cookies` | Read cookies for a URL |
|
|
@@ -191,7 +256,7 @@ The agent calls `neuron_perf_snapshot` and gets back Core Web Vitals, render-blo
|
|
|
191
256
|
| `neuron_get_storage` | Read localStorage / sessionStorage |
|
|
192
257
|
| `neuron_clear_storage` | Clear storage |
|
|
193
258
|
|
|
194
|
-
|
|
259
|
+
#### Page State
|
|
195
260
|
| Tool | What it does |
|
|
196
261
|
|------|-------------|
|
|
197
262
|
| `neuron_snapshot_state` | Capture page state for later diff |
|
|
@@ -201,28 +266,213 @@ The agent calls `neuron_perf_snapshot` and gets back Core Web Vitals, render-blo
|
|
|
201
266
|
| `neuron_stop_watch` | Stop watching |
|
|
202
267
|
| `neuron_extract_data` | Extract structured data from feeds, tables, listings |
|
|
203
268
|
|
|
204
|
-
|
|
269
|
+
#### Demo Recording
|
|
205
270
|
| Tool | What it does |
|
|
206
271
|
|------|-------------|
|
|
207
272
|
| `neuron_start_recording` | Record interactions as a workflow |
|
|
208
273
|
| `neuron_stop_recording` | Save the recording |
|
|
209
274
|
| `neuron_list_workflows` | List saved workflows |
|
|
275
|
+
| `neuron_toggle_workflow` | Enable or disable a workflow |
|
|
210
276
|
| `neuron_start_replay` | Replay a workflow |
|
|
211
277
|
| `neuron_stop_replay` | Stop replay |
|
|
212
278
|
| `neuron_start_demo` | Record a demo video with chapters + cursor |
|
|
213
279
|
| `neuron_workflow_status` | Engine state |
|
|
214
280
|
|
|
215
|
-
###
|
|
281
|
+
### Compound Tools (15 tools)
|
|
282
|
+
|
|
283
|
+
Bridge-side orchestration that chains multiple primitives in one call.
|
|
284
|
+
|
|
216
285
|
| Tool | What it does |
|
|
217
286
|
|------|-------------|
|
|
218
|
-
| `
|
|
219
|
-
| `
|
|
287
|
+
| `neuron_research_page` | Deep-read a URL: navigate, scroll, extract, screenshot |
|
|
288
|
+
| `neuron_research_profiles` | Research multiple URLs in parallel (max 8) |
|
|
289
|
+
| `neuron_search_and_collect` | Search a site and collect results across pages |
|
|
290
|
+
| `neuron_fill_and_submit` | Fill a form and optionally submit it |
|
|
291
|
+
| `neuron_audit_page` | Run all quality audits in one call |
|
|
292
|
+
| `neuron_monitor_action` | Snapshot, act, diff to verify changes |
|
|
293
|
+
| `neuron_wait_for` | Wait for element, text, or URL condition |
|
|
294
|
+
| `neuron_smart_click` | Click with retry, fallback chain, verification |
|
|
295
|
+
| `neuron_smart_type` | Type with retry and value verification |
|
|
296
|
+
| `neuron_health_check` | Check tab readiness (no blockers, no captcha) |
|
|
297
|
+
| `neuron_vision_act` | Screenshot + describe + act (no selectors needed) |
|
|
298
|
+
| `neuron_approve_via_whatsapp` | Send approval request to WhatsApp, wait for reply |
|
|
299
|
+
| `neuron_extract_to_json` | Extract data as clean JSON/CSV/YAML |
|
|
300
|
+
| `neuron_grab_media` | Extract and download video/audio from any page |
|
|
301
|
+
| `neuron_grab_media_batch` | Download videos from multiple URLs (max 5) |
|
|
302
|
+
|
|
303
|
+
### Business Intelligence Tools (29 tools)
|
|
304
|
+
|
|
305
|
+
High-level tools for prospecting, lead generation, competitive intelligence, and social automation. All compound tools — they chain extension primitives with no new extension code.
|
|
306
|
+
|
|
307
|
+
#### Prospecting
|
|
308
|
+
| Tool | What it does |
|
|
309
|
+
|------|-------------|
|
|
310
|
+
| `neuron_profile_scanner` | Batch-scan profile URLs with session resume support |
|
|
311
|
+
| `neuron_hashtag_scout` | Scout hashtag feeds, extract posts and authors |
|
|
312
|
+
| `neuron_local_scout` | Search location/explore feeds with profile enrichment and filters |
|
|
313
|
+
| `neuron_bio_harvester` | Extract all links from profile bios (websites, WhatsApp, Linktree, email) |
|
|
314
|
+
| `neuron_cross_platform_finder` | Find a handle across platforms with confidence scores |
|
|
315
|
+
|
|
316
|
+
#### Lead Generation
|
|
317
|
+
| Tool | What it does |
|
|
318
|
+
|------|-------------|
|
|
319
|
+
| `neuron_demand_scanner` | Find demand signals via trigger phrases, optional recurring monitor |
|
|
320
|
+
| `neuron_post_to_lead` | Monitor post comments for trigger keywords, extract leads |
|
|
321
|
+
| `neuron_comment_miner` | Extract commenters from a post as a lead list |
|
|
322
|
+
| `neuron_lead_scorer` | Score leads by follower count, bio keywords, website, location |
|
|
323
|
+
| `neuron_revenue_tracker` | CRM-lite funnel: discovered to closed-won with revenue attribution |
|
|
324
|
+
|
|
325
|
+
#### Competitive Intelligence
|
|
326
|
+
| Tool | What it does |
|
|
327
|
+
|------|-------------|
|
|
328
|
+
| `neuron_competitor_mapper` | Map a competitor's engaged audience, categorize commenters |
|
|
329
|
+
| `neuron_influencer_vetter` | Trust score (0-100) with red flag detection |
|
|
330
|
+
| `neuron_engagement_analyzer` | Analyze your own posting performance with recommendations |
|
|
331
|
+
|
|
332
|
+
#### Brand & Content
|
|
333
|
+
| Tool | What it does |
|
|
334
|
+
|------|-------------|
|
|
335
|
+
| `neuron_mention_tracker` | Track brand mentions across platforms, optional recurring monitor |
|
|
336
|
+
| `neuron_social_proof` | Collect testimonials and positive mentions |
|
|
337
|
+
| `neuron_post_analyzer` | Extract metrics and classify posts (single or batch) |
|
|
338
|
+
| `neuron_content_pipeline` | Repurpose content across platform formats |
|
|
339
|
+
|
|
340
|
+
#### Collections & Monitoring
|
|
341
|
+
| Tool | What it does |
|
|
342
|
+
|------|-------------|
|
|
343
|
+
| `neuron_collection_harvest` | One-shot deep-scroll + extract + keyword filter on any feed |
|
|
344
|
+
| `neuron_collection_watch` | Persistent monitor for new items in a collection |
|
|
345
|
+
| `neuron_opportunity_radar` | Aggregated alert feed from all monitors |
|
|
346
|
+
| `neuron_page_watch` | Semantic page change monitor with structured diffs |
|
|
347
|
+
|
|
348
|
+
#### Social Automation
|
|
349
|
+
| Tool | What it does |
|
|
350
|
+
|------|-------------|
|
|
351
|
+
| `neuron_quick_action` | Platform-aware like/comment/follow/DM (per-platform selectors) |
|
|
352
|
+
| `neuron_dm_outreach` | Paced DM campaigns with merge templates |
|
|
353
|
+
| `neuron_group_link_scanner` | Extract WhatsApp/Telegram group invite links |
|
|
354
|
+
|
|
355
|
+
#### Data Extraction
|
|
356
|
+
| Tool | What it does |
|
|
357
|
+
|------|-------------|
|
|
358
|
+
| `neuron_pattern_learner` | Learn CSS selectors from example text, store for reuse |
|
|
359
|
+
|
|
360
|
+
#### Network Analysis
|
|
361
|
+
| Tool | What it does |
|
|
362
|
+
|------|-------------|
|
|
363
|
+
| `neuron_site_xray` | Full network analysis (requests, perf, security, APIs in parallel) |
|
|
364
|
+
| `neuron_traffic_replay` | Capture/replay/list HAR traffic with mock rules |
|
|
365
|
+
| `neuron_api_blueprint` | Reverse-engineer APIs from traffic into a collection |
|
|
366
|
+
| `neuron_page_weight` | Asset breakdown by category with budget violation detection |
|
|
367
|
+
|
|
368
|
+
### Recipe Tools (17 tools)
|
|
369
|
+
|
|
370
|
+
Manage and run recipe workflows — purpose-built agents that get better with every run.
|
|
371
|
+
|
|
372
|
+
| Tool | What it does |
|
|
373
|
+
|------|-------------|
|
|
374
|
+
| `neuron_recipe_run` | Start a recipe with variables and rules |
|
|
375
|
+
| `neuron_recipe_complete` | End a recipe run and log the outcome |
|
|
376
|
+
| `neuron_recipe_list` | List available recipes |
|
|
377
|
+
| `neuron_recipe_get` | Get a recipe's full contents |
|
|
378
|
+
| `neuron_recipe_create` | Create a new recipe |
|
|
379
|
+
| `neuron_recipe_update` | Update a recipe |
|
|
380
|
+
| `neuron_recipe_delete` | Delete a recipe |
|
|
381
|
+
| `neuron_recipe_log` | Log a run outcome to memory |
|
|
382
|
+
| `neuron_recipe_memory` | Read run history |
|
|
383
|
+
| `neuron_recipe_import` | Import from GitHub or local path |
|
|
384
|
+
| `neuron_recipe_export` | Export a recipe for sharing |
|
|
385
|
+
| `neuron_profile_get` | Read user profile |
|
|
386
|
+
| `neuron_profile_save` | Save user profile |
|
|
387
|
+
| `neuron_rules_get` | Read active rules |
|
|
388
|
+
| `neuron_rules_set` | Set or update rules |
|
|
389
|
+
| `neuron_quickstart` | First-run onboarding |
|
|
390
|
+
|
|
391
|
+
### Scheduler Tools (4 tools)
|
|
392
|
+
|
|
393
|
+
| Tool | What it does |
|
|
394
|
+
|------|-------------|
|
|
395
|
+
| `neuron_schedule_recipe` | Schedule a recipe on interval or cron |
|
|
396
|
+
| `neuron_schedule_list` | List all scheduled recipes |
|
|
397
|
+
| `neuron_schedule_remove` | Remove a schedule |
|
|
398
|
+
| `neuron_schedule_toggle` | Enable or disable a schedule |
|
|
399
|
+
|
|
400
|
+
### Session State Tools (5 tools)
|
|
401
|
+
|
|
402
|
+
| Tool | What it does |
|
|
403
|
+
|------|-------------|
|
|
404
|
+
| `neuron_session_save` | Save session state for resumption |
|
|
405
|
+
| `neuron_session_load` | Load session state |
|
|
406
|
+
| `neuron_session_list` | List active sessions |
|
|
407
|
+
| `neuron_session_delete` | Delete a session |
|
|
408
|
+
| `neuron_session_checkpoint` | Quick progress update |
|
|
409
|
+
|
|
410
|
+
### Monitor Tools (8 tools)
|
|
411
|
+
|
|
412
|
+
| Tool | What it does |
|
|
413
|
+
|------|-------------|
|
|
414
|
+
| `neuron_monitor_create` | Create a page monitor |
|
|
415
|
+
| `neuron_monitor_list` | List all monitors |
|
|
416
|
+
| `neuron_monitor_get` | Get monitor details |
|
|
417
|
+
| `neuron_monitor_update` | Update monitor config |
|
|
418
|
+
| `neuron_monitor_remove` | Remove a monitor |
|
|
419
|
+
| `neuron_monitor_toggle` | Enable/disable a monitor |
|
|
420
|
+
| `neuron_monitor_check` | Force an immediate check |
|
|
421
|
+
| `neuron_monitor_alerts` | Get recent alerts |
|
|
422
|
+
|
|
423
|
+
### Control Tools (4 tools)
|
|
424
|
+
|
|
425
|
+
| Tool | What it does |
|
|
426
|
+
|------|-------------|
|
|
427
|
+
| `neuron_stop` | Emergency stop all autonomous operations |
|
|
428
|
+
| `neuron_status` | Show what's currently running |
|
|
429
|
+
| `neuron_pause_all` | Pause all monitors and schedules |
|
|
430
|
+
| `neuron_resume_all` | Resume all paused operations |
|
|
431
|
+
|
|
432
|
+
### API Collection Tools (28 tools)
|
|
433
|
+
|
|
434
|
+
Full Postman-like API collection management persisted to `~/.neuron/collections/`.
|
|
435
|
+
|
|
436
|
+
| Tool | What it does |
|
|
437
|
+
|------|-------------|
|
|
438
|
+
| `neuron_api_list_collections` | List all collections |
|
|
439
|
+
| `neuron_api_get_collection` | Get collection structure |
|
|
440
|
+
| `neuron_api_create_collection` | Create a collection |
|
|
441
|
+
| `neuron_api_delete_collection` | Delete a collection |
|
|
442
|
+
| `neuron_api_update_collection` | Update name/description |
|
|
443
|
+
| `neuron_api_set_defaults` | Set collection-level defaults |
|
|
444
|
+
| `neuron_api_upsert_endpoint` | Add or update an endpoint |
|
|
445
|
+
| `neuron_api_remove_endpoint` | Remove an endpoint |
|
|
446
|
+
| `neuron_api_move_endpoint` | Move endpoint between folders |
|
|
447
|
+
| `neuron_api_create_folder` | Create a folder |
|
|
448
|
+
| `neuron_api_update_folder` | Update folder config |
|
|
449
|
+
| `neuron_api_delete_folder` | Delete a folder |
|
|
450
|
+
| `neuron_api_list_folders` | List folders |
|
|
451
|
+
| `neuron_api_set_env` | Create/update an environment |
|
|
452
|
+
| `neuron_api_remove_env` | Remove an environment |
|
|
453
|
+
| `neuron_api_list_envs` | List environments |
|
|
454
|
+
| `neuron_api_switch_env` | Set active environment |
|
|
455
|
+
| `neuron_api_create_scenario` | Create a test scenario |
|
|
456
|
+
| `neuron_api_update_scenario` | Update a scenario |
|
|
457
|
+
| `neuron_api_delete_scenario` | Delete a scenario |
|
|
458
|
+
| `neuron_api_list_scenarios` | List scenarios |
|
|
459
|
+
| `neuron_api_run` | Run endpoints against an environment |
|
|
460
|
+
| `neuron_api_run_scenario` | Run a scenario with variable chaining |
|
|
461
|
+
| `neuron_api_query` | Search endpoints across collections |
|
|
462
|
+
| `neuron_api_generate_tests` | Suggest test assertions |
|
|
463
|
+
| `neuron_api_export_collection` | Export as YAML or Postman JSON |
|
|
464
|
+
| `neuron_api_import_collection` | Import from YAML or Postman JSON |
|
|
465
|
+
| `neuron_api_import_file` | Import from a file path |
|
|
466
|
+
|
|
467
|
+
### Automation Tools (12 tools)
|
|
468
|
+
|
|
469
|
+
Browser automation workflows with scheduling and persistence.
|
|
220
470
|
|
|
221
471
|
---
|
|
222
472
|
|
|
223
473
|
## Recipes — purpose-built agents
|
|
224
474
|
|
|
225
|
-
The
|
|
475
|
+
The 177 tools are primitives. A **recipe** turns them into a purpose-built agent — a QA engineer, a job applicant, a web researcher. Recipes are shareable, and they get better with every run.
|
|
226
476
|
|
|
227
477
|
### Built-in recipes
|
|
228
478
|
|
|
@@ -238,15 +488,68 @@ A recipe is a folder with instructions (`agent.md`) and config (`recipe.yaml`).
|
|
|
238
488
|
|
|
239
489
|
**Recipes are alive.** Each run captures outcomes to `memory/`. After enough runs, the agent reviews what worked and updates its own strategy in `learnings.md`. A job applicant that discovers technical-tone cover letters get 3x more responses will start writing technical-tone cover letters by default.
|
|
240
490
|
|
|
241
|
-
|
|
491
|
+
### Build your own
|
|
242
492
|
|
|
243
|
-
|
|
493
|
+
See [RECIPE-SPEC.md](RECIPE-SPEC.md) for the full format.
|
|
244
494
|
|
|
245
|
-
|
|
495
|
+
---
|
|
246
496
|
|
|
247
|
-
|
|
497
|
+
## Data storage
|
|
498
|
+
|
|
499
|
+
All persistent data lives in `~/.neuron/`:
|
|
500
|
+
|
|
501
|
+
```
|
|
502
|
+
~/.neuron/
|
|
503
|
+
pipeline.yaml # Revenue tracker leads
|
|
504
|
+
testimonials.yaml # Social proof bank
|
|
505
|
+
mentions.yaml # Brand mention history
|
|
506
|
+
extractors.yaml # Learned extraction patterns
|
|
507
|
+
group-links.yaml # WhatsApp/Telegram links
|
|
508
|
+
outreach-campaigns.yaml # DM outreach campaigns
|
|
509
|
+
monitors.yaml # Monitor configurations
|
|
510
|
+
monitor-alerts.yaml # Monitor alert history
|
|
511
|
+
collections/ # API collections (YAML)
|
|
512
|
+
sessions/ # Session state files
|
|
513
|
+
replays/ # HAR traffic captures
|
|
514
|
+
recipes/ # Recipe definitions
|
|
515
|
+
rules.yaml # Global rules
|
|
516
|
+
profile.yaml # User profile
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
---
|
|
520
|
+
|
|
521
|
+
## Development
|
|
522
|
+
|
|
523
|
+
```bash
|
|
524
|
+
# Build the bridge
|
|
525
|
+
cd packages/extension/bridge
|
|
526
|
+
npx tsc
|
|
527
|
+
|
|
528
|
+
# Build the full extension
|
|
529
|
+
cd packages/extension
|
|
530
|
+
node build.js
|
|
531
|
+
|
|
532
|
+
# Type-check without emitting
|
|
533
|
+
npx tsc --noEmit
|
|
534
|
+
```
|
|
248
535
|
|
|
249
|
-
|
|
536
|
+
### Source files
|
|
537
|
+
|
|
538
|
+
| File | Purpose |
|
|
539
|
+
|------|---------|
|
|
540
|
+
| `server.ts` | MCP server, WebSocket bridge, tool registration |
|
|
541
|
+
| `tools.ts` | Browser primitive definitions + name mapping |
|
|
542
|
+
| `compound-tools.ts` | Compound tools (research, search, fill, audit, media) |
|
|
543
|
+
| `business-tools.ts` | 29 business intelligence and developer tools |
|
|
544
|
+
| `recipe-tools.ts` | Recipe management + rules + profile |
|
|
545
|
+
| `scheduler.ts` | Cron-like recipe scheduling |
|
|
546
|
+
| `session-state.ts` | Session state persistence |
|
|
547
|
+
| `monitor.ts` | Page monitoring with alerts |
|
|
548
|
+
| `killswitch.ts` | Emergency stop, pause, resume |
|
|
549
|
+
| `resilience.ts` | Retry, wait, health check helpers |
|
|
550
|
+
| `correlation.ts` | WebSocket request/response correlation |
|
|
551
|
+
| `collections/` | API collection CRUD + runner |
|
|
552
|
+
| `automations/` | Browser automation workflows |
|
|
250
553
|
|
|
251
554
|
---
|
|
252
555
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Step Execution Engine — Browser Automation
|
|
3
|
+
*
|
|
4
|
+
* Dispatches automation steps to bridge primitives via WebSocket.
|
|
5
|
+
* Handles variable substitution, tab tracking, assertions, extraction,
|
|
6
|
+
* retry logic, and error handling.
|
|
7
|
+
*/
|
|
8
|
+
import type { WebSocket } from "ws";
|
|
9
|
+
import type { PendingCalls } from "../correlation.js";
|
|
10
|
+
import type { Suite, Step, StepResult, RunResult } from "./types.js";
|
|
11
|
+
interface BridgeContext {
|
|
12
|
+
ws: WebSocket;
|
|
13
|
+
pending: PendingCalls;
|
|
14
|
+
}
|
|
15
|
+
export declare function executeStep(ctx: BridgeContext, step: Step, variables: Record<string, string>, tabId: number | null, suiteDefaults?: Suite["defaults"]): Promise<{
|
|
16
|
+
result: StepResult;
|
|
17
|
+
tabId: number | null;
|
|
18
|
+
variables: Record<string, string>;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function executeSuite(ctx: BridgeContext, suiteId: string, suite: Suite): Promise<RunResult>;
|
|
21
|
+
export {};
|