@koda-sl/baker-cli 0.495.0-dev.6b9c22aff → 0.495.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 (860) hide show
  1. package/README.md +1 -5
  2. package/dist/account-EF6OPUJT.js +80 -0
  3. package/dist/account-UHNR5KTE.js +79 -0
  4. package/dist/account-reads-CDZ3EL5D.js +218 -0
  5. package/dist/account-writes-VWU4FRGQ.js +66 -0
  6. package/dist/accounts-KMLXHADA.js +77 -0
  7. package/dist/accounts-QDGNTSTV.js +611 -0
  8. package/dist/actions-QL5UD2W4.js +55 -0
  9. package/dist/activecampaign-5OD45ROS.js +935 -0
  10. package/dist/ad-group-writes-ID6I3QUZ.js +170 -0
  11. package/dist/ad-groups-M7CV6NTH.js +68 -0
  12. package/dist/ad-writes-TSOAZYRE.js +174 -0
  13. package/dist/add-6K6LO7CM.js +104 -0
  14. package/dist/add-LYDJZDGO.js +302 -0
  15. package/dist/ads-CGLO73MH.js +77 -0
  16. package/dist/ads-DHPJFU52.js +40 -0
  17. package/dist/advertisers-23LU7GTV.js +120 -0
  18. package/dist/analytics-DVD4OBBR.js +1976 -0
  19. package/dist/analytics-HO2SLL4W.js +433 -0
  20. package/dist/animate-RGZWDZG2.js +480 -0
  21. package/dist/assign-CLKJKH2B.js +77 -0
  22. package/dist/audience-size-NNYYXODL.js +73 -0
  23. package/dist/audiences-WXIP5PJH.js +268 -0
  24. package/dist/audit-KB4P2XGS.js +151 -0
  25. package/dist/autocomplete-VZD2SMTE.js +111 -0
  26. package/dist/avatars-FKOO6VZ2.js +38 -0
  27. package/dist/bid-pricing-6LLXOLLI.js +100 -0
  28. package/dist/brand-NNWHBIAX.js +22 -0
  29. package/dist/brief-CPJQWT6W.js +538 -0
  30. package/dist/campaign-groups-YPYNXOWU.js +95 -0
  31. package/dist/campaign-groups-YPYNXOWU.js.map +1 -0
  32. package/dist/campaign-writes-UJ4L2O6G.js +165 -0
  33. package/dist/campaign-writes-W5IL6ZGB.js +170 -0
  34. package/dist/campaigns-FLTPD66X.js +76 -0
  35. package/dist/campaigns-HLBZRH5A.js +107 -0
  36. package/dist/campaigns-N44ZDGB5.js +109 -0
  37. package/dist/campaigns-N44ZDGB5.js.map +1 -0
  38. package/dist/canvas-D64GLWUO.js +46 -0
  39. package/dist/capabilities-LWXCWMIY.js +144 -0
  40. package/dist/catalog-ZDLQAODO.js +65 -0
  41. package/dist/catalogs-26VXVUST.js +128 -0
  42. package/dist/changes-SX2N5KIO.js +135 -0
  43. package/dist/chatgpt-YI6YNACI.js +47 -0
  44. package/dist/chats-7WGC2CVW.js +276 -0
  45. package/dist/check-EH6BXWWL.js +104 -0
  46. package/dist/chunk-2B772ZEA.js +169 -0
  47. package/dist/chunk-2KRK667G.js +51 -0
  48. package/dist/chunk-2TVXJPGR.js +103 -0
  49. package/dist/chunk-3AMLOCXY.js +392 -0
  50. package/dist/chunk-3N5A44NQ.js +122 -0
  51. package/dist/chunk-3S274625.js +131 -0
  52. package/dist/chunk-3WAYZQNV.js +61 -0
  53. package/dist/chunk-5A257KJA.js +160 -0
  54. package/dist/chunk-6QGS3RQP.js +363 -0
  55. package/dist/chunk-7KHTJQGV.js +1518 -0
  56. package/dist/chunk-A3DKSAEL.js +1606 -0
  57. package/dist/chunk-A4DZ5L3T.js +665 -0
  58. package/dist/chunk-ACDLKTUP.js +23992 -0
  59. package/dist/chunk-ACDLKTUP.js.map +1 -0
  60. package/dist/chunk-AFD32O4A.js +494 -0
  61. package/dist/chunk-AW2GKIGS.js +433 -0
  62. package/dist/chunk-B7GF34FU.js +8914 -0
  63. package/dist/chunk-BDYLILMW.js +150 -0
  64. package/dist/chunk-DAO63OOP.js +6352 -0
  65. package/dist/chunk-DAO63OOP.js.map +1 -0
  66. package/dist/chunk-EJ4QCMM6.js +285 -0
  67. package/dist/chunk-EMQUW6JB.js +942 -0
  68. package/dist/chunk-EW3JEKIV.js +139 -0
  69. package/dist/chunk-F377KYIM.js +274 -0
  70. package/dist/chunk-FBFWMTOP.js +19 -0
  71. package/dist/chunk-FCM6VPFP.js +98 -0
  72. package/dist/chunk-FKYPAGKK.js +1919 -0
  73. package/dist/chunk-GXGYTFZA.js +8939 -0
  74. package/dist/chunk-I7J7YQXZ.js +142 -0
  75. package/dist/chunk-IBY44U2M.js +1079 -0
  76. package/dist/chunk-IFXGCI33.js +297 -0
  77. package/dist/chunk-IKLHXGMF.js +91 -0
  78. package/dist/chunk-IYTPWAN3.js +604 -0
  79. package/dist/chunk-J3CWAERS.js +3868 -0
  80. package/dist/chunk-JAC6JVCI.js +26 -0
  81. package/dist/chunk-JH2L5CQD.js +206 -0
  82. package/dist/chunk-JUVVCA7B.js +97 -0
  83. package/dist/chunk-MCJ5I5LR.js +3187 -0
  84. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  85. package/dist/chunk-MK6XJUCQ.js +197 -0
  86. package/dist/chunk-MOFMOYUA.js +148 -0
  87. package/dist/chunk-MZPS46OR.js +76 -0
  88. package/dist/chunk-N3I6ZXR7.js +66 -0
  89. package/dist/chunk-NBO2NSAW.js +592 -0
  90. package/dist/chunk-NEU5QD2C.js +249 -0
  91. package/dist/chunk-NKIBXOHT.js +344 -0
  92. package/dist/chunk-NZKBW4YB.js +846 -0
  93. package/dist/chunk-OE3MIV4F.js +547 -0
  94. package/dist/chunk-OL7JS4NG.js +5368 -0
  95. package/dist/chunk-P2MFWJR3.js +903 -0
  96. package/dist/chunk-PHCIFBP3.js +89 -0
  97. package/dist/chunk-PTUXBO5O.js +224 -0
  98. package/dist/chunk-Q3LXLWZY.js +275 -0
  99. package/dist/chunk-Q5WBTVA7.js +455 -0
  100. package/dist/chunk-QMOYQJIN.js +46 -0
  101. package/dist/chunk-QRLTVJ6F.js +167 -0
  102. package/dist/chunk-RDEAVCMF.js +399 -0
  103. package/dist/chunk-RGMKXNQP.js +23 -0
  104. package/dist/chunk-RJZS4XDJ.js +64 -0
  105. package/dist/chunk-RZTKCCUL.js +831 -0
  106. package/dist/chunk-S4VLLGTW.js +843 -0
  107. package/dist/chunk-SVM3DGAQ.js +228 -0
  108. package/dist/chunk-TTKBNBQF.js +156 -0
  109. package/dist/chunk-VB3XUR6A.js +207 -0
  110. package/dist/chunk-WTJSMYY2.js +4249 -0
  111. package/dist/chunk-WTJSMYY2.js.map +1 -0
  112. package/dist/chunk-XCKINS7K.js +57 -0
  113. package/dist/chunk-Y46FE75E.js +627 -0
  114. package/dist/chunk-Y6GKV7CU.js +346 -0
  115. package/dist/chunk-Y6GKV7CU.js.map +1 -0
  116. package/dist/chunk-Z2GQREJY.js +159 -0
  117. package/dist/chunk-ZA7OQLDJ.js +225 -0
  118. package/dist/chunk-ZDAVSTEE.js +172 -0
  119. package/dist/chunk-ZXCSOVS5.js +191 -0
  120. package/dist/claim-SVDCQ2AI.js +197 -0
  121. package/dist/cli.js +34 -34
  122. package/dist/companies-BYMYQK6A.js +195 -0
  123. package/dist/complete-NEH3MWRI.js +81 -0
  124. package/dist/connect-5PGL7ZOM.js +42 -0
  125. package/dist/conversation-CSOKJXDW.js +93 -0
  126. package/dist/conversion-report-7JJ5L6WH.js +125 -0
  127. package/dist/conversion-upload-command-UO2QWG3J.js +438 -0
  128. package/dist/conversion-writes-GIGAZT4T.js +120 -0
  129. package/dist/conversions-4JOTTFEH.js +135 -0
  130. package/dist/conversions-4JOTTFEH.js.map +1 -0
  131. package/dist/conversions-CIJZLGII.js +76 -0
  132. package/dist/create-2XYMBULY.js +207 -0
  133. package/dist/create-56PTZABQ.js +235 -0
  134. package/dist/create-D6S6TGWY.js +59 -0
  135. package/dist/create-SMW4O5PC.js +132 -0
  136. package/dist/creatives-OO76DAFS.js +58 -0
  137. package/dist/creatives-VJUYWJL6.js +182 -0
  138. package/dist/creatives-VJUYWJL6.js.map +1 -0
  139. package/dist/credentials-2ONYUJW6.js +287 -0
  140. package/dist/critique-NDDFSGPE.js +1458 -0
  141. package/dist/critique-YXZVMLZ4.js +227 -0
  142. package/dist/crm-Q6CEP5XV.js +224 -0
  143. package/dist/crm-WRONZYDH.js +318 -0
  144. package/dist/currency-TAEJVMVK.js +88 -0
  145. package/dist/customers-2EFYSCU2.js +56 -0
  146. package/dist/delete-7WEVC3FS.js +66 -0
  147. package/dist/delete-RBWK255M.js +54 -0
  148. package/dist/delete-VN4WWMQF.js +64 -0
  149. package/dist/demographics-I5XZ435C.js +138 -0
  150. package/dist/discard-XJLIXTNM.js +66 -0
  151. package/dist/discover-5Z253HXF.js +172 -0
  152. package/dist/domain-M7AEGAYI.js +98 -0
  153. package/dist/draft-5DQI4W5F.js +306 -0
  154. package/dist/draft-5DQI4W5F.js.map +1 -0
  155. package/dist/draft-7DWRFCXW.js +281 -0
  156. package/dist/draft-7IIYHSY2.js +332 -0
  157. package/dist/draft-CN6GKVBF.js +217 -0
  158. package/dist/draft-MNEM4N5W.js +307 -0
  159. package/dist/engine/index.js +7 -7
  160. package/dist/experiment-IDDWRCJ7.js +1397 -0
  161. package/dist/facets-ZLZ6LIHN.js +114 -0
  162. package/dist/feedback-7LEX2P5Q.js +106 -0
  163. package/dist/feedback-record-P4JJ63KA.js +260 -0
  164. package/dist/fetch-MIVCEHXZ.js +176 -0
  165. package/dist/find-VHN34MWL.js +134 -0
  166. package/dist/fit-SS6HSZPU.js +62 -0
  167. package/dist/flows-UTIIHDNE.js +247 -0
  168. package/dist/fonts-YPNN7ZJP.js +36 -0
  169. package/dist/forecast-OBSHG2GJ.js +118 -0
  170. package/dist/forecast-W7Z5TVQX.js +168 -0
  171. package/dist/funnel-Z2VLXUEQ.js +394 -0
  172. package/dist/ga4-ZPAEF2G2.js +55 -0
  173. package/dist/generate-Y76WU7M7.js +263 -0
  174. package/dist/get-MDAO6I7T.js +56 -0
  175. package/dist/get-ZB553BSH.js +79 -0
  176. package/dist/google-C3X7O2UO.js +136 -0
  177. package/dist/google-WYXDMH2N.js +3265 -0
  178. package/dist/google-ads-FTWL772L.js +195 -0
  179. package/dist/gsc-SDDHGTZK.js +30 -0
  180. package/dist/history-DGHMJ2XF.js +67 -0
  181. package/dist/history-WKJYKDMG.js +133 -0
  182. package/dist/hubspot-EPHVEPOO.js +779 -0
  183. package/dist/icon-MYPDC6FM.js +137 -0
  184. package/dist/ideas-3PBH7VEX.js +40 -0
  185. package/dist/images-J35C3WG4.js +92 -0
  186. package/dist/ingest-5QOPUKFE.js +107 -0
  187. package/dist/ingest-OKUYP632.js +23 -0
  188. package/dist/insights-EU45J56U.js +122 -0
  189. package/dist/inspect-PMNCP6MV.js +189 -0
  190. package/dist/inspiration-QAL7NS7G.js +53 -0
  191. package/dist/intent-FUGWRUSW.js +95 -0
  192. package/dist/keyword-gap-DXTKZLV2.js +130 -0
  193. package/dist/keyword-metrics-R752SJIT.js +197 -0
  194. package/dist/keywords-for-site-7UWPJYQF.js +128 -0
  195. package/dist/landing-CBVIOGJ5.js +28 -0
  196. package/dist/languages-XRTTEJ5P.js +40 -0
  197. package/dist/leads-LIJS6Y5W.js +90 -0
  198. package/dist/leads-LIJS6Y5W.js.map +1 -0
  199. package/dist/learn-N6QV7GXA.js +204 -0
  200. package/dist/line-item-writes-3WPJXKIL.js +208 -0
  201. package/dist/line-items-ZOFKOGAA.js +103 -0
  202. package/dist/link-DDRQKOUL.js +64 -0
  203. package/dist/linkedin-UWZCF66X.js +1057 -0
  204. package/dist/linkedin-UWZCF66X.js.map +1 -0
  205. package/dist/list-5PLXVPLB.js +151 -0
  206. package/dist/list-VSJISE7U.js +303 -0
  207. package/dist/list-WTVOBQYX.js +64 -0
  208. package/dist/locations-PCZPKH47.js +40 -0
  209. package/dist/locations-TGJH3URF.js +67 -0
  210. package/dist/log-YKKPROLZ.js +92 -0
  211. package/dist/logo-WE2UELX6.js +18 -0
  212. package/dist/make-RNOWBLZQ.js +1353 -0
  213. package/dist/map-WTDPQLVO.js +433 -0
  214. package/dist/mcp-XJNSCPP3.js +714 -0
  215. package/dist/media-sources-JGBDDXZ5.js +32 -0
  216. package/dist/members-O3BTMRXX.js +44 -0
  217. package/dist/metrics-PYPCW7FJ.js +152 -0
  218. package/dist/models-IAGO5GIH.js +155 -0
  219. package/dist/normalize-R5AYLA2J.js +141 -0
  220. package/dist/options-AILRY7JY.js +122 -0
  221. package/dist/organization-KJJXZLVK.js +946 -0
  222. package/dist/performance-7YU4HOGH.js +24 -0
  223. package/dist/pixels-R4MOLWAR.js +60 -0
  224. package/dist/promoted-tweet-writes-TNELWPVG.js +180 -0
  225. package/dist/promoted-tweets-76WKUFJQ.js +119 -0
  226. package/dist/publish-BKLHCKHB.js +341 -0
  227. package/dist/query-XDHZMGLX.js +61 -0
  228. package/dist/reddit-YK3YUZEI.js +26 -0
  229. package/dist/refresh-WIII7KXB.js +94 -0
  230. package/dist/release-ZHXYQI7G.js +60 -0
  231. package/dist/relevant-pages-CTG72PBR.js +99 -0
  232. package/dist/remove-NOX4BXWK.js +50 -0
  233. package/dist/reopen-NLWKK5HB.js +63 -0
  234. package/dist/rerun-DZWQNMZQ.js +90 -0
  235. package/dist/research-Q3P76RHN.js +62 -0
  236. package/dist/research-UDZBCDNX.js +262 -0
  237. package/dist/reset-5UHFX7QY.js +54 -0
  238. package/dist/reset-MTRJQUP7.js +54 -0
  239. package/dist/resolve-DA72VT7Q.js +121 -0
  240. package/dist/retry-LQUBX5TK.js +62 -0
  241. package/dist/retry-U6F4CS6O.js +60 -0
  242. package/dist/rules-VS5PZ7VO.js +96 -0
  243. package/dist/rules-add-LMVZYDXE.js +462 -0
  244. package/dist/run-6PRA2YSD.js +65 -0
  245. package/dist/run-R6COFNOR.js +66 -0
  246. package/dist/scaffold-ad-3OVJ7VZQ.js +1511 -0
  247. package/dist/scaffold-static-ad-DDRA3Q5I.js +1005 -0
  248. package/dist/scaffold-video-3JZYFYFU.js +883 -0
  249. package/dist/schedule-ED2YDUPY.js +61 -0
  250. package/dist/scheduled-agents-5P67MVGX.js +50 -0
  251. package/dist/schema-4XVKERSA.js +132 -0
  252. package/dist/search-Y2UMIQ57.js +174 -0
  253. package/dist/select-OZ4E6VLF.js +101 -0
  254. package/dist/set-prompt-O4YAE4CE.js +193 -0
  255. package/dist/setup-links-2GJYCV2A.js +141 -0
  256. package/dist/site-47B6V2UX.js +177 -0
  257. package/dist/sources-DXPZAPQ7.js +454 -0
  258. package/dist/sources-NDXYTASG.js +30 -0
  259. package/dist/stale-VLVBO2L6.js +71 -0
  260. package/dist/stats-37OFAMPW.js +34 -0
  261. package/dist/status-4ODD46XY.js +62 -0
  262. package/dist/stock-6R5E7MJX.js +179 -0
  263. package/dist/studio-LEIGL3Q7.js +49 -0
  264. package/dist/sync-TKNVBUDM.js +54 -0
  265. package/dist/sync-definition-M5R3H3TP.js +64 -0
  266. package/dist/tag-manager-3Q55PBEW.js +43 -0
  267. package/dist/tags-4N5UUUN6.js +26 -0
  268. package/dist/tags-5NHIAD5A.js +20 -0
  269. package/dist/tags-UUKWSWCN.js +20 -0
  270. package/dist/tags-VK7B5DJF.js +20 -0
  271. package/dist/tags-XAHIB3WA.js +224 -0
  272. package/dist/targeting-criteria-AVARWV2G.js +113 -0
  273. package/dist/targets-6RYLQRID.js +103 -0
  274. package/dist/testimonials-6TF6BOFN.js +32 -0
  275. package/dist/themes-JZ3DPE7L.js +94 -0
  276. package/dist/top-companies-45EHRCJD.js +108 -0
  277. package/dist/translate-VHLBACCE.js +604 -0
  278. package/dist/triggers-ERQONJNO.js +142 -0
  279. package/dist/unlink-TPDO6JNF.js +67 -0
  280. package/dist/unstage-YKKQQ7LW.js +85 -0
  281. package/dist/update-43WU6X7R.js +63 -0
  282. package/dist/update-CAHLAXWO.js +98 -0
  283. package/dist/update-NGH6YADN.js +152 -0
  284. package/dist/update-SPJIHHLE.js +188 -0
  285. package/dist/upload-ACESIZIZ.js +126 -0
  286. package/dist/url-options-VNX5KYUQ.js +130 -0
  287. package/dist/url-params-MIXEDBF7.js +98 -0
  288. package/dist/validate-XJJA7ULE.js +117 -0
  289. package/dist/videos-LBXPG7WC.js +39 -0
  290. package/dist/viewer-check-7VJ3GUZX.js +80 -0
  291. package/dist/web-EWQJC2SD.js +140 -0
  292. package/dist/winning-ads-SAOJAKEQ.js +86 -0
  293. package/dist/write-commands-QPDE4GWW.js +1024 -0
  294. package/dist/write-commands-QPDE4GWW.js.map +1 -0
  295. package/dist/x-LXOJPCRF.js +47 -0
  296. package/package.json +1 -1
  297. package/dist/account-CJGLH2OL.js +0 -80
  298. package/dist/account-UTFFCFNW.js +0 -79
  299. package/dist/account-reads-SOTNVUM6.js +0 -218
  300. package/dist/account-users-FUJVP4UG.js +0 -61
  301. package/dist/account-users-FUJVP4UG.js.map +0 -1
  302. package/dist/account-writes-OE5FKALN.js +0 -66
  303. package/dist/accounts-OY4DII7M.js +0 -611
  304. package/dist/accounts-XUMRFVLY.js +0 -77
  305. package/dist/actions-KYKLFVUI.js +0 -55
  306. package/dist/activecampaign-P6RO7B2Q.js +0 -935
  307. package/dist/ad-group-writes-343HA4ZG.js +0 -170
  308. package/dist/ad-groups-YMU6ATTW.js +0 -68
  309. package/dist/ad-writes-MINKG33L.js +0 -174
  310. package/dist/add-34QTAS7S.js +0 -104
  311. package/dist/add-3IZ3Z2PX.js +0 -302
  312. package/dist/ads-JRZVJFXS.js +0 -40
  313. package/dist/ads-QOXCMKZ2.js +0 -77
  314. package/dist/advertisers-G2UUCWA7.js +0 -120
  315. package/dist/analytics-CKF7HTWT.js +0 -433
  316. package/dist/analytics-FO4EDDQW.js +0 -1976
  317. package/dist/animate-K3MJ3GW4.js +0 -480
  318. package/dist/assign-76E76PJY.js +0 -77
  319. package/dist/audience-size-IGDEX4XR.js +0 -73
  320. package/dist/audiences-4GRCVFZN.js +0 -268
  321. package/dist/audit-LPSYEY4S.js +0 -151
  322. package/dist/autocomplete-G7MSIJQL.js +0 -111
  323. package/dist/avatars-BF7VWGPH.js +0 -38
  324. package/dist/bid-pricing-EAZHVAMJ.js +0 -100
  325. package/dist/brand-WQI4NV3H.js +0 -22
  326. package/dist/brief-DVFCPBR3.js +0 -538
  327. package/dist/campaign-groups-LCTAUXTU.js +0 -96
  328. package/dist/campaign-groups-LCTAUXTU.js.map +0 -1
  329. package/dist/campaign-writes-ECPSPFAB.js +0 -165
  330. package/dist/campaign-writes-EZEJNO3O.js +0 -170
  331. package/dist/campaigns-7S35PC44.js +0 -76
  332. package/dist/campaigns-MVLKQWX2.js +0 -110
  333. package/dist/campaigns-MVLKQWX2.js.map +0 -1
  334. package/dist/campaigns-R3EUC5Y2.js +0 -107
  335. package/dist/canvas-Y3DKVETP.js +0 -46
  336. package/dist/capabilities-OBP5PDRK.js +0 -144
  337. package/dist/catalog-SZS2JCLN.js +0 -65
  338. package/dist/catalogs-LEABW6AS.js +0 -128
  339. package/dist/changes-4EDY3RNX.js +0 -135
  340. package/dist/chatgpt-JOAEGWCB.js +0 -47
  341. package/dist/chats-KE7FNWKF.js +0 -276
  342. package/dist/check-XHK2HVD2.js +0 -104
  343. package/dist/chunk-22HH46DF.js +0 -122
  344. package/dist/chunk-2VWWLUDJ.js +0 -23
  345. package/dist/chunk-2WBRRYSS.js +0 -197
  346. package/dist/chunk-2XH7GKCO.js +0 -156
  347. package/dist/chunk-3LMAPV6P.js +0 -942
  348. package/dist/chunk-3LZM5MWM.js +0 -57
  349. package/dist/chunk-4ARHIC23.js +0 -392
  350. package/dist/chunk-5KEQXSCN.js +0 -1919
  351. package/dist/chunk-5PMEMWKS.js +0 -665
  352. package/dist/chunk-64BRPYJD.js +0 -225
  353. package/dist/chunk-6DQDZIBL.js +0 -363
  354. package/dist/chunk-6H64SENZ.js +0 -285
  355. package/dist/chunk-6KGLAMPV.js +0 -167
  356. package/dist/chunk-6OIKNJ7G.js +0 -26
  357. package/dist/chunk-6VIHWBOD.js +0 -1606
  358. package/dist/chunk-74BP3JIV.js +0 -275
  359. package/dist/chunk-7AWSJ6Z5.js +0 -66
  360. package/dist/chunk-7IVY55AU.js +0 -903
  361. package/dist/chunk-7POQSUPH.js +0 -455
  362. package/dist/chunk-7RCNWRKK.js +0 -206
  363. package/dist/chunk-ABEIEHOV.js +0 -131
  364. package/dist/chunk-AREUZGX7.js +0 -344
  365. package/dist/chunk-CNFFNE4L.js +0 -274
  366. package/dist/chunk-CORXHFKY.js +0 -433
  367. package/dist/chunk-D3SHD4KA.js +0 -399
  368. package/dist/chunk-DD3C6TSW.js +0 -61
  369. package/dist/chunk-DQU2GVU7.js +0 -51
  370. package/dist/chunk-ECHVJII5.js +0 -97
  371. package/dist/chunk-EFWXYUSK.js +0 -139
  372. package/dist/chunk-F3CZFUXZ.js +0 -3187
  373. package/dist/chunk-F3CZFUXZ.js.map +0 -1
  374. package/dist/chunk-F4KWLFCC.js +0 -103
  375. package/dist/chunk-FL2KIDPV.js +0 -494
  376. package/dist/chunk-FT7RYWOL.js +0 -160
  377. package/dist/chunk-HPIKZPTU.js +0 -297
  378. package/dist/chunk-HUPHZ35H.js +0 -547
  379. package/dist/chunk-JGM4WGC2.js +0 -6704
  380. package/dist/chunk-JGM4WGC2.js.map +0 -1
  381. package/dist/chunk-JMW3AVN7.js +0 -346
  382. package/dist/chunk-JMW3AVN7.js.map +0 -1
  383. package/dist/chunk-JQHLF74O.js +0 -8939
  384. package/dist/chunk-K2TOE6XL.js +0 -142
  385. package/dist/chunk-KI6TENTW.js +0 -5368
  386. package/dist/chunk-LMYCLUY2.js +0 -8914
  387. package/dist/chunk-LQR4CKYW.js +0 -191
  388. package/dist/chunk-LRFNUCHV.js +0 -89
  389. package/dist/chunk-M2D7ZWEU.js +0 -150
  390. package/dist/chunk-ML7GGHTU.js +0 -592
  391. package/dist/chunk-MMUGSEF4.js +0 -23992
  392. package/dist/chunk-MMUGSEF4.js.map +0 -1
  393. package/dist/chunk-MYSLMKTG.js +0 -604
  394. package/dist/chunk-NAA4CKZZ.js +0 -4249
  395. package/dist/chunk-NAA4CKZZ.js.map +0 -1
  396. package/dist/chunk-NDKLPDZ3.js +0 -1079
  397. package/dist/chunk-OUQSDUVI.js +0 -831
  398. package/dist/chunk-PFPUPR3H.js +0 -91
  399. package/dist/chunk-PGD7USOH.js +0 -207
  400. package/dist/chunk-QKT7W5JP.js +0 -98
  401. package/dist/chunk-QU4XX5Z7.js +0 -169
  402. package/dist/chunk-R3OXH3ML.js +0 -148
  403. package/dist/chunk-RNQMXS7G.js +0 -172
  404. package/dist/chunk-SEMNRIOR.js +0 -19
  405. package/dist/chunk-SHBFBQYT.js +0 -846
  406. package/dist/chunk-SIKCVWM3.js +0 -76
  407. package/dist/chunk-UJPURLUZ.js +0 -3868
  408. package/dist/chunk-UM7NJIOU.js +0 -64
  409. package/dist/chunk-V57TZQPI.js +0 -228
  410. package/dist/chunk-WXKSUL4U.js +0 -224
  411. package/dist/chunk-YJRZVGES.js +0 -1518
  412. package/dist/chunk-YQICNXIA.js +0 -249
  413. package/dist/chunk-YTF2MI3E.js +0 -627
  414. package/dist/chunk-YYPWVQZQ.js +0 -843
  415. package/dist/chunk-Z7BQGWKG.js +0 -46
  416. package/dist/chunk-ZXSXRSFX.js +0 -159
  417. package/dist/claim-W2ZV4SH3.js +0 -197
  418. package/dist/companies-ITK3W3H6.js +0 -195
  419. package/dist/complete-RYEVEF3S.js +0 -81
  420. package/dist/connect-FFFNSJ2O.js +0 -42
  421. package/dist/conversation-KKJNQRFB.js +0 -93
  422. package/dist/conversion-report-PLQ4MVJR.js +0 -125
  423. package/dist/conversion-upload-command-Z7F6NQH4.js +0 -438
  424. package/dist/conversion-writes-VNOXZ4NR.js +0 -120
  425. package/dist/conversions-KHAXFD3Z.js +0 -137
  426. package/dist/conversions-KHAXFD3Z.js.map +0 -1
  427. package/dist/conversions-KPIFDO2R.js +0 -76
  428. package/dist/create-3R6Q2E2M.js +0 -59
  429. package/dist/create-A3R7YRT3.js +0 -235
  430. package/dist/create-TYWQP57A.js +0 -207
  431. package/dist/create-UUEWQUPT.js +0 -132
  432. package/dist/creatives-EEDDL3VG.js +0 -220
  433. package/dist/creatives-EEDDL3VG.js.map +0 -1
  434. package/dist/creatives-UK4VITNW.js +0 -58
  435. package/dist/credentials-A65GYH4D.js +0 -287
  436. package/dist/critique-46O4VVPM.js +0 -1458
  437. package/dist/critique-RPRMG2ZC.js +0 -227
  438. package/dist/crm-2WYW3D22.js +0 -224
  439. package/dist/crm-PQ24MNIU.js +0 -318
  440. package/dist/currency-Q3HCK447.js +0 -88
  441. package/dist/customers-YTQ7IQ5C.js +0 -56
  442. package/dist/delete-BBISJTFG.js +0 -54
  443. package/dist/delete-PQ4NUNLX.js +0 -66
  444. package/dist/delete-TBW6TJ6A.js +0 -64
  445. package/dist/demographics-EVP55FT3.js +0 -138
  446. package/dist/discard-LPJA4DEY.js +0 -66
  447. package/dist/discover-3G6CE7X3.js +0 -172
  448. package/dist/domain-5MM7V7JD.js +0 -98
  449. package/dist/draft-34D5MOKA.js +0 -217
  450. package/dist/draft-A6M562M4.js +0 -307
  451. package/dist/draft-A6M562M4.js.map +0 -1
  452. package/dist/draft-EGS7UFF3.js +0 -281
  453. package/dist/draft-J6GJXZRX.js +0 -307
  454. package/dist/draft-K3O7Q3A5.js +0 -332
  455. package/dist/experiment-7RJ5X2LL.js +0 -1397
  456. package/dist/experiments-HERTVBYK.js +0 -233
  457. package/dist/experiments-HERTVBYK.js.map +0 -1
  458. package/dist/facets-RUZKALF3.js +0 -114
  459. package/dist/feedback-S5LHJYZD.js +0 -106
  460. package/dist/feedback-record-GAM2R5GG.js +0 -260
  461. package/dist/fetch-FA6TR66Y.js +0 -176
  462. package/dist/find-2EPXK5RF.js +0 -134
  463. package/dist/fit-MOMO4AXL.js +0 -62
  464. package/dist/flows-DMMCSBWY.js +0 -247
  465. package/dist/fonts-G4JLXWX2.js +0 -36
  466. package/dist/forecast-OOP4K5DE.js +0 -118
  467. package/dist/forecast-V65WS5QG.js +0 -168
  468. package/dist/funnel-SEQPUM3X.js +0 -394
  469. package/dist/ga4-6EIQC2TG.js +0 -55
  470. package/dist/generate-IDDQD5FU.js +0 -263
  471. package/dist/get-DEOZMGOQ.js +0 -56
  472. package/dist/get-SEJINVOS.js +0 -79
  473. package/dist/google-7L3FWKPJ.js +0 -3265
  474. package/dist/google-O5OI6QFU.js +0 -136
  475. package/dist/google-ads-MIGWMCWY.js +0 -195
  476. package/dist/gsc-BM3T2GDL.js +0 -30
  477. package/dist/history-IBWXCDCB.js +0 -133
  478. package/dist/history-Z5577FPQ.js +0 -67
  479. package/dist/hubspot-6AZKUX72.js +0 -779
  480. package/dist/icon-B7DG53S5.js +0 -137
  481. package/dist/ideas-AX7S3NCG.js +0 -40
  482. package/dist/images-632SXTB5.js +0 -92
  483. package/dist/ingest-HS55RVKH.js +0 -23
  484. package/dist/ingest-T3OK3DRG.js +0 -107
  485. package/dist/insights-UDX66IMV.js +0 -122
  486. package/dist/inspect-D6ZIUBH3.js +0 -189
  487. package/dist/inspiration-TCCKM4R7.js +0 -53
  488. package/dist/intent-3WTKKTUX.js +0 -95
  489. package/dist/keyword-gap-7GESZXY2.js +0 -130
  490. package/dist/keyword-metrics-J43MV3RQ.js +0 -197
  491. package/dist/keywords-for-site-6YKCTFJZ.js +0 -128
  492. package/dist/landing-Y7DI2FUT.js +0 -28
  493. package/dist/languages-LSKNZI2A.js +0 -40
  494. package/dist/leads-R3WBKADF.js +0 -112
  495. package/dist/leads-R3WBKADF.js.map +0 -1
  496. package/dist/learn-M4UHA476.js +0 -204
  497. package/dist/line-item-writes-F2OPBMIE.js +0 -208
  498. package/dist/line-items-YJ3DLV2U.js +0 -103
  499. package/dist/link-RZKYW22K.js +0 -64
  500. package/dist/linkedin-JYZOPU7A.js +0 -1299
  501. package/dist/linkedin-JYZOPU7A.js.map +0 -1
  502. package/dist/list-NPJ34244.js +0 -151
  503. package/dist/list-WTVBOTA4.js +0 -64
  504. package/dist/list-XK5CHKYJ.js +0 -303
  505. package/dist/locations-DSDCNP5Z.js +0 -40
  506. package/dist/locations-SFZN4MYW.js +0 -67
  507. package/dist/log-K4FWHXIM.js +0 -92
  508. package/dist/logo-QTSBKP2J.js +0 -18
  509. package/dist/make-VQDUKVPB.js +0 -1353
  510. package/dist/map-Z3MEM6QX.js +0 -433
  511. package/dist/mcp-KJOSR534.js +0 -714
  512. package/dist/media-sources-44HTWIY3.js +0 -32
  513. package/dist/members-HGU22NL3.js +0 -44
  514. package/dist/metrics-OV2EKPJ6.js +0 -152
  515. package/dist/models-NGAUD6QJ.js +0 -155
  516. package/dist/normalize-IUPOHEZJ.js +0 -141
  517. package/dist/options-TL5TPGHK.js +0 -122
  518. package/dist/organization-3ORT4474.js +0 -946
  519. package/dist/performance-PCZHQCZ5.js +0 -24
  520. package/dist/pixels-GHEAK62X.js +0 -60
  521. package/dist/promoted-tweet-writes-O4RTZFSI.js +0 -180
  522. package/dist/promoted-tweets-AWP6MGJI.js +0 -119
  523. package/dist/publish-PODZKJHW.js +0 -341
  524. package/dist/query-FUSR27T4.js +0 -61
  525. package/dist/reddit-UNUNWSNR.js +0 -26
  526. package/dist/refresh-34UO2LXY.js +0 -94
  527. package/dist/release-BD3EAD75.js +0 -60
  528. package/dist/relevant-pages-FNKYR2OG.js +0 -99
  529. package/dist/remove-YQYSQCWI.js +0 -50
  530. package/dist/reopen-MULNJOR5.js +0 -63
  531. package/dist/rerun-6YGYJPM7.js +0 -90
  532. package/dist/research-6WEL3USW.js +0 -62
  533. package/dist/research-OBECRSPL.js +0 -262
  534. package/dist/reset-5TTLZ43U.js +0 -54
  535. package/dist/reset-PRTK6YUD.js +0 -54
  536. package/dist/resolve-6RM63T55.js +0 -121
  537. package/dist/retry-XYTVP7BV.js +0 -60
  538. package/dist/retry-Z3C624JW.js +0 -62
  539. package/dist/revenue-VSH6KXCV.js +0 -88
  540. package/dist/revenue-VSH6KXCV.js.map +0 -1
  541. package/dist/rules-AUAJUM2T.js +0 -96
  542. package/dist/rules-add-7VFGPGZ7.js +0 -462
  543. package/dist/run-S3SVCTIB.js +0 -65
  544. package/dist/run-YA5RCRIX.js +0 -66
  545. package/dist/scaffold-ad-2KQULVJU.js +0 -1511
  546. package/dist/scaffold-static-ad-S46QADGV.js +0 -1005
  547. package/dist/scaffold-video-ZMHI2JDU.js +0 -883
  548. package/dist/schedule-FT6P3EKG.js +0 -61
  549. package/dist/scheduled-agents-L7K4QWMD.js +0 -50
  550. package/dist/schema-CH654RZB.js +0 -132
  551. package/dist/search-YKYB2P2M.js +0 -174
  552. package/dist/select-PM7JUDQY.js +0 -101
  553. package/dist/set-prompt-VATAT7H6.js +0 -193
  554. package/dist/setup-links-TM3NCVU7.js +0 -141
  555. package/dist/site-ATAXCWXS.js +0 -177
  556. package/dist/sources-N5RKYKFS.js +0 -30
  557. package/dist/sources-V544MB26.js +0 -454
  558. package/dist/stale-RNEYXKFX.js +0 -71
  559. package/dist/stats-CVF6AC7R.js +0 -34
  560. package/dist/status-DPTFOJVV.js +0 -62
  561. package/dist/stock-4LPQ6SM7.js +0 -179
  562. package/dist/studio-NZ3NA4L4.js +0 -49
  563. package/dist/sync-UBLCCOQZ.js +0 -54
  564. package/dist/sync-definition-RXRSI2LT.js +0 -64
  565. package/dist/tag-manager-FLXXLNKP.js +0 -43
  566. package/dist/tags-2D4AN2QB.js +0 -224
  567. package/dist/tags-5OM2VN3Q.js +0 -26
  568. package/dist/tags-CJWSUBCD.js +0 -20
  569. package/dist/tags-MHKZW2JN.js +0 -20
  570. package/dist/tags-Z6AH7FDT.js +0 -20
  571. package/dist/targeting-criteria-RSAN4KW5.js +0 -113
  572. package/dist/targets-EER2G4WH.js +0 -103
  573. package/dist/testimonials-4WJKAZ5S.js +0 -32
  574. package/dist/themes-XUALHDHR.js +0 -94
  575. package/dist/top-companies-BSOYGMIB.js +0 -108
  576. package/dist/translate-2XRHDWSC.js +0 -604
  577. package/dist/triggers-NU6BQ5NJ.js +0 -142
  578. package/dist/unlink-LQGPZND2.js +0 -67
  579. package/dist/unstage-GDKW56MH.js +0 -85
  580. package/dist/update-43QN723C.js +0 -63
  581. package/dist/update-6CAZKFTC.js +0 -188
  582. package/dist/update-EGOWYBEH.js +0 -152
  583. package/dist/update-QRGEMNBY.js +0 -98
  584. package/dist/upload-LIHRXWUY.js +0 -126
  585. package/dist/url-options-JXL4W7TB.js +0 -130
  586. package/dist/url-params-YXRZ4TUD.js +0 -98
  587. package/dist/validate-KO3MEJUZ.js +0 -117
  588. package/dist/videos-BPJ34YZL.js +0 -39
  589. package/dist/viewer-check-SA5AUQ26.js +0 -80
  590. package/dist/web-KS47ZHXX.js +0 -140
  591. package/dist/winning-ads-LE2ALICG.js +0 -86
  592. package/dist/write-commands-PPR7G4UN.js +0 -1453
  593. package/dist/write-commands-PPR7G4UN.js.map +0 -1
  594. package/dist/x-DZGRJQ7Y.js +0 -47
  595. /package/dist/{account-CJGLH2OL.js.map → account-EF6OPUJT.js.map} +0 -0
  596. /package/dist/{account-UTFFCFNW.js.map → account-UHNR5KTE.js.map} +0 -0
  597. /package/dist/{account-reads-SOTNVUM6.js.map → account-reads-CDZ3EL5D.js.map} +0 -0
  598. /package/dist/{account-writes-OE5FKALN.js.map → account-writes-VWU4FRGQ.js.map} +0 -0
  599. /package/dist/{accounts-XUMRFVLY.js.map → accounts-KMLXHADA.js.map} +0 -0
  600. /package/dist/{accounts-OY4DII7M.js.map → accounts-QDGNTSTV.js.map} +0 -0
  601. /package/dist/{actions-KYKLFVUI.js.map → actions-QL5UD2W4.js.map} +0 -0
  602. /package/dist/{activecampaign-P6RO7B2Q.js.map → activecampaign-5OD45ROS.js.map} +0 -0
  603. /package/dist/{ad-group-writes-343HA4ZG.js.map → ad-group-writes-ID6I3QUZ.js.map} +0 -0
  604. /package/dist/{ad-groups-YMU6ATTW.js.map → ad-groups-M7CV6NTH.js.map} +0 -0
  605. /package/dist/{ad-writes-MINKG33L.js.map → ad-writes-TSOAZYRE.js.map} +0 -0
  606. /package/dist/{add-34QTAS7S.js.map → add-6K6LO7CM.js.map} +0 -0
  607. /package/dist/{add-3IZ3Z2PX.js.map → add-LYDJZDGO.js.map} +0 -0
  608. /package/dist/{ads-QOXCMKZ2.js.map → ads-CGLO73MH.js.map} +0 -0
  609. /package/dist/{ads-JRZVJFXS.js.map → ads-DHPJFU52.js.map} +0 -0
  610. /package/dist/{advertisers-G2UUCWA7.js.map → advertisers-23LU7GTV.js.map} +0 -0
  611. /package/dist/{analytics-FO4EDDQW.js.map → analytics-DVD4OBBR.js.map} +0 -0
  612. /package/dist/{analytics-CKF7HTWT.js.map → analytics-HO2SLL4W.js.map} +0 -0
  613. /package/dist/{animate-K3MJ3GW4.js.map → animate-RGZWDZG2.js.map} +0 -0
  614. /package/dist/{assign-76E76PJY.js.map → assign-CLKJKH2B.js.map} +0 -0
  615. /package/dist/{audience-size-IGDEX4XR.js.map → audience-size-NNYYXODL.js.map} +0 -0
  616. /package/dist/{audiences-4GRCVFZN.js.map → audiences-WXIP5PJH.js.map} +0 -0
  617. /package/dist/{audit-LPSYEY4S.js.map → audit-KB4P2XGS.js.map} +0 -0
  618. /package/dist/{autocomplete-G7MSIJQL.js.map → autocomplete-VZD2SMTE.js.map} +0 -0
  619. /package/dist/{avatars-BF7VWGPH.js.map → avatars-FKOO6VZ2.js.map} +0 -0
  620. /package/dist/{bid-pricing-EAZHVAMJ.js.map → bid-pricing-6LLXOLLI.js.map} +0 -0
  621. /package/dist/{brand-WQI4NV3H.js.map → brand-NNWHBIAX.js.map} +0 -0
  622. /package/dist/{brief-DVFCPBR3.js.map → brief-CPJQWT6W.js.map} +0 -0
  623. /package/dist/{campaign-writes-ECPSPFAB.js.map → campaign-writes-UJ4L2O6G.js.map} +0 -0
  624. /package/dist/{campaign-writes-EZEJNO3O.js.map → campaign-writes-W5IL6ZGB.js.map} +0 -0
  625. /package/dist/{campaigns-7S35PC44.js.map → campaigns-FLTPD66X.js.map} +0 -0
  626. /package/dist/{campaigns-R3EUC5Y2.js.map → campaigns-HLBZRH5A.js.map} +0 -0
  627. /package/dist/{canvas-Y3DKVETP.js.map → canvas-D64GLWUO.js.map} +0 -0
  628. /package/dist/{capabilities-OBP5PDRK.js.map → capabilities-LWXCWMIY.js.map} +0 -0
  629. /package/dist/{catalog-SZS2JCLN.js.map → catalog-ZDLQAODO.js.map} +0 -0
  630. /package/dist/{catalogs-LEABW6AS.js.map → catalogs-26VXVUST.js.map} +0 -0
  631. /package/dist/{changes-4EDY3RNX.js.map → changes-SX2N5KIO.js.map} +0 -0
  632. /package/dist/{chatgpt-JOAEGWCB.js.map → chatgpt-YI6YNACI.js.map} +0 -0
  633. /package/dist/{chats-KE7FNWKF.js.map → chats-7WGC2CVW.js.map} +0 -0
  634. /package/dist/{check-XHK2HVD2.js.map → check-EH6BXWWL.js.map} +0 -0
  635. /package/dist/{chunk-QU4XX5Z7.js.map → chunk-2B772ZEA.js.map} +0 -0
  636. /package/dist/{chunk-DQU2GVU7.js.map → chunk-2KRK667G.js.map} +0 -0
  637. /package/dist/{chunk-F4KWLFCC.js.map → chunk-2TVXJPGR.js.map} +0 -0
  638. /package/dist/{chunk-4ARHIC23.js.map → chunk-3AMLOCXY.js.map} +0 -0
  639. /package/dist/{chunk-22HH46DF.js.map → chunk-3N5A44NQ.js.map} +0 -0
  640. /package/dist/{chunk-ABEIEHOV.js.map → chunk-3S274625.js.map} +0 -0
  641. /package/dist/{chunk-DD3C6TSW.js.map → chunk-3WAYZQNV.js.map} +0 -0
  642. /package/dist/{chunk-FT7RYWOL.js.map → chunk-5A257KJA.js.map} +0 -0
  643. /package/dist/{chunk-6DQDZIBL.js.map → chunk-6QGS3RQP.js.map} +0 -0
  644. /package/dist/{chunk-YJRZVGES.js.map → chunk-7KHTJQGV.js.map} +0 -0
  645. /package/dist/{chunk-6VIHWBOD.js.map → chunk-A3DKSAEL.js.map} +0 -0
  646. /package/dist/{chunk-5PMEMWKS.js.map → chunk-A4DZ5L3T.js.map} +0 -0
  647. /package/dist/{chunk-FL2KIDPV.js.map → chunk-AFD32O4A.js.map} +0 -0
  648. /package/dist/{chunk-CORXHFKY.js.map → chunk-AW2GKIGS.js.map} +0 -0
  649. /package/dist/{chunk-LMYCLUY2.js.map → chunk-B7GF34FU.js.map} +0 -0
  650. /package/dist/{chunk-M2D7ZWEU.js.map → chunk-BDYLILMW.js.map} +0 -0
  651. /package/dist/{chunk-6H64SENZ.js.map → chunk-EJ4QCMM6.js.map} +0 -0
  652. /package/dist/{chunk-3LMAPV6P.js.map → chunk-EMQUW6JB.js.map} +0 -0
  653. /package/dist/{chunk-EFWXYUSK.js.map → chunk-EW3JEKIV.js.map} +0 -0
  654. /package/dist/{chunk-CNFFNE4L.js.map → chunk-F377KYIM.js.map} +0 -0
  655. /package/dist/{chunk-SEMNRIOR.js.map → chunk-FBFWMTOP.js.map} +0 -0
  656. /package/dist/{chunk-QKT7W5JP.js.map → chunk-FCM6VPFP.js.map} +0 -0
  657. /package/dist/{chunk-5KEQXSCN.js.map → chunk-FKYPAGKK.js.map} +0 -0
  658. /package/dist/{chunk-JQHLF74O.js.map → chunk-GXGYTFZA.js.map} +0 -0
  659. /package/dist/{chunk-K2TOE6XL.js.map → chunk-I7J7YQXZ.js.map} +0 -0
  660. /package/dist/{chunk-NDKLPDZ3.js.map → chunk-IBY44U2M.js.map} +0 -0
  661. /package/dist/{chunk-HPIKZPTU.js.map → chunk-IFXGCI33.js.map} +0 -0
  662. /package/dist/{chunk-PFPUPR3H.js.map → chunk-IKLHXGMF.js.map} +0 -0
  663. /package/dist/{chunk-MYSLMKTG.js.map → chunk-IYTPWAN3.js.map} +0 -0
  664. /package/dist/{chunk-UJPURLUZ.js.map → chunk-J3CWAERS.js.map} +0 -0
  665. /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
  666. /package/dist/{chunk-7RCNWRKK.js.map → chunk-JH2L5CQD.js.map} +0 -0
  667. /package/dist/{chunk-ECHVJII5.js.map → chunk-JUVVCA7B.js.map} +0 -0
  668. /package/dist/{chunk-2WBRRYSS.js.map → chunk-MK6XJUCQ.js.map} +0 -0
  669. /package/dist/{chunk-R3OXH3ML.js.map → chunk-MOFMOYUA.js.map} +0 -0
  670. /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
  671. /package/dist/{chunk-7AWSJ6Z5.js.map → chunk-N3I6ZXR7.js.map} +0 -0
  672. /package/dist/{chunk-ML7GGHTU.js.map → chunk-NBO2NSAW.js.map} +0 -0
  673. /package/dist/{chunk-YQICNXIA.js.map → chunk-NEU5QD2C.js.map} +0 -0
  674. /package/dist/{chunk-AREUZGX7.js.map → chunk-NKIBXOHT.js.map} +0 -0
  675. /package/dist/{chunk-SHBFBQYT.js.map → chunk-NZKBW4YB.js.map} +0 -0
  676. /package/dist/{chunk-HUPHZ35H.js.map → chunk-OE3MIV4F.js.map} +0 -0
  677. /package/dist/{chunk-KI6TENTW.js.map → chunk-OL7JS4NG.js.map} +0 -0
  678. /package/dist/{chunk-7IVY55AU.js.map → chunk-P2MFWJR3.js.map} +0 -0
  679. /package/dist/{chunk-LRFNUCHV.js.map → chunk-PHCIFBP3.js.map} +0 -0
  680. /package/dist/{chunk-WXKSUL4U.js.map → chunk-PTUXBO5O.js.map} +0 -0
  681. /package/dist/{chunk-74BP3JIV.js.map → chunk-Q3LXLWZY.js.map} +0 -0
  682. /package/dist/{chunk-7POQSUPH.js.map → chunk-Q5WBTVA7.js.map} +0 -0
  683. /package/dist/{chunk-Z7BQGWKG.js.map → chunk-QMOYQJIN.js.map} +0 -0
  684. /package/dist/{chunk-6KGLAMPV.js.map → chunk-QRLTVJ6F.js.map} +0 -0
  685. /package/dist/{chunk-D3SHD4KA.js.map → chunk-RDEAVCMF.js.map} +0 -0
  686. /package/dist/{chunk-2VWWLUDJ.js.map → chunk-RGMKXNQP.js.map} +0 -0
  687. /package/dist/{chunk-UM7NJIOU.js.map → chunk-RJZS4XDJ.js.map} +0 -0
  688. /package/dist/{chunk-OUQSDUVI.js.map → chunk-RZTKCCUL.js.map} +0 -0
  689. /package/dist/{chunk-YYPWVQZQ.js.map → chunk-S4VLLGTW.js.map} +0 -0
  690. /package/dist/{chunk-V57TZQPI.js.map → chunk-SVM3DGAQ.js.map} +0 -0
  691. /package/dist/{chunk-2XH7GKCO.js.map → chunk-TTKBNBQF.js.map} +0 -0
  692. /package/dist/{chunk-PGD7USOH.js.map → chunk-VB3XUR6A.js.map} +0 -0
  693. /package/dist/{chunk-3LZM5MWM.js.map → chunk-XCKINS7K.js.map} +0 -0
  694. /package/dist/{chunk-YTF2MI3E.js.map → chunk-Y46FE75E.js.map} +0 -0
  695. /package/dist/{chunk-ZXSXRSFX.js.map → chunk-Z2GQREJY.js.map} +0 -0
  696. /package/dist/{chunk-64BRPYJD.js.map → chunk-ZA7OQLDJ.js.map} +0 -0
  697. /package/dist/{chunk-RNQMXS7G.js.map → chunk-ZDAVSTEE.js.map} +0 -0
  698. /package/dist/{chunk-LQR4CKYW.js.map → chunk-ZXCSOVS5.js.map} +0 -0
  699. /package/dist/{claim-W2ZV4SH3.js.map → claim-SVDCQ2AI.js.map} +0 -0
  700. /package/dist/{companies-ITK3W3H6.js.map → companies-BYMYQK6A.js.map} +0 -0
  701. /package/dist/{complete-RYEVEF3S.js.map → complete-NEH3MWRI.js.map} +0 -0
  702. /package/dist/{connect-FFFNSJ2O.js.map → connect-5PGL7ZOM.js.map} +0 -0
  703. /package/dist/{conversation-KKJNQRFB.js.map → conversation-CSOKJXDW.js.map} +0 -0
  704. /package/dist/{conversion-report-PLQ4MVJR.js.map → conversion-report-7JJ5L6WH.js.map} +0 -0
  705. /package/dist/{conversion-upload-command-Z7F6NQH4.js.map → conversion-upload-command-UO2QWG3J.js.map} +0 -0
  706. /package/dist/{conversion-writes-VNOXZ4NR.js.map → conversion-writes-GIGAZT4T.js.map} +0 -0
  707. /package/dist/{conversions-KPIFDO2R.js.map → conversions-CIJZLGII.js.map} +0 -0
  708. /package/dist/{create-TYWQP57A.js.map → create-2XYMBULY.js.map} +0 -0
  709. /package/dist/{create-A3R7YRT3.js.map → create-56PTZABQ.js.map} +0 -0
  710. /package/dist/{create-3R6Q2E2M.js.map → create-D6S6TGWY.js.map} +0 -0
  711. /package/dist/{create-UUEWQUPT.js.map → create-SMW4O5PC.js.map} +0 -0
  712. /package/dist/{creatives-UK4VITNW.js.map → creatives-OO76DAFS.js.map} +0 -0
  713. /package/dist/{credentials-A65GYH4D.js.map → credentials-2ONYUJW6.js.map} +0 -0
  714. /package/dist/{critique-46O4VVPM.js.map → critique-NDDFSGPE.js.map} +0 -0
  715. /package/dist/{critique-RPRMG2ZC.js.map → critique-YXZVMLZ4.js.map} +0 -0
  716. /package/dist/{crm-2WYW3D22.js.map → crm-Q6CEP5XV.js.map} +0 -0
  717. /package/dist/{crm-PQ24MNIU.js.map → crm-WRONZYDH.js.map} +0 -0
  718. /package/dist/{currency-Q3HCK447.js.map → currency-TAEJVMVK.js.map} +0 -0
  719. /package/dist/{customers-YTQ7IQ5C.js.map → customers-2EFYSCU2.js.map} +0 -0
  720. /package/dist/{delete-PQ4NUNLX.js.map → delete-7WEVC3FS.js.map} +0 -0
  721. /package/dist/{delete-BBISJTFG.js.map → delete-RBWK255M.js.map} +0 -0
  722. /package/dist/{delete-TBW6TJ6A.js.map → delete-VN4WWMQF.js.map} +0 -0
  723. /package/dist/{demographics-EVP55FT3.js.map → demographics-I5XZ435C.js.map} +0 -0
  724. /package/dist/{discard-LPJA4DEY.js.map → discard-XJLIXTNM.js.map} +0 -0
  725. /package/dist/{discover-3G6CE7X3.js.map → discover-5Z253HXF.js.map} +0 -0
  726. /package/dist/{domain-5MM7V7JD.js.map → domain-M7AEGAYI.js.map} +0 -0
  727. /package/dist/{draft-EGS7UFF3.js.map → draft-7DWRFCXW.js.map} +0 -0
  728. /package/dist/{draft-K3O7Q3A5.js.map → draft-7IIYHSY2.js.map} +0 -0
  729. /package/dist/{draft-34D5MOKA.js.map → draft-CN6GKVBF.js.map} +0 -0
  730. /package/dist/{draft-J6GJXZRX.js.map → draft-MNEM4N5W.js.map} +0 -0
  731. /package/dist/{experiment-7RJ5X2LL.js.map → experiment-IDDWRCJ7.js.map} +0 -0
  732. /package/dist/{facets-RUZKALF3.js.map → facets-ZLZ6LIHN.js.map} +0 -0
  733. /package/dist/{feedback-S5LHJYZD.js.map → feedback-7LEX2P5Q.js.map} +0 -0
  734. /package/dist/{feedback-record-GAM2R5GG.js.map → feedback-record-P4JJ63KA.js.map} +0 -0
  735. /package/dist/{fetch-FA6TR66Y.js.map → fetch-MIVCEHXZ.js.map} +0 -0
  736. /package/dist/{find-2EPXK5RF.js.map → find-VHN34MWL.js.map} +0 -0
  737. /package/dist/{fit-MOMO4AXL.js.map → fit-SS6HSZPU.js.map} +0 -0
  738. /package/dist/{flows-DMMCSBWY.js.map → flows-UTIIHDNE.js.map} +0 -0
  739. /package/dist/{fonts-G4JLXWX2.js.map → fonts-YPNN7ZJP.js.map} +0 -0
  740. /package/dist/{forecast-OOP4K5DE.js.map → forecast-OBSHG2GJ.js.map} +0 -0
  741. /package/dist/{forecast-V65WS5QG.js.map → forecast-W7Z5TVQX.js.map} +0 -0
  742. /package/dist/{funnel-SEQPUM3X.js.map → funnel-Z2VLXUEQ.js.map} +0 -0
  743. /package/dist/{ga4-6EIQC2TG.js.map → ga4-ZPAEF2G2.js.map} +0 -0
  744. /package/dist/{generate-IDDQD5FU.js.map → generate-Y76WU7M7.js.map} +0 -0
  745. /package/dist/{get-DEOZMGOQ.js.map → get-MDAO6I7T.js.map} +0 -0
  746. /package/dist/{get-SEJINVOS.js.map → get-ZB553BSH.js.map} +0 -0
  747. /package/dist/{google-O5OI6QFU.js.map → google-C3X7O2UO.js.map} +0 -0
  748. /package/dist/{google-7L3FWKPJ.js.map → google-WYXDMH2N.js.map} +0 -0
  749. /package/dist/{google-ads-MIGWMCWY.js.map → google-ads-FTWL772L.js.map} +0 -0
  750. /package/dist/{gsc-BM3T2GDL.js.map → gsc-SDDHGTZK.js.map} +0 -0
  751. /package/dist/{history-Z5577FPQ.js.map → history-DGHMJ2XF.js.map} +0 -0
  752. /package/dist/{history-IBWXCDCB.js.map → history-WKJYKDMG.js.map} +0 -0
  753. /package/dist/{hubspot-6AZKUX72.js.map → hubspot-EPHVEPOO.js.map} +0 -0
  754. /package/dist/{icon-B7DG53S5.js.map → icon-MYPDC6FM.js.map} +0 -0
  755. /package/dist/{ideas-AX7S3NCG.js.map → ideas-3PBH7VEX.js.map} +0 -0
  756. /package/dist/{images-632SXTB5.js.map → images-J35C3WG4.js.map} +0 -0
  757. /package/dist/{ingest-T3OK3DRG.js.map → ingest-5QOPUKFE.js.map} +0 -0
  758. /package/dist/{ingest-HS55RVKH.js.map → ingest-OKUYP632.js.map} +0 -0
  759. /package/dist/{insights-UDX66IMV.js.map → insights-EU45J56U.js.map} +0 -0
  760. /package/dist/{inspect-D6ZIUBH3.js.map → inspect-PMNCP6MV.js.map} +0 -0
  761. /package/dist/{inspiration-TCCKM4R7.js.map → inspiration-QAL7NS7G.js.map} +0 -0
  762. /package/dist/{intent-3WTKKTUX.js.map → intent-FUGWRUSW.js.map} +0 -0
  763. /package/dist/{keyword-gap-7GESZXY2.js.map → keyword-gap-DXTKZLV2.js.map} +0 -0
  764. /package/dist/{keyword-metrics-J43MV3RQ.js.map → keyword-metrics-R752SJIT.js.map} +0 -0
  765. /package/dist/{keywords-for-site-6YKCTFJZ.js.map → keywords-for-site-7UWPJYQF.js.map} +0 -0
  766. /package/dist/{landing-Y7DI2FUT.js.map → landing-CBVIOGJ5.js.map} +0 -0
  767. /package/dist/{languages-LSKNZI2A.js.map → languages-XRTTEJ5P.js.map} +0 -0
  768. /package/dist/{learn-M4UHA476.js.map → learn-N6QV7GXA.js.map} +0 -0
  769. /package/dist/{line-item-writes-F2OPBMIE.js.map → line-item-writes-3WPJXKIL.js.map} +0 -0
  770. /package/dist/{line-items-YJ3DLV2U.js.map → line-items-ZOFKOGAA.js.map} +0 -0
  771. /package/dist/{link-RZKYW22K.js.map → link-DDRQKOUL.js.map} +0 -0
  772. /package/dist/{list-NPJ34244.js.map → list-5PLXVPLB.js.map} +0 -0
  773. /package/dist/{list-XK5CHKYJ.js.map → list-VSJISE7U.js.map} +0 -0
  774. /package/dist/{list-WTVBOTA4.js.map → list-WTVOBQYX.js.map} +0 -0
  775. /package/dist/{locations-DSDCNP5Z.js.map → locations-PCZPKH47.js.map} +0 -0
  776. /package/dist/{locations-SFZN4MYW.js.map → locations-TGJH3URF.js.map} +0 -0
  777. /package/dist/{log-K4FWHXIM.js.map → log-YKKPROLZ.js.map} +0 -0
  778. /package/dist/{logo-QTSBKP2J.js.map → logo-WE2UELX6.js.map} +0 -0
  779. /package/dist/{make-VQDUKVPB.js.map → make-RNOWBLZQ.js.map} +0 -0
  780. /package/dist/{map-Z3MEM6QX.js.map → map-WTDPQLVO.js.map} +0 -0
  781. /package/dist/{mcp-KJOSR534.js.map → mcp-XJNSCPP3.js.map} +0 -0
  782. /package/dist/{media-sources-44HTWIY3.js.map → media-sources-JGBDDXZ5.js.map} +0 -0
  783. /package/dist/{members-HGU22NL3.js.map → members-O3BTMRXX.js.map} +0 -0
  784. /package/dist/{metrics-OV2EKPJ6.js.map → metrics-PYPCW7FJ.js.map} +0 -0
  785. /package/dist/{models-NGAUD6QJ.js.map → models-IAGO5GIH.js.map} +0 -0
  786. /package/dist/{normalize-IUPOHEZJ.js.map → normalize-R5AYLA2J.js.map} +0 -0
  787. /package/dist/{options-TL5TPGHK.js.map → options-AILRY7JY.js.map} +0 -0
  788. /package/dist/{organization-3ORT4474.js.map → organization-KJJXZLVK.js.map} +0 -0
  789. /package/dist/{performance-PCZHQCZ5.js.map → performance-7YU4HOGH.js.map} +0 -0
  790. /package/dist/{pixels-GHEAK62X.js.map → pixels-R4MOLWAR.js.map} +0 -0
  791. /package/dist/{promoted-tweet-writes-O4RTZFSI.js.map → promoted-tweet-writes-TNELWPVG.js.map} +0 -0
  792. /package/dist/{promoted-tweets-AWP6MGJI.js.map → promoted-tweets-76WKUFJQ.js.map} +0 -0
  793. /package/dist/{publish-PODZKJHW.js.map → publish-BKLHCKHB.js.map} +0 -0
  794. /package/dist/{query-FUSR27T4.js.map → query-XDHZMGLX.js.map} +0 -0
  795. /package/dist/{reddit-UNUNWSNR.js.map → reddit-YK3YUZEI.js.map} +0 -0
  796. /package/dist/{refresh-34UO2LXY.js.map → refresh-WIII7KXB.js.map} +0 -0
  797. /package/dist/{release-BD3EAD75.js.map → release-ZHXYQI7G.js.map} +0 -0
  798. /package/dist/{relevant-pages-FNKYR2OG.js.map → relevant-pages-CTG72PBR.js.map} +0 -0
  799. /package/dist/{remove-YQYSQCWI.js.map → remove-NOX4BXWK.js.map} +0 -0
  800. /package/dist/{reopen-MULNJOR5.js.map → reopen-NLWKK5HB.js.map} +0 -0
  801. /package/dist/{rerun-6YGYJPM7.js.map → rerun-DZWQNMZQ.js.map} +0 -0
  802. /package/dist/{research-6WEL3USW.js.map → research-Q3P76RHN.js.map} +0 -0
  803. /package/dist/{research-OBECRSPL.js.map → research-UDZBCDNX.js.map} +0 -0
  804. /package/dist/{reset-5TTLZ43U.js.map → reset-5UHFX7QY.js.map} +0 -0
  805. /package/dist/{reset-PRTK6YUD.js.map → reset-MTRJQUP7.js.map} +0 -0
  806. /package/dist/{resolve-6RM63T55.js.map → resolve-DA72VT7Q.js.map} +0 -0
  807. /package/dist/{retry-Z3C624JW.js.map → retry-LQUBX5TK.js.map} +0 -0
  808. /package/dist/{retry-XYTVP7BV.js.map → retry-U6F4CS6O.js.map} +0 -0
  809. /package/dist/{rules-AUAJUM2T.js.map → rules-VS5PZ7VO.js.map} +0 -0
  810. /package/dist/{rules-add-7VFGPGZ7.js.map → rules-add-LMVZYDXE.js.map} +0 -0
  811. /package/dist/{run-S3SVCTIB.js.map → run-6PRA2YSD.js.map} +0 -0
  812. /package/dist/{run-YA5RCRIX.js.map → run-R6COFNOR.js.map} +0 -0
  813. /package/dist/{scaffold-ad-2KQULVJU.js.map → scaffold-ad-3OVJ7VZQ.js.map} +0 -0
  814. /package/dist/{scaffold-static-ad-S46QADGV.js.map → scaffold-static-ad-DDRA3Q5I.js.map} +0 -0
  815. /package/dist/{scaffold-video-ZMHI2JDU.js.map → scaffold-video-3JZYFYFU.js.map} +0 -0
  816. /package/dist/{schedule-FT6P3EKG.js.map → schedule-ED2YDUPY.js.map} +0 -0
  817. /package/dist/{scheduled-agents-L7K4QWMD.js.map → scheduled-agents-5P67MVGX.js.map} +0 -0
  818. /package/dist/{schema-CH654RZB.js.map → schema-4XVKERSA.js.map} +0 -0
  819. /package/dist/{search-YKYB2P2M.js.map → search-Y2UMIQ57.js.map} +0 -0
  820. /package/dist/{select-PM7JUDQY.js.map → select-OZ4E6VLF.js.map} +0 -0
  821. /package/dist/{set-prompt-VATAT7H6.js.map → set-prompt-O4YAE4CE.js.map} +0 -0
  822. /package/dist/{setup-links-TM3NCVU7.js.map → setup-links-2GJYCV2A.js.map} +0 -0
  823. /package/dist/{site-ATAXCWXS.js.map → site-47B6V2UX.js.map} +0 -0
  824. /package/dist/{sources-V544MB26.js.map → sources-DXPZAPQ7.js.map} +0 -0
  825. /package/dist/{sources-N5RKYKFS.js.map → sources-NDXYTASG.js.map} +0 -0
  826. /package/dist/{stale-RNEYXKFX.js.map → stale-VLVBO2L6.js.map} +0 -0
  827. /package/dist/{stats-CVF6AC7R.js.map → stats-37OFAMPW.js.map} +0 -0
  828. /package/dist/{status-DPTFOJVV.js.map → status-4ODD46XY.js.map} +0 -0
  829. /package/dist/{stock-4LPQ6SM7.js.map → stock-6R5E7MJX.js.map} +0 -0
  830. /package/dist/{studio-NZ3NA4L4.js.map → studio-LEIGL3Q7.js.map} +0 -0
  831. /package/dist/{sync-UBLCCOQZ.js.map → sync-TKNVBUDM.js.map} +0 -0
  832. /package/dist/{sync-definition-RXRSI2LT.js.map → sync-definition-M5R3H3TP.js.map} +0 -0
  833. /package/dist/{tag-manager-FLXXLNKP.js.map → tag-manager-3Q55PBEW.js.map} +0 -0
  834. /package/dist/{tags-5OM2VN3Q.js.map → tags-4N5UUUN6.js.map} +0 -0
  835. /package/dist/{tags-MHKZW2JN.js.map → tags-5NHIAD5A.js.map} +0 -0
  836. /package/dist/{tags-Z6AH7FDT.js.map → tags-UUKWSWCN.js.map} +0 -0
  837. /package/dist/{tags-CJWSUBCD.js.map → tags-VK7B5DJF.js.map} +0 -0
  838. /package/dist/{tags-2D4AN2QB.js.map → tags-XAHIB3WA.js.map} +0 -0
  839. /package/dist/{targeting-criteria-RSAN4KW5.js.map → targeting-criteria-AVARWV2G.js.map} +0 -0
  840. /package/dist/{targets-EER2G4WH.js.map → targets-6RYLQRID.js.map} +0 -0
  841. /package/dist/{testimonials-4WJKAZ5S.js.map → testimonials-6TF6BOFN.js.map} +0 -0
  842. /package/dist/{themes-XUALHDHR.js.map → themes-JZ3DPE7L.js.map} +0 -0
  843. /package/dist/{top-companies-BSOYGMIB.js.map → top-companies-45EHRCJD.js.map} +0 -0
  844. /package/dist/{translate-2XRHDWSC.js.map → translate-VHLBACCE.js.map} +0 -0
  845. /package/dist/{triggers-NU6BQ5NJ.js.map → triggers-ERQONJNO.js.map} +0 -0
  846. /package/dist/{unlink-LQGPZND2.js.map → unlink-TPDO6JNF.js.map} +0 -0
  847. /package/dist/{unstage-GDKW56MH.js.map → unstage-YKKQQ7LW.js.map} +0 -0
  848. /package/dist/{update-43QN723C.js.map → update-43WU6X7R.js.map} +0 -0
  849. /package/dist/{update-QRGEMNBY.js.map → update-CAHLAXWO.js.map} +0 -0
  850. /package/dist/{update-EGOWYBEH.js.map → update-NGH6YADN.js.map} +0 -0
  851. /package/dist/{update-6CAZKFTC.js.map → update-SPJIHHLE.js.map} +0 -0
  852. /package/dist/{upload-LIHRXWUY.js.map → upload-ACESIZIZ.js.map} +0 -0
  853. /package/dist/{url-options-JXL4W7TB.js.map → url-options-VNX5KYUQ.js.map} +0 -0
  854. /package/dist/{url-params-YXRZ4TUD.js.map → url-params-MIXEDBF7.js.map} +0 -0
  855. /package/dist/{validate-KO3MEJUZ.js.map → validate-XJJA7ULE.js.map} +0 -0
  856. /package/dist/{videos-BPJ34YZL.js.map → videos-LBXPG7WC.js.map} +0 -0
  857. /package/dist/{viewer-check-SA5AUQ26.js.map → viewer-check-7VJ3GUZX.js.map} +0 -0
  858. /package/dist/{web-KS47ZHXX.js.map → web-EWQJC2SD.js.map} +0 -0
  859. /package/dist/{winning-ads-LE2ALICG.js.map → winning-ads-SAOJAKEQ.js.map} +0 -0
  860. /package/dist/{x-DZGRJQ7Y.js.map → x-LXOJPCRF.js.map} +0 -0
@@ -0,0 +1,228 @@
1
+ import {
2
+ NUMERIC_ID_REGEX
3
+ } from "./chunk-WTJSMYY2.js";
4
+
5
+ // ../api/src/ads-google/change-history.ts
6
+ var CHANGE_SCOPES = ["detail", "summary"];
7
+ var CHANGE_SCOPE_MAX_DAYS = {
8
+ detail: 30,
9
+ summary: 90
10
+ };
11
+ var DEFAULT_CHANGE_DAYS = 7;
12
+ var MAX_CHANGE_DAYS = CHANGE_SCOPE_MAX_DAYS.summary;
13
+ function isChangeLookbackWithinReach(days, scope) {
14
+ return days <= CHANGE_SCOPE_MAX_DAYS[scope];
15
+ }
16
+
17
+ // ../api/src/ads-google/keyword-planning.ts
18
+ import { z } from "zod";
19
+ var ISO_DATE = /^\d{4}-\d{2}-\d{2}$/;
20
+ var micros = z.number().int().positive();
21
+ var FORECAST_MATCH_TYPES = ["EXACT", "PHRASE", "BROAD"];
22
+ var googleForecastBiddingSchema = z.discriminatedUnion("strategy", [
23
+ z.object({ strategy: z.literal("MANUAL_CPC"), maxCpcBidMicros: micros, dailyBudgetMicros: micros.optional() }),
24
+ z.object({
25
+ strategy: z.literal("MAXIMIZE_CLICKS"),
26
+ dailyTargetSpendMicros: micros,
27
+ maxCpcBidCeilingMicros: micros.optional()
28
+ }),
29
+ z.object({ strategy: z.literal("MAXIMIZE_CONVERSIONS"), dailyTargetSpendMicros: micros })
30
+ ]);
31
+ var googleKeywordForecastRequestSchema = z.object({
32
+ customerId: z.string().regex(NUMERIC_ID_REGEX, "customerId must be the bare numeric customer id"),
33
+ managerId: z.string().optional(),
34
+ /** One forecast ad group per entry; most forecasts are a single group. */
35
+ adGroups: z.array(
36
+ z.object({
37
+ keywords: z.array(z.object({ text: z.string().trim().min(1).max(80), matchType: z.enum(FORECAST_MATCH_TYPES) })).min(1)
38
+ })
39
+ ).min(1),
40
+ locationIds: z.array(z.string().regex(NUMERIC_ID_REGEX)).optional(),
41
+ languageId: z.string().regex(NUMERIC_ID_REGEX).optional(),
42
+ bidding: googleForecastBiddingSchema,
43
+ /** Must start in the future and end within a year. Without them Baker forecasts the 30 days from tomorrow. */
44
+ startDate: z.string().regex(ISO_DATE).optional(),
45
+ endDate: z.string().regex(ISO_DATE).optional(),
46
+ currencyCode: z.string().length(3).optional()
47
+ }).refine((body) => body.startDate === void 0 === (body.endDate === void 0), {
48
+ message: "Give both --start and --end, or neither (the forecast then covers the 30 days from tomorrow)",
49
+ path: ["endDate"]
50
+ });
51
+ var KEYWORD_FORECAST_SOURCE = "keyword_planner_forecast";
52
+ var googleKeywordForecastResponseSchema = z.object({
53
+ source: z.literal(KEYWORD_FORECAST_SOURCE),
54
+ period: z.object({ startDate: z.string(), endDate: z.string() }),
55
+ forecast_clicks: z.number().nullable(),
56
+ forecast_cost_micros: z.number().nullable(),
57
+ forecast_conversions: z.number().nullable(),
58
+ forecast_average_cpc_micros: z.number().nullable(),
59
+ forecast_average_cpa_micros: z.number().nullable()
60
+ });
61
+ var googleAdGroupThemesRequestSchema = z.object({
62
+ customerId: z.string().regex(NUMERIC_ID_REGEX, "customerId must be the bare numeric customer id"),
63
+ managerId: z.string().optional(),
64
+ keywords: z.array(z.string().trim().min(1)).min(1),
65
+ /** Existing ad groups to sort the keywords into: numeric ids or `customers/{cid}/adGroups/{id}`. */
66
+ adGroups: z.array(z.string().min(1)).min(1)
67
+ });
68
+ var googleAdGroupThemesResponseSchema = z.object({
69
+ suggestions: z.array(
70
+ z.object({
71
+ keyword: z.string(),
72
+ suggested_keyword: z.string(),
73
+ match_type: z.string(),
74
+ ad_group: z.string(),
75
+ campaign: z.string()
76
+ })
77
+ ),
78
+ unusable_ad_groups: z.array(z.object({ ad_group: z.string(), campaign: z.string() }))
79
+ });
80
+
81
+ // ../api/src/ads-google/url-options.ts
82
+ import { z as z2 } from "zod";
83
+ var URL_OPTION_LEVELS = ["account", "campaign", "ad_group", "ad"];
84
+ var googleUrlOptionValueSchema = z2.discriminatedUnion("state", [
85
+ z2.object({ state: z2.literal("set"), value: z2.string() }),
86
+ z2.object({ state: z2.literal("not_set") }),
87
+ z2.object({ state: z2.literal("not_read"), reason: z2.string() })
88
+ ]);
89
+ var googleUrlOptionsRequestSchema = z2.object({
90
+ customerId: z2.string().regex(NUMERIC_ID_REGEX, "customerId must be the bare numeric customer id"),
91
+ managerId: z2.string().optional(),
92
+ /** Compact by default: only campaigns that actually override the account. `full` lists every campaign. */
93
+ full: z2.boolean().optional(),
94
+ skipCache: z2.boolean().optional()
95
+ });
96
+ var googleUrlOptionsCampaignSchema = z2.object({
97
+ id: z2.string(),
98
+ name: z2.string(),
99
+ status: z2.string(),
100
+ final_url_suffix: googleUrlOptionValueSchema,
101
+ tracking_url_template: googleUrlOptionValueSchema
102
+ });
103
+ var googleUrlOptionsAdGroupSchema = z2.object({
104
+ id: z2.string(),
105
+ name: z2.string(),
106
+ status: z2.string(),
107
+ campaign_id: z2.string(),
108
+ final_url_suffix: googleUrlOptionValueSchema,
109
+ tracking_url_template: googleUrlOptionValueSchema
110
+ });
111
+ var googleUrlOptionsAdSchema = z2.object({
112
+ id: z2.string(),
113
+ status: z2.string(),
114
+ ad_group_id: z2.string(),
115
+ campaign_id: z2.string(),
116
+ final_url_suffix: googleUrlOptionValueSchema,
117
+ tracking_url_template: googleUrlOptionValueSchema
118
+ });
119
+ var googleUrlOptionsResponseSchema = z2.object({
120
+ customer_id: z2.string(),
121
+ account: z2.object({
122
+ level: z2.literal("account"),
123
+ read: z2.boolean(),
124
+ final_url_suffix: googleUrlOptionValueSchema,
125
+ tracking_url_template: googleUrlOptionValueSchema
126
+ }),
127
+ campaigns: z2.object({
128
+ level: z2.literal("campaign"),
129
+ read: z2.boolean(),
130
+ /** Campaigns actually observed. 0 with `read: true` means the account has no non-removed campaigns. */
131
+ campaigns_read: z2.number().int().nonnegative(),
132
+ /** Campaigns observed to carry no override of their own — an explicit finding, not an omission. */
133
+ campaigns_without_override: z2.number().int().nonnegative(),
134
+ overrides: z2.array(googleUrlOptionsCampaignSchema),
135
+ /** Compact mode only: campaigns read but not listed because they carry no override. */
136
+ omitted: z2.number().int().nonnegative()
137
+ }),
138
+ /**
139
+ * Ad groups and ads that carry an override of their own — read by asking Google only for the
140
+ * entities whose suffix or template IS NOT NULL, so an account of thousands of ads costs one page.
141
+ * `read: true` with no overrides is a finding: nothing at this level overrides the levels above.
142
+ * `truncated` means more overriding entities exist than one page listed.
143
+ */
144
+ ad_groups: z2.object({
145
+ level: z2.literal("ad_group"),
146
+ read: z2.boolean(),
147
+ overrides: z2.array(googleUrlOptionsAdGroupSchema),
148
+ truncated: z2.boolean()
149
+ }),
150
+ ads: z2.object({
151
+ level: z2.literal("ad"),
152
+ read: z2.boolean(),
153
+ overrides: z2.array(googleUrlOptionsAdSchema),
154
+ truncated: z2.boolean()
155
+ }),
156
+ /** Levels this command could not read. Nothing here may be reported as "not configured". */
157
+ levels_not_read: z2.array(z2.object({ level: z2.enum(URL_OPTION_LEVELS), reason: z2.string() }))
158
+ });
159
+ var ACCOUNT_URL_OPTIONS_LOCATION = "Google Ads UI \u2192 Admin \u2192 Account settings \u2192 Tracking (account-level tracking template and final URL suffix)";
160
+ var ACCOUNT_URL_OPTIONS_STAGE_COMMAND = 'baker ads google account update --customer-id <id> --final-url-suffix "utm_agency=baker"';
161
+ function isSet(value) {
162
+ return value.state === "set";
163
+ }
164
+ function entityOverrideHints(label, plural, field, level) {
165
+ if (!level.read) return [];
166
+ const hints = [];
167
+ const overriding = level.overrides.filter((entity) => isSet(entity.final_url_suffix));
168
+ if (overriding.length > 0) {
169
+ const named = overriding.slice(0, 5).map((entity) => entity.name || entity.id).join(", ");
170
+ hints.push(
171
+ `${overriding.length} ${label}(s) set their own final URL suffix (${named}${overriding.length > 5 ? ", \u2026" : ""}). It REPLACES the campaign and account suffix for every click through it, so an account-wide parameter must be added to theirs too.`
172
+ );
173
+ }
174
+ if (level.truncated) {
175
+ hints.push(
176
+ `More ${plural} override the URL options than one page lists \u2014 read them all with \`baker ads google query\` on ${field}.final_url_suffix IS NOT NULL --all before saying which ones do.`
177
+ );
178
+ }
179
+ return hints;
180
+ }
181
+ function urlOptionsHints(report) {
182
+ const hints = [];
183
+ const { account, campaigns } = report;
184
+ if (!account.read) {
185
+ hints.push(
186
+ "The account level did NOT read \u2014 its URL options are unknown, not empty. Re-run before telling the user anything about account-wide tagging."
187
+ );
188
+ } else if (account.final_url_suffix.state === "not_set") {
189
+ hints.push(
190
+ `No account-level final URL suffix is set. An account-wide parameter (agency/partner tagging such as utm_agency=\u2026) belongs at the account level so it reaches every ad \u2014 stage it with \`${ACCOUNT_URL_OPTIONS_STAGE_COMMAND}\` (applies at Publish; the user sees it under ${ACCOUNT_URL_OPTIONS_LOCATION}).`
191
+ );
192
+ }
193
+ if (!campaigns.read) {
194
+ hints.push(
195
+ "Campaign-level URL options did NOT read \u2014 do not report that no campaign overrides exist. Re-run before concluding."
196
+ );
197
+ } else {
198
+ const overriding = campaigns.overrides.filter((c) => isSet(c.final_url_suffix));
199
+ if (overriding.length > 0) {
200
+ const named = overriding.slice(0, 5).map((c) => c.name || c.id).join(", ");
201
+ hints.push(
202
+ `A campaign's final URL suffix REPLACES the account-level one for that campaign \u2014 it does not merge. ${overriding.length} campaign(s) set their own (${named}${overriding.length > 5 ? ", \u2026" : ""}) and will not pick up an account-wide parameter until their own suffix carries it too. Every other campaign read here inherits the account level normally.`
203
+ );
204
+ }
205
+ }
206
+ hints.push(...entityOverrideHints("ad group", "ad groups", "ad_group", report.ad_groups));
207
+ hints.push(...entityOverrideHints("ad", "ads", "ad_group_ad.ad", report.ads));
208
+ const overridingLevelsNotRead = report.levels_not_read.filter((level) => level.level !== "account");
209
+ if (overridingLevelsNotRead.length > 0) {
210
+ hints.push(
211
+ `Not read at this level: ${overridingLevelsNotRead.map((l) => l.level).join(", ")}. A suffix set there still wins over the levels above it.`
212
+ );
213
+ }
214
+ if (campaigns.omitted > 0) {
215
+ hints.push(`${campaigns.omitted} campaign(s) read with no override of their own are not listed \u2014 pass --full.`);
216
+ }
217
+ return hints;
218
+ }
219
+
220
+ export {
221
+ CHANGE_SCOPES,
222
+ CHANGE_SCOPE_MAX_DAYS,
223
+ DEFAULT_CHANGE_DAYS,
224
+ isChangeLookbackWithinReach,
225
+ googleKeywordForecastRequestSchema,
226
+ urlOptionsHints
227
+ };
228
+ //# sourceMappingURL=chunk-SVM3DGAQ.js.map
@@ -0,0 +1,156 @@
1
+ import {
2
+ Phrases,
3
+ RULE_APPLIES,
4
+ RULE_KINDS,
5
+ RULE_STRENGTHS
6
+ } from "./chunk-Y46FE75E.js";
7
+ import {
8
+ holdWorkspaceSpend
9
+ } from "./chunk-UFKO626N.js";
10
+ import {
11
+ askAboutText
12
+ } from "./chunk-S4VLLGTW.js";
13
+ import {
14
+ CREATIVE_FEEDBACK_REASON_LABELS
15
+ } from "./chunk-DAO63OOP.js";
16
+
17
+ // src/commands/creatives/rule-candidate.ts
18
+ import { createHash } from "crypto";
19
+ import { mkdir, readFile, writeFile } from "fs/promises";
20
+ import path from "path";
21
+ import { z } from "zod";
22
+ var optionalPhrases = Phrases.optional().catch(void 0);
23
+ var Draft = z.object({
24
+ because: z.string().trim().min(3).max(400),
25
+ text: z.string().trim().min(1).max(300),
26
+ strength: z.enum(RULE_STRENGTHS).catch("must"),
27
+ applies: z.enum(RULE_APPLIES).catch("any"),
28
+ language: z.string().trim().regex(/^[a-z]{2,3}$/).optional().catch(void 0),
29
+ kinds: z.array(z.enum(RULE_KINDS)).optional().catch(void 0),
30
+ platforms: optionalPhrases,
31
+ forbid: optionalPhrases,
32
+ require: optionalPhrases,
33
+ allow: optionalPhrases,
34
+ people: z.literal("real").optional().catch(void 0)
35
+ });
36
+ function parseDrafts(answer) {
37
+ const rules = answer?.rules;
38
+ if (!Array.isArray(rules)) return [];
39
+ return rules.slice(0, MAX_DRAFTS).flatMap((raw) => {
40
+ const draft = Draft.safeParse(raw);
41
+ if (!draft.success) return [];
42
+ const { because: _because, ...rule } = draft.data;
43
+ return [
44
+ Object.fromEntries(
45
+ Object.entries(rule).filter(([, v]) => v !== void 0 && !(Array.isArray(v) && v.length === 0))
46
+ )
47
+ ];
48
+ });
49
+ }
50
+ var MAX_DRAFTS = 3;
51
+ function draftRulesPrompt(note, ad) {
52
+ const where = [ad.kind ? `a ${ad.kind} ad` : "an ad", ad.platform ? `for ${ad.platform}` : ""].filter(Boolean).join(" ");
53
+ return [
54
+ `A person rejected ${where} and said, in their own words:`,
55
+ `"""${note}"""`,
56
+ "",
57
+ "List only the standing rules this note states for EVERY future ad of the company (at most 3). Most notes state none: they ask for changes to this ad (fix a word, move the logo, speed up a scene, redo the pieces), and a change to this ad is never a rule, however it is phrased. A rule is standing only when the note itself says it holds beyond this ad (always, never, in every video, in these creatives, these mistakes keep happening, it is the format of the programme, the rule of the other pieces), or it corrects how the company or what it sells must always be named.",
58
+ "For each rule, quote in `because` the note's own words that make it hold beyond this ad; a rule you cannot quote that for is not a rule. Return JSON only:",
59
+ '{"rules": [{"because": string, "text": string, "strength": "never" | "must" | "prefer", "applies": "copy" | "picture" | "cast" | "logo" | "voice" | "sound" | "subtitles" | "any", "language": string, "kinds": ["static" | "video"], "platforms": string[], "forbid": string[], "require": string[], "allow": string[], "people": "real" | null}]}',
60
+ "- text: the rule in one short sentence, in the note's own language and close to its words.",
61
+ '- strength: "never" for a ban, "must" for something every ad has to do, "prefer" for a taste.',
62
+ '- applies: what of the ad it is about ("copy" for its words, "picture", "cast" for who appears, "logo", "voice", "sound", "subtitles"), else "any".',
63
+ `- language: the note's language as a two-letter code ("es").`,
64
+ '- kinds and platforms: only when the note limits the rule to them ("en estos creativos de linkedin" gives platforms ["linkedin"]); else [].',
65
+ `- forbid: the exact words the rule bans in the ad's words, only when a word or phrase decides it ("100 % online", not "online" gives forbid ["online"], allow ["100 % online"]); else []. require: words every ad must say; usually []. allow: the right phrase that contains a banned word.`,
66
+ '- people: "real" only when the rule is that no AI-made or invented people appear; else null.',
67
+ 'Return {"rules": []} when the note states no standing rule.'
68
+ ].join("\n");
69
+ }
70
+ var RULE_DRAFT_MODEL = "google/gemini-3.5-flash";
71
+ var DRAFT_REQUEST = {
72
+ provider: { order: ["google-vertex"], allow_fallbacks: false },
73
+ seed: 0,
74
+ reasoning: { effort: "low" },
75
+ response_format: { type: "json_object" }
76
+ };
77
+ var DRAFT_TIMEOUT_MS = 3e4;
78
+ function modelRuleDrafter(cacheDir) {
79
+ return async (note, ad) => {
80
+ const prompt = draftRulesPrompt(note, ad);
81
+ const key = createHash("sha256").update(JSON.stringify([RULE_DRAFT_MODEL, prompt])).digest("hex").slice(0, 16);
82
+ const file = path.join(cacheDir, "rule-drafts", `${key}.json`);
83
+ const cached = await readFile(file, "utf8").then(
84
+ (raw) => parseDrafts(JSON.parse(raw)),
85
+ () => null
86
+ );
87
+ if (cached) return cached;
88
+ const spent = [];
89
+ const answer = await askAboutText(RULE_DRAFT_MODEL, prompt, (u) => spent.push(u), {
90
+ timeoutMs: DRAFT_TIMEOUT_MS,
91
+ request: DRAFT_REQUEST
92
+ }).catch(() => null);
93
+ await holdWorkspaceSpend(spent);
94
+ if (answer === null) return [];
95
+ await mkdir(path.dirname(file), { recursive: true }).catch(() => void 0);
96
+ await writeFile(file, JSON.stringify(answer), "utf8").catch(() => void 0);
97
+ return parseDrafts(answer);
98
+ };
99
+ }
100
+ async function ruleCandidates(note, ad, draft) {
101
+ const text = note?.trim();
102
+ if (!text) return [];
103
+ return await draft(text, ad).catch(() => []);
104
+ }
105
+ var candidatesDir = (cacheDir) => path.join(cacheDir, "rule-candidates");
106
+ async function saveCandidates(cacheDir, candidates) {
107
+ await mkdir(candidatesDir(cacheDir), { recursive: true });
108
+ return await Promise.all(
109
+ candidates.map(async (c) => {
110
+ const id = `rc-${createHash("sha256").update(JSON.stringify(c)).digest("hex").slice(0, 8)}`;
111
+ await writeFile(path.join(candidatesDir(cacheDir), `${id}.json`), JSON.stringify(c), "utf8");
112
+ return id;
113
+ })
114
+ );
115
+ }
116
+ async function loadCandidate(cacheDir, id) {
117
+ if (!/^rc-[0-9a-f]{8}$/.test(id)) return null;
118
+ return await readFile(path.join(candidatesDir(cacheDir), `${id}.json`), "utf8").then(
119
+ (raw) => JSON.parse(raw),
120
+ () => null
121
+ );
122
+ }
123
+ var REPEATED_ON = 2;
124
+ var REPEATED_NOTES = 3;
125
+ function repeatedReasons(notes, reasons, slug) {
126
+ return reasons.flatMap((reason) => {
127
+ const others = notes.filter((n) => n.creative !== slug && n.reasons.includes(reason));
128
+ const creatives = new Set(others.map((n) => n.creative)).size;
129
+ return creatives >= REPEATED_ON ? [
130
+ {
131
+ label: CREATIVE_FEEDBACK_REASON_LABELS[reason],
132
+ creatives,
133
+ notes: [...new Set(others.map((n) => n.note))].slice(0, REPEATED_NOTES)
134
+ }
135
+ ] : [];
136
+ });
137
+ }
138
+ function ruleCandidateHints(drafted, repeated) {
139
+ const asks = drafted.map(
140
+ (d) => `Their words state a rule for every ad: "${d.text}". Ask them once, in their language: make this a rule for every ad from now on? Only on yes: \`baker creatives rules add --candidate ${d.id}\` (reword it with --text if they correct it). On no, never ask again in this chat.`
141
+ );
142
+ const patterns = repeated.map(
143
+ (r) => `"${r.label}" was also the reason on ${r.creatives} other ads (their words: ${r.notes.map((n) => `"${n}"`).join("; ")}). ${drafted.length > 0 ? "Say so when you ask." : 'Ask them once whether there is a rule for every ad behind it; on yes, `baker creatives rules add --text "<the rule, in their words>" \u2026`.'}`
144
+ );
145
+ return [...asks, ...patterns];
146
+ }
147
+
148
+ export {
149
+ modelRuleDrafter,
150
+ ruleCandidates,
151
+ saveCandidates,
152
+ loadCandidate,
153
+ repeatedReasons,
154
+ ruleCandidateHints
155
+ };
156
+ //# sourceMappingURL=chunk-TTKBNBQF.js.map
@@ -0,0 +1,207 @@
1
+ import {
2
+ handleConnectionError,
3
+ needsConnectionFix,
4
+ writeAdsJson
5
+ } from "./chunk-2VIZ4UUZ.js";
6
+ import {
7
+ LINKEDIN_SEARCH_STATUSES,
8
+ unsupportedLinkedinSearchStatuses
9
+ } from "./chunk-DAO63OOP.js";
10
+ import {
11
+ ApiError
12
+ } from "./chunk-6YLNY6CK.js";
13
+ import {
14
+ MissingChatIdError,
15
+ getEnv
16
+ } from "./chunk-57KKVDDR.js";
17
+
18
+ // src/commands/ads/linkedin/shared.ts
19
+ import { readFileSync } from "fs";
20
+ var DAY_MS = 864e5;
21
+ function handleLinkedinError(err) {
22
+ if (err instanceof ApiError) {
23
+ if (needsConnectionFix(err.code, err.message)) {
24
+ handleConnectionError("linkedin_ads", err.message);
25
+ }
26
+ if (isNoAccountsSelectedError(err.code, err.message)) {
27
+ handleConnectionError("linkedin_ads", err.message);
28
+ }
29
+ const explanation = explainLinkedinError(err);
30
+ const envelope = {
31
+ ok: false,
32
+ error: {
33
+ code: err.code,
34
+ message: err.message,
35
+ fix: {
36
+ action: explanation.action,
37
+ explanation: explanation.message,
38
+ correctedCommand: explanation.correctedCommand
39
+ },
40
+ retryable: err.code === "RATE_LIMITED" || err.code === "UNAVAILABLE" || err.code === "INTERNAL_ERROR"
41
+ }
42
+ };
43
+ writeAdsJson(envelope);
44
+ process.exit(1);
45
+ }
46
+ writeAdsJson(unexpectedErrorEnvelope(err));
47
+ process.exit(1);
48
+ }
49
+ function unexpectedErrorEnvelope(err) {
50
+ if (err instanceof MissingChatIdError) {
51
+ return {
52
+ ok: false,
53
+ error: {
54
+ code: err.code,
55
+ message: err.message,
56
+ fix: {
57
+ action: "reject",
58
+ explanation: "LinkedIn changes are staged in a chat and this run has none. Don't retry: carry on with the rest of the job and tell the user this change couldn't be staged from here."
59
+ },
60
+ retryable: false
61
+ }
62
+ };
63
+ }
64
+ const message = err instanceof Error ? err.message : "Unexpected error";
65
+ return { ok: false, error: { code: "NETWORK_ERROR", message } };
66
+ }
67
+ function isNoAccountsSelectedError(code, message) {
68
+ return code === "VALIDATION_ERROR" && /no linkedin ad accounts selected/i.test(message);
69
+ }
70
+ function explainLinkedinError(err) {
71
+ const lower = err.message.toLowerCase();
72
+ if (err.code === "VALIDATION_ERROR" && lower.includes("granularity") && lower.includes("daily")) {
73
+ return {
74
+ action: "retry_with_flag",
75
+ message: "LinkedIn rejects DAILY granularity when pivoting on demographic dims (job-title, company, etc.). Re-run with --granularity ALL or MONTHLY.",
76
+ correctedCommand: void 0
77
+ };
78
+ }
79
+ if (err.code === "RATE_LIMITED") {
80
+ return {
81
+ action: "wait_and_retry",
82
+ message: "Hit a LinkedIn throttle. The CLI already backs off automatically \u2014 if you see this you've exhausted the retry budget. Wait ~60s and retry."
83
+ };
84
+ }
85
+ if (err.code === "INTERNAL_ERROR" && lower.includes("deprecat")) {
86
+ return {
87
+ action: "reject",
88
+ message: "LinkedIn-Version header is deprecated. The backend constant LINKEDIN_API_VERSION needs to be bumped \u2014 file an issue or update the constant."
89
+ };
90
+ }
91
+ return { action: "reject", message: err.message };
92
+ }
93
+ var LI_ACCOUNT_ID_RE = /^(urn:li:sponsoredAccount:)?\d+$/;
94
+ function resolveAccountIdArg(args) {
95
+ const fromArgs = args["account-id"] ?? args["account-urn"];
96
+ const id = fromArgs || getEnv().BAKER_LINKEDIN_AD_ACCOUNT_ID;
97
+ if (!id) {
98
+ writeAdsJson({
99
+ ok: false,
100
+ error: {
101
+ code: "MISSING_ACCOUNT_ID",
102
+ message: "Pass --account-id (numeric) or --account-urn (urn:li:sponsoredAccount:N), or set BAKER_LINKEDIN_AD_ACCOUNT_ID. Run `baker ads linkedin accounts` to find IDs."
103
+ }
104
+ });
105
+ process.exit(1);
106
+ }
107
+ if (!LI_ACCOUNT_ID_RE.test(id)) {
108
+ writeAdsJson({
109
+ ok: false,
110
+ error: {
111
+ code: "INVALID_ACCOUNT_ID",
112
+ message: `Invalid LinkedIn account ID "${id}". Expected numeric or urn:li:sponsoredAccount:N.`
113
+ }
114
+ });
115
+ process.exit(1);
116
+ }
117
+ return id.startsWith("urn:") ? id.split(":").pop() ?? id : id;
118
+ }
119
+ function todayIso() {
120
+ return (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
121
+ }
122
+ function daysAgoIso(days) {
123
+ return new Date(Date.now() - days * DAY_MS).toISOString().slice(0, 10);
124
+ }
125
+ function csvOrJson(args) {
126
+ return args.output ?? "json";
127
+ }
128
+ function statusesArgDescription(level) {
129
+ return `CSV of statuses (${LINKEDIN_SEARCH_STATUSES[level].join(",")})`;
130
+ }
131
+ function statusFilterError(level, statuses) {
132
+ const unsupported = unsupportedLinkedinSearchStatuses(level, statuses);
133
+ if (unsupported.length === 0) {
134
+ return null;
135
+ }
136
+ const accepted = LINKEDIN_SEARCH_STATUSES[level].join(",");
137
+ return {
138
+ ok: false,
139
+ error: {
140
+ code: "INVALID_STATUS",
141
+ message: `LinkedIn does not accept status ${unsupported.join(", ")} for this listing.`,
142
+ fix: {
143
+ action: "retry_with_flag",
144
+ explanation: `Re-run with --statuses from ${accepted}, or --all-statuses to drop the filter.`
145
+ },
146
+ retryable: false
147
+ }
148
+ };
149
+ }
150
+ function resolveStatusFilter(args, level) {
151
+ if (args["all-statuses"]) {
152
+ return void 0;
153
+ }
154
+ const explicit = args.statuses;
155
+ if (!explicit) {
156
+ return ["ACTIVE"];
157
+ }
158
+ const statuses = explicit.split(",").map((s) => s.trim().toUpperCase()).filter(Boolean);
159
+ const error = statusFilterError(level, statuses);
160
+ if (error) {
161
+ writeAdsJson(error);
162
+ process.exit(1);
163
+ }
164
+ return statuses;
165
+ }
166
+ function loadTargetingArg(args) {
167
+ const inline = args.targeting;
168
+ if (inline) {
169
+ try {
170
+ return JSON.parse(inline);
171
+ } catch {
172
+ handleLinkedinError(new Error("--targeting must be valid JSON. See LinkedIn 'targetingCriteria' shape."));
173
+ }
174
+ }
175
+ const file = args["targeting-file"];
176
+ if (file) {
177
+ try {
178
+ return JSON.parse(readFileSync(file, "utf-8"));
179
+ } catch (e) {
180
+ handleLinkedinError(
181
+ new Error(`Failed to read --targeting-file: ${e instanceof Error ? e.message : "I/O error"}`)
182
+ );
183
+ }
184
+ }
185
+ handleLinkedinError(new Error("Pass --targeting-file <path> or --targeting '{...JSON...}'"));
186
+ }
187
+ function exitOnInvalidArgs(issues, flagByField) {
188
+ const messages = issues.map((issue) => {
189
+ const field = String(issue.path[0] ?? "");
190
+ return `${flagByField[field] ?? (field || "args")}: ${issue.message}`;
191
+ });
192
+ writeAdsJson({ ok: false, error: { code: "INVALID_ARGS", message: messages.join("; ") } });
193
+ process.exit(1);
194
+ }
195
+
196
+ export {
197
+ handleLinkedinError,
198
+ resolveAccountIdArg,
199
+ todayIso,
200
+ daysAgoIso,
201
+ csvOrJson,
202
+ statusesArgDescription,
203
+ resolveStatusFilter,
204
+ loadTargetingArg,
205
+ exitOnInvalidArgs
206
+ };
207
+ //# sourceMappingURL=chunk-VB3XUR6A.js.map