@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,102 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiGet } from "../../../client.js";
3
- import { writeAdsJson, writeAdsOutput } from "../output.js";
4
- import { csvOrJson, handleLinkedinError, resolveAccountIdArg } from "./shared.js";
5
- const DAY_MS = 86_400_000;
6
- function healthOf(rules) {
7
- const enabled = rules.filter((r) => r.enabled !== false);
8
- const capi = enabled.filter((r) => r.conversionMethod === "CONVERSIONS_API");
9
- const pixel = enabled.filter((r) => r.conversionMethod === "PIXEL");
10
- const staleCapi = capi.filter((r) => !r.lastConversionReportedAt || Date.now() - r.lastConversionReportedAt > 7 * DAY_MS);
11
- const longView = enabled.filter((r) => r.viewThroughAttributionWindowSize !== undefined && r.viewThroughAttributionWindowSize > 7);
12
- const leads = enabled.filter((r) => r.type === "LEAD");
13
- const wrongDedup = leads.filter((r) => r.countingMethod && r.countingMethod !== "ONE_TIME_EACH_MEMBER");
14
- return {
15
- totalRules: rules.length,
16
- enabledRules: enabled.length,
17
- capiRules: capi.length,
18
- pixelRules: pixel.length,
19
- hasLeadEvent: leads.length > 0,
20
- hasPurchaseEvent: enabled.some((r) => r.type === "PURCHASE"),
21
- staleCapiRules: staleCapi,
22
- longViewWindow: longView,
23
- wrongLeadDedup: wrongDedup,
24
- };
25
- }
26
- const listCmd = defineCommand({
27
- meta: {
28
- name: "list",
29
- description: `List conversion rules on the account.`,
30
- },
31
- args: {
32
- "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
33
- "account-urn": { type: "string", description: "Alias for --account-id" },
34
- "skip-cache": { type: "boolean", description: "Bypass server-side cache" },
35
- output: { type: "string", description: "json|csv|jsonl|md", default: "json" },
36
- },
37
- run: async ({ args }) => {
38
- const accountId = resolveAccountIdArg(args);
39
- try {
40
- const params = { "account-id": accountId };
41
- if (args["skip-cache"])
42
- params["skip-cache"] = "true";
43
- const data = await apiGet("/api/ads/linkedin/conversions", params);
44
- const fmt = csvOrJson(args);
45
- if (fmt !== "json") {
46
- writeAdsOutput(data, fmt);
47
- return;
48
- }
49
- writeAdsJson({ ok: true, data });
50
- }
51
- catch (err) {
52
- handleLinkedinError(err);
53
- }
54
- },
55
- });
56
- const healthCmd = defineCommand({
57
- meta: {
58
- name: "health",
59
- description: `5-point Insight Tag / CAPI health check (playbook §07).
60
-
61
- Surfaces:
62
- - Are rules enabled?
63
- - Do we have at least one LEAD or PURCHASE event?
64
- - Do CAPI rules show recent activity (≤7 days)?
65
- - Is the view-through window ≤7 days?
66
- - Do LEAD rules use ONE_TIME_EACH_MEMBER de-dup?`,
67
- },
68
- args: {
69
- "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
70
- "account-urn": { type: "string", description: "Alias for --account-id" },
71
- "skip-cache": { type: "boolean", description: "Bypass server-side cache" },
72
- output: { type: "string", description: "json", default: "json" },
73
- },
74
- run: async ({ args }) => {
75
- const accountId = resolveAccountIdArg(args);
76
- try {
77
- const params = { "account-id": accountId };
78
- if (args["skip-cache"])
79
- params["skip-cache"] = "true";
80
- const data = await apiGet("/api/ads/linkedin/conversions", params);
81
- writeAdsJson({ ok: true, data: healthOf(data) });
82
- }
83
- catch (err) {
84
- handleLinkedinError(err);
85
- }
86
- },
87
- });
88
- export const conversionsCommand = defineCommand({
89
- meta: {
90
- name: "conversions",
91
- description: `Conversion rules — Insight Tag and Conversions API.
92
-
93
- Subcommands:
94
- list — every rule on the account
95
- health — playbook §07 5-point health check`,
96
- },
97
- subCommands: {
98
- list: listCmd,
99
- health: healthCmd,
100
- },
101
- });
102
- //# sourceMappingURL=conversions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversions.js","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/conversions.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- export declare const creativesCommand: import("citty").CommandDef<{
2
- readonly "account-id": {
3
- readonly type: "string";
4
- readonly description: "Numeric account ID or urn:li:sponsoredAccount:N";
5
- };
6
- readonly "account-urn": {
7
- readonly type: "string";
8
- readonly description: "Alias for --account-id";
9
- };
10
- readonly "campaign-id": {
11
- readonly type: "string";
12
- readonly description: "Filter by campaign ID";
13
- };
14
- readonly "all-statuses": {
15
- readonly type: "boolean";
16
- readonly description: "Drop the default ACTIVE filter";
17
- };
18
- readonly statuses: {
19
- readonly type: "string";
20
- readonly description: "CSV of intended statuses (ACTIVE,PAUSED,DRAFT,ARCHIVED)";
21
- };
22
- readonly limit: {
23
- readonly type: "string";
24
- readonly description: "Max rows (default: 500)";
25
- };
26
- readonly "skip-cache": {
27
- readonly type: "boolean";
28
- readonly description: "Bypass server-side cache";
29
- };
30
- readonly output: {
31
- readonly type: "string";
32
- readonly description: "json|csv|jsonl|md";
33
- readonly default: "json";
34
- };
35
- }>;
36
- //# sourceMappingURL=creatives.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"creatives.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/creatives.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+C3B,CAAC"}
@@ -1,57 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiGet } from "../../../client.js";
3
- import { writeAdsJson, writeAdsOutput } from "../output.js";
4
- import { csvOrJson, handleLinkedinError, resolveAccountIdArg, resolveStatusFilter } from "./shared.js";
5
- export const creativesCommand = defineCommand({
6
- meta: {
7
- name: "creatives",
8
- description: `List LinkedIn creatives (ads).
9
-
10
- Defaults to ACTIVE intended-status. Pass --all-statuses or --statuses ACTIVE,PAUSED to widen.
11
-
12
- The 'content' block is opaque (varies by creative type — image, video, document,
13
- spotlight, conversation, dynamic). Use 'reviewStatus' to spot rejected/pending
14
- creatives during an audit.
15
-
16
- Examples:
17
- baker ads linkedin creatives --account-id 503001492
18
- baker ads linkedin creatives --account-id 503001492 --campaign-id 1234
19
- baker ads linkedin creatives --account-id 503001492 --all-statuses --output csv`,
20
- },
21
- args: {
22
- "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
23
- "account-urn": { type: "string", description: "Alias for --account-id" },
24
- "campaign-id": { type: "string", description: "Filter by campaign ID" },
25
- "all-statuses": { type: "boolean", description: "Drop the default ACTIVE filter" },
26
- statuses: { type: "string", description: "CSV of intended statuses (ACTIVE,PAUSED,DRAFT,ARCHIVED)" },
27
- limit: { type: "string", description: "Max rows (default: 500)" },
28
- "skip-cache": { type: "boolean", description: "Bypass server-side cache" },
29
- output: { type: "string", description: "json|csv|jsonl|md", default: "json" },
30
- },
31
- run: async ({ args }) => {
32
- const accountId = resolveAccountIdArg(args);
33
- try {
34
- const params = { "account-id": accountId };
35
- const statuses = resolveStatusFilter(args);
36
- if (statuses)
37
- params.statuses = statuses.join(",");
38
- if (args["campaign-id"])
39
- params["campaign-id"] = String(args["campaign-id"]);
40
- if (args.limit)
41
- params.limit = String(args.limit);
42
- if (args["skip-cache"])
43
- params["skip-cache"] = "true";
44
- const data = await apiGet("/api/ads/linkedin/creatives", params);
45
- const fmt = csvOrJson(args);
46
- if (fmt !== "json") {
47
- writeAdsOutput(data, fmt);
48
- return;
49
- }
50
- writeAdsJson({ ok: true, data });
51
- }
52
- catch (err) {
53
- handleLinkedinError(err);
54
- }
55
- },
56
- });
57
- //# sourceMappingURL=creatives.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"creatives.js","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/creatives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAevG,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;IAC5C,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE;;;;;;;;;;;kFAWiE;KAC/E;IACD,IAAI,EAAE;QACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;QAChG,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;QACxE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;QACvE,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gCAAgC,EAAE;QAClF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yDAAyD,EAAE;QACpG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;QACjE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAE;QAC1E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE;KAC9E;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAA2B,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,aAAa,CAAC;gBAAE,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC7E,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,YAAY,CAAC;gBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;YAEtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAwB,6BAA6B,EAAE,MAAM,CAAC,CAAC;YACxF,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,cAAc,CAAC,IAAiD,EAAE,GAAG,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YACD,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -1,40 +0,0 @@
1
- export declare const demographicsCommand: import("citty").CommandDef<{
2
- readonly "campaign-id": {
3
- readonly type: "string";
4
- readonly description: "Comma-separated campaign IDs (required)";
5
- };
6
- readonly pivots: {
7
- readonly type: "string";
8
- readonly description: `CSV of pivots (default: ${string})`;
9
- };
10
- readonly "top-n": {
11
- readonly type: "string";
12
- readonly description: "Top rows per pivot (default: 10)";
13
- };
14
- readonly intent: {
15
- readonly type: "string";
16
- readonly description: "baseline | revenue | funnel | engagement | lead-gen (default: baseline)";
17
- };
18
- readonly start: {
19
- readonly type: "string";
20
- readonly description: "Start date YYYY-MM-DD";
21
- };
22
- readonly end: {
23
- readonly type: "string";
24
- readonly description: "End date YYYY-MM-DD";
25
- };
26
- readonly "last-days": {
27
- readonly type: "string";
28
- readonly description: "Window relative to today (default: 30)";
29
- };
30
- readonly "skip-cache": {
31
- readonly type: "boolean";
32
- readonly description: "Bypass server-side cache";
33
- };
34
- readonly output: {
35
- readonly type: "string";
36
- readonly description: "json";
37
- readonly default: "json";
38
- };
39
- }>;
40
- //# sourceMappingURL=demographics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"demographics.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/demographics.ts"],"names":[],"mappings":"AA6CA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0F9B,CAAC"}
@@ -1,117 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiPost } from "../../../client.js";
3
- import { writeAdsJson } from "../output.js";
4
- import { csvOrJson, daysAgoIso, handleLinkedinError, todayIso } from "./shared.js";
5
- const DEFAULT_PIVOTS = ["job-title", "company", "industry", "seniority", "job-function", "company-size"];
6
- function numberOf(v) {
7
- if (typeof v === "number")
8
- return Number.isFinite(v) ? v : 0;
9
- if (typeof v === "string") {
10
- const n = Number(v);
11
- return Number.isFinite(n) ? n : 0;
12
- }
13
- return 0;
14
- }
15
- function topByImpressions(rows, limit) {
16
- return [...rows].sort((a, b) => numberOf(b.impressions) - numberOf(a.impressions)).slice(0, limit);
17
- }
18
- export const demographicsCommand = defineCommand({
19
- meta: {
20
- name: "demographics",
21
- description: `Sweep all firmographic pivots in one command — LinkedIn's superpower.
22
-
23
- Default pivots:
24
- job-title, company, industry, seniority, job-function, company-size
25
-
26
- Use --pivots to narrow the sweep. Output is one section per pivot, each with
27
- top-N rows by impressions (configurable via --top-n).
28
-
29
- Demographic data is delayed 12-24h with a ≥3-event privacy floor — small
30
- buckets are silently dropped. The CLI surfaces this in 'warnings' when the
31
- result set comes back unexpectedly empty.
32
-
33
- Examples:
34
- baker ads linkedin demographics --campaign-id 1234
35
- baker ads linkedin demographics --campaign-id 1234 --pivots job-title,company
36
- baker ads linkedin demographics --campaign-id 1234 --last-days 30 --top-n 25`,
37
- },
38
- args: {
39
- "campaign-id": { type: "string", description: "Comma-separated campaign IDs (required)" },
40
- pivots: { type: "string", description: `CSV of pivots (default: ${DEFAULT_PIVOTS.join(",")})` },
41
- "top-n": { type: "string", description: "Top rows per pivot (default: 10)" },
42
- intent: { type: "string", description: "baseline | revenue | funnel | engagement | lead-gen (default: baseline)" },
43
- start: { type: "string", description: "Start date YYYY-MM-DD" },
44
- end: { type: "string", description: "End date YYYY-MM-DD" },
45
- "last-days": { type: "string", description: "Window relative to today (default: 30)" },
46
- "skip-cache": { type: "boolean", description: "Bypass server-side cache" },
47
- output: { type: "string", description: "json", default: "json" },
48
- },
49
- run: async ({ args }) => {
50
- const fmt = csvOrJson(args);
51
- if (fmt !== "json") {
52
- writeAdsJson({
53
- ok: false,
54
- error: {
55
- code: "UNSUPPORTED_FORMAT",
56
- message: "demographics returns a structured per-pivot report — only --output json supported.",
57
- },
58
- });
59
- process.exit(1);
60
- }
61
- const campaignIdsRaw = args["campaign-id"];
62
- if (!campaignIdsRaw) {
63
- handleLinkedinError(new Error("--campaign-id is required (CSV for multi)."));
64
- }
65
- const ids = campaignIdsRaw
66
- .split(",")
67
- .map((s) => s.trim())
68
- .filter(Boolean);
69
- const pivotsRaw = args.pivots?.split(",").map((s) => s.trim().toLowerCase());
70
- const pivots = (pivotsRaw && pivotsRaw.length > 0 ? pivotsRaw : DEFAULT_PIVOTS);
71
- const topN = args["top-n"] ? Number(args["top-n"]) : 10;
72
- const intent = args.intent ?? "baseline";
73
- const { start, end } = resolveRange(args);
74
- try {
75
- const results = [];
76
- for (const pivot of pivots) {
77
- const data = await apiPost("/api/ads/linkedin/analytics", {
78
- request: {
79
- level: "campaign",
80
- ids,
81
- intent,
82
- pivot,
83
- start,
84
- end,
85
- granularity: "ALL",
86
- limit: 500,
87
- },
88
- skipCache: Boolean(args["skip-cache"]),
89
- });
90
- results.push({ pivot, rows: topByImpressions(data.rows, topN), warnings: data.warnings });
91
- }
92
- writeAdsJson({
93
- ok: true,
94
- data: {
95
- query: { campaigns: ids, start, end, intent, topN },
96
- pivots: results,
97
- },
98
- });
99
- }
100
- catch (err) {
101
- handleLinkedinError(err);
102
- }
103
- },
104
- });
105
- function resolveRange(args) {
106
- const start = args.start;
107
- const end = args.end;
108
- if (start) {
109
- return { start, end };
110
- }
111
- const days = args["last-days"] ? Number(args["last-days"]) : 30;
112
- if (!Number.isFinite(days) || days < 1) {
113
- handleLinkedinError(new Error("Invalid --last-days; must be a positive integer."));
114
- }
115
- return { start: daysAgoIso(days), end: todayIso() };
116
- }
117
- //# sourceMappingURL=demographics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"demographics.js","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/demographics.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const facetsCommand: import("citty").CommandDef<import("citty").ArgsDef>;
2
- //# sourceMappingURL=facets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/facets.ts"],"names":[],"mappings":"AA4FA,eAAO,MAAM,aAAa,qDAcxB,CAAC"}
@@ -1,95 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiGet } from "../../../client.js";
3
- import { writeAdsJson, writeAdsOutput } from "../output.js";
4
- import { csvOrJson, handleLinkedinError } from "./shared.js";
5
- const listCmd = defineCommand({
6
- meta: {
7
- name: "list",
8
- description: `List every targeting facet LinkedIn supports.
9
-
10
- Cached 7 days. Use this to discover what dimensions you can target on (industries,
11
- seniorities, titles, employers, growthRate, companyCategory, skills, etc.).`,
12
- },
13
- args: {
14
- "skip-cache": { type: "boolean", description: "Bypass server-side cache" },
15
- output: { type: "string", description: "json|csv|jsonl|md", default: "json" },
16
- },
17
- run: async ({ args }) => {
18
- try {
19
- const params = {};
20
- if (args["skip-cache"])
21
- params["skip-cache"] = "true";
22
- const data = await apiGet("/api/ads/linkedin/facets", params);
23
- const fmt = csvOrJson(args);
24
- if (fmt !== "json") {
25
- writeAdsOutput(data, fmt);
26
- return;
27
- }
28
- writeAdsJson({ ok: true, data });
29
- }
30
- catch (err) {
31
- handleLinkedinError(err);
32
- }
33
- },
34
- });
35
- const valuesCmd = defineCommand({
36
- meta: {
37
- name: "values",
38
- description: `Look up entity values for a single facet — full list or typeahead search.
39
-
40
- Examples:
41
- baker ads linkedin facets values --facet seniorities — all seniority URNs
42
- baker ads linkedin facets values --facet titles --query "marketing director" — typeahead
43
- baker ads linkedin facets values --facet industries --output csv
44
-
45
- The --facet flag accepts the bare name (industries, seniorities, titles, etc.)
46
- or the full URN (urn:li:adTargetingFacet:industries).`,
47
- },
48
- args: {
49
- facet: { type: "string", description: "Facet name (e.g. industries) or URN", required: true },
50
- query: { type: "string", description: "Typeahead query (auto-switches finder to typeahead)" },
51
- finder: { type: "string", description: "adTargetingFacet | typeahead | similarEntities (default: auto)" },
52
- locale: { type: "string", description: "Locale (default: en_US)" },
53
- "skip-cache": { type: "boolean", description: "Bypass server-side cache" },
54
- output: { type: "string", description: "json|csv|jsonl|md", default: "json" },
55
- },
56
- run: async ({ args }) => {
57
- try {
58
- const params = { facet: String(args.facet) };
59
- const finder = args.finder ?? (args.query ? "typeahead" : "adTargetingFacet");
60
- params.finder = finder;
61
- if (args.query)
62
- params.query = String(args.query);
63
- if (args.locale)
64
- params.locale = String(args.locale);
65
- if (args["skip-cache"])
66
- params["skip-cache"] = "true";
67
- const data = await apiGet("/api/ads/linkedin/facets/entities", params);
68
- const fmt = csvOrJson(args);
69
- if (fmt !== "json") {
70
- writeAdsOutput(data, fmt);
71
- return;
72
- }
73
- writeAdsJson({ ok: true, data });
74
- }
75
- catch (err) {
76
- handleLinkedinError(err);
77
- }
78
- },
79
- });
80
- export const facetsCommand = defineCommand({
81
- meta: {
82
- name: "facets",
83
- description: `LinkedIn targeting facets and entity lookup.
84
-
85
- Subcommands:
86
- list — every facet (industries, seniorities, titles, employers, …)
87
- values --facet titles — entity URNs for one facet
88
- values --facet titles --query "marketing director" — typeahead`,
89
- },
90
- subCommands: {
91
- list: listCmd,
92
- values: valuesCmd,
93
- },
94
- });
95
- //# sourceMappingURL=facets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"facets.js","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/facets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAiB7D,MAAM,OAAO,GAAG,aAAa,CAAC;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;;;4EAG2D;KACzE;IACD,IAAI,EAAE;QACJ,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAE;QAC1E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE;KAC9E;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,YAAY,CAAC;gBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;YACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAkB,0BAA0B,EAAE,MAAM,CAAC,CAAC;YAC/E,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,cAAc,CAAC,IAAiD,EAAE,GAAG,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YACD,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,aAAa,CAAC;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE;;;;;;;;sDAQqC;KACnD;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;QAC7F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;QACzG,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;QAClE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAE;QAC1E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE;KAC9E;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,GAA2B,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,MAAM,GAAI,IAAI,CAAC,MAA6B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACtG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,YAAY,CAAC;gBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;YAEtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAwB,mCAAmC,EAAE,MAAM,CAAC,CAAC;YAC9F,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,cAAc,CAAC,IAAiD,EAAE,GAAG,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YACD,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE;;;;;kEAKiD;KAC/D;IACD,WAAW,EAAE;QACX,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;KAClB;CACF,CAAC,CAAC"}
@@ -1,50 +0,0 @@
1
- export declare const forecastCommand: import("citty").CommandDef<{
2
- readonly "account-id": {
3
- readonly type: "string";
4
- readonly description: "Numeric account ID or urn:li:sponsoredAccount:N";
5
- };
6
- readonly "account-urn": {
7
- readonly type: "string";
8
- readonly description: "Alias for --account-id";
9
- };
10
- readonly objective: {
11
- readonly type: "string";
12
- readonly description: "Objective type";
13
- readonly required: true;
14
- };
15
- readonly "cost-type": {
16
- readonly type: "string";
17
- readonly description: "CPC | CPM | CPV | CPS";
18
- readonly required: true;
19
- };
20
- readonly "daily-budget": {
21
- readonly type: "string";
22
- readonly description: "e.g. '200 USD' or '200'";
23
- };
24
- readonly "total-budget": {
25
- readonly type: "string";
26
- readonly description: "e.g. '6000 USD'";
27
- };
28
- readonly bid: {
29
- readonly type: "string";
30
- readonly description: "Bid e.g. '8 USD'";
31
- };
32
- readonly targeting: {
33
- readonly type: "string";
34
- readonly description: "Inline JSON targetingCriteria";
35
- };
36
- readonly "targeting-file": {
37
- readonly type: "string";
38
- readonly description: "Path to JSON file with targetingCriteria";
39
- };
40
- readonly "skip-cache": {
41
- readonly type: "boolean";
42
- readonly description: "Bypass server-side cache";
43
- };
44
- readonly output: {
45
- readonly type: "string";
46
- readonly description: "json";
47
- readonly default: "json";
48
- };
49
- }>;
50
- //# sourceMappingURL=forecast.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"forecast.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/forecast.ts"],"names":[],"mappings":"AA+CA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4C1B,CAAC"}
@@ -1,83 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- import { defineCommand } from "citty";
3
- import { apiPost } from "../../../client.js";
4
- import { writeAdsJson } from "../output.js";
5
- import { handleLinkedinError, resolveAccountIdArg } from "./shared.js";
6
- function loadTargeting(args) {
7
- const inline = args.targeting;
8
- if (inline) {
9
- try {
10
- return JSON.parse(inline);
11
- }
12
- catch {
13
- handleLinkedinError(new Error("--targeting must be valid JSON."));
14
- }
15
- }
16
- const file = args["targeting-file"];
17
- if (file) {
18
- try {
19
- return JSON.parse(readFileSync(file, "utf-8"));
20
- }
21
- catch (e) {
22
- handleLinkedinError(new Error(`Failed to read --targeting-file: ${e instanceof Error ? e.message : "I/O error"}`));
23
- }
24
- }
25
- handleLinkedinError(new Error("Pass --targeting-file <path> or --targeting '{...JSON...}'"));
26
- }
27
- function parseMoney(raw) {
28
- if (!raw)
29
- return undefined;
30
- // Accept either "100 USD" or just "100" (defaults to USD).
31
- const m = /^(\d+(?:\.\d+)?)(?:\s+([A-Z]{3}))?$/.exec(raw.trim());
32
- if (!m) {
33
- handleLinkedinError(new Error(`Invalid money "${raw}". Use "100" or "100 EUR".`));
34
- }
35
- return { amount: m[1] ?? "0", currencyCode: m[2] ?? "USD" };
36
- }
37
- export const forecastCommand = defineCommand({
38
- meta: {
39
- name: "forecast",
40
- description: `Forecast reach + impressions + clicks + spend for a hypothetical campaign.
41
-
42
- Wraps /rest/adSupplyForecasts. Useful for greenfield (§14) — answers
43
- "if we launch with this budget + targeting + objective, what's the expected delivery?"
44
-
45
- Examples:
46
- baker ads linkedin forecast --account-id 503001492 --objective LEAD_GENERATION --cost-type CPC \\
47
- --daily-budget "200 USD" --bid "8 USD" --targeting-file targeting.json`,
48
- },
49
- args: {
50
- "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
51
- "account-urn": { type: "string", description: "Alias for --account-id" },
52
- objective: { type: "string", description: "Objective type", required: true },
53
- "cost-type": { type: "string", description: "CPC | CPM | CPV | CPS", required: true },
54
- "daily-budget": { type: "string", description: "e.g. '200 USD' or '200'" },
55
- "total-budget": { type: "string", description: "e.g. '6000 USD'" },
56
- bid: { type: "string", description: "Bid e.g. '8 USD'" },
57
- targeting: { type: "string", description: "Inline JSON targetingCriteria" },
58
- "targeting-file": { type: "string", description: "Path to JSON file with targetingCriteria" },
59
- "skip-cache": { type: "boolean", description: "Bypass server-side cache" },
60
- output: { type: "string", description: "json", default: "json" },
61
- },
62
- run: async ({ args }) => {
63
- const accountId = resolveAccountIdArg(args);
64
- const targetingCriteria = loadTargeting(args);
65
- try {
66
- const data = await apiPost("/api/ads/linkedin/forecast", {
67
- accountId,
68
- objectiveType: String(args.objective),
69
- costType: String(args["cost-type"]).toUpperCase(),
70
- targetingCriteria,
71
- dailyBudget: parseMoney(args["daily-budget"]),
72
- totalBudget: parseMoney(args["total-budget"]),
73
- bid: parseMoney(args.bid),
74
- skipCache: Boolean(args["skip-cache"]),
75
- });
76
- writeAdsJson({ ok: true, data });
77
- }
78
- catch (err) {
79
- handleLinkedinError(err);
80
- }
81
- },
82
- });
83
- //# sourceMappingURL=forecast.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"forecast.js","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/forecast.ts"],"names":[],"mappings":"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"}