@superagnt/seo-data 2.0.3 → 2.0.5
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/index.js +34 -33
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -7,7 +7,8 @@ import { homedir as _homedir } from 'node:os'
|
|
|
7
7
|
import { join as _join } from 'node:path'
|
|
8
8
|
import { existsSync as _existsSync, readFileSync as _readFileSync } from 'node:fs'
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// SUPERAGNT_API_URL overrides the API origin (QA/staging); customers never set it.
|
|
11
|
+
const BASE_URL = (process.env.SUPERAGNT_API_URL || 'https://api.superagnt.com') + '/v1/data/seo'
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
// ── Auth Module (inlined) ────────────────────────────────────────────────────
|
|
@@ -95,7 +96,7 @@ export default function register(api) {
|
|
|
95
96
|
api.registerTool({
|
|
96
97
|
name: 'superagnt_seo_google_search',
|
|
97
98
|
description: "Live Google search results",
|
|
98
|
-
|
|
99
|
+
parameters: {
|
|
99
100
|
"type": "object",
|
|
100
101
|
"properties": {
|
|
101
102
|
"keyword": {
|
|
@@ -123,7 +124,7 @@ export default function register(api) {
|
|
|
123
124
|
"keyword"
|
|
124
125
|
]
|
|
125
126
|
},
|
|
126
|
-
execute: async (input) => {
|
|
127
|
+
execute: async (_toolCallId, input) => {
|
|
127
128
|
const key = ensureApiKey()
|
|
128
129
|
const params = parseToolInput(input)
|
|
129
130
|
return callSuperagnt(key, 'POST', '/serp', undefined, params)
|
|
@@ -133,7 +134,7 @@ export default function register(api) {
|
|
|
133
134
|
api.registerTool({
|
|
134
135
|
name: 'superagnt_seo_google_ai_mode_search',
|
|
135
136
|
description: "Google AI Mode results",
|
|
136
|
-
|
|
137
|
+
parameters: {
|
|
137
138
|
"type": "object",
|
|
138
139
|
"properties": {
|
|
139
140
|
"keyword": {
|
|
@@ -153,7 +154,7 @@ export default function register(api) {
|
|
|
153
154
|
"keyword"
|
|
154
155
|
]
|
|
155
156
|
},
|
|
156
|
-
execute: async (input) => {
|
|
157
|
+
execute: async (_toolCallId, input) => {
|
|
157
158
|
const key = ensureApiKey()
|
|
158
159
|
const params = parseToolInput(input)
|
|
159
160
|
return callSuperagnt(key, 'POST', '/serp-ai-mode', undefined, params)
|
|
@@ -163,7 +164,7 @@ export default function register(api) {
|
|
|
163
164
|
api.registerTool({
|
|
164
165
|
name: 'superagnt_seo_keyword_ideas',
|
|
165
166
|
description: "Keyword ideas from seed keywords",
|
|
166
|
-
|
|
167
|
+
parameters: {
|
|
167
168
|
"type": "object",
|
|
168
169
|
"properties": {
|
|
169
170
|
"keywords": {
|
|
@@ -199,7 +200,7 @@ export default function register(api) {
|
|
|
199
200
|
"keywords"
|
|
200
201
|
]
|
|
201
202
|
},
|
|
202
|
-
execute: async (input) => {
|
|
203
|
+
execute: async (_toolCallId, input) => {
|
|
203
204
|
const key = ensureApiKey()
|
|
204
205
|
const params = parseToolInput(input)
|
|
205
206
|
return callSuperagnt(key, 'POST', '/keyword-ideas', undefined, params)
|
|
@@ -209,7 +210,7 @@ export default function register(api) {
|
|
|
209
210
|
api.registerTool({
|
|
210
211
|
name: 'superagnt_seo_keyword_overview',
|
|
211
212
|
description: "Metrics for specific keywords",
|
|
212
|
-
|
|
213
|
+
parameters: {
|
|
213
214
|
"type": "object",
|
|
214
215
|
"properties": {
|
|
215
216
|
"keywords": {
|
|
@@ -229,7 +230,7 @@ export default function register(api) {
|
|
|
229
230
|
"keywords"
|
|
230
231
|
]
|
|
231
232
|
},
|
|
232
|
-
execute: async (input) => {
|
|
233
|
+
execute: async (_toolCallId, input) => {
|
|
233
234
|
const key = ensureApiKey()
|
|
234
235
|
const params = parseToolInput(input)
|
|
235
236
|
return callSuperagnt(key, 'POST', '/keyword-overview', undefined, params)
|
|
@@ -239,7 +240,7 @@ export default function register(api) {
|
|
|
239
240
|
api.registerTool({
|
|
240
241
|
name: 'superagnt_seo_search_intent',
|
|
241
242
|
description: "Classify keyword search intent",
|
|
242
|
-
|
|
243
|
+
parameters: {
|
|
243
244
|
"type": "object",
|
|
244
245
|
"properties": {
|
|
245
246
|
"keywords": {
|
|
@@ -255,7 +256,7 @@ export default function register(api) {
|
|
|
255
256
|
"keywords"
|
|
256
257
|
]
|
|
257
258
|
},
|
|
258
|
-
execute: async (input) => {
|
|
259
|
+
execute: async (_toolCallId, input) => {
|
|
259
260
|
const key = ensureApiKey()
|
|
260
261
|
const params = parseToolInput(input)
|
|
261
262
|
return callSuperagnt(key, 'POST', '/search-intent', undefined, params)
|
|
@@ -265,7 +266,7 @@ export default function register(api) {
|
|
|
265
266
|
api.registerTool({
|
|
266
267
|
name: 'superagnt_seo_ranked_keywords',
|
|
267
268
|
description: "Keywords a domain ranks for",
|
|
268
|
-
|
|
269
|
+
parameters: {
|
|
269
270
|
"type": "object",
|
|
270
271
|
"properties": {
|
|
271
272
|
"target": {
|
|
@@ -301,7 +302,7 @@ export default function register(api) {
|
|
|
301
302
|
"target"
|
|
302
303
|
]
|
|
303
304
|
},
|
|
304
|
-
execute: async (input) => {
|
|
305
|
+
execute: async (_toolCallId, input) => {
|
|
305
306
|
const key = ensureApiKey()
|
|
306
307
|
const params = parseToolInput(input)
|
|
307
308
|
return callSuperagnt(key, 'POST', '/ranked-keywords', undefined, params)
|
|
@@ -311,7 +312,7 @@ export default function register(api) {
|
|
|
311
312
|
api.registerTool({
|
|
312
313
|
name: 'superagnt_seo_keyword_gap',
|
|
313
314
|
description: "Keyword gap between two domains",
|
|
314
|
-
|
|
315
|
+
parameters: {
|
|
315
316
|
"type": "object",
|
|
316
317
|
"properties": {
|
|
317
318
|
"target1": {
|
|
@@ -352,7 +353,7 @@ export default function register(api) {
|
|
|
352
353
|
"target2"
|
|
353
354
|
]
|
|
354
355
|
},
|
|
355
|
-
execute: async (input) => {
|
|
356
|
+
execute: async (_toolCallId, input) => {
|
|
356
357
|
const key = ensureApiKey()
|
|
357
358
|
const params = parseToolInput(input)
|
|
358
359
|
return callSuperagnt(key, 'POST', '/keyword-gap', undefined, params)
|
|
@@ -362,7 +363,7 @@ export default function register(api) {
|
|
|
362
363
|
api.registerTool({
|
|
363
364
|
name: 'superagnt_seo_competitors',
|
|
364
365
|
description: "Find a domain's organic competitors",
|
|
365
|
-
|
|
366
|
+
parameters: {
|
|
366
367
|
"type": "object",
|
|
367
368
|
"properties": {
|
|
368
369
|
"target": {
|
|
@@ -394,7 +395,7 @@ export default function register(api) {
|
|
|
394
395
|
"target"
|
|
395
396
|
]
|
|
396
397
|
},
|
|
397
|
-
execute: async (input) => {
|
|
398
|
+
execute: async (_toolCallId, input) => {
|
|
398
399
|
const key = ensureApiKey()
|
|
399
400
|
const params = parseToolInput(input)
|
|
400
401
|
return callSuperagnt(key, 'POST', '/competitors', undefined, params)
|
|
@@ -404,7 +405,7 @@ export default function register(api) {
|
|
|
404
405
|
api.registerTool({
|
|
405
406
|
name: 'superagnt_seo_domain_overview',
|
|
406
407
|
description: "Domain rank and traffic overview",
|
|
407
|
-
|
|
408
|
+
parameters: {
|
|
408
409
|
"type": "object",
|
|
409
410
|
"properties": {
|
|
410
411
|
"target": {
|
|
@@ -424,7 +425,7 @@ export default function register(api) {
|
|
|
424
425
|
"target"
|
|
425
426
|
]
|
|
426
427
|
},
|
|
427
|
-
execute: async (input) => {
|
|
428
|
+
execute: async (_toolCallId, input) => {
|
|
428
429
|
const key = ensureApiKey()
|
|
429
430
|
const params = parseToolInput(input)
|
|
430
431
|
return callSuperagnt(key, 'POST', '/domain-overview', undefined, params)
|
|
@@ -434,7 +435,7 @@ export default function register(api) {
|
|
|
434
435
|
api.registerTool({
|
|
435
436
|
name: 'superagnt_seo_backlinks_summary',
|
|
436
437
|
description: "Backlink profile summary",
|
|
437
|
-
|
|
438
|
+
parameters: {
|
|
438
439
|
"type": "object",
|
|
439
440
|
"properties": {
|
|
440
441
|
"target": {
|
|
@@ -454,7 +455,7 @@ export default function register(api) {
|
|
|
454
455
|
"target"
|
|
455
456
|
]
|
|
456
457
|
},
|
|
457
|
-
execute: async (input) => {
|
|
458
|
+
execute: async (_toolCallId, input) => {
|
|
458
459
|
const key = ensureApiKey()
|
|
459
460
|
const params = parseToolInput(input)
|
|
460
461
|
return callSuperagnt(key, 'POST', '/backlinks-summary', undefined, params)
|
|
@@ -464,7 +465,7 @@ export default function register(api) {
|
|
|
464
465
|
api.registerTool({
|
|
465
466
|
name: 'superagnt_seo_referring_domains',
|
|
466
467
|
description: "Referring domains for a target",
|
|
467
|
-
|
|
468
|
+
parameters: {
|
|
468
469
|
"type": "object",
|
|
469
470
|
"properties": {
|
|
470
471
|
"target": {
|
|
@@ -496,7 +497,7 @@ export default function register(api) {
|
|
|
496
497
|
"target"
|
|
497
498
|
]
|
|
498
499
|
},
|
|
499
|
-
execute: async (input) => {
|
|
500
|
+
execute: async (_toolCallId, input) => {
|
|
500
501
|
const key = ensureApiKey()
|
|
501
502
|
const params = parseToolInput(input)
|
|
502
503
|
return callSuperagnt(key, 'POST', '/referring-domains', undefined, params)
|
|
@@ -506,7 +507,7 @@ export default function register(api) {
|
|
|
506
507
|
api.registerTool({
|
|
507
508
|
name: 'superagnt_seo_backlink_gap',
|
|
508
509
|
description: "Domains linking to competitors but not you",
|
|
509
|
-
|
|
510
|
+
parameters: {
|
|
510
511
|
"type": "object",
|
|
511
512
|
"properties": {
|
|
512
513
|
"targets": {
|
|
@@ -538,7 +539,7 @@ export default function register(api) {
|
|
|
538
539
|
"targets"
|
|
539
540
|
]
|
|
540
541
|
},
|
|
541
|
-
execute: async (input) => {
|
|
542
|
+
execute: async (_toolCallId, input) => {
|
|
542
543
|
const key = ensureApiKey()
|
|
543
544
|
const params = parseToolInput(input)
|
|
544
545
|
return callSuperagnt(key, 'POST', '/backlink-gap', undefined, params)
|
|
@@ -548,7 +549,7 @@ export default function register(api) {
|
|
|
548
549
|
api.registerTool({
|
|
549
550
|
name: 'superagnt_seo_page_audit',
|
|
550
551
|
description: "Instant on-page audit of a URL",
|
|
551
|
-
|
|
552
|
+
parameters: {
|
|
552
553
|
"type": "object",
|
|
553
554
|
"properties": {
|
|
554
555
|
"url": {
|
|
@@ -564,7 +565,7 @@ export default function register(api) {
|
|
|
564
565
|
"url"
|
|
565
566
|
]
|
|
566
567
|
},
|
|
567
|
-
execute: async (input) => {
|
|
568
|
+
execute: async (_toolCallId, input) => {
|
|
568
569
|
const key = ensureApiKey()
|
|
569
570
|
const params = parseToolInput(input)
|
|
570
571
|
return callSuperagnt(key, 'POST', '/page-audit', undefined, params)
|
|
@@ -574,7 +575,7 @@ export default function register(api) {
|
|
|
574
575
|
api.registerTool({
|
|
575
576
|
name: 'superagnt_seo_ai_visibility',
|
|
576
577
|
description: "How often LLMs mention a domain",
|
|
577
|
-
|
|
578
|
+
parameters: {
|
|
578
579
|
"type": "object",
|
|
579
580
|
"properties": {
|
|
580
581
|
"targets": {
|
|
@@ -591,7 +592,7 @@ export default function register(api) {
|
|
|
591
592
|
}
|
|
592
593
|
}
|
|
593
594
|
},
|
|
594
|
-
execute: async (input) => {
|
|
595
|
+
execute: async (_toolCallId, input) => {
|
|
595
596
|
const key = ensureApiKey()
|
|
596
597
|
const params = parseToolInput(input)
|
|
597
598
|
return callSuperagnt(key, 'POST', '/ai-visibility', undefined, params)
|
|
@@ -601,7 +602,7 @@ export default function register(api) {
|
|
|
601
602
|
api.registerTool({
|
|
602
603
|
name: 'superagnt_seo_tech_stack',
|
|
603
604
|
description: "Technologies a website runs",
|
|
604
|
-
|
|
605
|
+
parameters: {
|
|
605
606
|
"type": "object",
|
|
606
607
|
"properties": {
|
|
607
608
|
"target": {
|
|
@@ -613,7 +614,7 @@ export default function register(api) {
|
|
|
613
614
|
"target"
|
|
614
615
|
]
|
|
615
616
|
},
|
|
616
|
-
execute: async (input) => {
|
|
617
|
+
execute: async (_toolCallId, input) => {
|
|
617
618
|
const key = ensureApiKey()
|
|
618
619
|
const params = parseToolInput(input)
|
|
619
620
|
return callSuperagnt(key, 'POST', '/tech-stack', undefined, params)
|
|
@@ -623,7 +624,7 @@ export default function register(api) {
|
|
|
623
624
|
api.registerTool({
|
|
624
625
|
name: 'superagnt_seo_tech_search',
|
|
625
626
|
description: "Find websites by technology",
|
|
626
|
-
|
|
627
|
+
parameters: {
|
|
627
628
|
"type": "object",
|
|
628
629
|
"properties": {
|
|
629
630
|
"technologies": {
|
|
@@ -651,7 +652,7 @@ export default function register(api) {
|
|
|
651
652
|
"technologies"
|
|
652
653
|
]
|
|
653
654
|
},
|
|
654
|
-
execute: async (input) => {
|
|
655
|
+
execute: async (_toolCallId, input) => {
|
|
655
656
|
const key = ensureApiKey()
|
|
656
657
|
const params = parseToolInput(input)
|
|
657
658
|
return callSuperagnt(key, 'POST', '/tech-search', undefined, params)
|
package/openclaw.plugin.json
CHANGED