neuron-inspector 0.3.2 → 0.4.1

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.
@@ -162,6 +162,68 @@ export const COMPOUND_TOOLS = [
162
162
  required: ["tabId", "action"],
163
163
  },
164
164
  },
165
+ {
166
+ name: "neuron_vision_act",
167
+ description: "Take a screenshot of the page and describe what's visible, then perform an action based on " +
168
+ "visual understanding — no CSS selectors needed. The extension screenshots the viewport, the " +
169
+ "agent analyzes the image description, and issues click/type commands using element coordinates " +
170
+ "or best-match selectors. Use when you don't know the page structure or selectors keep breaking. " +
171
+ "Describe what you want to interact with in natural language.",
172
+ inputSchema: {
173
+ type: "object",
174
+ properties: {
175
+ tabId: { type: "number", description: "Chrome tab ID" },
176
+ instruction: {
177
+ type: "string",
178
+ description: "What to do, described visually (e.g. 'click the blue Send button', 'type in the search box at the top', 'scroll to the comments section')",
179
+ },
180
+ screenshot: { type: "boolean", description: "Return the screenshot for the AI to analyze (default: true)" },
181
+ },
182
+ required: ["tabId", "instruction"],
183
+ },
184
+ },
185
+ {
186
+ name: "neuron_approve_via_whatsapp",
187
+ description: "Send an approval request to WhatsApp and wait for the response. Takes a screenshot of the " +
188
+ "current state, sends it with a prompt to a WhatsApp number, waits for approve/reject reply. " +
189
+ "Use instead of pausing for keyboard approval — the user approves from their phone. Requires " +
190
+ "a Neuron bot API key and the recipient's phone number.",
191
+ inputSchema: {
192
+ type: "object",
193
+ properties: {
194
+ tabId: { type: "number", description: "Chrome tab ID to screenshot (optional)" },
195
+ prompt: { type: "string", description: "The approval question (e.g. 'Send this message to John?')" },
196
+ phone: { type: "string", description: "WhatsApp phone number to send the approval request to (E.164 format)" },
197
+ api_key: { type: "string", description: "Neuron bot API key with 'nrn_' prefix" },
198
+ context: { type: "string", description: "Additional context (e.g. the full message text, the form data)" },
199
+ timeout_seconds: { type: "number", description: "How long to wait for a response (default: 120)" },
200
+ },
201
+ required: ["prompt", "phone", "api_key"],
202
+ },
203
+ },
204
+ {
205
+ name: "neuron_extract_to_json",
206
+ description: "Extract structured data from a page and return it as clean JSON ready for piping to an API, " +
207
+ "spreadsheet, or file. Navigates to the URL, extracts data matching a schema you define, " +
208
+ "and returns normalized rows. Use for building data pipelines — scrape a page and push the " +
209
+ "data to a webhook, save as CSV, or append to a collection.",
210
+ inputSchema: {
211
+ type: "object",
212
+ properties: {
213
+ url: { type: "string", description: "Page URL to extract from" },
214
+ tabId: { type: "number", description: "Use existing tab (optional)" },
215
+ schema: {
216
+ type: "object",
217
+ description: "Expected output schema — keys are field names, values describe what to extract (e.g. {title: 'the post title', price: 'the price as a number', url: 'link to the item'})",
218
+ },
219
+ selector: { type: "string", description: "CSS selector for repeating items (optional — auto-detects)" },
220
+ pages: { type: "number", description: "Number of pages to paginate through (default: 1)" },
221
+ webhook_url: { type: "string", description: "POST extracted data to this URL as JSON (optional)" },
222
+ format: { type: "string", description: "Output format: 'json' (default), 'csv', 'yaml'" },
223
+ },
224
+ required: ["url"],
225
+ },
226
+ },
165
227
  {
166
228
  name: "neuron_grab_media",
167
229
  description: "Extract and download video/audio from any page. Navigates to the URL, plays the media to " +
@@ -216,6 +278,12 @@ export async function handleCompoundTool(name, args, ctx) {
216
278
  return auditPage(args, ctx);
217
279
  case "neuron_monitor_action":
218
280
  return monitorAction(args, ctx);
281
+ case "neuron_vision_act":
282
+ return visionAct(args, ctx);
283
+ case "neuron_approve_via_whatsapp":
284
+ return approveViaWhatsapp(args, ctx);
285
+ case "neuron_extract_to_json":
286
+ return extractToJson(args, ctx);
219
287
  case "neuron_grab_media":
220
288
  return grabMedia(args, ctx);
221
289
  case "neuron_grab_media_batch":
@@ -562,6 +630,245 @@ async function monitorAction(args, ctx) {
562
630
  errors,
563
631
  };
564
632
  }
633
+ // ── Vision-based action ─────────────────────────────────────
634
+ async function visionAct(args, ctx) {
635
+ const tabId = args.tabId;
636
+ const instruction = args.instruction;
637
+ const wantScreenshot = args.screenshot ?? true;
638
+ // Screenshot the page
639
+ let screenshot = null;
640
+ if (wantScreenshot) {
641
+ try {
642
+ screenshot = await call(ctx, "captureScreenshot", { tabId });
643
+ }
644
+ catch { /* non-fatal */ }
645
+ }
646
+ // Get page structure for element mapping
647
+ const elements = await call(ctx, "findElements", {
648
+ tabId,
649
+ selectors: [
650
+ "button", "a", "input", "textarea", "select",
651
+ "[role='button']", "[role='link']", "[role='textbox']",
652
+ "[contenteditable='true']", "[onclick]",
653
+ ],
654
+ limit: 50,
655
+ });
656
+ // Get visible text blocks for context
657
+ const pageData = await call(ctx, "extractData", { tabId });
658
+ return {
659
+ tabId,
660
+ instruction,
661
+ screenshot,
662
+ interactive_elements: elements,
663
+ page_content: pageData,
664
+ hint: "Analyze the screenshot and interactive_elements to find what matches the instruction. " +
665
+ "Use the element selectors or text from interactive_elements to call neuron_click or neuron_type. " +
666
+ "If no exact match, try neuron_find_elements with descriptive text from the instruction.",
667
+ };
668
+ }
669
+ // ── WhatsApp approval ───────────────────────────────────────
670
+ async function approveViaWhatsapp(args, ctx) {
671
+ const tabId = args.tabId;
672
+ const prompt = args.prompt;
673
+ const phone = args.phone;
674
+ const apiKey = args.api_key;
675
+ const context = args.context;
676
+ const timeoutSec = args.timeout_seconds ?? 120;
677
+ // Screenshot if tabId provided
678
+ let screenshotData = null;
679
+ if (tabId) {
680
+ try {
681
+ const ss = (await call(ctx, "captureScreenshot", { tabId }));
682
+ screenshotData = ss?.dataUrl ?? null;
683
+ }
684
+ catch { /* non-fatal */ }
685
+ }
686
+ // Build the approval message
687
+ const fullPrompt = context
688
+ ? `${prompt}\n\n---\nContext:\n${context}`
689
+ : prompt;
690
+ // Send approval request via Neuron's approval API (HTTP from the bridge process)
691
+ const approvalPayload = {
692
+ apiKey,
693
+ to: phone,
694
+ prompt: fullPrompt,
695
+ context: context || undefined,
696
+ expiresInSeconds: timeoutSec,
697
+ callback: {
698
+ response: { schemes: ["keyword"] },
699
+ },
700
+ };
701
+ // Use the extension to make the HTTP call (it has the network context)
702
+ // Alternatively, make a direct fetch from the bridge process
703
+ try {
704
+ const response = await fetch("https://api.neuron.ng/api/v1/approvals", {
705
+ method: "POST",
706
+ headers: {
707
+ "Content-Type": "application/json",
708
+ "Authorization": `Bearer ${apiKey}`,
709
+ },
710
+ body: JSON.stringify(approvalPayload),
711
+ });
712
+ if (!response.ok) {
713
+ const errBody = await response.text();
714
+ return {
715
+ status: "approval_send_failed",
716
+ error: `HTTP ${response.status}: ${errBody}`,
717
+ };
718
+ }
719
+ const result = await response.json();
720
+ const approvalId = result?.data?.id;
721
+ if (!approvalId) {
722
+ return { status: "approval_send_failed", error: "No approval ID returned" };
723
+ }
724
+ // Poll for decision
725
+ const startTime = Date.now();
726
+ const pollInterval = 3000;
727
+ while (Date.now() - startTime < timeoutSec * 1000) {
728
+ await sleep(pollInterval);
729
+ try {
730
+ const pollResponse = await fetch(`https://api.neuron.ng/api/v1/approvals/${approvalId}`, {
731
+ headers: { "Authorization": `Bearer ${apiKey}` },
732
+ });
733
+ if (pollResponse.ok) {
734
+ const pollResult = await pollResponse.json();
735
+ const status = pollResult?.data?.status;
736
+ if (status === "approved" || status === "rejected") {
737
+ return {
738
+ status: status,
739
+ approval_id: approvalId,
740
+ decision: pollResult?.data?.decision,
741
+ reason: pollResult?.data?.reason,
742
+ };
743
+ }
744
+ if (status === "expired" || status === "cancelled") {
745
+ return { status: status, approval_id: approvalId };
746
+ }
747
+ }
748
+ }
749
+ catch {
750
+ // Poll failure — retry
751
+ }
752
+ }
753
+ return {
754
+ status: "timeout",
755
+ approval_id: approvalId,
756
+ message: `No response within ${timeoutSec} seconds`,
757
+ };
758
+ }
759
+ catch (err) {
760
+ return {
761
+ status: "error",
762
+ error: err.message,
763
+ };
764
+ }
765
+ }
766
+ // ── Data pipeline extraction ────────────────────────────────
767
+ async function extractToJson(args, ctx) {
768
+ const url = args.url;
769
+ const schema = args.schema;
770
+ const extractSel = args.selector;
771
+ const maxPages = args.pages ?? 1;
772
+ const webhookUrl = args.webhook_url;
773
+ const format = args.format ?? "json";
774
+ // Navigate and extract using search_and_collect for multi-page
775
+ let tabId = args.tabId;
776
+ if (!tabId) {
777
+ const tab = (await call(ctx, "openTab", { url }));
778
+ tabId = tab?.tabId;
779
+ await sleep(2500);
780
+ }
781
+ else {
782
+ await call(ctx, "navigateTo", { tabId, url });
783
+ await sleep(2500);
784
+ }
785
+ if (!tabId)
786
+ throw new Error("Failed to open tab");
787
+ // Collect data across pages
788
+ const allItems = [];
789
+ for (let page = 0; page < maxPages; page++) {
790
+ // Scroll to load lazy content
791
+ for (let i = 0; i < 3; i++) {
792
+ await call(ctx, "scrollPage", { tabId, deltaY: 600, smooth: true });
793
+ await sleep(400);
794
+ }
795
+ const extractArgs = { tabId };
796
+ if (extractSel)
797
+ extractArgs.selector = extractSel;
798
+ const pageData = await call(ctx, "extractData", extractArgs);
799
+ const items = Array.isArray(pageData)
800
+ ? pageData
801
+ : pageData?.items ?? [pageData];
802
+ allItems.push(...items);
803
+ // Paginate if needed
804
+ if (page < maxPages - 1) {
805
+ try {
806
+ await call(ctx, "clickElement", {
807
+ tabId,
808
+ selectors: [
809
+ "button[aria-label='Next']", "a[aria-label='Next']",
810
+ ".pagination-next", "[data-test='pagination-next']",
811
+ "a:has-text('Next')", "button:has-text('Next')",
812
+ ],
813
+ });
814
+ await sleep(2000);
815
+ }
816
+ catch {
817
+ break;
818
+ }
819
+ }
820
+ }
821
+ // Format output
822
+ let output;
823
+ if (format === "csv" && allItems.length > 0) {
824
+ const firstItem = allItems[0];
825
+ const headers = Object.keys(firstItem);
826
+ const csvRows = [headers.join(",")];
827
+ for (const item of allItems) {
828
+ const row = headers.map((h) => {
829
+ const val = String(item[h] ?? "");
830
+ return val.includes(",") || val.includes('"') ? `"${val.replace(/"/g, '""')}"` : val;
831
+ });
832
+ csvRows.push(row.join(","));
833
+ }
834
+ output = csvRows.join("\n");
835
+ }
836
+ else if (format === "yaml") {
837
+ // Simple YAML-ish output
838
+ output = allItems.map((item, i) => {
839
+ const entries = Object.entries(item);
840
+ return `- # item ${i + 1}\n` + entries.map(([k, v]) => ` ${k}: ${JSON.stringify(v)}`).join("\n");
841
+ }).join("\n");
842
+ }
843
+ else {
844
+ output = allItems;
845
+ }
846
+ // Send to webhook if specified
847
+ let webhookResult = null;
848
+ if (webhookUrl) {
849
+ try {
850
+ const res = await fetch(webhookUrl, {
851
+ method: "POST",
852
+ headers: { "Content-Type": "application/json" },
853
+ body: JSON.stringify({ source: url, extracted_at: new Date().toISOString(), items: allItems }),
854
+ });
855
+ webhookResult = { status: res.status, ok: res.ok };
856
+ }
857
+ catch (err) {
858
+ webhookResult = { error: err.message };
859
+ }
860
+ }
861
+ return {
862
+ url,
863
+ tabId,
864
+ format,
865
+ total_items: allItems.length,
866
+ pages_collected: Math.min(maxPages, 1),
867
+ data: output,
868
+ schema_hint: schema ?? null,
869
+ webhook: webhookResult,
870
+ };
871
+ }
565
872
  // ── Media patterns ──────────────────────────────────────────
566
873
  const VIDEO_PATTERNS = [
567
874
  ".mp4", ".m3u8", ".webm", ".m4v", ".mov",
@@ -1 +1 @@
1
- {"version":3,"file":"compound-tools.js","sourceRoot":"","sources":["../src/compound-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compound-tools.js","sourceRoot":"","sources":["../src/compound-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ToolDef } from "./tools.js";
2
+ type CheckFn = (url: string, selector?: string) => Promise<{
3
+ text: string;
4
+ items?: unknown[];
5
+ }>;
6
+ export declare function startMonitor(checkFn: CheckFn): void;
7
+ export declare function handleMonitorTool(name: string, args: Record<string, unknown>, checkFn?: CheckFn): Promise<unknown>;
8
+ export declare const MONITOR_TOOLS: ToolDef[];
9
+ export {};