neuron-inspector 0.8.1 → 1.0.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.
Files changed (69) hide show
  1. package/README.md +345 -42
  2. package/dist/automations/executor.d.ts +21 -0
  3. package/dist/automations/executor.js +835 -0
  4. package/dist/automations/executor.js.map +1 -0
  5. package/dist/automations/index.d.ts +7 -0
  6. package/dist/automations/index.js +21 -0
  7. package/dist/automations/index.js.map +1 -0
  8. package/dist/automations/store.d.ts +15 -0
  9. package/dist/automations/store.js +193 -0
  10. package/dist/automations/store.js.map +1 -0
  11. package/dist/automations/tools.d.ts +14 -0
  12. package/dist/automations/tools.js +735 -0
  13. package/dist/automations/tools.js.map +1 -0
  14. package/dist/automations/types.d.ts +211 -0
  15. package/dist/automations/types.js +4 -0
  16. package/dist/automations/types.js.map +1 -0
  17. package/dist/business-tools.d.ts +17 -0
  18. package/dist/business-tools.js +3065 -0
  19. package/dist/business-tools.js.map +1 -0
  20. package/dist/collections/resolver.js +2 -2
  21. package/dist/collections/resolver.js.map +1 -1
  22. package/dist/collections/store.js +2 -2
  23. package/dist/collections/store.js.map +1 -1
  24. package/dist/killswitch.js +2 -2
  25. package/dist/killswitch.js.map +1 -1
  26. package/dist/monitor.d.ts +36 -2
  27. package/dist/monitor.js +213 -38
  28. package/dist/monitor.js.map +1 -1
  29. package/dist/paths.d.ts +16 -0
  30. package/dist/paths.js +39 -0
  31. package/dist/paths.js.map +1 -0
  32. package/dist/recipe-tools.js +28 -3
  33. package/dist/recipe-tools.js.map +1 -1
  34. package/dist/recipes.d.ts +2 -0
  35. package/dist/recipes.js +34 -5
  36. package/dist/recipes.js.map +1 -1
  37. package/dist/scheduler.js +4 -8
  38. package/dist/scheduler.js.map +1 -1
  39. package/dist/server.js +55 -17
  40. package/dist/server.js.map +1 -1
  41. package/dist/session-state.js +2 -2
  42. package/dist/session-state.js.map +1 -1
  43. package/dist/tools.js +28 -0
  44. package/dist/tools.js.map +1 -1
  45. package/package.json +2 -2
  46. package/recipes/linkedin-job-scraper/agent.md +144 -0
  47. package/recipes/linkedin-job-scraper/learnings.md +3 -0
  48. package/recipes/linkedin-job-scraper/recipe.yaml +71 -0
  49. package/recipes/sheets-data-entry/agent.md +166 -0
  50. package/recipes/sheets-data-entry/learnings.md +3 -0
  51. package/recipes/sheets-data-entry/recipe.yaml +78 -0
  52. package/recipes/x-job-scraper/agent.md +156 -0
  53. package/recipes/x-job-scraper/learnings.md +3 -0
  54. package/recipes/x-job-scraper/recipe.yaml +72 -0
  55. package/dist/__tests__/correlation.test.d.ts +0 -1
  56. package/dist/__tests__/correlation.test.js +0 -53
  57. package/dist/__tests__/correlation.test.js.map +0 -1
  58. package/dist/__tests__/monitor.test.d.ts +0 -1
  59. package/dist/__tests__/monitor.test.js +0 -286
  60. package/dist/__tests__/monitor.test.js.map +0 -1
  61. package/dist/__tests__/recipes.test.d.ts +0 -1
  62. package/dist/__tests__/recipes.test.js +0 -415
  63. package/dist/__tests__/recipes.test.js.map +0 -1
  64. package/dist/__tests__/scheduler.test.d.ts +0 -1
  65. package/dist/__tests__/scheduler.test.js +0 -316
  66. package/dist/__tests__/scheduler.test.js.map +0 -1
  67. package/dist/__tests__/session-state.test.d.ts +0 -1
  68. package/dist/__tests__/session-state.test.js +0 -335
  69. package/dist/__tests__/session-state.test.js.map +0 -1
package/dist/monitor.js CHANGED
@@ -1,51 +1,44 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
- import * as os from "node:os";
4
3
  import YAML from "yaml";
5
- const NEURON_DIR = path.join(os.homedir(), ".neuron");
6
- const MONITORS_FILE = path.join(NEURON_DIR, "monitors.yaml");
7
- const ALERTS_FILE = path.join(NEURON_DIR, "monitor-alerts.yaml");
4
+ import { NEURON_DIR, ensureNeuronDir } from "./paths.js";
8
5
  const MAX_ALERTS = 100;
9
6
  const activeIntervals = new Map();
10
- function ensureNeuronDir() {
11
- if (!fs.existsSync(NEURON_DIR)) {
12
- fs.mkdirSync(NEURON_DIR, { recursive: true });
13
- }
14
- }
15
7
  function monitorsPath() {
16
- return MONITORS_FILE;
8
+ return path.join(NEURON_DIR, "monitors.yaml");
17
9
  }
18
10
  function alertsPath() {
19
- return ALERTS_FILE;
11
+ return path.join(NEURON_DIR, "monitor-alerts.yaml");
20
12
  }
21
13
  function loadMonitors() {
22
14
  ensureNeuronDir();
23
- if (!fs.existsSync(MONITORS_FILE)) {
15
+ if (!fs.existsSync(monitorsPath())) {
24
16
  return [];
25
17
  }
26
- const content = fs.readFileSync(MONITORS_FILE, "utf-8");
18
+ const content = fs.readFileSync(monitorsPath(), "utf-8");
27
19
  const store = YAML.parse(content);
28
20
  return store?.monitors || [];
29
21
  }
30
22
  function saveMonitors(monitors) {
31
23
  ensureNeuronDir();
32
24
  const store = { monitors };
33
- fs.writeFileSync(MONITORS_FILE, YAML.stringify(store), "utf-8");
25
+ fs.writeFileSync(monitorsPath(), YAML.stringify(store), "utf-8");
34
26
  }
35
27
  function loadAlerts() {
36
28
  ensureNeuronDir();
37
- if (!fs.existsSync(ALERTS_FILE)) {
29
+ if (!fs.existsSync(alertsPath())) {
38
30
  return [];
39
31
  }
40
- const content = fs.readFileSync(ALERTS_FILE, "utf-8");
32
+ const content = fs.readFileSync(alertsPath(), "utf-8");
41
33
  const store = YAML.parse(content);
42
- return store?.alerts || [];
34
+ const alerts = store?.alerts || [];
35
+ return alerts.length > MAX_ALERTS ? alerts.slice(-MAX_ALERTS) : alerts;
43
36
  }
44
37
  function saveAlerts(alerts) {
45
38
  ensureNeuronDir();
46
39
  const trimmed = alerts.slice(-MAX_ALERTS);
47
40
  const store = { alerts: trimmed };
48
- fs.writeFileSync(ALERTS_FILE, YAML.stringify(store), "utf-8");
41
+ fs.writeFileSync(alertsPath(), YAML.stringify(store), "utf-8");
49
42
  }
50
43
  function addAlert(alert) {
51
44
  const alerts = loadAlerts();
@@ -55,23 +48,123 @@ function addAlert(alert) {
55
48
  function generateId() {
56
49
  return `mon_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
57
50
  }
51
+ export async function executeMonitorActions(actions, ctx, tabId, triggerData) {
52
+ const results = [];
53
+ for (const action of actions) {
54
+ const start = Date.now();
55
+ try {
56
+ let result;
57
+ switch (action.type) {
58
+ case "click": {
59
+ const args = { tabId };
60
+ if (action.config.selector)
61
+ args.selectors = [action.config.selector];
62
+ if (action.config.text)
63
+ args.texts = [action.config.text];
64
+ result = await ctx.pending.call(ctx.ws, "clickElement", args, 15_000);
65
+ break;
66
+ }
67
+ case "type": {
68
+ const args = {
69
+ tabId,
70
+ selectors: [action.config.selector],
71
+ value: action.config.value,
72
+ };
73
+ result = await ctx.pending.call(ctx.ws, "typeText", args, 15_000);
74
+ break;
75
+ }
76
+ case "navigate": {
77
+ result = await ctx.pending.call(ctx.ws, "navigateTo", { tabId, url: action.config.url }, 30_000);
78
+ // Wait for load
79
+ await new Promise((r) => setTimeout(r, 2000));
80
+ break;
81
+ }
82
+ case "scroll": {
83
+ const args = {
84
+ tabId,
85
+ deltaY: action.config.pixels || 600,
86
+ smooth: true,
87
+ };
88
+ result = await ctx.pending.call(ctx.ws, "scrollPage", args, 10_000);
89
+ break;
90
+ }
91
+ case "evaluate": {
92
+ result = await ctx.pending.call(ctx.ws, "evaluateJS", {
93
+ tabId,
94
+ expression: action.config.expression,
95
+ }, 15_000);
96
+ break;
97
+ }
98
+ case "screenshot": {
99
+ result = await ctx.pending.call(ctx.ws, "takeScreenshot", { tabId }, 15_000);
100
+ break;
101
+ }
102
+ case "extract": {
103
+ const args = { tabId };
104
+ if (action.config.selector)
105
+ args.selector = action.config.selector;
106
+ result = await ctx.pending.call(ctx.ws, "extractData", args, 15_000);
107
+ break;
108
+ }
109
+ case "webhook": {
110
+ const url = action.config.url;
111
+ const method = action.config.method || "POST";
112
+ const customBody = action.config.body;
113
+ const customHeaders = action.config.headers;
114
+ const headers = {
115
+ "Content-Type": "application/json",
116
+ ...customHeaders,
117
+ };
118
+ const body = customBody || JSON.stringify(triggerData);
119
+ const res = await fetch(url, { method, headers, body });
120
+ result = { status: res.status, statusText: res.statusText };
121
+ break;
122
+ }
123
+ default:
124
+ throw new Error(`Unknown action type: ${action.type}`);
125
+ }
126
+ results.push({
127
+ action_id: action.id,
128
+ type: action.type,
129
+ status: "success",
130
+ duration_ms: Date.now() - start,
131
+ result,
132
+ });
133
+ }
134
+ catch (err) {
135
+ results.push({
136
+ action_id: action.id,
137
+ type: action.type,
138
+ status: "failed",
139
+ duration_ms: Date.now() - start,
140
+ error: err.message,
141
+ });
142
+ if (action.on_error !== "continue") {
143
+ break; // stop chain
144
+ }
145
+ }
146
+ }
147
+ return results;
148
+ }
58
149
  async function checkMonitor(monitor, checkFn) {
59
150
  try {
60
151
  const result = await checkFn(monitor.url, monitor.condition.selector);
152
+ const tabId = result.tabId;
61
153
  const { condition } = monitor;
62
154
  switch (condition.type) {
63
155
  case "content_change": {
64
156
  if (!condition.baseline) {
65
- return { triggered: false, currentValue: result.text };
157
+ return { triggered: false, currentValue: result.text, tabId };
66
158
  }
67
159
  if (result.text !== condition.baseline) {
68
160
  return {
69
161
  triggered: true,
70
162
  details: "Content changed",
71
163
  currentValue: result.text,
164
+ tabId,
72
165
  };
73
166
  }
74
- return { triggered: false };
167
+ return { triggered: false, tabId };
75
168
  }
76
169
  case "text_appears": {
77
170
  if (!condition.text) {
@@ -82,25 +175,27 @@ async function checkMonitor(monitor, checkFn) {
82
175
  triggered: true,
83
176
  details: `Text "${condition.text}" appeared on page`,
84
177
  currentValue: result.text,
178
+ tabId,
85
179
  };
86
180
  }
87
- return { triggered: false };
181
+ return { triggered: false, tabId };
88
182
  }
89
183
  case "text_disappears": {
90
184
  if (!condition.text) {
91
185
  throw new Error("text_disappears condition requires 'text' parameter");
92
186
  }
93
187
  if (!condition.baseline) {
94
- return { triggered: false, currentValue: result.text };
188
+ return { triggered: false, currentValue: result.text, tabId };
95
189
  }
96
190
  if (condition.baseline.includes(condition.text) && !result.text.includes(condition.text)) {
97
191
  return {
98
192
  triggered: true,
99
193
  details: `Text "${condition.text}" disappeared from page`,
100
194
  currentValue: result.text,
195
+ tabId,
101
196
  };
102
197
  }
103
- return { triggered: false };
198
+ return { triggered: false, tabId };
104
199
  }
105
200
  case "price_below": {
106
201
  if (condition.threshold === undefined) {
@@ -114,14 +209,15 @@ async function checkMonitor(monitor, checkFn) {
114
209
  triggered: true,
115
210
  details: `Price ${price} is below threshold ${condition.threshold}`,
116
211
  currentValue: price.toString(),
212
+ tabId,
117
213
  };
118
214
  }
119
215
  }
120
- return { triggered: false };
216
+ return { triggered: false, tabId };
121
217
  }
122
218
  case "new_items": {
123
219
  if (!condition.baseline) {
124
- return { triggered: false, currentValue: JSON.stringify(result.items || []) };
220
+ return { triggered: false, currentValue: JSON.stringify(result.items || []), tabId };
125
221
  }
126
222
  const baselineItems = JSON.parse(condition.baseline);
127
223
  const currentItems = result.items || [];
@@ -130,25 +226,27 @@ async function checkMonitor(monitor, checkFn) {
130
226
  triggered: true,
131
227
  details: `New items detected: ${currentItems.length - baselineItems.length} added`,
132
228
  currentValue: JSON.stringify(currentItems),
229
+ tabId,
133
230
  };
134
231
  }
135
- return { triggered: false };
232
+ return { triggered: false, tabId };
136
233
  }
137
234
  case "selector_change": {
138
235
  if (!condition.selector) {
139
236
  throw new Error("selector_change condition requires 'selector' parameter");
140
237
  }
141
238
  if (!condition.baseline) {
142
- return { triggered: false, currentValue: result.text };
239
+ return { triggered: false, currentValue: result.text, tabId };
143
240
  }
144
241
  if (result.text !== condition.baseline) {
145
242
  return {
146
243
  triggered: true,
147
244
  details: "Selector content changed",
148
245
  currentValue: result.text,
246
+ tabId,
149
247
  };
150
248
  }
151
- return { triggered: false };
249
+ return { triggered: false, tabId };
152
250
  }
153
251
  default:
154
252
  throw new Error(`Unknown condition type: ${condition.type}`);
@@ -159,7 +257,7 @@ async function checkMonitor(monitor, checkFn) {
159
257
  return { triggered: false };
160
258
  }
161
259
  }
162
- async function runMonitorCheck(monitor, checkFn) {
260
+ async function runMonitorCheck(monitor, checkFn, actionFn, closeTabFn) {
163
261
  const checkResult = await checkMonitor(monitor, checkFn);
164
262
  const monitors = loadMonitors();
165
263
  const monitorIndex = monitors.findIndex((m) => m.id === monitor.id);
@@ -182,6 +280,29 @@ async function runMonitorCheck(monitor, checkFn) {
182
280
  previous_value: monitor.condition.baseline,
183
281
  current_value: checkResult.currentValue,
184
282
  };
283
+ // Execute actions if defined and a tab is available
284
+ if (monitor.actions?.length && actionFn && checkResult.tabId) {
285
+ try {
286
+ const actionResults = await actionFn(monitor.actions, checkResult.tabId, {
287
+ monitor_name: monitor.name,
288
+ monitor_id: monitor.id,
289
+ url: monitor.url,
290
+ condition_type: monitor.condition.type,
291
+ triggered_at: alert.triggered_at,
292
+ details: alert.details,
293
+ previous_value: alert.previous_value,
294
+ current_value: alert.current_value,
295
+ });
296
+ alert.action_results = actionResults;
297
+ const failed = actionResults.filter((r) => r.status === "failed");
298
+ if (failed.length > 0) {
299
+ console.error(`[MONITOR ACTIONS] ${monitor.name}: ${failed.length}/${actionResults.length} action(s) failed`);
300
+ }
301
+ }
302
+ catch (err) {
303
+ console.error(`[MONITOR ACTIONS] ${monitor.name}: action execution error:`, err);
304
+ }
305
+ }
185
306
  addAlert(alert);
186
307
  console.error(`[MONITOR ALERT] ${monitor.name}: ${alert.details}`);
187
308
  if (checkResult.currentValue) {
@@ -192,8 +313,15 @@ async function runMonitorCheck(monitor, checkFn) {
192
313
  monitors[monitorIndex].last_result = "no_change";
193
314
  }
194
315
  saveMonitors(monitors);
316
+ // Close the tab after actions are done (if the check opened one)
317
+ if (checkResult.tabId && closeTabFn) {
318
+ try {
319
+ await closeTabFn(checkResult.tabId);
320
+ }
321
+ catch { /* ok */ }
322
+ }
195
323
  }
196
- export function startMonitor(checkFn) {
324
+ export function startMonitor(checkFn, actionFn, closeTabFn) {
197
325
  for (const interval of activeIntervals.values()) {
198
326
  clearInterval(interval);
199
327
  }
@@ -210,12 +338,12 @@ export function startMonitor(checkFn) {
210
338
  const delay = (i + 1) * STAGGER_MS;
211
339
  const timeout = setTimeout(() => {
212
340
  // First check after the staggered delay
213
- runMonitorCheck(monitor, checkFn).catch((err) => {
341
+ runMonitorCheck(monitor, checkFn, actionFn, closeTabFn).catch((err) => {
214
342
  console.error(`Error running monitor ${monitor.id}:`, err);
215
343
  });
216
344
  // Then schedule the repeating interval
217
345
  const interval = setInterval(() => {
218
- runMonitorCheck(monitor, checkFn).catch((err) => {
346
+ runMonitorCheck(monitor, checkFn, actionFn, closeTabFn).catch((err) => {
219
347
  console.error(`Error running monitor ${monitor.id}:`, err);
220
348
  });
221
349
  }, intervalMs);
@@ -229,7 +357,7 @@ export function startMonitor(checkFn) {
229
357
  console.error(`[monitor] Scheduled ${enabled.length} monitor(s), staggered over ${(enabled.length * STAGGER_MS / 1000)}s`);
230
358
  }
231
359
  }
232
- export async function handleMonitorTool(name, args, checkFn) {
360
+ export async function handleMonitorTool(name, args, checkFn, actionFn, closeTabFn) {
233
361
  switch (name) {
234
362
  case "neuron_monitor_create": {
235
363
  const url = args.url;
@@ -237,6 +365,7 @@ export async function handleMonitorTool(name, args, checkFn) {
237
365
  const checkIntervalMinutes = args.check_interval_minutes || 60;
238
366
  const condition = args.condition;
239
367
  const enabled = args.enabled !== undefined ? args.enabled : true;
368
+ const actions = args.actions;
240
369
  if (!url || !monitorName || !condition) {
241
370
  throw new Error("Missing required parameters: url, name, condition");
242
371
  }
@@ -246,6 +375,7 @@ export async function handleMonitorTool(name, args, checkFn) {
246
375
  name: monitorName,
247
376
  check_interval_minutes: checkIntervalMinutes,
248
377
  condition,
378
+ actions,
249
379
  enabled,
250
380
  created_at: new Date().toISOString(),
251
381
  alert_count: 0,
@@ -256,7 +386,7 @@ export async function handleMonitorTool(name, args, checkFn) {
256
386
  if (enabled && checkFn) {
257
387
  const intervalMs = checkIntervalMinutes * 60 * 1000;
258
388
  const interval = setInterval(() => {
259
- runMonitorCheck(monitor, checkFn).catch((err) => {
389
+ runMonitorCheck(monitor, checkFn, actionFn, closeTabFn).catch((err) => {
260
390
  console.error(`Error running monitor ${monitor.id}:`, err);
261
391
  });
262
392
  }, intervalMs);
@@ -329,7 +459,7 @@ export async function handleMonitorTool(name, args, checkFn) {
329
459
  if (!monitor) {
330
460
  throw new Error(`Monitor ${monitorId} not found`);
331
461
  }
332
- await runMonitorCheck(monitor, checkFn);
462
+ await runMonitorCheck(monitor, checkFn, actionFn, closeTabFn);
333
463
  const updated = loadMonitors().find((m) => m.id === monitorId);
334
464
  return {
335
465
  monitor_id: monitorId,
@@ -342,7 +472,7 @@ export async function handleMonitorTool(name, args, checkFn) {
342
472
  const results = [];
343
473
  for (const monitor of monitors) {
344
474
  if (monitor.enabled) {
345
- await runMonitorCheck(monitor, checkFn);
475
+ await runMonitorCheck(monitor, checkFn, actionFn, closeTabFn);
346
476
  const updated = loadMonitors().find((m) => m.id === monitor.id);
347
477
  results.push({
348
478
  monitor_id: monitor.id,
@@ -390,6 +520,9 @@ export async function handleMonitorTool(name, args, checkFn) {
390
520
  const newCond = args.condition;
391
521
  monitor.condition = { ...monitor.condition, ...newCond };
392
522
  }
523
+ if (args.actions !== undefined) {
524
+ monitor.actions = args.actions;
525
+ }
393
526
  saveMonitors(monitors);
394
527
  // Restart interval if interval or enabled changed
395
528
  const existingInterval = activeIntervals.get(monitorId);
@@ -401,7 +534,7 @@ export async function handleMonitorTool(name, args, checkFn) {
401
534
  const intervalMs = monitor.check_interval_minutes * 60 * 1000;
402
535
  const m = monitor;
403
536
  const interval = setInterval(() => {
404
- runMonitorCheck(m, checkFn).catch((err) => {
537
+ runMonitorCheck(m, checkFn, actionFn, closeTabFn).catch((err) => {
405
538
  console.error(`Error running monitor ${m.id}:`, err);
406
539
  });
407
540
  }, intervalMs);
@@ -417,6 +550,7 @@ export async function handleMonitorTool(name, args, checkFn) {
417
550
  enabled: monitor.enabled,
418
551
  check_interval_minutes: monitor.check_interval_minutes,
419
552
  condition: monitor.condition,
553
+ actions: monitor.actions,
420
554
  },
421
555
  };
422
556
  }
@@ -443,7 +577,7 @@ export async function handleMonitorTool(name, args, checkFn) {
443
577
  const intervalMs = monitors[idx].check_interval_minutes * 60 * 1000;
444
578
  const m = monitors[idx];
445
579
  const interval = setInterval(() => {
446
- runMonitorCheck(m, checkFn).catch((err) => {
580
+ runMonitorCheck(m, checkFn, actionFn, closeTabFn).catch((err) => {
447
581
  console.error(`Error running monitor ${m.id}:`, err);
448
582
  });
449
583
  }, intervalMs);
@@ -514,6 +648,32 @@ export const MONITOR_TOOLS = [
514
648
  description: "Whether the monitor is active. Default: true",
515
649
  default: true,
516
650
  },
651
+ actions: {
652
+ type: "array",
653
+ description: "Actions to execute when the condition triggers. Each action runs in sequence; chain stops on first failure unless on_error is 'continue'.",
654
+ items: {
655
+ type: "object",
656
+ properties: {
657
+ id: { type: "string", description: "Unique action ID" },
658
+ type: {
659
+ type: "string",
660
+ enum: ["click", "type", "navigate", "scroll", "evaluate", "screenshot", "extract", "webhook"],
661
+ description: "Action type to execute",
662
+ },
663
+ config: {
664
+ type: "object",
665
+ description: "Action-specific configuration. click: {selector, text}. type: {selector, value}. navigate: {url}. scroll: {pixels}. evaluate: {expression}. screenshot: {}. extract: {selector}. webhook: {url, method}.",
666
+ },
667
+ on_error: {
668
+ type: "string",
669
+ enum: ["stop", "continue"],
670
+ description: "What to do if this action fails. Default: stop",
671
+ },
672
+ label: { type: "string", description: "Human-readable label for this action" },
673
+ },
674
+ required: ["id", "type", "config"],
675
+ },
676
+ },
517
677
  },
518
678
  required: ["url", "name", "condition"],
519
679
  },
@@ -624,6 +784,21 @@ export const MONITOR_TOOLS = [
624
784
  type: "boolean",
625
785
  description: "Whether the monitor is active",
626
786
  },
787
+ actions: {
788
+ type: "array",
789
+ description: "Replace the monitor's action chain. Same schema as neuron_monitor_create.",
790
+ items: {
791
+ type: "object",
792
+ properties: {
793
+ id: { type: "string" },
794
+ type: { type: "string", enum: ["click", "type", "navigate", "scroll", "evaluate", "screenshot", "extract", "webhook"] },
795
+ config: { type: "object" },
796
+ on_error: { type: "string", enum: ["stop", "continue"] },
797
+ label: { type: "string" },
798
+ },
799
+ required: ["id", "type", "config"],
800
+ },
801
+ },
627
802
  },
628
803
  required: ["monitor_id"],
629
804
  },
@@ -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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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Centralized data directory for the Neuron bridge.
3
+ *
4
+ * Defaults to ~/.neuron. Override with NEURON_DATA_DIR env var to isolate
5
+ * data per Chrome profile when running multiple bridge instances:
6
+ *
7
+ * NEURON_BRIDGE_PORT=7378 NEURON_DATA_DIR=~/.neuron/letschop npx neuron-inspector
8
+ */
9
+ /** The root data directory for this bridge instance. */
10
+ export declare let NEURON_DIR: string;
11
+ /** Ensure NEURON_DIR exists on disk. */
12
+ export declare function ensureNeuronDir(): void;
13
+ /** Test-only: override NEURON_DIR to an isolated temp directory. */
14
+ export declare function _setNeuronDirForTest(dir: string): void;
15
+ /** Test-only: reset NEURON_DIR to the real resolved value. */
16
+ export declare function _resetNeuronDir(): void;
package/dist/paths.js ADDED
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Centralized data directory for the Neuron bridge.
3
+ *
4
+ * Defaults to ~/.neuron. Override with NEURON_DATA_DIR env var to isolate
5
+ * data per Chrome profile when running multiple bridge instances:
6
+ *
7
+ * NEURON_BRIDGE_PORT=7378 NEURON_DATA_DIR=~/.neuron/letschop npx neuron-inspector
8
+ */
9
+ import * as path from "node:path";
10
+ import * as os from "node:os";
11
+ import * as fs from "node:fs";
12
+ function resolve() {
13
+ const env = process.env.NEURON_DATA_DIR;
14
+ if (env) {
15
+ // Expand ~ to homedir
16
+ const expanded = env.startsWith("~")
17
+ ? path.join(os.homedir(), env.slice(1))
18
+ : env;
19
+ return path.resolve(expanded);
20
+ }
21
+ return path.join(os.homedir(), ".neuron");
22
+ }
23
+ /** The root data directory for this bridge instance. */
24
+ export let NEURON_DIR = resolve();
25
+ /** Ensure NEURON_DIR exists on disk. */
26
+ export function ensureNeuronDir() {
27
+ if (!fs.existsSync(NEURON_DIR)) {
28
+ fs.mkdirSync(NEURON_DIR, { recursive: true });
29
+ }
30
+ }
31
+ /** Test-only: override NEURON_DIR to an isolated temp directory. */
32
+ export function _setNeuronDirForTest(dir) {
33
+ NEURON_DIR = dir;
34
+ }
35
+ /** Test-only: reset NEURON_DIR to the real resolved value. */
36
+ export function _resetNeuronDir() {
37
+ NEURON_DIR = resolve();
38
+ }
39
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,SAAS,OAAO;IACd,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,IAAI,GAAG,EAAE,CAAC;QACR,sBAAsB;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,GAAG,CAAC;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,IAAI,UAAU,GAAG,OAAO,EAAE,CAAC;AAElC,wCAAwC;AACxC,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,UAAU,GAAG,GAAG,CAAC;AACnB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe;IAC7B,UAAU,GAAG,OAAO,EAAE,CAAC;AACzB,CAAC"}