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 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/collections/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ export interface EndpointSettings {
2
+ timeout_ms?: number;
3
+ follow_redirects?: boolean;
4
+ max_redirects?: number;
5
+ verify_ssl?: boolean;
6
+ follow_original_method?: boolean;
7
+ follow_authorization?: boolean;
8
+ remove_referer?: boolean;
9
+ encode_url?: boolean;
10
+ }
11
+ export interface Endpoint {
12
+ name: string;
13
+ method: string;
14
+ path: string;
15
+ description?: string;
16
+ headers?: Record<string, string>;
17
+ cookies?: Record<string, string>;
18
+ body?: unknown;
19
+ body_mode?: "json" | "text" | "form-data" | "urlencoded";
20
+ variables?: Record<string, string>;
21
+ tests?: Assertion[];
22
+ extract?: Record<string, string>;
23
+ pre_request?: Script;
24
+ post_response?: Script;
25
+ auth?: AuthConfig;
26
+ tags?: string[];
27
+ timeout_ms?: number;
28
+ settings?: EndpointSettings;
29
+ }
30
+ export interface Assertion {
31
+ check: string;
32
+ op?: string;
33
+ expect?: unknown;
34
+ }
35
+ export interface Script {
36
+ set?: Record<string, string>;
37
+ extract?: Record<string, string>;
38
+ /** JavaScript code — takes precedence over set/extract when present. */
39
+ code?: string;
40
+ }
41
+ export interface AuthConfig {
42
+ type: "bearer" | "basic" | "api-key" | "none";
43
+ token?: string;
44
+ username?: string;
45
+ password?: string;
46
+ header?: string;
47
+ value?: string;
48
+ }
49
+ export interface Folder {
50
+ description?: string;
51
+ headers?: Record<string, string>;
52
+ variables?: Record<string, string>;
53
+ auth?: AuthConfig;
54
+ endpoints: Endpoint[];
55
+ }
56
+ export interface Environment {
57
+ base_url: string;
58
+ variables?: Record<string, string>;
59
+ headers?: Record<string, string>;
60
+ timeout_ms?: number;
61
+ }
62
+ export interface Defaults {
63
+ headers?: Record<string, string>;
64
+ variables?: Record<string, string>;
65
+ timeout_ms?: number;
66
+ auth?: AuthConfig;
67
+ pre_request?: Script;
68
+ post_response?: Script;
69
+ }
70
+ export interface ScenarioStep {
71
+ ref: string;
72
+ overrides?: {
73
+ headers?: Record<string, string>;
74
+ body?: unknown;
75
+ tests?: Assertion[];
76
+ path?: string;
77
+ variables?: Record<string, string>;
78
+ };
79
+ }
80
+ export interface Scenario {
81
+ description?: string;
82
+ steps: ScenarioStep[];
83
+ }
84
+ export interface Collection {
85
+ name: string;
86
+ version?: string;
87
+ description?: string;
88
+ defaults?: Defaults;
89
+ environments?: Record<string, Environment>;
90
+ active_environment?: string;
91
+ folders?: Record<string, Folder>;
92
+ scenarios?: Record<string, Scenario>;
93
+ }
94
+ /** Metadata returned when listing collections. */
95
+ export interface CollectionSummary {
96
+ id: string;
97
+ name: string;
98
+ location: "global" | "project";
99
+ path: string;
100
+ folder_count: number;
101
+ endpoint_count: number;
102
+ environment_count: number;
103
+ scenario_count: number;
104
+ }
105
+ /** Reads and writes collections. Default implementation: YAML files. */
106
+ export interface CollectionStore {
107
+ list(): Promise<CollectionSummary[]>;
108
+ get(id: string): Promise<{
109
+ collection: Collection;
110
+ summary: CollectionSummary;
111
+ } | null>;
112
+ save(id: string, collection: Collection, location?: "global" | "project"): Promise<string>;
113
+ delete(id: string): Promise<boolean>;
114
+ /** Resolve which file a collection id maps to, checking project-local first. */
115
+ resolve(id: string): Promise<{
116
+ path: string;
117
+ location: "global" | "project";
118
+ } | null>;
119
+ }
120
+ /** Executes a single fully-resolved HTTP request. */
121
+ export interface HttpExecutor {
122
+ execute(request: ResolvedRequest): Promise<HttpResponse>;
123
+ }
124
+ export interface ResolvedRequest {
125
+ url: string;
126
+ method: string;
127
+ headers: Record<string, string>;
128
+ body?: string;
129
+ timeout_ms: number;
130
+ follow_redirects?: boolean;
131
+ max_redirects?: number;
132
+ verify_ssl?: boolean;
133
+ follow_original_method?: boolean;
134
+ follow_authorization?: boolean;
135
+ remove_referer?: boolean;
136
+ encode_url?: boolean;
137
+ }
138
+ export interface HttpResponse {
139
+ status: number;
140
+ statusText: string;
141
+ headers: Record<string, string>;
142
+ body: string | null;
143
+ timing: {
144
+ total_ms: number;
145
+ ttfb_ms: number;
146
+ };
147
+ }
148
+ /** A single step in the variable resolution pipeline. */
149
+ export interface ResolverStep {
150
+ name: string;
151
+ resolve(key: string, context: ResolverContext): string | undefined;
152
+ }
153
+ export interface ResolverContext {
154
+ environment?: Environment;
155
+ collection?: Collection;
156
+ folder?: Folder;
157
+ endpoint?: Endpoint;
158
+ extracted?: Record<string, string>;
159
+ scriptVars?: Record<string, string>;
160
+ }
161
+ /** Evaluates a single assertion operator (e.g., "exists", "gt"). */
162
+ export interface AssertionOperator {
163
+ (actual: unknown, expected: unknown): boolean;
164
+ }
165
+ /** Registry of assertion operators. Extensible by registering new operators. */
166
+ export interface AssertionEvaluator {
167
+ register(op: string, fn: AssertionOperator): void;
168
+ evaluate(assertion: Assertion, response: AssertionTarget): AssertionResult;
169
+ }
170
+ export interface AssertionTarget {
171
+ status: number;
172
+ headers: Record<string, string>;
173
+ body: unknown;
174
+ timing: {
175
+ total_ms: number;
176
+ ttfb_ms: number;
177
+ };
178
+ }
179
+ export interface AssertionResult {
180
+ passed: boolean;
181
+ check: string;
182
+ op: string;
183
+ expected: unknown;
184
+ actual: unknown;
185
+ }
186
+ /** Generates values for dynamic variable references like {{$uuid}}. */
187
+ export interface DynamicVarProvider {
188
+ canHandle(ref: string): boolean;
189
+ generate(ref: string, context: ResolverContext): string;
190
+ }
191
+ /** Runs pre-request and post-response scripts. */
192
+ export interface ScriptRunner {
193
+ runPreRequest(script: Script, context: ScriptContext): ScriptResult;
194
+ runPostResponse(script: Script, response: AssertionTarget, context: ScriptContext): ScriptResult;
195
+ }
196
+ export interface ScriptContext {
197
+ variables: Record<string, string>;
198
+ request?: {
199
+ method: string;
200
+ path: string;
201
+ headers: Record<string, string>;
202
+ body?: unknown;
203
+ cookies?: Record<string, string>;
204
+ };
205
+ environment?: {
206
+ name: string;
207
+ base_url?: string;
208
+ variables?: Record<string, string>;
209
+ };
210
+ }
211
+ export interface ScriptResult {
212
+ variables: Record<string, string>;
213
+ mutations?: {
214
+ headers?: Record<string, string>;
215
+ body?: unknown;
216
+ cookies?: Record<string, string>;
217
+ path?: string;
218
+ method?: string;
219
+ };
220
+ tests?: {
221
+ name: string;
222
+ passed: boolean;
223
+ error?: string;
224
+ }[];
225
+ logs?: string[];
226
+ }
@@ -0,0 +1,3 @@
1
+ // ── Data types ──────────────────────────────────────────────────
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/collections/types.ts"],"names":[],"mappings":"AAAA,mEAAmE"}
@@ -7,10 +7,16 @@
7
7
  * know about them — they just issue sequences of existing TOOL_CALL
8
8
  * messages via the same PendingCalls correlation.
9
9
  */
10
+ import { waitForElement, waitForText, waitForNavigation, resilientClick, resilientType, healthCheck, } from "./resilience.js";
10
11
  // ── Helpers ─────────────────────────────────────────────────
11
12
  async function call(ctx, primitive, args, timeoutMs = 15000) {
12
13
  return ctx.pending.call(ctx.ws, primitive, args, timeoutMs);
13
14
  }
15
+ /** Focus a tab before interacting — required for LinkedIn, Gmail, Facebook. */
16
+ async function ensureFocused(ctx, tabId) {
17
+ await call(ctx, "focusTab", { tabId });
18
+ await sleep(300); // give the tab time to render in foreground
19
+ }
14
20
  function sleep(ms) {
15
21
  return new Promise((r) => setTimeout(r, ms));
16
22
  }
@@ -162,6 +168,81 @@ export const COMPOUND_TOOLS = [
162
168
  required: ["tabId", "action"],
163
169
  },
164
170
  },
171
+ {
172
+ name: "neuron_wait_for",
173
+ description: "Wait for a condition to be true before proceeding. Polls at intervals until the condition is " +
174
+ "met or timeout. Use instead of fixed sleep() — waits for an element to appear, text to show " +
175
+ "up, or URL to change. Returns when the condition is met, throws on timeout.",
176
+ inputSchema: {
177
+ type: "object",
178
+ properties: {
179
+ tabId: { type: "number", description: "Chrome tab ID" },
180
+ condition: {
181
+ type: "string",
182
+ description: "What to wait for: 'element' (CSS selector appears), 'text' (text appears on page), 'url' (URL contains string)",
183
+ },
184
+ selectors: { type: "array", items: { type: "string" }, description: "CSS selectors to wait for (when condition='element')" },
185
+ text: { type: "string", description: "Text to wait for (when condition='text')" },
186
+ urlContains: { type: "string", description: "URL substring to wait for (when condition='url')" },
187
+ timeoutMs: { type: "number", description: "Max wait time in ms (default: 10000)" },
188
+ intervalMs: { type: "number", description: "Poll interval in ms (default: 500)" },
189
+ },
190
+ required: ["tabId", "condition"],
191
+ },
192
+ },
193
+ {
194
+ name: "neuron_smart_click",
195
+ description: "Click with automatic retry and fallback chain. Tries CSS selectors first, then visible text, " +
196
+ "then aria-labels, scrolling to find the element between attempts. Optionally verifies the click " +
197
+ "had an effect (element appeared, disappeared, or changed). Use instead of neuron_click when " +
198
+ "reliability matters.",
199
+ inputSchema: {
200
+ type: "object",
201
+ properties: {
202
+ tabId: { type: "number", description: "Chrome tab ID" },
203
+ selectors: { type: "array", items: { type: "string" }, description: "CSS selectors to try (priority order)" },
204
+ texts: { type: "array", items: { type: "string" }, description: "Visible text labels to try" },
205
+ ariaLabels: { type: "array", items: { type: "string" }, description: "Aria labels to try" },
206
+ scrollToFind: { type: "boolean", description: "Scroll to find the element if not visible (default: true)" },
207
+ maxRetries: { type: "number", description: "Max attempts (default: 3)" },
208
+ verifySelector: { type: "string", description: "CSS selector to check after clicking (verification)" },
209
+ verifyChange: { type: "string", description: "Expected change: 'appears', 'disappears', 'changes'" },
210
+ },
211
+ required: ["tabId"],
212
+ },
213
+ },
214
+ {
215
+ name: "neuron_smart_type",
216
+ description: "Type with retry, value verification, and optional Enter press. After typing, reads back " +
217
+ "the field to confirm the text was accepted by the framework. If verification fails, retries. " +
218
+ "Set pressEnter=true for send-on-enter fields (LinkedIn, X DMs). Use instead of neuron_type " +
219
+ "when the target is a framework-rendered input.",
220
+ inputSchema: {
221
+ type: "object",
222
+ properties: {
223
+ tabId: { type: "number", description: "Chrome tab ID" },
224
+ selectors: { type: "array", items: { type: "string" }, description: "CSS selectors for the input" },
225
+ value: { type: "string", description: "Text to type" },
226
+ verify: { type: "boolean", description: "Read back the field to confirm (default: true)" },
227
+ pressEnter: { type: "boolean", description: "Press Enter after typing — for send-on-enter fields (default: false)" },
228
+ maxRetries: { type: "number", description: "Max attempts (default: 3)" },
229
+ },
230
+ required: ["tabId", "selectors", "value"],
231
+ },
232
+ },
233
+ {
234
+ name: "neuron_health_check",
235
+ description: "Check if a tab is healthy and ready for interaction. Verifies: extension connected, tab " +
236
+ "accessible, no login wall, no captcha, no rate limit block. Call this before starting any " +
237
+ "recipe or multi-step interaction. Returns ready=true if safe to proceed.",
238
+ inputSchema: {
239
+ type: "object",
240
+ properties: {
241
+ tabId: { type: "number", description: "Chrome tab ID to check" },
242
+ },
243
+ required: ["tabId"],
244
+ },
245
+ },
165
246
  {
166
247
  name: "neuron_vision_act",
167
248
  description: "Take a screenshot of the page and describe what's visible, then perform an action based on " +
@@ -197,6 +278,7 @@ export const COMPOUND_TOOLS = [
197
278
  api_key: { type: "string", description: "Neuron bot API key with 'nrn_' prefix" },
198
279
  context: { type: "string", description: "Additional context (e.g. the full message text, the form data)" },
199
280
  timeout_seconds: { type: "number", description: "How long to wait for a response (default: 120)" },
281
+ neuron_url: { type: "string", description: "Neuron API base URL (default: https://api.neuron.ng). Set this if self-hosting Neuron." },
200
282
  },
201
283
  required: ["prompt", "phone", "api_key"],
202
284
  },
@@ -278,6 +360,14 @@ export async function handleCompoundTool(name, args, ctx) {
278
360
  return auditPage(args, ctx);
279
361
  case "neuron_monitor_action":
280
362
  return monitorAction(args, ctx);
363
+ case "neuron_wait_for":
364
+ return handleWaitFor(args, ctx);
365
+ case "neuron_smart_click":
366
+ return handleSmartClick(args, ctx);
367
+ case "neuron_smart_type":
368
+ return handleSmartType(args, ctx);
369
+ case "neuron_health_check":
370
+ return healthCheck(ctx, args.tabId);
281
371
  case "neuron_vision_act":
282
372
  return visionAct(args, ctx);
283
373
  case "neuron_approve_via_whatsapp":
@@ -484,6 +574,8 @@ async function fillAndSubmit(args, ctx) {
484
574
  const submitText = args.submitText;
485
575
  const wantScreenshot = args.screenshot ?? true;
486
576
  const delayMs = args.delayMs ?? 200;
577
+ // Focus the tab before interacting — LinkedIn/Gmail need foreground
578
+ await ensureFocused(ctx, tabId);
487
579
  // Snapshot before
488
580
  await call(ctx, "snapshotState", { tabId, label: "pre-fill" });
489
581
  // Fill each field
@@ -582,6 +674,8 @@ async function monitorAction(args, ctx) {
582
674
  const action = args.action;
583
675
  const waitMs = args.waitMs ?? 1500;
584
676
  const wantScreenshot = args.screenshot ?? true;
677
+ // Focus the tab before interacting
678
+ await ensureFocused(ctx, tabId);
585
679
  // Snapshot before
586
680
  await call(ctx, "snapshotState", { tabId, label: "before-action" });
587
681
  // Perform action
@@ -630,6 +724,45 @@ async function monitorAction(args, ctx) {
630
724
  errors,
631
725
  };
632
726
  }
727
+ // ── Resilience tool handlers ────────────────────────────────
728
+ async function handleWaitFor(args, ctx) {
729
+ const tabId = args.tabId;
730
+ const condition = args.condition;
731
+ const opts = {
732
+ timeoutMs: args.timeoutMs ?? 10000,
733
+ intervalMs: args.intervalMs ?? 500,
734
+ };
735
+ switch (condition) {
736
+ case "element":
737
+ return waitForElement(ctx, tabId, args.selectors, opts);
738
+ case "text":
739
+ return waitForText(ctx, tabId, args.text, opts);
740
+ case "url":
741
+ return waitForNavigation(ctx, tabId, { ...opts, urlContains: args.urlContains });
742
+ default:
743
+ throw new Error(`Unknown wait condition: ${condition}. Use 'element', 'text', or 'url'.`);
744
+ }
745
+ }
746
+ async function handleSmartClick(args, ctx) {
747
+ return resilientClick(ctx, args.tabId, {
748
+ selectors: args.selectors,
749
+ texts: args.texts,
750
+ ariaLabels: args.ariaLabels,
751
+ scrollToFind: args.scrollToFind ?? true,
752
+ maxRetries: args.maxRetries ?? 3,
753
+ verifySelector: args.verifySelector,
754
+ verifyChange: args.verifyChange,
755
+ });
756
+ }
757
+ async function handleSmartType(args, ctx) {
758
+ return resilientType(ctx, args.tabId, {
759
+ selectors: args.selectors,
760
+ value: args.value,
761
+ verify: args.verify ?? true,
762
+ pressEnter: args.pressEnter ?? false,
763
+ maxRetries: args.maxRetries ?? 3,
764
+ });
765
+ }
633
766
  // ── Vision-based action ─────────────────────────────────────
634
767
  async function visionAct(args, ctx) {
635
768
  const tabId = args.tabId;
@@ -674,6 +807,7 @@ async function approveViaWhatsapp(args, ctx) {
674
807
  const apiKey = args.api_key;
675
808
  const context = args.context;
676
809
  const timeoutSec = args.timeout_seconds ?? 120;
810
+ const baseUrl = args.neuron_url ?? "https://api.neuron.ng";
677
811
  // Screenshot if tabId provided
678
812
  let screenshotData = null;
679
813
  if (tabId) {
@@ -701,7 +835,7 @@ async function approveViaWhatsapp(args, ctx) {
701
835
  // Use the extension to make the HTTP call (it has the network context)
702
836
  // Alternatively, make a direct fetch from the bridge process
703
837
  try {
704
- const response = await fetch("https://api.neuron.ng/api/v1/approvals", {
838
+ const response = await fetch(`${baseUrl}/api/v1/approvals`, {
705
839
  method: "POST",
706
840
  headers: {
707
841
  "Content-Type": "application/json",
@@ -727,7 +861,7 @@ async function approveViaWhatsapp(args, ctx) {
727
861
  while (Date.now() - startTime < timeoutSec * 1000) {
728
862
  await sleep(pollInterval);
729
863
  try {
730
- const pollResponse = await fetch(`https://api.neuron.ng/api/v1/approvals/${approvalId}`, {
864
+ const pollResponse = await fetch(`${baseUrl}/api/v1/approvals/${approvalId}`, {
731
865
  headers: { "Authorization": `Bearer ${apiKey}` },
732
866
  });
733
867
  if (pollResponse.ok) {