@koda-sl/baker-cli 0.513.0 → 0.514.0

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 (1077) hide show
  1. package/README.md +2 -2
  2. package/dist/account-D6LEVVWT.js +82 -0
  3. package/dist/account-D6LEVVWT.js.map +1 -0
  4. package/dist/account-SGK3IJ6N.js +82 -0
  5. package/dist/account-SGK3IJ6N.js.map +1 -0
  6. package/dist/account-assets-J5Z4URLQ.js +290 -0
  7. package/dist/account-level-4SBYYHRS.js +611 -0
  8. package/dist/account-level-4SBYYHRS.js.map +1 -0
  9. package/dist/account-reads-2MSUVG46.js +219 -0
  10. package/dist/account-users-MHC7AD6K.js +64 -0
  11. package/dist/account-users-MHC7AD6K.js.map +1 -0
  12. package/dist/account-writes-QQQC54WC.js +68 -0
  13. package/dist/account-writes-QQQC54WC.js.map +1 -0
  14. package/dist/accounts-2O6I7YBN.js +80 -0
  15. package/dist/accounts-2O6I7YBN.js.map +1 -0
  16. package/dist/accounts-QNE5QWBG.js +701 -0
  17. package/dist/accounts-QNE5QWBG.js.map +1 -0
  18. package/dist/actions-D7OWCP36.js +55 -0
  19. package/dist/activecampaign-LBS4M4C4.js +938 -0
  20. package/dist/activecampaign-LBS4M4C4.js.map +1 -0
  21. package/dist/ad-group-writes-CJTTUUIT.js +172 -0
  22. package/dist/ad-group-writes-CJTTUUIT.js.map +1 -0
  23. package/dist/ad-groups-HLGSVH74.js +70 -0
  24. package/dist/ad-groups-HLGSVH74.js.map +1 -0
  25. package/dist/ad-writes-3UE3U7VE.js +176 -0
  26. package/dist/ad-writes-3UE3U7VE.js.map +1 -0
  27. package/dist/add-HFQB2NTU.js +107 -0
  28. package/dist/add-HFQB2NTU.js.map +1 -0
  29. package/dist/add-IUYE5H6A.js +305 -0
  30. package/dist/add-IUYE5H6A.js.map +1 -0
  31. package/dist/ads-HLUJB5SQ.js +48 -0
  32. package/dist/ads-MAOI7S6V.js +115 -0
  33. package/dist/ads-PYNDMHUD.js +79 -0
  34. package/dist/ads-PYNDMHUD.js.map +1 -0
  35. package/dist/adsets-QRKICEFD.js +182 -0
  36. package/dist/advertisers-XXM6POO5.js +123 -0
  37. package/dist/advertisers-XXM6POO5.js.map +1 -0
  38. package/dist/analytics-AULKYNNT.js +447 -0
  39. package/dist/analytics-AULKYNNT.js.map +1 -0
  40. package/dist/analytics-DNDTC643.js +2437 -0
  41. package/dist/analytics-DNDTC643.js.map +1 -0
  42. package/dist/asset-writes-JLVUAVUZ.js +50 -0
  43. package/dist/assign-2GQVQKKO.js +80 -0
  44. package/dist/assign-2GQVQKKO.js.map +1 -0
  45. package/dist/audience-size-C3YHQPZB.js +76 -0
  46. package/dist/audience-size-C3YHQPZB.js.map +1 -0
  47. package/dist/audience-writes-CDKQB3SM.js +327 -0
  48. package/dist/audience-writes-CDKQB3SM.js.map +1 -0
  49. package/dist/audiences-CDDI5HR5.js +86 -0
  50. package/dist/audiences-M3A3QK52.js +280 -0
  51. package/dist/audiences-M3A3QK52.js.map +1 -0
  52. package/dist/audit-FLPJ7GTE.js +154 -0
  53. package/dist/audit-FLPJ7GTE.js.map +1 -0
  54. package/dist/autocomplete-ZYMHHV7E.js +114 -0
  55. package/dist/autocomplete-ZYMHHV7E.js.map +1 -0
  56. package/dist/avatars-WZ2JDMHH.js +38 -0
  57. package/dist/bid-pricing-H3M63PTW.js +103 -0
  58. package/dist/bid-pricing-H3M63PTW.js.map +1 -0
  59. package/dist/brand-IZTTBZII.js +22 -0
  60. package/dist/brief-OPQ7ICOY.js +543 -0
  61. package/dist/brief-OPQ7ICOY.js.map +1 -0
  62. package/dist/campaign-groups-IQSDKOVI.js +99 -0
  63. package/dist/campaign-groups-IQSDKOVI.js.map +1 -0
  64. package/dist/campaign-writes-APAAV4ZU.js +168 -0
  65. package/dist/campaign-writes-APAAV4ZU.js.map +1 -0
  66. package/dist/campaign-writes-BN4PZP4Z.js +176 -0
  67. package/dist/campaign-writes-BN4PZP4Z.js.map +1 -0
  68. package/dist/campaigns-4Y3JQC2U.js +111 -0
  69. package/dist/campaigns-GA34MEN2.js +78 -0
  70. package/dist/campaigns-GA34MEN2.js.map +1 -0
  71. package/dist/campaigns-HES5MDUG.js +130 -0
  72. package/dist/campaigns-K2FVD3XW.js +113 -0
  73. package/dist/campaigns-K2FVD3XW.js.map +1 -0
  74. package/dist/canvas-IQ753Q2O.js +46 -0
  75. package/dist/capabilities-ZITW4RF7.js +147 -0
  76. package/dist/capabilities-ZITW4RF7.js.map +1 -0
  77. package/dist/catalogs-TGLSJEK5.js +781 -0
  78. package/dist/catalogs-TGLSJEK5.js.map +1 -0
  79. package/dist/catalogs-ZR7DECMG.js +130 -0
  80. package/dist/catalogs-ZR7DECMG.js.map +1 -0
  81. package/dist/changes-VWKTM27U.js +135 -0
  82. package/dist/chatgpt-OPOD2WHB.js +47 -0
  83. package/dist/chats-AL2SYBJO.js +279 -0
  84. package/dist/chats-AL2SYBJO.js.map +1 -0
  85. package/dist/check-U2YLRD6H.js +107 -0
  86. package/dist/check-U2YLRD6H.js.map +1 -0
  87. package/dist/chunk-2GYCWRF3.js +170 -0
  88. package/dist/chunk-2L7F7KR4.js +61 -0
  89. package/dist/chunk-44ZRCSR7.js +228 -0
  90. package/dist/chunk-46YLDIQG.js +4254 -0
  91. package/dist/chunk-4EDWXZ3I.js +363 -0
  92. package/dist/chunk-4FFBGR5L.js +66 -0
  93. package/dist/chunk-4UQRXKYJ.js +219 -0
  94. package/dist/chunk-4UZUUSVL.js +592 -0
  95. package/dist/chunk-4XHCEYHI.js +831 -0
  96. package/dist/chunk-4Z6PVR3M.js +479 -0
  97. package/dist/chunk-5Y5FZV2W.js +122 -0
  98. package/dist/chunk-6HJXLGDV.js +392 -0
  99. package/dist/chunk-6S5CWGDA.js +429 -0
  100. package/dist/chunk-6VYROVWO.js +494 -0
  101. package/dist/chunk-7BUIOP36.js +287 -0
  102. package/dist/chunk-AQRXXC6E.js +319 -0
  103. package/dist/chunk-ARBXT73X.js +387 -0
  104. package/dist/chunk-BEZHQIEI.js +97 -0
  105. package/dist/chunk-BFURWHVR.js +547 -0
  106. package/dist/chunk-BX6B25KK.js +358 -0
  107. package/dist/chunk-BX6B25KK.js.map +1 -0
  108. package/dist/chunk-DSCEXBDR.js +676 -0
  109. package/dist/chunk-FLWDFPXE.js +23 -0
  110. package/dist/chunk-FRNBRN2C.js +1646 -0
  111. package/dist/chunk-G4FG5EQO.js +110 -0
  112. package/dist/chunk-G4FG5EQO.js.map +1 -0
  113. package/dist/chunk-GE3VT3CA.js +51 -0
  114. package/dist/chunk-GW2WRZZA.js +24026 -0
  115. package/dist/chunk-GW2WRZZA.js.map +1 -0
  116. package/dist/chunk-HGBJQGO5.js +142 -0
  117. package/dist/chunk-I7AYMJZA.js +783 -0
  118. package/dist/chunk-IRM273C7.js +207 -0
  119. package/dist/chunk-IWKD56AY.js +156 -0
  120. package/dist/chunk-JLAQWMVF.js +3868 -0
  121. package/dist/chunk-JOE42ZW6.js +2984 -0
  122. package/dist/chunk-JOE42ZW6.js.map +1 -0
  123. package/dist/chunk-K6NULQN7.js +57 -0
  124. package/dist/chunk-L2BRAC2J.js +19 -0
  125. package/dist/chunk-LGMI4LSY.js +455 -0
  126. package/dist/chunk-NB2FU6EZ.js +179 -0
  127. package/dist/chunk-NKQWDEB7.js +115 -0
  128. package/dist/chunk-NKQWDEB7.js.map +1 -0
  129. package/dist/chunk-NWF2LRKO.js +188 -0
  130. package/dist/chunk-OG47L5GG.js +275 -0
  131. package/dist/chunk-OR6KVLI5.js +169 -0
  132. package/dist/chunk-PC3FJEZH.js +7211 -0
  133. package/dist/chunk-PC3FJEZH.js.map +1 -0
  134. package/dist/chunk-Q3GSVLE5.js +4274 -0
  135. package/dist/chunk-Q3GSVLE5.js.map +1 -0
  136. package/dist/chunk-QDQZ62FL.js +207 -0
  137. package/dist/chunk-QIOFOD4K.js +344 -0
  138. package/dist/chunk-R2SYF5FC.js +249 -0
  139. package/dist/chunk-RTH2I55B.js +942 -0
  140. package/dist/chunk-S6VFDNSQ.js +63 -0
  141. package/dist/chunk-SG2TDQEE.js +150 -0
  142. package/dist/chunk-SOPVIIUW.js +68 -0
  143. package/dist/chunk-SOPVIIUW.js.map +1 -0
  144. package/dist/chunk-T3P6O2VU.js +89 -0
  145. package/dist/chunk-TXDE2QJ3.js +604 -0
  146. package/dist/chunk-UDIEKCIR.js +203 -0
  147. package/dist/chunk-USCADMM3.js +163 -0
  148. package/dist/chunk-UUGISMNE.js +910 -0
  149. package/dist/chunk-VDPOCAQ2.js +197 -0
  150. package/dist/chunk-VEJ3QX6M.js +103 -0
  151. package/dist/chunk-VFJB7OG6.js +91 -0
  152. package/dist/chunk-VRIPVLE7.js +8954 -0
  153. package/dist/chunk-WFY7KSHB.js +274 -0
  154. package/dist/chunk-WLESMH4J.js +45 -0
  155. package/dist/chunk-XHQYFNNK.js +846 -0
  156. package/dist/chunk-XOQNM7I4.js +396 -0
  157. package/dist/chunk-XOQNM7I4.js.map +1 -0
  158. package/dist/chunk-YILZR3XI.js +224 -0
  159. package/dist/chunk-YJFLXOH4.js +191 -0
  160. package/dist/chunk-YWHZYR6S.js +297 -0
  161. package/dist/claim-GOLUTAJ3.js +200 -0
  162. package/dist/claim-GOLUTAJ3.js.map +1 -0
  163. package/dist/cli.js +30 -30
  164. package/dist/companies-4AJJGTMC.js +198 -0
  165. package/dist/companies-4AJJGTMC.js.map +1 -0
  166. package/dist/company-MOSPLRZJ.js +308 -0
  167. package/dist/company-MOSPLRZJ.js.map +1 -0
  168. package/dist/complete-777BDV45.js +84 -0
  169. package/dist/complete-777BDV45.js.map +1 -0
  170. package/dist/connect-3YY7MF3I.js +45 -0
  171. package/dist/conversation-KROMHDHK.js +96 -0
  172. package/dist/conversation-KROMHDHK.js.map +1 -0
  173. package/dist/conversion-report-JZHI2IHY.js +127 -0
  174. package/dist/conversion-report-JZHI2IHY.js.map +1 -0
  175. package/dist/conversion-upload-command-7RSZ5ZQU.js +439 -0
  176. package/dist/conversion-writes-SNCLQDXQ.js +122 -0
  177. package/dist/conversion-writes-SNCLQDXQ.js.map +1 -0
  178. package/dist/conversions-43EYP2W2.js +140 -0
  179. package/dist/conversions-43EYP2W2.js.map +1 -0
  180. package/dist/conversions-EUOWILCQ.js +78 -0
  181. package/dist/conversions-EUOWILCQ.js.map +1 -0
  182. package/dist/copy-writes-CIHIFLY6.js +170 -0
  183. package/dist/copy-writes-CIHIFLY6.js.map +1 -0
  184. package/dist/create-3WOZO2XT.js +239 -0
  185. package/dist/create-3WOZO2XT.js.map +1 -0
  186. package/dist/create-7IFYLX7P.js +210 -0
  187. package/dist/create-7IFYLX7P.js.map +1 -0
  188. package/dist/create-FOHIQC3E.js +62 -0
  189. package/dist/create-FOHIQC3E.js.map +1 -0
  190. package/dist/create-UWQSQTK6.js +135 -0
  191. package/dist/create-UWQSQTK6.js.map +1 -0
  192. package/dist/creatives-2DR3QHJW.js +58 -0
  193. package/dist/creatives-BB6S2OF6.js +89 -0
  194. package/dist/creatives-KUO67WYA.js +223 -0
  195. package/dist/creatives-KUO67WYA.js.map +1 -0
  196. package/dist/credentials-IP4L37XP.js +290 -0
  197. package/dist/credentials-IP4L37XP.js.map +1 -0
  198. package/dist/critique-LGDNMLBL.js +232 -0
  199. package/dist/critique-LGDNMLBL.js.map +1 -0
  200. package/dist/critique-LJMFAURK.js +1451 -0
  201. package/dist/critique-LJMFAURK.js.map +1 -0
  202. package/dist/crm-BNYW7PF7.js +323 -0
  203. package/dist/crm-BNYW7PF7.js.map +1 -0
  204. package/dist/crm-J53V2QTN.js +227 -0
  205. package/dist/crm-J53V2QTN.js.map +1 -0
  206. package/dist/currency-X7Y6TSLF.js +88 -0
  207. package/dist/custom-conversions-HAGG72LF.js +128 -0
  208. package/dist/customers-663K2OCP.js +59 -0
  209. package/dist/delete-5W3YVA4L.js +67 -0
  210. package/dist/delete-5W3YVA4L.js.map +1 -0
  211. package/dist/delete-6U7E6YUW.js +57 -0
  212. package/dist/delete-6U7E6YUW.js.map +1 -0
  213. package/dist/delete-G4NY6ZG6.js +69 -0
  214. package/dist/delete-G4NY6ZG6.js.map +1 -0
  215. package/dist/demographics-4Y5LTCU4.js +141 -0
  216. package/dist/demographics-4Y5LTCU4.js.map +1 -0
  217. package/dist/discard-RKCZNKMN.js +69 -0
  218. package/dist/discard-RKCZNKMN.js.map +1 -0
  219. package/dist/discover-6DORQWXY.js +172 -0
  220. package/dist/domain-PLA2O4FW.js +101 -0
  221. package/dist/domain-PLA2O4FW.js.map +1 -0
  222. package/dist/download-4EFLVSA4.js +172 -0
  223. package/dist/download-4EFLVSA4.js.map +1 -0
  224. package/dist/draft-4V7W5DV2.js +310 -0
  225. package/dist/draft-4V7W5DV2.js.map +1 -0
  226. package/dist/draft-HY3U2GHU.js +283 -0
  227. package/dist/draft-HY3U2GHU.js.map +1 -0
  228. package/dist/draft-JMNAGW7C.js +220 -0
  229. package/dist/draft-JMNAGW7C.js.map +1 -0
  230. package/dist/draft-R6EKORNS.js +308 -0
  231. package/dist/draft-TRPQCJ4B.js +335 -0
  232. package/dist/draft-TRPQCJ4B.js.map +1 -0
  233. package/dist/experiments-4V242DG2.js +236 -0
  234. package/dist/experiments-4V242DG2.js.map +1 -0
  235. package/dist/facets-WXJ2MCU6.js +117 -0
  236. package/dist/facets-WXJ2MCU6.js.map +1 -0
  237. package/dist/feedback-IRSRPXV6.js +111 -0
  238. package/dist/feedback-IRSRPXV6.js.map +1 -0
  239. package/dist/feedback-record-DT3R4NA3.js +265 -0
  240. package/dist/feedback-record-DT3R4NA3.js.map +1 -0
  241. package/dist/fetch-YLQP5VQL.js +179 -0
  242. package/dist/fetch-YLQP5VQL.js.map +1 -0
  243. package/dist/fit-BEFCY2B4.js +65 -0
  244. package/dist/flows-FDMF3F3P.js +250 -0
  245. package/dist/flows-FDMF3F3P.js.map +1 -0
  246. package/dist/fonts-C6XN5667.js +39 -0
  247. package/dist/forecast-BTPIXEQ5.js +169 -0
  248. package/dist/forecast-ZTXZD3HD.js +121 -0
  249. package/dist/forecast-ZTXZD3HD.js.map +1 -0
  250. package/dist/funnel-7KOEX7YM.js +397 -0
  251. package/dist/funnel-7KOEX7YM.js.map +1 -0
  252. package/dist/get-KBSKPTAV.js +59 -0
  253. package/dist/get-KBSKPTAV.js.map +1 -0
  254. package/dist/get-OSVQVMP6.js +82 -0
  255. package/dist/get-OSVQVMP6.js.map +1 -0
  256. package/dist/google-M6BJ22UL.js +3267 -0
  257. package/dist/google-ads-XCJVAXWF.js +198 -0
  258. package/dist/google-ads-XCJVAXWF.js.map +1 -0
  259. package/dist/history-3NTM5SFN.js +69 -0
  260. package/dist/history-3NTM5SFN.js.map +1 -0
  261. package/dist/history-4TN2A6BL.js +136 -0
  262. package/dist/history-4TN2A6BL.js.map +1 -0
  263. package/dist/history-5IWW2X33.js +102 -0
  264. package/dist/history-5IWW2X33.js.map +1 -0
  265. package/dist/hubspot-HMVSRJQZ.js +782 -0
  266. package/dist/hubspot-HMVSRJQZ.js.map +1 -0
  267. package/dist/ideas-M66FU45H.js +45 -0
  268. package/dist/images-MM5OPUKV.js +92 -0
  269. package/dist/ingest-GU3WEBN3.js +110 -0
  270. package/dist/ingest-GU3WEBN3.js.map +1 -0
  271. package/dist/ingest-KMLYCFF4.js +26 -0
  272. package/dist/insights-CQCWOCIT.js +132 -0
  273. package/dist/insights-CQCWOCIT.js.map +1 -0
  274. package/dist/insights-XZL2EM53.js +439 -0
  275. package/dist/insights-XZL2EM53.js.map +1 -0
  276. package/dist/inspect-4JO2J3D6.js +192 -0
  277. package/dist/inspect-4JO2J3D6.js.map +1 -0
  278. package/dist/instant-experiences-RM4MLJTL.js +260 -0
  279. package/dist/instant-experiences-RM4MLJTL.js.map +1 -0
  280. package/dist/intent-YCQCUCV3.js +95 -0
  281. package/dist/keyword-gap-PUSF7EKY.js +130 -0
  282. package/dist/keyword-metrics-JXBM22ZD.js +200 -0
  283. package/dist/keyword-metrics-JXBM22ZD.js.map +1 -0
  284. package/dist/keywords-for-site-OAYA7KP7.js +131 -0
  285. package/dist/keywords-for-site-OAYA7KP7.js.map +1 -0
  286. package/dist/landing-OZU5RRFV.js +28 -0
  287. package/dist/languages-SLFV73GE.js +40 -0
  288. package/dist/leads-Q7APIJRQ.js +115 -0
  289. package/dist/leads-Q7APIJRQ.js.map +1 -0
  290. package/dist/leads-ULYHTG22.js +540 -0
  291. package/dist/leads-ULYHTG22.js.map +1 -0
  292. package/dist/learn-NBBJRMVZ.js +207 -0
  293. package/dist/learn-NBBJRMVZ.js.map +1 -0
  294. package/dist/line-item-writes-X3L5NQEH.js +211 -0
  295. package/dist/line-item-writes-X3L5NQEH.js.map +1 -0
  296. package/dist/line-items-NJMEPEF5.js +107 -0
  297. package/dist/link-WZSNUQQ2.js +67 -0
  298. package/dist/link-WZSNUQQ2.js.map +1 -0
  299. package/dist/linkedin-55PAID62.js +1316 -0
  300. package/dist/linkedin-55PAID62.js.map +1 -0
  301. package/dist/linkedin-person-MVRI7LLC.js +139 -0
  302. package/dist/linkedin-person-MVRI7LLC.js.map +1 -0
  303. package/dist/list-6S54IAUX.js +67 -0
  304. package/dist/list-6S54IAUX.js.map +1 -0
  305. package/dist/list-QRJ4E3SC.js +154 -0
  306. package/dist/list-QRJ4E3SC.js.map +1 -0
  307. package/dist/list-RZUDFLJN.js +306 -0
  308. package/dist/list-RZUDFLJN.js.map +1 -0
  309. package/dist/locations-T2OMP6QN.js +40 -0
  310. package/dist/locations-W3VOYBWL.js +69 -0
  311. package/dist/locations-W3VOYBWL.js.map +1 -0
  312. package/dist/log-53SAPZZ3.js +95 -0
  313. package/dist/log-53SAPZZ3.js.map +1 -0
  314. package/dist/lookup-S5VG7AWH.js +23 -0
  315. package/dist/make-ZF3YIMKW.js +1370 -0
  316. package/dist/make-ZF3YIMKW.js.map +1 -0
  317. package/dist/map-J37QFJSV.js +436 -0
  318. package/dist/map-J37QFJSV.js.map +1 -0
  319. package/dist/mcp-YRIFPYNU.js +717 -0
  320. package/dist/mcp-YRIFPYNU.js.map +1 -0
  321. package/dist/media-P4T4ZBNS.js +18 -0
  322. package/dist/media-sources-EQI3U4TC.js +35 -0
  323. package/dist/members-GYVMSCKL.js +47 -0
  324. package/dist/members-GYVMSCKL.js.map +1 -0
  325. package/dist/meta-IPLWNYC7.js +122 -0
  326. package/dist/metrics-4YVJHYRI.js +152 -0
  327. package/dist/normalize-MFN3WCH5.js +144 -0
  328. package/dist/normalize-MFN3WCH5.js.map +1 -0
  329. package/dist/options-DLHDHO7H.js +125 -0
  330. package/dist/options-DLHDHO7H.js.map +1 -0
  331. package/dist/organization-C2VOA2SD.js +949 -0
  332. package/dist/organization-C2VOA2SD.js.map +1 -0
  333. package/dist/page-photos-OQ5QATQH.js +118 -0
  334. package/dist/page-photos-OQ5QATQH.js.map +1 -0
  335. package/dist/performance-NIF3CESZ.js +27 -0
  336. package/dist/performance-T6TBVHVU.js +5541 -0
  337. package/dist/performance-T6TBVHVU.js.map +1 -0
  338. package/dist/pixels-LQAJOZIM.js +62 -0
  339. package/dist/pixels-LQAJOZIM.js.map +1 -0
  340. package/dist/plan-7UF76Q6U.js +208 -0
  341. package/dist/plan-7UF76Q6U.js.map +1 -0
  342. package/dist/preview-LRJOQ7LM.js +218 -0
  343. package/dist/preview-LRJOQ7LM.js.map +1 -0
  344. package/dist/promoted-tweet-writes-Y6BBOWDL.js +183 -0
  345. package/dist/promoted-tweet-writes-Y6BBOWDL.js.map +1 -0
  346. package/dist/promoted-tweets-RJT53DRM.js +119 -0
  347. package/dist/publish-IOTMJCCY.js +344 -0
  348. package/dist/publish-IOTMJCCY.js.map +1 -0
  349. package/dist/query-XZMDGRO5.js +62 -0
  350. package/dist/questionnaire-DWEH5II4.js +94 -0
  351. package/dist/questionnaire-DWEH5II4.js.map +1 -0
  352. package/dist/reddit-JIHMAKAQ.js +29 -0
  353. package/dist/refresh-OQZ263CS.js +97 -0
  354. package/dist/refresh-OQZ263CS.js.map +1 -0
  355. package/dist/release-4CHFURO3.js +63 -0
  356. package/dist/release-4CHFURO3.js.map +1 -0
  357. package/dist/relevant-pages-FS7GBVXK.js +99 -0
  358. package/dist/remove-IJQPHPDI.js +53 -0
  359. package/dist/remove-IJQPHPDI.js.map +1 -0
  360. package/dist/reopen-YTLPVKUR.js +66 -0
  361. package/dist/reopen-YTLPVKUR.js.map +1 -0
  362. package/dist/rerun-C7NB7B35.js +95 -0
  363. package/dist/rerun-C7NB7B35.js.map +1 -0
  364. package/dist/research-PNBACCCP.js +72 -0
  365. package/dist/research-TLHNPK3O.js +265 -0
  366. package/dist/research-TLHNPK3O.js.map +1 -0
  367. package/dist/reset-JVLW7HA2.js +57 -0
  368. package/dist/reset-JVLW7HA2.js.map +1 -0
  369. package/dist/reset-Y6FXLAQE.js +57 -0
  370. package/dist/reset-Y6FXLAQE.js.map +1 -0
  371. package/dist/resolve-YLRESES5.js +124 -0
  372. package/dist/resolve-YLRESES5.js.map +1 -0
  373. package/dist/retry-3V3IGDRR.js +65 -0
  374. package/dist/retry-3V3IGDRR.js.map +1 -0
  375. package/dist/retry-AEKQLQMP.js +63 -0
  376. package/dist/retry-AEKQLQMP.js.map +1 -0
  377. package/dist/revenue-E4GQIOUY.js +91 -0
  378. package/dist/revenue-E4GQIOUY.js.map +1 -0
  379. package/dist/rule-writes-UAVWT4XS.js +525 -0
  380. package/dist/rule-writes-UAVWT4XS.js.map +1 -0
  381. package/dist/rules-34BQAWU3.js +99 -0
  382. package/dist/rules-34BQAWU3.js.map +1 -0
  383. package/dist/rules-ZVS2MWED.js +217 -0
  384. package/dist/rules-add-CM5XUYNS.js +465 -0
  385. package/dist/rules-add-CM5XUYNS.js.map +1 -0
  386. package/dist/run-MD64RDHZ.js +69 -0
  387. package/dist/run-MD64RDHZ.js.map +1 -0
  388. package/dist/run-QCNRR3CA.js +70 -0
  389. package/dist/scaffold-ad-NADPY3CB.js +1516 -0
  390. package/dist/scaffold-ad-NADPY3CB.js.map +1 -0
  391. package/dist/scaffold-static-ad-5YEYYVYH.js +1015 -0
  392. package/dist/scaffold-static-ad-5YEYYVYH.js.map +1 -0
  393. package/dist/scaffold-video-W7DF2CBJ.js +888 -0
  394. package/dist/scaffold-video-W7DF2CBJ.js.map +1 -0
  395. package/dist/schedule-CTRRF6TS.js +64 -0
  396. package/dist/schedule-CTRRF6TS.js.map +1 -0
  397. package/dist/scheduled-agents-OXYAVSIE.js +55 -0
  398. package/dist/schema-BEUYOGSW.js +135 -0
  399. package/dist/schema-BEUYOGSW.js.map +1 -0
  400. package/dist/search-GFJKWPKN.js +177 -0
  401. package/dist/search-GFJKWPKN.js.map +1 -0
  402. package/dist/select-S72CCL57.js +106 -0
  403. package/dist/select-S72CCL57.js.map +1 -0
  404. package/dist/sends-LAY5C74B.js +349 -0
  405. package/dist/sends-LAY5C74B.js.map +1 -0
  406. package/dist/set-prompt-YYFDRXRI.js +198 -0
  407. package/dist/set-prompt-YYFDRXRI.js.map +1 -0
  408. package/dist/setup-links-D4JJLESN.js +144 -0
  409. package/dist/setup-links-D4JJLESN.js.map +1 -0
  410. package/dist/shopify-T4UWFIQC.js +3958 -0
  411. package/dist/shopify-T4UWFIQC.js.map +1 -0
  412. package/dist/site-BBZAUZA3.js +180 -0
  413. package/dist/site-BBZAUZA3.js.map +1 -0
  414. package/dist/sources-BUPV7H7F.js +457 -0
  415. package/dist/sources-BUPV7H7F.js.map +1 -0
  416. package/dist/sources-FLUGHSVP.js +30 -0
  417. package/dist/stale-HP54JS5X.js +76 -0
  418. package/dist/stale-HP54JS5X.js.map +1 -0
  419. package/dist/status-CLSWQFCQ.js +65 -0
  420. package/dist/status-CLSWQFCQ.js.map +1 -0
  421. package/dist/studies-EPO2AM4M.js +250 -0
  422. package/dist/study-writes-7FP443QQ.js +470 -0
  423. package/dist/study-writes-7FP443QQ.js.map +1 -0
  424. package/dist/sync-4YTVVEVC.js +57 -0
  425. package/dist/sync-4YTVVEVC.js.map +1 -0
  426. package/dist/sync-definition-OGQ5XTQE.js +69 -0
  427. package/dist/tags-CZTRQNXV.js +26 -0
  428. package/dist/tags-FDQXWTCQ.js +23 -0
  429. package/dist/tags-FDQXWTCQ.js.map +1 -0
  430. package/dist/tags-R67DKRZ6.js +23 -0
  431. package/dist/tags-R67DKRZ6.js.map +1 -0
  432. package/dist/tags-SA2LU6AW.js +227 -0
  433. package/dist/tags-SA2LU6AW.js.map +1 -0
  434. package/dist/tags-ZOXX6VRE.js +23 -0
  435. package/dist/tags-ZOXX6VRE.js.map +1 -0
  436. package/dist/targeting-NKZFEZD7.js +762 -0
  437. package/dist/targeting-NKZFEZD7.js.map +1 -0
  438. package/dist/targeting-criteria-AQYXVSGN.js +113 -0
  439. package/dist/targets-UUVCEG3F.js +106 -0
  440. package/dist/targets-UUVCEG3F.js.map +1 -0
  441. package/dist/testimonials-G3OCNPBY.js +32 -0
  442. package/dist/themes-FEVYZZCW.js +95 -0
  443. package/dist/top-companies-BQGWKYUK.js +111 -0
  444. package/dist/top-companies-BQGWKYUK.js.map +1 -0
  445. package/dist/transcript-U46AEOEI.js +165 -0
  446. package/dist/transcript-U46AEOEI.js.map +1 -0
  447. package/dist/translate-AS7JVKYM.js +609 -0
  448. package/dist/translate-AS7JVKYM.js.map +1 -0
  449. package/dist/triggers-ECRBPYYF.js +144 -0
  450. package/dist/triggers-ECRBPYYF.js.map +1 -0
  451. package/dist/unlink-VDNCSRJV.js +70 -0
  452. package/dist/unlink-VDNCSRJV.js.map +1 -0
  453. package/dist/unstage-ATDXUYP2.js +88 -0
  454. package/dist/unstage-ATDXUYP2.js.map +1 -0
  455. package/dist/unstage-ZA3WQBEA.js +96 -0
  456. package/dist/unstage-ZA3WQBEA.js.map +1 -0
  457. package/dist/update-FJ6TBV3E.js +101 -0
  458. package/dist/update-FJ6TBV3E.js.map +1 -0
  459. package/dist/update-HDBJCSTI.js +66 -0
  460. package/dist/update-HDBJCSTI.js.map +1 -0
  461. package/dist/update-U43DJRGV.js +155 -0
  462. package/dist/update-U43DJRGV.js.map +1 -0
  463. package/dist/update-Z7TIUBMJ.js +192 -0
  464. package/dist/update-Z7TIUBMJ.js.map +1 -0
  465. package/dist/upload-LXCFSRIU.js +129 -0
  466. package/dist/upload-LXCFSRIU.js.map +1 -0
  467. package/dist/url-options-Z4BQBEMI.js +131 -0
  468. package/dist/url-options-Z4BQBEMI.js.map +1 -0
  469. package/dist/url-params-J7RKP5RB.js +101 -0
  470. package/dist/url-params-J7RKP5RB.js.map +1 -0
  471. package/dist/validate-VR3HEOMJ.js +122 -0
  472. package/dist/validate-VR3HEOMJ.js.map +1 -0
  473. package/dist/videos-36AXDUGZ.js +41 -0
  474. package/dist/viewer-check-6HL4OUQY.js +83 -0
  475. package/dist/web-7BRJRQX7.js +143 -0
  476. package/dist/web-7BRJRQX7.js.map +1 -0
  477. package/dist/winning-ads-GMM5W2O4.js +86 -0
  478. package/dist/write-commands-IM5DPG3R.js +1502 -0
  479. package/dist/write-commands-IM5DPG3R.js.map +1 -0
  480. package/dist/write-commands-OGVDWWBV.js +1172 -0
  481. package/dist/write-commands-OGVDWWBV.js.map +1 -0
  482. package/dist/x-HGFAL3NY.js +47 -0
  483. package/package.json +1 -1
  484. package/dist/account-UUAEQWO3.js +0 -80
  485. package/dist/account-UUAEQWO3.js.map +0 -1
  486. package/dist/account-WLQBAQMD.js +0 -80
  487. package/dist/account-WLQBAQMD.js.map +0 -1
  488. package/dist/account-assets-O7IA37RE.js +0 -290
  489. package/dist/account-level-EU7BWCO7.js +0 -609
  490. package/dist/account-level-EU7BWCO7.js.map +0 -1
  491. package/dist/account-reads-SNOWDHHF.js +0 -219
  492. package/dist/account-users-NV37Z2XJ.js +0 -62
  493. package/dist/account-users-NV37Z2XJ.js.map +0 -1
  494. package/dist/account-writes-TU3WJRSI.js +0 -66
  495. package/dist/account-writes-TU3WJRSI.js.map +0 -1
  496. package/dist/accounts-MZ6SETJJ.js +0 -78
  497. package/dist/accounts-MZ6SETJJ.js.map +0 -1
  498. package/dist/accounts-U7ZBEAY6.js +0 -699
  499. package/dist/accounts-U7ZBEAY6.js.map +0 -1
  500. package/dist/actions-4JYHXRFH.js +0 -55
  501. package/dist/activecampaign-IDBV26HH.js +0 -936
  502. package/dist/activecampaign-IDBV26HH.js.map +0 -1
  503. package/dist/ad-group-writes-HLBWN4E4.js +0 -170
  504. package/dist/ad-group-writes-HLBWN4E4.js.map +0 -1
  505. package/dist/ad-groups-33NZD6J3.js +0 -68
  506. package/dist/ad-groups-33NZD6J3.js.map +0 -1
  507. package/dist/ad-writes-7ZDNDZ2E.js +0 -174
  508. package/dist/ad-writes-7ZDNDZ2E.js.map +0 -1
  509. package/dist/add-AF42LQQQ.js +0 -105
  510. package/dist/add-AF42LQQQ.js.map +0 -1
  511. package/dist/add-LJRZYJ7I.js +0 -303
  512. package/dist/add-LJRZYJ7I.js.map +0 -1
  513. package/dist/ads-KBE5JXCH.js +0 -115
  514. package/dist/ads-LXWXOQHX.js +0 -48
  515. package/dist/ads-X3AM6M7L.js +0 -77
  516. package/dist/ads-X3AM6M7L.js.map +0 -1
  517. package/dist/adsets-YWBJFPAZ.js +0 -182
  518. package/dist/advertisers-6FOCN2W3.js +0 -121
  519. package/dist/advertisers-6FOCN2W3.js.map +0 -1
  520. package/dist/analytics-64HBRJJE.js +0 -2435
  521. package/dist/analytics-64HBRJJE.js.map +0 -1
  522. package/dist/analytics-VY5NL2GL.js +0 -445
  523. package/dist/analytics-VY5NL2GL.js.map +0 -1
  524. package/dist/asset-writes-72DEVXGO.js +0 -48
  525. package/dist/assign-N2I2BM67.js +0 -78
  526. package/dist/assign-N2I2BM67.js.map +0 -1
  527. package/dist/audience-size-H5DEZXJN.js +0 -74
  528. package/dist/audience-size-H5DEZXJN.js.map +0 -1
  529. package/dist/audience-writes-KCHLNFSI.js +0 -325
  530. package/dist/audience-writes-KCHLNFSI.js.map +0 -1
  531. package/dist/audiences-QAH42HIM.js +0 -86
  532. package/dist/audiences-WCDWN64L.js +0 -268
  533. package/dist/audiences-WCDWN64L.js.map +0 -1
  534. package/dist/audit-2AAF6AOX.js +0 -152
  535. package/dist/audit-2AAF6AOX.js.map +0 -1
  536. package/dist/autocomplete-3GSKRNCZ.js +0 -112
  537. package/dist/autocomplete-3GSKRNCZ.js.map +0 -1
  538. package/dist/avatars-N6W6HUPP.js +0 -38
  539. package/dist/bid-pricing-IMITXHXN.js +0 -101
  540. package/dist/bid-pricing-IMITXHXN.js.map +0 -1
  541. package/dist/brand-ITWQVZD2.js +0 -22
  542. package/dist/brief-JJNEYPYB.js +0 -541
  543. package/dist/brief-JJNEYPYB.js.map +0 -1
  544. package/dist/campaign-groups-TTQLP32Q.js +0 -97
  545. package/dist/campaign-groups-TTQLP32Q.js.map +0 -1
  546. package/dist/campaign-writes-MAKPHQ3V.js +0 -166
  547. package/dist/campaign-writes-MAKPHQ3V.js.map +0 -1
  548. package/dist/campaign-writes-XO74BALZ.js +0 -174
  549. package/dist/campaign-writes-XO74BALZ.js.map +0 -1
  550. package/dist/campaigns-5BIDXYSR.js +0 -111
  551. package/dist/campaigns-LS65QM6W.js +0 -76
  552. package/dist/campaigns-LS65QM6W.js.map +0 -1
  553. package/dist/campaigns-XZOQ2VTK.js +0 -130
  554. package/dist/campaigns-XZPXCS7I.js +0 -111
  555. package/dist/campaigns-XZPXCS7I.js.map +0 -1
  556. package/dist/canvas-SL3RMOY5.js +0 -46
  557. package/dist/capabilities-LSR5GCE6.js +0 -145
  558. package/dist/capabilities-LSR5GCE6.js.map +0 -1
  559. package/dist/catalogs-JLCSFZYC.js +0 -779
  560. package/dist/catalogs-JLCSFZYC.js.map +0 -1
  561. package/dist/catalogs-T23RKYFC.js +0 -128
  562. package/dist/catalogs-T23RKYFC.js.map +0 -1
  563. package/dist/changes-36C754R4.js +0 -135
  564. package/dist/chatgpt-3WFOPURY.js +0 -47
  565. package/dist/chats-GGYTXNJS.js +0 -277
  566. package/dist/chats-GGYTXNJS.js.map +0 -1
  567. package/dist/check-P7UPBBG7.js +0 -105
  568. package/dist/check-P7UPBBG7.js.map +0 -1
  569. package/dist/chunk-2TOIY2WN.js +0 -4254
  570. package/dist/chunk-4D46PS6J.js +0 -344
  571. package/dist/chunk-4GAEB6NK.js +0 -228
  572. package/dist/chunk-5XTGG4PV.js +0 -274
  573. package/dist/chunk-6JCX3YLM.js +0 -249
  574. package/dist/chunk-7J3NZBPV.js +0 -2982
  575. package/dist/chunk-7J3NZBPV.js.map +0 -1
  576. package/dist/chunk-ALMYGH5U.js +0 -479
  577. package/dist/chunk-AQKRSEBQ.js +0 -103
  578. package/dist/chunk-BL6RTOK3.js +0 -297
  579. package/dist/chunk-C6CBBZBO.js +0 -203
  580. package/dist/chunk-CCEDZTP7.js +0 -391
  581. package/dist/chunk-CCEDZTP7.js.map +0 -1
  582. package/dist/chunk-CKQTJ2LV.js +0 -89
  583. package/dist/chunk-D3KLDIPQ.js +0 -45
  584. package/dist/chunk-DL2UJNJ7.js +0 -8954
  585. package/dist/chunk-DQ54POZN.js +0 -363
  586. package/dist/chunk-EDLZGTGN.js +0 -216
  587. package/dist/chunk-EDLZGTGN.js.map +0 -1
  588. package/dist/chunk-EXSHBYNQ.js +0 -349
  589. package/dist/chunk-EXSHBYNQ.js.map +0 -1
  590. package/dist/chunk-FFFJBNHA.js +0 -63
  591. package/dist/chunk-FKQK22IX.js +0 -51
  592. package/dist/chunk-FLK6QHOY.js +0 -142
  593. package/dist/chunk-GACSA5A6.js +0 -1646
  594. package/dist/chunk-HJKYTNAZ.js +0 -61
  595. package/dist/chunk-INUU3752.js +0 -392
  596. package/dist/chunk-IQHO2ABF.js +0 -197
  597. package/dist/chunk-J3UWMBOP.js +0 -547
  598. package/dist/chunk-JDR3HUEL.js +0 -191
  599. package/dist/chunk-JI77AKT6.js +0 -19
  600. package/dist/chunk-JNURZHZJ.js +0 -942
  601. package/dist/chunk-JSNMKTFM.js +0 -592
  602. package/dist/chunk-K4FLWDEX.js +0 -122
  603. package/dist/chunk-KBRJSPIM.js +0 -676
  604. package/dist/chunk-LAC6YHHX.js +0 -97
  605. package/dist/chunk-M7HD42M6.js +0 -24017
  606. package/dist/chunk-M7HD42M6.js.map +0 -1
  607. package/dist/chunk-MGYC2IRC.js +0 -783
  608. package/dist/chunk-MI4HXE7M.js +0 -23
  609. package/dist/chunk-MJ7RNDD4.js +0 -910
  610. package/dist/chunk-OBJCNGZL.js +0 -207
  611. package/dist/chunk-OJGYYH6K.js +0 -179
  612. package/dist/chunk-OLBLXJNI.js +0 -224
  613. package/dist/chunk-PFTYKINE.js +0 -207
  614. package/dist/chunk-PLBITHV6.js +0 -846
  615. package/dist/chunk-Q6JMMBSQ.js +0 -831
  616. package/dist/chunk-RAQHUMKS.js +0 -169
  617. package/dist/chunk-SA22KXWT.js +0 -163
  618. package/dist/chunk-SIXU5PDF.js +0 -66
  619. package/dist/chunk-SXMK5AEJ.js +0 -494
  620. package/dist/chunk-TTLD66NI.js +0 -319
  621. package/dist/chunk-TVAIOC77.js +0 -287
  622. package/dist/chunk-TVTSA4EN.js +0 -188
  623. package/dist/chunk-V5NHJU3M.js +0 -604
  624. package/dist/chunk-VIPKDXGU.js +0 -4229
  625. package/dist/chunk-VIPKDXGU.js.map +0 -1
  626. package/dist/chunk-W4D7C74B.js +0 -387
  627. package/dist/chunk-WF25CCLD.js +0 -170
  628. package/dist/chunk-WQPUX3BA.js +0 -275
  629. package/dist/chunk-WR3FR3K3.js +0 -156
  630. package/dist/chunk-XDNJC62G.js +0 -91
  631. package/dist/chunk-XE6N4SZI.js +0 -429
  632. package/dist/chunk-XGPU2VDU.js +0 -219
  633. package/dist/chunk-XUJZO7MZ.js +0 -57
  634. package/dist/chunk-Y67LUJBE.js +0 -455
  635. package/dist/chunk-Y7XSDJEA.js +0 -3868
  636. package/dist/chunk-ZNNQK366.js +0 -7198
  637. package/dist/chunk-ZNNQK366.js.map +0 -1
  638. package/dist/chunk-ZNRGH4NS.js +0 -150
  639. package/dist/claim-4KUETSW3.js +0 -198
  640. package/dist/claim-4KUETSW3.js.map +0 -1
  641. package/dist/companies-XFO6WPVT.js +0 -196
  642. package/dist/companies-XFO6WPVT.js.map +0 -1
  643. package/dist/company-OJGISG7K.js +0 -306
  644. package/dist/company-OJGISG7K.js.map +0 -1
  645. package/dist/complete-CXOST5J3.js +0 -82
  646. package/dist/complete-CXOST5J3.js.map +0 -1
  647. package/dist/connect-HPQ32KGV.js +0 -43
  648. package/dist/conversation-D5HKCTDA.js +0 -94
  649. package/dist/conversation-D5HKCTDA.js.map +0 -1
  650. package/dist/conversion-report-DKXFHLLX.js +0 -125
  651. package/dist/conversion-report-DKXFHLLX.js.map +0 -1
  652. package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
  653. package/dist/conversion-writes-7ODJDAUP.js +0 -120
  654. package/dist/conversion-writes-7ODJDAUP.js.map +0 -1
  655. package/dist/conversions-BKVGNNC6.js +0 -76
  656. package/dist/conversions-BKVGNNC6.js.map +0 -1
  657. package/dist/conversions-SYNDEB6D.js +0 -138
  658. package/dist/conversions-SYNDEB6D.js.map +0 -1
  659. package/dist/copy-writes-P4WK6OPM.js +0 -168
  660. package/dist/copy-writes-P4WK6OPM.js.map +0 -1
  661. package/dist/create-7D4VD4TC.js +0 -208
  662. package/dist/create-7D4VD4TC.js.map +0 -1
  663. package/dist/create-7QDEAWZS.js +0 -133
  664. package/dist/create-7QDEAWZS.js.map +0 -1
  665. package/dist/create-IQSYEC4M.js +0 -60
  666. package/dist/create-IQSYEC4M.js.map +0 -1
  667. package/dist/create-TQSCM7MG.js +0 -237
  668. package/dist/create-TQSCM7MG.js.map +0 -1
  669. package/dist/creatives-JPKA2RHU.js +0 -89
  670. package/dist/creatives-RNOL4F4E.js +0 -58
  671. package/dist/creatives-RXI27T2D.js +0 -221
  672. package/dist/creatives-RXI27T2D.js.map +0 -1
  673. package/dist/credentials-PYW55B52.js +0 -288
  674. package/dist/credentials-PYW55B52.js.map +0 -1
  675. package/dist/critique-2SYHNAW5.js +0 -1449
  676. package/dist/critique-2SYHNAW5.js.map +0 -1
  677. package/dist/critique-72GFZSHA.js +0 -230
  678. package/dist/critique-72GFZSHA.js.map +0 -1
  679. package/dist/crm-EATDSXXB.js +0 -225
  680. package/dist/crm-EATDSXXB.js.map +0 -1
  681. package/dist/crm-XXP3VBYD.js +0 -321
  682. package/dist/crm-XXP3VBYD.js.map +0 -1
  683. package/dist/currency-R4ORE2U3.js +0 -88
  684. package/dist/custom-conversions-5HJBB5XL.js +0 -128
  685. package/dist/customers-OFZTEXST.js +0 -57
  686. package/dist/delete-FGVZIK4R.js +0 -55
  687. package/dist/delete-FGVZIK4R.js.map +0 -1
  688. package/dist/delete-HBZZL4UA.js +0 -67
  689. package/dist/delete-HBZZL4UA.js.map +0 -1
  690. package/dist/delete-JOUXMRIX.js +0 -65
  691. package/dist/delete-JOUXMRIX.js.map +0 -1
  692. package/dist/demographics-SB7NBYOI.js +0 -139
  693. package/dist/demographics-SB7NBYOI.js.map +0 -1
  694. package/dist/discard-YYGIRDII.js +0 -67
  695. package/dist/discard-YYGIRDII.js.map +0 -1
  696. package/dist/discover-GSJRZUOC.js +0 -172
  697. package/dist/domain-3KRAJAUH.js +0 -99
  698. package/dist/domain-3KRAJAUH.js.map +0 -1
  699. package/dist/download-QCBKJ6OR.js +0 -170
  700. package/dist/download-QCBKJ6OR.js.map +0 -1
  701. package/dist/draft-7CGFFZTH.js +0 -333
  702. package/dist/draft-7CGFFZTH.js.map +0 -1
  703. package/dist/draft-BI4NW6AU.js +0 -308
  704. package/dist/draft-BI4NW6AU.js.map +0 -1
  705. package/dist/draft-LPVK6YHI.js +0 -281
  706. package/dist/draft-LPVK6YHI.js.map +0 -1
  707. package/dist/draft-QF5JEUTH.js +0 -218
  708. package/dist/draft-QF5JEUTH.js.map +0 -1
  709. package/dist/draft-WYDMLNYA.js +0 -308
  710. package/dist/experiments-ZCEYRP3H.js +0 -234
  711. package/dist/experiments-ZCEYRP3H.js.map +0 -1
  712. package/dist/facets-G7ZDPI5Q.js +0 -115
  713. package/dist/facets-G7ZDPI5Q.js.map +0 -1
  714. package/dist/feedback-3U3CL2VB.js +0 -109
  715. package/dist/feedback-3U3CL2VB.js.map +0 -1
  716. package/dist/feedback-record-4ZHPENIP.js +0 -263
  717. package/dist/feedback-record-4ZHPENIP.js.map +0 -1
  718. package/dist/fetch-PNVNNWTP.js +0 -177
  719. package/dist/fetch-PNVNNWTP.js.map +0 -1
  720. package/dist/fit-53DGYRFD.js +0 -63
  721. package/dist/flows-JXLQBP5Q.js +0 -248
  722. package/dist/flows-JXLQBP5Q.js.map +0 -1
  723. package/dist/fonts-LFMBUT4R.js +0 -37
  724. package/dist/forecast-4AG5F7YC.js +0 -169
  725. package/dist/forecast-VZAXI74O.js +0 -119
  726. package/dist/forecast-VZAXI74O.js.map +0 -1
  727. package/dist/funnel-EACC35UD.js +0 -395
  728. package/dist/funnel-EACC35UD.js.map +0 -1
  729. package/dist/get-AXBVYGAC.js +0 -57
  730. package/dist/get-AXBVYGAC.js.map +0 -1
  731. package/dist/get-D6A27Q4E.js +0 -80
  732. package/dist/get-D6A27Q4E.js.map +0 -1
  733. package/dist/google-NAA4BASO.js +0 -3267
  734. package/dist/google-ads-OIYUNDXQ.js +0 -196
  735. package/dist/google-ads-OIYUNDXQ.js.map +0 -1
  736. package/dist/history-5MRLNTCI.js +0 -67
  737. package/dist/history-5MRLNTCI.js.map +0 -1
  738. package/dist/history-IDYNIB6R.js +0 -134
  739. package/dist/history-IDYNIB6R.js.map +0 -1
  740. package/dist/history-IOUKN3WD.js +0 -100
  741. package/dist/history-IOUKN3WD.js.map +0 -1
  742. package/dist/hubspot-HL6WGC4G.js +0 -780
  743. package/dist/hubspot-HL6WGC4G.js.map +0 -1
  744. package/dist/ideas-NK3KQHAK.js +0 -43
  745. package/dist/images-2XS3JT7E.js +0 -92
  746. package/dist/ingest-DHXWZZX4.js +0 -24
  747. package/dist/ingest-FGTJRCWK.js +0 -108
  748. package/dist/ingest-FGTJRCWK.js.map +0 -1
  749. package/dist/insights-M3CYB22P.js +0 -437
  750. package/dist/insights-M3CYB22P.js.map +0 -1
  751. package/dist/insights-XCT3ONC7.js +0 -130
  752. package/dist/insights-XCT3ONC7.js.map +0 -1
  753. package/dist/inspect-53GGYRC4.js +0 -190
  754. package/dist/inspect-53GGYRC4.js.map +0 -1
  755. package/dist/instant-experiences-HT3HB4QZ.js +0 -258
  756. package/dist/instant-experiences-HT3HB4QZ.js.map +0 -1
  757. package/dist/intent-NSHW7EJT.js +0 -95
  758. package/dist/keyword-gap-ITTWKBWZ.js +0 -130
  759. package/dist/keyword-metrics-LWPE3HHW.js +0 -198
  760. package/dist/keyword-metrics-LWPE3HHW.js.map +0 -1
  761. package/dist/keywords-for-site-5K25VJ35.js +0 -129
  762. package/dist/keywords-for-site-5K25VJ35.js.map +0 -1
  763. package/dist/landing-QONUUP3C.js +0 -28
  764. package/dist/languages-MEFQQBJ2.js +0 -40
  765. package/dist/leads-FSSISJGL.js +0 -113
  766. package/dist/leads-FSSISJGL.js.map +0 -1
  767. package/dist/leads-SZOGCQFK.js +0 -538
  768. package/dist/leads-SZOGCQFK.js.map +0 -1
  769. package/dist/learn-FWWJWBDN.js +0 -205
  770. package/dist/learn-FWWJWBDN.js.map +0 -1
  771. package/dist/line-item-writes-A3UQ44NG.js +0 -209
  772. package/dist/line-item-writes-A3UQ44NG.js.map +0 -1
  773. package/dist/line-items-OH426JGT.js +0 -107
  774. package/dist/link-67E4NVEX.js +0 -65
  775. package/dist/link-67E4NVEX.js.map +0 -1
  776. package/dist/linkedin-CT2OSQ2I.js +0 -1314
  777. package/dist/linkedin-CT2OSQ2I.js.map +0 -1
  778. package/dist/linkedin-person-OSNLPLJJ.js +0 -137
  779. package/dist/linkedin-person-OSNLPLJJ.js.map +0 -1
  780. package/dist/list-J4OUXAKN.js +0 -65
  781. package/dist/list-J4OUXAKN.js.map +0 -1
  782. package/dist/list-L2OQK4W3.js +0 -304
  783. package/dist/list-L2OQK4W3.js.map +0 -1
  784. package/dist/list-LHMDAA2D.js +0 -152
  785. package/dist/list-LHMDAA2D.js.map +0 -1
  786. package/dist/locations-RLWAS6AC.js +0 -40
  787. package/dist/locations-UKBOT6SB.js +0 -67
  788. package/dist/locations-UKBOT6SB.js.map +0 -1
  789. package/dist/log-4EIV54V4.js +0 -93
  790. package/dist/log-4EIV54V4.js.map +0 -1
  791. package/dist/lookup-ZJIP2M4X.js +0 -22
  792. package/dist/make-MFU3CSN7.js +0 -1368
  793. package/dist/make-MFU3CSN7.js.map +0 -1
  794. package/dist/map-VWWWMQLK.js +0 -434
  795. package/dist/map-VWWWMQLK.js.map +0 -1
  796. package/dist/mcp-EKLO2VD7.js +0 -715
  797. package/dist/mcp-EKLO2VD7.js.map +0 -1
  798. package/dist/media-ZWN7E777.js +0 -18
  799. package/dist/media-sources-7L622UTF.js +0 -35
  800. package/dist/members-QK5M5NCJ.js +0 -45
  801. package/dist/members-QK5M5NCJ.js.map +0 -1
  802. package/dist/meta-EHKXH257.js +0 -122
  803. package/dist/metrics-K6FDCMK7.js +0 -152
  804. package/dist/normalize-WI4OGKH5.js +0 -142
  805. package/dist/normalize-WI4OGKH5.js.map +0 -1
  806. package/dist/options-FKJ2QXI6.js +0 -123
  807. package/dist/options-FKJ2QXI6.js.map +0 -1
  808. package/dist/organization-7A7MPUDG.js +0 -947
  809. package/dist/organization-7A7MPUDG.js.map +0 -1
  810. package/dist/page-photos-HWKQOSCU.js +0 -116
  811. package/dist/page-photos-HWKQOSCU.js.map +0 -1
  812. package/dist/performance-K4VB6L6Z.js +0 -25
  813. package/dist/performance-LHAL53YO.js +0 -5539
  814. package/dist/performance-LHAL53YO.js.map +0 -1
  815. package/dist/pixels-Z7ZGXAGB.js +0 -60
  816. package/dist/pixels-Z7ZGXAGB.js.map +0 -1
  817. package/dist/plan-TVQSEKYL.js +0 -207
  818. package/dist/plan-TVQSEKYL.js.map +0 -1
  819. package/dist/preview-CWRGDFCP.js +0 -216
  820. package/dist/preview-CWRGDFCP.js.map +0 -1
  821. package/dist/promoted-tweet-writes-V4ZVJOJU.js +0 -181
  822. package/dist/promoted-tweet-writes-V4ZVJOJU.js.map +0 -1
  823. package/dist/promoted-tweets-KPG4IUVD.js +0 -119
  824. package/dist/publish-Y465CVUD.js +0 -342
  825. package/dist/publish-Y465CVUD.js.map +0 -1
  826. package/dist/query-QM7MBQD7.js +0 -62
  827. package/dist/questionnaire-LEZJLMAV.js +0 -93
  828. package/dist/questionnaire-LEZJLMAV.js.map +0 -1
  829. package/dist/reddit-Z7DOVIGR.js +0 -27
  830. package/dist/refresh-A6TW2Z2F.js +0 -95
  831. package/dist/refresh-A6TW2Z2F.js.map +0 -1
  832. package/dist/release-UFESJ4TM.js +0 -61
  833. package/dist/release-UFESJ4TM.js.map +0 -1
  834. package/dist/relevant-pages-VOICMQ7U.js +0 -99
  835. package/dist/remove-YONNYA4G.js +0 -51
  836. package/dist/remove-YONNYA4G.js.map +0 -1
  837. package/dist/reopen-FYJU2IPO.js +0 -64
  838. package/dist/reopen-FYJU2IPO.js.map +0 -1
  839. package/dist/rerun-B5SBG6ZE.js +0 -93
  840. package/dist/rerun-B5SBG6ZE.js.map +0 -1
  841. package/dist/research-HW4EVOZU.js +0 -72
  842. package/dist/research-OV53DIBX.js +0 -263
  843. package/dist/research-OV53DIBX.js.map +0 -1
  844. package/dist/reset-R4SIQXFH.js +0 -55
  845. package/dist/reset-R4SIQXFH.js.map +0 -1
  846. package/dist/reset-X6ODAKYH.js +0 -55
  847. package/dist/reset-X6ODAKYH.js.map +0 -1
  848. package/dist/resolve-DNRJCLCR.js +0 -122
  849. package/dist/resolve-DNRJCLCR.js.map +0 -1
  850. package/dist/retry-D5MKBHUB.js +0 -63
  851. package/dist/retry-D5MKBHUB.js.map +0 -1
  852. package/dist/retry-DVFLE7JY.js +0 -61
  853. package/dist/retry-DVFLE7JY.js.map +0 -1
  854. package/dist/revenue-QGI6XWSK.js +0 -89
  855. package/dist/revenue-QGI6XWSK.js.map +0 -1
  856. package/dist/rule-writes-S3RN47OG.js +0 -523
  857. package/dist/rule-writes-S3RN47OG.js.map +0 -1
  858. package/dist/rules-KTJ2ZZ62.js +0 -217
  859. package/dist/rules-TR6BAC23.js +0 -97
  860. package/dist/rules-TR6BAC23.js.map +0 -1
  861. package/dist/rules-add-T5ZO5RLR.js +0 -463
  862. package/dist/rules-add-T5ZO5RLR.js.map +0 -1
  863. package/dist/run-WZ5IXWA4.js +0 -67
  864. package/dist/run-WZ5IXWA4.js.map +0 -1
  865. package/dist/run-YRR3KOUU.js +0 -68
  866. package/dist/scaffold-ad-DNUCGCIH.js +0 -1514
  867. package/dist/scaffold-ad-DNUCGCIH.js.map +0 -1
  868. package/dist/scaffold-static-ad-VR65EZAG.js +0 -1013
  869. package/dist/scaffold-static-ad-VR65EZAG.js.map +0 -1
  870. package/dist/scaffold-video-JLMKCCWE.js +0 -886
  871. package/dist/scaffold-video-JLMKCCWE.js.map +0 -1
  872. package/dist/schedule-VRHCVBZA.js +0 -62
  873. package/dist/schedule-VRHCVBZA.js.map +0 -1
  874. package/dist/scheduled-agents-DG7FTCUZ.js +0 -55
  875. package/dist/schema-WZKDWF5N.js +0 -133
  876. package/dist/schema-WZKDWF5N.js.map +0 -1
  877. package/dist/search-MN66QIKJ.js +0 -175
  878. package/dist/search-MN66QIKJ.js.map +0 -1
  879. package/dist/select-IPSM2BF2.js +0 -104
  880. package/dist/select-IPSM2BF2.js.map +0 -1
  881. package/dist/sends-6FI7WELX.js +0 -348
  882. package/dist/sends-6FI7WELX.js.map +0 -1
  883. package/dist/set-prompt-N6BD3DME.js +0 -196
  884. package/dist/set-prompt-N6BD3DME.js.map +0 -1
  885. package/dist/setup-links-GTA2AROS.js +0 -142
  886. package/dist/setup-links-GTA2AROS.js.map +0 -1
  887. package/dist/shopify-S4TG6WJH.js +0 -3956
  888. package/dist/shopify-S4TG6WJH.js.map +0 -1
  889. package/dist/site-NY622E3H.js +0 -178
  890. package/dist/site-NY622E3H.js.map +0 -1
  891. package/dist/sources-4F2XO7Z6.js +0 -455
  892. package/dist/sources-4F2XO7Z6.js.map +0 -1
  893. package/dist/sources-562ITR77.js +0 -30
  894. package/dist/stale-JKM6MXJF.js +0 -74
  895. package/dist/stale-JKM6MXJF.js.map +0 -1
  896. package/dist/status-AUWMUDA4.js +0 -63
  897. package/dist/status-AUWMUDA4.js.map +0 -1
  898. package/dist/studies-ZOEUY6YP.js +0 -250
  899. package/dist/study-writes-DTGMCNFP.js +0 -468
  900. package/dist/study-writes-DTGMCNFP.js.map +0 -1
  901. package/dist/sync-76MCGHX4.js +0 -55
  902. package/dist/sync-76MCGHX4.js.map +0 -1
  903. package/dist/sync-definition-NJPT6ABG.js +0 -67
  904. package/dist/tags-5KBOJJ5R.js +0 -26
  905. package/dist/tags-CSMLTHTU.js +0 -21
  906. package/dist/tags-CSMLTHTU.js.map +0 -1
  907. package/dist/tags-IFRZYM3G.js +0 -21
  908. package/dist/tags-IFRZYM3G.js.map +0 -1
  909. package/dist/tags-S44ADJ75.js +0 -21
  910. package/dist/tags-S44ADJ75.js.map +0 -1
  911. package/dist/tags-WR7IY3OT.js +0 -225
  912. package/dist/tags-WR7IY3OT.js.map +0 -1
  913. package/dist/targeting-VBQY3HUN.js +0 -760
  914. package/dist/targeting-VBQY3HUN.js.map +0 -1
  915. package/dist/targeting-criteria-FJWNK53T.js +0 -113
  916. package/dist/targets-2EHMMXD4.js +0 -104
  917. package/dist/targets-2EHMMXD4.js.map +0 -1
  918. package/dist/testimonials-WAPFIGFJ.js +0 -32
  919. package/dist/themes-B4LCQUXB.js +0 -95
  920. package/dist/top-companies-DJ2XQKMW.js +0 -109
  921. package/dist/top-companies-DJ2XQKMW.js.map +0 -1
  922. package/dist/transcript-J3LGOHCM.js +0 -163
  923. package/dist/transcript-J3LGOHCM.js.map +0 -1
  924. package/dist/translate-6RXO4C6Z.js +0 -607
  925. package/dist/translate-6RXO4C6Z.js.map +0 -1
  926. package/dist/triggers-CYXPNHQB.js +0 -142
  927. package/dist/triggers-CYXPNHQB.js.map +0 -1
  928. package/dist/unlink-5FJI7XZB.js +0 -68
  929. package/dist/unlink-5FJI7XZB.js.map +0 -1
  930. package/dist/unstage-54ZE2SZK.js +0 -86
  931. package/dist/unstage-54ZE2SZK.js.map +0 -1
  932. package/dist/unstage-MDSSPUKV.js +0 -95
  933. package/dist/unstage-MDSSPUKV.js.map +0 -1
  934. package/dist/update-BVBFNFMO.js +0 -99
  935. package/dist/update-BVBFNFMO.js.map +0 -1
  936. package/dist/update-GV3T7ZRC.js +0 -190
  937. package/dist/update-GV3T7ZRC.js.map +0 -1
  938. package/dist/update-PUQWUGPJ.js +0 -64
  939. package/dist/update-PUQWUGPJ.js.map +0 -1
  940. package/dist/update-YQBK6C3L.js +0 -153
  941. package/dist/update-YQBK6C3L.js.map +0 -1
  942. package/dist/upload-PXT5JAEV.js +0 -127
  943. package/dist/upload-PXT5JAEV.js.map +0 -1
  944. package/dist/url-options-IHL4OU4C.js +0 -130
  945. package/dist/url-options-IHL4OU4C.js.map +0 -1
  946. package/dist/url-params-IYUI6SFJ.js +0 -99
  947. package/dist/url-params-IYUI6SFJ.js.map +0 -1
  948. package/dist/validate-AD7F7LQ5.js +0 -120
  949. package/dist/validate-AD7F7LQ5.js.map +0 -1
  950. package/dist/videos-ZJCTODEB.js +0 -41
  951. package/dist/viewer-check-GWZNGWCO.js +0 -81
  952. package/dist/web-76CWAZNW.js +0 -141
  953. package/dist/web-76CWAZNW.js.map +0 -1
  954. package/dist/winning-ads-W7GTXTX7.js +0 -86
  955. package/dist/write-commands-K6M3RTVK.js +0 -1170
  956. package/dist/write-commands-K6M3RTVK.js.map +0 -1
  957. package/dist/write-commands-VPU53DLB.js +0 -1498
  958. package/dist/write-commands-VPU53DLB.js.map +0 -1
  959. package/dist/x-V4NNNWRU.js +0 -47
  960. /package/dist/{account-assets-O7IA37RE.js.map → account-assets-J5Z4URLQ.js.map} +0 -0
  961. /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-2MSUVG46.js.map} +0 -0
  962. /package/dist/{actions-4JYHXRFH.js.map → actions-D7OWCP36.js.map} +0 -0
  963. /package/dist/{ads-LXWXOQHX.js.map → ads-HLUJB5SQ.js.map} +0 -0
  964. /package/dist/{ads-KBE5JXCH.js.map → ads-MAOI7S6V.js.map} +0 -0
  965. /package/dist/{adsets-YWBJFPAZ.js.map → adsets-QRKICEFD.js.map} +0 -0
  966. /package/dist/{asset-writes-72DEVXGO.js.map → asset-writes-JLVUAVUZ.js.map} +0 -0
  967. /package/dist/{audiences-QAH42HIM.js.map → audiences-CDDI5HR5.js.map} +0 -0
  968. /package/dist/{avatars-N6W6HUPP.js.map → avatars-WZ2JDMHH.js.map} +0 -0
  969. /package/dist/{brand-ITWQVZD2.js.map → brand-IZTTBZII.js.map} +0 -0
  970. /package/dist/{campaigns-5BIDXYSR.js.map → campaigns-4Y3JQC2U.js.map} +0 -0
  971. /package/dist/{campaigns-XZOQ2VTK.js.map → campaigns-HES5MDUG.js.map} +0 -0
  972. /package/dist/{canvas-SL3RMOY5.js.map → canvas-IQ753Q2O.js.map} +0 -0
  973. /package/dist/{changes-36C754R4.js.map → changes-VWKTM27U.js.map} +0 -0
  974. /package/dist/{chatgpt-3WFOPURY.js.map → chatgpt-OPOD2WHB.js.map} +0 -0
  975. /package/dist/{chunk-WF25CCLD.js.map → chunk-2GYCWRF3.js.map} +0 -0
  976. /package/dist/{chunk-HJKYTNAZ.js.map → chunk-2L7F7KR4.js.map} +0 -0
  977. /package/dist/{chunk-4GAEB6NK.js.map → chunk-44ZRCSR7.js.map} +0 -0
  978. /package/dist/{chunk-2TOIY2WN.js.map → chunk-46YLDIQG.js.map} +0 -0
  979. /package/dist/{chunk-DQ54POZN.js.map → chunk-4EDWXZ3I.js.map} +0 -0
  980. /package/dist/{chunk-SIXU5PDF.js.map → chunk-4FFBGR5L.js.map} +0 -0
  981. /package/dist/{chunk-XGPU2VDU.js.map → chunk-4UQRXKYJ.js.map} +0 -0
  982. /package/dist/{chunk-JSNMKTFM.js.map → chunk-4UZUUSVL.js.map} +0 -0
  983. /package/dist/{chunk-Q6JMMBSQ.js.map → chunk-4XHCEYHI.js.map} +0 -0
  984. /package/dist/{chunk-ALMYGH5U.js.map → chunk-4Z6PVR3M.js.map} +0 -0
  985. /package/dist/{chunk-K4FLWDEX.js.map → chunk-5Y5FZV2W.js.map} +0 -0
  986. /package/dist/{chunk-INUU3752.js.map → chunk-6HJXLGDV.js.map} +0 -0
  987. /package/dist/{chunk-XE6N4SZI.js.map → chunk-6S5CWGDA.js.map} +0 -0
  988. /package/dist/{chunk-SXMK5AEJ.js.map → chunk-6VYROVWO.js.map} +0 -0
  989. /package/dist/{chunk-TVAIOC77.js.map → chunk-7BUIOP36.js.map} +0 -0
  990. /package/dist/{chunk-TTLD66NI.js.map → chunk-AQRXXC6E.js.map} +0 -0
  991. /package/dist/{chunk-W4D7C74B.js.map → chunk-ARBXT73X.js.map} +0 -0
  992. /package/dist/{chunk-LAC6YHHX.js.map → chunk-BEZHQIEI.js.map} +0 -0
  993. /package/dist/{chunk-J3UWMBOP.js.map → chunk-BFURWHVR.js.map} +0 -0
  994. /package/dist/{chunk-KBRJSPIM.js.map → chunk-DSCEXBDR.js.map} +0 -0
  995. /package/dist/{chunk-MI4HXE7M.js.map → chunk-FLWDFPXE.js.map} +0 -0
  996. /package/dist/{chunk-GACSA5A6.js.map → chunk-FRNBRN2C.js.map} +0 -0
  997. /package/dist/{chunk-FKQK22IX.js.map → chunk-GE3VT3CA.js.map} +0 -0
  998. /package/dist/{chunk-FLK6QHOY.js.map → chunk-HGBJQGO5.js.map} +0 -0
  999. /package/dist/{chunk-MGYC2IRC.js.map → chunk-I7AYMJZA.js.map} +0 -0
  1000. /package/dist/{chunk-PFTYKINE.js.map → chunk-IRM273C7.js.map} +0 -0
  1001. /package/dist/{chunk-WR3FR3K3.js.map → chunk-IWKD56AY.js.map} +0 -0
  1002. /package/dist/{chunk-Y7XSDJEA.js.map → chunk-JLAQWMVF.js.map} +0 -0
  1003. /package/dist/{chunk-XUJZO7MZ.js.map → chunk-K6NULQN7.js.map} +0 -0
  1004. /package/dist/{chunk-JI77AKT6.js.map → chunk-L2BRAC2J.js.map} +0 -0
  1005. /package/dist/{chunk-Y67LUJBE.js.map → chunk-LGMI4LSY.js.map} +0 -0
  1006. /package/dist/{chunk-OJGYYH6K.js.map → chunk-NB2FU6EZ.js.map} +0 -0
  1007. /package/dist/{chunk-TVTSA4EN.js.map → chunk-NWF2LRKO.js.map} +0 -0
  1008. /package/dist/{chunk-WQPUX3BA.js.map → chunk-OG47L5GG.js.map} +0 -0
  1009. /package/dist/{chunk-RAQHUMKS.js.map → chunk-OR6KVLI5.js.map} +0 -0
  1010. /package/dist/{chunk-OBJCNGZL.js.map → chunk-QDQZ62FL.js.map} +0 -0
  1011. /package/dist/{chunk-4D46PS6J.js.map → chunk-QIOFOD4K.js.map} +0 -0
  1012. /package/dist/{chunk-6JCX3YLM.js.map → chunk-R2SYF5FC.js.map} +0 -0
  1013. /package/dist/{chunk-JNURZHZJ.js.map → chunk-RTH2I55B.js.map} +0 -0
  1014. /package/dist/{chunk-FFFJBNHA.js.map → chunk-S6VFDNSQ.js.map} +0 -0
  1015. /package/dist/{chunk-ZNRGH4NS.js.map → chunk-SG2TDQEE.js.map} +0 -0
  1016. /package/dist/{chunk-CKQTJ2LV.js.map → chunk-T3P6O2VU.js.map} +0 -0
  1017. /package/dist/{chunk-V5NHJU3M.js.map → chunk-TXDE2QJ3.js.map} +0 -0
  1018. /package/dist/{chunk-C6CBBZBO.js.map → chunk-UDIEKCIR.js.map} +0 -0
  1019. /package/dist/{chunk-SA22KXWT.js.map → chunk-USCADMM3.js.map} +0 -0
  1020. /package/dist/{chunk-MJ7RNDD4.js.map → chunk-UUGISMNE.js.map} +0 -0
  1021. /package/dist/{chunk-IQHO2ABF.js.map → chunk-VDPOCAQ2.js.map} +0 -0
  1022. /package/dist/{chunk-AQKRSEBQ.js.map → chunk-VEJ3QX6M.js.map} +0 -0
  1023. /package/dist/{chunk-XDNJC62G.js.map → chunk-VFJB7OG6.js.map} +0 -0
  1024. /package/dist/{chunk-DL2UJNJ7.js.map → chunk-VRIPVLE7.js.map} +0 -0
  1025. /package/dist/{chunk-5XTGG4PV.js.map → chunk-WFY7KSHB.js.map} +0 -0
  1026. /package/dist/{chunk-D3KLDIPQ.js.map → chunk-WLESMH4J.js.map} +0 -0
  1027. /package/dist/{chunk-PLBITHV6.js.map → chunk-XHQYFNNK.js.map} +0 -0
  1028. /package/dist/{chunk-OLBLXJNI.js.map → chunk-YILZR3XI.js.map} +0 -0
  1029. /package/dist/{chunk-JDR3HUEL.js.map → chunk-YJFLXOH4.js.map} +0 -0
  1030. /package/dist/{chunk-BL6RTOK3.js.map → chunk-YWHZYR6S.js.map} +0 -0
  1031. /package/dist/{connect-HPQ32KGV.js.map → connect-3YY7MF3I.js.map} +0 -0
  1032. /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-7RSZ5ZQU.js.map} +0 -0
  1033. /package/dist/{creatives-RNOL4F4E.js.map → creatives-2DR3QHJW.js.map} +0 -0
  1034. /package/dist/{creatives-JPKA2RHU.js.map → creatives-BB6S2OF6.js.map} +0 -0
  1035. /package/dist/{currency-R4ORE2U3.js.map → currency-X7Y6TSLF.js.map} +0 -0
  1036. /package/dist/{custom-conversions-5HJBB5XL.js.map → custom-conversions-HAGG72LF.js.map} +0 -0
  1037. /package/dist/{customers-OFZTEXST.js.map → customers-663K2OCP.js.map} +0 -0
  1038. /package/dist/{discover-GSJRZUOC.js.map → discover-6DORQWXY.js.map} +0 -0
  1039. /package/dist/{draft-WYDMLNYA.js.map → draft-R6EKORNS.js.map} +0 -0
  1040. /package/dist/{fit-53DGYRFD.js.map → fit-BEFCY2B4.js.map} +0 -0
  1041. /package/dist/{fonts-LFMBUT4R.js.map → fonts-C6XN5667.js.map} +0 -0
  1042. /package/dist/{forecast-4AG5F7YC.js.map → forecast-BTPIXEQ5.js.map} +0 -0
  1043. /package/dist/{google-NAA4BASO.js.map → google-M6BJ22UL.js.map} +0 -0
  1044. /package/dist/{ideas-NK3KQHAK.js.map → ideas-M66FU45H.js.map} +0 -0
  1045. /package/dist/{images-2XS3JT7E.js.map → images-MM5OPUKV.js.map} +0 -0
  1046. /package/dist/{ingest-DHXWZZX4.js.map → ingest-KMLYCFF4.js.map} +0 -0
  1047. /package/dist/{intent-NSHW7EJT.js.map → intent-YCQCUCV3.js.map} +0 -0
  1048. /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-PUSF7EKY.js.map} +0 -0
  1049. /package/dist/{landing-QONUUP3C.js.map → landing-OZU5RRFV.js.map} +0 -0
  1050. /package/dist/{languages-MEFQQBJ2.js.map → languages-SLFV73GE.js.map} +0 -0
  1051. /package/dist/{line-items-OH426JGT.js.map → line-items-NJMEPEF5.js.map} +0 -0
  1052. /package/dist/{locations-RLWAS6AC.js.map → locations-T2OMP6QN.js.map} +0 -0
  1053. /package/dist/{lookup-ZJIP2M4X.js.map → lookup-S5VG7AWH.js.map} +0 -0
  1054. /package/dist/{media-ZWN7E777.js.map → media-P4T4ZBNS.js.map} +0 -0
  1055. /package/dist/{media-sources-7L622UTF.js.map → media-sources-EQI3U4TC.js.map} +0 -0
  1056. /package/dist/{meta-EHKXH257.js.map → meta-IPLWNYC7.js.map} +0 -0
  1057. /package/dist/{metrics-K6FDCMK7.js.map → metrics-4YVJHYRI.js.map} +0 -0
  1058. /package/dist/{performance-K4VB6L6Z.js.map → performance-NIF3CESZ.js.map} +0 -0
  1059. /package/dist/{promoted-tweets-KPG4IUVD.js.map → promoted-tweets-RJT53DRM.js.map} +0 -0
  1060. /package/dist/{query-QM7MBQD7.js.map → query-XZMDGRO5.js.map} +0 -0
  1061. /package/dist/{reddit-Z7DOVIGR.js.map → reddit-JIHMAKAQ.js.map} +0 -0
  1062. /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-FS7GBVXK.js.map} +0 -0
  1063. /package/dist/{research-HW4EVOZU.js.map → research-PNBACCCP.js.map} +0 -0
  1064. /package/dist/{rules-KTJ2ZZ62.js.map → rules-ZVS2MWED.js.map} +0 -0
  1065. /package/dist/{run-YRR3KOUU.js.map → run-QCNRR3CA.js.map} +0 -0
  1066. /package/dist/{scheduled-agents-DG7FTCUZ.js.map → scheduled-agents-OXYAVSIE.js.map} +0 -0
  1067. /package/dist/{sources-562ITR77.js.map → sources-FLUGHSVP.js.map} +0 -0
  1068. /package/dist/{studies-ZOEUY6YP.js.map → studies-EPO2AM4M.js.map} +0 -0
  1069. /package/dist/{sync-definition-NJPT6ABG.js.map → sync-definition-OGQ5XTQE.js.map} +0 -0
  1070. /package/dist/{tags-5KBOJJ5R.js.map → tags-CZTRQNXV.js.map} +0 -0
  1071. /package/dist/{targeting-criteria-FJWNK53T.js.map → targeting-criteria-AQYXVSGN.js.map} +0 -0
  1072. /package/dist/{testimonials-WAPFIGFJ.js.map → testimonials-G3OCNPBY.js.map} +0 -0
  1073. /package/dist/{themes-B4LCQUXB.js.map → themes-FEVYZZCW.js.map} +0 -0
  1074. /package/dist/{videos-ZJCTODEB.js.map → videos-36AXDUGZ.js.map} +0 -0
  1075. /package/dist/{viewer-check-GWZNGWCO.js.map → viewer-check-6HL4OUQY.js.map} +0 -0
  1076. /package/dist/{winning-ads-W7GTXTX7.js.map → winning-ads-GMM5W2O4.js.map} +0 -0
  1077. /package/dist/{x-V4NNNWRU.js.map → x-HGFAL3NY.js.map} +0 -0
@@ -0,0 +1,86 @@
1
+ import {
2
+ csvOrJson,
3
+ handleMetaError,
4
+ resolveAccountIdArg
5
+ } from "./chunk-B2POVFR2.js";
6
+ import "./chunk-Y2JZX6JB.js";
7
+ import {
8
+ writeAdsJson,
9
+ writeAdsOutput
10
+ } from "./chunk-ZRP7Y2DM.js";
11
+ import {
12
+ NO_CACHE_ARG
13
+ } from "./chunk-AGBBTTKA.js";
14
+ import {
15
+ apiGet
16
+ } from "./chunk-X7VQFLHI.js";
17
+ import "./chunk-LU4HI4KI.js";
18
+ import "./chunk-LGK7UWBN.js";
19
+ import "./chunk-Q7US4OOA.js";
20
+ import "./chunk-YQSBHWOI.js";
21
+
22
+ // src/commands/ads/meta/audiences.ts
23
+ import { defineCommand } from "citty";
24
+ var listArgs = {
25
+ "account-id": { type: "string", description: "Meta ad account ID" },
26
+ limit: { type: "string", description: "Max rows" },
27
+ "no-cache": NO_CACHE_ARG,
28
+ output: { type: "string", description: "Output format", default: "json" }
29
+ };
30
+ var listCommand = defineCommand({
31
+ meta: {
32
+ name: "list",
33
+ description: "List custom audiences. Runs by default when no subcommand is given. Example: baker ads meta audiences --account-id act_123"
34
+ },
35
+ args: listArgs,
36
+ run: async ({ args }) => {
37
+ const accountId = resolveAccountIdArg(args);
38
+ try {
39
+ const params = { "account-id": accountId };
40
+ if (args.limit) params.limit = args.limit;
41
+ if (args["no-cache"]) params["skip-cache"] = "true";
42
+ const data = await apiGet("/api/ads/meta/audiences", params);
43
+ const fmt = csvOrJson(args);
44
+ if (fmt !== "json") {
45
+ writeAdsOutput(data, fmt);
46
+ return;
47
+ }
48
+ writeAdsJson({ ok: true, data });
49
+ } catch (err) {
50
+ handleMetaError(err);
51
+ }
52
+ }
53
+ });
54
+ var audiencesCommand = defineCommand({
55
+ meta: {
56
+ name: "audiences",
57
+ description: `List custom audiences, or stage writes (create/update/delete, members add|remove|replace). Write subcommands stage ops on this chat's draft.
58
+ Includes lookalikes, website-pixel audiences, customer-file audiences. Meta hides exact size when count < 1000.
59
+
60
+ Examples:
61
+ baker ads meta audiences --account-id act_123
62
+ baker ads meta audiences create --name "Site 30d" --subtype WEBSITE --file rule.json
63
+ baker ads meta audiences create --name "Past buyers" --subtype CUSTOM --file buyers.json # {"members":[{"email":"\u2026"}]}
64
+ baker ads meta audiences create --name "Customers" --subtype CUSTOM --customer-file-source USER_PROVIDED_ONLY
65
+ baker ads meta audiences members add meta_temp_ab12 --file customers.csv --country ES
66
+ baker ads meta audiences saved --account-id act_123 \u2014 saved audiences (read-only)`
67
+ },
68
+ subCommands: {
69
+ list: listCommand,
70
+ create: () => import("./write-commands-OGVDWWBV.js").then((m) => m.audiencesCreateCommand),
71
+ update: () => import("./write-commands-OGVDWWBV.js").then((m) => m.audiencesUpdateCommand),
72
+ delete: () => import("./audience-writes-CDKQB3SM.js").then((m) => m.audiencesDeleteCommand),
73
+ members: () => import("./audience-writes-CDKQB3SM.js").then((m) => m.audiencesMembersCommand),
74
+ saved: () => import("./audience-writes-CDKQB3SM.js").then((m) => m.savedAudiencesCommand)
75
+ },
76
+ // `args` stays even though the parent has no `run`: citty scans rawArgs for the
77
+ // subcommand name using THIS command's arg defs, so without them `--account-id act_1`
78
+ // would read `act_1` as a subcommand. `default` (not `run`) dispatches the bare
79
+ // invocation — citty falls through to `run` after a subcommand, double-executing it.
80
+ args: listArgs,
81
+ default: "list"
82
+ });
83
+ export {
84
+ audiencesCommand
85
+ };
86
+ //# sourceMappingURL=audiences-CDDI5HR5.js.map
@@ -0,0 +1,280 @@
1
+ import {
2
+ csvArg,
3
+ failWriteValidation,
4
+ requireTarget,
5
+ requireTargets,
6
+ schemaArgs,
7
+ stageChatgptOp,
8
+ stageChatgptOps
9
+ } from "./chunk-WFY7KSHB.js";
10
+ import {
11
+ CHATGPT_ADS_REFERENCE,
12
+ CHATGPT_AUDIENCE_USES,
13
+ CHATGPT_MAX_STAGED_MEMBERS,
14
+ runChatgptListRead
15
+ } from "./chunk-GW2WRZZA.js";
16
+ import "./chunk-ZRP7Y2DM.js";
17
+ import {
18
+ PEOPLE_PREVIEW_ROWS,
19
+ maskPersonValue
20
+ } from "./chunk-SOPVIIUW.js";
21
+ import "./chunk-G4FG5EQO.js";
22
+ import "./chunk-X7VQFLHI.js";
23
+ import "./chunk-LU4HI4KI.js";
24
+ import "./chunk-LGK7UWBN.js";
25
+ import {
26
+ registerSchema
27
+ } from "./chunk-Q7US4OOA.js";
28
+ import "./chunk-YQSBHWOI.js";
29
+
30
+ // src/commands/ads/chatgpt/audiences.ts
31
+ import { readFileSync } from "fs";
32
+ import { defineCommand } from "citty";
33
+
34
+ // src/commands/ads/chatgpt/audience-members.ts
35
+ import { createHash } from "crypto";
36
+ import { parse } from "csv-parse/sync";
37
+ import { isSupportedCountry, parsePhoneNumberFromString } from "libphonenumber-js";
38
+ function sha256(value) {
39
+ return createHash("sha256").update(value, "utf8").digest("hex");
40
+ }
41
+ function normalizedEmail(value) {
42
+ const email = value.trim().toLowerCase();
43
+ return /^[^@\s;,|]+@[^@\s;,|]+\.[^@\s;,|]+$/.test(email) ? email : void 0;
44
+ }
45
+ function normalizedPhone(value, defaultCountry) {
46
+ const country = defaultCountry && isSupportedCountry(defaultCountry) ? defaultCountry : void 0;
47
+ const phone = parsePhoneNumberFromString(value.trim(), country);
48
+ return phone?.isValid() ? phone.number : void 0;
49
+ }
50
+ function hashedMembers(input) {
51
+ const rejected = [];
52
+ const emails = /* @__PURE__ */ new Map();
53
+ const phones = /* @__PURE__ */ new Map();
54
+ for (const value of input.emails) {
55
+ const email = normalizedEmail(value);
56
+ email ? emails.set(sha256(email), maskPersonValue("email", email)) : rejected.push(value.trim());
57
+ }
58
+ for (const value of input.phones) {
59
+ const phone = normalizedPhone(value, input.defaultCountry);
60
+ phone ? phones.set(sha256(phone), maskPersonValue("phone", phone)) : rejected.push(value.trim());
61
+ }
62
+ return {
63
+ emailHashes: [...emails.keys()],
64
+ phoneHashes: [...phones.keys()],
65
+ // The review shows the first of them; the rest are counted.
66
+ previews: [...emails.values(), ...phones.values()].slice(0, PEOPLE_PREVIEW_ROWS),
67
+ rejected
68
+ };
69
+ }
70
+ function headerWords(cell) {
71
+ return cell.normalize("NFD").replace(new RegExp("\\p{Diacritic}", "gu"), "").toLowerCase().replace(/[^a-z0-9]+/g, " ").trim();
72
+ }
73
+ var EMAIL_HEADER = /\b(e ?mail|correo|mail)\b/;
74
+ var PHONE_HEADER = /\b(phone|telefono|movil|mobile|tel|celular)\b/;
75
+ function membersFromFile(content) {
76
+ const rows = parse(content, {
77
+ bom: true,
78
+ skip_empty_lines: true,
79
+ relax_column_count: true,
80
+ trim: true,
81
+ delimiter: [",", ";", " "]
82
+ });
83
+ const header = (rows[0] ?? []).map(headerWords);
84
+ const emailColumn = header.findIndex((cell) => EMAIL_HEADER.test(cell));
85
+ const phoneColumn = header.findIndex((cell) => !EMAIL_HEADER.test(cell) && PHONE_HEADER.test(cell));
86
+ if (emailColumn >= 0 || phoneColumn >= 0) {
87
+ const cells = (column) => column < 0 ? [] : rows.slice(1).flatMap((row) => row[column] ? [row[column]] : []);
88
+ return { emails: cells(emailColumn), phones: cells(phoneColumn) };
89
+ }
90
+ const values = rows.flatMap((row) => row[0] ? [row[0]] : []);
91
+ return values.some((value) => value.includes("@")) ? { emails: values, phones: [] } : { emails: [], phones: values };
92
+ }
93
+
94
+ // src/commands/ads/chatgpt/audiences.ts
95
+ var REFERENCE = CHATGPT_ADS_REFERENCE.audiences;
96
+ var MEMBER_ARGS = {
97
+ emails: { type: "string", description: "Emails, comma-separated" },
98
+ phones: { type: "string", description: "Phones, comma-separated \u2014 E.164 (+34\u2026), or local with --country" },
99
+ file: {
100
+ type: "string",
101
+ description: "A CSV with an email and/or phone column, or one email or phone per line \u2014 the company's own customers"
102
+ },
103
+ country: { type: "string", description: "Country of phones written without a +code, e.g. ES" }
104
+ };
105
+ function membersFromArgs(args, readFile = (path) => readFileSync(path, "utf8")) {
106
+ const fromFile = typeof args.file === "string" && args.file ? membersFromFile(readFile(args.file)) : { emails: [], phones: [] };
107
+ const given = [...csvArg(args.emails) ?? [], ...fromFile.emails];
108
+ const givenPhones = [...csvArg(args.phones) ?? [], ...fromFile.phones];
109
+ const members = hashedMembers({
110
+ emails: given,
111
+ phones: givenPhones,
112
+ defaultCountry: typeof args.country === "string" ? args.country.toUpperCase() : void 0
113
+ });
114
+ const count = members.emailHashes.length + members.phoneHashes.length;
115
+ const offered = given.length + givenPhones.length + (typeof args.file === "string" && args.file ? 1 : 0);
116
+ const refusal = count > CHATGPT_MAX_STAGED_MEMBERS ? `${count} members \u2014 at most ${CHATGPT_MAX_STAGED_MEMBERS} per change; split the file` : count === 0 && offered > 0 ? "none of the values was an email or a valid phone \u2014 name the columns email and phone, and give phones a +country code or --country" : void 0;
117
+ return {
118
+ payload: {
119
+ ...members.emailHashes.length > 0 ? { emailHashes: members.emailHashes } : {},
120
+ ...members.phoneHashes.length > 0 ? { phoneHashes: members.phoneHashes } : {},
121
+ ...members.previews.length > 0 ? { memberPreviews: members.previews } : {}
122
+ },
123
+ rejected: members.rejected.length,
124
+ ...refusal ? { refusal } : {}
125
+ };
126
+ }
127
+ function rejectedHint(rejected) {
128
+ return rejected > 0 ? [
129
+ `${rejected} value(s) were neither an email nor a valid phone and were left out \u2014 phones need a +country code, or --country.`
130
+ ] : [];
131
+ }
132
+ var LIST_ARGS = {
133
+ "eligible-for": {
134
+ type: "string",
135
+ description: `Only audiences ChatGPT Ads lets serve this use: ${CHATGPT_AUDIENCE_USES.join("|")}`
136
+ }
137
+ };
138
+ registerSchema({
139
+ command: "ads.chatgpt.audiences.list",
140
+ description: "The account's custom audiences: status, and matched people as a privacy range (under_25k\u2026). `ready` is not eligibility \u2014 pass --eligible-for to list only those a use accepts.",
141
+ args: schemaArgs(LIST_ARGS)
142
+ });
143
+ var audiencesListCommand = defineCommand({
144
+ meta: { name: "list", description: "List the account's custom audiences." },
145
+ args: LIST_ARGS,
146
+ run: async ({ args }) => {
147
+ const use = typeof args["eligible-for"] === "string" ? args["eligible-for"] : void 0;
148
+ await runChatgptListRead(
149
+ REFERENCE,
150
+ "/api/ads/chatgpt/audiences",
151
+ use ? { eligible_for: use } : void 0,
152
+ (rows) => rows.length === 0 ? ["No audience. Stage one with `baker ads chatgpt audiences create --name \u2026 --file customers.csv`."] : [
153
+ "Including an audience needs about 25,000 matched people; excluding works at any size. Custom audiences do not work in campaigns serving the EEA or Switzerland."
154
+ ]
155
+ );
156
+ }
157
+ });
158
+ var CREATE_ARGS = {
159
+ name: { type: "string", description: "Audience name (3+ characters)", required: true },
160
+ description: { type: "string", description: "What the list is" },
161
+ ...MEMBER_ARGS
162
+ };
163
+ registerSchema({
164
+ command: "ads.chatgpt.audiences.create",
165
+ description: "Stage a custom audience from the company's own customers (emails and/or phones, hashed on this machine), or an empty one. Created when the chat is published; only first-party data the company may use for ads.",
166
+ args: schemaArgs(CREATE_ARGS)
167
+ });
168
+ var audiencesCreateCommand = defineCommand({
169
+ meta: {
170
+ name: "create",
171
+ description: `Stage a custom audience (applies when the chat is published). Members are hashed here; nothing raw is sent.
172
+
173
+ Examples:
174
+ baker ads chatgpt audiences create --name "Customers 2026" --file customers.csv --country ES
175
+ baker ads chatgpt audiences create --name "Recent buyers" # empty, fill it later with add`
176
+ },
177
+ args: CREATE_ARGS,
178
+ run: async ({ args }) => {
179
+ const { payload, rejected, refusal } = membersFromArgs(args);
180
+ if (refusal) {
181
+ failWriteValidation(refusal);
182
+ }
183
+ await stageChatgptOp(
184
+ {
185
+ kind: "audience.create",
186
+ payload: { name: args.name, ...args.description ? { description: args.description } : {}, ...payload }
187
+ },
188
+ REFERENCE,
189
+ (staged) => [
190
+ ...rejectedHint(rejected),
191
+ `Use it on a campaign after the publish, once \`audiences\` shows it ready: campaigns update <cmpn_id> --excluded-audience-ids <caud_id>. (${staged.ref} is its ref in this chat.)`
192
+ ]
193
+ );
194
+ }
195
+ });
196
+ function membersCommand(verb) {
197
+ const args = {
198
+ id: { type: "positional", description: "Audience id (caud_\u2026)", required: true },
199
+ ...MEMBER_ARGS
200
+ };
201
+ registerSchema({
202
+ command: `ads.chatgpt.audiences.${verb}`,
203
+ description: `Stage ${verb === "add" ? "adding" : "removing"} members ${verb === "add" ? "to" : "from"} a live custom audience, hashed on this machine. Applies when the chat is published.`,
204
+ args: schemaArgs(args)
205
+ });
206
+ return defineCommand({
207
+ meta: {
208
+ name: verb,
209
+ description: `Stage ${verb === "add" ? "adding" : "removing"} members.
210
+
211
+ Example:
212
+ baker ads chatgpt audiences ${verb} caud_123 --emails ana@example.com,luis@example.com`
213
+ },
214
+ args,
215
+ run: async ({ args: parsed }) => {
216
+ const { payload, rejected, refusal } = membersFromArgs(parsed);
217
+ if (refusal) {
218
+ failWriteValidation(refusal);
219
+ }
220
+ if (!payload.emailHashes && !payload.phoneHashes) {
221
+ failWriteValidation("name at least one email or phone with --emails, --phones or --file");
222
+ }
223
+ await stageChatgptOp(
224
+ { kind: `audience.${verb}`, target: requireTarget(parsed, "id"), payload },
225
+ REFERENCE,
226
+ () => rejectedHint(rejected)
227
+ );
228
+ }
229
+ });
230
+ }
231
+ var ARCHIVE_ARGS = {
232
+ ids: { type: "positional", description: "Audience ids, comma-separated", required: true }
233
+ };
234
+ registerSchema({
235
+ command: "ads.chatgpt.audiences.archive",
236
+ description: "Stage archiving custom audiences \u2014 for good: ChatGPT Ads cannot bring one back. Pass every id in one call.",
237
+ args: schemaArgs(ARCHIVE_ARGS)
238
+ });
239
+ var audiencesArchiveCommand = defineCommand({
240
+ meta: {
241
+ name: "archive",
242
+ description: `Stage archiving audiences, for good.
243
+
244
+ Example:
245
+ baker ads chatgpt audiences archive caud_123`
246
+ },
247
+ args: ARCHIVE_ARGS,
248
+ run: async ({ args }) => {
249
+ await stageChatgptOps(
250
+ requireTargets(args, "ids").map((id) => ({ kind: "audience.archive", target: id, payload: {} })),
251
+ REFERENCE
252
+ );
253
+ }
254
+ });
255
+ var audiencesCommand = defineCommand({
256
+ meta: {
257
+ name: "audiences",
258
+ description: `Custom audiences \u2014 the company's own customer lists a campaign serves to or leaves out.
259
+
260
+ Examples:
261
+ baker ads chatgpt audiences
262
+ baker ads chatgpt audiences create --name "Customers 2026" --file customers.csv --country ES
263
+ baker ads chatgpt audiences add caud_123 --emails ana@example.com`
264
+ },
265
+ subCommands: {
266
+ list: audiencesListCommand,
267
+ create: audiencesCreateCommand,
268
+ add: membersCommand("add"),
269
+ remove: membersCommand("remove"),
270
+ archive: audiencesArchiveCommand
271
+ },
272
+ // A parent must never declare `run`: citty falls through to it after the matched subcommand.
273
+ args: {},
274
+ default: "list"
275
+ });
276
+ export {
277
+ audiencesCommand,
278
+ membersFromArgs
279
+ };
280
+ //# sourceMappingURL=audiences-M3A3QK52.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/chatgpt/audiences.ts","../src/commands/ads/chatgpt/audience-members.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { CHATGPT_AUDIENCE_USES, CHATGPT_MAX_STAGED_MEMBERS, type ChatgptAdsAudience } from \"@baker/api/ads-chatgpt\";\nimport { defineCommand } from \"citty\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { hashedMembers, membersFromFile } from \"./audience-members.ts\";\nimport { CHATGPT_ADS_REFERENCE, runChatgptListRead } from \"./shared.ts\";\nimport {\n csvArg,\n failWriteValidation,\n requireTarget,\n requireTargets,\n schemaArgs,\n stageChatgptOp,\n stageChatgptOps,\n} from \"./write-shared.ts\";\n\n/**\n * Custom audiences: lists of the company's own customers a campaign serves to\n * or leaves out. Members are hashed on this machine before anything is sent —\n * Baker and ChatGPT Ads only ever see SHA-256 digests.\n */\n\nconst REFERENCE = CHATGPT_ADS_REFERENCE.audiences;\n\nconst MEMBER_ARGS = {\n emails: { type: \"string\", description: \"Emails, comma-separated\" },\n phones: { type: \"string\", description: \"Phones, comma-separated — E.164 (+34…), or local with --country\" },\n file: {\n type: \"string\",\n description:\n \"A CSV with an email and/or phone column, or one email or phone per line — the company's own customers\",\n },\n country: { type: \"string\", description: \"Country of phones written without a +code, e.g. ES\" },\n} as const;\n\ntype Args = Record<string, unknown>;\n\n/** The members the flags name, hashed — with the reason to refuse them when none is usable or there are too many. */\nexport function membersFromArgs(args: Args, readFile: (path: string) => string = (path) => readFileSync(path, \"utf8\")) {\n const fromFile =\n typeof args.file === \"string\" && args.file ? membersFromFile(readFile(args.file)) : { emails: [], phones: [] };\n const given = [...(csvArg(args.emails) ?? []), ...fromFile.emails];\n const givenPhones = [...(csvArg(args.phones) ?? []), ...fromFile.phones];\n const members = hashedMembers({\n emails: given,\n phones: givenPhones,\n defaultCountry: typeof args.country === \"string\" ? args.country.toUpperCase() : undefined,\n });\n const count = members.emailHashes.length + members.phoneHashes.length;\n const offered = given.length + givenPhones.length + (typeof args.file === \"string\" && args.file ? 1 : 0);\n const refusal =\n count > CHATGPT_MAX_STAGED_MEMBERS\n ? `${count} members — at most ${CHATGPT_MAX_STAGED_MEMBERS} per change; split the file`\n : count === 0 && offered > 0\n ? \"none of the values was an email or a valid phone — name the columns email and phone, and give phones a +country code or --country\"\n : undefined;\n return {\n payload: {\n ...(members.emailHashes.length > 0 ? { emailHashes: members.emailHashes } : {}),\n ...(members.phoneHashes.length > 0 ? { phoneHashes: members.phoneHashes } : {}),\n ...(members.previews.length > 0 ? { memberPreviews: members.previews } : {}),\n },\n rejected: members.rejected.length,\n ...(refusal ? { refusal } : {}),\n };\n}\n\nfunction rejectedHint(rejected: number): string[] {\n return rejected > 0\n ? [\n `${rejected} value(s) were neither an email nor a valid phone and were left out — phones need a +country code, or --country.`,\n ]\n : [];\n}\n\nconst LIST_ARGS = {\n \"eligible-for\": {\n type: \"string\",\n description: `Only audiences ChatGPT Ads lets serve this use: ${CHATGPT_AUDIENCE_USES.join(\"|\")}`,\n },\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.audiences.list\",\n description:\n \"The account's custom audiences: status, and matched people as a privacy range (under_25k…). `ready` is not eligibility — pass --eligible-for to list only those a use accepts.\",\n args: schemaArgs(LIST_ARGS),\n});\n\nconst audiencesListCommand = defineCommand({\n meta: { name: \"list\", description: \"List the account's custom audiences.\" },\n args: LIST_ARGS,\n run: async ({ args }) => {\n const use = typeof args[\"eligible-for\"] === \"string\" ? args[\"eligible-for\"] : undefined;\n await runChatgptListRead<ChatgptAdsAudience[]>(\n REFERENCE,\n \"/api/ads/chatgpt/audiences\",\n use ? { eligible_for: use } : undefined,\n (rows) =>\n rows.length === 0\n ? [\"No audience. Stage one with `baker ads chatgpt audiences create --name … --file customers.csv`.\"]\n : [\n \"Including an audience needs about 25,000 matched people; excluding works at any size. Custom audiences do not work in campaigns serving the EEA or Switzerland.\",\n ],\n );\n },\n});\n\nconst CREATE_ARGS = {\n name: { type: \"string\", description: \"Audience name (3+ characters)\", required: true },\n description: { type: \"string\", description: \"What the list is\" },\n ...MEMBER_ARGS,\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.audiences.create\",\n description:\n \"Stage a custom audience from the company's own customers (emails and/or phones, hashed on this machine), or an empty one. Created when the chat is published; only first-party data the company may use for ads.\",\n args: schemaArgs(CREATE_ARGS),\n});\n\nconst audiencesCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a custom audience (applies when the chat is published). Members are hashed here; nothing raw is sent.\n\nExamples:\n baker ads chatgpt audiences create --name \"Customers 2026\" --file customers.csv --country ES\n baker ads chatgpt audiences create --name \"Recent buyers\" # empty, fill it later with add`,\n },\n args: CREATE_ARGS,\n run: async ({ args }) => {\n const { payload, rejected, refusal } = membersFromArgs(args);\n if (refusal) {\n failWriteValidation(refusal);\n }\n await stageChatgptOp(\n {\n kind: \"audience.create\",\n payload: { name: args.name, ...(args.description ? { description: args.description } : {}), ...payload },\n },\n REFERENCE,\n (staged) => [\n ...rejectedHint(rejected),\n `Use it on a campaign after the publish, once \\`audiences\\` shows it ready: campaigns update <cmpn_id> --excluded-audience-ids <caud_id>. (${staged.ref} is its ref in this chat.)`,\n ],\n );\n },\n});\n\nfunction membersCommand(verb: \"add\" | \"remove\") {\n const args = {\n id: { type: \"positional\", description: \"Audience id (caud_…)\", required: true },\n ...MEMBER_ARGS,\n } as const;\n registerSchema({\n command: `ads.chatgpt.audiences.${verb}`,\n description: `Stage ${verb === \"add\" ? \"adding\" : \"removing\"} members ${verb === \"add\" ? \"to\" : \"from\"} a live custom audience, hashed on this machine. Applies when the chat is published.`,\n args: schemaArgs(args),\n });\n return defineCommand({\n meta: {\n name: verb,\n description: `Stage ${verb === \"add\" ? \"adding\" : \"removing\"} members.\n\nExample:\n baker ads chatgpt audiences ${verb} caud_123 --emails ana@example.com,luis@example.com`,\n },\n args,\n run: async ({ args: parsed }) => {\n const { payload, rejected, refusal } = membersFromArgs(parsed);\n if (refusal) {\n failWriteValidation(refusal);\n }\n if (!payload.emailHashes && !payload.phoneHashes) {\n failWriteValidation(\"name at least one email or phone with --emails, --phones or --file\");\n }\n await stageChatgptOp({ kind: `audience.${verb}`, target: requireTarget(parsed, \"id\"), payload }, REFERENCE, () =>\n rejectedHint(rejected),\n );\n },\n });\n}\n\nconst ARCHIVE_ARGS = {\n ids: { type: \"positional\", description: \"Audience ids, comma-separated\", required: true },\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.audiences.archive\",\n description:\n \"Stage archiving custom audiences — for good: ChatGPT Ads cannot bring one back. Pass every id in one call.\",\n args: schemaArgs(ARCHIVE_ARGS),\n});\n\nconst audiencesArchiveCommand = defineCommand({\n meta: {\n name: \"archive\",\n description: `Stage archiving audiences, for good.\n\nExample:\n baker ads chatgpt audiences archive caud_123`,\n },\n args: ARCHIVE_ARGS,\n run: async ({ args }) => {\n await stageChatgptOps(\n requireTargets(args, \"ids\").map((id) => ({ kind: \"audience.archive\", target: id, payload: {} })),\n REFERENCE,\n );\n },\n});\n\nexport const audiencesCommand = defineCommand({\n meta: {\n name: \"audiences\",\n description: `Custom audiences — the company's own customer lists a campaign serves to or leaves out.\n\nExamples:\n baker ads chatgpt audiences\n baker ads chatgpt audiences create --name \"Customers 2026\" --file customers.csv --country ES\n baker ads chatgpt audiences add caud_123 --emails ana@example.com`,\n },\n subCommands: {\n list: audiencesListCommand,\n create: audiencesCreateCommand,\n add: membersCommand(\"add\"),\n remove: membersCommand(\"remove\"),\n archive: audiencesArchiveCommand,\n },\n // A parent must never declare `run`: citty falls through to it after the matched subcommand.\n args: {},\n default: \"list\",\n});\n","import { createHash } from \"node:crypto\";\nimport { maskPersonValue, PEOPLE_PREVIEW_ROWS } from \"@baker/api/ads-common/people\";\nimport { parse } from \"csv-parse/sync\";\nimport { type CountryCode, isSupportedCountry, parsePhoneNumberFromString } from \"libphonenumber-js\";\n\n/**\n * An audience's members, hashed here — on the agent's machine — so no raw\n * email or phone ever reaches Baker or ChatGPT Ads. The normalization is\n * ChatGPT Ads' own: an email trimmed and lowercased (dots and plus tags kept),\n * a phone in E.164; each is SHA-256 hex. Beside the digests goes each\n * member masked (`a***@example.com`, `***001`) for the review in Baker.\n */\n\nfunction sha256(value: string): string {\n return createHash(\"sha256\").update(value, \"utf8\").digest(\"hex\");\n}\n\n/**\n * One `@`, a dotted domain, and nothing that separates values — a cell holding\n * `ana@x.com;+34…` is two values run together, never an email to hash.\n */\nfunction normalizedEmail(value: string): string | undefined {\n const email = value.trim().toLowerCase();\n return /^[^@\\s;,|]+@[^@\\s;,|]+\\.[^@\\s;,|]+$/.test(email) ? email : undefined;\n}\n\nfunction normalizedPhone(value: string, defaultCountry: string | undefined): string | undefined {\n const country = defaultCountry && isSupportedCountry(defaultCountry) ? (defaultCountry as CountryCode) : undefined;\n const phone = parsePhoneNumberFromString(value.trim(), country);\n return phone?.isValid() ? phone.number : undefined;\n}\n\nexport function hashedMembers(input: {\n emails: readonly string[];\n phones: readonly string[];\n defaultCountry: string | undefined;\n}): { emailHashes: string[]; phoneHashes: string[]; previews: string[]; rejected: string[] } {\n const rejected: string[] = [];\n // Hash → masked copy, so a member given twice is reviewed once, as it is sent.\n const emails = new Map<string, string>();\n const phones = new Map<string, string>();\n for (const value of input.emails) {\n const email = normalizedEmail(value);\n email ? emails.set(sha256(email), maskPersonValue(\"email\", email)) : rejected.push(value.trim());\n }\n for (const value of input.phones) {\n const phone = normalizedPhone(value, input.defaultCountry);\n phone ? phones.set(sha256(phone), maskPersonValue(\"phone\", phone)) : rejected.push(value.trim());\n }\n return {\n emailHashes: [...emails.keys()],\n phoneHashes: [...phones.keys()],\n // The review shows the first of them; the rest are counted.\n previews: [...emails.values(), ...phones.values()].slice(0, PEOPLE_PREVIEW_ROWS),\n rejected,\n };\n}\n\n/** A header as its words: lowercased, accents and separators gone — \"Teléfono móvil\" is \"telefono movil\". */\nfunction headerWords(cell: string): string {\n return cell\n .normalize(\"NFD\")\n .replace(/\\p{Diacritic}/gu, \"\")\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \" \")\n .trim();\n}\n\nconst EMAIL_HEADER = /\\b(e ?mail|correo|mail)\\b/;\nconst PHONE_HEADER = /\\b(phone|telefono|movil|mobile|tel|celular)\\b/;\n\n/**\n * A CSV with an email and/or phone column, or a plain list, one value per\n * line — whatever a marketer exported. A plain list is emails, or phones when\n * no line has an `@`.\n */\nexport function membersFromFile(content: string): { emails: string[]; phones: string[] } {\n // Excel writes `;` where the decimal comma is taken, tabs come from a copied sheet.\n const rows: string[][] = parse(content, {\n bom: true,\n skip_empty_lines: true,\n relax_column_count: true,\n trim: true,\n delimiter: [\",\", \";\", \"\\t\"],\n });\n const header = (rows[0] ?? []).map(headerWords);\n const emailColumn = header.findIndex((cell) => EMAIL_HEADER.test(cell));\n const phoneColumn = header.findIndex((cell) => !EMAIL_HEADER.test(cell) && PHONE_HEADER.test(cell));\n if (emailColumn >= 0 || phoneColumn >= 0) {\n const cells = (column: number) =>\n column < 0 ? [] : rows.slice(1).flatMap((row) => (row[column] ? [row[column]] : []));\n return { emails: cells(emailColumn), phones: cells(phoneColumn) };\n }\n const values = rows.flatMap((row) => (row[0] ? [row[0]] : []));\n return values.some((value) => value.includes(\"@\")) ? { emails: values, phones: [] } : { emails: [], phones: values };\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,154 @@
1
+ import {
2
+ handleLinkedinError,
3
+ resolveAccountIdArg
4
+ } from "./chunk-IRM273C7.js";
5
+ import {
6
+ writeAdsJson
7
+ } from "./chunk-ZRP7Y2DM.js";
8
+ import {
9
+ NO_CACHE_ARG
10
+ } from "./chunk-AGBBTTKA.js";
11
+ import "./chunk-PC3FJEZH.js";
12
+ import "./chunk-CAZGM2NX.js";
13
+ import "./chunk-NZS3KEQ2.js";
14
+ import "./chunk-GIWHHCD6.js";
15
+ import "./chunk-SOPVIIUW.js";
16
+ import "./chunk-G4FG5EQO.js";
17
+ import "./chunk-NSBNIPIW.js";
18
+ import "./chunk-46YLDIQG.js";
19
+ import {
20
+ apiPost
21
+ } from "./chunk-X7VQFLHI.js";
22
+ import "./chunk-LU4HI4KI.js";
23
+ import "./chunk-LGK7UWBN.js";
24
+ import "./chunk-Q7US4OOA.js";
25
+ import "./chunk-YQSBHWOI.js";
26
+
27
+ // src/commands/ads/linkedin/audit.ts
28
+ import { defineCommand } from "citty";
29
+ var SEVERITY_RANK = {
30
+ critical: 0,
31
+ high: 1,
32
+ medium: 2,
33
+ low: 3
34
+ };
35
+ var STATUS_RANK = {
36
+ fail: 0,
37
+ warn: 1,
38
+ partial: 2,
39
+ pass: 3,
40
+ n_a: 4
41
+ };
42
+ function filterFindings(findings, severity, area) {
43
+ return findings.filter((f) => {
44
+ if (severity && !severity.includes(f.severity)) return false;
45
+ if (area && !area.includes(f.area)) return false;
46
+ return true;
47
+ });
48
+ }
49
+ function sortFindings(findings) {
50
+ return [...findings].sort((a, b) => {
51
+ const sa = STATUS_RANK[a.status] - STATUS_RANK[b.status];
52
+ if (sa !== 0) return sa;
53
+ return SEVERITY_RANK[a.severity] - SEVERITY_RANK[b.severity];
54
+ });
55
+ }
56
+ function renderMarkdown(result) {
57
+ const lines = [];
58
+ lines.push(`# LinkedIn Ads Audit \u2014 ${result.account.name} (${result.account.id})`);
59
+ lines.push("");
60
+ lines.push(
61
+ `**Scope:** ${result.scope.campaigns} campaigns, ${result.scope.creatives} creatives, last ${result.scope.windowDays}d`
62
+ );
63
+ lines.push("");
64
+ lines.push(
65
+ `**Summary:** ${result.summary.pass} pass \u2022 ${result.summary.critical} critical \u2022 ${result.summary.high} high \u2022 ${result.summary.medium} medium \u2022 ${result.summary.low} low \u2022 ${result.summary.n_a} n/a (${result.summary.totalChecks} total)`
66
+ );
67
+ lines.push("");
68
+ lines.push("| # | Area | Check | Status | Severity | Notes |");
69
+ lines.push("|---|------|-------|--------|----------|-------|");
70
+ result.findings.forEach((f, idx) => {
71
+ const note = noteOf(f);
72
+ lines.push(
73
+ `| ${idx + 1} | ${f.area} | ${escapeMd(f.check)} | ${f.status.toUpperCase()} | ${f.severity} | ${escapeMd(note)} |`
74
+ );
75
+ });
76
+ return lines.join("\n");
77
+ }
78
+ function escapeMd(text) {
79
+ return text.replace(/\|/g, "\\|").replace(/\n/g, " ");
80
+ }
81
+ function noteOf(f) {
82
+ if (f.status === "pass") return "";
83
+ const ev = f.evidence ? JSON.stringify(f.evidence) : "";
84
+ const fix = f.fix?.explanation ?? "";
85
+ return [fix, ev].filter(Boolean).join(" \u2014 ");
86
+ }
87
+ var auditCommand = defineCommand({
88
+ meta: {
89
+ name: "audit",
90
+ description: `Run a LinkedIn Ads playbook audit \u2014 30+ checks across Settings, Tracking,
91
+ Audience, Campaigns, Creative, Performance, Bidding, and Compliance.
92
+
93
+ Each finding has {id, area, check, status, severity, evidence, fix} fields with
94
+ playbook citations. The default JSON output is agent-friendly; --format md
95
+ renders a deliverable-ready table that mirrors the google-ads-playbook
96
+ 10-audit-summary.md style.
97
+
98
+ Exit code 0 always. Use the JSON 'summary' counts to decide if action is needed.
99
+
100
+ Examples:
101
+ baker ads linkedin audit --account-id 503001492
102
+ baker ads linkedin audit --account-id 503001492 --campaign-id 1234 # narrow scope
103
+ baker ads linkedin audit --account-id 503001492 --window-days 90
104
+ baker ads linkedin audit --account-id 503001492 --severity critical,high
105
+ baker ads linkedin audit --account-id 503001492 --area Settings,Tracking
106
+ baker ads linkedin audit --account-id 503001492 --format md`
107
+ },
108
+ args: {
109
+ "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
110
+ "account-urn": { type: "string", description: "Alias for --account-id" },
111
+ "campaign-id": { type: "string", description: "Narrow scope to a single campaign" },
112
+ "window-days": { type: "string", description: "Lookback window for performance checks (default: 30)" },
113
+ severity: { type: "string", description: "CSV severity filter: critical,high,medium,low" },
114
+ area: {
115
+ type: "string",
116
+ description: "CSV area filter: Settings,Tracking,Audience,Campaigns,Creative,Performance,Bidding,Compliance,Hygiene"
117
+ },
118
+ format: { type: "string", description: "Output format: json | md (default: json)" },
119
+ "no-cache": NO_CACHE_ARG
120
+ },
121
+ run: async ({ args }) => {
122
+ const accountId = resolveAccountIdArg(args);
123
+ const windowDays = args["window-days"] ? Number(args["window-days"]) : 30;
124
+ if (!Number.isFinite(windowDays) || windowDays < 1 || windowDays > 365) {
125
+ handleLinkedinError(new Error("--window-days must be 1..365"));
126
+ }
127
+ try {
128
+ const data = await apiPost("/api/ads/linkedin/audit", {
129
+ accountId,
130
+ campaignId: args["campaign-id"] ? String(args["campaign-id"]) : void 0,
131
+ windowDays,
132
+ skipCache: Boolean(args["no-cache"])
133
+ });
134
+ const severityFilter = args.severity?.split(",").map((s) => s.trim().toLowerCase()).filter(Boolean);
135
+ const areaFilter = args.area?.split(",").map((s) => s.trim()).filter(Boolean);
136
+ const filtered = filterFindings(data.findings, severityFilter, areaFilter);
137
+ const sorted = sortFindings(filtered);
138
+ const result = { ...data, findings: sorted };
139
+ const fmt = args.format ?? "json";
140
+ if (fmt === "md") {
141
+ process.stdout.write(`${renderMarkdown(result)}
142
+ `);
143
+ return;
144
+ }
145
+ writeAdsJson({ ok: true, data: result });
146
+ } catch (err) {
147
+ handleLinkedinError(err);
148
+ }
149
+ }
150
+ });
151
+ export {
152
+ auditCommand
153
+ };
154
+ //# sourceMappingURL=audit-FLPJ7GTE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/linkedin/audit.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { handleLinkedinError, resolveAccountIdArg } from \"./shared.ts\";\n\ninterface AuditFinding {\n id: string;\n area: string;\n check: string;\n status: \"pass\" | \"fail\" | \"partial\" | \"warn\" | \"n_a\";\n severity: \"critical\" | \"high\" | \"medium\" | \"low\";\n evidence?: Record<string, unknown>;\n fix?: { explanation: string; playbookRef?: string; correctedCommand?: string };\n}\n\ninterface AuditResult {\n account: { urn: string; id: string; name: string };\n scope: { campaigns: number; creatives: number; windowDays: number };\n summary: {\n critical: number;\n high: number;\n medium: number;\n low: number;\n pass: number;\n n_a: number;\n totalChecks: number;\n };\n findings: AuditFinding[];\n}\n\nconst SEVERITY_RANK: Record<AuditFinding[\"severity\"], number> = {\n critical: 0,\n high: 1,\n medium: 2,\n low: 3,\n};\n\nconst STATUS_RANK: Record<AuditFinding[\"status\"], number> = {\n fail: 0,\n warn: 1,\n partial: 2,\n pass: 3,\n n_a: 4,\n};\n\nfunction filterFindings(\n findings: AuditFinding[],\n severity: string[] | undefined,\n area: string[] | undefined,\n): AuditFinding[] {\n return findings.filter((f) => {\n if (severity && !severity.includes(f.severity)) return false;\n if (area && !area.includes(f.area)) return false;\n return true;\n });\n}\n\nfunction sortFindings(findings: AuditFinding[]): AuditFinding[] {\n return [...findings].sort((a, b) => {\n const sa = STATUS_RANK[a.status] - STATUS_RANK[b.status];\n if (sa !== 0) return sa;\n return SEVERITY_RANK[a.severity] - SEVERITY_RANK[b.severity];\n });\n}\n\n/**\n * Render the audit as a markdown table that mirrors\n * google-ads-playbook/10-audit-summary.md so the agent can drop it into a\n * client deliverable as-is.\n */\nfunction renderMarkdown(result: AuditResult): string {\n const lines: string[] = [];\n lines.push(`# LinkedIn Ads Audit — ${result.account.name} (${result.account.id})`);\n lines.push(\"\");\n lines.push(\n `**Scope:** ${result.scope.campaigns} campaigns, ${result.scope.creatives} creatives, last ${result.scope.windowDays}d`,\n );\n lines.push(\"\");\n lines.push(\n `**Summary:** ${result.summary.pass} pass • ${result.summary.critical} critical • ${result.summary.high} high • ${result.summary.medium} medium • ${result.summary.low} low • ${result.summary.n_a} n/a (${result.summary.totalChecks} total)`,\n );\n lines.push(\"\");\n lines.push(\"| # | Area | Check | Status | Severity | Notes |\");\n lines.push(\"|---|------|-------|--------|----------|-------|\");\n result.findings.forEach((f, idx) => {\n const note = noteOf(f);\n lines.push(\n `| ${idx + 1} | ${f.area} | ${escapeMd(f.check)} | ${f.status.toUpperCase()} | ${f.severity} | ${escapeMd(note)} |`,\n );\n });\n return lines.join(\"\\n\");\n}\n\nfunction escapeMd(text: string): string {\n return text.replace(/\\|/g, \"\\\\|\").replace(/\\n/g, \" \");\n}\n\nfunction noteOf(f: AuditFinding): string {\n if (f.status === \"pass\") return \"\";\n const ev = f.evidence ? JSON.stringify(f.evidence) : \"\";\n const fix = f.fix?.explanation ?? \"\";\n return [fix, ev].filter(Boolean).join(\" — \");\n}\n\nexport const auditCommand = defineCommand({\n meta: {\n name: \"audit\",\n description: `Run a LinkedIn Ads playbook audit — 30+ checks across Settings, Tracking,\nAudience, Campaigns, Creative, Performance, Bidding, and Compliance.\n\nEach finding has {id, area, check, status, severity, evidence, fix} fields with\nplaybook citations. The default JSON output is agent-friendly; --format md\nrenders a deliverable-ready table that mirrors the google-ads-playbook\n10-audit-summary.md style.\n\nExit code 0 always. Use the JSON 'summary' counts to decide if action is needed.\n\nExamples:\n baker ads linkedin audit --account-id 503001492\n baker ads linkedin audit --account-id 503001492 --campaign-id 1234 # narrow scope\n baker ads linkedin audit --account-id 503001492 --window-days 90\n baker ads linkedin audit --account-id 503001492 --severity critical,high\n baker ads linkedin audit --account-id 503001492 --area Settings,Tracking\n baker ads linkedin audit --account-id 503001492 --format md`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or urn:li:sponsoredAccount:N\" },\n \"account-urn\": { type: \"string\", description: \"Alias for --account-id\" },\n \"campaign-id\": { type: \"string\", description: \"Narrow scope to a single campaign\" },\n \"window-days\": { type: \"string\", description: \"Lookback window for performance checks (default: 30)\" },\n severity: { type: \"string\", description: \"CSV severity filter: critical,high,medium,low\" },\n area: {\n type: \"string\",\n description:\n \"CSV area filter: Settings,Tracking,Audience,Campaigns,Creative,Performance,Bidding,Compliance,Hygiene\",\n },\n format: { type: \"string\", description: \"Output format: json | md (default: json)\" },\n \"no-cache\": NO_CACHE_ARG,\n },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n const windowDays = args[\"window-days\"] ? Number(args[\"window-days\"]) : 30;\n if (!Number.isFinite(windowDays) || windowDays < 1 || windowDays > 365) {\n handleLinkedinError(new Error(\"--window-days must be 1..365\"));\n }\n try {\n const data = await apiPost<AuditResult>(\"/api/ads/linkedin/audit\", {\n accountId,\n campaignId: args[\"campaign-id\"] ? String(args[\"campaign-id\"]) : undefined,\n windowDays,\n skipCache: Boolean(args[\"no-cache\"]),\n });\n\n const severityFilter = (args.severity as string | undefined)\n ?.split(\",\")\n .map((s) => s.trim().toLowerCase())\n .filter(Boolean);\n const areaFilter = (args.area as string | undefined)\n ?.split(\",\")\n .map((s) => s.trim())\n .filter(Boolean);\n const filtered = filterFindings(data.findings, severityFilter, areaFilter);\n const sorted = sortFindings(filtered);\n const result: AuditResult = { ...data, findings: sorted };\n\n const fmt = (args.format as string | undefined) ?? \"json\";\n if (fmt === \"md\") {\n process.stdout.write(`${renderMarkdown(result)}\\n`);\n return;\n }\n writeAdsJson({ ok: true, data: result });\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n"],"mappings":"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","names":[]}