@koda-sl/baker-cli 0.557.0 → 0.559.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 (530) hide show
  1. package/dist/{account-ICRVGRGT.js → account-DUGYQJEM.js} +4 -4
  2. package/dist/{account-reads-T6GTSAXE.js → account-reads-GQWTMLTY.js} +2 -2
  3. package/dist/{account-users-ENRQBEV4.js → account-users-BXJQ4XZV.js} +4 -4
  4. package/dist/{accounts-MQXVRASU.js → accounts-DXQ3DHMB.js} +3 -3
  5. package/dist/{accounts-4ZSFTWKA.js → accounts-KXQY6WKR.js} +5 -5
  6. package/dist/{accounts-HJAQTVDA.js → accounts-ZFQYZT3J.js} +7 -2
  7. package/dist/accounts-ZFQYZT3J.js.map +1 -0
  8. package/dist/{actions-B2GTON6O.js → actions-LI43PTFN.js} +18 -18
  9. package/dist/{activecampaign-DCED2LJF.js → activecampaign-5A6YHDJW.js} +3 -3
  10. package/dist/{add-CSRB6GVJ.js → add-TJHGYZYH.js} +7 -2
  11. package/dist/add-TJHGYZYH.js.map +1 -0
  12. package/dist/{add-JCNXNGDP.js → add-W4HEMTFL.js} +2 -2
  13. package/dist/{add-SAPHQL5P.js → add-ZSKEB3CI.js} +3 -3
  14. package/dist/{ads-WWZK7UYG.js → ads-XXSBCX4B.js} +5 -5
  15. package/dist/{advertisers-FME2ABRB.js → advertisers-KPVUVXZZ.js} +4 -4
  16. package/dist/{analytics-5P5DSD5U.js → analytics-4WBRNSUC.js} +3 -3
  17. package/dist/{analytics-XQ3X4EAF.js → analytics-XT4ANMLP.js} +6 -6
  18. package/dist/{assign-7UGEPUCD.js → assign-SQK4UF3I.js} +3 -3
  19. package/dist/{audience-size-VMGWVYVR.js → audience-size-5Y5Q6UVA.js} +3 -3
  20. package/dist/{audit-XG6BYA2E.js → audit-GOZNIXNM.js} +3 -3
  21. package/dist/{autocomplete-CBOYGT73.js → autocomplete-36S76BGA.js} +4 -4
  22. package/dist/{avatars-3GVMDI7P.js → avatars-SDQ5LCNG.js} +4 -4
  23. package/dist/{bid-pricing-TRQUA2RV.js → bid-pricing-6DFGC6YC.js} +4 -4
  24. package/dist/{brand-E3SSWHCN.js → brand-OISTKMY4.js} +2 -2
  25. package/dist/{brief-WLOO3Q5L.js → brief-2UXKUTFC.js} +12 -12
  26. package/dist/{campaign-groups-3475EWTI.js → campaign-groups-32LDB42N.js} +9 -9
  27. package/dist/{campaign-writes-UIS7E2DP.js → campaign-writes-62V55CNW.js} +3 -3
  28. package/dist/{campaigns-OQ6IQKGX.js → campaigns-I5GSGZDJ.js} +5 -5
  29. package/dist/{campaigns-LKE7G3YG.js → campaigns-OGNE4XHM.js} +12 -12
  30. package/dist/{canvas-W3RF6NGC.js → canvas-HGU7FJ34.js} +13 -13
  31. package/dist/{capabilities-HNCOIM5X.js → capabilities-EDXVGZXC.js} +3 -3
  32. package/dist/{changes-OIVPZJHE.js → changes-MVCX3GLE.js} +16 -11
  33. package/dist/changes-MVCX3GLE.js.map +1 -0
  34. package/dist/{chats-X6C6DUDX.js → chats-HFKSZWZD.js} +3 -3
  35. package/dist/{check-4J2ROARK.js → check-GRVUI3LI.js} +5 -5
  36. package/dist/{chunk-WDJIGWL2.js → chunk-26UW2GMK.js} +5 -5
  37. package/dist/{chunk-JPK34QPS.js → chunk-2L24FULD.js} +3 -3
  38. package/dist/chunk-2L24FULD.js.map +1 -0
  39. package/dist/{chunk-ZGLRYMIR.js → chunk-2LGDWOD7.js} +2 -2
  40. package/dist/{chunk-NPBF3YJO.js → chunk-37QHT7J4.js} +2 -2
  41. package/dist/{chunk-GN623LEL.js → chunk-4ICSKDI7.js} +22 -6
  42. package/dist/chunk-4ICSKDI7.js.map +1 -0
  43. package/dist/{chunk-2UGMSILE.js → chunk-5NJQXV4K.js} +3 -3
  44. package/dist/{chunk-PYS733U7.js → chunk-724E32DM.js} +3 -3
  45. package/dist/{chunk-SMZRJYV7.js → chunk-72JEATZ5.js} +3 -3
  46. package/dist/{chunk-AX5BGR4R.js → chunk-72VH4FPY.js} +2 -2
  47. package/dist/{chunk-YUXVZGGB.js → chunk-AHZIGJXD.js} +2 -2
  48. package/dist/{chunk-7QRHJJR5.js → chunk-AQ6LJ7EI.js} +2 -2
  49. package/dist/{chunk-UGRL642V.js → chunk-BS4PRGEJ.js} +2 -2
  50. package/dist/{chunk-UGRL642V.js.map → chunk-BS4PRGEJ.js.map} +1 -1
  51. package/dist/{chunk-2NHWXWPB.js → chunk-CZTKRP6M.js} +2 -2
  52. package/dist/{chunk-LLBTSJGC.js → chunk-DYWKYP7Z.js} +2 -2
  53. package/dist/{chunk-QIMTC2IW.js → chunk-EDWW3THE.js} +2 -2
  54. package/dist/{chunk-DZJREPT2.js → chunk-G3ZUMNLG.js} +3 -3
  55. package/dist/{chunk-BKLWKZCX.js → chunk-GTYVWDCC.js} +2 -2
  56. package/dist/{chunk-2KFN5CS7.js → chunk-HHMBHLX6.js} +2 -2
  57. package/dist/{chunk-PQ7RLE43.js → chunk-HNELOMY2.js} +26 -433
  58. package/dist/chunk-HNELOMY2.js.map +1 -0
  59. package/dist/chunk-I7OJZ7QE.js +10 -0
  60. package/dist/chunk-I7OJZ7QE.js.map +1 -0
  61. package/dist/{chunk-GQEU6IKZ.js → chunk-J6KCVW6N.js} +2 -2
  62. package/dist/{chunk-SDDEECV2.js → chunk-KDTSXLY7.js} +2 -2
  63. package/dist/{chunk-6G4CVXIL.js → chunk-KE5TI23P.js} +2 -2
  64. package/dist/{chunk-IAZKXDWV.js → chunk-KNA3OWJC.js} +16 -2
  65. package/dist/{chunk-IAZKXDWV.js.map → chunk-KNA3OWJC.js.map} +1 -1
  66. package/dist/{chunk-XNGJVOXZ.js → chunk-KV4E4KGE.js} +3 -3
  67. package/dist/{chunk-ST5PZM7I.js → chunk-KY6Q4WLC.js} +2 -2
  68. package/dist/{chunk-KAOUWSXH.js → chunk-LIBSSGE4.js} +2 -2
  69. package/dist/{chunk-DG34CPA6.js → chunk-LWN3ZNZU.js} +2 -2
  70. package/dist/{chunk-B5K6KXV2.js → chunk-N34A56X7.js} +2 -2
  71. package/dist/{chunk-PU5UKJ33.js → chunk-N472TRB4.js} +2 -2
  72. package/dist/{chunk-G4MXOYLJ.js → chunk-NPDZ4EO6.js} +3 -3
  73. package/dist/chunk-NPGPRZW2.js +1313 -0
  74. package/dist/chunk-NPGPRZW2.js.map +1 -0
  75. package/dist/{chunk-OJMALBCI.js → chunk-OEH7ANJJ.js} +2 -2
  76. package/dist/{chunk-WP5YCX3O.js → chunk-PBKUESJD.js} +3 -3
  77. package/dist/{chunk-GQTSGD5D.js → chunk-PZSOJYER.js} +3 -3
  78. package/dist/{chunk-SNWFM2DB.js → chunk-Q2JDS6WL.js} +11 -1
  79. package/dist/chunk-Q2JDS6WL.js.map +1 -0
  80. package/dist/{chunk-SL2BRBIJ.js → chunk-QBCZLD3A.js} +9 -9
  81. package/dist/{chunk-VRTRMQM2.js → chunk-QKHH7YNN.js} +2 -2
  82. package/dist/{chunk-ZEK6D6SS.js → chunk-SKVQRTDO.js} +2 -2
  83. package/dist/{chunk-MVTPNWRQ.js → chunk-TK7VRZKM.js} +4 -2
  84. package/dist/{chunk-MVTPNWRQ.js.map → chunk-TK7VRZKM.js.map} +1 -1
  85. package/dist/{chunk-CP2A4P2P.js → chunk-TXWKDDF6.js} +2 -2
  86. package/dist/{chunk-TS2F2FXW.js → chunk-UB34H4VD.js} +5 -5
  87. package/dist/{chunk-WWTTPOVW.js → chunk-UZEKIMLY.js} +3 -3
  88. package/dist/{chunk-KPNMSZOM.js → chunk-V6N6UBOT.js} +2 -2
  89. package/dist/{chunk-P7ZLJLQH.js → chunk-VKYDHIBT.js} +2 -2
  90. package/dist/{chunk-KSQXQMDS.js → chunk-WLD443MX.js} +2 -2
  91. package/dist/{chunk-RSLVIXW3.js → chunk-WQIHLJAO.js} +6 -6
  92. package/dist/{chunk-BBW7DZPO.js → chunk-X2OVFCRC.js} +2 -2
  93. package/dist/{chunk-V3RYJ4K2.js → chunk-XGN3BGSL.js} +4 -4
  94. package/dist/{chunk-MDC36LWD.js → chunk-YS7T735Q.js} +2 -2
  95. package/dist/{chunk-FHN4QXZN.js → chunk-YXUIVOUL.js} +2 -2
  96. package/dist/{claim-RRSGEH6S.js → claim-NUUED375.js} +3 -3
  97. package/dist/cli.js +32 -32
  98. package/dist/{companies-L2CN7FG6.js → companies-3EKQ6PBV.js} +3 -3
  99. package/dist/{company-JFVUTAVA.js → company-35ZI77NI.js} +3 -3
  100. package/dist/{complete-AHUP2SHE.js → complete-V2HNULPO.js} +3 -3
  101. package/dist/{connect-HJO52PQR.js → connect-77K3A6WK.js} +6 -6
  102. package/dist/{conversation-Q27J7M75.js → conversation-MWBPIT4W.js} +3 -3
  103. package/dist/{conversion-upload-command-J2FIO74Y.js → conversion-upload-command-U36QYHUT.js} +2 -2
  104. package/dist/{conversions-6N2OWE6G.js → conversions-RXNIACU5.js} +8 -8
  105. package/dist/{create-KQUMF4HV.js → create-AE52ZZMG.js} +3 -3
  106. package/dist/{create-H6U75562.js → create-K2EUYE54.js} +11 -3
  107. package/dist/{create-H6U75562.js.map → create-K2EUYE54.js.map} +1 -1
  108. package/dist/{create-FWH3WEUW.js → create-L53KW6GN.js} +3 -3
  109. package/dist/{create-NJS7I2JX.js → create-RJHGT2S4.js} +3 -3
  110. package/dist/{creatives-U4YGQLOG.js → creatives-2JP24JNL.js} +9 -9
  111. package/dist/{creatives-4ODU5S2G.js → creatives-UPZU7BLY.js} +12 -12
  112. package/dist/{credentials-EJE4L5WS.js → credentials-WRC7ERSS.js} +3 -3
  113. package/dist/{critique-6FULD2C7.js → critique-CYV7JQAY.js} +3 -3
  114. package/dist/{critique-EALNNGJ3.js → critique-VTNN6A5I.js} +8 -8
  115. package/dist/{crm-ONS4PUP5.js → crm-2MZLMSEV.js} +4 -4
  116. package/dist/{crm-MSVXNPKM.js → crm-VO6ZBW64.js} +4 -4
  117. package/dist/{currency-B5T7TYKD.js → currency-XFY2EX72.js} +3 -3
  118. package/dist/{customers-DXOLSUXV.js → customers-MHQ72YBY.js} +5 -5
  119. package/dist/{delete-XWD37C4T.js → delete-5NEAIDA4.js} +2 -2
  120. package/dist/{delete-U7B4N7UA.js → delete-6WKVGKRF.js} +3 -3
  121. package/dist/{delete-ELTUNRSD.js → delete-QFASUSVU.js} +3 -3
  122. package/dist/{delete-TN47CJK7.js → delete-ULI3MVAD.js} +2 -2
  123. package/dist/{demographics-NGWLHRNF.js → demographics-5SXTDRFU.js} +3 -3
  124. package/dist/{discard-SBYNAHJX.js → discard-P4PGGYYO.js} +3 -3
  125. package/dist/{discover-SS3PO5Y6.js → discover-J5344ATV.js} +2 -2
  126. package/dist/{domain-UGVD7HIA.js → domain-RINRCQ5G.js} +3 -3
  127. package/dist/{download-VQCUPJA2.js → download-HPYGPNHN.js} +2 -2
  128. package/dist/{draft-3TZYIB5J.js → draft-4WPWILSX.js} +3 -3
  129. package/dist/{draft-OA35VOHO.js → draft-FWCF4Y6P.js} +4 -4
  130. package/dist/{draft-6V73CF5P.js → draft-M7XINDQU.js} +3 -3
  131. package/dist/{draft-EB5ZFDVN.js → draft-OIGJUFOH.js} +2 -2
  132. package/dist/{experiments-32DRJBJB.js → experiments-NULZPBF2.js} +4 -4
  133. package/dist/{extract-WEEJ6FTG.js → extract-Y3OZG5DZ.js} +4 -3
  134. package/dist/{extract-WEEJ6FTG.js.map → extract-Y3OZG5DZ.js.map} +1 -1
  135. package/dist/{facets-462KAZH7.js → facets-HIADYZQQ.js} +3 -3
  136. package/dist/{feedback-AWWQN2MR.js → feedback-WEZEKTCH.js} +12 -12
  137. package/dist/{feedback-ME5HYWT5.js → feedback-Y4AXR354.js} +3 -3
  138. package/dist/{feedback-record-G6N3MFMC.js → feedback-record-YZNGRSNR.js} +13 -13
  139. package/dist/{fetch-HVBXROZY.js → fetch-T6WPGAWP.js} +3 -3
  140. package/dist/{find-UB4JSORZ.js → find-TTJH5NVJ.js} +3 -2
  141. package/dist/{find-UB4JSORZ.js.map → find-TTJH5NVJ.js.map} +1 -1
  142. package/dist/{fit-XNWSY3ZM.js → fit-MLDFA4ZK.js} +5 -5
  143. package/dist/{flows-AX4LSQYT.js → flows-XWU2XNYP.js} +10 -10
  144. package/dist/{fonts-AZCIRKB4.js → fonts-RV5KUGFE.js} +5 -5
  145. package/dist/{forecast-ALJGK6RQ.js → forecast-E5QXQFKQ.js} +4 -4
  146. package/dist/{forecast-XDRKCR65.js → forecast-HFCRTFIF.js} +2 -2
  147. package/dist/{funnel-HLYGJU64.js → funnel-NMC3JWTF.js} +4 -4
  148. package/dist/{get-KQ46JY6B.js → get-AKTMYS57.js} +3 -3
  149. package/dist/{get-ZLCZOCUH.js → get-JQE7XWKL.js} +3 -3
  150. package/dist/{get-4NDYA3G6.js → get-MK6M4DKF.js} +2 -2
  151. package/dist/{get-JX5JVWH7.js → get-QS2A6YVM.js} +2 -2
  152. package/dist/{get-KNP2EQRI.js → get-UFCNLDE2.js} +2 -2
  153. package/dist/{gif-6244RM75.js → gif-TBKH7VSP.js} +3 -2
  154. package/dist/{gif-6244RM75.js.map → gif-TBKH7VSP.js.map} +1 -1
  155. package/dist/{google-UJ4YJGTJ.js → google-TOO3FDZ6.js} +22 -22
  156. package/dist/{google-CLX7IUEE.js → google-YDGZ2Q3M.js} +4 -3
  157. package/dist/{google-CLX7IUEE.js.map → google-YDGZ2Q3M.js.map} +1 -1
  158. package/dist/{google-ads-DYGNJEIT.js → google-ads-AFJV5ZJO.js} +3 -3
  159. package/dist/{history-H2MGZGPB.js → history-6RCRBB4Q.js} +3 -3
  160. package/dist/{history-W25VPQ57.js → history-T6Y5IR4V.js} +3 -3
  161. package/dist/{hubspot-D3TFC24J.js → hubspot-SNLOCDPF.js} +7 -7
  162. package/dist/{icon-2237C4LP.js → icon-CYUIAFTE.js} +3 -2
  163. package/dist/{icon-2237C4LP.js.map → icon-CYUIAFTE.js.map} +1 -1
  164. package/dist/{ideas-5AEA2RPO.js → ideas-VTBVERCN.js} +4 -4
  165. package/dist/{images-WL3KB35N.js → images-36DGQZMH.js} +20 -20
  166. package/dist/{ingest-3O4C75SL.js → ingest-MLIOEHL3.js} +11 -3
  167. package/dist/{ingest-3O4C75SL.js.map → ingest-MLIOEHL3.js.map} +1 -1
  168. package/dist/{ingest-5EFT6PCW.js → ingest-OJV3CYYK.js} +5 -4
  169. package/dist/{inspect-4NWXVI4R.js → inspect-6P2WNFAC.js} +3 -3
  170. package/dist/{intent-OMSJPOJZ.js → intent-PU3XUDLL.js} +2 -2
  171. package/dist/{keyword-gap-3P72T4NV.js → keyword-gap-B6T7ZFTZ.js} +2 -2
  172. package/dist/{keyword-metrics-DDY2RDYK.js → keyword-metrics-IDMR3ES2.js} +4 -4
  173. package/dist/{keywords-for-site-TFHOM23P.js → keywords-for-site-V3SGYZDW.js} +4 -4
  174. package/dist/{landing-PECCKQSW.js → landing-7PZPYD3M.js} +2 -2
  175. package/dist/{languages-WWKMRZCH.js → languages-ETKG5WM3.js} +2 -2
  176. package/dist/{leads-GUA2XYPF.js → leads-TWABHSJH.js} +3 -3
  177. package/dist/{learn-ZRVONGFT.js → learn-MXJSGDVI.js} +4 -4
  178. package/dist/{library-RZI7QHRV.js → library-F4GB5X6G.js} +3 -2
  179. package/dist/{library-RZI7QHRV.js.map → library-F4GB5X6G.js.map} +1 -1
  180. package/dist/{line-item-writes-4FGW42W4.js → line-item-writes-2R7VSOWO.js} +3 -3
  181. package/dist/{line-items-BX2D3T6S.js → line-items-MY6JP2W6.js} +5 -5
  182. package/dist/{link-JUNNBOUE.js → link-LR5LSFTA.js} +3 -3
  183. package/dist/{linkedin-6NRMXGBT.js → linkedin-UJEBBO7G.js} +30 -30
  184. package/dist/{linkedin-person-QJ7BREUI.js → linkedin-person-5LJEMW54.js} +3 -3
  185. package/dist/{list-DPQMPO2N.js → list-5O5NB56G.js} +3 -3
  186. package/dist/{list-4PB3SUMX.js → list-6AAKH6UV.js} +3 -3
  187. package/dist/{list-QPTOZWLH.js → list-UYQOLFPN.js} +2 -2
  188. package/dist/{locations-P3CUBKYZ.js → locations-VPZYTFVK.js} +2 -2
  189. package/dist/{log-O3ABCKXB.js → log-LPY5KYGP.js} +3 -3
  190. package/dist/{logo-R34AWI4C.js → logo-SBIDRBA2.js} +4 -3
  191. package/dist/{make-DS2JT5N4.js → make-UK2OYKCZ.js} +15 -15
  192. package/dist/{map-3RDR7QYX.js → map-XEJOI63E.js} +4 -4
  193. package/dist/{mcp-G52VGFAY.js → mcp-Y43SKNHV.js} +2 -2
  194. package/dist/{media-sources-GJHD737X.js → media-sources-POL5DMD4.js} +2 -2
  195. package/dist/{members-ICR3O2XP.js → members-5EJVXTE7.js} +3 -3
  196. package/dist/{meme-NH4DAORT.js → meme-VR3IHBRW.js} +9 -1
  197. package/dist/meme-VR3IHBRW.js.map +1 -0
  198. package/dist/{metrics-PSXIV4QS.js → metrics-J3WD2CUD.js} +2 -2
  199. package/dist/{normalize-WLP2AYUD.js → normalize-IOW2V6E7.js} +3 -3
  200. package/dist/{options-G35EJLMF.js → options-YD6XFRZV.js} +6 -6
  201. package/dist/{organization-N5XUAYZQ.js → organization-KORFOK7Q.js} +3 -3
  202. package/dist/{performance-YT2MD4R6.js → performance-BXSNPNC3.js} +4 -4
  203. package/dist/{performance-KHP7T3X7.js → performance-Z353JXHB.js} +3 -3
  204. package/dist/{pinterest-KZ7RIHRS.js → pinterest-42NLOZW4.js} +3 -2
  205. package/dist/{pinterest-KZ7RIHRS.js.map → pinterest-42NLOZW4.js.map} +1 -1
  206. package/dist/{posts-F7NFSUHV.js → posts-K3QTBX2B.js} +2 -2
  207. package/dist/{preview-YXDLYCIA.js → preview-3UGPTK44.js} +3 -3
  208. package/dist/{promoted-tweet-writes-JTGHVR6D.js → promoted-tweet-writes-3D6GG6K4.js} +3 -3
  209. package/dist/{promoted-tweets-HFUAOQLB.js → promoted-tweets-BGQJDEQ2.js} +3 -3
  210. package/dist/{publish-PTVM5UFZ.js → publish-DBUBFV5R.js} +11 -5
  211. package/dist/{publish-PTVM5UFZ.js.map → publish-DBUBFV5R.js.map} +1 -1
  212. package/dist/{query-PC7V3OFF.js → query-ZYG5RCCW.js} +5 -5
  213. package/dist/{reddit-3KAMZIPT.js → reddit-GPSRX4TI.js} +4 -4
  214. package/dist/{refresh-7EH4WBYS.js → refresh-3X45Q6ZM.js} +2 -2
  215. package/dist/{release-JLKYLTRG.js → release-PE7KBFGK.js} +3 -3
  216. package/dist/{relevant-pages-3CCAQA5Y.js → relevant-pages-7U6I2WPM.js} +2 -2
  217. package/dist/{remove-UW5W5FOH.js → remove-2A3XDOKA.js} +2 -2
  218. package/dist/{reopen-JULIHAMN.js → reopen-LHMLXG6G.js} +3 -3
  219. package/dist/{rerun-5JXFPGQO.js → rerun-S4VWOIKE.js} +17 -16
  220. package/dist/{rerun-5JXFPGQO.js.map → rerun-S4VWOIKE.js.map} +1 -1
  221. package/dist/{research-IZSCSXTD.js → research-55XA4Z2O.js} +2 -2
  222. package/dist/{research-M6LXE3VX.js → research-JN3JGEEL.js} +16 -16
  223. package/dist/{reset-QHZ3OIS6.js → reset-C5SDRQTX.js} +2 -2
  224. package/dist/{reset-WAH4GQSV.js → reset-IY7GNRLF.js} +2 -2
  225. package/dist/{resolve-AOZWSUYD.js → resolve-PCN7BR7U.js} +3 -3
  226. package/dist/{retry-UQ4OOYEZ.js → retry-2KYMH2IV.js} +2 -2
  227. package/dist/{retry-XASANWPI.js → retry-KUWJ4GGA.js} +2 -2
  228. package/dist/{revenue-YGPP7K6U.js → revenue-CRZRJJ7H.js} +4 -4
  229. package/dist/{rules-V4I5BVKB.js → rules-EKOXAK2O.js} +5 -5
  230. package/dist/{rules-add-U2Z56SMZ.js → rules-add-IC3SXNYW.js} +5 -5
  231. package/dist/{run-YNVT5DYJ.js → run-WUD5U5GY.js} +17 -16
  232. package/dist/{run-M5FRUIAM.js → run-Y4SEFETX.js} +3 -3
  233. package/dist/{scaffold-ad-HGI3JCBY.js → scaffold-ad-OJ4WOJM6.js} +10 -10
  234. package/dist/{scaffold-static-ad-LHVGQ5PM.js → scaffold-static-ad-EXUKKYSD.js} +21 -20
  235. package/dist/{scaffold-static-ad-LHVGQ5PM.js.map → scaffold-static-ad-EXUKKYSD.js.map} +1 -1
  236. package/dist/{scaffold-video-WEHH3SO6.js → scaffold-video-7PDZZSKD.js} +9 -9
  237. package/dist/{schedule-7T2DKJZ3.js → schedule-VCL2OPIL.js} +2 -2
  238. package/dist/{scheduled-agents-MKKHCNI6.js → scheduled-agents-YAHYCFDA.js} +11 -11
  239. package/dist/{schema-ID4NETCM.js → schema-L6DGAUB5.js} +4 -4
  240. package/dist/{screenshot-YRYAOP5E.js → screenshot-RR6RA6CN.js} +3 -2
  241. package/dist/{screenshot-YRYAOP5E.js.map → screenshot-RR6RA6CN.js.map} +1 -1
  242. package/dist/{search-XYENZFAC.js → search-OUJUEORX.js} +2 -2
  243. package/dist/{select-7E6J2FDA.js → select-R3NT7OI4.js} +11 -11
  244. package/dist/{set-prompt-BNKY5NSE.js → set-prompt-F3SYRT22.js} +8 -8
  245. package/dist/{setup-links-QV3LBVGK.js → setup-links-AHWFGUAO.js} +3 -3
  246. package/dist/{shopify-C5I3XHPR.js → shopify-BPQCUFFX.js} +3 -3
  247. package/dist/{site-NUQ5DHOQ.js → site-KYB2EL72.js} +4 -4
  248. package/dist/{sources-KS44MMM7.js → sources-JYOOLCOU.js} +6 -6
  249. package/dist/{sources-IVSFKLP6.js → sources-X4URMRLY.js} +6 -6
  250. package/dist/{stale-E32VHTTJ.js → stale-KFVY7LSB.js} +10 -10
  251. package/dist/{status-PPTYL45B.js → status-YVRZBK56.js} +3 -3
  252. package/dist/{sticker-GXCI4WL5.js → sticker-HMHR7QM7.js} +3 -2
  253. package/dist/{sticker-GXCI4WL5.js.map → sticker-HMHR7QM7.js.map} +1 -1
  254. package/dist/{stock-3FZPID6C.js → stock-IAQBUPGQ.js} +4 -3
  255. package/dist/{stock-3FZPID6C.js.map → stock-IAQBUPGQ.js.map} +1 -1
  256. package/dist/{sync-G3LSQL6F.js → sync-KJEXXD3P.js} +2 -2
  257. package/dist/{sync-definition-DR6BUB5O.js → sync-definition-BQUVWLCC.js} +9 -9
  258. package/dist/{tags-O6LGADB6.js → tags-7CEVWFEZ.js} +3 -3
  259. package/dist/{tags-BYLXFP34.js → tags-BU4KLB37.js} +4 -4
  260. package/dist/{tags-FMX7R65M.js → tags-HKR2GWXV.js} +2 -2
  261. package/dist/{tags-PXAPGDQB.js → tags-SKGPECNG.js} +3 -3
  262. package/dist/{tags-DHQQ3IWD.js → tags-ZLPLHP2G.js} +3 -3
  263. package/dist/{targeting-criteria-KJMRWCLU.js → targeting-criteria-4C4M3XLJ.js} +3 -3
  264. package/dist/{targets-2H2YUI2I.js → targets-C5K2OH3B.js} +3 -3
  265. package/dist/{testimonials-G6Z327H6.js → testimonials-OJV7EFGS.js} +7 -7
  266. package/dist/{themes-BGBDYQQK.js → themes-C4PPU427.js} +2 -2
  267. package/dist/{top-companies-QY6HO4NF.js → top-companies-IZQOKMBU.js} +3 -3
  268. package/dist/{transcript-LWREF7CB.js → transcript-K6W7VRA5.js} +3 -3
  269. package/dist/{translate-UUDDDYOQ.js → translate-M6W6KZZS.js} +13 -13
  270. package/dist/{triggers-RXUVP5CL.js → triggers-CQFQSODZ.js} +3 -3
  271. package/dist/{unlink-6JN54ATU.js → unlink-ITGOP2YH.js} +3 -3
  272. package/dist/{unstage-WPBGIMDW.js → unstage-EAUF74PI.js} +3 -3
  273. package/dist/{update-KKNDQ6FN.js → update-GX26VDM4.js} +3 -3
  274. package/dist/{update-DCXG3L3J.js → update-HOFM27UT.js} +2 -2
  275. package/dist/{update-OV6PIXJT.js → update-N5NA3JTW.js} +3 -3
  276. package/dist/{update-F6JNU2S2.js → update-PCVDM7HO.js} +3 -3
  277. package/dist/{upload-LSEV74SF.js → upload-3ZGL4WHA.js} +8 -3
  278. package/dist/{upload-LSEV74SF.js.map → upload-3ZGL4WHA.js.map} +1 -1
  279. package/dist/{upload-YY74XE3T.js → upload-SPCZNAUN.js} +13 -6
  280. package/dist/{upload-YY74XE3T.js.map → upload-SPCZNAUN.js.map} +1 -1
  281. package/dist/{url-options-GJ7ZIUPD.js → url-options-C3ZOWN2L.js} +3 -3
  282. package/dist/{url-params-PFZVEDAM.js → url-params-H4LQAYXG.js} +3 -3
  283. package/dist/{use-D3SKAKUU.js → use-HYK67YKZ.js} +2 -2
  284. package/dist/{validate-PL73C4PD.js → validate-XHQ4MIW5.js} +11 -11
  285. package/dist/{videos-DSHCIXAI.js → videos-GY6YCGFH.js} +7 -7
  286. package/dist/{viewer-check-2XOG5HZT.js → viewer-check-UCNIAY7X.js} +6 -6
  287. package/dist/{web-GA6S2AAG.js → web-E7XDCTVJ.js} +3 -3
  288. package/dist/{winning-ads-F6UPR6IO.js → winning-ads-L7FHCD75.js} +3 -3
  289. package/dist/{write-commands-GBMOJMMW.js → write-commands-JESAYUEQ.js} +4 -4
  290. package/dist/{x-QX4JZDM4.js → x-ROAUMBHA.js} +6 -6
  291. package/package.json +1 -1
  292. package/dist/accounts-HJAQTVDA.js.map +0 -1
  293. package/dist/add-CSRB6GVJ.js.map +0 -1
  294. package/dist/changes-OIVPZJHE.js.map +0 -1
  295. package/dist/chunk-6HPTF5YS.js +0 -857
  296. package/dist/chunk-6HPTF5YS.js.map +0 -1
  297. package/dist/chunk-GN623LEL.js.map +0 -1
  298. package/dist/chunk-JPK34QPS.js.map +0 -1
  299. package/dist/chunk-PQ7RLE43.js.map +0 -1
  300. package/dist/chunk-SNWFM2DB.js.map +0 -1
  301. package/dist/meme-NH4DAORT.js.map +0 -1
  302. /package/dist/{account-ICRVGRGT.js.map → account-DUGYQJEM.js.map} +0 -0
  303. /package/dist/{account-reads-T6GTSAXE.js.map → account-reads-GQWTMLTY.js.map} +0 -0
  304. /package/dist/{account-users-ENRQBEV4.js.map → account-users-BXJQ4XZV.js.map} +0 -0
  305. /package/dist/{accounts-MQXVRASU.js.map → accounts-DXQ3DHMB.js.map} +0 -0
  306. /package/dist/{accounts-4ZSFTWKA.js.map → accounts-KXQY6WKR.js.map} +0 -0
  307. /package/dist/{actions-B2GTON6O.js.map → actions-LI43PTFN.js.map} +0 -0
  308. /package/dist/{activecampaign-DCED2LJF.js.map → activecampaign-5A6YHDJW.js.map} +0 -0
  309. /package/dist/{add-JCNXNGDP.js.map → add-W4HEMTFL.js.map} +0 -0
  310. /package/dist/{add-SAPHQL5P.js.map → add-ZSKEB3CI.js.map} +0 -0
  311. /package/dist/{ads-WWZK7UYG.js.map → ads-XXSBCX4B.js.map} +0 -0
  312. /package/dist/{advertisers-FME2ABRB.js.map → advertisers-KPVUVXZZ.js.map} +0 -0
  313. /package/dist/{analytics-5P5DSD5U.js.map → analytics-4WBRNSUC.js.map} +0 -0
  314. /package/dist/{analytics-XQ3X4EAF.js.map → analytics-XT4ANMLP.js.map} +0 -0
  315. /package/dist/{assign-7UGEPUCD.js.map → assign-SQK4UF3I.js.map} +0 -0
  316. /package/dist/{audience-size-VMGWVYVR.js.map → audience-size-5Y5Q6UVA.js.map} +0 -0
  317. /package/dist/{audit-XG6BYA2E.js.map → audit-GOZNIXNM.js.map} +0 -0
  318. /package/dist/{autocomplete-CBOYGT73.js.map → autocomplete-36S76BGA.js.map} +0 -0
  319. /package/dist/{avatars-3GVMDI7P.js.map → avatars-SDQ5LCNG.js.map} +0 -0
  320. /package/dist/{bid-pricing-TRQUA2RV.js.map → bid-pricing-6DFGC6YC.js.map} +0 -0
  321. /package/dist/{brand-E3SSWHCN.js.map → brand-OISTKMY4.js.map} +0 -0
  322. /package/dist/{brief-WLOO3Q5L.js.map → brief-2UXKUTFC.js.map} +0 -0
  323. /package/dist/{campaign-groups-3475EWTI.js.map → campaign-groups-32LDB42N.js.map} +0 -0
  324. /package/dist/{campaign-writes-UIS7E2DP.js.map → campaign-writes-62V55CNW.js.map} +0 -0
  325. /package/dist/{campaigns-OQ6IQKGX.js.map → campaigns-I5GSGZDJ.js.map} +0 -0
  326. /package/dist/{campaigns-LKE7G3YG.js.map → campaigns-OGNE4XHM.js.map} +0 -0
  327. /package/dist/{canvas-W3RF6NGC.js.map → canvas-HGU7FJ34.js.map} +0 -0
  328. /package/dist/{capabilities-HNCOIM5X.js.map → capabilities-EDXVGZXC.js.map} +0 -0
  329. /package/dist/{chats-X6C6DUDX.js.map → chats-HFKSZWZD.js.map} +0 -0
  330. /package/dist/{check-4J2ROARK.js.map → check-GRVUI3LI.js.map} +0 -0
  331. /package/dist/{chunk-WDJIGWL2.js.map → chunk-26UW2GMK.js.map} +0 -0
  332. /package/dist/{chunk-ZGLRYMIR.js.map → chunk-2LGDWOD7.js.map} +0 -0
  333. /package/dist/{chunk-NPBF3YJO.js.map → chunk-37QHT7J4.js.map} +0 -0
  334. /package/dist/{chunk-2UGMSILE.js.map → chunk-5NJQXV4K.js.map} +0 -0
  335. /package/dist/{chunk-PYS733U7.js.map → chunk-724E32DM.js.map} +0 -0
  336. /package/dist/{chunk-SMZRJYV7.js.map → chunk-72JEATZ5.js.map} +0 -0
  337. /package/dist/{chunk-AX5BGR4R.js.map → chunk-72VH4FPY.js.map} +0 -0
  338. /package/dist/{chunk-YUXVZGGB.js.map → chunk-AHZIGJXD.js.map} +0 -0
  339. /package/dist/{chunk-7QRHJJR5.js.map → chunk-AQ6LJ7EI.js.map} +0 -0
  340. /package/dist/{chunk-2NHWXWPB.js.map → chunk-CZTKRP6M.js.map} +0 -0
  341. /package/dist/{chunk-LLBTSJGC.js.map → chunk-DYWKYP7Z.js.map} +0 -0
  342. /package/dist/{chunk-QIMTC2IW.js.map → chunk-EDWW3THE.js.map} +0 -0
  343. /package/dist/{chunk-DZJREPT2.js.map → chunk-G3ZUMNLG.js.map} +0 -0
  344. /package/dist/{chunk-BKLWKZCX.js.map → chunk-GTYVWDCC.js.map} +0 -0
  345. /package/dist/{chunk-2KFN5CS7.js.map → chunk-HHMBHLX6.js.map} +0 -0
  346. /package/dist/{chunk-GQEU6IKZ.js.map → chunk-J6KCVW6N.js.map} +0 -0
  347. /package/dist/{chunk-SDDEECV2.js.map → chunk-KDTSXLY7.js.map} +0 -0
  348. /package/dist/{chunk-6G4CVXIL.js.map → chunk-KE5TI23P.js.map} +0 -0
  349. /package/dist/{chunk-XNGJVOXZ.js.map → chunk-KV4E4KGE.js.map} +0 -0
  350. /package/dist/{chunk-ST5PZM7I.js.map → chunk-KY6Q4WLC.js.map} +0 -0
  351. /package/dist/{chunk-KAOUWSXH.js.map → chunk-LIBSSGE4.js.map} +0 -0
  352. /package/dist/{chunk-DG34CPA6.js.map → chunk-LWN3ZNZU.js.map} +0 -0
  353. /package/dist/{chunk-B5K6KXV2.js.map → chunk-N34A56X7.js.map} +0 -0
  354. /package/dist/{chunk-PU5UKJ33.js.map → chunk-N472TRB4.js.map} +0 -0
  355. /package/dist/{chunk-G4MXOYLJ.js.map → chunk-NPDZ4EO6.js.map} +0 -0
  356. /package/dist/{chunk-OJMALBCI.js.map → chunk-OEH7ANJJ.js.map} +0 -0
  357. /package/dist/{chunk-WP5YCX3O.js.map → chunk-PBKUESJD.js.map} +0 -0
  358. /package/dist/{chunk-GQTSGD5D.js.map → chunk-PZSOJYER.js.map} +0 -0
  359. /package/dist/{chunk-SL2BRBIJ.js.map → chunk-QBCZLD3A.js.map} +0 -0
  360. /package/dist/{chunk-VRTRMQM2.js.map → chunk-QKHH7YNN.js.map} +0 -0
  361. /package/dist/{chunk-ZEK6D6SS.js.map → chunk-SKVQRTDO.js.map} +0 -0
  362. /package/dist/{chunk-CP2A4P2P.js.map → chunk-TXWKDDF6.js.map} +0 -0
  363. /package/dist/{chunk-TS2F2FXW.js.map → chunk-UB34H4VD.js.map} +0 -0
  364. /package/dist/{chunk-WWTTPOVW.js.map → chunk-UZEKIMLY.js.map} +0 -0
  365. /package/dist/{chunk-KPNMSZOM.js.map → chunk-V6N6UBOT.js.map} +0 -0
  366. /package/dist/{chunk-P7ZLJLQH.js.map → chunk-VKYDHIBT.js.map} +0 -0
  367. /package/dist/{chunk-KSQXQMDS.js.map → chunk-WLD443MX.js.map} +0 -0
  368. /package/dist/{chunk-RSLVIXW3.js.map → chunk-WQIHLJAO.js.map} +0 -0
  369. /package/dist/{chunk-BBW7DZPO.js.map → chunk-X2OVFCRC.js.map} +0 -0
  370. /package/dist/{chunk-V3RYJ4K2.js.map → chunk-XGN3BGSL.js.map} +0 -0
  371. /package/dist/{chunk-MDC36LWD.js.map → chunk-YS7T735Q.js.map} +0 -0
  372. /package/dist/{chunk-FHN4QXZN.js.map → chunk-YXUIVOUL.js.map} +0 -0
  373. /package/dist/{claim-RRSGEH6S.js.map → claim-NUUED375.js.map} +0 -0
  374. /package/dist/{companies-L2CN7FG6.js.map → companies-3EKQ6PBV.js.map} +0 -0
  375. /package/dist/{company-JFVUTAVA.js.map → company-35ZI77NI.js.map} +0 -0
  376. /package/dist/{complete-AHUP2SHE.js.map → complete-V2HNULPO.js.map} +0 -0
  377. /package/dist/{connect-HJO52PQR.js.map → connect-77K3A6WK.js.map} +0 -0
  378. /package/dist/{conversation-Q27J7M75.js.map → conversation-MWBPIT4W.js.map} +0 -0
  379. /package/dist/{conversion-upload-command-J2FIO74Y.js.map → conversion-upload-command-U36QYHUT.js.map} +0 -0
  380. /package/dist/{conversions-6N2OWE6G.js.map → conversions-RXNIACU5.js.map} +0 -0
  381. /package/dist/{create-KQUMF4HV.js.map → create-AE52ZZMG.js.map} +0 -0
  382. /package/dist/{create-FWH3WEUW.js.map → create-L53KW6GN.js.map} +0 -0
  383. /package/dist/{create-NJS7I2JX.js.map → create-RJHGT2S4.js.map} +0 -0
  384. /package/dist/{creatives-U4YGQLOG.js.map → creatives-2JP24JNL.js.map} +0 -0
  385. /package/dist/{creatives-4ODU5S2G.js.map → creatives-UPZU7BLY.js.map} +0 -0
  386. /package/dist/{credentials-EJE4L5WS.js.map → credentials-WRC7ERSS.js.map} +0 -0
  387. /package/dist/{critique-6FULD2C7.js.map → critique-CYV7JQAY.js.map} +0 -0
  388. /package/dist/{critique-EALNNGJ3.js.map → critique-VTNN6A5I.js.map} +0 -0
  389. /package/dist/{crm-ONS4PUP5.js.map → crm-2MZLMSEV.js.map} +0 -0
  390. /package/dist/{crm-MSVXNPKM.js.map → crm-VO6ZBW64.js.map} +0 -0
  391. /package/dist/{currency-B5T7TYKD.js.map → currency-XFY2EX72.js.map} +0 -0
  392. /package/dist/{customers-DXOLSUXV.js.map → customers-MHQ72YBY.js.map} +0 -0
  393. /package/dist/{delete-XWD37C4T.js.map → delete-5NEAIDA4.js.map} +0 -0
  394. /package/dist/{delete-U7B4N7UA.js.map → delete-6WKVGKRF.js.map} +0 -0
  395. /package/dist/{delete-ELTUNRSD.js.map → delete-QFASUSVU.js.map} +0 -0
  396. /package/dist/{delete-TN47CJK7.js.map → delete-ULI3MVAD.js.map} +0 -0
  397. /package/dist/{demographics-NGWLHRNF.js.map → demographics-5SXTDRFU.js.map} +0 -0
  398. /package/dist/{discard-SBYNAHJX.js.map → discard-P4PGGYYO.js.map} +0 -0
  399. /package/dist/{discover-SS3PO5Y6.js.map → discover-J5344ATV.js.map} +0 -0
  400. /package/dist/{domain-UGVD7HIA.js.map → domain-RINRCQ5G.js.map} +0 -0
  401. /package/dist/{download-VQCUPJA2.js.map → download-HPYGPNHN.js.map} +0 -0
  402. /package/dist/{draft-3TZYIB5J.js.map → draft-4WPWILSX.js.map} +0 -0
  403. /package/dist/{draft-OA35VOHO.js.map → draft-FWCF4Y6P.js.map} +0 -0
  404. /package/dist/{draft-6V73CF5P.js.map → draft-M7XINDQU.js.map} +0 -0
  405. /package/dist/{draft-EB5ZFDVN.js.map → draft-OIGJUFOH.js.map} +0 -0
  406. /package/dist/{experiments-32DRJBJB.js.map → experiments-NULZPBF2.js.map} +0 -0
  407. /package/dist/{facets-462KAZH7.js.map → facets-HIADYZQQ.js.map} +0 -0
  408. /package/dist/{feedback-AWWQN2MR.js.map → feedback-WEZEKTCH.js.map} +0 -0
  409. /package/dist/{feedback-ME5HYWT5.js.map → feedback-Y4AXR354.js.map} +0 -0
  410. /package/dist/{feedback-record-G6N3MFMC.js.map → feedback-record-YZNGRSNR.js.map} +0 -0
  411. /package/dist/{fetch-HVBXROZY.js.map → fetch-T6WPGAWP.js.map} +0 -0
  412. /package/dist/{fit-XNWSY3ZM.js.map → fit-MLDFA4ZK.js.map} +0 -0
  413. /package/dist/{flows-AX4LSQYT.js.map → flows-XWU2XNYP.js.map} +0 -0
  414. /package/dist/{fonts-AZCIRKB4.js.map → fonts-RV5KUGFE.js.map} +0 -0
  415. /package/dist/{forecast-ALJGK6RQ.js.map → forecast-E5QXQFKQ.js.map} +0 -0
  416. /package/dist/{forecast-XDRKCR65.js.map → forecast-HFCRTFIF.js.map} +0 -0
  417. /package/dist/{funnel-HLYGJU64.js.map → funnel-NMC3JWTF.js.map} +0 -0
  418. /package/dist/{get-KQ46JY6B.js.map → get-AKTMYS57.js.map} +0 -0
  419. /package/dist/{get-ZLCZOCUH.js.map → get-JQE7XWKL.js.map} +0 -0
  420. /package/dist/{get-4NDYA3G6.js.map → get-MK6M4DKF.js.map} +0 -0
  421. /package/dist/{get-JX5JVWH7.js.map → get-QS2A6YVM.js.map} +0 -0
  422. /package/dist/{get-KNP2EQRI.js.map → get-UFCNLDE2.js.map} +0 -0
  423. /package/dist/{google-UJ4YJGTJ.js.map → google-TOO3FDZ6.js.map} +0 -0
  424. /package/dist/{google-ads-DYGNJEIT.js.map → google-ads-AFJV5ZJO.js.map} +0 -0
  425. /package/dist/{history-H2MGZGPB.js.map → history-6RCRBB4Q.js.map} +0 -0
  426. /package/dist/{history-W25VPQ57.js.map → history-T6Y5IR4V.js.map} +0 -0
  427. /package/dist/{hubspot-D3TFC24J.js.map → hubspot-SNLOCDPF.js.map} +0 -0
  428. /package/dist/{ideas-5AEA2RPO.js.map → ideas-VTBVERCN.js.map} +0 -0
  429. /package/dist/{images-WL3KB35N.js.map → images-36DGQZMH.js.map} +0 -0
  430. /package/dist/{ingest-5EFT6PCW.js.map → ingest-OJV3CYYK.js.map} +0 -0
  431. /package/dist/{inspect-4NWXVI4R.js.map → inspect-6P2WNFAC.js.map} +0 -0
  432. /package/dist/{intent-OMSJPOJZ.js.map → intent-PU3XUDLL.js.map} +0 -0
  433. /package/dist/{keyword-gap-3P72T4NV.js.map → keyword-gap-B6T7ZFTZ.js.map} +0 -0
  434. /package/dist/{keyword-metrics-DDY2RDYK.js.map → keyword-metrics-IDMR3ES2.js.map} +0 -0
  435. /package/dist/{keywords-for-site-TFHOM23P.js.map → keywords-for-site-V3SGYZDW.js.map} +0 -0
  436. /package/dist/{landing-PECCKQSW.js.map → landing-7PZPYD3M.js.map} +0 -0
  437. /package/dist/{languages-WWKMRZCH.js.map → languages-ETKG5WM3.js.map} +0 -0
  438. /package/dist/{leads-GUA2XYPF.js.map → leads-TWABHSJH.js.map} +0 -0
  439. /package/dist/{learn-ZRVONGFT.js.map → learn-MXJSGDVI.js.map} +0 -0
  440. /package/dist/{line-item-writes-4FGW42W4.js.map → line-item-writes-2R7VSOWO.js.map} +0 -0
  441. /package/dist/{line-items-BX2D3T6S.js.map → line-items-MY6JP2W6.js.map} +0 -0
  442. /package/dist/{link-JUNNBOUE.js.map → link-LR5LSFTA.js.map} +0 -0
  443. /package/dist/{linkedin-6NRMXGBT.js.map → linkedin-UJEBBO7G.js.map} +0 -0
  444. /package/dist/{linkedin-person-QJ7BREUI.js.map → linkedin-person-5LJEMW54.js.map} +0 -0
  445. /package/dist/{list-DPQMPO2N.js.map → list-5O5NB56G.js.map} +0 -0
  446. /package/dist/{list-4PB3SUMX.js.map → list-6AAKH6UV.js.map} +0 -0
  447. /package/dist/{list-QPTOZWLH.js.map → list-UYQOLFPN.js.map} +0 -0
  448. /package/dist/{locations-P3CUBKYZ.js.map → locations-VPZYTFVK.js.map} +0 -0
  449. /package/dist/{log-O3ABCKXB.js.map → log-LPY5KYGP.js.map} +0 -0
  450. /package/dist/{logo-R34AWI4C.js.map → logo-SBIDRBA2.js.map} +0 -0
  451. /package/dist/{make-DS2JT5N4.js.map → make-UK2OYKCZ.js.map} +0 -0
  452. /package/dist/{map-3RDR7QYX.js.map → map-XEJOI63E.js.map} +0 -0
  453. /package/dist/{mcp-G52VGFAY.js.map → mcp-Y43SKNHV.js.map} +0 -0
  454. /package/dist/{media-sources-GJHD737X.js.map → media-sources-POL5DMD4.js.map} +0 -0
  455. /package/dist/{members-ICR3O2XP.js.map → members-5EJVXTE7.js.map} +0 -0
  456. /package/dist/{metrics-PSXIV4QS.js.map → metrics-J3WD2CUD.js.map} +0 -0
  457. /package/dist/{normalize-WLP2AYUD.js.map → normalize-IOW2V6E7.js.map} +0 -0
  458. /package/dist/{options-G35EJLMF.js.map → options-YD6XFRZV.js.map} +0 -0
  459. /package/dist/{organization-N5XUAYZQ.js.map → organization-KORFOK7Q.js.map} +0 -0
  460. /package/dist/{performance-YT2MD4R6.js.map → performance-BXSNPNC3.js.map} +0 -0
  461. /package/dist/{performance-KHP7T3X7.js.map → performance-Z353JXHB.js.map} +0 -0
  462. /package/dist/{posts-F7NFSUHV.js.map → posts-K3QTBX2B.js.map} +0 -0
  463. /package/dist/{preview-YXDLYCIA.js.map → preview-3UGPTK44.js.map} +0 -0
  464. /package/dist/{promoted-tweet-writes-JTGHVR6D.js.map → promoted-tweet-writes-3D6GG6K4.js.map} +0 -0
  465. /package/dist/{promoted-tweets-HFUAOQLB.js.map → promoted-tweets-BGQJDEQ2.js.map} +0 -0
  466. /package/dist/{query-PC7V3OFF.js.map → query-ZYG5RCCW.js.map} +0 -0
  467. /package/dist/{reddit-3KAMZIPT.js.map → reddit-GPSRX4TI.js.map} +0 -0
  468. /package/dist/{refresh-7EH4WBYS.js.map → refresh-3X45Q6ZM.js.map} +0 -0
  469. /package/dist/{release-JLKYLTRG.js.map → release-PE7KBFGK.js.map} +0 -0
  470. /package/dist/{relevant-pages-3CCAQA5Y.js.map → relevant-pages-7U6I2WPM.js.map} +0 -0
  471. /package/dist/{remove-UW5W5FOH.js.map → remove-2A3XDOKA.js.map} +0 -0
  472. /package/dist/{reopen-JULIHAMN.js.map → reopen-LHMLXG6G.js.map} +0 -0
  473. /package/dist/{research-IZSCSXTD.js.map → research-55XA4Z2O.js.map} +0 -0
  474. /package/dist/{research-M6LXE3VX.js.map → research-JN3JGEEL.js.map} +0 -0
  475. /package/dist/{reset-QHZ3OIS6.js.map → reset-C5SDRQTX.js.map} +0 -0
  476. /package/dist/{reset-WAH4GQSV.js.map → reset-IY7GNRLF.js.map} +0 -0
  477. /package/dist/{resolve-AOZWSUYD.js.map → resolve-PCN7BR7U.js.map} +0 -0
  478. /package/dist/{retry-UQ4OOYEZ.js.map → retry-2KYMH2IV.js.map} +0 -0
  479. /package/dist/{retry-XASANWPI.js.map → retry-KUWJ4GGA.js.map} +0 -0
  480. /package/dist/{revenue-YGPP7K6U.js.map → revenue-CRZRJJ7H.js.map} +0 -0
  481. /package/dist/{rules-V4I5BVKB.js.map → rules-EKOXAK2O.js.map} +0 -0
  482. /package/dist/{rules-add-U2Z56SMZ.js.map → rules-add-IC3SXNYW.js.map} +0 -0
  483. /package/dist/{run-YNVT5DYJ.js.map → run-WUD5U5GY.js.map} +0 -0
  484. /package/dist/{run-M5FRUIAM.js.map → run-Y4SEFETX.js.map} +0 -0
  485. /package/dist/{scaffold-ad-HGI3JCBY.js.map → scaffold-ad-OJ4WOJM6.js.map} +0 -0
  486. /package/dist/{scaffold-video-WEHH3SO6.js.map → scaffold-video-7PDZZSKD.js.map} +0 -0
  487. /package/dist/{schedule-7T2DKJZ3.js.map → schedule-VCL2OPIL.js.map} +0 -0
  488. /package/dist/{scheduled-agents-MKKHCNI6.js.map → scheduled-agents-YAHYCFDA.js.map} +0 -0
  489. /package/dist/{schema-ID4NETCM.js.map → schema-L6DGAUB5.js.map} +0 -0
  490. /package/dist/{search-XYENZFAC.js.map → search-OUJUEORX.js.map} +0 -0
  491. /package/dist/{select-7E6J2FDA.js.map → select-R3NT7OI4.js.map} +0 -0
  492. /package/dist/{set-prompt-BNKY5NSE.js.map → set-prompt-F3SYRT22.js.map} +0 -0
  493. /package/dist/{setup-links-QV3LBVGK.js.map → setup-links-AHWFGUAO.js.map} +0 -0
  494. /package/dist/{shopify-C5I3XHPR.js.map → shopify-BPQCUFFX.js.map} +0 -0
  495. /package/dist/{site-NUQ5DHOQ.js.map → site-KYB2EL72.js.map} +0 -0
  496. /package/dist/{sources-KS44MMM7.js.map → sources-JYOOLCOU.js.map} +0 -0
  497. /package/dist/{sources-IVSFKLP6.js.map → sources-X4URMRLY.js.map} +0 -0
  498. /package/dist/{stale-E32VHTTJ.js.map → stale-KFVY7LSB.js.map} +0 -0
  499. /package/dist/{status-PPTYL45B.js.map → status-YVRZBK56.js.map} +0 -0
  500. /package/dist/{sync-G3LSQL6F.js.map → sync-KJEXXD3P.js.map} +0 -0
  501. /package/dist/{sync-definition-DR6BUB5O.js.map → sync-definition-BQUVWLCC.js.map} +0 -0
  502. /package/dist/{tags-O6LGADB6.js.map → tags-7CEVWFEZ.js.map} +0 -0
  503. /package/dist/{tags-BYLXFP34.js.map → tags-BU4KLB37.js.map} +0 -0
  504. /package/dist/{tags-FMX7R65M.js.map → tags-HKR2GWXV.js.map} +0 -0
  505. /package/dist/{tags-PXAPGDQB.js.map → tags-SKGPECNG.js.map} +0 -0
  506. /package/dist/{tags-DHQQ3IWD.js.map → tags-ZLPLHP2G.js.map} +0 -0
  507. /package/dist/{targeting-criteria-KJMRWCLU.js.map → targeting-criteria-4C4M3XLJ.js.map} +0 -0
  508. /package/dist/{targets-2H2YUI2I.js.map → targets-C5K2OH3B.js.map} +0 -0
  509. /package/dist/{testimonials-G6Z327H6.js.map → testimonials-OJV7EFGS.js.map} +0 -0
  510. /package/dist/{themes-BGBDYQQK.js.map → themes-C4PPU427.js.map} +0 -0
  511. /package/dist/{top-companies-QY6HO4NF.js.map → top-companies-IZQOKMBU.js.map} +0 -0
  512. /package/dist/{transcript-LWREF7CB.js.map → transcript-K6W7VRA5.js.map} +0 -0
  513. /package/dist/{translate-UUDDDYOQ.js.map → translate-M6W6KZZS.js.map} +0 -0
  514. /package/dist/{triggers-RXUVP5CL.js.map → triggers-CQFQSODZ.js.map} +0 -0
  515. /package/dist/{unlink-6JN54ATU.js.map → unlink-ITGOP2YH.js.map} +0 -0
  516. /package/dist/{unstage-WPBGIMDW.js.map → unstage-EAUF74PI.js.map} +0 -0
  517. /package/dist/{update-KKNDQ6FN.js.map → update-GX26VDM4.js.map} +0 -0
  518. /package/dist/{update-DCXG3L3J.js.map → update-HOFM27UT.js.map} +0 -0
  519. /package/dist/{update-OV6PIXJT.js.map → update-N5NA3JTW.js.map} +0 -0
  520. /package/dist/{update-F6JNU2S2.js.map → update-PCVDM7HO.js.map} +0 -0
  521. /package/dist/{url-options-GJ7ZIUPD.js.map → url-options-C3ZOWN2L.js.map} +0 -0
  522. /package/dist/{url-params-PFZVEDAM.js.map → url-params-H4LQAYXG.js.map} +0 -0
  523. /package/dist/{use-D3SKAKUU.js.map → use-HYK67YKZ.js.map} +0 -0
  524. /package/dist/{validate-PL73C4PD.js.map → validate-XHQ4MIW5.js.map} +0 -0
  525. /package/dist/{videos-DSHCIXAI.js.map → videos-GY6YCGFH.js.map} +0 -0
  526. /package/dist/{viewer-check-2XOG5HZT.js.map → viewer-check-UCNIAY7X.js.map} +0 -0
  527. /package/dist/{web-GA6S2AAG.js.map → web-E7XDCTVJ.js.map} +0 -0
  528. /package/dist/{winning-ads-F6UPR6IO.js.map → winning-ads-L7FHCD75.js.map} +0 -0
  529. /package/dist/{write-commands-GBMOJMMW.js.map → write-commands-JESAYUEQ.js.map} +0 -0
  530. /package/dist/{x-QX4JZDM4.js.map → x-ROAUMBHA.js.map} +0 -0
@@ -3,15 +3,21 @@ import {
3
3
  } from "./chunk-Y2FAUFWK.js";
4
4
  import {
5
5
  getFieldDescriptions
6
- } from "./chunk-JPK34QPS.js";
6
+ } from "./chunk-2L24FULD.js";
7
7
  import {
8
8
  LIST_FIELDS,
9
+ NO_OR_EXPLANATION,
10
+ PRESETS,
11
+ SERVING_CHAINS,
9
12
  duringLiteralExplanation,
10
13
  equivalentBetween,
14
+ expandPreset,
15
+ getPreset,
11
16
  isDuringLiteral,
17
+ isInventoryPreset,
12
18
  listFieldGuidance,
13
19
  parseApiError
14
- } from "./chunk-6HPTF5YS.js";
20
+ } from "./chunk-NPGPRZW2.js";
15
21
  import {
16
22
  buildQueryCacheKey,
17
23
  cacheGet,
@@ -38,434 +44,6 @@ import { appendFileSync, existsSync, readFileSync, writeFileSync } from "fs";
38
44
  import { resolve } from "path";
39
45
  import { defineCommand } from "citty";
40
46
 
41
- // src/commands/ads/google/presets.ts
42
- var BETWEEN_RE = /^BETWEEN\s+'[0-9]{4}-[0-9]{2}-[0-9]{2}'\s+AND\s+'[0-9]{4}-[0-9]{2}-[0-9]{2}'$/i;
43
- function isValidDateRange(value) {
44
- const trimmed = value.trim();
45
- return isDuringLiteral(trimmed) || BETWEEN_RE.test(trimmed);
46
- }
47
- function dateRangeError(dateRange, now) {
48
- if (/^[A-Za-z0-9_]+$/.test(dateRange.trim())) {
49
- return `Invalid date range: "${dateRange}". ${duringLiteralExplanation(dateRange, equivalentBetween(dateRange, now))} Pass it as --date-range "BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'".`;
50
- }
51
- return `Invalid date range: "${dateRange}". Use a GAQL date literal (e.g. LAST_30_DAYS, TODAY) or BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'.`;
52
- }
53
- var SERVING_CHAINS = {
54
- keyword_view: ["campaign.status", "ad_group.status", "ad_group_criterion.status"],
55
- ad_group_criterion: ["campaign.status", "ad_group.status", "ad_group_criterion.status"],
56
- ad_group_ad: ["campaign.status", "ad_group.status", "ad_group_ad.status"],
57
- search_term_view: ["campaign.status", "ad_group.status"],
58
- ad_group: ["campaign.status", "ad_group.status"],
59
- asset_group: ["campaign.status", "asset_group.status"],
60
- // An asset link carries its own status, and it is not the campaign's, the ad group's or the asset
61
- // group's. Google returns a REMOVED link like any other row, so a read scoped only to its owners
62
- // lists extensions that are no longer attached to anything — which is what 74 detaches were planned
63
- // from on a live account, every one of them refused at publish as `RESOURCE_NOT_FOUND`.
64
- // `customer_asset` is deliberately absent: one rung, no ancestor to forget.
65
- asset_group_asset: ["campaign.status", "asset_group.status", "asset_group_asset.status"],
66
- campaign_asset: ["campaign.status", "campaign_asset.status"],
67
- ad_group_asset: ["campaign.status", "ad_group.status", "ad_group_asset.status"]
68
- };
69
- var CORE_PRESETS = [
70
- {
71
- name: "campaign-performance",
72
- description: "Campaign-level metrics overview",
73
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, campaign.advertising_channel_type, campaign.bidding_strategy_type, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions, metrics.all_conversions, metrics.conversions_value, metrics.ctr, metrics.average_cpc FROM campaign WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.cost_micros DESC`,
74
- defaultDateRange: "LAST_30_DAYS",
75
- defaultLimit: 200,
76
- statusFields: ["campaign.status"]
77
- },
78
- {
79
- name: "budget-limited",
80
- description: "Campaigns Google reports as limited by budget, with each one's bid target next to its actual cost per conversion \u2014 the state where a target above actual now drives delivery up to the target instead of holding recent cost",
81
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, campaign.advertising_channel_type, campaign.bidding_strategy_type, campaign.primary_status, campaign.primary_status_reasons, campaign.target_cpa.target_cpa_micros, campaign.maximize_conversions.target_cpa_micros, campaign.target_roas.target_roas, campaign.maximize_conversion_value.target_roas, campaign.target_cpc.target_cpc_micros, campaign_budget.amount_micros, metrics.cost_micros, metrics.conversions, metrics.conversions_value, metrics.cost_per_conversion, metrics.search_budget_lost_impression_share FROM campaign WHERE campaign.primary_status_reasons CONTAINS ANY (BUDGET_CONSTRAINED) AND segments.date DURING {dateRange}{statusScope} ORDER BY metrics.cost_micros DESC`,
82
- defaultDateRange: "LAST_30_DAYS",
83
- defaultLimit: 200,
84
- statusFields: ["campaign.status"]
85
- },
86
- {
87
- name: "conversions-by-action",
88
- description: "Which conversion action each campaign's conversions actually are \u2014 the read that says whether two campaigns' conversion rates are measuring the same event",
89
- gaqlTemplate: `SELECT campaign.id, campaign.name, segments.conversion_action_name, segments.conversion_action_category, metrics.conversions, metrics.all_conversions FROM campaign WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.conversions DESC`,
90
- defaultDateRange: "LAST_30_DAYS",
91
- defaultLimit: 200,
92
- statusFields: ["campaign.status"]
93
- },
94
- {
95
- name: "keyword-analysis",
96
- description: "Keyword performance with match type, quality and the first-page, top-of-page and first-position CPC estimates",
97
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ad_group_criterion.criterion_id, ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, ad_group_criterion.status, ad_group_criterion.quality_info.quality_score, ad_group_criterion.position_estimates.first_page_cpc_micros, ad_group_criterion.position_estimates.top_of_page_cpc_micros, ad_group_criterion.position_estimates.first_position_cpc_micros, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions, metrics.all_conversions, metrics.ctr FROM keyword_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.impressions DESC`,
98
- defaultDateRange: "LAST_30_DAYS",
99
- defaultLimit: 200,
100
- statusFields: ["campaign.status", "ad_group.status", "ad_group_criterion.status"]
101
- },
102
- {
103
- name: "keyword-serving",
104
- description: "Why a keyword is limited \u2014 Google Ads' 'Eligible (Limited) / Below first page bid' column, with the first-page bid estimate, the current max CPC and quality score",
105
- gaqlTemplate: `SELECT campaign.id, campaign.name, ad_group.id, ad_group.name, ad_group_criterion.criterion_id, ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, ad_group_criterion.status, ad_group_criterion.primary_status, ad_group_criterion.primary_status_reasons, ad_group_criterion.system_serving_status, ad_group_criterion.approval_status, ad_group_criterion.effective_cpc_bid_micros, ad_group_criterion.effective_cpc_bid_source, ad_group_criterion.position_estimates.first_page_cpc_micros, ad_group_criterion.position_estimates.top_of_page_cpc_micros, ad_group_criterion.quality_info.quality_score, ad_group_criterion.quality_info.creative_quality_score, ad_group_criterion.quality_info.post_click_quality_score, ad_group_criterion.quality_info.search_predicted_ctr FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.negative = FALSE{statusScope} ORDER BY campaign.name`,
106
- defaultDateRange: "ALL_TIME",
107
- defaultLimit: 500,
108
- statusFields: ["campaign.status", "ad_group.status", "ad_group_criterion.status"]
109
- },
110
- {
111
- name: "positive-keywords",
112
- description: "Positive (targeting) keywords only \u2014 excludes negatives",
113
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ad_group_criterion.criterion_id, ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, ad_group_criterion.status, ad_group_criterion.negative FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.negative = FALSE{statusScope} ORDER BY campaign.name`,
114
- defaultDateRange: "ALL_TIME",
115
- defaultLimit: 500,
116
- statusFields: ["campaign.status", "ad_group.status", "ad_group_criterion.status"]
117
- },
118
- {
119
- name: "negative-keywords",
120
- description: "Negative keywords only \u2014 campaign and ad group level",
121
- gaqlTemplate: `SELECT campaign.id, campaign.name, ad_group.name, ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, ad_group_criterion.negative FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.negative = TRUE AND campaign.status != 'REMOVED' ORDER BY campaign.name`,
122
- defaultDateRange: "ALL_TIME",
123
- defaultLimit: 500
124
- },
125
- {
126
- name: "negative-keyword-lists",
127
- description: "Shared negative keyword lists and the terms inside them (SharedSet members), with each member's resource name \u2014 what `negative-keywords remove` / a list-member removal takes",
128
- gaqlTemplate: `SELECT shared_set.id, shared_set.name, shared_criterion.resource_name, shared_criterion.criterion_id, shared_criterion.keyword.text, shared_criterion.keyword.match_type FROM shared_criterion WHERE shared_set.type = 'NEGATIVE_KEYWORDS' AND shared_set.status = 'ENABLED' ORDER BY shared_set.name`,
129
- defaultDateRange: "ALL_TIME",
130
- defaultLimit: 500
131
- },
132
- {
133
- name: "negative-list-attachments",
134
- description: "Which campaigns each shared negative keyword list is attached to",
135
- gaqlTemplate: `SELECT campaign.id, campaign.name, shared_set.id, shared_set.name FROM campaign_shared_set WHERE shared_set.type = 'NEGATIVE_KEYWORDS' AND campaign_shared_set.status = 'ENABLED' ORDER BY campaign.name`,
136
- defaultDateRange: "ALL_TIME",
137
- defaultLimit: 500
138
- },
139
- {
140
- name: "search-terms",
141
- description: "Actual user search queries triggering ads, with the match type that matched them",
142
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.name, ad_group.status, search_term_view.search_term, segments.search_term_match_type, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM search_term_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.impressions DESC`,
143
- defaultDateRange: "LAST_7_DAYS",
144
- defaultLimit: 200,
145
- statusFields: ["campaign.status", "ad_group.status"]
146
- },
147
- {
148
- name: "ad-copy-performance",
149
- description: "Every ad's metrics, with its headlines and descriptions when it is a responsive search ad",
150
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ad_group_ad.ad.id, ad_group_ad.ad.type, ad_group_ad.status, ad_group_ad.ad.responsive_search_ad.headlines, ad_group_ad.ad.responsive_search_ad.descriptions, ad_group_ad.ad.final_urls, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions, metrics.all_conversions, metrics.ctr FROM ad_group_ad WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.impressions DESC`,
151
- defaultDateRange: "LAST_30_DAYS",
152
- defaultLimit: 200,
153
- statusFields: ["campaign.status", "ad_group.status", "ad_group_ad.status"]
154
- },
155
- {
156
- name: "asset-performance",
157
- // `asset_group_asset.performance_label` is gone (v25 answers UNRECOGNIZED_FIELD): Google retired
158
- // the BEST/GOOD/LOW label, so the read is each asset's serving status and its own metrics.
159
- description: "Performance Max assets: serving status and metrics per asset",
160
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, asset_group.name, asset_group.status, asset_group_asset.status, asset_group_asset.field_type, asset_group_asset.primary_status, asset_group_asset.primary_status_reasons, asset.type, asset.text_asset.text, asset.image_asset.full_size.url, metrics.impressions, metrics.clicks, metrics.conversions, metrics.cost_micros FROM asset_group_asset WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX' AND segments.date DURING {dateRange}{statusScope}`,
161
- defaultDateRange: "LAST_30_DAYS",
162
- defaultLimit: 200,
163
- statusFields: ["campaign.status", "asset_group.status", "asset_group_asset.status"]
164
- },
165
- {
166
- name: "shopping-products",
167
- description: "Product-level shopping performance metrics",
168
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, segments.product_title, segments.product_item_id, segments.product_brand, segments.product_type_l1, metrics.clicks, metrics.impressions, metrics.cost_micros, metrics.conversions FROM shopping_performance_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.cost_micros DESC`,
169
- defaultDateRange: "LAST_30_DAYS",
170
- defaultLimit: 200,
171
- statusFields: ["campaign.status"]
172
- },
173
- {
174
- name: "account-summary",
175
- description: "Account-level totals for a date range",
176
- gaqlTemplate: `SELECT customer.id, customer.descriptive_name, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions, metrics.all_conversions, metrics.conversions_value FROM customer WHERE segments.date DURING {dateRange} LIMIT 1`,
177
- defaultDateRange: "LAST_30_DAYS",
178
- defaultLimit: 1
179
- }
180
- ];
181
- var REPORT_PRESETS = [
182
- {
183
- name: "pmax-channels",
184
- description: "Performance Max spend and results split by channel (Search, YouTube, Display, Discover, Gmail, Maps\u2026) \u2014 segments.ad_network_type per campaign",
185
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, segments.ad_network_type, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions, metrics.conversions_value FROM campaign WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX' AND segments.date DURING {dateRange}{statusScope} ORDER BY metrics.cost_micros DESC`,
186
- defaultDateRange: "LAST_30_DAYS",
187
- defaultLimit: 200,
188
- statusFields: ["campaign.status"]
189
- },
190
- {
191
- name: "pmax-placements",
192
- description: "Where Performance Max ads showed on Display / YouTube / apps (Google reports impressions only for these)",
193
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, performance_max_placement_view.display_name, performance_max_placement_view.placement, performance_max_placement_view.placement_type, performance_max_placement_view.target_url, metrics.impressions FROM performance_max_placement_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.impressions DESC`,
194
- defaultDateRange: "LAST_30_DAYS",
195
- defaultLimit: 200,
196
- statusFields: ["campaign.status"]
197
- },
198
- {
199
- name: "placements",
200
- description: "Where Display, Video and Demand Gen ads showed \u2014 each website, app or YouTube video, with cost and conversions (exclusion candidates)",
201
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, detail_placement_view.display_name, detail_placement_view.placement, detail_placement_view.placement_type, detail_placement_view.target_url, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM detail_placement_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.cost_micros DESC`,
202
- defaultDateRange: "LAST_30_DAYS",
203
- defaultLimit: 200,
204
- statusFields: ["campaign.status", "ad_group.status"]
205
- },
206
- {
207
- name: "rsa-assets",
208
- description: "Each responsive search ad headline and description: its text, pin, whether it is enabled, its approval and its own impressions/clicks/conversions",
209
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ad_group_ad.ad.id, ad_group_ad.status, ad_group_ad_asset_view.field_type, ad_group_ad_asset_view.pinned_field, ad_group_ad_asset_view.enabled, ad_group_ad_asset_view.policy_summary, asset.id, asset.text_asset.text, metrics.impressions, metrics.clicks, metrics.conversions FROM ad_group_ad_asset_view WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' AND segments.date DURING {dateRange}{statusScope} ORDER BY metrics.impressions DESC`,
210
- defaultDateRange: "LAST_30_DAYS",
211
- defaultLimit: 500,
212
- statusFields: ["campaign.status", "ad_group.status", "ad_group_ad.status"]
213
- },
214
- {
215
- name: "landing-pages",
216
- description: "Final URLs as written on the ads, with clicks, cost, conversions, mobile-friendly click share and speed score",
217
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, landing_page_view.unexpanded_final_url, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions, metrics.mobile_friendly_clicks_percentage, metrics.speed_score FROM landing_page_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.clicks DESC`,
218
- defaultDateRange: "LAST_30_DAYS",
219
- defaultLimit: 200,
220
- statusFields: ["campaign.status"]
221
- },
222
- {
223
- name: "geo-performance",
224
- description: "Results by country and location type (people IN vs INTERESTED IN the place) per campaign \u2014 the read behind a Presence vs Presence-or-interest decision",
225
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, geographic_view.country_criterion_id, geographic_view.location_type, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM geographic_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.cost_micros DESC`,
226
- defaultDateRange: "LAST_30_DAYS",
227
- defaultLimit: 200,
228
- statusFields: ["campaign.status"]
229
- },
230
- {
231
- name: "age-performance",
232
- description: "Results by age range per ad group",
233
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ad_group_criterion.age_range.type, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM age_range_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.cost_micros DESC`,
234
- defaultDateRange: "LAST_30_DAYS",
235
- defaultLimit: 200,
236
- statusFields: ["campaign.status", "ad_group.status"]
237
- },
238
- {
239
- name: "gender-performance",
240
- description: "Results by gender per ad group",
241
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ad_group_criterion.gender.type, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM gender_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.cost_micros DESC`,
242
- defaultDateRange: "LAST_30_DAYS",
243
- defaultLimit: 200,
244
- statusFields: ["campaign.status", "ad_group.status"]
245
- },
246
- {
247
- name: "ai-max-search-terms",
248
- description: "AI Max for Search: each search term with the headline and landing page Google generated or chose for it, with results",
249
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ai_max_search_term_ad_combination_view.search_term, ai_max_search_term_ad_combination_view.headline, ai_max_search_term_ad_combination_view.landing_page, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM ai_max_search_term_ad_combination_view WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.impressions DESC`,
250
- defaultDateRange: "LAST_30_DAYS",
251
- defaultLimit: 200,
252
- statusFields: ["campaign.status", "ad_group.status"]
253
- },
254
- {
255
- name: "bidding-strategy-performance",
256
- description: "Each portfolio bidding strategy's type, status, targets and metrics",
257
- gaqlTemplate: `SELECT bidding_strategy.id, bidding_strategy.name, bidding_strategy.type, bidding_strategy.status, bidding_strategy.campaign_count, bidding_strategy.target_cpa.target_cpa_micros, bidding_strategy.target_roas.target_roas, bidding_strategy.maximize_conversions.target_cpa_micros, bidding_strategy.maximize_conversion_value.target_roas, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions, metrics.all_conversions, metrics.conversions_value FROM bidding_strategy WHERE segments.date DURING {dateRange}{statusScope} ORDER BY metrics.cost_micros DESC`,
258
- defaultDateRange: "LAST_30_DAYS",
259
- defaultLimit: 200,
260
- statusFields: ["bidding_strategy.status"]
261
- },
262
- {
263
- name: "conversion-tags",
264
- description: "The tracking code of each website and call conversion action: the Google tag and the event snippet to put on the site",
265
- gaqlTemplate: `SELECT conversion_action.id, conversion_action.name, conversion_action.type, conversion_action.status, conversion_action.tag_snippets FROM conversion_action WHERE conversion_action.type IN ('WEBPAGE', 'WEBPAGE_CODELESS', 'WEBSITE_CALL') AND conversion_action.status != 'REMOVED' ORDER BY conversion_action.name`,
266
- defaultDateRange: "ALL_TIME",
267
- defaultLimit: 50
268
- },
269
- {
270
- name: "account-budget",
271
- description: "The account budget (invoiced billing): approved spending limit, served amount, dates and any pending change \u2014 read-only",
272
- gaqlTemplate: `SELECT account_budget.id, account_budget.name, account_budget.status, account_budget.billing_setup, account_budget.approved_spending_limit_micros, account_budget.approved_spending_limit_type, account_budget.amount_served_micros, account_budget.total_adjustments_micros, account_budget.approved_start_date_time, account_budget.approved_end_date_time, account_budget.pending_proposal.proposal_type, account_budget.pending_proposal.spending_limit_micros FROM account_budget ORDER BY account_budget.approved_start_date_time DESC`,
273
- defaultDateRange: "ALL_TIME",
274
- defaultLimit: 50
275
- },
276
- {
277
- name: "recommendations",
278
- description: "Google's open recommendations (not dismissed): type, the campaign/ad group it targets, and its estimated impact",
279
- gaqlTemplate: `SELECT recommendation.resource_name, recommendation.type, recommendation.campaign, recommendation.ad_group, recommendation.impact FROM recommendation WHERE recommendation.dismissed = FALSE`,
280
- defaultDateRange: "ALL_TIME",
281
- defaultLimit: 200
282
- },
283
- {
284
- name: "campaign-simulations",
285
- description: "Google's what-if curves per campaign \u2014 budget, target CPA / ROAS, CPC bid or target impression share against the clicks, cost and conversions Google predicts",
286
- gaqlTemplate: `SELECT campaign_simulation.campaign_id, campaign_simulation.type, campaign_simulation.modification_method, campaign_simulation.start_date, campaign_simulation.end_date, campaign_simulation.budget_point_list.points, campaign_simulation.target_cpa_point_list.points, campaign_simulation.target_roas_point_list.points, campaign_simulation.cpc_bid_point_list.points, campaign_simulation.target_impression_share_point_list.points FROM campaign_simulation`,
287
- defaultDateRange: "ALL_TIME",
288
- defaultLimit: 200
289
- },
290
- {
291
- name: "keyword-bid-simulations",
292
- description: "Google's what-if curve per keyword: CPC bid against predicted clicks, cost and impressions",
293
- gaqlTemplate: `SELECT ad_group_criterion_simulation.ad_group_id, ad_group_criterion_simulation.criterion_id, ad_group_criterion_simulation.type, ad_group_criterion_simulation.start_date, ad_group_criterion_simulation.end_date, ad_group_criterion_simulation.cpc_bid_point_list.points FROM ad_group_criterion_simulation`,
294
- defaultDateRange: "ALL_TIME",
295
- defaultLimit: 200
296
- }
297
- ];
298
- var INVENTORY_PRESETS = [
299
- {
300
- name: "campaigns",
301
- description: "Every campaign: id, name, status, channel, bidding, budget and dates",
302
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, campaign.primary_status, campaign.advertising_channel_type, campaign.advertising_channel_sub_type, campaign.bidding_strategy_type, campaign.bidding_strategy, campaign.campaign_budget, campaign_budget.amount_micros, campaign.start_date_time, campaign.end_date_time FROM campaign{statusWhere} ORDER BY campaign.name`,
303
- defaultDateRange: "ALL_TIME",
304
- defaultLimit: 200,
305
- statusFields: ["campaign.status"]
306
- },
307
- {
308
- name: "budgets",
309
- description: "Every campaign budget: id, name, daily amount, delivery, whether it is shared and how many campaigns use it",
310
- gaqlTemplate: `SELECT campaign_budget.id, campaign_budget.name, campaign_budget.status, campaign_budget.amount_micros, campaign_budget.delivery_method, campaign_budget.explicitly_shared, campaign_budget.reference_count FROM campaign_budget WHERE campaign_budget.status != 'REMOVED' ORDER BY campaign_budget.name`,
311
- defaultDateRange: "ALL_TIME",
312
- defaultLimit: 200
313
- },
314
- {
315
- name: "ad-groups",
316
- description: "Every ad group: id, name, status, type and default CPC bid, under its campaign",
317
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ad_group.type, ad_group.cpc_bid_micros FROM ad_group{statusWhere} ORDER BY campaign.name`,
318
- defaultDateRange: "ALL_TIME",
319
- defaultLimit: 500,
320
- statusFields: ["campaign.status", "ad_group.status"]
321
- },
322
- {
323
- name: "keywords",
324
- description: "Every positive keyword: resource name, text, match type, status, bid and final URL \u2014 `keywords update|remove` take the resource name",
325
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ad_group_criterion.resource_name, ad_group_criterion.criterion_id, ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, ad_group_criterion.status, ad_group_criterion.negative, ad_group_criterion.cpc_bid_micros, ad_group_criterion.final_urls FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.negative = FALSE{statusScope} ORDER BY campaign.name`,
326
- defaultDateRange: "ALL_TIME",
327
- defaultLimit: 500,
328
- statusFields: ["campaign.status", "ad_group.status", "ad_group_criterion.status"]
329
- },
330
- {
331
- name: "campaign-negative-keywords",
332
- description: "Campaign-level negative keywords with the resource name `negative-keywords remove` takes",
333
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, campaign_criterion.resource_name, campaign_criterion.keyword.text, campaign_criterion.keyword.match_type FROM campaign_criterion WHERE campaign_criterion.type = 'KEYWORD' AND campaign_criterion.negative = TRUE AND campaign_criterion.status != 'REMOVED' AND campaign.status != 'REMOVED' ORDER BY campaign.name`,
334
- defaultDateRange: "ALL_TIME",
335
- defaultLimit: 500
336
- },
337
- {
338
- name: "ad-group-negative-keywords",
339
- description: "Ad-group-level negative keywords with the resource name `negative-keywords remove` takes",
340
- gaqlTemplate: `SELECT campaign.id, campaign.name, ad_group.id, ad_group.name, ad_group_criterion.resource_name, ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, ad_group_criterion.negative FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.negative = TRUE AND ad_group_criterion.status != 'REMOVED' AND ad_group.status != 'REMOVED' AND campaign.status != 'REMOVED' ORDER BY campaign.name`,
341
- defaultDateRange: "ALL_TIME",
342
- defaultLimit: 500
343
- },
344
- {
345
- name: "shared-sets",
346
- description: "Every shared list (negative keyword / placement lists): id, name, type, member count and how many campaigns use it",
347
- gaqlTemplate: `SELECT shared_set.id, shared_set.name, shared_set.type, shared_set.status, shared_set.member_count, shared_set.reference_count FROM shared_set WHERE shared_set.status != 'REMOVED' ORDER BY shared_set.name`,
348
- defaultDateRange: "ALL_TIME",
349
- defaultLimit: 200
350
- },
351
- {
352
- name: "ads",
353
- description: "Every ad: id, type, name, status, approval and final URLs, under its ad group",
354
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, ad_group.id, ad_group.name, ad_group.status, ad_group_ad.resource_name, ad_group_ad.ad.id, ad_group_ad.ad.type, ad_group_ad.ad.name, ad_group_ad.status, ad_group_ad.policy_summary.approval_status, ad_group_ad.ad.final_urls FROM ad_group_ad{statusWhere} ORDER BY campaign.name`,
355
- defaultDateRange: "ALL_TIME",
356
- defaultLimit: 500,
357
- statusFields: ["campaign.status", "ad_group.status", "ad_group_ad.status"]
358
- },
359
- {
360
- name: "assets",
361
- description: "Every asset in the account library: id, name, type, text and final URLs",
362
- gaqlTemplate: `SELECT asset.id, asset.name, asset.type, asset.text_asset.text, asset.sitelink_asset.link_text, asset.callout_asset.callout_text, asset.image_asset.full_size.url, asset.youtube_video_asset.youtube_video_id, asset.final_urls FROM asset ORDER BY asset.type`,
363
- defaultDateRange: "ALL_TIME",
364
- defaultLimit: 500
365
- },
366
- {
367
- name: "asset-groups",
368
- description: "Every Performance Max asset group: id, name, status, final URLs and strength, under its campaign",
369
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, asset_group.resource_name, asset_group.id, asset_group.name, asset_group.status, asset_group.final_urls, asset_group.ad_strength FROM asset_group{statusWhere} ORDER BY campaign.name`,
370
- defaultDateRange: "ALL_TIME",
371
- defaultLimit: 200,
372
- statusFields: ["campaign.status", "asset_group.status"]
373
- },
374
- {
375
- name: "audiences",
376
- description: "Every audience (user list): id, name, type, membership status, size on search and display, membership duration",
377
- gaqlTemplate: `SELECT user_list.id, user_list.name, user_list.type, user_list.membership_status, user_list.size_for_search, user_list.size_for_display, user_list.membership_life_span, user_list.eligible_for_search, user_list.eligible_for_display FROM user_list ORDER BY user_list.name`,
378
- defaultDateRange: "ALL_TIME",
379
- defaultLimit: 200
380
- },
381
- {
382
- name: "conversion-actions",
383
- description: "Every conversion action: id, name, type, category, origin, status, primary or secondary, counting",
384
- gaqlTemplate: `SELECT conversion_action.id, conversion_action.name, conversion_action.type, conversion_action.category, conversion_action.origin, conversion_action.status, conversion_action.primary_for_goal, conversion_action.counting_type FROM conversion_action WHERE conversion_action.status != 'REMOVED' ORDER BY conversion_action.name`,
385
- defaultDateRange: "ALL_TIME",
386
- defaultLimit: 200
387
- },
388
- {
389
- name: "bidding-strategies",
390
- description: "Every portfolio bidding strategy: id, name, type, status and how many campaigns use it",
391
- gaqlTemplate: `SELECT bidding_strategy.id, bidding_strategy.name, bidding_strategy.type, bidding_strategy.status, bidding_strategy.campaign_count FROM bidding_strategy WHERE bidding_strategy.status != 'REMOVED' ORDER BY bidding_strategy.name`,
392
- defaultDateRange: "ALL_TIME",
393
- defaultLimit: 200
394
- },
395
- {
396
- name: "labels",
397
- description: "Every label: id, name, colour and description",
398
- gaqlTemplate: `SELECT label.id, label.name, label.status, label.text_label.background_color, label.text_label.description FROM label WHERE label.status != 'REMOVED' ORDER BY label.name`,
399
- defaultDateRange: "ALL_TIME",
400
- defaultLimit: 200
401
- },
402
- {
403
- name: "merchant-center",
404
- description: "Merchant Center accounts linked to this Google Ads account \u2014 the merchantId a Shopping or retail Performance Max campaign names",
405
- gaqlTemplate: `SELECT product_link.resource_name, product_link.product_link_id, product_link.type, product_link.merchant_center.merchant_center_id FROM product_link WHERE product_link.type = 'MERCHANT_CENTER'`,
406
- defaultDateRange: "ALL_TIME",
407
- defaultLimit: 200
408
- },
409
- {
410
- name: "campaign-criteria",
411
- description: "Every campaign targeting criterion and exclusion \u2014 locations, languages, devices, ad schedules, radius, carriers, operating systems, placements, topics, demographics, content types, IP addresses, web pages, brand lists, audiences \u2014 with the resource name `campaign-criteria update|remove` takes",
412
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, campaign.advertising_channel_type, campaign_criterion.resource_name, campaign_criterion.type, campaign_criterion.negative, campaign_criterion.bid_modifier, campaign_criterion.location.geo_target_constant, campaign_criterion.language.language_constant, campaign_criterion.device.type, campaign_criterion.ad_schedule.day_of_week, campaign_criterion.ad_schedule.start_hour, campaign_criterion.ad_schedule.end_hour, campaign_criterion.proximity.radius, campaign_criterion.placement.url, campaign_criterion.mobile_application.app_id, campaign_criterion.youtube_channel.channel_id, campaign_criterion.youtube_video.video_id, campaign_criterion.topic.topic_constant, campaign_criterion.age_range.type, campaign_criterion.gender.type, campaign_criterion.income_range.type, campaign_criterion.parental_status.type, campaign_criterion.content_label.type, campaign_criterion.ip_block.ip_address, campaign_criterion.webpage.criterion_name, campaign_criterion.brand_list.shared_set, campaign_criterion.carrier.carrier_constant, campaign_criterion.operating_system_version.operating_system_version_constant, campaign_criterion.user_list.user_list, campaign_criterion.user_interest.user_interest_category FROM campaign_criterion WHERE campaign_criterion.type != 'KEYWORD' AND campaign_criterion.status != 'REMOVED' AND campaign.status != 'REMOVED' ORDER BY campaign.name`,
413
- defaultDateRange: "ALL_TIME",
414
- defaultLimit: 500
415
- },
416
- {
417
- name: "ad-group-criteria",
418
- description: "Every ad group targeting criterion and exclusion other than keywords \u2014 placements, apps, YouTube, topics, demographics, web pages, Demand Gen locations, languages and audience, audiences \u2014 with its bid adjustment, max CPC, status and the resource name `ad-group-criteria update|remove` takes",
419
- gaqlTemplate: `SELECT campaign.id, campaign.name, campaign.status, campaign.advertising_channel_type, ad_group.id, ad_group.name, ad_group.status, ad_group_criterion.resource_name, ad_group_criterion.type, ad_group_criterion.negative, ad_group_criterion.status, ad_group_criterion.bid_modifier, ad_group_criterion.cpc_bid_micros, ad_group_criterion.placement.url, ad_group_criterion.mobile_application.app_id, ad_group_criterion.youtube_channel.channel_id, ad_group_criterion.youtube_video.video_id, ad_group_criterion.topic.topic_constant, ad_group_criterion.age_range.type, ad_group_criterion.gender.type, ad_group_criterion.parental_status.type, ad_group_criterion.income_range.type, ad_group_criterion.webpage.criterion_name, ad_group_criterion.location.geo_target_constant, ad_group_criterion.language.language_constant, ad_group_criterion.audience.audience, ad_group_criterion.brand_list.shared_set, ad_group_criterion.user_list.user_list, ad_group_criterion.user_interest.user_interest_category FROM ad_group_criterion WHERE ad_group_criterion.type NOT IN ('KEYWORD', 'LISTING_GROUP'){statusScope} ORDER BY campaign.name`,
420
- defaultDateRange: "ALL_TIME",
421
- defaultLimit: 500,
422
- statusFields: ["campaign.status", "ad_group.status", "ad_group_criterion.status"]
423
- },
424
- {
425
- name: "account-exclusions",
426
- description: "Every account-wide exclusion \u2014 sites, apps, app categories, YouTube, content types, IP addresses, account negative keyword lists \u2014 with the resource name `account-exclusions remove` takes",
427
- gaqlTemplate: `SELECT customer_negative_criterion.resource_name, customer_negative_criterion.type, customer_negative_criterion.placement.url, customer_negative_criterion.mobile_application.app_id, customer_negative_criterion.mobile_app_category.mobile_app_category_constant, customer_negative_criterion.youtube_channel.channel_id, customer_negative_criterion.youtube_video.video_id, customer_negative_criterion.content_label.type, customer_negative_criterion.ip_block.ip_address, customer_negative_criterion.negative_keyword_list.shared_set FROM customer_negative_criterion`,
428
- defaultDateRange: "ALL_TIME",
429
- defaultLimit: 500
430
- },
431
- {
432
- name: "asset-group-signals",
433
- description: "Every Performance Max asset group's signals \u2014 search themes and the combined audience \u2014 under its campaign and group, with the resource name `asset-group-signals remove` takes",
434
- gaqlTemplate: `SELECT campaign.id, campaign.name, asset_group.id, asset_group.name, asset_group_signal.resource_name, asset_group_signal.search_theme.text, asset_group_signal.audience.audience, asset_group_signal.approval_status FROM asset_group_signal WHERE campaign.status != 'REMOVED' AND asset_group.status != 'REMOVED' ORDER BY campaign.name`,
435
- defaultDateRange: "ALL_TIME",
436
- defaultLimit: 500
437
- },
438
- {
439
- name: "ad-group-bid-modifiers",
440
- description: "Every ad group's own device bid adjustment, with the resource name `ad-group-bid-modifiers update|remove` takes",
441
- gaqlTemplate: `SELECT campaign.id, campaign.name, ad_group.id, ad_group.name, ad_group_bid_modifier.resource_name, ad_group_bid_modifier.device.type, ad_group_bid_modifier.bid_modifier FROM ad_group_bid_modifier WHERE campaign.status != 'REMOVED' AND ad_group.status != 'REMOVED' ORDER BY campaign.name`,
442
- defaultDateRange: "ALL_TIME",
443
- defaultLimit: 500
444
- }
445
- ];
446
- var PRESETS = [...CORE_PRESETS, ...REPORT_PRESETS, ...INVENTORY_PRESETS];
447
- function isInventoryPreset(name) {
448
- return INVENTORY_PRESETS.some((preset) => preset.name === name);
449
- }
450
- function getPreset(name) {
451
- return PRESETS.find((p) => p.name === name);
452
- }
453
- function buildStatusScope(statusFields, includePaused) {
454
- if (!statusFields || statusFields.length === 0) return "";
455
- const predicate = includePaused ? "!= 'REMOVED'" : "= 'ENABLED'";
456
- return statusFields.map((field) => ` AND ${field} ${predicate}`).join("");
457
- }
458
- function expandPreset(preset, params, now = /* @__PURE__ */ new Date()) {
459
- const dateRange = params.dateRange ?? preset.defaultDateRange;
460
- if (preset.gaqlTemplate.includes("{dateRange}") && !isValidDateRange(dateRange)) {
461
- return { query: "", dateRangeError: dateRangeError(dateRange, now) };
462
- }
463
- const statusScope = buildStatusScope(preset.statusFields, params.includePaused ?? false);
464
- const range = dateRange.trim();
465
- const query = preset.gaqlTemplate.replace(/DURING\s+\{dateRange\}/g, BETWEEN_RE.test(range) ? range : `DURING ${range}`).replace(/\{dateRange\}/g, range).replace(/\{statusScope\}/g, statusScope).replace(/\{statusWhere\}/g, statusScope ? ` WHERE${statusScope.replace(/^ AND/, "")}` : "");
466
- return { query };
467
- }
468
-
469
47
  // src/commands/ads/google/preflight.ts
470
48
  function buildCommand(query, customerId) {
471
49
  return `baker ads google query "${query}" --customer-id ${customerId}`;
@@ -661,7 +239,7 @@ function asListCondition(query, field) {
661
239
  return query.replace(condition, `${field} ${contains} ${values}`);
662
240
  }
663
241
  function rejectListFieldOperator(query, customerId) {
664
- const where = whereClause(query).replace(/'[^']*'/g, "''");
242
+ const where = whereClause(query).replace(/'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"/g, "''");
665
243
  const refusals = [...where.matchAll(WHERE_OPERATOR)].map(([, field = "", operator = ""]) => ({
666
244
  field: field.toLowerCase(),
667
245
  operator: operator.toUpperCase().replace(/\s+/g, " ")
@@ -706,6 +284,21 @@ function rejectContainsCall(query, customerId) {
706
284
  }
707
285
  };
708
286
  }
287
+ function rejectOrCondition(query) {
288
+ const where = whereClause(query).replace(/'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"/g, "''");
289
+ const hasOr = /(?<![\w.])OR(?![\w.])/i.test(where);
290
+ const hasGroup = /(?:^|\bAND|\bNOT)\s*\(/i.test(where);
291
+ if (!hasOr && !hasGroup) return null;
292
+ return {
293
+ ok: false,
294
+ error: {
295
+ code: "INVALID_SYNTAX",
296
+ message: `${hasOr ? "OR" : "A parenthesised condition"} in WHERE: Google would refuse this query.`,
297
+ fix: { action: "retry_with_modified_query", explanation: NO_OR_EXPLANATION },
298
+ retryable: false
299
+ }
300
+ };
301
+ }
709
302
  function validatePreflight(query, customerId) {
710
303
  const warnings = [];
711
304
  const corrected = query;
@@ -754,7 +347,7 @@ function validatePreflight(query, customerId) {
754
347
  }
755
348
  };
756
349
  }
757
- for (const reject of [rejectContainsCall, rejectListFieldOperator, rejectUnsupportedDuring]) {
350
+ for (const reject of [rejectContainsCall, rejectOrCondition, rejectListFieldOperator, rejectUnsupportedDuring]) {
758
351
  const rejection2 = reject(corrected, customerId);
759
352
  if (rejection2) return { valid: false, warnings: [], error: rejection2 };
760
353
  }
@@ -1643,4 +1236,4 @@ export {
1643
1236
  runQuery,
1644
1237
  queryCommand
1645
1238
  };
1646
- //# sourceMappingURL=chunk-PQ7RLE43.js.map
1239
+ //# sourceMappingURL=chunk-HNELOMY2.js.map