@koda-sl/baker-cli 0.32.0-dev.31ee8d9c → 0.34.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.
Files changed (650) hide show
  1. package/README.md +101 -12
  2. package/package.json +1 -1
  3. package/dist/cli.d.ts +0 -3
  4. package/dist/cli.d.ts.map +0 -1
  5. package/dist/cli.js +0 -37
  6. package/dist/cli.js.map +0 -1
  7. package/dist/client.d.ts +0 -12
  8. package/dist/client.d.ts.map +0 -1
  9. package/dist/client.js +0 -153
  10. package/dist/client.js.map +0 -1
  11. package/dist/commands/actions/claim.d.ts +0 -13
  12. package/dist/commands/actions/claim.d.ts.map +0 -1
  13. package/dist/commands/actions/claim.js +0 -45
  14. package/dist/commands/actions/claim.js.map +0 -1
  15. package/dist/commands/actions/complete.d.ts +0 -18
  16. package/dist/commands/actions/complete.d.ts.map +0 -1
  17. package/dist/commands/actions/complete.js +0 -42
  18. package/dist/commands/actions/complete.js.map +0 -1
  19. package/dist/commands/actions/create.d.ts +0 -24
  20. package/dist/commands/actions/create.d.ts.map +0 -1
  21. package/dist/commands/actions/create.js +0 -68
  22. package/dist/commands/actions/create.js.map +0 -1
  23. package/dist/commands/actions/discard.d.ts +0 -18
  24. package/dist/commands/actions/discard.d.ts.map +0 -1
  25. package/dist/commands/actions/discard.js +0 -44
  26. package/dist/commands/actions/discard.js.map +0 -1
  27. package/dist/commands/actions/get.d.ts +0 -13
  28. package/dist/commands/actions/get.d.ts.map +0 -1
  29. package/dist/commands/actions/get.js +0 -34
  30. package/dist/commands/actions/get.js.map +0 -1
  31. package/dist/commands/actions/index.d.ts +0 -2
  32. package/dist/commands/actions/index.d.ts.map +0 -1
  33. package/dist/commands/actions/index.js +0 -43
  34. package/dist/commands/actions/index.js.map +0 -1
  35. package/dist/commands/actions/link.d.ts +0 -13
  36. package/dist/commands/actions/link.d.ts.map +0 -1
  37. package/dist/commands/actions/link.js +0 -43
  38. package/dist/commands/actions/link.js.map +0 -1
  39. package/dist/commands/actions/list.d.ts +0 -19
  40. package/dist/commands/actions/list.d.ts.map +0 -1
  41. package/dist/commands/actions/list.js +0 -66
  42. package/dist/commands/actions/list.js.map +0 -1
  43. package/dist/commands/actions/release.d.ts +0 -13
  44. package/dist/commands/actions/release.d.ts.map +0 -1
  45. package/dist/commands/actions/release.js +0 -38
  46. package/dist/commands/actions/release.js.map +0 -1
  47. package/dist/commands/actions/shared.d.ts +0 -6
  48. package/dist/commands/actions/shared.d.ts.map +0 -1
  49. package/dist/commands/actions/shared.js +0 -28
  50. package/dist/commands/actions/shared.js.map +0 -1
  51. package/dist/commands/actions/tag/add.d.ts +0 -18
  52. package/dist/commands/actions/tag/add.d.ts.map +0 -1
  53. package/dist/commands/actions/tag/add.js +0 -47
  54. package/dist/commands/actions/tag/add.js.map +0 -1
  55. package/dist/commands/actions/tag/create.d.ts +0 -23
  56. package/dist/commands/actions/tag/create.d.ts.map +0 -1
  57. package/dist/commands/actions/tag/create.js +0 -50
  58. package/dist/commands/actions/tag/create.js.map +0 -1
  59. package/dist/commands/actions/tag/delete.d.ts +0 -13
  60. package/dist/commands/actions/tag/delete.d.ts.map +0 -1
  61. package/dist/commands/actions/tag/delete.js +0 -36
  62. package/dist/commands/actions/tag/delete.js.map +0 -1
  63. package/dist/commands/actions/tag/index.d.ts +0 -2
  64. package/dist/commands/actions/tag/index.d.ts.map +0 -1
  65. package/dist/commands/actions/tag/index.js +0 -32
  66. package/dist/commands/actions/tag/index.js.map +0 -1
  67. package/dist/commands/actions/tag/list.d.ts +0 -2
  68. package/dist/commands/actions/tag/list.d.ts.map +0 -1
  69. package/dist/commands/actions/tag/list.js +0 -24
  70. package/dist/commands/actions/tag/list.js.map +0 -1
  71. package/dist/commands/actions/tag/remove.d.ts +0 -18
  72. package/dist/commands/actions/tag/remove.d.ts.map +0 -1
  73. package/dist/commands/actions/tag/remove.js +0 -48
  74. package/dist/commands/actions/tag/remove.js.map +0 -1
  75. package/dist/commands/actions/tag/update.d.ts +0 -28
  76. package/dist/commands/actions/tag/update.d.ts.map +0 -1
  77. package/dist/commands/actions/tag/update.js +0 -50
  78. package/dist/commands/actions/tag/update.js.map +0 -1
  79. package/dist/commands/actions/unlink.d.ts +0 -13
  80. package/dist/commands/actions/unlink.d.ts.map +0 -1
  81. package/dist/commands/actions/unlink.js +0 -45
  82. package/dist/commands/actions/unlink.js.map +0 -1
  83. package/dist/commands/actions/update.d.ts +0 -23
  84. package/dist/commands/actions/update.d.ts.map +0 -1
  85. package/dist/commands/actions/update.js +0 -50
  86. package/dist/commands/actions/update.js.map +0 -1
  87. package/dist/commands/ads/cache.d.ts +0 -7
  88. package/dist/commands/ads/cache.d.ts.map +0 -1
  89. package/dist/commands/ads/cache.js +0 -73
  90. package/dist/commands/ads/cache.js.map +0 -1
  91. package/dist/commands/ads/cache.test.d.ts +0 -2
  92. package/dist/commands/ads/cache.test.d.ts.map +0 -1
  93. package/dist/commands/ads/cache.test.js +0 -44
  94. package/dist/commands/ads/cache.test.js.map +0 -1
  95. package/dist/commands/ads/field-descriptions.d.ts +0 -2
  96. package/dist/commands/ads/field-descriptions.d.ts.map +0 -1
  97. package/dist/commands/ads/field-descriptions.js +0 -91
  98. package/dist/commands/ads/field-descriptions.js.map +0 -1
  99. package/dist/commands/ads/google/accounts.d.ts +0 -14
  100. package/dist/commands/ads/google/accounts.d.ts.map +0 -1
  101. package/dist/commands/ads/google/accounts.js +0 -76
  102. package/dist/commands/ads/google/accounts.js.map +0 -1
  103. package/dist/commands/ads/google/changes.d.ts +0 -34
  104. package/dist/commands/ads/google/changes.d.ts.map +0 -1
  105. package/dist/commands/ads/google/changes.js +0 -80
  106. package/dist/commands/ads/google/changes.js.map +0 -1
  107. package/dist/commands/ads/google/correction-table.d.ts +0 -3
  108. package/dist/commands/ads/google/correction-table.d.ts.map +0 -1
  109. package/dist/commands/ads/google/correction-table.js +0 -352
  110. package/dist/commands/ads/google/correction-table.js.map +0 -1
  111. package/dist/commands/ads/google/currency.d.ts +0 -13
  112. package/dist/commands/ads/google/currency.d.ts.map +0 -1
  113. package/dist/commands/ads/google/currency.js +0 -68
  114. package/dist/commands/ads/google/currency.js.map +0 -1
  115. package/dist/commands/ads/google/error-parser.d.ts +0 -3
  116. package/dist/commands/ads/google/error-parser.d.ts.map +0 -1
  117. package/dist/commands/ads/google/error-parser.js +0 -91
  118. package/dist/commands/ads/google/error-parser.js.map +0 -1
  119. package/dist/commands/ads/google/error-parser.test.d.ts +0 -2
  120. package/dist/commands/ads/google/error-parser.test.d.ts.map +0 -1
  121. package/dist/commands/ads/google/error-parser.test.js +0 -48
  122. package/dist/commands/ads/google/error-parser.test.js.map +0 -1
  123. package/dist/commands/ads/google/index.d.ts +0 -2
  124. package/dist/commands/ads/google/index.d.ts.map +0 -1
  125. package/dist/commands/ads/google/index.js +0 -34
  126. package/dist/commands/ads/google/index.js.map +0 -1
  127. package/dist/commands/ads/google/keywords/discover.d.ts +0 -49
  128. package/dist/commands/ads/google/keywords/discover.d.ts.map +0 -1
  129. package/dist/commands/ads/google/keywords/discover.js +0 -151
  130. package/dist/commands/ads/google/keywords/discover.js.map +0 -1
  131. package/dist/commands/ads/google/keywords/index.d.ts +0 -2
  132. package/dist/commands/ads/google/keywords/index.d.ts.map +0 -1
  133. package/dist/commands/ads/google/keywords/index.js +0 -24
  134. package/dist/commands/ads/google/keywords/index.js.map +0 -1
  135. package/dist/commands/ads/google/keywords/languages.d.ts +0 -2
  136. package/dist/commands/ads/google/keywords/languages.d.ts.map +0 -1
  137. package/dist/commands/ads/google/keywords/languages.js +0 -23
  138. package/dist/commands/ads/google/keywords/languages.js.map +0 -1
  139. package/dist/commands/ads/google/keywords/locations.d.ts +0 -2
  140. package/dist/commands/ads/google/keywords/locations.d.ts.map +0 -1
  141. package/dist/commands/ads/google/keywords/locations.js +0 -23
  142. package/dist/commands/ads/google/keywords/locations.js.map +0 -1
  143. package/dist/commands/ads/google/keywords/metrics.d.ts +0 -34
  144. package/dist/commands/ads/google/keywords/metrics.d.ts.map +0 -1
  145. package/dist/commands/ads/google/keywords/metrics.js +0 -123
  146. package/dist/commands/ads/google/keywords/metrics.js.map +0 -1
  147. package/dist/commands/ads/google/library/index.d.ts +0 -3
  148. package/dist/commands/ads/google/library/index.d.ts.map +0 -1
  149. package/dist/commands/ads/google/library/index.js +0 -279
  150. package/dist/commands/ads/google/library/index.js.map +0 -1
  151. package/dist/commands/ads/google/library/index.test.d.ts +0 -2
  152. package/dist/commands/ads/google/library/index.test.d.ts.map +0 -1
  153. package/dist/commands/ads/google/library/index.test.js +0 -26
  154. package/dist/commands/ads/google/library/index.test.js.map +0 -1
  155. package/dist/commands/ads/google/preflight.d.ts +0 -3
  156. package/dist/commands/ads/google/preflight.d.ts.map +0 -1
  157. package/dist/commands/ads/google/preflight.js +0 -122
  158. package/dist/commands/ads/google/preflight.js.map +0 -1
  159. package/dist/commands/ads/google/preflight.test.d.ts +0 -2
  160. package/dist/commands/ads/google/preflight.test.d.ts.map +0 -1
  161. package/dist/commands/ads/google/preflight.test.js +0 -50
  162. package/dist/commands/ads/google/preflight.test.js.map +0 -1
  163. package/dist/commands/ads/google/presets.d.ts +0 -12
  164. package/dist/commands/ads/google/presets.d.ts.map +0 -1
  165. package/dist/commands/ads/google/presets.js +0 -85
  166. package/dist/commands/ads/google/presets.js.map +0 -1
  167. package/dist/commands/ads/google/presets.test.d.ts +0 -2
  168. package/dist/commands/ads/google/presets.test.d.ts.map +0 -1
  169. package/dist/commands/ads/google/presets.test.js +0 -79
  170. package/dist/commands/ads/google/presets.test.js.map +0 -1
  171. package/dist/commands/ads/google/query.d.ts +0 -64
  172. package/dist/commands/ads/google/query.d.ts.map +0 -1
  173. package/dist/commands/ads/google/query.js +0 -304
  174. package/dist/commands/ads/google/query.js.map +0 -1
  175. package/dist/commands/ads/index.d.ts +0 -2
  176. package/dist/commands/ads/index.d.ts.map +0 -1
  177. package/dist/commands/ads/index.js +0 -34
  178. package/dist/commands/ads/index.js.map +0 -1
  179. package/dist/commands/ads/linkedin/account.d.ts +0 -20
  180. package/dist/commands/ads/linkedin/account.d.ts.map +0 -1
  181. package/dist/commands/ads/linkedin/account.js +0 -39
  182. package/dist/commands/ads/linkedin/account.js.map +0 -1
  183. package/dist/commands/ads/linkedin/accounts.d.ts +0 -20
  184. package/dist/commands/ads/linkedin/accounts.d.ts.map +0 -1
  185. package/dist/commands/ads/linkedin/accounts.js +0 -56
  186. package/dist/commands/ads/linkedin/accounts.js.map +0 -1
  187. package/dist/commands/ads/linkedin/analytics.d.ts +0 -84
  188. package/dist/commands/ads/linkedin/analytics.d.ts.map +0 -1
  189. package/dist/commands/ads/linkedin/analytics.js +0 -249
  190. package/dist/commands/ads/linkedin/analytics.js.map +0 -1
  191. package/dist/commands/ads/linkedin/audience-size.d.ts +0 -28
  192. package/dist/commands/ads/linkedin/audience-size.d.ts.map +0 -1
  193. package/dist/commands/ads/linkedin/audience-size.js +0 -75
  194. package/dist/commands/ads/linkedin/audience-size.js.map +0 -1
  195. package/dist/commands/ads/linkedin/audit.d.ts +0 -35
  196. package/dist/commands/ads/linkedin/audit.d.ts.map +0 -1
  197. package/dist/commands/ads/linkedin/audit.js +0 -136
  198. package/dist/commands/ads/linkedin/audit.js.map +0 -1
  199. package/dist/commands/ads/linkedin/bid-pricing.d.ts +0 -38
  200. package/dist/commands/ads/linkedin/bid-pricing.d.ts.map +0 -1
  201. package/dist/commands/ads/linkedin/bid-pricing.js +0 -76
  202. package/dist/commands/ads/linkedin/bid-pricing.js.map +0 -1
  203. package/dist/commands/ads/linkedin/campaign-groups.d.ts +0 -32
  204. package/dist/commands/ads/linkedin/campaign-groups.d.ts.map +0 -1
  205. package/dist/commands/ads/linkedin/campaign-groups.js +0 -50
  206. package/dist/commands/ads/linkedin/campaign-groups.js.map +0 -1
  207. package/dist/commands/ads/linkedin/campaigns.d.ts +0 -36
  208. package/dist/commands/ads/linkedin/campaigns.d.ts.map +0 -1
  209. package/dist/commands/ads/linkedin/campaigns.js +0 -57
  210. package/dist/commands/ads/linkedin/campaigns.js.map +0 -1
  211. package/dist/commands/ads/linkedin/conversation.d.ts +0 -36
  212. package/dist/commands/ads/linkedin/conversation.d.ts.map +0 -1
  213. package/dist/commands/ads/linkedin/conversation.js +0 -77
  214. package/dist/commands/ads/linkedin/conversation.js.map +0 -1
  215. package/dist/commands/ads/linkedin/conversions.d.ts +0 -2
  216. package/dist/commands/ads/linkedin/conversions.d.ts.map +0 -1
  217. package/dist/commands/ads/linkedin/conversions.js +0 -102
  218. package/dist/commands/ads/linkedin/conversions.js.map +0 -1
  219. package/dist/commands/ads/linkedin/creatives.d.ts +0 -36
  220. package/dist/commands/ads/linkedin/creatives.d.ts.map +0 -1
  221. package/dist/commands/ads/linkedin/creatives.js +0 -57
  222. package/dist/commands/ads/linkedin/creatives.js.map +0 -1
  223. package/dist/commands/ads/linkedin/demographics.d.ts +0 -40
  224. package/dist/commands/ads/linkedin/demographics.d.ts.map +0 -1
  225. package/dist/commands/ads/linkedin/demographics.js +0 -117
  226. package/dist/commands/ads/linkedin/demographics.js.map +0 -1
  227. package/dist/commands/ads/linkedin/facets.d.ts +0 -2
  228. package/dist/commands/ads/linkedin/facets.d.ts.map +0 -1
  229. package/dist/commands/ads/linkedin/facets.js +0 -95
  230. package/dist/commands/ads/linkedin/facets.js.map +0 -1
  231. package/dist/commands/ads/linkedin/forecast.d.ts +0 -50
  232. package/dist/commands/ads/linkedin/forecast.d.ts.map +0 -1
  233. package/dist/commands/ads/linkedin/forecast.js +0 -83
  234. package/dist/commands/ads/linkedin/forecast.js.map +0 -1
  235. package/dist/commands/ads/linkedin/index.d.ts +0 -19
  236. package/dist/commands/ads/linkedin/index.d.ts.map +0 -1
  237. package/dist/commands/ads/linkedin/index.js +0 -83
  238. package/dist/commands/ads/linkedin/index.js.map +0 -1
  239. package/dist/commands/ads/linkedin/leads.d.ts +0 -40
  240. package/dist/commands/ads/linkedin/leads.d.ts.map +0 -1
  241. package/dist/commands/ads/linkedin/leads.js +0 -75
  242. package/dist/commands/ads/linkedin/leads.js.map +0 -1
  243. package/dist/commands/ads/linkedin/presets.d.ts +0 -40
  244. package/dist/commands/ads/linkedin/presets.d.ts.map +0 -1
  245. package/dist/commands/ads/linkedin/presets.js +0 -193
  246. package/dist/commands/ads/linkedin/presets.js.map +0 -1
  247. package/dist/commands/ads/linkedin/presets.test.d.ts +0 -2
  248. package/dist/commands/ads/linkedin/presets.test.d.ts.map +0 -1
  249. package/dist/commands/ads/linkedin/presets.test.js +0 -98
  250. package/dist/commands/ads/linkedin/presets.test.js.map +0 -1
  251. package/dist/commands/ads/linkedin/schemas.d.ts +0 -2
  252. package/dist/commands/ads/linkedin/schemas.d.ts.map +0 -1
  253. package/dist/commands/ads/linkedin/schemas.js +0 -300
  254. package/dist/commands/ads/linkedin/schemas.js.map +0 -1
  255. package/dist/commands/ads/linkedin/shared.d.ts +0 -17
  256. package/dist/commands/ads/linkedin/shared.d.ts.map +0 -1
  257. package/dist/commands/ads/linkedin/shared.js +0 -116
  258. package/dist/commands/ads/linkedin/shared.js.map +0 -1
  259. package/dist/commands/ads/linkedin/top-companies.d.ts +0 -44
  260. package/dist/commands/ads/linkedin/top-companies.d.ts.map +0 -1
  261. package/dist/commands/ads/linkedin/top-companies.js +0 -86
  262. package/dist/commands/ads/linkedin/top-companies.js.map +0 -1
  263. package/dist/commands/ads/meta/account.d.ts +0 -11
  264. package/dist/commands/ads/meta/account.d.ts.map +0 -1
  265. package/dist/commands/ads/meta/account.js +0 -32
  266. package/dist/commands/ads/meta/account.js.map +0 -1
  267. package/dist/commands/ads/meta/accounts.d.ts +0 -20
  268. package/dist/commands/ads/meta/accounts.d.ts.map +0 -1
  269. package/dist/commands/ads/meta/accounts.js +0 -55
  270. package/dist/commands/ads/meta/accounts.js.map +0 -1
  271. package/dist/commands/ads/meta/activities.d.ts +0 -24
  272. package/dist/commands/ads/meta/activities.d.ts.map +0 -1
  273. package/dist/commands/ads/meta/activities.js +0 -44
  274. package/dist/commands/ads/meta/activities.js.map +0 -1
  275. package/dist/commands/ads/meta/ads.d.ts +0 -36
  276. package/dist/commands/ads/meta/ads.d.ts.map +0 -1
  277. package/dist/commands/ads/meta/ads.js +0 -57
  278. package/dist/commands/ads/meta/ads.js.map +0 -1
  279. package/dist/commands/ads/meta/adsets.d.ts +0 -32
  280. package/dist/commands/ads/meta/adsets.d.ts.map +0 -1
  281. package/dist/commands/ads/meta/adsets.js +0 -50
  282. package/dist/commands/ads/meta/adsets.js.map +0 -1
  283. package/dist/commands/ads/meta/audiences.d.ts +0 -20
  284. package/dist/commands/ads/meta/audiences.d.ts.map +0 -1
  285. package/dist/commands/ads/meta/audiences.js +0 -41
  286. package/dist/commands/ads/meta/audiences.js.map +0 -1
  287. package/dist/commands/ads/meta/businesses.d.ts +0 -12
  288. package/dist/commands/ads/meta/businesses.d.ts.map +0 -1
  289. package/dist/commands/ads/meta/businesses.js +0 -35
  290. package/dist/commands/ads/meta/businesses.js.map +0 -1
  291. package/dist/commands/ads/meta/campaigns.d.ts +0 -28
  292. package/dist/commands/ads/meta/campaigns.d.ts.map +0 -1
  293. package/dist/commands/ads/meta/campaigns.js +0 -51
  294. package/dist/commands/ads/meta/campaigns.js.map +0 -1
  295. package/dist/commands/ads/meta/creatives.d.ts +0 -24
  296. package/dist/commands/ads/meta/creatives.d.ts.map +0 -1
  297. package/dist/commands/ads/meta/creatives.js +0 -51
  298. package/dist/commands/ads/meta/creatives.js.map +0 -1
  299. package/dist/commands/ads/meta/index.d.ts +0 -17
  300. package/dist/commands/ads/meta/index.d.ts.map +0 -1
  301. package/dist/commands/ads/meta/index.js +0 -79
  302. package/dist/commands/ads/meta/index.js.map +0 -1
  303. package/dist/commands/ads/meta/insights.d.ts +0 -92
  304. package/dist/commands/ads/meta/insights.d.ts.map +0 -1
  305. package/dist/commands/ads/meta/insights.js +0 -260
  306. package/dist/commands/ads/meta/insights.js.map +0 -1
  307. package/dist/commands/ads/meta/pixels.d.ts +0 -33
  308. package/dist/commands/ads/meta/pixels.d.ts.map +0 -1
  309. package/dist/commands/ads/meta/pixels.js +0 -76
  310. package/dist/commands/ads/meta/pixels.js.map +0 -1
  311. package/dist/commands/ads/meta/presets.d.ts +0 -30
  312. package/dist/commands/ads/meta/presets.d.ts.map +0 -1
  313. package/dist/commands/ads/meta/presets.js +0 -86
  314. package/dist/commands/ads/meta/presets.js.map +0 -1
  315. package/dist/commands/ads/meta/preview.d.ts +0 -32
  316. package/dist/commands/ads/meta/preview.d.ts.map +0 -1
  317. package/dist/commands/ads/meta/preview.js +0 -90
  318. package/dist/commands/ads/meta/preview.js.map +0 -1
  319. package/dist/commands/ads/meta/shared.d.ts +0 -18
  320. package/dist/commands/ads/meta/shared.d.ts.map +0 -1
  321. package/dist/commands/ads/meta/shared.js +0 -86
  322. package/dist/commands/ads/meta/shared.js.map +0 -1
  323. package/dist/commands/ads/output.d.ts +0 -22
  324. package/dist/commands/ads/output.d.ts.map +0 -1
  325. package/dist/commands/ads/output.js +0 -130
  326. package/dist/commands/ads/output.js.map +0 -1
  327. package/dist/commands/ads/output.test.d.ts +0 -2
  328. package/dist/commands/ads/output.test.d.ts.map +0 -1
  329. package/dist/commands/ads/output.test.js +0 -100
  330. package/dist/commands/ads/output.test.js.map +0 -1
  331. package/dist/commands/ads/types.d.ts +0 -69
  332. package/dist/commands/ads/types.d.ts.map +0 -1
  333. package/dist/commands/ads/types.js +0 -2
  334. package/dist/commands/ads/types.js.map +0 -1
  335. package/dist/commands/ads/x/accounts.d.ts +0 -14
  336. package/dist/commands/ads/x/accounts.d.ts.map +0 -1
  337. package/dist/commands/ads/x/accounts.js +0 -73
  338. package/dist/commands/ads/x/accounts.js.map +0 -1
  339. package/dist/commands/ads/x/active-entities.d.ts +0 -43
  340. package/dist/commands/ads/x/active-entities.d.ts.map +0 -1
  341. package/dist/commands/ads/x/active-entities.js +0 -88
  342. package/dist/commands/ads/x/active-entities.js.map +0 -1
  343. package/dist/commands/ads/x/audiences.d.ts +0 -19
  344. package/dist/commands/ads/x/audiences.d.ts.map +0 -1
  345. package/dist/commands/ads/x/audiences.js +0 -65
  346. package/dist/commands/ads/x/audiences.js.map +0 -1
  347. package/dist/commands/ads/x/campaigns.d.ts +0 -34
  348. package/dist/commands/ads/x/campaigns.d.ts.map +0 -1
  349. package/dist/commands/ads/x/campaigns.js +0 -56
  350. package/dist/commands/ads/x/campaigns.js.map +0 -1
  351. package/dist/commands/ads/x/cards.d.ts +0 -19
  352. package/dist/commands/ads/x/cards.d.ts.map +0 -1
  353. package/dist/commands/ads/x/cards.js +0 -65
  354. package/dist/commands/ads/x/cards.js.map +0 -1
  355. package/dist/commands/ads/x/error-parser.d.ts +0 -3
  356. package/dist/commands/ads/x/error-parser.d.ts.map +0 -1
  357. package/dist/commands/ads/x/error-parser.js +0 -80
  358. package/dist/commands/ads/x/error-parser.js.map +0 -1
  359. package/dist/commands/ads/x/funding.d.ts +0 -19
  360. package/dist/commands/ads/x/funding.d.ts.map +0 -1
  361. package/dist/commands/ads/x/funding.js +0 -65
  362. package/dist/commands/ads/x/funding.js.map +0 -1
  363. package/dist/commands/ads/x/index.d.ts +0 -2
  364. package/dist/commands/ads/x/index.d.ts.map +0 -1
  365. package/dist/commands/ads/x/index.js +0 -50
  366. package/dist/commands/ads/x/index.js.map +0 -1
  367. package/dist/commands/ads/x/line-items.d.ts +0 -34
  368. package/dist/commands/ads/x/line-items.d.ts.map +0 -1
  369. package/dist/commands/ads/x/line-items.js +0 -55
  370. package/dist/commands/ads/x/line-items.js.map +0 -1
  371. package/dist/commands/ads/x/media.d.ts +0 -24
  372. package/dist/commands/ads/x/media.d.ts.map +0 -1
  373. package/dist/commands/ads/x/media.js +0 -70
  374. package/dist/commands/ads/x/media.js.map +0 -1
  375. package/dist/commands/ads/x/output.d.ts +0 -13
  376. package/dist/commands/ads/x/output.d.ts.map +0 -1
  377. package/dist/commands/ads/x/output.js +0 -75
  378. package/dist/commands/ads/x/output.js.map +0 -1
  379. package/dist/commands/ads/x/presets.d.ts +0 -15
  380. package/dist/commands/ads/x/presets.d.ts.map +0 -1
  381. package/dist/commands/ads/x/presets.js +0 -60
  382. package/dist/commands/ads/x/presets.js.map +0 -1
  383. package/dist/commands/ads/x/promoted-tweets.d.ts +0 -29
  384. package/dist/commands/ads/x/promoted-tweets.d.ts.map +0 -1
  385. package/dist/commands/ads/x/promoted-tweets.js +0 -74
  386. package/dist/commands/ads/x/promoted-tweets.js.map +0 -1
  387. package/dist/commands/ads/x/run-list.d.ts +0 -17
  388. package/dist/commands/ads/x/run-list.d.ts.map +0 -1
  389. package/dist/commands/ads/x/run-list.js +0 -60
  390. package/dist/commands/ads/x/run-list.js.map +0 -1
  391. package/dist/commands/ads/x/stats/index.d.ts +0 -2
  392. package/dist/commands/ads/x/stats/index.d.ts.map +0 -1
  393. package/dist/commands/ads/x/stats/index.js +0 -32
  394. package/dist/commands/ads/x/stats/index.js.map +0 -1
  395. package/dist/commands/ads/x/stats/job-create.d.ts +0 -58
  396. package/dist/commands/ads/x/stats/job-create.d.ts.map +0 -1
  397. package/dist/commands/ads/x/stats/job-create.js +0 -95
  398. package/dist/commands/ads/x/stats/job-create.js.map +0 -1
  399. package/dist/commands/ads/x/stats/job-status.d.ts +0 -18
  400. package/dist/commands/ads/x/stats/job-status.d.ts.map +0 -1
  401. package/dist/commands/ads/x/stats/job-status.js +0 -58
  402. package/dist/commands/ads/x/stats/job-status.js.map +0 -1
  403. package/dist/commands/ads/x/stats/job.d.ts +0 -63
  404. package/dist/commands/ads/x/stats/job.d.ts.map +0 -1
  405. package/dist/commands/ads/x/stats/job.js +0 -183
  406. package/dist/commands/ads/x/stats/job.js.map +0 -1
  407. package/dist/commands/ads/x/stats/sync.d.ts +0 -73
  408. package/dist/commands/ads/x/stats/sync.d.ts.map +0 -1
  409. package/dist/commands/ads/x/stats/sync.js +0 -151
  410. package/dist/commands/ads/x/stats/sync.js.map +0 -1
  411. package/dist/commands/ads/x/targeting-constants.d.ts +0 -34
  412. package/dist/commands/ads/x/targeting-constants.d.ts.map +0 -1
  413. package/dist/commands/ads/x/targeting-constants.js +0 -80
  414. package/dist/commands/ads/x/targeting-constants.js.map +0 -1
  415. package/dist/commands/ads/x/targeting-criteria.d.ts +0 -24
  416. package/dist/commands/ads/x/targeting-criteria.d.ts.map +0 -1
  417. package/dist/commands/ads/x/targeting-criteria.js +0 -69
  418. package/dist/commands/ads/x/targeting-criteria.js.map +0 -1
  419. package/dist/commands/ga4/audit.d.ts +0 -13
  420. package/dist/commands/ga4/audit.d.ts.map +0 -1
  421. package/dist/commands/ga4/audit.js +0 -67
  422. package/dist/commands/ga4/audit.js.map +0 -1
  423. package/dist/commands/ga4/index.d.ts +0 -2
  424. package/dist/commands/ga4/index.d.ts.map +0 -1
  425. package/dist/commands/ga4/index.js +0 -26
  426. package/dist/commands/ga4/index.js.map +0 -1
  427. package/dist/commands/ga4/presets.d.ts +0 -8
  428. package/dist/commands/ga4/presets.d.ts.map +0 -1
  429. package/dist/commands/ga4/presets.js +0 -33
  430. package/dist/commands/ga4/presets.js.map +0 -1
  431. package/dist/commands/ga4/properties.d.ts +0 -14
  432. package/dist/commands/ga4/properties.d.ts.map +0 -1
  433. package/dist/commands/ga4/properties.js +0 -61
  434. package/dist/commands/ga4/properties.js.map +0 -1
  435. package/dist/commands/ga4/query.d.ts +0 -69
  436. package/dist/commands/ga4/query.d.ts.map +0 -1
  437. package/dist/commands/ga4/query.js +0 -184
  438. package/dist/commands/ga4/query.js.map +0 -1
  439. package/dist/commands/ga4/resolve.d.ts +0 -2
  440. package/dist/commands/ga4/resolve.d.ts.map +0 -1
  441. package/dist/commands/ga4/resolve.js +0 -57
  442. package/dist/commands/ga4/resolve.js.map +0 -1
  443. package/dist/commands/gsc/index.d.ts +0 -2
  444. package/dist/commands/gsc/index.d.ts.map +0 -1
  445. package/dist/commands/gsc/index.js +0 -26
  446. package/dist/commands/gsc/index.js.map +0 -1
  447. package/dist/commands/gsc/presets.d.ts +0 -9
  448. package/dist/commands/gsc/presets.d.ts.map +0 -1
  449. package/dist/commands/gsc/presets.js +0 -34
  450. package/dist/commands/gsc/presets.js.map +0 -1
  451. package/dist/commands/gsc/query.d.ts +0 -79
  452. package/dist/commands/gsc/query.d.ts.map +0 -1
  453. package/dist/commands/gsc/query.js +0 -196
  454. package/dist/commands/gsc/query.js.map +0 -1
  455. package/dist/commands/gsc/resolve.d.ts +0 -2
  456. package/dist/commands/gsc/resolve.d.ts.map +0 -1
  457. package/dist/commands/gsc/resolve.js +0 -57
  458. package/dist/commands/gsc/resolve.js.map +0 -1
  459. package/dist/commands/gsc/sitemaps.d.ts +0 -19
  460. package/dist/commands/gsc/sitemaps.d.ts.map +0 -1
  461. package/dist/commands/gsc/sitemaps.js +0 -65
  462. package/dist/commands/gsc/sitemaps.js.map +0 -1
  463. package/dist/commands/gsc/sites.d.ts +0 -14
  464. package/dist/commands/gsc/sites.d.ts.map +0 -1
  465. package/dist/commands/gsc/sites.js +0 -61
  466. package/dist/commands/gsc/sites.js.map +0 -1
  467. package/dist/commands/images/delete.d.ts +0 -19
  468. package/dist/commands/images/delete.d.ts.map +0 -1
  469. package/dist/commands/images/delete.js +0 -58
  470. package/dist/commands/images/delete.js.map +0 -1
  471. package/dist/commands/images/extract.d.ts +0 -23
  472. package/dist/commands/images/extract.d.ts.map +0 -1
  473. package/dist/commands/images/extract.js +0 -53
  474. package/dist/commands/images/extract.js.map +0 -1
  475. package/dist/commands/images/find.d.ts +0 -33
  476. package/dist/commands/images/find.d.ts.map +0 -1
  477. package/dist/commands/images/find.js +0 -70
  478. package/dist/commands/images/find.js.map +0 -1
  479. package/dist/commands/images/get.d.ts +0 -30
  480. package/dist/commands/images/get.d.ts.map +0 -1
  481. package/dist/commands/images/get.js +0 -42
  482. package/dist/commands/images/get.js.map +0 -1
  483. package/dist/commands/images/gif.d.ts +0 -33
  484. package/dist/commands/images/gif.d.ts.map +0 -1
  485. package/dist/commands/images/gif.js +0 -81
  486. package/dist/commands/images/gif.js.map +0 -1
  487. package/dist/commands/images/google.d.ts +0 -38
  488. package/dist/commands/images/google.d.ts.map +0 -1
  489. package/dist/commands/images/google.js +0 -77
  490. package/dist/commands/images/google.js.map +0 -1
  491. package/dist/commands/images/icon.d.ts +0 -23
  492. package/dist/commands/images/icon.d.ts.map +0 -1
  493. package/dist/commands/images/icon.js +0 -57
  494. package/dist/commands/images/icon.js.map +0 -1
  495. package/dist/commands/images/index.d.ts +0 -2
  496. package/dist/commands/images/index.d.ts.map +0 -1
  497. package/dist/commands/images/index.js +0 -63
  498. package/dist/commands/images/index.js.map +0 -1
  499. package/dist/commands/images/ingest.d.ts +0 -28
  500. package/dist/commands/images/ingest.d.ts.map +0 -1
  501. package/dist/commands/images/ingest.js +0 -60
  502. package/dist/commands/images/ingest.js.map +0 -1
  503. package/dist/commands/images/library.d.ts +0 -55
  504. package/dist/commands/images/library.d.ts.map +0 -1
  505. package/dist/commands/images/library.js +0 -86
  506. package/dist/commands/images/library.js.map +0 -1
  507. package/dist/commands/images/logo.d.ts +0 -18
  508. package/dist/commands/images/logo.d.ts.map +0 -1
  509. package/dist/commands/images/logo.js +0 -49
  510. package/dist/commands/images/logo.js.map +0 -1
  511. package/dist/commands/images/meme.d.ts +0 -28
  512. package/dist/commands/images/meme.d.ts.map +0 -1
  513. package/dist/commands/images/meme.js +0 -66
  514. package/dist/commands/images/meme.js.map +0 -1
  515. package/dist/commands/images/screenshot.d.ts +0 -23
  516. package/dist/commands/images/screenshot.d.ts.map +0 -1
  517. package/dist/commands/images/screenshot.js +0 -64
  518. package/dist/commands/images/screenshot.js.map +0 -1
  519. package/dist/commands/images/search.d.ts +0 -45
  520. package/dist/commands/images/search.d.ts.map +0 -1
  521. package/dist/commands/images/search.js +0 -74
  522. package/dist/commands/images/search.js.map +0 -1
  523. package/dist/commands/images/sticker.d.ts +0 -33
  524. package/dist/commands/images/sticker.d.ts.map +0 -1
  525. package/dist/commands/images/sticker.js +0 -81
  526. package/dist/commands/images/sticker.js.map +0 -1
  527. package/dist/commands/images/stock.d.ts +0 -58
  528. package/dist/commands/images/stock.d.ts.map +0 -1
  529. package/dist/commands/images/stock.js +0 -116
  530. package/dist/commands/images/stock.js.map +0 -1
  531. package/dist/commands/images/upload.d.ts +0 -24
  532. package/dist/commands/images/upload.d.ts.map +0 -1
  533. package/dist/commands/images/upload.js +0 -90
  534. package/dist/commands/images/upload.js.map +0 -1
  535. package/dist/commands/images/use.d.ts +0 -18
  536. package/dist/commands/images/use.d.ts.map +0 -1
  537. package/dist/commands/images/use.js +0 -57
  538. package/dist/commands/images/use.js.map +0 -1
  539. package/dist/commands/research/advertisers.d.ts +0 -34
  540. package/dist/commands/research/advertisers.d.ts.map +0 -1
  541. package/dist/commands/research/advertisers.js +0 -78
  542. package/dist/commands/research/advertisers.js.map +0 -1
  543. package/dist/commands/research/autocomplete.d.ts +0 -34
  544. package/dist/commands/research/autocomplete.d.ts.map +0 -1
  545. package/dist/commands/research/autocomplete.js +0 -73
  546. package/dist/commands/research/autocomplete.js.map +0 -1
  547. package/dist/commands/research/countries.d.ts +0 -2
  548. package/dist/commands/research/countries.d.ts.map +0 -1
  549. package/dist/commands/research/countries.js +0 -69
  550. package/dist/commands/research/countries.js.map +0 -1
  551. package/dist/commands/research/index.d.ts +0 -2
  552. package/dist/commands/research/index.d.ts.map +0 -1
  553. package/dist/commands/research/index.js +0 -50
  554. package/dist/commands/research/index.js.map +0 -1
  555. package/dist/commands/research/intent.d.ts +0 -24
  556. package/dist/commands/research/intent.d.ts.map +0 -1
  557. package/dist/commands/research/intent.js +0 -78
  558. package/dist/commands/research/intent.js.map +0 -1
  559. package/dist/commands/research/keyword-gap.d.ts +0 -49
  560. package/dist/commands/research/keyword-gap.d.ts.map +0 -1
  561. package/dist/commands/research/keyword-gap.js +0 -107
  562. package/dist/commands/research/keyword-gap.js.map +0 -1
  563. package/dist/commands/research/keywords-for-site.d.ts +0 -44
  564. package/dist/commands/research/keywords-for-site.d.ts.map +0 -1
  565. package/dist/commands/research/keywords-for-site.js +0 -90
  566. package/dist/commands/research/keywords-for-site.js.map +0 -1
  567. package/dist/commands/research/languages.d.ts +0 -2
  568. package/dist/commands/research/languages.d.ts.map +0 -1
  569. package/dist/commands/research/languages.js +0 -42
  570. package/dist/commands/research/languages.js.map +0 -1
  571. package/dist/commands/research/lighthouse.d.ts +0 -24
  572. package/dist/commands/research/lighthouse.d.ts.map +0 -1
  573. package/dist/commands/research/lighthouse.js +0 -60
  574. package/dist/commands/research/lighthouse.js.map +0 -1
  575. package/dist/commands/research/output.d.ts +0 -29
  576. package/dist/commands/research/output.d.ts.map +0 -1
  577. package/dist/commands/research/output.js +0 -81
  578. package/dist/commands/research/output.js.map +0 -1
  579. package/dist/commands/research/relevant-pages.d.ts +0 -34
  580. package/dist/commands/research/relevant-pages.d.ts.map +0 -1
  581. package/dist/commands/research/relevant-pages.js +0 -76
  582. package/dist/commands/research/relevant-pages.js.map +0 -1
  583. package/dist/commands/research/web.d.ts +0 -19
  584. package/dist/commands/research/web.d.ts.map +0 -1
  585. package/dist/commands/research/web.js +0 -112
  586. package/dist/commands/research/web.js.map +0 -1
  587. package/dist/commands/schema.d.ts +0 -8
  588. package/dist/commands/schema.d.ts.map +0 -1
  589. package/dist/commands/schema.js +0 -38
  590. package/dist/commands/schema.js.map +0 -1
  591. package/dist/commands/testimonials/get.d.ts +0 -30
  592. package/dist/commands/testimonials/get.d.ts.map +0 -1
  593. package/dist/commands/testimonials/get.js +0 -42
  594. package/dist/commands/testimonials/get.js.map +0 -1
  595. package/dist/commands/testimonials/index.d.ts +0 -2
  596. package/dist/commands/testimonials/index.d.ts.map +0 -1
  597. package/dist/commands/testimonials/index.js +0 -22
  598. package/dist/commands/testimonials/index.js.map +0 -1
  599. package/dist/commands/testimonials/list.d.ts +0 -60
  600. package/dist/commands/testimonials/list.d.ts.map +0 -1
  601. package/dist/commands/testimonials/list.js +0 -69
  602. package/dist/commands/testimonials/list.js.map +0 -1
  603. package/dist/commands/testimonials/search.d.ts +0 -40
  604. package/dist/commands/testimonials/search.d.ts.map +0 -1
  605. package/dist/commands/testimonials/search.js +0 -59
  606. package/dist/commands/testimonials/search.js.map +0 -1
  607. package/dist/commands/videos/delete.d.ts +0 -19
  608. package/dist/commands/videos/delete.d.ts.map +0 -1
  609. package/dist/commands/videos/delete.js +0 -58
  610. package/dist/commands/videos/delete.js.map +0 -1
  611. package/dist/commands/videos/get.d.ts +0 -30
  612. package/dist/commands/videos/get.d.ts.map +0 -1
  613. package/dist/commands/videos/get.js +0 -42
  614. package/dist/commands/videos/get.js.map +0 -1
  615. package/dist/commands/videos/index.d.ts +0 -2
  616. package/dist/commands/videos/index.d.ts.map +0 -1
  617. package/dist/commands/videos/index.js +0 -25
  618. package/dist/commands/videos/index.js.map +0 -1
  619. package/dist/commands/videos/search.d.ts +0 -35
  620. package/dist/commands/videos/search.d.ts.map +0 -1
  621. package/dist/commands/videos/search.js +0 -54
  622. package/dist/commands/videos/search.js.map +0 -1
  623. package/dist/commands/videos/upload.d.ts +0 -19
  624. package/dist/commands/videos/upload.d.ts.map +0 -1
  625. package/dist/commands/videos/upload.js +0 -92
  626. package/dist/commands/videos/upload.js.map +0 -1
  627. package/dist/env.d.ts +0 -15
  628. package/dist/env.d.ts.map +0 -1
  629. package/dist/env.js +0 -39
  630. package/dist/env.js.map +0 -1
  631. package/dist/error-handler.d.ts +0 -8
  632. package/dist/error-handler.d.ts.map +0 -1
  633. package/dist/error-handler.js +0 -46
  634. package/dist/error-handler.js.map +0 -1
  635. package/dist/geo-context.d.ts +0 -21
  636. package/dist/geo-context.d.ts.map +0 -1
  637. package/dist/geo-context.js +0 -208
  638. package/dist/geo-context.js.map +0 -1
  639. package/dist/output.d.ts +0 -43
  640. package/dist/output.d.ts.map +0 -1
  641. package/dist/output.js +0 -182
  642. package/dist/output.js.map +0 -1
  643. package/dist/output.test.d.ts +0 -2
  644. package/dist/output.test.d.ts.map +0 -1
  645. package/dist/output.test.js +0 -117
  646. package/dist/output.test.js.map +0 -1
  647. package/dist/schemas.d.ts +0 -17
  648. package/dist/schemas.d.ts.map +0 -1
  649. package/dist/schemas.js +0 -11
  650. package/dist/schemas.js.map +0 -1
@@ -1,90 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiPost } from "../../client.js";
3
- import { buildResearchQueryContext, warnDefaults } from "../../geo-context.js";
4
- import { registerSchema } from "../../schemas.js";
5
- import { handleResearchError, RESEARCH_DATA_NOTE, writeResearchJson, writeResearchOutput } from "./output.js";
6
- registerSchema({
7
- command: "research.keywords-for-site",
8
- description: "Get keywords a competitor targets in Google. Use --type paid to see only paid keywords, --type organic for organic only. IMPORTANT: If --location and --language are omitted, defaults to United States (us) and English (en). The response includes a query_context object showing which location/language were used.",
9
- args: {
10
- target: { type: "string", description: "Domain or URL to analyze (positional)", required: true },
11
- location: {
12
- type: "string",
13
- description: "Country code (us, uk, es, de...) or DataForSEO location code. DEFAULTS TO us (United States) if omitted — always set this for non-US markets",
14
- required: false,
15
- },
16
- language: {
17
- type: "string",
18
- description: "Language code or name. DEFAULTS TO en (English) if omitted — always set this for non-English markets",
19
- required: false,
20
- },
21
- sort: {
22
- type: "string",
23
- description: "Sort: relevance, search_volume, competition, cpc (default: search_volume)",
24
- required: false,
25
- },
26
- type: { type: "string", description: "Filter: paid, organic, all (default: all)", required: false },
27
- limit: { type: "string", description: "Max results (default: 50, max: 1000)", required: false },
28
- "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false },
29
- },
30
- });
31
- const FIELDS = {
32
- keyword: "Keyword the site targets",
33
- search_volume: "Monthly search volume",
34
- cpc: "Cost per click in USD",
35
- competition: "LOW, MEDIUM, or HIGH",
36
- competition_index: "Competition score 0-100",
37
- };
38
- export const keywordsForSiteCommand = defineCommand({
39
- meta: {
40
- name: "keywords-for-site",
41
- description: `Get keywords a competitor targets in Google. Use --type to filter paid/organic.
42
-
43
- Examples:
44
- baker research keywords-for-site "competitor.com"
45
- baker research keywords-for-site "competitor.com" --type paid --limit 20
46
- baker research keywords-for-site "competitor.com" --type organic --location uk`,
47
- },
48
- args: {
49
- target: { type: "positional", description: "Domain or URL to analyze", required: true },
50
- location: { type: "string", description: "Country code or location code (default: us)", required: false },
51
- language: { type: "string", description: "Language code or name (default: en)", required: false },
52
- sort: { type: "string", description: "Sort: relevance, search_volume, competition, cpc", required: false },
53
- type: { type: "string", description: "Filter: paid, organic, all (default: all)", required: false },
54
- limit: { type: "string", description: "Max results (default: 50, max: 1000)", required: false },
55
- output: { type: "string", description: "Format: json|csv|md|jsonl", required: false, default: "json" },
56
- "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false },
57
- },
58
- run: async ({ args }) => {
59
- const target = args.target;
60
- const location = args.location || undefined;
61
- const language = args.language || undefined;
62
- const sort = args.sort || undefined;
63
- const type = args.type || undefined;
64
- const limit = args.limit ? Number(args.limit) : undefined;
65
- const skipCache = args["no-cache"] ? true : undefined;
66
- const queryContext = buildResearchQueryContext(location, language);
67
- try {
68
- const data = await apiPost("/api/research/keywords-for-site", {
69
- target,
70
- location,
71
- language,
72
- sort,
73
- type,
74
- limit,
75
- skipCache,
76
- });
77
- warnDefaults(queryContext);
78
- const format = args.output || "json";
79
- if (format !== "json") {
80
- writeResearchOutput(data, format);
81
- return;
82
- }
83
- writeResearchJson({ ok: true, data, fields: FIELDS, note: RESEARCH_DATA_NOTE, query_context: queryContext });
84
- }
85
- catch (err) {
86
- handleResearchError(err);
87
- }
88
- },
89
- });
90
- //# sourceMappingURL=keywords-for-site.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keywords-for-site.js","sourceRoot":"","sources":["../../../src/commands/research/keywords-for-site.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const languagesCommand: import("citty").CommandDef<import("citty").ArgsDef>;
2
- //# sourceMappingURL=languages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../../src/commands/research/languages.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,gBAAgB,qDAQ3B,CAAC"}
@@ -1,42 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { registerSchema } from "../../schemas.js";
3
- import { writeResearchJson } from "./output.js";
4
- registerSchema({
5
- command: "research.languages",
6
- description: "List all supported language codes for --language flag in research commands.",
7
- args: {},
8
- });
9
- const LANGUAGES = [
10
- { code: "en", name: "english" },
11
- { code: "es", name: "spanish" },
12
- { code: "fr", name: "french" },
13
- { code: "de", name: "german" },
14
- { code: "it", name: "italian" },
15
- { code: "pt", name: "portuguese" },
16
- { code: "nl", name: "dutch" },
17
- { code: "ja", name: "japanese" },
18
- { code: "ko", name: "korean" },
19
- { code: "zh", name: "chinese" },
20
- { code: "ar", name: "arabic" },
21
- { code: "ru", name: "russian" },
22
- { code: "pl", name: "polish" },
23
- { code: "tr", name: "turkish" },
24
- { code: "sv", name: "swedish" },
25
- { code: "no", name: "norwegian" },
26
- { code: "da", name: "danish" },
27
- { code: "fi", name: "finnish" },
28
- ];
29
- const FIELDS = {
30
- code: "Language code to pass as --language",
31
- name: "Language name (also accepted by --language)",
32
- };
33
- export const languagesCommand = defineCommand({
34
- meta: {
35
- name: "languages",
36
- description: "List all supported language codes for --language flag.",
37
- },
38
- run: () => {
39
- writeResearchJson({ ok: true, data: LANGUAGES, fields: FIELDS });
40
- },
41
- });
42
- //# sourceMappingURL=languages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../../src/commands/research/languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,cAAc,CAAC;IACb,OAAO,EAAE,oBAAoB;IAC7B,WAAW,EAAE,6EAA6E;IAC1F,IAAI,EAAE,EAAE;CACT,CAAC,CAAC;AAEH,MAAM,SAAS,GAA0C;IACvD,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE;IAClC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;IAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;IACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;CAChC,CAAC;AAEF,MAAM,MAAM,GAA2B;IACrC,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE,6CAA6C;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;IAC5C,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wDAAwD;KACtE;IACD,GAAG,EAAE,GAAG,EAAE;QACR,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;CACF,CAAC,CAAC"}
@@ -1,24 +0,0 @@
1
- export declare const lighthouseCommand: import("citty").CommandDef<{
2
- readonly url: {
3
- readonly type: "positional";
4
- readonly description: "Full URL to audit (with https://)";
5
- readonly required: true;
6
- };
7
- readonly mobile: {
8
- readonly type: "string";
9
- readonly description: "Test as mobile: true|false (default: true)";
10
- readonly required: false;
11
- };
12
- readonly output: {
13
- readonly type: "string";
14
- readonly description: "Format: json|csv|md|jsonl";
15
- readonly required: false;
16
- readonly default: "json";
17
- };
18
- readonly "no-cache": {
19
- readonly type: "boolean";
20
- readonly description: "Skip server cache, hit API directly";
21
- readonly required: false;
22
- };
23
- }>;
24
- //# sourceMappingURL=lighthouse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lighthouse.d.ts","sourceRoot":"","sources":["../../../src/commands/research/lighthouse.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;EAqC5B,CAAC"}
@@ -1,60 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiPost } from "../../client.js";
3
- import { registerSchema } from "../../schemas.js";
4
- import { handleResearchError, writeResearchJson, writeResearchOutput } from "./output.js";
5
- registerSchema({
6
- command: "research.lighthouse",
7
- description: "Landing page performance audit. Returns metrics that affect Google Ads Quality Score and CPC.",
8
- args: {
9
- url: { type: "string", description: "Full URL to audit (with https://)", required: true },
10
- mobile: { type: "boolean", description: "Test as mobile (default: true)", required: false },
11
- "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false },
12
- },
13
- });
14
- const FIELDS = {
15
- url: "URL that was audited",
16
- performance_score: "Lighthouse performance score 0-100 (aim for 90+)",
17
- fcp_ms: "First Contentful Paint in ms (good: < 1800)",
18
- lcp_ms: "Largest Contentful Paint in ms (good: < 2500)",
19
- cls: "Cumulative Layout Shift (good: < 0.1)",
20
- speed_index_ms: "Speed Index in ms (good: < 3400)",
21
- interactive_ms: "Time to Interactive in ms (good: < 3800)",
22
- };
23
- export const lighthouseCommand = defineCommand({
24
- meta: {
25
- name: "lighthouse",
26
- description: `Landing page performance audit. Metrics affecting Google Ads Quality Score.
27
-
28
- Examples:
29
- baker research lighthouse "https://example.com/landing"
30
- baker research lighthouse "https://example.com" --mobile false`,
31
- },
32
- args: {
33
- url: { type: "positional", description: "Full URL to audit (with https://)", required: true },
34
- mobile: { type: "string", description: "Test as mobile: true|false (default: true)", required: false },
35
- output: { type: "string", description: "Format: json|csv|md|jsonl", required: false, default: "json" },
36
- "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false },
37
- },
38
- run: async ({ args }) => {
39
- const url = args.url;
40
- const mobile = args.mobile === "false" ? false : undefined;
41
- const skipCache = args["no-cache"] ? true : undefined;
42
- try {
43
- const data = await apiPost("/api/research/lighthouse", {
44
- url,
45
- mobile,
46
- skipCache,
47
- });
48
- const format = args.output || "json";
49
- if (format !== "json") {
50
- writeResearchOutput([data], format);
51
- return;
52
- }
53
- writeResearchJson({ ok: true, data, fields: FIELDS });
54
- }
55
- catch (err) {
56
- handleResearchError(err);
57
- }
58
- },
59
- });
60
- //# sourceMappingURL=lighthouse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lighthouse.js","sourceRoot":"","sources":["../../../src/commands/research/lighthouse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE1F,cAAc,CAAC;IACb,OAAO,EAAE,qBAAqB;IAC9B,WAAW,EAAE,+FAA+F;IAC5G,IAAI,EAAE;QACJ,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzF,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC3F,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrG;CACF,CAAC,CAAC;AAYH,MAAM,MAAM,GAA2B;IACrC,GAAG,EAAE,sBAAsB;IAC3B,iBAAiB,EAAE,kDAAkD;IACrE,MAAM,EAAE,6CAA6C;IACrD,MAAM,EAAE,+CAA+C;IACvD,GAAG,EAAE,uCAAuC;IAC5C,cAAc,EAAE,kCAAkC;IAClD,cAAc,EAAE,0CAA0C;CAC3D,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;IAC7C,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE;;;;iEAIgD;KAC9D;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE,QAAQ,EAAE,KAAK,EAAE;QACtG,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;QACtG,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrG;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAa,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAmB,0BAA0B,EAAE;gBACvE,GAAG;gBACH,MAAM;gBACN,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,MAAM,CAAC;YACjD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,mBAAmB,CAAC,CAAC,IAA0C,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YACD,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -1,29 +0,0 @@
1
- export declare const RESEARCH_DATA_NOTE = "Estimates based on third-party SERP data \u2014 not exact figures. Use for directional insights, not precise measurement.";
2
- interface PaginationInfo {
3
- offset: number;
4
- limit: number;
5
- has_more: boolean;
6
- next_offset?: number;
7
- }
8
- interface ResearchSuccessEnvelope<T> {
9
- ok: true;
10
- data: T;
11
- fields?: Record<string, string>;
12
- note?: string;
13
- total_count?: number;
14
- pagination?: PaginationInfo;
15
- [key: string]: unknown;
16
- }
17
- interface ResearchErrorEnvelope {
18
- ok: false;
19
- error: {
20
- code: string;
21
- message: string;
22
- };
23
- }
24
- type ResearchOutput = ResearchSuccessEnvelope<unknown> | ResearchErrorEnvelope;
25
- export declare function writeResearchJson(envelope: ResearchOutput): void;
26
- export declare function writeResearchOutput(data: Array<Record<string, unknown>>, format: string, fields?: string[]): void;
27
- export declare function handleResearchError(err: unknown): never;
28
- export {};
29
- //# sourceMappingURL=output.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/commands/research/output.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,8HACyF,CAAC;AAEzH,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,uBAAuB,CAAC,CAAC;IACjC,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,qBAAqB;IAC7B,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,KAAK,cAAc,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,qBAAqB,CAAC;AAE/E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAEhE;AAgDD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAcjH;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAgBvD"}
@@ -1,81 +0,0 @@
1
- import { ApiError } from "../../client.js";
2
- export const RESEARCH_DATA_NOTE = "Estimates based on third-party SERP data — not exact figures. Use for directional insights, not precise measurement.";
3
- export function writeResearchJson(envelope) {
4
- process.stdout.write(`${JSON.stringify(envelope, null, 2)}\n`);
5
- }
6
- function toCsvRow(values) {
7
- return values
8
- .map((v) => {
9
- if (v.includes(",") || v.includes('"') || v.includes("\n")) {
10
- return `"${v.replace(/"/g, '""')}"`;
11
- }
12
- return v;
13
- })
14
- .join(",");
15
- }
16
- function flattenRow(row) {
17
- const flat = {};
18
- for (const [key, val] of Object.entries(row)) {
19
- flat[key] = typeof val === "object" && val !== null ? JSON.stringify(val) : String(val ?? "");
20
- }
21
- return flat;
22
- }
23
- function writeCsv(data, fields) {
24
- if (data.length === 0)
25
- return;
26
- const cols = fields ?? Object.keys(data[0] ?? {});
27
- process.stdout.write(`${toCsvRow(cols)}\n`);
28
- for (const row of data) {
29
- const flat = flattenRow(row);
30
- process.stdout.write(`${toCsvRow(cols.map((f) => flat[f] ?? ""))}\n`);
31
- }
32
- }
33
- function writeJsonl(data) {
34
- for (const row of data) {
35
- process.stdout.write(`${JSON.stringify(row)}\n`);
36
- }
37
- }
38
- function writeMd(data, fields) {
39
- if (data.length === 0)
40
- return;
41
- const cols = fields ?? Object.keys(data[0] ?? {});
42
- process.stdout.write(`| ${cols.join(" | ")} |\n`);
43
- process.stdout.write(`| ${cols.map(() => "---").join(" | ")} |\n`);
44
- for (const row of data) {
45
- const flat = flattenRow(row);
46
- process.stdout.write(`| ${cols.map((f) => flat[f] ?? "").join(" | ")} |\n`);
47
- }
48
- }
49
- export function writeResearchOutput(data, format, fields) {
50
- switch (format) {
51
- case "csv":
52
- writeCsv(data, fields);
53
- break;
54
- case "jsonl":
55
- writeJsonl(data);
56
- break;
57
- case "md":
58
- writeMd(data, fields);
59
- break;
60
- default:
61
- writeResearchJson({ ok: true, data });
62
- }
63
- }
64
- export function handleResearchError(err) {
65
- if (err instanceof ApiError) {
66
- writeResearchJson({
67
- ok: false,
68
- error: {
69
- code: err.code,
70
- message: err.message,
71
- },
72
- });
73
- process.exit(1);
74
- }
75
- writeResearchJson({
76
- ok: false,
77
- error: { code: "NETWORK_ERROR", message: err instanceof Error ? err.message : "Unexpected error" },
78
- });
79
- process.exit(1);
80
- }
81
- //# sourceMappingURL=output.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/commands/research/output.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- export declare const relevantPagesCommand: import("citty").CommandDef<{
2
- readonly target: {
3
- readonly type: "positional";
4
- readonly description: "Domain to analyze";
5
- readonly required: true;
6
- };
7
- readonly location: {
8
- readonly type: "string";
9
- readonly description: "Country code or location code (default: us)";
10
- readonly required: false;
11
- };
12
- readonly language: {
13
- readonly type: "string";
14
- readonly description: "Language code or name (default: en)";
15
- readonly required: false;
16
- };
17
- readonly limit: {
18
- readonly type: "string";
19
- readonly description: "Max results (default: 20, max: 1000)";
20
- readonly required: false;
21
- };
22
- readonly output: {
23
- readonly type: "string";
24
- readonly description: "Format: json|csv|md|jsonl";
25
- readonly required: false;
26
- readonly default: "json";
27
- };
28
- readonly "no-cache": {
29
- readonly type: "boolean";
30
- readonly description: "Skip server cache, hit API directly";
31
- readonly required: false;
32
- };
33
- }>;
34
- //# sourceMappingURL=relevant-pages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relevant-pages.d.ts","sourceRoot":"","sources":["../../../src/commands/research/relevant-pages.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6C/B,CAAC"}
@@ -1,76 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiPost } from "../../client.js";
3
- import { buildResearchQueryContext, warnDefaults } from "../../geo-context.js";
4
- import { registerSchema } from "../../schemas.js";
5
- import { handleResearchError, RESEARCH_DATA_NOTE, writeResearchJson, writeResearchOutput } from "./output.js";
6
- registerSchema({
7
- command: "research.relevant-pages",
8
- description: "Get the top pages of a competitor domain with organic traffic and ranking data. Shows which pages drive the most traffic. IMPORTANT: If --location and --language are omitted, defaults to United States (us) and English (en).",
9
- args: {
10
- target: { type: "string", description: "Domain to analyze (positional, e.g. competitor.com)", required: true },
11
- location: {
12
- type: "string",
13
- description: "Country code (us, uk, es, de...) or DataForSEO location code. DEFAULTS TO us (United States) if omitted",
14
- required: false,
15
- },
16
- language: {
17
- type: "string",
18
- description: "Language code or name. DEFAULTS TO en (English) if omitted",
19
- required: false,
20
- },
21
- limit: { type: "string", description: "Max results (default: 20, max: 1000)", required: false },
22
- "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false },
23
- },
24
- });
25
- const FIELDS = {
26
- page: "Page URL",
27
- etv: "Estimated monthly organic traffic",
28
- keywords: "Total organic keywords the page ranks for",
29
- top_10: "Keywords in positions 1-10",
30
- };
31
- export const relevantPagesCommand = defineCommand({
32
- meta: {
33
- name: "relevant-pages",
34
- description: `Get the top pages of a competitor domain with traffic data.
35
-
36
- Examples:
37
- baker research relevant-pages "competitor.com"
38
- baker research relevant-pages "competitor.com" --location es --limit 10`,
39
- },
40
- args: {
41
- target: { type: "positional", description: "Domain to analyze", required: true },
42
- location: { type: "string", description: "Country code or location code (default: us)", required: false },
43
- language: { type: "string", description: "Language code or name (default: en)", required: false },
44
- limit: { type: "string", description: "Max results (default: 20, max: 1000)", required: false },
45
- output: { type: "string", description: "Format: json|csv|md|jsonl", required: false, default: "json" },
46
- "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false },
47
- },
48
- run: async ({ args }) => {
49
- const target = args.target;
50
- const location = args.location || undefined;
51
- const language = args.language || undefined;
52
- const limit = args.limit ? Number(args.limit) : undefined;
53
- const skipCache = args["no-cache"] ? true : undefined;
54
- const queryContext = buildResearchQueryContext(location, language);
55
- try {
56
- const data = await apiPost("/api/research/relevant-pages", {
57
- target,
58
- location,
59
- language,
60
- limit,
61
- skipCache,
62
- });
63
- warnDefaults(queryContext);
64
- const format = args.output || "json";
65
- if (format !== "json") {
66
- writeResearchOutput(data, format);
67
- return;
68
- }
69
- writeResearchJson({ ok: true, data, fields: FIELDS, note: RESEARCH_DATA_NOTE, query_context: queryContext });
70
- }
71
- catch (err) {
72
- handleResearchError(err);
73
- }
74
- },
75
- });
76
- //# sourceMappingURL=relevant-pages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relevant-pages.js","sourceRoot":"","sources":["../../../src/commands/research/relevant-pages.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- export declare const webCommand: import("citty").CommandDef<{
2
- readonly question: {
3
- readonly type: "positional";
4
- readonly description: "The research question";
5
- readonly required: true;
6
- };
7
- readonly depth: {
8
- readonly type: "string";
9
- readonly description: "Research depth: medium|high|xhigh (default: medium)";
10
- readonly required: false;
11
- };
12
- readonly output: {
13
- readonly type: "string";
14
- readonly description: "Format: json|md (default: json)";
15
- readonly required: false;
16
- readonly default: "json";
17
- };
18
- }>;
19
- //# sourceMappingURL=web.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/commands/research/web.ts"],"names":[],"mappings":"AAsEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;EA6DrB,CAAC"}
@@ -1,112 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiGet, apiPost } from "../../client.js";
3
- import { registerSchema } from "../../schemas.js";
4
- import { handleResearchError, writeResearchJson } from "./output.js";
5
- registerSchema({
6
- command: "research.web",
7
- description: "Search the web with AI to answer marketing questions — competitors, ICP, pricing, pain points, market trends. Three depth levels: medium (quick, default), high (thorough), xhigh (exhaustive deep research).",
8
- args: {
9
- question: {
10
- type: "string",
11
- description: "The research question to answer using live web data",
12
- required: true,
13
- },
14
- depth: {
15
- type: "string",
16
- description: "Research depth: medium (quick), high (thorough), xhigh (exhaustive). Default: medium",
17
- required: false,
18
- enum: ["medium", "high", "xhigh"],
19
- },
20
- },
21
- });
22
- const TIMEOUT_MS = {
23
- medium: 180_000,
24
- high: 360_000,
25
- xhigh: 900_000,
26
- };
27
- const FIELDS = {
28
- answer: "AI-generated research answer (markdown)",
29
- sources: "Array of {title, url} sources used for grounding",
30
- };
31
- function sleep(ms) {
32
- return new Promise((resolve) => setTimeout(resolve, ms));
33
- }
34
- async function runDeepResearch(question) {
35
- const { interactionId } = await apiPost("/api/research/deep-research/start", { question });
36
- process.stderr.write(`Deep research started (${interactionId}). Polling...\n`);
37
- const deadline = Date.now() + TIMEOUT_MS.xhigh;
38
- while (Date.now() < deadline) {
39
- await sleep(10_000);
40
- const poll = await apiGet("/api/research/deep-research/poll", {
41
- id: interactionId,
42
- });
43
- if (poll.status === "completed" && poll.result) {
44
- return poll.result;
45
- }
46
- if (poll.status === "failed" || poll.status === "cancelled") {
47
- throw new Error(`Deep research ${poll.status}`);
48
- }
49
- process.stderr.write(` status: ${poll.status}\n`);
50
- }
51
- throw new Error("Deep research timed out");
52
- }
53
- export const webCommand = defineCommand({
54
- meta: {
55
- name: "web",
56
- description: `Search the web with AI to answer any open-ended marketing question. Uses live internet data via Google Search.
57
-
58
- Depth levels:
59
- medium — Quick lookup using Gemini Flash with minimal thinking (default)
60
- high — Thorough answer using Gemini Flash with deep thinking
61
- xhigh — Exhaustive deep research using Gemini Deep Research (slow, use sparingly)
62
-
63
- Examples:
64
- baker research web "Who are the main competitors of HubSpot CRM?"
65
- baker research web "What are the top pain points for SMB CRM buyers?" --depth high
66
- baker research web "Full competitive analysis of project management SaaS" --depth xhigh`,
67
- },
68
- args: {
69
- question: { type: "positional", description: "The research question", required: true },
70
- depth: { type: "string", description: "Research depth: medium|high|xhigh (default: medium)", required: false },
71
- output: { type: "string", description: "Format: json|md (default: json)", required: false, default: "json" },
72
- },
73
- run: async ({ args }) => {
74
- const question = args.question;
75
- if (question.length < 5) {
76
- writeResearchJson({
77
- ok: false,
78
- error: { code: "VALIDATION_ERROR", message: "Question must be at least 5 characters" },
79
- });
80
- process.exit(1);
81
- }
82
- const depth = (args.depth || "medium");
83
- if (!["medium", "high", "xhigh"].includes(depth)) {
84
- writeResearchJson({
85
- ok: false,
86
- error: { code: "VALIDATION_ERROR", message: "Depth must be one of: medium, high, xhigh" },
87
- });
88
- process.exit(1);
89
- }
90
- try {
91
- const data = depth === "xhigh"
92
- ? await runDeepResearch(question)
93
- : await apiPost("/api/research/explore", { question, depth }, { timeoutMs: TIMEOUT_MS[depth] });
94
- const format = args.output || "json";
95
- if (format === "md") {
96
- process.stdout.write(`${data.answer}\n`);
97
- if (data.sources.length > 0) {
98
- process.stdout.write("\n## Sources\n");
99
- for (const s of data.sources) {
100
- process.stdout.write(`- [${s.title}](${s.url})\n`);
101
- }
102
- }
103
- return;
104
- }
105
- writeResearchJson({ ok: true, data, fields: FIELDS });
106
- }
107
- catch (err) {
108
- handleResearchError(err);
109
- }
110
- },
111
- });
112
- //# sourceMappingURL=web.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/commands/research/web.ts"],"names":[],"mappings":"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"}