@usenaive-sdk/cli 0.2.2 → 0.2.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.
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const aeoCmd: Command;
@@ -0,0 +1,410 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, handleApiError } from "../client.js";
3
+ import { agentOutput } from "../output.js";
4
+ export const aeoCmd = new Command("aeo")
5
+ .description("AI Engine Optimization — LLM responses, scraping, AI keywords, and mention tracking")
6
+ .addHelpText("after", `
7
+ Subcommands:
8
+ naive aeo llm-responses <platform> Query LLM responses (chatgpt, claude, gemini, perplexity)
9
+ naive aeo llm-responses models List available models for a platform
10
+ naive aeo llm-scraper Scrape ChatGPT conversation pages
11
+ naive aeo ai-keywords AI keyword search volume data
12
+ naive aeo llm-mentions <endpoint> Track brand/domain mentions across LLMs
13
+
14
+ Platforms:
15
+ chatgpt OpenAI ChatGPT responses
16
+ claude Anthropic Claude responses
17
+ gemini Google Gemini responses
18
+ perplexity Perplexity AI responses (live only, no task endpoints)
19
+
20
+ LLM Mentions endpoints:
21
+ search Search for mentions of a keyword/brand
22
+ aggregated-metrics Aggregated mention metrics for a target
23
+ cross-aggregated-metrics Cross-platform aggregated metrics
24
+ top-domains Top mentioned domains for a keyword
25
+ top-pages Top mentioned pages for a keyword
26
+
27
+ Examples:
28
+ $ naive aeo llm-responses chatgpt --keyword "best CRM software"
29
+ $ naive aeo llm-responses claude --keyword "best project management tools"
30
+ $ naive aeo llm-responses models --platform chatgpt
31
+ $ naive aeo llm-scraper --keyword "best CRM software"
32
+ $ naive aeo ai-keywords --keywords "ai tools,chatbot,llm"
33
+ $ naive aeo llm-mentions search --keyword "Salesforce"
34
+ $ naive aeo llm-mentions top-domains --keyword "ai coding tools"
35
+
36
+ Costs:
37
+ LLM Responses: 3 credits per call
38
+ LLM Scraper: 3 credits per call
39
+ AI Keywords: 2 credits per call
40
+ LLM Mentions: 2 credits per call
41
+ `);
42
+ // ---------------------------------------------------------------------------
43
+ // llm-responses <platform>
44
+ // ---------------------------------------------------------------------------
45
+ const llmResponsesCmd = aeoCmd
46
+ .command("llm-responses [platform]")
47
+ .description("Query LLM responses from ChatGPT, Claude, Gemini, or Perplexity (live)")
48
+ .option("--keyword <keyword>", "Keyword or prompt to query")
49
+ .option("--language-code <code>", "Language code (e.g., en)")
50
+ .option("--location-code <code>", "Location code (e.g., 2840 for US)")
51
+ .option("--model <model>", "Specific model to use")
52
+ .option("--tag <tag>", "Tag for the request")
53
+ .addHelpText("after", `
54
+ Examples:
55
+ $ naive aeo llm-responses chatgpt --keyword "best CRM software"
56
+ $ naive aeo llm-responses claude --keyword "best project management tools" --language-code en
57
+ $ naive aeo llm-responses gemini --keyword "top AI coding assistants"
58
+ $ naive aeo llm-responses perplexity --keyword "best CRM software"
59
+
60
+ Platforms: chatgpt, claude, gemini, perplexity
61
+ Perplexity only supports live mode (no task_post/task_get).
62
+
63
+ Cost: 3 credits
64
+ `)
65
+ .action(async (platform, opts) => {
66
+ if (!platform) {
67
+ console.error(JSON.stringify({
68
+ success: false,
69
+ action: "aeo.llm-responses",
70
+ error: { code: "missing_argument", message: "Platform is required" },
71
+ recovery_steps: [
72
+ { command: 'naive aeo llm-responses chatgpt --keyword "best CRM"', description: "Query ChatGPT" },
73
+ { command: "naive aeo llm-responses --help", description: "See all options" },
74
+ ],
75
+ }, null, 2));
76
+ process.exit(1);
77
+ }
78
+ if (!opts.keyword) {
79
+ console.error(JSON.stringify({
80
+ success: false,
81
+ action: "aeo.llm-responses",
82
+ error: { code: "missing_argument", message: "--keyword is required" },
83
+ recovery_steps: [
84
+ { command: `naive aeo llm-responses ${platform} --keyword "your query"`, description: "Provide a keyword" },
85
+ ],
86
+ }, null, 2));
87
+ process.exit(1);
88
+ }
89
+ const body = { keyword: opts.keyword };
90
+ if (opts.languageCode)
91
+ body.language_code = opts.languageCode;
92
+ if (opts.locationCode)
93
+ body.location_code = parseInt(opts.locationCode);
94
+ if (opts.model)
95
+ body.model = opts.model;
96
+ if (opts.tag)
97
+ body.tag = opts.tag;
98
+ const resp = await apiRequest("POST", `/v1/aeo/llm-responses/${platform}`, body);
99
+ handleApiError("aeo.llm-responses", resp);
100
+ agentOutput({
101
+ action: "aeo.llm-responses",
102
+ result: resp.data,
103
+ next_steps: [
104
+ { command: `naive aeo llm-responses models --platform ${platform}`, description: "List available models for this platform" },
105
+ { command: `naive aeo llm-mentions search --keyword "${opts.keyword}"`, description: "Track mentions of this keyword across LLMs" },
106
+ { command: `naive aeo ai-keywords --keywords "${opts.keyword}"`, description: "Get AI keyword search volume" },
107
+ ],
108
+ hints: [
109
+ `Queried ${platform} for "${opts.keyword}"`,
110
+ "Cost: 3 credits",
111
+ ],
112
+ related_commands: ["naive aeo llm-responses models", "naive aeo llm-mentions", "naive aeo ai-keywords"],
113
+ });
114
+ });
115
+ // ---------------------------------------------------------------------------
116
+ // llm-responses models
117
+ // ---------------------------------------------------------------------------
118
+ llmResponsesCmd
119
+ .command("models")
120
+ .description("List available LLM models for a platform")
121
+ .requiredOption("--platform <platform>", "Platform to query models for (chatgpt, claude, gemini, perplexity)")
122
+ .addHelpText("after", `
123
+ Examples:
124
+ $ naive aeo llm-responses models --platform chatgpt
125
+ $ naive aeo llm-responses models --platform claude
126
+ `)
127
+ .action(async (opts) => {
128
+ const resp = await apiRequest("GET", `/v1/aeo/llm-responses/${opts.platform}/models`);
129
+ handleApiError("aeo.llm-responses.models", resp);
130
+ agentOutput({
131
+ action: "aeo.llm-responses.models",
132
+ result: resp.data,
133
+ next_steps: [
134
+ { command: `naive aeo llm-responses ${opts.platform} --keyword "test query" --model <model_name>`, description: "Query with a specific model" },
135
+ ],
136
+ hints: [
137
+ `Available models for ${opts.platform}`,
138
+ ],
139
+ related_commands: ["naive aeo llm-responses"],
140
+ });
141
+ });
142
+ // ---------------------------------------------------------------------------
143
+ // llm-scraper
144
+ // ---------------------------------------------------------------------------
145
+ aeoCmd
146
+ .command("llm-scraper")
147
+ .description("Scrape ChatGPT conversation pages (live, advanced format)")
148
+ .requiredOption("--keyword <keyword>", "Keyword or prompt to scrape")
149
+ .option("--format <format>", "Output format: advanced | html (default: advanced)", "advanced")
150
+ .option("--language-code <code>", "Language code (e.g., en)")
151
+ .option("--location-code <code>", "Location code")
152
+ .addHelpText("after", `
153
+ Examples:
154
+ $ naive aeo llm-scraper --keyword "best CRM software"
155
+ $ naive aeo llm-scraper --keyword "top AI tools" --format html
156
+
157
+ ChatGPT only. Returns the scraped conversation content in advanced or HTML format.
158
+
159
+ Cost: 3 credits
160
+ `)
161
+ .action(async (opts) => {
162
+ const body = { keyword: opts.keyword };
163
+ if (opts.languageCode)
164
+ body.language_code = opts.languageCode;
165
+ if (opts.locationCode)
166
+ body.location_code = parseInt(opts.locationCode);
167
+ const endpoint = opts.format === "html" ? "/v1/aeo/llm-scraper/chatgpt/html" : "/v1/aeo/llm-scraper/chatgpt";
168
+ const resp = await apiRequest("POST", endpoint, body);
169
+ handleApiError("aeo.llm-scraper", resp);
170
+ agentOutput({
171
+ action: "aeo.llm-scraper",
172
+ result: resp.data,
173
+ next_steps: [
174
+ { command: `naive aeo llm-responses chatgpt --keyword "${opts.keyword}"`, description: "Get structured LLM response for the same keyword" },
175
+ { command: `naive aeo llm-scraper --keyword "${opts.keyword}" --format ${opts.format === "html" ? "advanced" : "html"}`, description: `Try ${opts.format === "html" ? "advanced" : "HTML"} format` },
176
+ ],
177
+ hints: [
178
+ `Scraped ChatGPT for "${opts.keyword}" (${opts.format} format)`,
179
+ "Cost: 3 credits",
180
+ ],
181
+ related_commands: ["naive aeo llm-responses", "naive aeo ai-keywords"],
182
+ });
183
+ });
184
+ // ---------------------------------------------------------------------------
185
+ // ai-keywords
186
+ // ---------------------------------------------------------------------------
187
+ aeoCmd
188
+ .command("ai-keywords")
189
+ .description("Get AI keyword search volume data")
190
+ .requiredOption("--keywords <keywords>", "Comma-separated list of keywords")
191
+ .option("--language-code <code>", "Language code (e.g., en)")
192
+ .option("--location-code <code>", "Location code")
193
+ .addHelpText("after", `
194
+ Examples:
195
+ $ naive aeo ai-keywords --keywords "ai tools,chatbot,llm"
196
+ $ naive aeo ai-keywords --keywords "best crm software" --language-code en
197
+
198
+ Returns search volume and related metrics for AI-specific keywords.
199
+
200
+ Cost: 2 credits
201
+ `)
202
+ .action(async (opts) => {
203
+ const keywords = opts.keywords.split(",").map((k) => k.trim());
204
+ const body = { keywords };
205
+ if (opts.languageCode)
206
+ body.language_code = opts.languageCode;
207
+ if (opts.locationCode)
208
+ body.location_code = parseInt(opts.locationCode);
209
+ const resp = await apiRequest("POST", "/v1/aeo/ai-keywords/search-volume", body);
210
+ handleApiError("aeo.ai-keywords", resp);
211
+ agentOutput({
212
+ action: "aeo.ai-keywords",
213
+ result: resp.data,
214
+ next_steps: [
215
+ { command: `naive aeo llm-mentions search --keyword "${keywords[0]}"`, description: "Track LLM mentions for the first keyword" },
216
+ { command: `naive aeo llm-responses chatgpt --keyword "${keywords[0]}"`, description: "Query ChatGPT for the first keyword" },
217
+ ],
218
+ hints: [
219
+ `AI keyword data for ${keywords.length} keyword(s)`,
220
+ "Cost: 2 credits",
221
+ ],
222
+ related_commands: ["naive aeo llm-responses", "naive aeo llm-mentions"],
223
+ });
224
+ });
225
+ // ---------------------------------------------------------------------------
226
+ // llm-mentions
227
+ // ---------------------------------------------------------------------------
228
+ const llmMentionsCmd = aeoCmd
229
+ .command("llm-mentions")
230
+ .description("Track brand/domain mentions across LLMs");
231
+ // llm-mentions search
232
+ llmMentionsCmd
233
+ .command("search")
234
+ .description("Search for keyword/brand mentions across LLMs")
235
+ .requiredOption("--keyword <keyword>", "Keyword or brand name to search for")
236
+ .option("--language-code <code>", "Language code")
237
+ .option("--location-code <code>", "Location code")
238
+ .addHelpText("after", `
239
+ Examples:
240
+ $ naive aeo llm-mentions search --keyword "Salesforce"
241
+ $ naive aeo llm-mentions search --keyword "HubSpot CRM" --language-code en
242
+
243
+ Cost: 2 credits
244
+ `)
245
+ .action(async (opts) => {
246
+ const body = { keyword: opts.keyword };
247
+ if (opts.languageCode)
248
+ body.language_code = opts.languageCode;
249
+ if (opts.locationCode)
250
+ body.location_code = parseInt(opts.locationCode);
251
+ const resp = await apiRequest("POST", "/v1/aeo/llm-mentions/search", body);
252
+ handleApiError("aeo.llm-mentions.search", resp);
253
+ agentOutput({
254
+ action: "aeo.llm-mentions.search",
255
+ result: resp.data,
256
+ next_steps: [
257
+ { command: `naive aeo llm-mentions aggregated-metrics --target "${opts.keyword}"`, description: "Get aggregated mention metrics" },
258
+ { command: `naive aeo llm-mentions top-domains --keyword "${opts.keyword}"`, description: "See top mentioned domains" },
259
+ { command: `naive aeo llm-mentions top-pages --keyword "${opts.keyword}"`, description: "See top mentioned pages" },
260
+ ],
261
+ hints: [
262
+ `LLM mention search for "${opts.keyword}"`,
263
+ "Cost: 2 credits",
264
+ ],
265
+ related_commands: ["naive aeo llm-mentions aggregated-metrics", "naive aeo llm-mentions top-domains"],
266
+ });
267
+ });
268
+ // llm-mentions aggregated-metrics
269
+ llmMentionsCmd
270
+ .command("aggregated-metrics")
271
+ .description("Get aggregated mention metrics for a target domain/brand")
272
+ .requiredOption("--target <target>", "Target domain or brand (e.g., example.com)")
273
+ .option("--language-code <code>", "Language code")
274
+ .option("--location-code <code>", "Location code")
275
+ .addHelpText("after", `
276
+ Examples:
277
+ $ naive aeo llm-mentions aggregated-metrics --target "example.com"
278
+ $ naive aeo llm-mentions aggregated-metrics --target "hubspot.com" --language-code en
279
+
280
+ Cost: 2 credits
281
+ `)
282
+ .action(async (opts) => {
283
+ const body = { target: opts.target };
284
+ if (opts.languageCode)
285
+ body.language_code = opts.languageCode;
286
+ if (opts.locationCode)
287
+ body.location_code = parseInt(opts.locationCode);
288
+ const resp = await apiRequest("POST", "/v1/aeo/llm-mentions/aggregated-metrics", body);
289
+ handleApiError("aeo.llm-mentions.aggregated-metrics", resp);
290
+ agentOutput({
291
+ action: "aeo.llm-mentions.aggregated-metrics",
292
+ result: resp.data,
293
+ next_steps: [
294
+ { command: `naive aeo llm-mentions search --keyword "${opts.target}"`, description: "Search for individual mentions" },
295
+ { command: `naive aeo llm-mentions top-domains --keyword "${opts.target}"`, description: "See top domains mentioned alongside" },
296
+ ],
297
+ hints: [
298
+ `Aggregated mention metrics for "${opts.target}"`,
299
+ "Cost: 2 credits",
300
+ ],
301
+ related_commands: ["naive aeo llm-mentions search", "naive aeo llm-mentions top-domains"],
302
+ });
303
+ });
304
+ // llm-mentions cross-aggregated-metrics
305
+ llmMentionsCmd
306
+ .command("cross-aggregated-metrics")
307
+ .description("Get cross-platform aggregated mention metrics")
308
+ .requiredOption("--target <target>", "Target domain or brand")
309
+ .option("--language-code <code>", "Language code")
310
+ .option("--location-code <code>", "Location code")
311
+ .addHelpText("after", `
312
+ Examples:
313
+ $ naive aeo llm-mentions cross-aggregated-metrics --target "example.com"
314
+
315
+ Cost: 2 credits
316
+ `)
317
+ .action(async (opts) => {
318
+ const body = { target: opts.target };
319
+ if (opts.languageCode)
320
+ body.language_code = opts.languageCode;
321
+ if (opts.locationCode)
322
+ body.location_code = parseInt(opts.locationCode);
323
+ const resp = await apiRequest("POST", "/v1/aeo/llm-mentions/cross-aggregated-metrics", body);
324
+ handleApiError("aeo.llm-mentions.cross-aggregated-metrics", resp);
325
+ agentOutput({
326
+ action: "aeo.llm-mentions.cross-aggregated-metrics",
327
+ result: resp.data,
328
+ next_steps: [
329
+ { command: `naive aeo llm-mentions aggregated-metrics --target "${opts.target}"`, description: "Get per-platform metrics" },
330
+ ],
331
+ hints: [
332
+ `Cross-aggregated mention metrics for "${opts.target}"`,
333
+ "Cost: 2 credits",
334
+ ],
335
+ related_commands: ["naive aeo llm-mentions aggregated-metrics", "naive aeo llm-mentions search"],
336
+ });
337
+ });
338
+ // llm-mentions top-domains
339
+ llmMentionsCmd
340
+ .command("top-domains")
341
+ .description("Get top mentioned domains for a keyword")
342
+ .requiredOption("--keyword <keyword>", "Keyword to analyze")
343
+ .option("--language-code <code>", "Language code")
344
+ .option("--location-code <code>", "Location code")
345
+ .addHelpText("after", `
346
+ Examples:
347
+ $ naive aeo llm-mentions top-domains --keyword "ai coding tools"
348
+ $ naive aeo llm-mentions top-domains --keyword "best CRM" --language-code en
349
+
350
+ Cost: 2 credits
351
+ `)
352
+ .action(async (opts) => {
353
+ const body = { keyword: opts.keyword };
354
+ if (opts.languageCode)
355
+ body.language_code = opts.languageCode;
356
+ if (opts.locationCode)
357
+ body.location_code = parseInt(opts.locationCode);
358
+ const resp = await apiRequest("POST", "/v1/aeo/llm-mentions/top-domains", body);
359
+ handleApiError("aeo.llm-mentions.top-domains", resp);
360
+ agentOutput({
361
+ action: "aeo.llm-mentions.top-domains",
362
+ result: resp.data,
363
+ next_steps: [
364
+ { command: `naive aeo llm-mentions top-pages --keyword "${opts.keyword}"`, description: "See top mentioned pages instead" },
365
+ { command: `naive aeo llm-mentions search --keyword "${opts.keyword}"`, description: "Search individual mentions" },
366
+ ],
367
+ hints: [
368
+ `Top domains mentioned for "${opts.keyword}"`,
369
+ "Cost: 2 credits",
370
+ ],
371
+ related_commands: ["naive aeo llm-mentions top-pages", "naive aeo llm-mentions search"],
372
+ });
373
+ });
374
+ // llm-mentions top-pages
375
+ llmMentionsCmd
376
+ .command("top-pages")
377
+ .description("Get top mentioned pages for a keyword")
378
+ .requiredOption("--keyword <keyword>", "Keyword to analyze")
379
+ .option("--language-code <code>", "Language code")
380
+ .option("--location-code <code>", "Location code")
381
+ .addHelpText("after", `
382
+ Examples:
383
+ $ naive aeo llm-mentions top-pages --keyword "ai coding tools"
384
+ $ naive aeo llm-mentions top-pages --keyword "best CRM" --language-code en
385
+
386
+ Cost: 2 credits
387
+ `)
388
+ .action(async (opts) => {
389
+ const body = { keyword: opts.keyword };
390
+ if (opts.languageCode)
391
+ body.language_code = opts.languageCode;
392
+ if (opts.locationCode)
393
+ body.location_code = parseInt(opts.locationCode);
394
+ const resp = await apiRequest("POST", "/v1/aeo/llm-mentions/top-pages", body);
395
+ handleApiError("aeo.llm-mentions.top-pages", resp);
396
+ agentOutput({
397
+ action: "aeo.llm-mentions.top-pages",
398
+ result: resp.data,
399
+ next_steps: [
400
+ { command: `naive aeo llm-mentions top-domains --keyword "${opts.keyword}"`, description: "See top domains instead" },
401
+ { command: `naive aeo llm-mentions search --keyword "${opts.keyword}"`, description: "Search individual mentions" },
402
+ ],
403
+ hints: [
404
+ `Top pages mentioned for "${opts.keyword}"`,
405
+ "Cost: 2 credits",
406
+ ],
407
+ related_commands: ["naive aeo llm-mentions top-domains", "naive aeo llm-mentions search"],
408
+ });
409
+ });
410
+ //# sourceMappingURL=aeo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aeo.js","sourceRoot":"","sources":["../../src/commands/aeo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const appDataCmd: Command;