@elmohq/cli 0.4.1 → 0.4.2

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 (2) hide show
  1. package/dist/index.js +33 -1
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -529,6 +529,7 @@ function buildWorkerService(options) {
529
529
  const CLORO_AFFILIATE = "https://affiliate.cloro.dev/elmo?sid=cli";
530
530
  const BRIGHTDATA_AFFILIATE = "https://get.brightdata.com/elmo?sid=cli";
531
531
  const OXYLABS_AFFILIATE = "https://oxylabs.go2cloud.org/aff_c?offer_id=7&aff_id=2263&url_id=32";
532
+ const SEARCHAPI_AFFILIATE = "https://www.searchapi.io/?via=elmo";
532
533
  const OLOSTEP_AFFILIATE = "https://olostep.com/?ref=elmo";
533
534
  const DATAFORSEO_AFFILIATE = "https://dataforseo.com/?aff=184966";
534
535
  const BRIGHTDATA_MODELS = [
@@ -539,6 +540,14 @@ const BRIGHTDATA_MODELS = [
539
540
  "copilot",
540
541
  "gemini"
541
542
  ];
543
+ const SEARCHAPI_MODELS = [
544
+ "chatgpt",
545
+ "google-ai-mode",
546
+ "google-ai-overview",
547
+ "perplexity",
548
+ "copilot",
549
+ "gemini"
550
+ ];
542
551
  const OLOSTEP_MODELS = [
543
552
  "chatgpt",
544
553
  "google-ai-mode",
@@ -756,6 +765,24 @@ const PROVIDER_PROMPTS = [
756
765
  }],
757
766
  picker: scraperPicker("Oxylabs", "oxylabs", OXYLABS_MODELS)
758
767
  },
768
+ {
769
+ id: "searchapi",
770
+ kind: "scraper",
771
+ label: "SearchApi",
772
+ costHint: "flat per-search, every surface — ~$1.20/mo per prompt, $40/mo min",
773
+ confirmDefault: false,
774
+ signup: {
775
+ message: "Sign up and copy your API key",
776
+ url: SEARCHAPI_AFFILIATE
777
+ },
778
+ credentials: [{
779
+ envKey: "SEARCHAPI_API_KEY",
780
+ message: "SearchApi API key",
781
+ secret: true,
782
+ validate: required
783
+ }],
784
+ picker: scraperPicker("SearchApi", "searchapi", SEARCHAPI_MODELS)
785
+ },
759
786
  {
760
787
  id: "olostep",
761
788
  kind: "scraper",
@@ -1075,6 +1102,7 @@ async function configureProvidersInteractive(env) {
1075
1102
  ` • ${pc.cyan("Cloro")} — most reliable, every surface, ~$0.65/mo per prompt ($30/mo min)`,
1076
1103
  ` • ${pc.cyan("BrightData")} — pay-as-you-go and cheaper, but slower, ~$0.45/mo per prompt`,
1077
1104
  ` • ${pc.cyan("Oxylabs")} — cheapest per run, no Gemini/Copilot, $49/mo min`,
1105
+ ` • ${pc.cyan("SearchApi")} — flat per-search, every surface, ~$1.20/mo per prompt ($40/mo min)`,
1078
1106
  ` • ${pc.cyan("Olostep")} — premium, built for high volume, ~$2.25/mo per prompt`,
1079
1107
  ` • ${pc.cyan("DataForSEO")} — pay-as-you-go, scrapers + direct APIs, ~$1.20/mo per prompt`,
1080
1108
  "",
@@ -1118,6 +1146,10 @@ async function configureProvidersRecommended(env) {
1118
1146
  value: "oxylabs",
1119
1147
  label: "Oxylabs — cheapest per run, no Gemini/Copilot ($49/mo min)"
1120
1148
  },
1149
+ {
1150
+ value: "searchapi",
1151
+ label: "SearchApi — flat per-search, every surface (~$1.20/mo per prompt, $40/mo min)"
1152
+ },
1121
1153
  {
1122
1154
  value: "olostep",
1123
1155
  label: "Olostep — premium, built for high volume (~$2.25/mo per prompt)"
@@ -1326,7 +1358,7 @@ async function runInit(options, version) {
1326
1358
  postgres_mode: postgresMode,
1327
1359
  dev_mode: Boolean(options.dev),
1328
1360
  setup_mode: setupMode,
1329
- has_scraper: Boolean(env.BRIGHTDATA_API_TOKEN || env.OLOSTEP_API_KEY || env.OXYLABS_USERNAME || env.CLORO_API_KEY),
1361
+ has_scraper: Boolean(env.BRIGHTDATA_API_TOKEN || env.SEARCHAPI_API_KEY || env.OLOSTEP_API_KEY || env.OXYLABS_USERNAME || env.CLORO_API_KEY),
1330
1362
  has_direct_api: hasDirectApiConfigured(env)
1331
1363
  });
1332
1364
  if (email) await submitNewsletterSignup(configDir, email);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elmohq/cli",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "marketing",
@@ -38,7 +38,7 @@
38
38
  "devDependencies": {
39
39
  "@types/node": "^26.4.1",
40
40
  "@types/semver": "^7.8.0",
41
- "@workspace/config": "0.4.1",
41
+ "@workspace/config": "0.4.2",
42
42
  "rolldown": "^1.2.7",
43
43
  "typescript": "^7.0.2",
44
44
  "vitest": "^4.1.11"