neuron-inspector 1.0.0 → 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/dist/monitor.d.ts CHANGED
@@ -14,6 +14,44 @@ export interface MonitorActionResult {
14
14
  result?: unknown;
15
15
  error?: string;
16
16
  }
17
+ type ConditionType = "content_change" | "text_appears" | "text_disappears" | "price_below" | "new_items" | "selector_change" | "request_match" | "console_match";
18
+ interface MonitorCondition {
19
+ type: ConditionType;
20
+ selector?: string;
21
+ text?: string;
22
+ threshold?: number;
23
+ baseline?: string;
24
+ urlPattern?: string;
25
+ method?: string;
26
+ statusMin?: number;
27
+ statusMax?: number;
28
+ search?: string;
29
+ levels?: string[];
30
+ }
31
+ interface MonitorConfig {
32
+ id: string;
33
+ url: string;
34
+ name: string;
35
+ check_interval_minutes: number;
36
+ condition: MonitorCondition;
37
+ actions?: MonitorAction[];
38
+ enabled: boolean;
39
+ created_at: string;
40
+ last_check_at?: string;
41
+ last_result?: string;
42
+ alert_count: number;
43
+ }
44
+ interface MonitorAlert {
45
+ monitor_id: string;
46
+ monitor_name: string;
47
+ url: string;
48
+ condition_type: string;
49
+ triggered_at: string;
50
+ details: string;
51
+ previous_value?: string;
52
+ current_value?: string;
53
+ action_results?: MonitorActionResult[];
54
+ }
17
55
  type CheckFn = (url: string, selector?: string) => Promise<{
18
56
  text: string;
19
57
  items?: unknown[];
@@ -30,14 +68,17 @@ interface TriggerData {
30
68
  current_value?: string;
31
69
  }
32
70
  type ActionFn = (actions: MonitorAction[], tabId: number, triggerData: TriggerData) => Promise<MonitorActionResult[]>;
33
- interface BridgeContext {
71
+ export declare function loadMonitors(): MonitorConfig[];
72
+ export declare function saveMonitors(monitors: MonitorConfig[]): void;
73
+ export declare function addAlert(alert: MonitorAlert): void;
74
+ export interface BridgeContext {
34
75
  ws: import("ws").WebSocket;
35
76
  pending: {
36
77
  call(ws: import("ws").WebSocket, name: string, args: Record<string, unknown>, timeoutMs?: number): Promise<unknown>;
37
78
  };
38
79
  }
39
- export declare function executeMonitorActions(actions: MonitorAction[], ctx: BridgeContext, tabId: number, triggerData: TriggerData): Promise<MonitorActionResult[]>;
40
- export declare function startMonitor(checkFn: CheckFn, actionFn?: ActionFn, closeTabFn?: (tabId: number) => Promise<void>): void;
41
- export declare function handleMonitorTool(name: string, args: Record<string, unknown>, checkFn?: CheckFn, actionFn?: ActionFn, closeTabFn?: (tabId: number) => Promise<void>): Promise<unknown>;
80
+ export declare function executeMonitorActions(actions: MonitorAction[], ctx: BridgeContext, tabId: number | undefined, triggerData: TriggerData, monitorUrl?: string): Promise<MonitorActionResult[]>;
81
+ export declare function startMonitor(checkFn: CheckFn, actionFn?: ActionFn, closeTabFn?: (tabId: number) => Promise<void>, getCtx?: () => BridgeContext | undefined): void;
82
+ export declare function handleMonitorTool(name: string, args: Record<string, unknown>, checkFn?: CheckFn, actionFn?: ActionFn, closeTabFn?: (tabId: number) => Promise<void>, getCtx?: () => BridgeContext | undefined): Promise<unknown>;
42
83
  export declare const MONITOR_TOOLS: ToolDef[];
43
84
  export {};
package/dist/monitor.js CHANGED
@@ -10,7 +10,7 @@ function monitorsPath() {
10
10
  function alertsPath() {
11
11
  return path.join(NEURON_DIR, "monitor-alerts.yaml");
12
12
  }
13
- function loadMonitors() {
13
+ export function loadMonitors() {
14
14
  ensureNeuronDir();
15
15
  if (!fs.existsSync(monitorsPath())) {
16
16
  return [];
@@ -19,7 +19,7 @@ function loadMonitors() {
19
19
  const store = YAML.parse(content);
20
20
  return store?.monitors || [];
21
21
  }
22
- function saveMonitors(monitors) {
22
+ export function saveMonitors(monitors) {
23
23
  ensureNeuronDir();
24
24
  const store = { monitors };
25
25
  fs.writeFileSync(monitorsPath(), YAML.stringify(store), "utf-8");
@@ -40,7 +40,7 @@ function saveAlerts(alerts) {
40
40
  const store = { alerts: trimmed };
41
41
  fs.writeFileSync(alertsPath(), YAML.stringify(store), "utf-8");
42
42
  }
43
- function addAlert(alert) {
43
+ export function addAlert(alert) {
44
44
  const alerts = loadAlerts();
45
45
  alerts.push(alert);
46
46
  saveAlerts(alerts);
@@ -48,15 +48,29 @@ function addAlert(alert) {
48
48
  function generateId() {
49
49
  return `mon_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
50
50
  }
51
- export async function executeMonitorActions(actions, ctx, tabId, triggerData) {
51
+ export async function executeMonitorActions(actions, ctx, tabId, triggerData, monitorUrl) {
52
52
  const results = [];
53
+ // Browser actions need a tab — open one if not provided
54
+ const browserActions = new Set(["click", "type", "navigate", "scroll", "screenshot", "extract", "evaluate"]);
55
+ let resolvedTabId = tabId;
53
56
  for (const action of actions) {
54
57
  const start = Date.now();
55
58
  try {
59
+ // Lazy-open a tab for the first browser action that needs one
60
+ if (browserActions.has(action.type) && resolvedTabId === undefined) {
61
+ const url = monitorUrl || triggerData.url;
62
+ if (!url)
63
+ throw new Error("No URL available to open a tab for browser action");
64
+ const tab = (await ctx.pending.call(ctx.ws, "openTab", { url }, 30_000));
65
+ resolvedTabId = tab?.tabId;
66
+ if (!resolvedTabId)
67
+ throw new Error("Failed to open tab for monitor action");
68
+ await new Promise((r) => setTimeout(r, 3000));
69
+ }
56
70
  let result;
57
71
  switch (action.type) {
58
72
  case "click": {
59
- const args = { tabId };
73
+ const args = { tabId: resolvedTabId };
60
74
  if (action.config.selector)
61
75
  args.selectors = [action.config.selector];
62
76
  if (action.config.text)
@@ -66,7 +80,7 @@ export async function executeMonitorActions(actions, ctx, tabId, triggerData) {
66
80
  }
67
81
  case "type": {
68
82
  const args = {
69
- tabId,
83
+ tabId: resolvedTabId,
70
84
  selectors: [action.config.selector],
71
85
  value: action.config.value,
72
86
  };
@@ -74,14 +88,14 @@ export async function executeMonitorActions(actions, ctx, tabId, triggerData) {
74
88
  break;
75
89
  }
76
90
  case "navigate": {
77
- result = await ctx.pending.call(ctx.ws, "navigateTo", { tabId, url: action.config.url }, 30_000);
91
+ result = await ctx.pending.call(ctx.ws, "navigateTo", { tabId: resolvedTabId, url: action.config.url }, 30_000);
78
92
  // Wait for load
79
93
  await new Promise((r) => setTimeout(r, 2000));
80
94
  break;
81
95
  }
82
96
  case "scroll": {
83
97
  const args = {
84
- tabId,
98
+ tabId: resolvedTabId,
85
99
  deltaY: action.config.pixels || 600,
86
100
  smooth: true,
87
101
  };
@@ -90,17 +104,17 @@ export async function executeMonitorActions(actions, ctx, tabId, triggerData) {
90
104
  }
91
105
  case "evaluate": {
92
106
  result = await ctx.pending.call(ctx.ws, "evaluateJS", {
93
- tabId,
107
+ tabId: resolvedTabId,
94
108
  expression: action.config.expression,
95
109
  }, 15_000);
96
110
  break;
97
111
  }
98
112
  case "screenshot": {
99
- result = await ctx.pending.call(ctx.ws, "takeScreenshot", { tabId }, 15_000);
113
+ result = await ctx.pending.call(ctx.ws, "takeScreenshot", { tabId: resolvedTabId }, 15_000);
100
114
  break;
101
115
  }
102
116
  case "extract": {
103
- const args = { tabId };
117
+ const args = { tabId: resolvedTabId };
104
118
  if (action.config.selector)
105
119
  args.selector = action.config.selector;
106
120
  result = await ctx.pending.call(ctx.ws, "extractData", args, 15_000);
@@ -146,11 +160,61 @@ export async function executeMonitorActions(actions, ctx, tabId, triggerData) {
146
160
  }
147
161
  return results;
148
162
  }
149
- async function checkMonitor(monitor, checkFn) {
163
+ async function checkMonitor(monitor, checkFn, ctx) {
150
164
  try {
165
+ const { condition } = monitor;
166
+ // ── Buffer-based conditions (no tab needed) ──────────────
167
+ if (condition.type === "request_match") {
168
+ if (!ctx)
169
+ throw new Error("request_match requires bridge context");
170
+ const filters = {
171
+ sinceMs: monitor.last_check_at ? new Date(monitor.last_check_at).getTime() : Date.now() - monitor.check_interval_minutes * 60_000,
172
+ limit: 200,
173
+ };
174
+ if (condition.urlPattern)
175
+ filters.urlPattern = condition.urlPattern;
176
+ if (condition.method)
177
+ filters.method = condition.method;
178
+ if (condition.statusMin != null)
179
+ filters.statusMin = condition.statusMin;
180
+ if (condition.statusMax != null)
181
+ filters.statusMax = condition.statusMax;
182
+ const result = await ctx.pending.call(ctx.ws, "getRecentRequests", filters, 15_000);
183
+ const requests = Array.isArray(result) ? result : result.requests || [];
184
+ if (requests.length > 0) {
185
+ return {
186
+ triggered: true,
187
+ details: `${requests.length} request(s) matched (${condition.urlPattern || "all"}${condition.statusMin ? ` status>=${condition.statusMin}` : ""}${condition.statusMax ? ` status<=${condition.statusMax}` : ""})`,
188
+ currentValue: JSON.stringify(requests.slice(0, 5)),
189
+ };
190
+ }
191
+ return { triggered: false };
192
+ }
193
+ if (condition.type === "console_match") {
194
+ if (!ctx)
195
+ throw new Error("console_match requires bridge context");
196
+ const filters = {
197
+ sinceMs: monitor.last_check_at ? new Date(monitor.last_check_at).getTime() : Date.now() - monitor.check_interval_minutes * 60_000,
198
+ limit: 200,
199
+ };
200
+ if (condition.search)
201
+ filters.search = condition.search;
202
+ if (condition.levels?.length)
203
+ filters.levels = condition.levels;
204
+ const result = await ctx.pending.call(ctx.ws, "getRecentLogs", filters, 15_000);
205
+ const logs = Array.isArray(result) ? result : result.logs || [];
206
+ if (logs.length > 0) {
207
+ return {
208
+ triggered: true,
209
+ details: `${logs.length} console message(s) matched (${condition.search || "all"}${condition.levels?.length ? ` levels=${condition.levels.join(",")}` : ""})`,
210
+ currentValue: JSON.stringify(logs.slice(0, 5)),
211
+ };
212
+ }
213
+ return { triggered: false };
214
+ }
215
+ // ── Page-based conditions (open tab, extract) ────────────
151
216
  const result = await checkFn(monitor.url, monitor.condition.selector);
152
217
  const tabId = result.tabId;
153
- const { condition } = monitor;
154
218
  switch (condition.type) {
155
219
  case "content_change": {
156
220
  if (!condition.baseline) {
@@ -257,8 +321,8 @@ async function checkMonitor(monitor, checkFn) {
257
321
  return { triggered: false };
258
322
  }
259
323
  }
260
- async function runMonitorCheck(monitor, checkFn, actionFn, closeTabFn) {
261
- const checkResult = await checkMonitor(monitor, checkFn);
324
+ async function runMonitorCheck(monitor, checkFn, actionFn, closeTabFn, ctx) {
325
+ const checkResult = await checkMonitor(monitor, checkFn, ctx);
262
326
  const monitors = loadMonitors();
263
327
  const monitorIndex = monitors.findIndex((m) => m.id === monitor.id);
264
328
  if (monitorIndex === -1)
@@ -280,8 +344,8 @@ async function runMonitorCheck(monitor, checkFn, actionFn, closeTabFn) {
280
344
  previous_value: monitor.condition.baseline,
281
345
  current_value: checkResult.currentValue,
282
346
  };
283
- // Execute actions if defined and a tab is available
284
- if (monitor.actions?.length && actionFn && checkResult.tabId) {
347
+ // Execute actions if defined — tabId may be undefined for buffer-based conditions
348
+ if (monitor.actions?.length && actionFn) {
285
349
  try {
286
350
  const actionResults = await actionFn(monitor.actions, checkResult.tabId, {
287
351
  monitor_name: monitor.name,
@@ -321,7 +385,7 @@ async function runMonitorCheck(monitor, checkFn, actionFn, closeTabFn) {
321
385
  catch { /* ok */ }
322
386
  }
323
387
  }
324
- export function startMonitor(checkFn, actionFn, closeTabFn) {
388
+ export function startMonitor(checkFn, actionFn, closeTabFn, getCtx) {
325
389
  for (const interval of activeIntervals.values()) {
326
390
  clearInterval(interval);
327
391
  }
@@ -338,12 +402,12 @@ export function startMonitor(checkFn, actionFn, closeTabFn) {
338
402
  const delay = (i + 1) * STAGGER_MS;
339
403
  const timeout = setTimeout(() => {
340
404
  // First check after the staggered delay
341
- runMonitorCheck(monitor, checkFn, actionFn, closeTabFn).catch((err) => {
405
+ runMonitorCheck(monitor, checkFn, actionFn, closeTabFn, getCtx?.()).catch((err) => {
342
406
  console.error(`Error running monitor ${monitor.id}:`, err);
343
407
  });
344
408
  // Then schedule the repeating interval
345
409
  const interval = setInterval(() => {
346
- runMonitorCheck(monitor, checkFn, actionFn, closeTabFn).catch((err) => {
410
+ runMonitorCheck(monitor, checkFn, actionFn, closeTabFn, getCtx?.()).catch((err) => {
347
411
  console.error(`Error running monitor ${monitor.id}:`, err);
348
412
  });
349
413
  }, intervalMs);
@@ -357,7 +421,7 @@ export function startMonitor(checkFn, actionFn, closeTabFn) {
357
421
  console.error(`[monitor] Scheduled ${enabled.length} monitor(s), staggered over ${(enabled.length * STAGGER_MS / 1000)}s`);
358
422
  }
359
423
  }
360
- export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabFn) {
424
+ export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabFn, getCtx) {
361
425
  switch (name) {
362
426
  case "neuron_monitor_create": {
363
427
  const url = args.url;
@@ -366,12 +430,16 @@ export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabF
366
430
  const condition = args.condition;
367
431
  const enabled = args.enabled !== undefined ? args.enabled : true;
368
432
  const actions = args.actions;
369
- if (!url || !monitorName || !condition) {
370
- throw new Error("Missing required parameters: url, name, condition");
433
+ if (!monitorName || !condition) {
434
+ throw new Error("Missing required parameters: name, condition");
435
+ }
436
+ const isBufferBased = condition.type === "request_match" || condition.type === "console_match";
437
+ if (!isBufferBased && !url) {
438
+ throw new Error("URL is required for page-based conditions");
371
439
  }
372
440
  const monitor = {
373
441
  id: generateId(),
374
- url,
442
+ url: url || "",
375
443
  name: monitorName,
376
444
  check_interval_minutes: checkIntervalMinutes,
377
445
  condition,
@@ -386,15 +454,17 @@ export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabF
386
454
  if (enabled && checkFn) {
387
455
  const intervalMs = checkIntervalMinutes * 60 * 1000;
388
456
  const interval = setInterval(() => {
389
- runMonitorCheck(monitor, checkFn, actionFn, closeTabFn).catch((err) => {
457
+ runMonitorCheck(monitor, checkFn, actionFn, closeTabFn, getCtx?.()).catch((err) => {
390
458
  console.error(`Error running monitor ${monitor.id}:`, err);
391
459
  });
392
460
  }, intervalMs);
393
461
  activeIntervals.set(monitor.id, interval);
394
462
  }
463
+ const bridgePort = parseInt(process.env.NEURON_BRIDGE_PORT ?? "7377", 10);
395
464
  return {
396
465
  success: true,
397
466
  monitor_id: monitor.id,
467
+ webhook_url: `http://127.0.0.1:${bridgePort}/hooks/${monitor.id}`,
398
468
  message: `Monitor "${monitorName}" created successfully`,
399
469
  };
400
470
  }
@@ -459,7 +529,7 @@ export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabF
459
529
  if (!monitor) {
460
530
  throw new Error(`Monitor ${monitorId} not found`);
461
531
  }
462
- await runMonitorCheck(monitor, checkFn, actionFn, closeTabFn);
532
+ await runMonitorCheck(monitor, checkFn, actionFn, closeTabFn, getCtx?.());
463
533
  const updated = loadMonitors().find((m) => m.id === monitorId);
464
534
  return {
465
535
  monitor_id: monitorId,
@@ -472,7 +542,7 @@ export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabF
472
542
  const results = [];
473
543
  for (const monitor of monitors) {
474
544
  if (monitor.enabled) {
475
- await runMonitorCheck(monitor, checkFn, actionFn, closeTabFn);
545
+ await runMonitorCheck(monitor, checkFn, actionFn, closeTabFn, getCtx?.());
476
546
  const updated = loadMonitors().find((m) => m.id === monitor.id);
477
547
  results.push({
478
548
  monitor_id: monitor.id,
@@ -534,7 +604,7 @@ export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabF
534
604
  const intervalMs = monitor.check_interval_minutes * 60 * 1000;
535
605
  const m = monitor;
536
606
  const interval = setInterval(() => {
537
- runMonitorCheck(m, checkFn, actionFn, closeTabFn).catch((err) => {
607
+ runMonitorCheck(m, checkFn, actionFn, closeTabFn, getCtx?.()).catch((err) => {
538
608
  console.error(`Error running monitor ${m.id}:`, err);
539
609
  });
540
610
  }, intervalMs);
@@ -577,7 +647,7 @@ export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabF
577
647
  const intervalMs = monitors[idx].check_interval_minutes * 60 * 1000;
578
648
  const m = monitors[idx];
579
649
  const interval = setInterval(() => {
580
- runMonitorCheck(m, checkFn, actionFn, closeTabFn).catch((err) => {
650
+ runMonitorCheck(m, checkFn, actionFn, closeTabFn, getCtx?.()).catch((err) => {
581
651
  console.error(`Error running monitor ${m.id}:`, err);
582
652
  });
583
653
  }, intervalMs);
@@ -595,13 +665,13 @@ export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabF
595
665
  export const MONITOR_TOOLS = [
596
666
  {
597
667
  name: "neuron_monitor_create",
598
- description: "Create a persistent page monitor that watches a URL for changes and alerts when conditions are met (price drops, new job postings, content changes). Monitors run in the background at specified intervals.",
668
+ description: "Create a persistent monitor that watches a URL for changes, matches HTTP traffic patterns, or watches console messages. Monitors run in the background at specified intervals. Page-based conditions (content_change, text_appears, etc.) require a URL. Buffer-based conditions (request_match, console_match) query the extension's ring buffers directly without opening a tab.",
599
669
  inputSchema: {
600
670
  type: "object",
601
671
  properties: {
602
672
  url: {
603
673
  type: "string",
604
- description: "The URL to monitor",
674
+ description: "The URL to monitor. Required for page-based conditions, optional for request_match/console_match",
605
675
  },
606
676
  name: {
607
677
  type: "string",
@@ -609,7 +679,7 @@ export const MONITOR_TOOLS = [
609
679
  },
610
680
  check_interval_minutes: {
611
681
  type: "number",
612
- description: "How often to check the page (in minutes). Default: 60",
682
+ description: "How often to check (in minutes). Default: 60",
613
683
  default: 60,
614
684
  },
615
685
  condition: {
@@ -625,8 +695,10 @@ export const MONITOR_TOOLS = [
625
695
  "price_below",
626
696
  "new_items",
627
697
  "selector_change",
698
+ "request_match",
699
+ "console_match",
628
700
  ],
629
- description: "Type of condition: content_change (any change), text_appears, text_disappears, price_below (numeric comparison), new_items (list growth), selector_change (specific element change)",
701
+ description: "Type of condition: content_change (any change), text_appears, text_disappears, price_below (numeric comparison), new_items (list growth), selector_change (specific element change), request_match (HTTP requests in ring buffers), console_match (console messages in ring buffers)",
630
702
  },
631
703
  selector: {
632
704
  type: "string",
@@ -640,6 +712,31 @@ export const MONITOR_TOOLS = [
640
712
  type: "number",
641
713
  description: "Numeric threshold for price_below condition",
642
714
  },
715
+ urlPattern: {
716
+ type: "string",
717
+ description: "URL substring to match for request_match condition",
718
+ },
719
+ method: {
720
+ type: "string",
721
+ description: "HTTP method filter for request_match (e.g. GET, POST)",
722
+ },
723
+ statusMin: {
724
+ type: "number",
725
+ description: "Minimum HTTP status code for request_match (e.g. 400)",
726
+ },
727
+ statusMax: {
728
+ type: "number",
729
+ description: "Maximum HTTP status code for request_match (e.g. 599)",
730
+ },
731
+ search: {
732
+ type: "string",
733
+ description: "Substring to search in console messages for console_match",
734
+ },
735
+ levels: {
736
+ type: "array",
737
+ items: { type: "string" },
738
+ description: "Console log levels to match for console_match (e.g. [\"error\", \"warn\"])",
739
+ },
643
740
  },
644
741
  required: ["type"],
645
742
  },
@@ -675,7 +772,7 @@ export const MONITOR_TOOLS = [
675
772
  },
676
773
  },
677
774
  },
678
- required: ["url", "name", "condition"],
775
+ required: ["name", "condition"],
679
776
  },
680
777
  },
681
778
  {
@@ -773,11 +870,17 @@ export const MONITOR_TOOLS = [
773
870
  properties: {
774
871
  type: {
775
872
  type: "string",
776
- enum: ["content_change", "text_appears", "text_disappears", "price_below", "new_items", "selector_change"],
873
+ enum: ["content_change", "text_appears", "text_disappears", "price_below", "new_items", "selector_change", "request_match", "console_match"],
777
874
  },
778
875
  selector: { type: "string" },
779
876
  text: { type: "string" },
780
877
  threshold: { type: "number" },
878
+ urlPattern: { type: "string" },
879
+ method: { type: "string" },
880
+ statusMin: { type: "number" },
881
+ statusMax: { type: "number" },
882
+ search: { type: "string" },
883
+ levels: { type: "array", items: { type: "string" } },
781
884
  },
782
885
  },
783
886
  enabled: {
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -9,12 +9,13 @@ import { COMPOUND_TOOLS, handleCompoundTool } from "./compound-tools.js";
9
9
  import { BUSINESS_TOOLS, handleBusinessTool } from "./business-tools.js";
10
10
  import { SCHEDULER_TOOLS, handleSchedulerTool, startScheduler } from "./scheduler.js";
11
11
  import { SESSION_TOOLS, handleSessionTool } from "./session-state.js";
12
- import { MONITOR_TOOLS, handleMonitorTool, startMonitor, executeMonitorActions } from "./monitor.js";
12
+ import { MONITOR_TOOLS, handleMonitorTool, startMonitor, executeMonitorActions, loadMonitors, saveMonitors, addAlert } from "./monitor.js";
13
13
  import { KILLSWITCH_TOOLS, handleKillswitchTool } from "./killswitch.js";
14
14
  import { COLLECTION_TOOLS, handleCollectionTool } from "./collections/index.js";
15
15
  import { AUTOMATION_TOOLS, handleAutomationTool } from "./automations/index.js";
16
16
  import { NEURON_DIR, ensureNeuronDir } from "./paths.js";
17
17
  import * as net from "node:net";
18
+ import * as http from "node:http";
18
19
  function propToZod(p) {
19
20
  let zt;
20
21
  if (Array.isArray(p?.enum) && p.enum.length > 0) {
@@ -69,13 +70,137 @@ function isPortTaken(port) {
69
70
  s.listen(port, "127.0.0.1");
70
71
  });
71
72
  }
73
+ // ── HTTP request handler (webhook route) ─────────────────────
74
+ function readBody(req) {
75
+ return new Promise((resolve, reject) => {
76
+ const chunks = [];
77
+ req.on("data", (chunk) => chunks.push(chunk));
78
+ req.on("end", () => resolve(Buffer.concat(chunks).toString("utf-8")));
79
+ req.on("error", reject);
80
+ });
81
+ }
82
+ function handleHttpRequest(req, res) {
83
+ // CORS preflight
84
+ if (req.method === "OPTIONS") {
85
+ res.writeHead(204, {
86
+ "Access-Control-Allow-Origin": "*",
87
+ "Access-Control-Allow-Methods": "POST, OPTIONS",
88
+ "Access-Control-Allow-Headers": "Content-Type",
89
+ });
90
+ res.end();
91
+ return;
92
+ }
93
+ // Route: POST /hooks/:monitorId
94
+ const match = req.url?.match(/^\/hooks\/([^/?]+)/);
95
+ if (req.method === "POST" && match) {
96
+ const monitorId = match[1];
97
+ handleWebhookRequest(monitorId, req, res);
98
+ return;
99
+ }
100
+ // Health check
101
+ if (req.method === "GET" && req.url === "/health") {
102
+ res.writeHead(200, { "Content-Type": "application/json" });
103
+ res.end(JSON.stringify({ status: "ok", mode, extension_connected: !!extensionWs }));
104
+ return;
105
+ }
106
+ // Everything else — 404
107
+ res.writeHead(404, { "Content-Type": "application/json" });
108
+ res.end(JSON.stringify({ error: "Not found" }));
109
+ }
110
+ async function handleWebhookRequest(monitorId, req, res) {
111
+ const json = (status, body) => {
112
+ res.writeHead(status, {
113
+ "Content-Type": "application/json",
114
+ "Access-Control-Allow-Origin": "*",
115
+ });
116
+ res.end(JSON.stringify(body));
117
+ };
118
+ try {
119
+ // Parse body
120
+ let payload = {};
121
+ try {
122
+ const raw = await readBody(req);
123
+ if (raw)
124
+ payload = JSON.parse(raw);
125
+ }
126
+ catch {
127
+ json(400, { error: "Invalid JSON body" });
128
+ return;
129
+ }
130
+ // Find monitor
131
+ const monitors = loadMonitors();
132
+ const monitor = monitors.find((m) => m.id === monitorId);
133
+ if (!monitor) {
134
+ json(404, { error: `Monitor ${monitorId} not found` });
135
+ return;
136
+ }
137
+ if (!monitor.enabled) {
138
+ json(400, { error: `Monitor ${monitorId} is disabled` });
139
+ return;
140
+ }
141
+ // Require extension connection
142
+ if (!extensionWs || extensionWs.readyState !== WebSocket.OPEN) {
143
+ json(503, { error: "Extension not connected" });
144
+ return;
145
+ }
146
+ // Require actions
147
+ if (!monitor.actions?.length) {
148
+ json(400, { error: "Monitor has no actions configured" });
149
+ return;
150
+ }
151
+ // Build trigger data
152
+ const now = new Date().toISOString();
153
+ const triggerData = {
154
+ monitor_name: monitor.name,
155
+ monitor_id: monitor.id,
156
+ url: monitor.url,
157
+ condition_type: "webhook",
158
+ triggered_at: now,
159
+ details: `Webhook triggered by POST /hooks/${monitorId}`,
160
+ webhook_payload: payload,
161
+ };
162
+ // Execute actions (tabId undefined — actions will open a tab if needed)
163
+ const ctx = { ws: extensionWs, pending };
164
+ const actionResults = await executeMonitorActions(monitor.actions, ctx, undefined, triggerData, monitor.url || undefined);
165
+ // Create alert
166
+ const alert = {
167
+ monitor_id: monitor.id,
168
+ monitor_name: monitor.name,
169
+ url: monitor.url,
170
+ condition_type: "webhook",
171
+ triggered_at: now,
172
+ details: triggerData.details,
173
+ action_results: actionResults,
174
+ };
175
+ addAlert(alert);
176
+ // Update monitor stats
177
+ const idx = monitors.findIndex((m) => m.id === monitorId);
178
+ if (idx !== -1) {
179
+ monitors[idx].alert_count += 1;
180
+ monitors[idx].last_check_at = now;
181
+ monitors[idx].last_result = "triggered";
182
+ saveMonitors(monitors);
183
+ }
184
+ json(200, {
185
+ success: true,
186
+ monitor_id: monitorId,
187
+ action_results: actionResults,
188
+ });
189
+ }
190
+ catch (err) {
191
+ console.error(`[webhook] Error handling /hooks/${monitorId}:`, err);
192
+ json(500, { error: err.message });
193
+ }
194
+ }
72
195
  // ── Start as primary (WebSocket server) or proxy (WS client) ─
73
196
  async function startBridge() {
74
197
  const taken = await isPortTaken(PORT);
75
198
  if (!taken) {
76
- // Primary mode — start WebSocket server, extension connects here
199
+ // Primary mode — HTTP server + WebSocket on the same port
77
200
  mode = "primary";
78
- const wss = new WebSocketServer({ host: "127.0.0.1", port: PORT });
201
+ const httpServer = http.createServer(handleHttpRequest);
202
+ httpServer.listen(PORT, "127.0.0.1");
203
+ const wss = new WebSocketServer({ server: httpServer });
79
204
  // Ping all connected clients every 15s to keep TCP alive and detect dead sockets
80
205
  const pingInterval = setInterval(() => {
81
206
  wss.clients.forEach((client) => {
@@ -301,7 +426,7 @@ for (const tool of MONITOR_TOOLS) {
301
426
  // Tab stays open — closed by closeTabFn after actions finish
302
427
  return { text: JSON.stringify(data), items: Array.isArray(data) ? data : undefined, tabId };
303
428
  };
304
- // actionFn executes monitor actions on the open tab
429
+ // actionFn executes monitor actions on the open tab (tabId may be undefined for buffer-based)
305
430
  const actionFn = extensionWs && extensionWs.readyState === WebSocket.OPEN
306
431
  ? (actions, tabId, triggerData) => executeMonitorActions(actions, { ws: extensionWs, pending }, tabId, triggerData)
307
432
  : undefined;
@@ -314,7 +439,11 @@ for (const tool of MONITOR_TOOLS) {
314
439
  catch { /* ok */ }
315
440
  }
316
441
  };
317
- const result = await handleMonitorTool(tool.name, args, checkFn, actionFn, closeTabFn);
442
+ // Lazy bridge context getter — always uses the current extensionWs
443
+ const getCtx = () => extensionWs && extensionWs.readyState === WebSocket.OPEN
444
+ ? { ws: extensionWs, pending }
445
+ : undefined;
446
+ const result = await handleMonitorTool(tool.name, args, checkFn, actionFn, closeTabFn, getCtx);
318
447
  return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
319
448
  }
320
449
  catch (err) {
@@ -362,6 +491,7 @@ async function main() {
362
491
  return { text: JSON.stringify(data), items: Array.isArray(data) ? data : undefined, tabId };
363
492
  };
364
493
  // Monitor actionFn — executes actions on the tab that checkFn left open
494
+ // tabId may be undefined for buffer-based conditions; executeMonitorActions opens a tab if needed
365
495
  const monitorActionFn = async (actions, tabId, triggerData) => {
366
496
  if (!extensionWs || extensionWs.readyState !== WebSocket.OPEN) {
367
497
  throw new Error("Extension not connected — action execution skipped");
@@ -377,7 +507,11 @@ async function main() {
377
507
  catch { /* ok */ }
378
508
  }
379
509
  };
380
- startMonitor(monitorCheckFn, monitorActionFn, monitorCloseTabFn);
510
+ // Lazy bridge context getter — extensionWs may reconnect between checks
511
+ const getMonitorCtx = () => extensionWs && extensionWs.readyState === WebSocket.OPEN
512
+ ? { ws: extensionWs, pending }
513
+ : undefined;
514
+ startMonitor(monitorCheckFn, monitorActionFn, monitorCloseTabFn, getMonitorCtx);
381
515
  }
382
516
  }
383
517
  main().catch((err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neuron-inspector",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "177 tools for AI agents. Turn Chrome into an MCP server — inspect DOM, automate clicks, audit security, mock APIs, extract data, download videos, schedule agents, monitor pages, self-improving recipes, full API collection management, business intelligence.",
5
5
  "type": "module",
6
6
  "main": "dist/server.js",