@usenaive-sdk/cli 0.15.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 (278) hide show
  1. package/README.md +43 -354
  2. package/dist/index.js +51775 -502
  3. package/package.json +22 -18
  4. package/dist/client.d.ts +0 -108
  5. package/dist/client.js +0 -458
  6. package/dist/client.js.map +0 -1
  7. package/dist/commands/account-kits.d.ts +0 -2
  8. package/dist/commands/account-kits.js +0 -71
  9. package/dist/commands/account-kits.js.map +0 -1
  10. package/dist/commands/aeo.d.ts +0 -2
  11. package/dist/commands/aeo.js +0 -451
  12. package/dist/commands/aeo.js.map +0 -1
  13. package/dist/commands/agent-profiles.d.ts +0 -11
  14. package/dist/commands/agent-profiles.js +0 -120
  15. package/dist/commands/agent-profiles.js.map +0 -1
  16. package/dist/commands/agents.d.ts +0 -2
  17. package/dist/commands/agents.js +0 -916
  18. package/dist/commands/agents.js.map +0 -1
  19. package/dist/commands/app-data.d.ts +0 -2
  20. package/dist/commands/app-data.js +0 -445
  21. package/dist/commands/app-data.js.map +0 -1
  22. package/dist/commands/approvals.d.ts +0 -2
  23. package/dist/commands/approvals.js +0 -242
  24. package/dist/commands/approvals.js.map +0 -1
  25. package/dist/commands/apps.d.ts +0 -9
  26. package/dist/commands/apps.js +0 -844
  27. package/dist/commands/apps.js.map +0 -1
  28. package/dist/commands/audio.d.ts +0 -9
  29. package/dist/commands/audio.js +0 -391
  30. package/dist/commands/audio.js.map +0 -1
  31. package/dist/commands/auth.d.ts +0 -31
  32. package/dist/commands/auth.js +0 -428
  33. package/dist/commands/auth.js.map +0 -1
  34. package/dist/commands/billing.d.ts +0 -2
  35. package/dist/commands/billing.js +0 -245
  36. package/dist/commands/billing.js.map +0 -1
  37. package/dist/commands/brain.d.ts +0 -2
  38. package/dist/commands/brain.js +0 -1300
  39. package/dist/commands/brain.js.map +0 -1
  40. package/dist/commands/browser.d.ts +0 -2
  41. package/dist/commands/browser.js +0 -378
  42. package/dist/commands/browser.js.map +0 -1
  43. package/dist/commands/business.d.ts +0 -2
  44. package/dist/commands/business.js +0 -566
  45. package/dist/commands/business.js.map +0 -1
  46. package/dist/commands/cards.d.ts +0 -2
  47. package/dist/commands/cards.js +0 -419
  48. package/dist/commands/cards.js.map +0 -1
  49. package/dist/commands/ceo.d.ts +0 -2
  50. package/dist/commands/ceo.js +0 -369
  51. package/dist/commands/ceo.js.map +0 -1
  52. package/dist/commands/clone.d.ts +0 -2
  53. package/dist/commands/clone.js +0 -203
  54. package/dist/commands/clone.js.map +0 -1
  55. package/dist/commands/companies.d.ts +0 -10
  56. package/dist/commands/companies.js +0 -283
  57. package/dist/commands/companies.js.map +0 -1
  58. package/dist/commands/company-data.d.ts +0 -2
  59. package/dist/commands/company-data.js +0 -168
  60. package/dist/commands/company-data.js.map +0 -1
  61. package/dist/commands/compute.d.ts +0 -2
  62. package/dist/commands/compute.js +0 -498
  63. package/dist/commands/compute.js.map +0 -1
  64. package/dist/commands/config.d.ts +0 -2
  65. package/dist/commands/config.js +0 -36
  66. package/dist/commands/config.js.map +0 -1
  67. package/dist/commands/connections.d.ts +0 -8
  68. package/dist/commands/connections.js +0 -137
  69. package/dist/commands/connections.js.map +0 -1
  70. package/dist/commands/cron-jobs.d.ts +0 -2
  71. package/dist/commands/cron-jobs.js +0 -245
  72. package/dist/commands/cron-jobs.js.map +0 -1
  73. package/dist/commands/domains.d.ts +0 -2
  74. package/dist/commands/domains.js +0 -474
  75. package/dist/commands/domains.js.map +0 -1
  76. package/dist/commands/ecommerce.d.ts +0 -2
  77. package/dist/commands/ecommerce.js +0 -277
  78. package/dist/commands/ecommerce.js.map +0 -1
  79. package/dist/commands/email.d.ts +0 -2
  80. package/dist/commands/email.js +0 -336
  81. package/dist/commands/email.js.map +0 -1
  82. package/dist/commands/employees.d.ts +0 -2
  83. package/dist/commands/employees.js +0 -190
  84. package/dist/commands/employees.js.map +0 -1
  85. package/dist/commands/env.d.ts +0 -7
  86. package/dist/commands/env.js +0 -112
  87. package/dist/commands/env.js.map +0 -1
  88. package/dist/commands/formation.d.ts +0 -2
  89. package/dist/commands/formation.js +0 -273
  90. package/dist/commands/formation.js.map +0 -1
  91. package/dist/commands/identity.d.ts +0 -2
  92. package/dist/commands/identity.js +0 -110
  93. package/dist/commands/identity.js.map +0 -1
  94. package/dist/commands/images.d.ts +0 -2
  95. package/dist/commands/images.js +0 -371
  96. package/dist/commands/images.js.map +0 -1
  97. package/dist/commands/init.d.ts +0 -5
  98. package/dist/commands/init.js +0 -43
  99. package/dist/commands/init.js.map +0 -1
  100. package/dist/commands/jobs.d.ts +0 -2
  101. package/dist/commands/jobs.js +0 -144
  102. package/dist/commands/jobs.js.map +0 -1
  103. package/dist/commands/keys.d.ts +0 -2
  104. package/dist/commands/keys.js +0 -156
  105. package/dist/commands/keys.js.map +0 -1
  106. package/dist/commands/legacy-auth.d.ts +0 -27
  107. package/dist/commands/legacy-auth.js +0 -64
  108. package/dist/commands/legacy-auth.js.map +0 -1
  109. package/dist/commands/llm.d.ts +0 -2
  110. package/dist/commands/llm.js +0 -106
  111. package/dist/commands/llm.js.map +0 -1
  112. package/dist/commands/login.d.ts +0 -2
  113. package/dist/commands/login.js +0 -65
  114. package/dist/commands/login.js.map +0 -1
  115. package/dist/commands/logout.d.ts +0 -7
  116. package/dist/commands/logout.js +0 -55
  117. package/dist/commands/logout.js.map +0 -1
  118. package/dist/commands/logs.d.ts +0 -2
  119. package/dist/commands/logs.js +0 -42
  120. package/dist/commands/logs.js.map +0 -1
  121. package/dist/commands/loops.d.ts +0 -2
  122. package/dist/commands/loops.js +0 -260
  123. package/dist/commands/loops.js.map +0 -1
  124. package/dist/commands/media.d.ts +0 -2
  125. package/dist/commands/media.js +0 -183
  126. package/dist/commands/media.js.map +0 -1
  127. package/dist/commands/memory.d.ts +0 -2
  128. package/dist/commands/memory.js +0 -151
  129. package/dist/commands/memory.js.map +0 -1
  130. package/dist/commands/mobile.d.ts +0 -4
  131. package/dist/commands/mobile.js +0 -382
  132. package/dist/commands/mobile.js.map +0 -1
  133. package/dist/commands/module.d.ts +0 -8
  134. package/dist/commands/module.js +0 -48
  135. package/dist/commands/module.js.map +0 -1
  136. package/dist/commands/objectives.d.ts +0 -2
  137. package/dist/commands/objectives.js +0 -243
  138. package/dist/commands/objectives.js.map +0 -1
  139. package/dist/commands/payments.d.ts +0 -2
  140. package/dist/commands/payments.js +0 -131
  141. package/dist/commands/payments.js.map +0 -1
  142. package/dist/commands/people.d.ts +0 -2
  143. package/dist/commands/people.js +0 -197
  144. package/dist/commands/people.js.map +0 -1
  145. package/dist/commands/phone.d.ts +0 -2
  146. package/dist/commands/phone.js +0 -289
  147. package/dist/commands/phone.js.map +0 -1
  148. package/dist/commands/projects.d.ts +0 -13
  149. package/dist/commands/projects.js +0 -220
  150. package/dist/commands/projects.js.map +0 -1
  151. package/dist/commands/queue.d.ts +0 -2
  152. package/dist/commands/queue.js +0 -121
  153. package/dist/commands/queue.js.map +0 -1
  154. package/dist/commands/register.d.ts +0 -2
  155. package/dist/commands/register.js +0 -80
  156. package/dist/commands/register.js.map +0 -1
  157. package/dist/commands/report.d.ts +0 -17
  158. package/dist/commands/report.js +0 -109
  159. package/dist/commands/report.js.map +0 -1
  160. package/dist/commands/sandbox.d.ts +0 -2
  161. package/dist/commands/sandbox.js +0 -558
  162. package/dist/commands/sandbox.js.map +0 -1
  163. package/dist/commands/search.d.ts +0 -2
  164. package/dist/commands/search.js +0 -223
  165. package/dist/commands/search.js.map +0 -1
  166. package/dist/commands/seo.d.ts +0 -2
  167. package/dist/commands/seo.js +0 -528
  168. package/dist/commands/seo.js.map +0 -1
  169. package/dist/commands/sessions.d.ts +0 -6
  170. package/dist/commands/sessions.js +0 -109
  171. package/dist/commands/sessions.js.map +0 -1
  172. package/dist/commands/social-data.d.ts +0 -2
  173. package/dist/commands/social-data.js +0 -245
  174. package/dist/commands/social-data.js.map +0 -1
  175. package/dist/commands/social.d.ts +0 -2
  176. package/dist/commands/social.js +0 -407
  177. package/dist/commands/social.js.map +0 -1
  178. package/dist/commands/status.d.ts +0 -2
  179. package/dist/commands/status.js +0 -73
  180. package/dist/commands/status.js.map +0 -1
  181. package/dist/commands/support.d.ts +0 -2
  182. package/dist/commands/support.js +0 -134
  183. package/dist/commands/support.js.map +0 -1
  184. package/dist/commands/tasks.d.ts +0 -2
  185. package/dist/commands/tasks.js +0 -409
  186. package/dist/commands/tasks.js.map +0 -1
  187. package/dist/commands/teams.d.ts +0 -69
  188. package/dist/commands/teams.js +0 -503
  189. package/dist/commands/teams.js.map +0 -1
  190. package/dist/commands/trading.d.ts +0 -2
  191. package/dist/commands/trading.js +0 -333
  192. package/dist/commands/trading.js.map +0 -1
  193. package/dist/commands/up.d.ts +0 -551
  194. package/dist/commands/up.js +0 -1149
  195. package/dist/commands/up.js.map +0 -1
  196. package/dist/commands/usage.d.ts +0 -2
  197. package/dist/commands/usage.js +0 -73
  198. package/dist/commands/usage.js.map +0 -1
  199. package/dist/commands/use.d.ts +0 -12
  200. package/dist/commands/use.js +0 -96
  201. package/dist/commands/use.js.map +0 -1
  202. package/dist/commands/users.d.ts +0 -10
  203. package/dist/commands/users.js +0 -82
  204. package/dist/commands/users.js.map +0 -1
  205. package/dist/commands/vault.d.ts +0 -2
  206. package/dist/commands/vault.js +0 -101
  207. package/dist/commands/vault.js.map +0 -1
  208. package/dist/commands/verification.d.ts +0 -2
  209. package/dist/commands/verification.js +0 -152
  210. package/dist/commands/verification.js.map +0 -1
  211. package/dist/commands/verify-email.d.ts +0 -19
  212. package/dist/commands/verify-email.js +0 -112
  213. package/dist/commands/verify-email.js.map +0 -1
  214. package/dist/commands/video.d.ts +0 -2
  215. package/dist/commands/video.js +0 -417
  216. package/dist/commands/video.js.map +0 -1
  217. package/dist/commands/voice.d.ts +0 -2
  218. package/dist/commands/voice.js +0 -516
  219. package/dist/commands/voice.js.map +0 -1
  220. package/dist/commands/wallet.d.ts +0 -2
  221. package/dist/commands/wallet.js +0 -244
  222. package/dist/commands/wallet.js.map +0 -1
  223. package/dist/commands/webhooks.d.ts +0 -13
  224. package/dist/commands/webhooks.js +0 -119
  225. package/dist/commands/webhooks.js.map +0 -1
  226. package/dist/commands/whoami.d.ts +0 -2
  227. package/dist/commands/whoami.js +0 -53
  228. package/dist/commands/whoami.js.map +0 -1
  229. package/dist/config.d.ts +0 -42
  230. package/dist/config.js +0 -83
  231. package/dist/config.js.map +0 -1
  232. package/dist/index.d.ts +0 -3
  233. package/dist/index.js.map +0 -1
  234. package/dist/lib/brain-select.d.ts +0 -193
  235. package/dist/lib/brain-select.js +0 -403
  236. package/dist/lib/brain-select.js.map +0 -1
  237. package/dist/lib/cli-validation.d.ts +0 -12
  238. package/dist/lib/cli-validation.js +0 -46
  239. package/dist/lib/cli-validation.js.map +0 -1
  240. package/dist/lib/config-errors.d.ts +0 -4
  241. package/dist/lib/config-errors.js +0 -13
  242. package/dist/lib/config-errors.js.map +0 -1
  243. package/dist/lib/deprecation.d.ts +0 -158
  244. package/dist/lib/deprecation.js +0 -140
  245. package/dist/lib/deprecation.js.map +0 -1
  246. package/dist/lib/duration.d.ts +0 -8
  247. package/dist/lib/duration.js +0 -11
  248. package/dist/lib/duration.js.map +0 -1
  249. package/dist/lib/http-response.d.ts +0 -11
  250. package/dist/lib/http-response.js +0 -96
  251. package/dist/lib/http-response.js.map +0 -1
  252. package/dist/lib/pricing.d.ts +0 -132
  253. package/dist/lib/pricing.js +0 -148
  254. package/dist/lib/pricing.js.map +0 -1
  255. package/dist/lib/starter-config.d.ts +0 -13
  256. package/dist/lib/starter-config.js +0 -71
  257. package/dist/lib/starter-config.js.map +0 -1
  258. package/dist/lib/stream-frames.d.ts +0 -114
  259. package/dist/lib/stream-frames.js +0 -169
  260. package/dist/lib/stream-frames.js.map +0 -1
  261. package/dist/lib/teams-catalog.d.ts +0 -141
  262. package/dist/lib/teams-catalog.js +0 -841
  263. package/dist/lib/teams-catalog.js.map +0 -1
  264. package/dist/lib/unknown-command.d.ts +0 -71
  265. package/dist/lib/unknown-command.js +0 -132
  266. package/dist/lib/unknown-command.js.map +0 -1
  267. package/dist/lib/version-check.d.ts +0 -26
  268. package/dist/lib/version-check.js +0 -21
  269. package/dist/lib/version-check.js.map +0 -1
  270. package/dist/output.d.ts +0 -174
  271. package/dist/output.js +0 -435
  272. package/dist/output.js.map +0 -1
  273. package/dist/prompt.d.ts +0 -17
  274. package/dist/prompt.js +0 -70
  275. package/dist/prompt.js.map +0 -1
  276. package/dist/version.d.ts +0 -2
  277. package/dist/version.js +0 -14
  278. package/dist/version.js.map +0 -1
@@ -1,528 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, handleApiError } from "../client.js";
3
- import { agentOutput, creditCostHint } from "../output.js";
4
- import { DATA_API_CREDIT_COSTS as P } from "../lib/pricing.js";
5
- export const seoCmd = new Command("seo")
6
- .description("SEO tools — keyword research, backlink analysis, and competitive intelligence")
7
- .addHelpText("after", `
8
- Subcommands:
9
- naive seo keywords Keyword research (Google, Bing, Google Trends)
10
- naive seo backlinks Backlink analysis and domain metrics
11
- naive seo labs Competitive intelligence and SERP analysis
12
-
13
- Examples:
14
- $ naive seo keywords google search-volume --keywords "seo tools,keyword research"
15
- $ naive seo backlinks summary --target "example.com"
16
- $ naive seo labs google keyword-overview --keywords "seo tools"
17
-
18
- Credits:
19
- Keywords (Google/Bing Ads): ${P.seoKeywordsAdsLive} live, ${P.seoKeywordsAdsStandard} per --task submission
20
- Keywords (Google Trends): ${P.seoKeywordsTrendsLive} live, ${P.seoKeywordsTrendsStandard} per --task submission
21
- Backlinks: ${P.seoBacklinksStandard} per call (${P.seoBacklinksBulk} for bulk endpoints, up to 1000 targets)
22
- Labs: ${P.seoLabsStandard} per call (${P.seoLabsBulk} bulk, ${P.seoLabsHistorical} historical-rank-overview)
23
- Meta/utility endpoints, task retrieval and tasks-ready: free
24
-
25
- A row-heavy response settles above the list price when it costs us more —
26
- the charge is always the response's own credits_used.
27
- `);
28
- // ===========================================================================
29
- // KEYWORDS
30
- // ===========================================================================
31
- const keywordsCmd = new Command("keywords")
32
- .description("Keyword research — Keywords Data API (Google, Bing, Google Trends)");
33
- // --- Google Keywords ---
34
- const googleKwCmd = new Command("google")
35
- .description("Google Ads keyword data — search volume, keyword ideas, ad traffic");
36
- function addKeywordSubcommand(parent, name, desc, engine, routePrefix) {
37
- parent
38
- .command(name)
39
- .description(desc)
40
- .option("--keywords <list>", "Comma-separated keywords")
41
- .option("--target <domain>", "Target domain or URL")
42
- .option("--category <id>", "Category ID")
43
- .option("--location <code>", "Location code (e.g. 2840 for US)")
44
- .option("--language <code>", "Language code (e.g. en)")
45
- .option("--task", "Submit as async task instead of live")
46
- .option("--json <body>", "Raw JSON body (overrides other options)")
47
- .action(async (opts) => {
48
- const body = opts.json
49
- ? JSON.parse(opts.json)
50
- : buildKeywordBody(opts);
51
- const suffix = opts.task ? "/task" : "";
52
- const resp = await apiRequest("POST", `/v1/seo/keywords/${routePrefix}/${name}${suffix}`, body);
53
- handleApiError(`seo.keywords.${engine}.${name}`, resp);
54
- agentOutput({
55
- action: `seo.keywords.${engine}.${name}`,
56
- result: resp.data,
57
- next_steps: [
58
- { command: `naive seo keywords ${engine} ${name} --help`, description: "See all options" },
59
- { command: `naive seo labs ${engine} keyword-overview --keywords "<kw>"`, description: "Get detailed keyword metrics" },
60
- ],
61
- hints: [
62
- opts.task ? "Async task submitted — check with task-get" : "Live results returned",
63
- // Derived from the response's authoritative credits_used, not a constant (N7).
64
- ...(creditCostHint(resp.data) ? [creditCostHint(resp.data)] : []),
65
- ],
66
- related_commands: ["naive seo backlinks", "naive seo labs"],
67
- });
68
- });
69
- }
70
- addKeywordSubcommand(googleKwCmd, "search-volume", "Get search volume for keywords", "google", "google");
71
- addKeywordSubcommand(googleKwCmd, "keywords-for-keywords", "Get related keywords for seed keywords", "google", "google");
72
- addKeywordSubcommand(googleKwCmd, "keywords-for-site", "Get keywords for a website", "google", "google");
73
- addKeywordSubcommand(googleKwCmd, "keywords-for-category", "Get keywords for an ad category", "google", "google");
74
- addKeywordSubcommand(googleKwCmd, "ad-traffic-by-keywords", "Get ad traffic estimates", "google", "google");
75
- addKeywordSubcommand(googleKwCmd, "ad-traffic-by-platforms", "Get ad traffic by platform breakdown", "google", "google");
76
- // Google keyword meta
77
- ["locations", "languages", "categories", "adwords-status"].forEach((meta) => {
78
- googleKwCmd
79
- .command(meta)
80
- .description(`List available ${meta} for Google keyword data`)
81
- .action(async () => {
82
- const resp = await apiRequest("GET", `/v1/seo/keywords/google/${meta}`);
83
- handleApiError(`seo.keywords.google.${meta}`, resp);
84
- agentOutput({
85
- action: `seo.keywords.google.${meta}`,
86
- result: resp.data,
87
- next_steps: [],
88
- hints: ["Free endpoint — no credits used"],
89
- related_commands: ["naive seo backlinks", "naive seo labs"],
90
- });
91
- });
92
- });
93
- // Google keyword task retrieval
94
- googleKwCmd
95
- .command("task-get <endpoint> <id>")
96
- .description("Get results for a completed async keyword task")
97
- .action(async (endpoint, id) => {
98
- const resp = await apiRequest("GET", `/v1/seo/keywords/google/${endpoint}/task/${id}`);
99
- handleApiError("seo.keywords.google.task-get", resp);
100
- agentOutput({
101
- action: "seo.keywords.google.task-get",
102
- result: resp.data,
103
- next_steps: [],
104
- hints: ["Task results retrieved"],
105
- related_commands: ["naive seo backlinks", "naive seo labs"],
106
- });
107
- });
108
- googleKwCmd
109
- .command("tasks-ready <endpoint>")
110
- .description("List ready tasks for a Google keyword endpoint")
111
- .action(async (endpoint) => {
112
- const resp = await apiRequest("GET", `/v1/seo/keywords/google/${endpoint}/tasks-ready`);
113
- handleApiError("seo.keywords.google.tasks-ready", resp);
114
- agentOutput({
115
- action: "seo.keywords.google.tasks-ready",
116
- result: resp.data,
117
- next_steps: [],
118
- hints: ["Use task-get to retrieve results for ready tasks"],
119
- related_commands: ["naive seo backlinks", "naive seo labs"],
120
- });
121
- });
122
- // --- Bing Keywords ---
123
- const bingKwCmd = new Command("bing")
124
- .description("Bing keyword data — search volume, keyword ideas");
125
- addKeywordSubcommand(bingKwCmd, "search-volume", "Get Bing search volume", "bing", "bing");
126
- addKeywordSubcommand(bingKwCmd, "keywords-for-keywords", "Get related Bing keywords", "bing", "bing");
127
- addKeywordSubcommand(bingKwCmd, "keywords-for-site", "Get Bing keywords for a site", "bing", "bing");
128
- addKeywordSubcommand(bingKwCmd, "keywords-for-category", "Get Bing keywords for a category", "bing", "bing");
129
- addKeywordSubcommand(bingKwCmd, "keyword-performance", "Get Bing keyword performance", "bing", "bing");
130
- ["locations", "languages", "categories"].forEach((meta) => {
131
- bingKwCmd
132
- .command(meta)
133
- .description(`List available ${meta} for Bing keyword data`)
134
- .action(async () => {
135
- const resp = await apiRequest("GET", `/v1/seo/keywords/bing/${meta}`);
136
- handleApiError(`seo.keywords.bing.${meta}`, resp);
137
- agentOutput({
138
- action: `seo.keywords.bing.${meta}`,
139
- result: resp.data,
140
- next_steps: [],
141
- hints: ["Free endpoint — no credits used"],
142
- related_commands: ["naive seo backlinks", "naive seo labs"],
143
- });
144
- });
145
- });
146
- bingKwCmd
147
- .command("task-get <endpoint> <id>")
148
- .description("Get results for a completed async Bing keyword task")
149
- .action(async (endpoint, id) => {
150
- const resp = await apiRequest("GET", `/v1/seo/keywords/bing/${endpoint}/task/${id}`);
151
- handleApiError("seo.keywords.bing.task-get", resp);
152
- agentOutput({
153
- action: "seo.keywords.bing.task-get",
154
- result: resp.data,
155
- next_steps: [],
156
- hints: ["Task results retrieved"],
157
- related_commands: ["naive seo backlinks", "naive seo labs"],
158
- });
159
- });
160
- bingKwCmd
161
- .command("tasks-ready <endpoint>")
162
- .description("List ready tasks for a Bing keyword endpoint")
163
- .action(async (endpoint) => {
164
- const resp = await apiRequest("GET", `/v1/seo/keywords/bing/${endpoint}/tasks-ready`);
165
- handleApiError("seo.keywords.bing.tasks-ready", resp);
166
- agentOutput({
167
- action: "seo.keywords.bing.tasks-ready",
168
- result: resp.data,
169
- next_steps: [],
170
- hints: ["Use task-get to retrieve results for ready tasks"],
171
- related_commands: ["naive seo backlinks", "naive seo labs"],
172
- });
173
- });
174
- // --- Google Trends ---
175
- const trendsKwCmd = new Command("google-trends")
176
- .description("Google Trends keyword data — explore trending topics");
177
- addKeywordSubcommand(trendsKwCmd, "explore", "Explore Google Trends data", "google-trends", "google-trends");
178
- ["locations", "languages", "categories"].forEach((meta) => {
179
- trendsKwCmd
180
- .command(meta)
181
- .description(`List available ${meta} for Google Trends`)
182
- .action(async () => {
183
- const resp = await apiRequest("GET", `/v1/seo/keywords/google-trends/${meta}`);
184
- handleApiError(`seo.keywords.google-trends.${meta}`, resp);
185
- agentOutput({
186
- action: `seo.keywords.google-trends.${meta}`,
187
- result: resp.data,
188
- next_steps: [],
189
- hints: ["Free endpoint — no credits used"],
190
- related_commands: ["naive seo backlinks", "naive seo labs"],
191
- });
192
- });
193
- });
194
- trendsKwCmd
195
- .command("task-get <endpoint> <id>")
196
- .description("Get results for a completed Google Trends task")
197
- .action(async (endpoint, id) => {
198
- const resp = await apiRequest("GET", `/v1/seo/keywords/google-trends/${endpoint}/task/${id}`);
199
- handleApiError("seo.keywords.google-trends.task-get", resp);
200
- agentOutput({
201
- action: "seo.keywords.google-trends.task-get",
202
- result: resp.data,
203
- next_steps: [],
204
- hints: ["Task results retrieved"],
205
- related_commands: ["naive seo backlinks", "naive seo labs"],
206
- });
207
- });
208
- trendsKwCmd
209
- .command("tasks-ready <endpoint>")
210
- .description("List ready tasks for a Google Trends endpoint")
211
- .action(async (endpoint) => {
212
- const resp = await apiRequest("GET", `/v1/seo/keywords/google-trends/${endpoint}/tasks-ready`);
213
- handleApiError("seo.keywords.google-trends.tasks-ready", resp);
214
- agentOutput({
215
- action: "seo.keywords.google-trends.tasks-ready",
216
- result: resp.data,
217
- next_steps: [],
218
- hints: ["Use task-get to retrieve results for ready tasks"],
219
- related_commands: ["naive seo backlinks", "naive seo labs"],
220
- });
221
- });
222
- // Keywords utility
223
- keywordsCmd
224
- .command("endpoints")
225
- .description("List all available Keywords Data API endpoints")
226
- .action(async () => {
227
- const resp = await apiRequest("GET", "/v1/seo/keywords/endpoints");
228
- handleApiError("seo.keywords.endpoints", resp);
229
- agentOutput({
230
- action: "seo.keywords.endpoints",
231
- result: resp.data,
232
- next_steps: [],
233
- hints: ["Free endpoint — no credits used"],
234
- related_commands: ["naive seo backlinks", "naive seo labs"],
235
- });
236
- });
237
- keywordsCmd.addCommand(googleKwCmd);
238
- keywordsCmd.addCommand(bingKwCmd);
239
- keywordsCmd.addCommand(trendsKwCmd);
240
- // ===========================================================================
241
- // BACKLINKS
242
- // ===========================================================================
243
- const backlinksCmd = new Command("backlinks")
244
- .description("Backlink analysis — link profiles, referring domains, competitors, bulk metrics");
245
- function addBacklinkSubcommand(name, desc) {
246
- backlinksCmd
247
- .command(name)
248
- .description(desc)
249
- .option("--target <domain>", "Target domain or URL")
250
- .option("--targets <list>", "Comma-separated targets (for bulk/intersection)")
251
- .option("--limit <n>", "Max results to return")
252
- .option("--offset <n>", "Results offset for pagination")
253
- .option("--order-by <field>", "Sort field")
254
- .option("--json <body>", "Raw JSON body (overrides other options)")
255
- .action(async (opts) => {
256
- const body = opts.json
257
- ? JSON.parse(opts.json)
258
- : buildBacklinkBody(opts);
259
- const resp = await apiRequest("POST", `/v1/seo/backlinks/${name}`, body);
260
- handleApiError(`seo.backlinks.${name}`, resp);
261
- agentOutput({
262
- action: `seo.backlinks.${name}`,
263
- result: resp.data,
264
- next_steps: [
265
- { command: `naive seo backlinks ${name} --help`, description: "See all options" },
266
- { command: "naive seo backlinks summary --target <domain>", description: "Get backlink summary for a domain" },
267
- ],
268
- // Derived from the response's authoritative credits_used, not a constant (N7).
269
- hints: creditCostHint(resp.data) ? [creditCostHint(resp.data)] : [],
270
- related_commands: ["naive seo keywords", "naive seo labs"],
271
- });
272
- });
273
- }
274
- const backlinkEndpointList = [
275
- ["summary", "Get backlink summary for a domain"],
276
- ["history", "Get historical backlink data"],
277
- ["backlinks", "List backlinks for a target"],
278
- ["anchors", "Get anchor text distribution"],
279
- ["domain-pages", "List pages with backlinks on a domain"],
280
- ["domain-pages-summary", "Summary of pages with backlinks"],
281
- ["referring-domains", "List referring domains"],
282
- ["referring-networks", "List referring networks (IP ranges)"],
283
- ["competitors", "Find backlink competitors"],
284
- ["domain-intersection", "Find common referring domains between targets"],
285
- ["page-intersection", "Find common referring pages between targets"],
286
- ["timeseries-summary", "Backlink timeseries summary"],
287
- ["timeseries-new-lost", "New and lost backlinks over time"],
288
- ["bulk-backlinks", "Bulk backlink counts for multiple targets"],
289
- ["bulk-referring-domains", "Bulk referring domain counts"],
290
- ["bulk-ranks", "Bulk domain rank data"],
291
- ["bulk-spam-score", "Bulk spam scores for domains"],
292
- ["bulk-new-lost", "Bulk new/lost backlinks"],
293
- ["bulk-pages-summary", "Bulk pages summary for multiple targets"],
294
- ];
295
- backlinkEndpointList.forEach(([name, desc]) => addBacklinkSubcommand(name, desc));
296
- backlinksCmd
297
- .command("index")
298
- .description("Get current backlink index info (free)")
299
- .action(async () => {
300
- const resp = await apiRequest("GET", "/v1/seo/backlinks/index");
301
- handleApiError("seo.backlinks.index", resp);
302
- agentOutput({
303
- action: "seo.backlinks.index",
304
- result: resp.data,
305
- next_steps: [],
306
- hints: ["Free endpoint — no credits used"],
307
- related_commands: ["naive seo keywords", "naive seo labs"],
308
- });
309
- });
310
- backlinksCmd
311
- .command("available-filters")
312
- .description("List available backlink filters (free)")
313
- .action(async () => {
314
- const resp = await apiRequest("GET", "/v1/seo/backlinks/available-filters");
315
- handleApiError("seo.backlinks.available-filters", resp);
316
- agentOutput({
317
- action: "seo.backlinks.available-filters",
318
- result: resp.data,
319
- next_steps: [],
320
- hints: ["Free endpoint — no credits used"],
321
- related_commands: ["naive seo keywords", "naive seo labs"],
322
- });
323
- });
324
- backlinksCmd
325
- .command("id-list")
326
- .description("Get list of backlink task IDs")
327
- .option("--json <body>", "Raw JSON body")
328
- .action(async (opts) => {
329
- const body = opts.json ? JSON.parse(opts.json) : {};
330
- const resp = await apiRequest("POST", "/v1/seo/backlinks/id-list", body);
331
- handleApiError("seo.backlinks.id-list", resp);
332
- agentOutput({
333
- action: "seo.backlinks.id-list",
334
- result: resp.data,
335
- next_steps: [],
336
- hints: ["Free endpoint — no credits used"],
337
- related_commands: ["naive seo keywords", "naive seo labs"],
338
- });
339
- });
340
- // ===========================================================================
341
- // LABS
342
- // ===========================================================================
343
- const labsCmd = new Command("labs")
344
- .description("SEO Labs — competitive intelligence, SERP analysis, keyword difficulty");
345
- // --- Google Labs ---
346
- const googleLabsCmd = new Command("google")
347
- .description("Google SERP analysis — ranked keywords, competitors, domain metrics");
348
- function addLabsSubcommand(parent, name, desc, engine) {
349
- parent
350
- .command(name)
351
- .description(desc)
352
- .option("--keywords <list>", "Comma-separated keywords")
353
- .option("--target <domain>", "Target domain or URL")
354
- .option("--targets <list>", "Comma-separated targets (for intersections)")
355
- .option("--location <code>", "Location code")
356
- .option("--language <code>", "Language code")
357
- .option("--limit <n>", "Max results")
358
- .option("--offset <n>", "Results offset")
359
- .option("--json <body>", "Raw JSON body (overrides other options)")
360
- .action(async (opts) => {
361
- const body = opts.json
362
- ? JSON.parse(opts.json)
363
- : buildLabsBody(opts);
364
- const resp = await apiRequest("POST", `/v1/seo/labs/${engine}/${name}`, body);
365
- handleApiError(`seo.labs.${engine}.${name}`, resp);
366
- agentOutput({
367
- action: `seo.labs.${engine}.${name}`,
368
- result: resp.data,
369
- next_steps: [
370
- { command: `naive seo labs ${engine} ${name} --help`, description: "See all options" },
371
- ],
372
- // Derived from the response's authoritative credits_used, not a constant (N7).
373
- hints: creditCostHint(resp.data) ? [creditCostHint(resp.data)] : [],
374
- related_commands: ["naive seo keywords", "naive seo backlinks"],
375
- });
376
- });
377
- }
378
- // Google Labs: Keyword Research
379
- addLabsSubcommand(googleLabsCmd, "keywords-for-site", "Get keywords a site ranks for", "google");
380
- addLabsSubcommand(googleLabsCmd, "related-keywords", "Find related keywords", "google");
381
- addLabsSubcommand(googleLabsCmd, "keyword-suggestions", "Get keyword suggestions", "google");
382
- addLabsSubcommand(googleLabsCmd, "keyword-ideas", "Generate keyword ideas", "google");
383
- addLabsSubcommand(googleLabsCmd, "bulk-keyword-difficulty", "Bulk keyword difficulty scores", "google");
384
- addLabsSubcommand(googleLabsCmd, "search-intent", "Classify keyword search intent", "google");
385
- addLabsSubcommand(googleLabsCmd, "keyword-overview", "Get detailed keyword metrics", "google");
386
- addLabsSubcommand(googleLabsCmd, "historical-keyword-data", "Historical keyword data", "google");
387
- // Google Labs: Market Categories
388
- addLabsSubcommand(googleLabsCmd, "categories-for-domain", "Find categories for a domain", "google");
389
- addLabsSubcommand(googleLabsCmd, "keywords-for-categories", "Get keywords for categories", "google");
390
- addLabsSubcommand(googleLabsCmd, "domain-metrics-by-categories", "Domain metrics by category", "google");
391
- addLabsSubcommand(googleLabsCmd, "top-searches", "Get top searches", "google");
392
- // Google Labs: Competitor Research
393
- addLabsSubcommand(googleLabsCmd, "ranked-keywords", "Keywords a domain ranks for", "google");
394
- addLabsSubcommand(googleLabsCmd, "serp-competitors", "Find SERP competitors for keywords", "google");
395
- addLabsSubcommand(googleLabsCmd, "competitors-domain", "Find domain-level competitors", "google");
396
- addLabsSubcommand(googleLabsCmd, "domain-intersection", "Keywords shared between domains", "google");
397
- addLabsSubcommand(googleLabsCmd, "subdomains", "List subdomains with rankings", "google");
398
- addLabsSubcommand(googleLabsCmd, "relevant-pages", "Find relevant pages for keywords", "google");
399
- addLabsSubcommand(googleLabsCmd, "domain-rank-overview", "Domain rank overview", "google");
400
- addLabsSubcommand(googleLabsCmd, "historical-serps", "Historical SERP data", "google");
401
- addLabsSubcommand(googleLabsCmd, "historical-rank-overview", "Historical rank overview", "google");
402
- addLabsSubcommand(googleLabsCmd, "page-intersection", "Pages shared between domains", "google");
403
- addLabsSubcommand(googleLabsCmd, "bulk-traffic-estimation", "Bulk traffic estimates", "google");
404
- // --- Bing Labs ---
405
- const bingLabsCmd = new Command("bing")
406
- .description("Bing SERP analysis — ranked keywords, competitors");
407
- addLabsSubcommand(bingLabsCmd, "related-keywords", "Find related Bing keywords", "bing");
408
- addLabsSubcommand(bingLabsCmd, "ranked-keywords", "Keywords a domain ranks for on Bing", "bing");
409
- addLabsSubcommand(bingLabsCmd, "domain-rank-overview", "Bing domain rank overview", "bing");
410
- addLabsSubcommand(bingLabsCmd, "serp-competitors", "Find Bing SERP competitors", "bing");
411
- addLabsSubcommand(bingLabsCmd, "domain-intersection", "Keywords shared between domains on Bing", "bing");
412
- addLabsSubcommand(bingLabsCmd, "page-intersection", "Pages shared between domains on Bing", "bing");
413
- addLabsSubcommand(bingLabsCmd, "relevant-pages", "Find relevant pages on Bing", "bing");
414
- addLabsSubcommand(bingLabsCmd, "competitors-domain", "Find Bing domain competitors", "bing");
415
- addLabsSubcommand(bingLabsCmd, "subdomains", "List subdomains on Bing", "bing");
416
- addLabsSubcommand(bingLabsCmd, "bulk-keyword-difficulty", "Bulk keyword difficulty on Bing", "bing");
417
- addLabsSubcommand(bingLabsCmd, "bulk-traffic-estimation", "Bulk traffic estimates on Bing", "bing");
418
- // --- Amazon Labs ---
419
- const amazonLabsCmd = new Command("amazon")
420
- .description("Amazon search analysis — product rankings, keyword research");
421
- addLabsSubcommand(amazonLabsCmd, "bulk-search-volume", "Bulk Amazon search volume", "amazon");
422
- addLabsSubcommand(amazonLabsCmd, "related-keywords", "Related Amazon keywords", "amazon");
423
- addLabsSubcommand(amazonLabsCmd, "ranked-keywords", "Keywords a product ranks for", "amazon");
424
- addLabsSubcommand(amazonLabsCmd, "product-rank-overview", "Product rank overview", "amazon");
425
- addLabsSubcommand(amazonLabsCmd, "product-competitors", "Find product competitors", "amazon");
426
- addLabsSubcommand(amazonLabsCmd, "product-keyword-intersections", "Keywords shared between products", "amazon");
427
- // Labs utility
428
- labsCmd
429
- .command("locations-and-languages")
430
- .description("List available locations and languages for Labs (free)")
431
- .action(async () => {
432
- const resp = await apiRequest("GET", "/v1/seo/labs/locations-and-languages");
433
- handleApiError("seo.labs.locations-and-languages", resp);
434
- agentOutput({
435
- action: "seo.labs.locations-and-languages",
436
- result: resp.data,
437
- next_steps: [],
438
- hints: ["Free endpoint — no credits used"],
439
- related_commands: ["naive seo keywords", "naive seo backlinks"],
440
- });
441
- });
442
- labsCmd
443
- .command("categories")
444
- .description("List available Labs categories (free)")
445
- .action(async () => {
446
- const resp = await apiRequest("GET", "/v1/seo/labs/categories");
447
- handleApiError("seo.labs.categories", resp);
448
- agentOutput({
449
- action: "seo.labs.categories",
450
- result: resp.data,
451
- next_steps: [],
452
- hints: ["Free endpoint — no credits used"],
453
- related_commands: ["naive seo keywords", "naive seo backlinks"],
454
- });
455
- });
456
- labsCmd
457
- .command("status")
458
- .description("Check SEO Labs API status (free)")
459
- .action(async () => {
460
- const resp = await apiRequest("GET", "/v1/seo/labs/status");
461
- handleApiError("seo.labs.status", resp);
462
- agentOutput({
463
- action: "seo.labs.status",
464
- result: resp.data,
465
- next_steps: [],
466
- hints: ["Free endpoint — no credits used"],
467
- related_commands: ["naive seo keywords", "naive seo backlinks"],
468
- });
469
- });
470
- labsCmd.addCommand(googleLabsCmd);
471
- labsCmd.addCommand(bingLabsCmd);
472
- labsCmd.addCommand(amazonLabsCmd);
473
- // ===========================================================================
474
- // Wire up top-level
475
- // ===========================================================================
476
- seoCmd.addCommand(keywordsCmd);
477
- seoCmd.addCommand(backlinksCmd);
478
- seoCmd.addCommand(labsCmd);
479
- // ===========================================================================
480
- // Body builders
481
- // ===========================================================================
482
- function buildKeywordBody(opts) {
483
- const body = {};
484
- if (opts.keywords)
485
- body.keywords = opts.keywords.split(",").map((k) => k.trim());
486
- if (opts.target)
487
- body.target = opts.target;
488
- if (opts.category)
489
- body.category_code = parseInt(opts.category);
490
- if (opts.location)
491
- body.location_code = parseInt(opts.location);
492
- if (opts.language)
493
- body.language_code = opts.language;
494
- return body;
495
- }
496
- function buildBacklinkBody(opts) {
497
- const body = {};
498
- if (opts.target)
499
- body.target = opts.target;
500
- if (opts.targets)
501
- body.targets = opts.targets.split(",").map((t) => t.trim());
502
- if (opts.limit)
503
- body.limit = parseInt(opts.limit);
504
- if (opts.offset)
505
- body.offset = parseInt(opts.offset);
506
- if (opts.orderBy)
507
- body.order_by = [opts.orderBy];
508
- return body;
509
- }
510
- function buildLabsBody(opts) {
511
- const body = {};
512
- if (opts.keywords)
513
- body.keywords = opts.keywords.split(",").map((k) => k.trim());
514
- if (opts.target)
515
- body.target = opts.target;
516
- if (opts.targets)
517
- body.targets = opts.targets.split(",").map((t) => t.trim());
518
- if (opts.location)
519
- body.location_code = parseInt(opts.location);
520
- if (opts.language)
521
- body.language_code = opts.language;
522
- if (opts.limit)
523
- body.limit = parseInt(opts.limit);
524
- if (opts.offset)
525
- body.offset = parseInt(opts.offset);
526
- return body;
527
- }
528
- //# sourceMappingURL=seo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seo.js","sourceRoot":"","sources":["../../src/commands/seo.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Command } from "commander";
2
- /**
3
- * Per-user MCP sessions — short-lived, revocable credentials (`nv_sess_…`)
4
- * scoped to one tenant user. Docs: https://usenaive.ai/docs/getting-started/sessions
5
- */
6
- export declare const sessionsCmd: Command;