neuron-inspector 0.8.0 → 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 (125) 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/__tests__/assertions.test.js +203 -0
  21. package/dist/collections/__tests__/assertions.test.js.map +1 -0
  22. package/dist/collections/__tests__/dynamic-vars.test.d.ts +1 -0
  23. package/dist/collections/__tests__/dynamic-vars.test.js +169 -0
  24. package/dist/collections/__tests__/dynamic-vars.test.js.map +1 -0
  25. package/dist/collections/__tests__/execution.test.d.ts +1 -0
  26. package/dist/collections/__tests__/execution.test.js +271 -0
  27. package/dist/collections/__tests__/execution.test.js.map +1 -0
  28. package/dist/collections/__tests__/integration.test.d.ts +1 -0
  29. package/dist/collections/__tests__/integration.test.js +478 -0
  30. package/dist/collections/__tests__/integration.test.js.map +1 -0
  31. package/dist/collections/__tests__/resolver.test.d.ts +1 -0
  32. package/dist/collections/__tests__/resolver.test.js +282 -0
  33. package/dist/collections/__tests__/resolver.test.js.map +1 -0
  34. package/dist/collections/__tests__/scenario.test.d.ts +1 -0
  35. package/dist/collections/__tests__/scenario.test.js +367 -0
  36. package/dist/collections/__tests__/scenario.test.js.map +1 -0
  37. package/dist/collections/__tests__/scripts.test.d.ts +1 -0
  38. package/dist/collections/__tests__/scripts.test.js +245 -0
  39. package/dist/collections/__tests__/scripts.test.js.map +1 -0
  40. package/dist/collections/__tests__/store.test.d.ts +1 -0
  41. package/dist/collections/__tests__/store.test.js +313 -0
  42. package/dist/collections/__tests__/store.test.js.map +1 -0
  43. package/dist/collections/assertions.d.ts +16 -0
  44. package/dist/collections/assertions.js +107 -0
  45. package/dist/collections/assertions.js.map +1 -0
  46. package/dist/collections/dynamic-vars.d.ts +75 -0
  47. package/dist/collections/dynamic-vars.js +187 -0
  48. package/dist/collections/dynamic-vars.js.map +1 -0
  49. package/dist/collections/executor.d.ts +100 -0
  50. package/dist/collections/executor.js +301 -0
  51. package/dist/collections/executor.js.map +1 -0
  52. package/dist/collections/http.d.ts +9 -0
  53. package/dist/collections/http.js +194 -0
  54. package/dist/collections/http.js.map +1 -0
  55. package/dist/collections/index.d.ts +12 -0
  56. package/dist/collections/index.js +27 -0
  57. package/dist/collections/index.js.map +1 -0
  58. package/dist/collections/postman.d.ts +10 -0
  59. package/dist/collections/postman.js +288 -0
  60. package/dist/collections/postman.js.map +1 -0
  61. package/dist/collections/resolver.d.ts +74 -0
  62. package/dist/collections/resolver.js +330 -0
  63. package/dist/collections/resolver.js.map +1 -0
  64. package/dist/collections/scripts.d.ts +20 -0
  65. package/dist/collections/scripts.js +225 -0
  66. package/dist/collections/scripts.js.map +1 -0
  67. package/dist/collections/store.d.ts +68 -0
  68. package/dist/collections/store.js +507 -0
  69. package/dist/collections/store.js.map +1 -0
  70. package/dist/collections/tools.d.ts +8 -0
  71. package/dist/collections/tools.js +1276 -0
  72. package/dist/collections/tools.js.map +1 -0
  73. package/dist/collections/types.d.ts +226 -0
  74. package/dist/collections/types.js +3 -0
  75. package/dist/collections/types.js.map +1 -0
  76. package/dist/compound-tools.js +136 -2
  77. package/dist/compound-tools.js.map +1 -1
  78. package/dist/killswitch.d.ts +8 -0
  79. package/dist/killswitch.js +304 -0
  80. package/dist/killswitch.js.map +1 -0
  81. package/dist/monitor.d.ts +36 -2
  82. package/dist/monitor.js +213 -38
  83. package/dist/monitor.js.map +1 -1
  84. package/dist/paths.d.ts +16 -0
  85. package/dist/paths.js +39 -0
  86. package/dist/paths.js.map +1 -0
  87. package/dist/recipe-tools.js +67 -9
  88. package/dist/recipe-tools.js.map +1 -1
  89. package/dist/recipes.d.ts +6 -0
  90. package/dist/recipes.js +83 -8
  91. package/dist/recipes.js.map +1 -1
  92. package/dist/resilience.d.ts +112 -0
  93. package/dist/resilience.js +319 -0
  94. package/dist/resilience.js.map +1 -0
  95. package/dist/scheduler.js +4 -8
  96. package/dist/scheduler.js.map +1 -1
  97. package/dist/server.js +221 -60
  98. package/dist/server.js.map +1 -1
  99. package/dist/session-state.js +2 -2
  100. package/dist/session-state.js.map +1 -1
  101. package/dist/tools.js +54 -0
  102. package/dist/tools.js.map +1 -1
  103. package/package.json +4 -3
  104. package/recipes/autopilot/agent.md +316 -0
  105. package/recipes/autopilot/learnings.md +33 -0
  106. package/recipes/autopilot/recipe.yaml +96 -0
  107. package/recipes/inbox-responder/agent.md +268 -0
  108. package/recipes/inbox-responder/learnings.md +25 -0
  109. package/recipes/inbox-responder/recipe.yaml +82 -0
  110. package/recipes/linkedin-job-scraper/agent.md +144 -0
  111. package/recipes/linkedin-job-scraper/learnings.md +3 -0
  112. package/recipes/linkedin-job-scraper/recipe.yaml +71 -0
  113. package/recipes/linkedin-outreach/learnings.md +17 -1
  114. package/recipes/planner/agent.md +66 -1
  115. package/recipes/planner/learnings.md +49 -1
  116. package/recipes/sheets-data-entry/agent.md +166 -0
  117. package/recipes/sheets-data-entry/learnings.md +3 -0
  118. package/recipes/sheets-data-entry/recipe.yaml +78 -0
  119. package/recipes/social-ops/learnings.md +33 -13
  120. package/recipes/x-job-scraper/agent.md +156 -0
  121. package/recipes/x-job-scraper/learnings.md +3 -0
  122. package/recipes/x-job-scraper/recipe.yaml +72 -0
  123. package/dist/__tests__/correlation.test.js +0 -53
  124. package/dist/__tests__/correlation.test.js.map +0 -1
  125. /package/dist/{__tests__/correlation.test.d.ts → collections/__tests__/assertions.test.d.ts} +0 -0
@@ -0,0 +1,319 @@
1
+ /**
2
+ * Resilience layer — smart waiting, retry with fallbacks, and action
3
+ * verification. Makes the difference between "clicks and hopes" and
4
+ * "clicks, verifies, retries with a different approach if needed."
5
+ *
6
+ * These wrap the raw extension primitives with reliability patterns.
7
+ * Compound tools and recipes should use these instead of raw call().
8
+ */
9
+ async function call(ctx, primitive, args, timeoutMs = 15000) {
10
+ return ctx.pending.call(ctx.ws, primitive, args, timeoutMs);
11
+ }
12
+ function sleep(ms) {
13
+ return new Promise((r) => setTimeout(r, ms));
14
+ }
15
+ /**
16
+ * Wait for an element matching CSS selectors to appear in the DOM.
17
+ * Polls at `intervalMs` until found or `timeoutMs` expires.
18
+ * Returns the element info when found, throws on timeout.
19
+ */
20
+ export async function waitForElement(ctx, tabId, selectors, opts = {}) {
21
+ const timeout = opts.timeoutMs ?? 10000;
22
+ const interval = opts.intervalMs ?? 500;
23
+ const start = Date.now();
24
+ while (Date.now() - start < timeout) {
25
+ try {
26
+ const result = (await call(ctx, "findElements", {
27
+ tabId,
28
+ selectors,
29
+ limit: 1,
30
+ }));
31
+ if (Array.isArray(result) && result.length > 0) {
32
+ // Find which selector matched
33
+ const matched = result[0]?.selector ?? selectors[0];
34
+ return { found: true, selector: matched, count: result.length };
35
+ }
36
+ }
37
+ catch {
38
+ // findElements failed — page might still be loading, retry
39
+ }
40
+ await sleep(interval);
41
+ }
42
+ throw new Error(`Timeout: element not found after ${timeout}ms. Tried selectors: ${selectors.join(", ")}`);
43
+ }
44
+ /**
45
+ * Wait for visible text to appear on the page.
46
+ * Polls by extracting page content and searching for the text.
47
+ */
48
+ export async function waitForText(ctx, tabId, text, opts = {}) {
49
+ const timeout = opts.timeoutMs ?? 10000;
50
+ const interval = opts.intervalMs ?? 500;
51
+ const start = Date.now();
52
+ while (Date.now() - start < timeout) {
53
+ try {
54
+ const result = (await call(ctx, "findElements", {
55
+ tabId,
56
+ texts: [text],
57
+ limit: 1,
58
+ }));
59
+ if (Array.isArray(result) && result.length > 0) {
60
+ return { found: true };
61
+ }
62
+ }
63
+ catch {
64
+ // retry
65
+ }
66
+ await sleep(interval);
67
+ }
68
+ throw new Error(`Timeout: text "${text}" not found after ${timeout}ms`);
69
+ }
70
+ /**
71
+ * Wait for the page URL to change (after a navigation or redirect).
72
+ */
73
+ export async function waitForNavigation(ctx, tabId, opts = {}) {
74
+ const timeout = opts.timeoutMs ?? 10000;
75
+ const interval = opts.intervalMs ?? 500;
76
+ const start = Date.now();
77
+ while (Date.now() - start < timeout) {
78
+ try {
79
+ const tabs = (await call(ctx, "listTabs", {}));
80
+ const tab = tabs?.find((t) => t.id === tabId);
81
+ if (tab?.url) {
82
+ if (!opts.urlContains || tab.url.includes(opts.urlContains)) {
83
+ return { url: tab.url };
84
+ }
85
+ }
86
+ }
87
+ catch {
88
+ // retry
89
+ }
90
+ await sleep(interval);
91
+ }
92
+ throw new Error(`Timeout: navigation not detected after ${timeout}ms`);
93
+ }
94
+ /**
95
+ * Click with automatic fallback chain and retry.
96
+ * Tries: CSS selectors → text matching → aria-labels → scroll + retry.
97
+ * Optionally verifies the click had an effect.
98
+ */
99
+ export async function resilientClick(ctx, tabId, opts) {
100
+ const maxRetries = opts.maxRetries ?? 3;
101
+ // Focus tab first — background tabs can't click
102
+ await call(ctx, "focusTab", { tabId });
103
+ await sleep(300);
104
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
105
+ // Try CSS selectors
106
+ if (opts.selectors?.length) {
107
+ try {
108
+ const result = (await call(ctx, "clickElement", {
109
+ tabId,
110
+ selectors: opts.selectors,
111
+ }));
112
+ if (result?.clicked) {
113
+ const verified = opts.verifySelector
114
+ ? await verifyAction(ctx, tabId, opts.verifySelector, opts.verifyChange)
115
+ : undefined;
116
+ return { clicked: true, method: `selector:${result.selector}`, verified };
117
+ }
118
+ }
119
+ catch { /* try next method */ }
120
+ }
121
+ // Try text matching
122
+ if (opts.texts?.length) {
123
+ try {
124
+ const result = (await call(ctx, "clickElement", {
125
+ tabId,
126
+ texts: opts.texts,
127
+ }));
128
+ if (result?.clicked) {
129
+ const verified = opts.verifySelector
130
+ ? await verifyAction(ctx, tabId, opts.verifySelector, opts.verifyChange)
131
+ : undefined;
132
+ return { clicked: true, method: `text:${opts.texts[0]}`, verified };
133
+ }
134
+ }
135
+ catch { /* try next method */ }
136
+ }
137
+ // Try aria-labels as selectors
138
+ if (opts.ariaLabels?.length) {
139
+ const ariaSelectors = opts.ariaLabels.map((l) => `[aria-label="${l}"], [aria-label*="${l}"]`);
140
+ try {
141
+ const result = (await call(ctx, "clickElement", {
142
+ tabId,
143
+ selectors: ariaSelectors,
144
+ }));
145
+ if (result?.clicked) {
146
+ const verified = opts.verifySelector
147
+ ? await verifyAction(ctx, tabId, opts.verifySelector, opts.verifyChange)
148
+ : undefined;
149
+ return { clicked: true, method: `aria:${opts.ariaLabels[0]}`, verified };
150
+ }
151
+ }
152
+ catch { /* try next method */ }
153
+ }
154
+ // Scroll and retry on non-final attempts
155
+ if (opts.scrollToFind !== false && attempt < maxRetries - 1) {
156
+ await call(ctx, "scrollPage", { tabId, deltaY: 400, smooth: true });
157
+ await sleep(500);
158
+ }
159
+ }
160
+ throw new Error(`Click failed after ${maxRetries} attempts. Tried: ` +
161
+ [
162
+ opts.selectors?.length ? `selectors(${opts.selectors.length})` : null,
163
+ opts.texts?.length ? `texts(${opts.texts.join(",")})` : null,
164
+ opts.ariaLabels?.length ? `aria(${opts.ariaLabels.join(",")})` : null,
165
+ ].filter(Boolean).join(", "));
166
+ }
167
+ /**
168
+ * Type with retry and value verification.
169
+ * After typing, optionally reads back the field to confirm the text was accepted.
170
+ * For contenteditable (LinkedIn, X), uses execCommand internally.
171
+ */
172
+ export async function resilientType(ctx, tabId, opts) {
173
+ const maxRetries = opts.maxRetries ?? 3;
174
+ // Focus tab first
175
+ await call(ctx, "focusTab", { tabId });
176
+ await sleep(300);
177
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
178
+ try {
179
+ const result = (await call(ctx, "typeText", {
180
+ tabId,
181
+ selectors: opts.selectors,
182
+ value: opts.value,
183
+ }));
184
+ if (result?.typed) {
185
+ // Verify by extracting the field's current value
186
+ let verified;
187
+ if (opts.verify) {
188
+ await sleep(300);
189
+ verified = await verifyTyped(ctx, tabId, opts.selectors, opts.value);
190
+ if (!verified && attempt < maxRetries - 1) {
191
+ continue; // retry — the text wasn't accepted
192
+ }
193
+ }
194
+ // Press Enter if requested
195
+ let pressedEnter;
196
+ if (opts.pressEnter) {
197
+ await sleep(200);
198
+ try {
199
+ await call(ctx, "pressKey", { tabId, key: "Enter", selectors: opts.selectors });
200
+ pressedEnter = true;
201
+ }
202
+ catch {
203
+ pressedEnter = false;
204
+ }
205
+ }
206
+ return { typed: true, verified, pressedEnter };
207
+ }
208
+ }
209
+ catch { /* retry */ }
210
+ // Wait before retry
211
+ await sleep(500);
212
+ }
213
+ throw new Error(`Type failed after ${maxRetries} attempts. Selectors: ${opts.selectors.join(", ")}`);
214
+ }
215
+ // ── Verification helpers ────────────────────────────────────
216
+ async function verifyAction(ctx, tabId, selector, change) {
217
+ await sleep(500);
218
+ try {
219
+ const result = (await call(ctx, "findElements", {
220
+ tabId,
221
+ selectors: [selector],
222
+ limit: 1,
223
+ }));
224
+ const exists = Array.isArray(result) && result.length > 0;
225
+ switch (change) {
226
+ case "appears": return exists;
227
+ case "disappears": return !exists;
228
+ case "changes": return true; // can't verify generic "changed" without before/after
229
+ default: return exists;
230
+ }
231
+ }
232
+ catch {
233
+ return false;
234
+ }
235
+ }
236
+ async function verifyTyped(ctx, tabId, selectors, expectedValue) {
237
+ try {
238
+ const elements = (await call(ctx, "findElements", {
239
+ tabId,
240
+ selectors,
241
+ limit: 1,
242
+ }));
243
+ if (!elements?.length)
244
+ return false;
245
+ const el = elements[0];
246
+ // Check textContent or value
247
+ const text = String(el.textContent ?? el.value ?? el.innerText ?? "");
248
+ // Fuzzy match — the field should contain at least part of our text
249
+ return text.includes(expectedValue.slice(0, 20)) || text.length > 0;
250
+ }
251
+ catch {
252
+ return false;
253
+ }
254
+ }
255
+ /**
256
+ * Check if a tab is healthy and ready for interaction.
257
+ * Verifies: extension connected, tab accessible, no login wall/captcha.
258
+ * Call this before any recipe execution.
259
+ */
260
+ export async function healthCheck(ctx, tabId) {
261
+ const status = {
262
+ extensionConnected: true, // if we got here, extension is connected
263
+ tabAccessible: false,
264
+ blockerDetected: false,
265
+ ready: false,
266
+ };
267
+ // Check tab is accessible
268
+ try {
269
+ const tabs = (await call(ctx, "listTabs", {}));
270
+ const tab = tabs?.find((t) => t.id === tabId);
271
+ if (tab) {
272
+ status.tabAccessible = true;
273
+ status.tabUrl = tab.url;
274
+ }
275
+ }
276
+ catch {
277
+ return status;
278
+ }
279
+ // Check for blockers (login walls, captchas, rate limits)
280
+ try {
281
+ const blocker = (await call(ctx, "detectBlocker", { tabId }));
282
+ if (blocker?.blocked) {
283
+ status.blockerDetected = true;
284
+ status.blockerType = blocker.type;
285
+ return status;
286
+ }
287
+ }
288
+ catch {
289
+ // detectBlocker not available or errored — assume OK
290
+ }
291
+ status.ready = status.tabAccessible && !status.blockerDetected;
292
+ return status;
293
+ }
294
+ // ── Scroll to latest ────────────────────────────────────────
295
+ /**
296
+ * Scroll a container to its bottom to load the latest content.
297
+ * Tries: specific container selector → general page scroll.
298
+ * Waits for content to load after scrolling.
299
+ */
300
+ export async function scrollToLatest(ctx, tabId, containerSelector) {
301
+ if (containerSelector) {
302
+ // Try to scroll the specific container
303
+ try {
304
+ await call(ctx, "scrollPage", {
305
+ tabId,
306
+ selector: containerSelector,
307
+ });
308
+ await sleep(800);
309
+ return;
310
+ }
311
+ catch {
312
+ // Fall through to generic scroll
313
+ }
314
+ }
315
+ // Generic: scroll the page to the bottom
316
+ await call(ctx, "scrollPage", { tabId, deltaY: 99999, smooth: true });
317
+ await sleep(800);
318
+ }
319
+ //# sourceMappingURL=resilience.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resilience.js","sourceRoot":"","sources":["../src/resilience.ts"],"names":[],"mappings":"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"}
package/dist/scheduler.js CHANGED
@@ -1,18 +1,14 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
- import * as os from "os";
4
3
  import YAML from "yaml";
4
+ import { NEURON_DIR, ensureNeuronDir } from "./paths.js";
5
5
  const timers = new Map();
6
6
  function schedulesPath() {
7
- const neuronDir = path.join(os.homedir(), ".neuron");
8
- if (!fs.existsSync(neuronDir)) {
9
- fs.mkdirSync(neuronDir, { recursive: true });
10
- }
11
- return path.join(neuronDir, "schedules.yaml");
7
+ ensureNeuronDir();
8
+ return path.join(NEURON_DIR, "schedules.yaml");
12
9
  }
13
10
  function pendingRunsPath() {
14
- const neuronDir = path.join(os.homedir(), ".neuron");
15
- return path.join(neuronDir, "pending-runs.yaml");
11
+ return path.join(NEURON_DIR, "pending-runs.yaml");
16
12
  }
17
13
  function loadSchedules() {
18
14
  const p = schedulesPath();
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}