@koda-sl/baker-cli 0.31.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 +99 -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,56 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiGet } from "../../../client.js";
3
- import { cacheGet, cacheSet } from "../cache.js";
4
- import { writeAdsJson, writeAdsOutput } from "../output.js";
5
- import { csvOrJson, handleLinkedinError } from "./shared.js";
6
- const ACCOUNTS_TTL_MS = 60 * 60 * 1000;
7
- export const accountsCommand = defineCommand({
8
- meta: {
9
- name: "accounts",
10
- description: `List LinkedIn ad accounts in this company's connected scope.
11
-
12
- Examples:
13
- baker ads linkedin accounts
14
- baker ads linkedin accounts --include-all # ignore picker scope, list every account the token can see
15
- baker ads linkedin accounts --output csv`,
16
- },
17
- args: {
18
- "include-all": { type: "boolean", description: "List all accessible accounts, ignoring picker scope" },
19
- "no-cache": { type: "boolean", description: "Skip CLI-side cache" },
20
- "skip-cache": { type: "boolean", description: "Bypass server-side cache (force re-fetch)" },
21
- output: { type: "string", description: "Output format: json|csv|jsonl|md", default: "json" },
22
- },
23
- run: async ({ args }) => {
24
- const includeAll = args["include-all"] === true;
25
- const useCache = !args["no-cache"];
26
- const cacheKey = `accounts:${includeAll ? "all" : "scoped"}`;
27
- if (useCache) {
28
- const cached = cacheGet("linkedin-accounts", cacheKey);
29
- if (cached) {
30
- writeAdsJson({ ok: true, data: cached.data, cached: true });
31
- return;
32
- }
33
- }
34
- try {
35
- const params = {};
36
- if (includeAll)
37
- params["include-all"] = "true";
38
- if (args["skip-cache"])
39
- params["skip-cache"] = "true";
40
- const data = await apiGet("/api/ads/linkedin/accounts", params);
41
- if (useCache) {
42
- cacheSet("linkedin-accounts", cacheKey, data, ACCOUNTS_TTL_MS);
43
- }
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
- //# sourceMappingURL=accounts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAY7D,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE;;;;;2CAK0B;KACxC;IACD,IAAI,EAAE;QACJ,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qDAAqD,EAAE;QACtG,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;QACnE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,2CAA2C,EAAE;QAC3F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE,OAAO,EAAE,MAAM,EAAE;KAC7F;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,QAAQ,CAAoB,mBAAmB,EAAE,QAAQ,CAAC,CAAC;YAC1E,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,IAAI,UAAU;gBAAE,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;YAC/C,IAAI,IAAI,CAAC,YAAY,CAAC;gBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;YACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAoB,4BAA4B,EAAE,MAAM,CAAC,CAAC;YACnF,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;YACjE,CAAC;YACD,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,84 +0,0 @@
1
- export declare const analyticsCommand: import("citty").CommandDef<{
2
- readonly level: {
3
- readonly type: "string";
4
- readonly description: "Object scope (default: account)";
5
- };
6
- readonly "account-id": {
7
- readonly type: "string";
8
- readonly description: "Account ID — numeric or urn:li:sponsoredAccount:N (level=account)";
9
- };
10
- readonly "account-urn": {
11
- readonly type: "string";
12
- readonly description: "Alias for --account-id (URN form)";
13
- };
14
- readonly "campaign-group-id": {
15
- readonly type: "string";
16
- readonly description: "Comma-separated IDs (level=campaign-group)";
17
- };
18
- readonly "campaign-id": {
19
- readonly type: "string";
20
- readonly description: "Comma-separated IDs (level=campaign)";
21
- };
22
- readonly "creative-id": {
23
- readonly type: "string";
24
- readonly description: "Comma-separated IDs (level=creative)";
25
- };
26
- readonly ids: {
27
- readonly type: "string";
28
- readonly description: "Generic CSV of IDs at the chosen level (alternative to per-level flags)";
29
- };
30
- readonly intent: {
31
- readonly type: "string";
32
- readonly description: "baseline|revenue|funnel|engagement|video|lead-gen|inmail|document|ranking|identity";
33
- };
34
- readonly pivot: {
35
- readonly type: "string";
36
- readonly description: "Pivot dim. Default: none. See `--list-pivots`.";
37
- };
38
- readonly metrics: {
39
- readonly type: "string";
40
- readonly description: "CSV metric override — bypass --intent's bundle";
41
- };
42
- readonly "list-intents": {
43
- readonly type: "boolean";
44
- readonly description: "Print intent definitions and exit";
45
- };
46
- readonly "list-pivots": {
47
- readonly type: "boolean";
48
- readonly description: "Print pivot slugs and exit";
49
- };
50
- readonly start: {
51
- readonly type: "string";
52
- readonly description: "Start date YYYY-MM-DD (overrides --last-days)";
53
- };
54
- readonly end: {
55
- readonly type: "string";
56
- readonly description: "End date YYYY-MM-DD";
57
- };
58
- readonly "last-days": {
59
- readonly type: "string";
60
- readonly description: "Window relative to today (default: 7)";
61
- };
62
- readonly granularity: {
63
- readonly type: "string";
64
- readonly description: "DAILY|MONTHLY|YEARLY|ALL (default: DAILY)";
65
- };
66
- readonly limit: {
67
- readonly type: "string";
68
- readonly description: "Max rows (default: 1000)";
69
- };
70
- readonly "no-sort": {
71
- readonly type: "boolean";
72
- readonly description: "Skip default sort by costInUsd desc";
73
- };
74
- readonly "skip-cache": {
75
- readonly type: "boolean";
76
- readonly description: "Bypass server-side cache";
77
- };
78
- readonly output: {
79
- readonly type: "string";
80
- readonly description: "Output format json|csv|jsonl|md";
81
- readonly default: "json";
82
- };
83
- }>;
84
- //# sourceMappingURL=analytics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/analytics.ts"],"names":[],"mappings":"AAgKA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmI3B,CAAC"}
@@ -1,249 +0,0 @@
1
- import { defineCommand } from "citty";
2
- import { apiPost } from "../../../client.js";
3
- import { writeAdsJson, writeAdsOutput } from "../output.js";
4
- import { ALL_LEVELS, ALL_PIVOTS, composeFields, isLevel, isPivot, listIntents, MEMBER_PIVOTS, } from "./presets.js";
5
- import { csvOrJson, daysAgoIso, handleLinkedinError, resolveAccountIdArg, todayIso } from "./shared.js";
6
- function commaSplit(input) {
7
- if (!input)
8
- return undefined;
9
- return input
10
- .split(",")
11
- .map((s) => s.trim())
12
- .filter(Boolean);
13
- }
14
- function parseGranularity(raw) {
15
- const v = (raw ?? "DAILY").toUpperCase();
16
- if (v === "DAILY" || v === "MONTHLY" || v === "YEARLY" || v === "ALL") {
17
- return v;
18
- }
19
- handleLinkedinError(new Error(`Invalid --granularity "${raw}". Use DAILY | MONTHLY | YEARLY | ALL.`));
20
- }
21
- function parseLevel(raw) {
22
- const v = raw ?? "account";
23
- if (!isLevel(v)) {
24
- handleLinkedinError(new Error(`Invalid --level "${raw}". Use one of: ${ALL_LEVELS.join(", ")}.`));
25
- }
26
- return v;
27
- }
28
- function parsePivot(raw) {
29
- const v = raw ?? "none";
30
- if (!isPivot(v)) {
31
- handleLinkedinError(new Error(`Invalid --pivot "${raw}". Use one of: ${ALL_PIVOTS.join(", ")}.`));
32
- }
33
- return v;
34
- }
35
- function parseIntent(raw) {
36
- const v = (raw ?? "baseline");
37
- const known = [
38
- "baseline",
39
- "revenue",
40
- "funnel",
41
- "engagement",
42
- "video",
43
- "lead-gen",
44
- "inmail",
45
- "document",
46
- "ranking",
47
- "identity",
48
- ];
49
- if (!known.includes(v)) {
50
- handleLinkedinError(new Error(`Invalid --intent "${raw}". Run --list-intents to see options.`));
51
- }
52
- return v;
53
- }
54
- /**
55
- * Resolve start/end dates. Precedence:
56
- * 1. --start + --end (explicit window)
57
- * 2. --last-days N → end=today, start=today-N
58
- * 3. default: last 7 days
59
- */
60
- function resolveDateRange(args) {
61
- const start = args.start;
62
- const end = args.end;
63
- if (start) {
64
- return { start, end };
65
- }
66
- const lastDaysRaw = args["last-days"];
67
- const days = lastDaysRaw ? Number(lastDaysRaw) : 7;
68
- if (!Number.isFinite(days) || days < 1 || days > 730) {
69
- handleLinkedinError(new Error(`Invalid --last-days "${lastDaysRaw}". Use a positive number ≤ 730.`));
70
- }
71
- return { start: daysAgoIso(days), end: todayIso() };
72
- }
73
- /**
74
- * Resolve scope IDs. Each level expects a different flag — but we accept
75
- * --account-id at every level when level=account, and --campaign-id /
76
- * --campaign-group-id / --creative-id otherwise. CSV-encoded for multi-id.
77
- */
78
- function resolveScopeIds(args, level) {
79
- if (level === "account") {
80
- const id = resolveAccountIdArg(args);
81
- return [id];
82
- }
83
- if (level === "campaign-group") {
84
- const raw = args["campaign-group-id"] ?? args.ids;
85
- if (!raw) {
86
- handleLinkedinError(new Error("Pass --campaign-group-id (CSV for multi) when --level campaign-group."));
87
- }
88
- return commaSplit(raw) ?? [];
89
- }
90
- if (level === "campaign") {
91
- const raw = args["campaign-id"] ?? args.ids;
92
- if (!raw) {
93
- handleLinkedinError(new Error("Pass --campaign-id (CSV for multi) when --level campaign."));
94
- }
95
- return commaSplit(raw) ?? [];
96
- }
97
- // creative
98
- const raw = args["creative-id"] ?? args.ids;
99
- if (!raw) {
100
- handleLinkedinError(new Error("Pass --creative-id (CSV for multi) when --level creative."));
101
- }
102
- return commaSplit(raw) ?? [];
103
- }
104
- /** Sort rows by spend desc when present, otherwise by impressions desc. */
105
- function sortRows(rows) {
106
- return [...rows].sort((a, b) => {
107
- const cs = numberOf(b.costInUsd) - numberOf(a.costInUsd);
108
- if (cs !== 0)
109
- return cs;
110
- return numberOf(b.impressions) - numberOf(a.impressions);
111
- });
112
- }
113
- function numberOf(v) {
114
- if (typeof v === "number")
115
- return Number.isFinite(v) ? v : 0;
116
- if (typeof v === "string") {
117
- const n = Number(v);
118
- return Number.isFinite(n) ? n : 0;
119
- }
120
- return 0;
121
- }
122
- export const analyticsCommand = defineCommand({
123
- meta: {
124
- name: "analytics",
125
- description: `Performance reporting — the workhorse for AI agents.
126
-
127
- Three-axis design (LinkedIn's superpower over Meta/Google):
128
- --level account | campaign-group | campaign | creative
129
- --intent baseline | revenue | funnel | engagement | video | lead-gen | inmail | document | ranking | identity
130
- --pivot none | job-title | company | industry | seniority | function | company-size | country | region
131
- | device | placement | serving-location | card-index | objective
132
- | conversation-node | conversation-node-button
133
-
134
- Smart defaults:
135
- --level account, --intent baseline, --pivot none, --granularity DAILY, last 7 days
136
- Pivot on a MEMBER_* dim → granularity auto-forced to ALL (LinkedIn rejects DAILY+demographic)
137
- Demographic data delayed 12-24h with ≥3-event privacy floor — the CLI flags this in warnings.
138
- Derived metrics injected client-side: ctr, cpc, cpm, frequency, leadCompletionRate
139
-
140
- Examples — common AI questions:
141
- # "How is this account doing this week?"
142
- baker ads linkedin analytics
143
-
144
- # "Who are we reaching, by job title?" (the LinkedIn killer)
145
- baker ads linkedin analytics --level campaign --campaign-id 1234 --pivot job-title --intent baseline --last-days 30
146
-
147
- # "Top companies seeing my ads" (ABM feedback loop)
148
- baker ads linkedin analytics --level campaign --campaign-id 1234 --pivot company --last-days 30
149
-
150
- # "Revenue by campaign over Q1"
151
- baker ads linkedin analytics --level campaign --campaign-id 1,2,3 --intent revenue --start 2026-01-01 --end 2026-03-31 --granularity MONTHLY
152
-
153
- # "How is the lead form converting?"
154
- baker ads linkedin analytics --level campaign --campaign-id 1234 --intent lead-gen
155
-
156
- # Custom field set (escape hatch)
157
- baker ads linkedin analytics --metrics impressions,clicks,oneClickLeads --intent identity`,
158
- },
159
- args: {
160
- level: { type: "string", description: "Object scope (default: account)" },
161
- "account-id": { type: "string", description: "Account ID — numeric or urn:li:sponsoredAccount:N (level=account)" },
162
- "account-urn": { type: "string", description: "Alias for --account-id (URN form)" },
163
- "campaign-group-id": { type: "string", description: "Comma-separated IDs (level=campaign-group)" },
164
- "campaign-id": { type: "string", description: "Comma-separated IDs (level=campaign)" },
165
- "creative-id": { type: "string", description: "Comma-separated IDs (level=creative)" },
166
- ids: { type: "string", description: "Generic CSV of IDs at the chosen level (alternative to per-level flags)" },
167
- intent: {
168
- type: "string",
169
- description: "baseline|revenue|funnel|engagement|video|lead-gen|inmail|document|ranking|identity",
170
- },
171
- pivot: { type: "string", description: "Pivot dim. Default: none. See `--list-pivots`." },
172
- metrics: { type: "string", description: "CSV metric override — bypass --intent's bundle" },
173
- "list-intents": { type: "boolean", description: "Print intent definitions and exit" },
174
- "list-pivots": { type: "boolean", description: "Print pivot slugs and exit" },
175
- start: { type: "string", description: "Start date YYYY-MM-DD (overrides --last-days)" },
176
- end: { type: "string", description: "End date YYYY-MM-DD" },
177
- "last-days": { type: "string", description: "Window relative to today (default: 7)" },
178
- granularity: { type: "string", description: "DAILY|MONTHLY|YEARLY|ALL (default: DAILY)" },
179
- limit: { type: "string", description: "Max rows (default: 1000)" },
180
- "no-sort": { type: "boolean", description: "Skip default sort by costInUsd desc" },
181
- "skip-cache": { type: "boolean", description: "Bypass server-side cache" },
182
- output: { type: "string", description: "Output format json|csv|jsonl|md", default: "json" },
183
- },
184
- run: async ({ args }) => {
185
- if (args["list-intents"]) {
186
- writeAdsJson({ ok: true, data: listIntents() });
187
- return;
188
- }
189
- if (args["list-pivots"]) {
190
- writeAdsJson({ ok: true, data: ALL_PIVOTS });
191
- return;
192
- }
193
- const level = parseLevel(args.level);
194
- const intent = parseIntent(args.intent);
195
- const pivot = parsePivot(args.pivot);
196
- let granularity = parseGranularity(args.granularity);
197
- // CLI-side mirror of the backend's pivot/granularity guard. Backend will
198
- // also enforce — this lets us echo the auto-correction in stderr early.
199
- if (MEMBER_PIVOTS.has(pivot) && granularity === "DAILY") {
200
- process.stderr.write(`note: pivot=${pivot} forces --granularity ALL (LinkedIn rejects DAILY + demographic).\n`);
201
- granularity = "ALL";
202
- }
203
- const ids = resolveScopeIds(args, level);
204
- if (ids.length === 0) {
205
- handleLinkedinError(new Error(`No IDs resolved for --level ${level}`));
206
- }
207
- const range = resolveDateRange(args);
208
- const metrics = commaSplit(args.metrics);
209
- const limit = args.limit ? Number(args.limit) : 1000;
210
- const request = {
211
- level,
212
- ids,
213
- intent,
214
- pivot,
215
- metrics,
216
- start: range.start,
217
- end: range.end,
218
- granularity,
219
- limit,
220
- };
221
- try {
222
- const data = await apiPost("/api/ads/linkedin/analytics", {
223
- request,
224
- skipCache: Boolean(args["skip-cache"]),
225
- });
226
- const rows = args["no-sort"] ? data.rows : sortRows(data.rows);
227
- const fmt = csvOrJson(args);
228
- if (fmt !== "json") {
229
- writeAdsOutput(rows, fmt, data.fields);
230
- return;
231
- }
232
- writeAdsJson({
233
- ok: true,
234
- data: {
235
- rows,
236
- fields: data.fields,
237
- warnings: data.warnings,
238
- query: data.query,
239
- // Echo composed fields so an offline agent can pre-flight w/o this network call.
240
- composedFields: composeFields(intent, level, metrics),
241
- },
242
- });
243
- }
244
- catch (err) {
245
- handleLinkedinError(err);
246
- }
247
- },
248
- });
249
- //# sourceMappingURL=analytics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/analytics.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- export declare const audienceSizeCommand: 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 targeting: {
11
- readonly type: "string";
12
- readonly description: "Inline JSON targetingCriteria payload";
13
- };
14
- readonly "targeting-file": {
15
- readonly type: "string";
16
- readonly description: "Path to JSON file with targetingCriteria";
17
- };
18
- readonly "skip-cache": {
19
- readonly type: "boolean";
20
- readonly description: "Bypass server-side cache";
21
- };
22
- readonly output: {
23
- readonly type: "string";
24
- readonly description: "json";
25
- readonly default: "json";
26
- };
27
- }>;
28
- //# sourceMappingURL=audience-size.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audience-size.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/audience-size.ts"],"names":[],"mappings":"AAsCA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;EA0C9B,CAAC"}
@@ -1,75 +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
- /**
7
- * Read targeting JSON from --targeting-file, --targeting (inline JSON), or
8
- * stdin. Returns the parsed object — failure exits via handleLinkedinError.
9
- */
10
- function loadTargeting(args) {
11
- const inline = args.targeting;
12
- if (inline) {
13
- try {
14
- return JSON.parse(inline);
15
- }
16
- catch {
17
- handleLinkedinError(new Error("--targeting must be valid JSON. See LinkedIn 'targetingCriteria' shape."));
18
- }
19
- }
20
- const file = args["targeting-file"];
21
- if (file) {
22
- try {
23
- return JSON.parse(readFileSync(file, "utf-8"));
24
- }
25
- catch (e) {
26
- handleLinkedinError(new Error(`Failed to read --targeting-file: ${e instanceof Error ? e.message : "I/O error"}`));
27
- }
28
- }
29
- handleLinkedinError(new Error("Pass --targeting-file <path> or --targeting '{...JSON...}'"));
30
- }
31
- export const audienceSizeCommand = defineCommand({
32
- meta: {
33
- name: "audience-size",
34
- description: `Estimate audience size for a targeting payload — pre-launch sanity check.
35
-
36
- Returns total + active counts plus playbook §04 warnings:
37
- size <20K → too narrow (will not deliver)
38
- size <50K → outside the 50K–500K sweet spot
39
- size >500K → outside the sweet spot
40
- size >1M → too broad, refine ICP
41
-
42
- The targeting payload must follow LinkedIn's 'targetingCriteria' shape — an
43
- include/exclude tree of and/or boolean operators with adTargetingFacet keys.
44
- The simplest form:
45
- { "include": { "and": [{ "or": { "urn:li:adTargetingFacet:locations": ["urn:li:geo:103644278"] }}]}}
46
-
47
- Examples:
48
- baker ads linkedin audience-size --account-id 503001492 --targeting-file targeting.json
49
- baker ads linkedin audience-size --account-id 503001492 --targeting '{"include":{"and":[]}}'`,
50
- },
51
- args: {
52
- "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
53
- "account-urn": { type: "string", description: "Alias for --account-id" },
54
- targeting: { type: "string", description: "Inline JSON targetingCriteria payload" },
55
- "targeting-file": { type: "string", description: "Path to JSON file with targetingCriteria" },
56
- "skip-cache": { type: "boolean", description: "Bypass server-side cache" },
57
- output: { type: "string", description: "json", default: "json" },
58
- },
59
- run: async ({ args }) => {
60
- const accountId = resolveAccountIdArg(args);
61
- const targetingCriteria = loadTargeting(args);
62
- try {
63
- const data = await apiPost("/api/ads/linkedin/audience-size", {
64
- accountId,
65
- targetingCriteria,
66
- skipCache: Boolean(args["skip-cache"]),
67
- });
68
- writeAdsJson({ ok: true, data });
69
- }
70
- catch (err) {
71
- handleLinkedinError(err);
72
- }
73
- },
74
- });
75
- //# sourceMappingURL=audience-size.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audience-size.js","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/audience-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQvE;;;GAGG;AACH,SAAS,aAAa,CAAC,IAA6B;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,SAA+B,CAAC;IACpD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,mBAAmB,CAAC,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAuB,CAAC;IAC1D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,mBAAmB,CACjB,IAAI,KAAK,CAAC,oCAAoC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC9F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,mBAAmB,CAAC,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC;IAC/C,IAAI,EAAE;QACJ,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;;;;;;;;;;;;;;;+FAe8E;KAC5F;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,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;QACnF,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;QAC7F,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAE;QAC1E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;KACjE;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAqB,iCAAiC,EAAE;gBAChF,SAAS;gBACT,iBAAiB;gBACjB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACvC,CAAC,CAAC;YACH,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,35 +0,0 @@
1
- export declare const auditCommand: 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: "Narrow scope to a single campaign";
13
- };
14
- readonly "window-days": {
15
- readonly type: "string";
16
- readonly description: "Lookback window for performance checks (default: 30)";
17
- };
18
- readonly severity: {
19
- readonly type: "string";
20
- readonly description: "CSV severity filter: critical,high,medium,low";
21
- };
22
- readonly area: {
23
- readonly type: "string";
24
- readonly description: "CSV area filter: Settings,Tracking,Audience,Campaigns,Creative,Performance,Bidding,Compliance,Hygiene";
25
- };
26
- readonly format: {
27
- readonly type: "string";
28
- readonly description: "Output format: json | md (default: json)";
29
- };
30
- readonly "skip-cache": {
31
- readonly type: "boolean";
32
- readonly description: "Bypass server-side cache";
33
- };
34
- }>;
35
- //# sourceMappingURL=audit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../../src/commands/ads/linkedin/audit.ts"],"names":[],"mappings":"AAwGA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuEvB,CAAC"}