@koda-sl/baker-cli 0.512.0 → 0.514.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1077) hide show
  1. package/README.md +3 -3
  2. package/dist/account-D6LEVVWT.js +82 -0
  3. package/dist/account-D6LEVVWT.js.map +1 -0
  4. package/dist/account-SGK3IJ6N.js +82 -0
  5. package/dist/account-SGK3IJ6N.js.map +1 -0
  6. package/dist/account-assets-J5Z4URLQ.js +290 -0
  7. package/dist/account-level-4SBYYHRS.js +611 -0
  8. package/dist/account-level-4SBYYHRS.js.map +1 -0
  9. package/dist/account-reads-2MSUVG46.js +219 -0
  10. package/dist/account-users-MHC7AD6K.js +64 -0
  11. package/dist/account-users-MHC7AD6K.js.map +1 -0
  12. package/dist/account-writes-QQQC54WC.js +68 -0
  13. package/dist/account-writes-QQQC54WC.js.map +1 -0
  14. package/dist/accounts-2O6I7YBN.js +80 -0
  15. package/dist/accounts-2O6I7YBN.js.map +1 -0
  16. package/dist/accounts-QNE5QWBG.js +701 -0
  17. package/dist/accounts-QNE5QWBG.js.map +1 -0
  18. package/dist/actions-D7OWCP36.js +55 -0
  19. package/dist/activecampaign-LBS4M4C4.js +938 -0
  20. package/dist/activecampaign-LBS4M4C4.js.map +1 -0
  21. package/dist/ad-group-writes-CJTTUUIT.js +172 -0
  22. package/dist/ad-group-writes-CJTTUUIT.js.map +1 -0
  23. package/dist/ad-groups-HLGSVH74.js +70 -0
  24. package/dist/ad-groups-HLGSVH74.js.map +1 -0
  25. package/dist/ad-writes-3UE3U7VE.js +176 -0
  26. package/dist/ad-writes-3UE3U7VE.js.map +1 -0
  27. package/dist/add-HFQB2NTU.js +107 -0
  28. package/dist/add-HFQB2NTU.js.map +1 -0
  29. package/dist/add-IUYE5H6A.js +305 -0
  30. package/dist/add-IUYE5H6A.js.map +1 -0
  31. package/dist/ads-HLUJB5SQ.js +48 -0
  32. package/dist/ads-MAOI7S6V.js +115 -0
  33. package/dist/ads-PYNDMHUD.js +79 -0
  34. package/dist/ads-PYNDMHUD.js.map +1 -0
  35. package/dist/adsets-QRKICEFD.js +182 -0
  36. package/dist/advertisers-XXM6POO5.js +123 -0
  37. package/dist/advertisers-XXM6POO5.js.map +1 -0
  38. package/dist/analytics-AULKYNNT.js +447 -0
  39. package/dist/analytics-AULKYNNT.js.map +1 -0
  40. package/dist/analytics-DNDTC643.js +2437 -0
  41. package/dist/analytics-DNDTC643.js.map +1 -0
  42. package/dist/asset-writes-JLVUAVUZ.js +50 -0
  43. package/dist/assign-2GQVQKKO.js +80 -0
  44. package/dist/assign-2GQVQKKO.js.map +1 -0
  45. package/dist/audience-size-C3YHQPZB.js +76 -0
  46. package/dist/audience-size-C3YHQPZB.js.map +1 -0
  47. package/dist/audience-writes-CDKQB3SM.js +327 -0
  48. package/dist/audience-writes-CDKQB3SM.js.map +1 -0
  49. package/dist/audiences-CDDI5HR5.js +86 -0
  50. package/dist/audiences-M3A3QK52.js +280 -0
  51. package/dist/audiences-M3A3QK52.js.map +1 -0
  52. package/dist/audit-FLPJ7GTE.js +154 -0
  53. package/dist/audit-FLPJ7GTE.js.map +1 -0
  54. package/dist/autocomplete-ZYMHHV7E.js +114 -0
  55. package/dist/autocomplete-ZYMHHV7E.js.map +1 -0
  56. package/dist/avatars-WZ2JDMHH.js +38 -0
  57. package/dist/bid-pricing-H3M63PTW.js +103 -0
  58. package/dist/bid-pricing-H3M63PTW.js.map +1 -0
  59. package/dist/brand-IZTTBZII.js +22 -0
  60. package/dist/brief-OPQ7ICOY.js +543 -0
  61. package/dist/brief-OPQ7ICOY.js.map +1 -0
  62. package/dist/campaign-groups-IQSDKOVI.js +99 -0
  63. package/dist/campaign-groups-IQSDKOVI.js.map +1 -0
  64. package/dist/campaign-writes-APAAV4ZU.js +168 -0
  65. package/dist/campaign-writes-APAAV4ZU.js.map +1 -0
  66. package/dist/campaign-writes-BN4PZP4Z.js +176 -0
  67. package/dist/campaign-writes-BN4PZP4Z.js.map +1 -0
  68. package/dist/campaigns-4Y3JQC2U.js +111 -0
  69. package/dist/campaigns-GA34MEN2.js +78 -0
  70. package/dist/campaigns-GA34MEN2.js.map +1 -0
  71. package/dist/campaigns-HES5MDUG.js +130 -0
  72. package/dist/campaigns-K2FVD3XW.js +113 -0
  73. package/dist/campaigns-K2FVD3XW.js.map +1 -0
  74. package/dist/canvas-IQ753Q2O.js +46 -0
  75. package/dist/capabilities-ZITW4RF7.js +147 -0
  76. package/dist/capabilities-ZITW4RF7.js.map +1 -0
  77. package/dist/catalogs-TGLSJEK5.js +781 -0
  78. package/dist/catalogs-TGLSJEK5.js.map +1 -0
  79. package/dist/catalogs-ZR7DECMG.js +130 -0
  80. package/dist/catalogs-ZR7DECMG.js.map +1 -0
  81. package/dist/changes-VWKTM27U.js +135 -0
  82. package/dist/chatgpt-OPOD2WHB.js +47 -0
  83. package/dist/chats-AL2SYBJO.js +279 -0
  84. package/dist/chats-AL2SYBJO.js.map +1 -0
  85. package/dist/check-U2YLRD6H.js +107 -0
  86. package/dist/check-U2YLRD6H.js.map +1 -0
  87. package/dist/chunk-2GYCWRF3.js +170 -0
  88. package/dist/chunk-2L7F7KR4.js +61 -0
  89. package/dist/chunk-44ZRCSR7.js +228 -0
  90. package/dist/chunk-46YLDIQG.js +4254 -0
  91. package/dist/chunk-4EDWXZ3I.js +363 -0
  92. package/dist/chunk-4FFBGR5L.js +66 -0
  93. package/dist/chunk-4UQRXKYJ.js +219 -0
  94. package/dist/chunk-4UZUUSVL.js +592 -0
  95. package/dist/chunk-4XHCEYHI.js +831 -0
  96. package/dist/chunk-4Z6PVR3M.js +479 -0
  97. package/dist/chunk-5Y5FZV2W.js +122 -0
  98. package/dist/chunk-6HJXLGDV.js +392 -0
  99. package/dist/chunk-6S5CWGDA.js +429 -0
  100. package/dist/chunk-6VYROVWO.js +494 -0
  101. package/dist/chunk-7BUIOP36.js +287 -0
  102. package/dist/chunk-AQRXXC6E.js +319 -0
  103. package/dist/chunk-ARBXT73X.js +387 -0
  104. package/dist/chunk-BEZHQIEI.js +97 -0
  105. package/dist/chunk-BFURWHVR.js +547 -0
  106. package/dist/chunk-BX6B25KK.js +358 -0
  107. package/dist/chunk-BX6B25KK.js.map +1 -0
  108. package/dist/chunk-DSCEXBDR.js +676 -0
  109. package/dist/chunk-FLWDFPXE.js +23 -0
  110. package/dist/chunk-FRNBRN2C.js +1646 -0
  111. package/dist/chunk-G4FG5EQO.js +110 -0
  112. package/dist/chunk-G4FG5EQO.js.map +1 -0
  113. package/dist/chunk-GE3VT3CA.js +51 -0
  114. package/dist/chunk-GW2WRZZA.js +24026 -0
  115. package/dist/chunk-GW2WRZZA.js.map +1 -0
  116. package/dist/chunk-HGBJQGO5.js +142 -0
  117. package/dist/chunk-I7AYMJZA.js +783 -0
  118. package/dist/chunk-IRM273C7.js +207 -0
  119. package/dist/chunk-IWKD56AY.js +156 -0
  120. package/dist/chunk-JLAQWMVF.js +3868 -0
  121. package/dist/chunk-JOE42ZW6.js +2984 -0
  122. package/dist/chunk-JOE42ZW6.js.map +1 -0
  123. package/dist/chunk-K6NULQN7.js +57 -0
  124. package/dist/chunk-L2BRAC2J.js +19 -0
  125. package/dist/chunk-LGMI4LSY.js +455 -0
  126. package/dist/chunk-NB2FU6EZ.js +179 -0
  127. package/dist/chunk-NKQWDEB7.js +115 -0
  128. package/dist/chunk-NKQWDEB7.js.map +1 -0
  129. package/dist/chunk-NWF2LRKO.js +188 -0
  130. package/dist/chunk-OG47L5GG.js +275 -0
  131. package/dist/chunk-OR6KVLI5.js +169 -0
  132. package/dist/chunk-PC3FJEZH.js +7211 -0
  133. package/dist/chunk-PC3FJEZH.js.map +1 -0
  134. package/dist/chunk-Q3GSVLE5.js +4274 -0
  135. package/dist/chunk-Q3GSVLE5.js.map +1 -0
  136. package/dist/chunk-QDQZ62FL.js +207 -0
  137. package/dist/chunk-QIOFOD4K.js +344 -0
  138. package/dist/chunk-R2SYF5FC.js +249 -0
  139. package/dist/chunk-RTH2I55B.js +942 -0
  140. package/dist/chunk-S6VFDNSQ.js +63 -0
  141. package/dist/chunk-SG2TDQEE.js +150 -0
  142. package/dist/chunk-SOPVIIUW.js +68 -0
  143. package/dist/chunk-SOPVIIUW.js.map +1 -0
  144. package/dist/chunk-T3P6O2VU.js +89 -0
  145. package/dist/chunk-TXDE2QJ3.js +604 -0
  146. package/dist/chunk-UDIEKCIR.js +203 -0
  147. package/dist/chunk-USCADMM3.js +163 -0
  148. package/dist/chunk-UUGISMNE.js +910 -0
  149. package/dist/chunk-VDPOCAQ2.js +197 -0
  150. package/dist/chunk-VEJ3QX6M.js +103 -0
  151. package/dist/chunk-VFJB7OG6.js +91 -0
  152. package/dist/chunk-VRIPVLE7.js +8954 -0
  153. package/dist/chunk-WFY7KSHB.js +274 -0
  154. package/dist/chunk-WLESMH4J.js +45 -0
  155. package/dist/chunk-XHQYFNNK.js +846 -0
  156. package/dist/chunk-XOQNM7I4.js +396 -0
  157. package/dist/chunk-XOQNM7I4.js.map +1 -0
  158. package/dist/chunk-YILZR3XI.js +224 -0
  159. package/dist/chunk-YJFLXOH4.js +191 -0
  160. package/dist/chunk-YWHZYR6S.js +297 -0
  161. package/dist/claim-GOLUTAJ3.js +200 -0
  162. package/dist/claim-GOLUTAJ3.js.map +1 -0
  163. package/dist/cli.js +30 -30
  164. package/dist/companies-4AJJGTMC.js +198 -0
  165. package/dist/companies-4AJJGTMC.js.map +1 -0
  166. package/dist/company-MOSPLRZJ.js +308 -0
  167. package/dist/company-MOSPLRZJ.js.map +1 -0
  168. package/dist/complete-777BDV45.js +84 -0
  169. package/dist/complete-777BDV45.js.map +1 -0
  170. package/dist/connect-3YY7MF3I.js +45 -0
  171. package/dist/conversation-KROMHDHK.js +96 -0
  172. package/dist/conversation-KROMHDHK.js.map +1 -0
  173. package/dist/conversion-report-JZHI2IHY.js +127 -0
  174. package/dist/conversion-report-JZHI2IHY.js.map +1 -0
  175. package/dist/conversion-upload-command-7RSZ5ZQU.js +439 -0
  176. package/dist/conversion-writes-SNCLQDXQ.js +122 -0
  177. package/dist/conversion-writes-SNCLQDXQ.js.map +1 -0
  178. package/dist/conversions-43EYP2W2.js +140 -0
  179. package/dist/conversions-43EYP2W2.js.map +1 -0
  180. package/dist/conversions-EUOWILCQ.js +78 -0
  181. package/dist/conversions-EUOWILCQ.js.map +1 -0
  182. package/dist/copy-writes-CIHIFLY6.js +170 -0
  183. package/dist/copy-writes-CIHIFLY6.js.map +1 -0
  184. package/dist/create-3WOZO2XT.js +239 -0
  185. package/dist/create-3WOZO2XT.js.map +1 -0
  186. package/dist/create-7IFYLX7P.js +210 -0
  187. package/dist/create-7IFYLX7P.js.map +1 -0
  188. package/dist/create-FOHIQC3E.js +62 -0
  189. package/dist/create-FOHIQC3E.js.map +1 -0
  190. package/dist/create-UWQSQTK6.js +135 -0
  191. package/dist/create-UWQSQTK6.js.map +1 -0
  192. package/dist/creatives-2DR3QHJW.js +58 -0
  193. package/dist/creatives-BB6S2OF6.js +89 -0
  194. package/dist/creatives-KUO67WYA.js +223 -0
  195. package/dist/creatives-KUO67WYA.js.map +1 -0
  196. package/dist/credentials-IP4L37XP.js +290 -0
  197. package/dist/credentials-IP4L37XP.js.map +1 -0
  198. package/dist/critique-LGDNMLBL.js +232 -0
  199. package/dist/critique-LGDNMLBL.js.map +1 -0
  200. package/dist/critique-LJMFAURK.js +1451 -0
  201. package/dist/critique-LJMFAURK.js.map +1 -0
  202. package/dist/crm-BNYW7PF7.js +323 -0
  203. package/dist/crm-BNYW7PF7.js.map +1 -0
  204. package/dist/crm-J53V2QTN.js +227 -0
  205. package/dist/crm-J53V2QTN.js.map +1 -0
  206. package/dist/currency-X7Y6TSLF.js +88 -0
  207. package/dist/custom-conversions-HAGG72LF.js +128 -0
  208. package/dist/customers-663K2OCP.js +59 -0
  209. package/dist/delete-5W3YVA4L.js +67 -0
  210. package/dist/delete-5W3YVA4L.js.map +1 -0
  211. package/dist/delete-6U7E6YUW.js +57 -0
  212. package/dist/delete-6U7E6YUW.js.map +1 -0
  213. package/dist/delete-G4NY6ZG6.js +69 -0
  214. package/dist/delete-G4NY6ZG6.js.map +1 -0
  215. package/dist/demographics-4Y5LTCU4.js +141 -0
  216. package/dist/demographics-4Y5LTCU4.js.map +1 -0
  217. package/dist/discard-RKCZNKMN.js +69 -0
  218. package/dist/discard-RKCZNKMN.js.map +1 -0
  219. package/dist/discover-6DORQWXY.js +172 -0
  220. package/dist/domain-PLA2O4FW.js +101 -0
  221. package/dist/domain-PLA2O4FW.js.map +1 -0
  222. package/dist/download-4EFLVSA4.js +172 -0
  223. package/dist/download-4EFLVSA4.js.map +1 -0
  224. package/dist/draft-4V7W5DV2.js +310 -0
  225. package/dist/draft-4V7W5DV2.js.map +1 -0
  226. package/dist/draft-HY3U2GHU.js +283 -0
  227. package/dist/draft-HY3U2GHU.js.map +1 -0
  228. package/dist/draft-JMNAGW7C.js +220 -0
  229. package/dist/draft-JMNAGW7C.js.map +1 -0
  230. package/dist/draft-R6EKORNS.js +308 -0
  231. package/dist/draft-TRPQCJ4B.js +335 -0
  232. package/dist/draft-TRPQCJ4B.js.map +1 -0
  233. package/dist/experiments-4V242DG2.js +236 -0
  234. package/dist/experiments-4V242DG2.js.map +1 -0
  235. package/dist/facets-WXJ2MCU6.js +117 -0
  236. package/dist/facets-WXJ2MCU6.js.map +1 -0
  237. package/dist/feedback-IRSRPXV6.js +111 -0
  238. package/dist/feedback-IRSRPXV6.js.map +1 -0
  239. package/dist/feedback-record-DT3R4NA3.js +265 -0
  240. package/dist/feedback-record-DT3R4NA3.js.map +1 -0
  241. package/dist/fetch-YLQP5VQL.js +179 -0
  242. package/dist/fetch-YLQP5VQL.js.map +1 -0
  243. package/dist/fit-BEFCY2B4.js +65 -0
  244. package/dist/flows-FDMF3F3P.js +250 -0
  245. package/dist/flows-FDMF3F3P.js.map +1 -0
  246. package/dist/fonts-C6XN5667.js +39 -0
  247. package/dist/forecast-BTPIXEQ5.js +169 -0
  248. package/dist/forecast-ZTXZD3HD.js +121 -0
  249. package/dist/forecast-ZTXZD3HD.js.map +1 -0
  250. package/dist/funnel-7KOEX7YM.js +397 -0
  251. package/dist/funnel-7KOEX7YM.js.map +1 -0
  252. package/dist/get-KBSKPTAV.js +59 -0
  253. package/dist/get-KBSKPTAV.js.map +1 -0
  254. package/dist/get-OSVQVMP6.js +82 -0
  255. package/dist/get-OSVQVMP6.js.map +1 -0
  256. package/dist/google-M6BJ22UL.js +3267 -0
  257. package/dist/google-ads-XCJVAXWF.js +198 -0
  258. package/dist/google-ads-XCJVAXWF.js.map +1 -0
  259. package/dist/history-3NTM5SFN.js +69 -0
  260. package/dist/history-3NTM5SFN.js.map +1 -0
  261. package/dist/history-4TN2A6BL.js +136 -0
  262. package/dist/history-4TN2A6BL.js.map +1 -0
  263. package/dist/history-5IWW2X33.js +102 -0
  264. package/dist/history-5IWW2X33.js.map +1 -0
  265. package/dist/hubspot-HMVSRJQZ.js +782 -0
  266. package/dist/hubspot-HMVSRJQZ.js.map +1 -0
  267. package/dist/ideas-M66FU45H.js +45 -0
  268. package/dist/images-MM5OPUKV.js +92 -0
  269. package/dist/ingest-GU3WEBN3.js +110 -0
  270. package/dist/ingest-GU3WEBN3.js.map +1 -0
  271. package/dist/ingest-KMLYCFF4.js +26 -0
  272. package/dist/insights-CQCWOCIT.js +132 -0
  273. package/dist/insights-CQCWOCIT.js.map +1 -0
  274. package/dist/insights-XZL2EM53.js +439 -0
  275. package/dist/insights-XZL2EM53.js.map +1 -0
  276. package/dist/inspect-4JO2J3D6.js +192 -0
  277. package/dist/inspect-4JO2J3D6.js.map +1 -0
  278. package/dist/instant-experiences-RM4MLJTL.js +260 -0
  279. package/dist/instant-experiences-RM4MLJTL.js.map +1 -0
  280. package/dist/intent-YCQCUCV3.js +95 -0
  281. package/dist/keyword-gap-PUSF7EKY.js +130 -0
  282. package/dist/keyword-metrics-JXBM22ZD.js +200 -0
  283. package/dist/keyword-metrics-JXBM22ZD.js.map +1 -0
  284. package/dist/keywords-for-site-OAYA7KP7.js +131 -0
  285. package/dist/keywords-for-site-OAYA7KP7.js.map +1 -0
  286. package/dist/landing-OZU5RRFV.js +28 -0
  287. package/dist/languages-SLFV73GE.js +40 -0
  288. package/dist/leads-Q7APIJRQ.js +115 -0
  289. package/dist/leads-Q7APIJRQ.js.map +1 -0
  290. package/dist/leads-ULYHTG22.js +540 -0
  291. package/dist/leads-ULYHTG22.js.map +1 -0
  292. package/dist/learn-NBBJRMVZ.js +207 -0
  293. package/dist/learn-NBBJRMVZ.js.map +1 -0
  294. package/dist/line-item-writes-X3L5NQEH.js +211 -0
  295. package/dist/line-item-writes-X3L5NQEH.js.map +1 -0
  296. package/dist/line-items-NJMEPEF5.js +107 -0
  297. package/dist/link-WZSNUQQ2.js +67 -0
  298. package/dist/link-WZSNUQQ2.js.map +1 -0
  299. package/dist/linkedin-55PAID62.js +1316 -0
  300. package/dist/linkedin-55PAID62.js.map +1 -0
  301. package/dist/linkedin-person-MVRI7LLC.js +139 -0
  302. package/dist/linkedin-person-MVRI7LLC.js.map +1 -0
  303. package/dist/list-6S54IAUX.js +67 -0
  304. package/dist/list-6S54IAUX.js.map +1 -0
  305. package/dist/list-QRJ4E3SC.js +154 -0
  306. package/dist/list-QRJ4E3SC.js.map +1 -0
  307. package/dist/list-RZUDFLJN.js +306 -0
  308. package/dist/list-RZUDFLJN.js.map +1 -0
  309. package/dist/locations-T2OMP6QN.js +40 -0
  310. package/dist/locations-W3VOYBWL.js +69 -0
  311. package/dist/locations-W3VOYBWL.js.map +1 -0
  312. package/dist/log-53SAPZZ3.js +95 -0
  313. package/dist/log-53SAPZZ3.js.map +1 -0
  314. package/dist/lookup-S5VG7AWH.js +23 -0
  315. package/dist/make-ZF3YIMKW.js +1370 -0
  316. package/dist/make-ZF3YIMKW.js.map +1 -0
  317. package/dist/map-J37QFJSV.js +436 -0
  318. package/dist/map-J37QFJSV.js.map +1 -0
  319. package/dist/mcp-YRIFPYNU.js +717 -0
  320. package/dist/mcp-YRIFPYNU.js.map +1 -0
  321. package/dist/media-P4T4ZBNS.js +18 -0
  322. package/dist/media-sources-EQI3U4TC.js +35 -0
  323. package/dist/members-GYVMSCKL.js +47 -0
  324. package/dist/members-GYVMSCKL.js.map +1 -0
  325. package/dist/meta-IPLWNYC7.js +122 -0
  326. package/dist/metrics-4YVJHYRI.js +152 -0
  327. package/dist/normalize-MFN3WCH5.js +144 -0
  328. package/dist/normalize-MFN3WCH5.js.map +1 -0
  329. package/dist/options-DLHDHO7H.js +125 -0
  330. package/dist/options-DLHDHO7H.js.map +1 -0
  331. package/dist/organization-C2VOA2SD.js +949 -0
  332. package/dist/organization-C2VOA2SD.js.map +1 -0
  333. package/dist/page-photos-OQ5QATQH.js +118 -0
  334. package/dist/page-photos-OQ5QATQH.js.map +1 -0
  335. package/dist/performance-NIF3CESZ.js +27 -0
  336. package/dist/performance-T6TBVHVU.js +5541 -0
  337. package/dist/performance-T6TBVHVU.js.map +1 -0
  338. package/dist/pixels-LQAJOZIM.js +62 -0
  339. package/dist/pixels-LQAJOZIM.js.map +1 -0
  340. package/dist/plan-7UF76Q6U.js +208 -0
  341. package/dist/plan-7UF76Q6U.js.map +1 -0
  342. package/dist/preview-LRJOQ7LM.js +218 -0
  343. package/dist/preview-LRJOQ7LM.js.map +1 -0
  344. package/dist/promoted-tweet-writes-Y6BBOWDL.js +183 -0
  345. package/dist/promoted-tweet-writes-Y6BBOWDL.js.map +1 -0
  346. package/dist/promoted-tweets-RJT53DRM.js +119 -0
  347. package/dist/publish-IOTMJCCY.js +344 -0
  348. package/dist/publish-IOTMJCCY.js.map +1 -0
  349. package/dist/query-XZMDGRO5.js +62 -0
  350. package/dist/questionnaire-DWEH5II4.js +94 -0
  351. package/dist/questionnaire-DWEH5II4.js.map +1 -0
  352. package/dist/reddit-JIHMAKAQ.js +29 -0
  353. package/dist/refresh-OQZ263CS.js +97 -0
  354. package/dist/refresh-OQZ263CS.js.map +1 -0
  355. package/dist/release-4CHFURO3.js +63 -0
  356. package/dist/release-4CHFURO3.js.map +1 -0
  357. package/dist/relevant-pages-FS7GBVXK.js +99 -0
  358. package/dist/remove-IJQPHPDI.js +53 -0
  359. package/dist/remove-IJQPHPDI.js.map +1 -0
  360. package/dist/reopen-YTLPVKUR.js +66 -0
  361. package/dist/reopen-YTLPVKUR.js.map +1 -0
  362. package/dist/rerun-C7NB7B35.js +95 -0
  363. package/dist/rerun-C7NB7B35.js.map +1 -0
  364. package/dist/research-PNBACCCP.js +72 -0
  365. package/dist/research-TLHNPK3O.js +265 -0
  366. package/dist/research-TLHNPK3O.js.map +1 -0
  367. package/dist/reset-JVLW7HA2.js +57 -0
  368. package/dist/reset-JVLW7HA2.js.map +1 -0
  369. package/dist/reset-Y6FXLAQE.js +57 -0
  370. package/dist/reset-Y6FXLAQE.js.map +1 -0
  371. package/dist/resolve-YLRESES5.js +124 -0
  372. package/dist/resolve-YLRESES5.js.map +1 -0
  373. package/dist/retry-3V3IGDRR.js +65 -0
  374. package/dist/retry-3V3IGDRR.js.map +1 -0
  375. package/dist/retry-AEKQLQMP.js +63 -0
  376. package/dist/retry-AEKQLQMP.js.map +1 -0
  377. package/dist/revenue-E4GQIOUY.js +91 -0
  378. package/dist/revenue-E4GQIOUY.js.map +1 -0
  379. package/dist/rule-writes-UAVWT4XS.js +525 -0
  380. package/dist/rule-writes-UAVWT4XS.js.map +1 -0
  381. package/dist/rules-34BQAWU3.js +99 -0
  382. package/dist/rules-34BQAWU3.js.map +1 -0
  383. package/dist/rules-ZVS2MWED.js +217 -0
  384. package/dist/rules-add-CM5XUYNS.js +465 -0
  385. package/dist/rules-add-CM5XUYNS.js.map +1 -0
  386. package/dist/run-MD64RDHZ.js +69 -0
  387. package/dist/run-MD64RDHZ.js.map +1 -0
  388. package/dist/run-QCNRR3CA.js +70 -0
  389. package/dist/scaffold-ad-NADPY3CB.js +1516 -0
  390. package/dist/scaffold-ad-NADPY3CB.js.map +1 -0
  391. package/dist/scaffold-static-ad-5YEYYVYH.js +1015 -0
  392. package/dist/scaffold-static-ad-5YEYYVYH.js.map +1 -0
  393. package/dist/scaffold-video-W7DF2CBJ.js +888 -0
  394. package/dist/scaffold-video-W7DF2CBJ.js.map +1 -0
  395. package/dist/schedule-CTRRF6TS.js +64 -0
  396. package/dist/schedule-CTRRF6TS.js.map +1 -0
  397. package/dist/scheduled-agents-OXYAVSIE.js +55 -0
  398. package/dist/schema-BEUYOGSW.js +135 -0
  399. package/dist/schema-BEUYOGSW.js.map +1 -0
  400. package/dist/search-GFJKWPKN.js +177 -0
  401. package/dist/search-GFJKWPKN.js.map +1 -0
  402. package/dist/select-S72CCL57.js +106 -0
  403. package/dist/select-S72CCL57.js.map +1 -0
  404. package/dist/sends-LAY5C74B.js +349 -0
  405. package/dist/sends-LAY5C74B.js.map +1 -0
  406. package/dist/set-prompt-YYFDRXRI.js +198 -0
  407. package/dist/set-prompt-YYFDRXRI.js.map +1 -0
  408. package/dist/setup-links-D4JJLESN.js +144 -0
  409. package/dist/setup-links-D4JJLESN.js.map +1 -0
  410. package/dist/shopify-T4UWFIQC.js +3958 -0
  411. package/dist/shopify-T4UWFIQC.js.map +1 -0
  412. package/dist/site-BBZAUZA3.js +180 -0
  413. package/dist/site-BBZAUZA3.js.map +1 -0
  414. package/dist/sources-BUPV7H7F.js +457 -0
  415. package/dist/sources-BUPV7H7F.js.map +1 -0
  416. package/dist/sources-FLUGHSVP.js +30 -0
  417. package/dist/stale-HP54JS5X.js +76 -0
  418. package/dist/stale-HP54JS5X.js.map +1 -0
  419. package/dist/status-CLSWQFCQ.js +65 -0
  420. package/dist/status-CLSWQFCQ.js.map +1 -0
  421. package/dist/studies-EPO2AM4M.js +250 -0
  422. package/dist/study-writes-7FP443QQ.js +470 -0
  423. package/dist/study-writes-7FP443QQ.js.map +1 -0
  424. package/dist/sync-4YTVVEVC.js +57 -0
  425. package/dist/sync-4YTVVEVC.js.map +1 -0
  426. package/dist/sync-definition-OGQ5XTQE.js +69 -0
  427. package/dist/tags-CZTRQNXV.js +26 -0
  428. package/dist/tags-FDQXWTCQ.js +23 -0
  429. package/dist/tags-FDQXWTCQ.js.map +1 -0
  430. package/dist/tags-R67DKRZ6.js +23 -0
  431. package/dist/tags-R67DKRZ6.js.map +1 -0
  432. package/dist/tags-SA2LU6AW.js +227 -0
  433. package/dist/tags-SA2LU6AW.js.map +1 -0
  434. package/dist/tags-ZOXX6VRE.js +23 -0
  435. package/dist/tags-ZOXX6VRE.js.map +1 -0
  436. package/dist/targeting-NKZFEZD7.js +762 -0
  437. package/dist/targeting-NKZFEZD7.js.map +1 -0
  438. package/dist/targeting-criteria-AQYXVSGN.js +113 -0
  439. package/dist/targets-UUVCEG3F.js +106 -0
  440. package/dist/targets-UUVCEG3F.js.map +1 -0
  441. package/dist/testimonials-G3OCNPBY.js +32 -0
  442. package/dist/themes-FEVYZZCW.js +95 -0
  443. package/dist/top-companies-BQGWKYUK.js +111 -0
  444. package/dist/top-companies-BQGWKYUK.js.map +1 -0
  445. package/dist/transcript-U46AEOEI.js +165 -0
  446. package/dist/transcript-U46AEOEI.js.map +1 -0
  447. package/dist/translate-AS7JVKYM.js +609 -0
  448. package/dist/translate-AS7JVKYM.js.map +1 -0
  449. package/dist/triggers-ECRBPYYF.js +144 -0
  450. package/dist/triggers-ECRBPYYF.js.map +1 -0
  451. package/dist/unlink-VDNCSRJV.js +70 -0
  452. package/dist/unlink-VDNCSRJV.js.map +1 -0
  453. package/dist/unstage-ATDXUYP2.js +88 -0
  454. package/dist/unstage-ATDXUYP2.js.map +1 -0
  455. package/dist/unstage-ZA3WQBEA.js +96 -0
  456. package/dist/unstage-ZA3WQBEA.js.map +1 -0
  457. package/dist/update-FJ6TBV3E.js +101 -0
  458. package/dist/update-FJ6TBV3E.js.map +1 -0
  459. package/dist/update-HDBJCSTI.js +66 -0
  460. package/dist/update-HDBJCSTI.js.map +1 -0
  461. package/dist/update-U43DJRGV.js +155 -0
  462. package/dist/update-U43DJRGV.js.map +1 -0
  463. package/dist/update-Z7TIUBMJ.js +192 -0
  464. package/dist/update-Z7TIUBMJ.js.map +1 -0
  465. package/dist/upload-LXCFSRIU.js +129 -0
  466. package/dist/upload-LXCFSRIU.js.map +1 -0
  467. package/dist/url-options-Z4BQBEMI.js +131 -0
  468. package/dist/url-options-Z4BQBEMI.js.map +1 -0
  469. package/dist/url-params-J7RKP5RB.js +101 -0
  470. package/dist/url-params-J7RKP5RB.js.map +1 -0
  471. package/dist/validate-VR3HEOMJ.js +122 -0
  472. package/dist/validate-VR3HEOMJ.js.map +1 -0
  473. package/dist/videos-36AXDUGZ.js +41 -0
  474. package/dist/viewer-check-6HL4OUQY.js +83 -0
  475. package/dist/web-7BRJRQX7.js +143 -0
  476. package/dist/web-7BRJRQX7.js.map +1 -0
  477. package/dist/winning-ads-GMM5W2O4.js +86 -0
  478. package/dist/write-commands-IM5DPG3R.js +1502 -0
  479. package/dist/write-commands-IM5DPG3R.js.map +1 -0
  480. package/dist/write-commands-OGVDWWBV.js +1172 -0
  481. package/dist/write-commands-OGVDWWBV.js.map +1 -0
  482. package/dist/x-HGFAL3NY.js +47 -0
  483. package/package.json +1 -1
  484. package/dist/account-C635ATVM.js +0 -80
  485. package/dist/account-C635ATVM.js.map +0 -1
  486. package/dist/account-WLQBAQMD.js +0 -80
  487. package/dist/account-WLQBAQMD.js.map +0 -1
  488. package/dist/account-assets-O7IA37RE.js +0 -290
  489. package/dist/account-level-EU7BWCO7.js +0 -609
  490. package/dist/account-level-EU7BWCO7.js.map +0 -1
  491. package/dist/account-reads-SNOWDHHF.js +0 -219
  492. package/dist/account-users-XYYENK6X.js +0 -62
  493. package/dist/account-users-XYYENK6X.js.map +0 -1
  494. package/dist/account-writes-TU3WJRSI.js +0 -66
  495. package/dist/account-writes-TU3WJRSI.js.map +0 -1
  496. package/dist/accounts-A2FBLZ5H.js +0 -78
  497. package/dist/accounts-A2FBLZ5H.js.map +0 -1
  498. package/dist/accounts-V2IZZ5KU.js +0 -699
  499. package/dist/accounts-V2IZZ5KU.js.map +0 -1
  500. package/dist/actions-Y4SULW2E.js +0 -55
  501. package/dist/activecampaign-63XG6CLL.js +0 -936
  502. package/dist/activecampaign-63XG6CLL.js.map +0 -1
  503. package/dist/ad-group-writes-HLBWN4E4.js +0 -170
  504. package/dist/ad-group-writes-HLBWN4E4.js.map +0 -1
  505. package/dist/ad-groups-33NZD6J3.js +0 -68
  506. package/dist/ad-groups-33NZD6J3.js.map +0 -1
  507. package/dist/ad-writes-7ZDNDZ2E.js +0 -174
  508. package/dist/ad-writes-7ZDNDZ2E.js.map +0 -1
  509. package/dist/add-FOLFVGQO.js +0 -303
  510. package/dist/add-FOLFVGQO.js.map +0 -1
  511. package/dist/add-RYB4JSYC.js +0 -105
  512. package/dist/add-RYB4JSYC.js.map +0 -1
  513. package/dist/ads-2TVWICGM.js +0 -48
  514. package/dist/ads-KBE5JXCH.js +0 -115
  515. package/dist/ads-X3AM6M7L.js +0 -77
  516. package/dist/ads-X3AM6M7L.js.map +0 -1
  517. package/dist/adsets-YWBJFPAZ.js +0 -182
  518. package/dist/advertisers-IGUMSK5Q.js +0 -121
  519. package/dist/advertisers-IGUMSK5Q.js.map +0 -1
  520. package/dist/analytics-3DKM7J43.js +0 -445
  521. package/dist/analytics-3DKM7J43.js.map +0 -1
  522. package/dist/analytics-R3QDSX2K.js +0 -2435
  523. package/dist/analytics-R3QDSX2K.js.map +0 -1
  524. package/dist/asset-writes-72DEVXGO.js +0 -48
  525. package/dist/assign-EKCGLNZB.js +0 -78
  526. package/dist/assign-EKCGLNZB.js.map +0 -1
  527. package/dist/audience-size-IKXK32HU.js +0 -74
  528. package/dist/audience-size-IKXK32HU.js.map +0 -1
  529. package/dist/audience-writes-KCHLNFSI.js +0 -325
  530. package/dist/audience-writes-KCHLNFSI.js.map +0 -1
  531. package/dist/audiences-QAH42HIM.js +0 -86
  532. package/dist/audiences-WCDWN64L.js +0 -268
  533. package/dist/audiences-WCDWN64L.js.map +0 -1
  534. package/dist/audit-CY76S4V7.js +0 -152
  535. package/dist/audit-CY76S4V7.js.map +0 -1
  536. package/dist/autocomplete-G2S5HNUS.js +0 -112
  537. package/dist/autocomplete-G2S5HNUS.js.map +0 -1
  538. package/dist/avatars-P4UPNZM4.js +0 -38
  539. package/dist/bid-pricing-AJT4QU2C.js +0 -101
  540. package/dist/bid-pricing-AJT4QU2C.js.map +0 -1
  541. package/dist/brand-HALQWZWB.js +0 -22
  542. package/dist/brief-NW7TGG2Q.js +0 -541
  543. package/dist/brief-NW7TGG2Q.js.map +0 -1
  544. package/dist/campaign-groups-I43KMAJP.js +0 -97
  545. package/dist/campaign-groups-I43KMAJP.js.map +0 -1
  546. package/dist/campaign-writes-DLLPFAGG.js +0 -166
  547. package/dist/campaign-writes-DLLPFAGG.js.map +0 -1
  548. package/dist/campaign-writes-XO74BALZ.js +0 -174
  549. package/dist/campaign-writes-XO74BALZ.js.map +0 -1
  550. package/dist/campaigns-LS65QM6W.js +0 -76
  551. package/dist/campaigns-LS65QM6W.js.map +0 -1
  552. package/dist/campaigns-UIYSYCF3.js +0 -111
  553. package/dist/campaigns-UIYSYCF3.js.map +0 -1
  554. package/dist/campaigns-XZOQ2VTK.js +0 -130
  555. package/dist/campaigns-YMM5TQVO.js +0 -111
  556. package/dist/canvas-IJS7H3VE.js +0 -46
  557. package/dist/capabilities-XMQPM3UL.js +0 -145
  558. package/dist/capabilities-XMQPM3UL.js.map +0 -1
  559. package/dist/catalogs-JLCSFZYC.js +0 -779
  560. package/dist/catalogs-JLCSFZYC.js.map +0 -1
  561. package/dist/catalogs-T23RKYFC.js +0 -128
  562. package/dist/catalogs-T23RKYFC.js.map +0 -1
  563. package/dist/changes-36C754R4.js +0 -135
  564. package/dist/chatgpt-3WFOPURY.js +0 -47
  565. package/dist/chats-ZI6EYDAF.js +0 -277
  566. package/dist/chats-ZI6EYDAF.js.map +0 -1
  567. package/dist/check-CHJ2OLAU.js +0 -105
  568. package/dist/check-CHJ2OLAU.js.map +0 -1
  569. package/dist/chunk-2TOIY2WN.js +0 -4254
  570. package/dist/chunk-4GAEB6NK.js +0 -228
  571. package/dist/chunk-5RVQK3SP.js +0 -494
  572. package/dist/chunk-5SRUAGTG.js +0 -547
  573. package/dist/chunk-5XTGG4PV.js +0 -274
  574. package/dist/chunk-6Z7Y4KQB.js +0 -275
  575. package/dist/chunk-7J3NZBPV.js +0 -2982
  576. package/dist/chunk-7J3NZBPV.js.map +0 -1
  577. package/dist/chunk-AIRD6T4W.js +0 -169
  578. package/dist/chunk-AQOFQNKQ.js +0 -57
  579. package/dist/chunk-ARUXGKZO.js +0 -91
  580. package/dist/chunk-AYPBARKP.js +0 -156
  581. package/dist/chunk-BRLZX3VP.js +0 -207
  582. package/dist/chunk-BTJSGJNQ.js +0 -604
  583. package/dist/chunk-C7QQQVBS.js +0 -51
  584. package/dist/chunk-CCEDZTP7.js +0 -391
  585. package/dist/chunk-CCEDZTP7.js.map +0 -1
  586. package/dist/chunk-D3KLDIPQ.js +0 -45
  587. package/dist/chunk-DUR7PEJI.js +0 -170
  588. package/dist/chunk-EDLZGTGN.js +0 -216
  589. package/dist/chunk-EDLZGTGN.js.map +0 -1
  590. package/dist/chunk-FFFJBNHA.js +0 -63
  591. package/dist/chunk-FPWQA7TK.js +0 -344
  592. package/dist/chunk-G5Y7OIPL.js +0 -392
  593. package/dist/chunk-GACSA5A6.js +0 -1646
  594. package/dist/chunk-GMHCHHAA.js +0 -19
  595. package/dist/chunk-H4NNQGG6.js +0 -66
  596. package/dist/chunk-HSQRITKG.js +0 -203
  597. package/dist/chunk-I47BEKYK.js +0 -831
  598. package/dist/chunk-JND6XSGZ.js +0 -7192
  599. package/dist/chunk-JND6XSGZ.js.map +0 -1
  600. package/dist/chunk-KBRJSPIM.js +0 -676
  601. package/dist/chunk-KQTNUDKD.js +0 -97
  602. package/dist/chunk-M7HD42M6.js +0 -24017
  603. package/dist/chunk-M7HD42M6.js.map +0 -1
  604. package/dist/chunk-MBSFEVOG.js +0 -163
  605. package/dist/chunk-MGYC2IRC.js +0 -783
  606. package/dist/chunk-MUXKYSTI.js +0 -297
  607. package/dist/chunk-MZCTX37B.js +0 -3868
  608. package/dist/chunk-N7M2TWR5.js +0 -592
  609. package/dist/chunk-NDFS3APP.js +0 -319
  610. package/dist/chunk-OBJCNGZL.js +0 -207
  611. package/dist/chunk-OJGYYH6K.js +0 -179
  612. package/dist/chunk-P6BKKUSX.js +0 -142
  613. package/dist/chunk-PLAOK4AK.js +0 -103
  614. package/dist/chunk-PLBITHV6.js +0 -846
  615. package/dist/chunk-PNKIOTCK.js +0 -349
  616. package/dist/chunk-PNKIOTCK.js.map +0 -1
  617. package/dist/chunk-QBRPM3DQ.js +0 -61
  618. package/dist/chunk-QMDMTZAW.js +0 -224
  619. package/dist/chunk-QW6HL7D6.js +0 -429
  620. package/dist/chunk-R53XMPDO.js +0 -363
  621. package/dist/chunk-RFIUOQLN.js +0 -89
  622. package/dist/chunk-RVEY7BTT.js +0 -8954
  623. package/dist/chunk-SCL7PM6P.js +0 -479
  624. package/dist/chunk-SM7G7RUA.js +0 -910
  625. package/dist/chunk-SVBJ56T7.js +0 -455
  626. package/dist/chunk-TVAIOC77.js +0 -287
  627. package/dist/chunk-TVTSA4EN.js +0 -188
  628. package/dist/chunk-VIPKDXGU.js +0 -4229
  629. package/dist/chunk-VIPKDXGU.js.map +0 -1
  630. package/dist/chunk-W574NV67.js +0 -191
  631. package/dist/chunk-XGPU2VDU.js +0 -219
  632. package/dist/chunk-XQXZJ5IR.js +0 -249
  633. package/dist/chunk-YMF2RG4Z.js +0 -942
  634. package/dist/chunk-Z2DRGXBB.js +0 -197
  635. package/dist/chunk-Z7YMSHRZ.js +0 -23
  636. package/dist/chunk-ZEC46NWW.js +0 -122
  637. package/dist/chunk-ZFC562TP.js +0 -387
  638. package/dist/chunk-ZNRGH4NS.js +0 -150
  639. package/dist/claim-OUYHVGB4.js +0 -198
  640. package/dist/claim-OUYHVGB4.js.map +0 -1
  641. package/dist/companies-XDNSG7ME.js +0 -196
  642. package/dist/companies-XDNSG7ME.js.map +0 -1
  643. package/dist/company-4FAYYPEJ.js +0 -306
  644. package/dist/company-4FAYYPEJ.js.map +0 -1
  645. package/dist/complete-M2PAUMDP.js +0 -82
  646. package/dist/complete-M2PAUMDP.js.map +0 -1
  647. package/dist/connect-PP6Z3F7Y.js +0 -43
  648. package/dist/conversation-B5NPTLFQ.js +0 -94
  649. package/dist/conversation-B5NPTLFQ.js.map +0 -1
  650. package/dist/conversion-report-DKXFHLLX.js +0 -125
  651. package/dist/conversion-report-DKXFHLLX.js.map +0 -1
  652. package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
  653. package/dist/conversion-writes-7ODJDAUP.js +0 -120
  654. package/dist/conversion-writes-7ODJDAUP.js.map +0 -1
  655. package/dist/conversions-BKVGNNC6.js +0 -76
  656. package/dist/conversions-BKVGNNC6.js.map +0 -1
  657. package/dist/conversions-QRJL6JIO.js +0 -138
  658. package/dist/conversions-QRJL6JIO.js.map +0 -1
  659. package/dist/copy-writes-P4WK6OPM.js +0 -168
  660. package/dist/copy-writes-P4WK6OPM.js.map +0 -1
  661. package/dist/create-4DWCJ2UA.js +0 -208
  662. package/dist/create-4DWCJ2UA.js.map +0 -1
  663. package/dist/create-OYV33CQ6.js +0 -60
  664. package/dist/create-OYV33CQ6.js.map +0 -1
  665. package/dist/create-U6JVIYFY.js +0 -237
  666. package/dist/create-U6JVIYFY.js.map +0 -1
  667. package/dist/create-V4FNRO63.js +0 -133
  668. package/dist/create-V4FNRO63.js.map +0 -1
  669. package/dist/creatives-64FKWEGL.js +0 -221
  670. package/dist/creatives-64FKWEGL.js.map +0 -1
  671. package/dist/creatives-JPKA2RHU.js +0 -89
  672. package/dist/creatives-UJDPD4CI.js +0 -58
  673. package/dist/credentials-EIPEZ2C2.js +0 -288
  674. package/dist/credentials-EIPEZ2C2.js.map +0 -1
  675. package/dist/critique-BADMZAZP.js +0 -230
  676. package/dist/critique-BADMZAZP.js.map +0 -1
  677. package/dist/critique-M3DEVEDA.js +0 -1449
  678. package/dist/critique-M3DEVEDA.js.map +0 -1
  679. package/dist/crm-GIYSLLY7.js +0 -321
  680. package/dist/crm-GIYSLLY7.js.map +0 -1
  681. package/dist/crm-HXKSJRY3.js +0 -225
  682. package/dist/crm-HXKSJRY3.js.map +0 -1
  683. package/dist/currency-R4ORE2U3.js +0 -88
  684. package/dist/custom-conversions-5HJBB5XL.js +0 -128
  685. package/dist/customers-7J3QGSOJ.js +0 -57
  686. package/dist/delete-EDWJQMMV.js +0 -65
  687. package/dist/delete-EDWJQMMV.js.map +0 -1
  688. package/dist/delete-O24CVQMJ.js +0 -67
  689. package/dist/delete-O24CVQMJ.js.map +0 -1
  690. package/dist/delete-QN2OYUCS.js +0 -55
  691. package/dist/delete-QN2OYUCS.js.map +0 -1
  692. package/dist/demographics-MPYYF2OI.js +0 -139
  693. package/dist/demographics-MPYYF2OI.js.map +0 -1
  694. package/dist/discard-FJCFB6SA.js +0 -67
  695. package/dist/discard-FJCFB6SA.js.map +0 -1
  696. package/dist/discover-GSJRZUOC.js +0 -172
  697. package/dist/domain-UILPSEA5.js +0 -99
  698. package/dist/domain-UILPSEA5.js.map +0 -1
  699. package/dist/download-ZMAI7QSG.js +0 -170
  700. package/dist/download-ZMAI7QSG.js.map +0 -1
  701. package/dist/draft-5OQT3APG.js +0 -308
  702. package/dist/draft-5OQT3APG.js.map +0 -1
  703. package/dist/draft-LPVK6YHI.js +0 -281
  704. package/dist/draft-LPVK6YHI.js.map +0 -1
  705. package/dist/draft-MSESA5UE.js +0 -333
  706. package/dist/draft-MSESA5UE.js.map +0 -1
  707. package/dist/draft-WYDMLNYA.js +0 -308
  708. package/dist/draft-XOOSEVY5.js +0 -218
  709. package/dist/draft-XOOSEVY5.js.map +0 -1
  710. package/dist/experiments-PVOQUL47.js +0 -234
  711. package/dist/experiments-PVOQUL47.js.map +0 -1
  712. package/dist/facets-5RW4Z3D3.js +0 -115
  713. package/dist/facets-5RW4Z3D3.js.map +0 -1
  714. package/dist/feedback-GC56R2EJ.js +0 -109
  715. package/dist/feedback-GC56R2EJ.js.map +0 -1
  716. package/dist/feedback-record-JX7ZU6J7.js +0 -263
  717. package/dist/feedback-record-JX7ZU6J7.js.map +0 -1
  718. package/dist/fetch-WUTXAPBL.js +0 -177
  719. package/dist/fetch-WUTXAPBL.js.map +0 -1
  720. package/dist/fit-N7WDGWYZ.js +0 -63
  721. package/dist/flows-ULZACISF.js +0 -248
  722. package/dist/flows-ULZACISF.js.map +0 -1
  723. package/dist/fonts-TTUAP7HS.js +0 -37
  724. package/dist/forecast-4AG5F7YC.js +0 -169
  725. package/dist/forecast-RQJJRN5D.js +0 -119
  726. package/dist/forecast-RQJJRN5D.js.map +0 -1
  727. package/dist/funnel-QPWJIXWK.js +0 -395
  728. package/dist/funnel-QPWJIXWK.js.map +0 -1
  729. package/dist/get-35D7YHWJ.js +0 -57
  730. package/dist/get-35D7YHWJ.js.map +0 -1
  731. package/dist/get-GIETDPF4.js +0 -80
  732. package/dist/get-GIETDPF4.js.map +0 -1
  733. package/dist/google-NAA4BASO.js +0 -3267
  734. package/dist/google-ads-2IZFZO4C.js +0 -196
  735. package/dist/google-ads-2IZFZO4C.js.map +0 -1
  736. package/dist/history-5MRLNTCI.js +0 -67
  737. package/dist/history-5MRLNTCI.js.map +0 -1
  738. package/dist/history-RPLWWPLQ.js +0 -134
  739. package/dist/history-RPLWWPLQ.js.map +0 -1
  740. package/dist/history-TQYLUYVU.js +0 -100
  741. package/dist/history-TQYLUYVU.js.map +0 -1
  742. package/dist/hubspot-EPK43X4C.js +0 -780
  743. package/dist/hubspot-EPK43X4C.js.map +0 -1
  744. package/dist/ideas-SUXKKZC7.js +0 -43
  745. package/dist/images-VKVZ3DWG.js +0 -92
  746. package/dist/ingest-BBBFT6FZ.js +0 -24
  747. package/dist/ingest-EM2UY42Z.js +0 -108
  748. package/dist/ingest-EM2UY42Z.js.map +0 -1
  749. package/dist/insights-M3CYB22P.js +0 -437
  750. package/dist/insights-M3CYB22P.js.map +0 -1
  751. package/dist/insights-XCT3ONC7.js +0 -130
  752. package/dist/insights-XCT3ONC7.js.map +0 -1
  753. package/dist/inspect-ZPOVOENK.js +0 -190
  754. package/dist/inspect-ZPOVOENK.js.map +0 -1
  755. package/dist/instant-experiences-HT3HB4QZ.js +0 -258
  756. package/dist/instant-experiences-HT3HB4QZ.js.map +0 -1
  757. package/dist/intent-NSHW7EJT.js +0 -95
  758. package/dist/keyword-gap-ITTWKBWZ.js +0 -130
  759. package/dist/keyword-metrics-7DPR264W.js +0 -198
  760. package/dist/keyword-metrics-7DPR264W.js.map +0 -1
  761. package/dist/keywords-for-site-IXL22UKQ.js +0 -129
  762. package/dist/keywords-for-site-IXL22UKQ.js.map +0 -1
  763. package/dist/landing-KZ4OSHHR.js +0 -28
  764. package/dist/languages-MEFQQBJ2.js +0 -40
  765. package/dist/leads-DNQTRYIR.js +0 -113
  766. package/dist/leads-DNQTRYIR.js.map +0 -1
  767. package/dist/leads-SZOGCQFK.js +0 -538
  768. package/dist/leads-SZOGCQFK.js.map +0 -1
  769. package/dist/learn-Q7WZG7FA.js +0 -205
  770. package/dist/learn-Q7WZG7FA.js.map +0 -1
  771. package/dist/line-item-writes-3K7FT5GO.js +0 -209
  772. package/dist/line-item-writes-3K7FT5GO.js.map +0 -1
  773. package/dist/line-items-G5YJG25N.js +0 -107
  774. package/dist/link-2QVSIZJT.js +0 -65
  775. package/dist/link-2QVSIZJT.js.map +0 -1
  776. package/dist/linkedin-VAFPZNWZ.js +0 -1314
  777. package/dist/linkedin-VAFPZNWZ.js.map +0 -1
  778. package/dist/linkedin-person-EHTYVNZY.js +0 -137
  779. package/dist/linkedin-person-EHTYVNZY.js.map +0 -1
  780. package/dist/list-5TS2VPQZ.js +0 -152
  781. package/dist/list-5TS2VPQZ.js.map +0 -1
  782. package/dist/list-PSSQXQRJ.js +0 -65
  783. package/dist/list-PSSQXQRJ.js.map +0 -1
  784. package/dist/list-UMVIFQ3X.js +0 -304
  785. package/dist/list-UMVIFQ3X.js.map +0 -1
  786. package/dist/locations-RLWAS6AC.js +0 -40
  787. package/dist/locations-UKBOT6SB.js +0 -67
  788. package/dist/locations-UKBOT6SB.js.map +0 -1
  789. package/dist/log-ZZK3QMZB.js +0 -93
  790. package/dist/log-ZZK3QMZB.js.map +0 -1
  791. package/dist/lookup-ZJIP2M4X.js +0 -22
  792. package/dist/make-DB2BDVB3.js +0 -1368
  793. package/dist/make-DB2BDVB3.js.map +0 -1
  794. package/dist/map-UJ23GKRH.js +0 -434
  795. package/dist/map-UJ23GKRH.js.map +0 -1
  796. package/dist/mcp-SS2ALFRJ.js +0 -715
  797. package/dist/mcp-SS2ALFRJ.js.map +0 -1
  798. package/dist/media-ZWN7E777.js +0 -18
  799. package/dist/media-sources-GKSEDSE3.js +0 -35
  800. package/dist/members-KD2XRYPZ.js +0 -45
  801. package/dist/members-KD2XRYPZ.js.map +0 -1
  802. package/dist/meta-EHKXH257.js +0 -122
  803. package/dist/metrics-K6FDCMK7.js +0 -152
  804. package/dist/normalize-ZNTXNX6D.js +0 -142
  805. package/dist/normalize-ZNTXNX6D.js.map +0 -1
  806. package/dist/options-TBIFJF3E.js +0 -123
  807. package/dist/options-TBIFJF3E.js.map +0 -1
  808. package/dist/organization-26J2ZIKM.js +0 -947
  809. package/dist/organization-26J2ZIKM.js.map +0 -1
  810. package/dist/page-photos-HWKQOSCU.js +0 -116
  811. package/dist/page-photos-HWKQOSCU.js.map +0 -1
  812. package/dist/performance-6TPJGM6A.js +0 -25
  813. package/dist/performance-O5BXZGS6.js +0 -5539
  814. package/dist/performance-O5BXZGS6.js.map +0 -1
  815. package/dist/pixels-Z7ZGXAGB.js +0 -60
  816. package/dist/pixels-Z7ZGXAGB.js.map +0 -1
  817. package/dist/plan-TVQSEKYL.js +0 -207
  818. package/dist/plan-TVQSEKYL.js.map +0 -1
  819. package/dist/preview-CWRGDFCP.js +0 -216
  820. package/dist/preview-CWRGDFCP.js.map +0 -1
  821. package/dist/promoted-tweet-writes-SZN74JHY.js +0 -181
  822. package/dist/promoted-tweet-writes-SZN74JHY.js.map +0 -1
  823. package/dist/promoted-tweets-7P4TSQU7.js +0 -119
  824. package/dist/publish-3DUERLGT.js +0 -342
  825. package/dist/publish-3DUERLGT.js.map +0 -1
  826. package/dist/query-QM7MBQD7.js +0 -62
  827. package/dist/questionnaire-LEZJLMAV.js +0 -93
  828. package/dist/questionnaire-LEZJLMAV.js.map +0 -1
  829. package/dist/reddit-SN5CESF4.js +0 -27
  830. package/dist/refresh-2ICQBTK4.js +0 -95
  831. package/dist/refresh-2ICQBTK4.js.map +0 -1
  832. package/dist/release-JSZ4JXYJ.js +0 -61
  833. package/dist/release-JSZ4JXYJ.js.map +0 -1
  834. package/dist/relevant-pages-VOICMQ7U.js +0 -99
  835. package/dist/remove-TFUAVRFM.js +0 -51
  836. package/dist/remove-TFUAVRFM.js.map +0 -1
  837. package/dist/reopen-5T2PE7MU.js +0 -64
  838. package/dist/reopen-5T2PE7MU.js.map +0 -1
  839. package/dist/rerun-EZJ4MLYG.js +0 -93
  840. package/dist/rerun-EZJ4MLYG.js.map +0 -1
  841. package/dist/research-BKYSU2C6.js +0 -263
  842. package/dist/research-BKYSU2C6.js.map +0 -1
  843. package/dist/research-QU63CJB5.js +0 -72
  844. package/dist/reset-DKTKZF7G.js +0 -55
  845. package/dist/reset-DKTKZF7G.js.map +0 -1
  846. package/dist/reset-SXABIVP6.js +0 -55
  847. package/dist/reset-SXABIVP6.js.map +0 -1
  848. package/dist/resolve-L47U2T77.js +0 -122
  849. package/dist/resolve-L47U2T77.js.map +0 -1
  850. package/dist/retry-JEWPK2B5.js +0 -63
  851. package/dist/retry-JEWPK2B5.js.map +0 -1
  852. package/dist/retry-SXFVLT3W.js +0 -61
  853. package/dist/retry-SXFVLT3W.js.map +0 -1
  854. package/dist/revenue-2MAYTXRM.js +0 -89
  855. package/dist/revenue-2MAYTXRM.js.map +0 -1
  856. package/dist/rule-writes-S3RN47OG.js +0 -523
  857. package/dist/rule-writes-S3RN47OG.js.map +0 -1
  858. package/dist/rules-CHWTFASP.js +0 -97
  859. package/dist/rules-CHWTFASP.js.map +0 -1
  860. package/dist/rules-KTJ2ZZ62.js +0 -217
  861. package/dist/rules-add-3M5TALWN.js +0 -463
  862. package/dist/rules-add-3M5TALWN.js.map +0 -1
  863. package/dist/run-2DLA6YO4.js +0 -68
  864. package/dist/run-JCGH2NHD.js +0 -67
  865. package/dist/run-JCGH2NHD.js.map +0 -1
  866. package/dist/scaffold-ad-VEW7JDY7.js +0 -1514
  867. package/dist/scaffold-ad-VEW7JDY7.js.map +0 -1
  868. package/dist/scaffold-static-ad-DYRL7DOS.js +0 -1013
  869. package/dist/scaffold-static-ad-DYRL7DOS.js.map +0 -1
  870. package/dist/scaffold-video-YRAVVKUH.js +0 -886
  871. package/dist/scaffold-video-YRAVVKUH.js.map +0 -1
  872. package/dist/schedule-WYIC6VNW.js +0 -62
  873. package/dist/schedule-WYIC6VNW.js.map +0 -1
  874. package/dist/scheduled-agents-FRBF4EOK.js +0 -55
  875. package/dist/schema-TC2O3FYY.js +0 -133
  876. package/dist/schema-TC2O3FYY.js.map +0 -1
  877. package/dist/search-VDW242BN.js +0 -175
  878. package/dist/search-VDW242BN.js.map +0 -1
  879. package/dist/select-O5HSSC36.js +0 -104
  880. package/dist/select-O5HSSC36.js.map +0 -1
  881. package/dist/sends-6FI7WELX.js +0 -348
  882. package/dist/sends-6FI7WELX.js.map +0 -1
  883. package/dist/set-prompt-TI7N64PJ.js +0 -196
  884. package/dist/set-prompt-TI7N64PJ.js.map +0 -1
  885. package/dist/setup-links-BM2FTXUZ.js +0 -142
  886. package/dist/setup-links-BM2FTXUZ.js.map +0 -1
  887. package/dist/shopify-FIHG5PYP.js +0 -3956
  888. package/dist/shopify-FIHG5PYP.js.map +0 -1
  889. package/dist/site-S3IGBMVC.js +0 -178
  890. package/dist/site-S3IGBMVC.js.map +0 -1
  891. package/dist/sources-77WLFY4Y.js +0 -30
  892. package/dist/sources-A4B3R5JC.js +0 -455
  893. package/dist/sources-A4B3R5JC.js.map +0 -1
  894. package/dist/stale-YIRCXDOK.js +0 -74
  895. package/dist/stale-YIRCXDOK.js.map +0 -1
  896. package/dist/status-6YNR647D.js +0 -63
  897. package/dist/status-6YNR647D.js.map +0 -1
  898. package/dist/studies-ZOEUY6YP.js +0 -250
  899. package/dist/study-writes-DTGMCNFP.js +0 -468
  900. package/dist/study-writes-DTGMCNFP.js.map +0 -1
  901. package/dist/sync-FFVWHGLE.js +0 -55
  902. package/dist/sync-FFVWHGLE.js.map +0 -1
  903. package/dist/sync-definition-K4XOAG2B.js +0 -67
  904. package/dist/tags-5KIOGEKN.js +0 -21
  905. package/dist/tags-5KIOGEKN.js.map +0 -1
  906. package/dist/tags-BKAN5EAJ.js +0 -21
  907. package/dist/tags-BKAN5EAJ.js.map +0 -1
  908. package/dist/tags-ETOOYQ57.js +0 -26
  909. package/dist/tags-RPNK7TMO.js +0 -225
  910. package/dist/tags-RPNK7TMO.js.map +0 -1
  911. package/dist/tags-UM4QO46J.js +0 -21
  912. package/dist/tags-UM4QO46J.js.map +0 -1
  913. package/dist/targeting-VBQY3HUN.js +0 -760
  914. package/dist/targeting-VBQY3HUN.js.map +0 -1
  915. package/dist/targeting-criteria-L4DYIJZI.js +0 -113
  916. package/dist/targets-S6N7327Q.js +0 -104
  917. package/dist/targets-S6N7327Q.js.map +0 -1
  918. package/dist/testimonials-65N7IYN7.js +0 -32
  919. package/dist/themes-B4LCQUXB.js +0 -95
  920. package/dist/top-companies-SJKND75M.js +0 -109
  921. package/dist/top-companies-SJKND75M.js.map +0 -1
  922. package/dist/transcript-5I7I6DWL.js +0 -163
  923. package/dist/transcript-5I7I6DWL.js.map +0 -1
  924. package/dist/translate-SH6IG5Y7.js +0 -607
  925. package/dist/translate-SH6IG5Y7.js.map +0 -1
  926. package/dist/triggers-YRY3HTYU.js +0 -142
  927. package/dist/triggers-YRY3HTYU.js.map +0 -1
  928. package/dist/unlink-4B4YTQE4.js +0 -68
  929. package/dist/unlink-4B4YTQE4.js.map +0 -1
  930. package/dist/unstage-H5NTDJ6A.js +0 -86
  931. package/dist/unstage-H5NTDJ6A.js.map +0 -1
  932. package/dist/unstage-MDSSPUKV.js +0 -95
  933. package/dist/unstage-MDSSPUKV.js.map +0 -1
  934. package/dist/update-DI52JJGB.js +0 -99
  935. package/dist/update-DI52JJGB.js.map +0 -1
  936. package/dist/update-DMPDLMMV.js +0 -64
  937. package/dist/update-DMPDLMMV.js.map +0 -1
  938. package/dist/update-TUS4PJIG.js +0 -190
  939. package/dist/update-TUS4PJIG.js.map +0 -1
  940. package/dist/update-Z66LMXNS.js +0 -153
  941. package/dist/update-Z66LMXNS.js.map +0 -1
  942. package/dist/upload-7KQYZ7T7.js +0 -127
  943. package/dist/upload-7KQYZ7T7.js.map +0 -1
  944. package/dist/url-options-IHL4OU4C.js +0 -130
  945. package/dist/url-options-IHL4OU4C.js.map +0 -1
  946. package/dist/url-params-SDA2MWB5.js +0 -99
  947. package/dist/url-params-SDA2MWB5.js.map +0 -1
  948. package/dist/validate-ZABZNCSB.js +0 -120
  949. package/dist/validate-ZABZNCSB.js.map +0 -1
  950. package/dist/videos-BKVCCKIH.js +0 -41
  951. package/dist/viewer-check-B5O7ZY3Q.js +0 -81
  952. package/dist/web-KN3BTVG4.js +0 -141
  953. package/dist/web-KN3BTVG4.js.map +0 -1
  954. package/dist/winning-ads-JIDPISKM.js +0 -86
  955. package/dist/write-commands-K6M3RTVK.js +0 -1170
  956. package/dist/write-commands-K6M3RTVK.js.map +0 -1
  957. package/dist/write-commands-RVHLLLDR.js +0 -1498
  958. package/dist/write-commands-RVHLLLDR.js.map +0 -1
  959. package/dist/x-NLGWZCGX.js +0 -47
  960. /package/dist/{account-assets-O7IA37RE.js.map → account-assets-J5Z4URLQ.js.map} +0 -0
  961. /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-2MSUVG46.js.map} +0 -0
  962. /package/dist/{actions-Y4SULW2E.js.map → actions-D7OWCP36.js.map} +0 -0
  963. /package/dist/{ads-2TVWICGM.js.map → ads-HLUJB5SQ.js.map} +0 -0
  964. /package/dist/{ads-KBE5JXCH.js.map → ads-MAOI7S6V.js.map} +0 -0
  965. /package/dist/{adsets-YWBJFPAZ.js.map → adsets-QRKICEFD.js.map} +0 -0
  966. /package/dist/{asset-writes-72DEVXGO.js.map → asset-writes-JLVUAVUZ.js.map} +0 -0
  967. /package/dist/{audiences-QAH42HIM.js.map → audiences-CDDI5HR5.js.map} +0 -0
  968. /package/dist/{avatars-P4UPNZM4.js.map → avatars-WZ2JDMHH.js.map} +0 -0
  969. /package/dist/{brand-HALQWZWB.js.map → brand-IZTTBZII.js.map} +0 -0
  970. /package/dist/{campaigns-YMM5TQVO.js.map → campaigns-4Y3JQC2U.js.map} +0 -0
  971. /package/dist/{campaigns-XZOQ2VTK.js.map → campaigns-HES5MDUG.js.map} +0 -0
  972. /package/dist/{canvas-IJS7H3VE.js.map → canvas-IQ753Q2O.js.map} +0 -0
  973. /package/dist/{changes-36C754R4.js.map → changes-VWKTM27U.js.map} +0 -0
  974. /package/dist/{chatgpt-3WFOPURY.js.map → chatgpt-OPOD2WHB.js.map} +0 -0
  975. /package/dist/{chunk-DUR7PEJI.js.map → chunk-2GYCWRF3.js.map} +0 -0
  976. /package/dist/{chunk-QBRPM3DQ.js.map → chunk-2L7F7KR4.js.map} +0 -0
  977. /package/dist/{chunk-4GAEB6NK.js.map → chunk-44ZRCSR7.js.map} +0 -0
  978. /package/dist/{chunk-2TOIY2WN.js.map → chunk-46YLDIQG.js.map} +0 -0
  979. /package/dist/{chunk-R53XMPDO.js.map → chunk-4EDWXZ3I.js.map} +0 -0
  980. /package/dist/{chunk-H4NNQGG6.js.map → chunk-4FFBGR5L.js.map} +0 -0
  981. /package/dist/{chunk-XGPU2VDU.js.map → chunk-4UQRXKYJ.js.map} +0 -0
  982. /package/dist/{chunk-N7M2TWR5.js.map → chunk-4UZUUSVL.js.map} +0 -0
  983. /package/dist/{chunk-I47BEKYK.js.map → chunk-4XHCEYHI.js.map} +0 -0
  984. /package/dist/{chunk-SCL7PM6P.js.map → chunk-4Z6PVR3M.js.map} +0 -0
  985. /package/dist/{chunk-ZEC46NWW.js.map → chunk-5Y5FZV2W.js.map} +0 -0
  986. /package/dist/{chunk-G5Y7OIPL.js.map → chunk-6HJXLGDV.js.map} +0 -0
  987. /package/dist/{chunk-QW6HL7D6.js.map → chunk-6S5CWGDA.js.map} +0 -0
  988. /package/dist/{chunk-5RVQK3SP.js.map → chunk-6VYROVWO.js.map} +0 -0
  989. /package/dist/{chunk-TVAIOC77.js.map → chunk-7BUIOP36.js.map} +0 -0
  990. /package/dist/{chunk-NDFS3APP.js.map → chunk-AQRXXC6E.js.map} +0 -0
  991. /package/dist/{chunk-ZFC562TP.js.map → chunk-ARBXT73X.js.map} +0 -0
  992. /package/dist/{chunk-KQTNUDKD.js.map → chunk-BEZHQIEI.js.map} +0 -0
  993. /package/dist/{chunk-5SRUAGTG.js.map → chunk-BFURWHVR.js.map} +0 -0
  994. /package/dist/{chunk-KBRJSPIM.js.map → chunk-DSCEXBDR.js.map} +0 -0
  995. /package/dist/{chunk-Z7YMSHRZ.js.map → chunk-FLWDFPXE.js.map} +0 -0
  996. /package/dist/{chunk-GACSA5A6.js.map → chunk-FRNBRN2C.js.map} +0 -0
  997. /package/dist/{chunk-C7QQQVBS.js.map → chunk-GE3VT3CA.js.map} +0 -0
  998. /package/dist/{chunk-P6BKKUSX.js.map → chunk-HGBJQGO5.js.map} +0 -0
  999. /package/dist/{chunk-MGYC2IRC.js.map → chunk-I7AYMJZA.js.map} +0 -0
  1000. /package/dist/{chunk-BRLZX3VP.js.map → chunk-IRM273C7.js.map} +0 -0
  1001. /package/dist/{chunk-AYPBARKP.js.map → chunk-IWKD56AY.js.map} +0 -0
  1002. /package/dist/{chunk-MZCTX37B.js.map → chunk-JLAQWMVF.js.map} +0 -0
  1003. /package/dist/{chunk-AQOFQNKQ.js.map → chunk-K6NULQN7.js.map} +0 -0
  1004. /package/dist/{chunk-GMHCHHAA.js.map → chunk-L2BRAC2J.js.map} +0 -0
  1005. /package/dist/{chunk-SVBJ56T7.js.map → chunk-LGMI4LSY.js.map} +0 -0
  1006. /package/dist/{chunk-OJGYYH6K.js.map → chunk-NB2FU6EZ.js.map} +0 -0
  1007. /package/dist/{chunk-TVTSA4EN.js.map → chunk-NWF2LRKO.js.map} +0 -0
  1008. /package/dist/{chunk-6Z7Y4KQB.js.map → chunk-OG47L5GG.js.map} +0 -0
  1009. /package/dist/{chunk-AIRD6T4W.js.map → chunk-OR6KVLI5.js.map} +0 -0
  1010. /package/dist/{chunk-OBJCNGZL.js.map → chunk-QDQZ62FL.js.map} +0 -0
  1011. /package/dist/{chunk-FPWQA7TK.js.map → chunk-QIOFOD4K.js.map} +0 -0
  1012. /package/dist/{chunk-XQXZJ5IR.js.map → chunk-R2SYF5FC.js.map} +0 -0
  1013. /package/dist/{chunk-YMF2RG4Z.js.map → chunk-RTH2I55B.js.map} +0 -0
  1014. /package/dist/{chunk-FFFJBNHA.js.map → chunk-S6VFDNSQ.js.map} +0 -0
  1015. /package/dist/{chunk-ZNRGH4NS.js.map → chunk-SG2TDQEE.js.map} +0 -0
  1016. /package/dist/{chunk-RFIUOQLN.js.map → chunk-T3P6O2VU.js.map} +0 -0
  1017. /package/dist/{chunk-BTJSGJNQ.js.map → chunk-TXDE2QJ3.js.map} +0 -0
  1018. /package/dist/{chunk-HSQRITKG.js.map → chunk-UDIEKCIR.js.map} +0 -0
  1019. /package/dist/{chunk-MBSFEVOG.js.map → chunk-USCADMM3.js.map} +0 -0
  1020. /package/dist/{chunk-SM7G7RUA.js.map → chunk-UUGISMNE.js.map} +0 -0
  1021. /package/dist/{chunk-Z2DRGXBB.js.map → chunk-VDPOCAQ2.js.map} +0 -0
  1022. /package/dist/{chunk-PLAOK4AK.js.map → chunk-VEJ3QX6M.js.map} +0 -0
  1023. /package/dist/{chunk-ARUXGKZO.js.map → chunk-VFJB7OG6.js.map} +0 -0
  1024. /package/dist/{chunk-RVEY7BTT.js.map → chunk-VRIPVLE7.js.map} +0 -0
  1025. /package/dist/{chunk-5XTGG4PV.js.map → chunk-WFY7KSHB.js.map} +0 -0
  1026. /package/dist/{chunk-D3KLDIPQ.js.map → chunk-WLESMH4J.js.map} +0 -0
  1027. /package/dist/{chunk-PLBITHV6.js.map → chunk-XHQYFNNK.js.map} +0 -0
  1028. /package/dist/{chunk-QMDMTZAW.js.map → chunk-YILZR3XI.js.map} +0 -0
  1029. /package/dist/{chunk-W574NV67.js.map → chunk-YJFLXOH4.js.map} +0 -0
  1030. /package/dist/{chunk-MUXKYSTI.js.map → chunk-YWHZYR6S.js.map} +0 -0
  1031. /package/dist/{connect-PP6Z3F7Y.js.map → connect-3YY7MF3I.js.map} +0 -0
  1032. /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-7RSZ5ZQU.js.map} +0 -0
  1033. /package/dist/{creatives-UJDPD4CI.js.map → creatives-2DR3QHJW.js.map} +0 -0
  1034. /package/dist/{creatives-JPKA2RHU.js.map → creatives-BB6S2OF6.js.map} +0 -0
  1035. /package/dist/{currency-R4ORE2U3.js.map → currency-X7Y6TSLF.js.map} +0 -0
  1036. /package/dist/{custom-conversions-5HJBB5XL.js.map → custom-conversions-HAGG72LF.js.map} +0 -0
  1037. /package/dist/{customers-7J3QGSOJ.js.map → customers-663K2OCP.js.map} +0 -0
  1038. /package/dist/{discover-GSJRZUOC.js.map → discover-6DORQWXY.js.map} +0 -0
  1039. /package/dist/{draft-WYDMLNYA.js.map → draft-R6EKORNS.js.map} +0 -0
  1040. /package/dist/{fit-N7WDGWYZ.js.map → fit-BEFCY2B4.js.map} +0 -0
  1041. /package/dist/{fonts-TTUAP7HS.js.map → fonts-C6XN5667.js.map} +0 -0
  1042. /package/dist/{forecast-4AG5F7YC.js.map → forecast-BTPIXEQ5.js.map} +0 -0
  1043. /package/dist/{google-NAA4BASO.js.map → google-M6BJ22UL.js.map} +0 -0
  1044. /package/dist/{ideas-SUXKKZC7.js.map → ideas-M66FU45H.js.map} +0 -0
  1045. /package/dist/{images-VKVZ3DWG.js.map → images-MM5OPUKV.js.map} +0 -0
  1046. /package/dist/{ingest-BBBFT6FZ.js.map → ingest-KMLYCFF4.js.map} +0 -0
  1047. /package/dist/{intent-NSHW7EJT.js.map → intent-YCQCUCV3.js.map} +0 -0
  1048. /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-PUSF7EKY.js.map} +0 -0
  1049. /package/dist/{landing-KZ4OSHHR.js.map → landing-OZU5RRFV.js.map} +0 -0
  1050. /package/dist/{languages-MEFQQBJ2.js.map → languages-SLFV73GE.js.map} +0 -0
  1051. /package/dist/{line-items-G5YJG25N.js.map → line-items-NJMEPEF5.js.map} +0 -0
  1052. /package/dist/{locations-RLWAS6AC.js.map → locations-T2OMP6QN.js.map} +0 -0
  1053. /package/dist/{lookup-ZJIP2M4X.js.map → lookup-S5VG7AWH.js.map} +0 -0
  1054. /package/dist/{media-ZWN7E777.js.map → media-P4T4ZBNS.js.map} +0 -0
  1055. /package/dist/{media-sources-GKSEDSE3.js.map → media-sources-EQI3U4TC.js.map} +0 -0
  1056. /package/dist/{meta-EHKXH257.js.map → meta-IPLWNYC7.js.map} +0 -0
  1057. /package/dist/{metrics-K6FDCMK7.js.map → metrics-4YVJHYRI.js.map} +0 -0
  1058. /package/dist/{performance-6TPJGM6A.js.map → performance-NIF3CESZ.js.map} +0 -0
  1059. /package/dist/{promoted-tweets-7P4TSQU7.js.map → promoted-tweets-RJT53DRM.js.map} +0 -0
  1060. /package/dist/{query-QM7MBQD7.js.map → query-XZMDGRO5.js.map} +0 -0
  1061. /package/dist/{reddit-SN5CESF4.js.map → reddit-JIHMAKAQ.js.map} +0 -0
  1062. /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-FS7GBVXK.js.map} +0 -0
  1063. /package/dist/{research-QU63CJB5.js.map → research-PNBACCCP.js.map} +0 -0
  1064. /package/dist/{rules-KTJ2ZZ62.js.map → rules-ZVS2MWED.js.map} +0 -0
  1065. /package/dist/{run-2DLA6YO4.js.map → run-QCNRR3CA.js.map} +0 -0
  1066. /package/dist/{scheduled-agents-FRBF4EOK.js.map → scheduled-agents-OXYAVSIE.js.map} +0 -0
  1067. /package/dist/{sources-77WLFY4Y.js.map → sources-FLUGHSVP.js.map} +0 -0
  1068. /package/dist/{studies-ZOEUY6YP.js.map → studies-EPO2AM4M.js.map} +0 -0
  1069. /package/dist/{sync-definition-K4XOAG2B.js.map → sync-definition-OGQ5XTQE.js.map} +0 -0
  1070. /package/dist/{tags-ETOOYQ57.js.map → tags-CZTRQNXV.js.map} +0 -0
  1071. /package/dist/{targeting-criteria-L4DYIJZI.js.map → targeting-criteria-AQYXVSGN.js.map} +0 -0
  1072. /package/dist/{testimonials-65N7IYN7.js.map → testimonials-G3OCNPBY.js.map} +0 -0
  1073. /package/dist/{themes-B4LCQUXB.js.map → themes-FEVYZZCW.js.map} +0 -0
  1074. /package/dist/{videos-BKVCCKIH.js.map → videos-36AXDUGZ.js.map} +0 -0
  1075. /package/dist/{viewer-check-B5O7ZY3Q.js.map → viewer-check-6HL4OUQY.js.map} +0 -0
  1076. /package/dist/{winning-ads-JIDPISKM.js.map → winning-ads-GMM5W2O4.js.map} +0 -0
  1077. /package/dist/{x-NLGWZCGX.js.map → x-HGFAL3NY.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/hubspot/index.ts"],"sourcesContent":["import type {\n HubspotContactFieldsListResponse,\n HubspotContactLookupResponse,\n HubspotContactPropertiesListResponse,\n HubspotContactsSummaryResponse,\n HubspotFormSubmissionsResponse,\n HubspotFormsListResponse,\n HubspotFormsViewResponse,\n HubspotMeetingsListResponse,\n HubspotMeetingsViewResponse,\n HubspotPipelinesListResponse,\n HubspotWorkflowsListResponse,\n HubspotWorkflowsViewResponse,\n} from \"@baker/api\";\nimport { HUBSPOT_OPERATORS } from \"@baker/api/event-sources\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failNotConnected } from \"./refusal.ts\";\n\nconst EMBED_TYPES = [\"legacy\", \"v4\", \"unknown\"] as const;\n\nfunction assertEmbedType(value: string | undefined): (typeof EMBED_TYPES)[number] | undefined {\n if (value === undefined) {\n return undefined;\n }\n if (!(EMBED_TYPES as readonly string[]).includes(value)) {\n throw new Error(`--embed-type must be one of: ${EMBED_TYPES.join(\"|\")}`);\n }\n return value as (typeof EMBED_TYPES)[number];\n}\n\nregisterSchema({\n command: \"hubspot.forms.list\",\n description:\n \"Start here for HubSpot forms: every form on the connected account, with just enough to choose one — embed type (legacy vs v4), field count, its post-submit action (inline thank-you vs redirect to a URL), and whether spam prevention (captcha) is on. A form with captcha on can be embedded on a page but can never receive a submission from a Form, so check it before wiring one as a destination. Answers 'which of my forms redirect after submit?' and 'is this form legacy or v4?'. portalId is returned once on data, not per row. Next step is usually `hubspot forms view <id> --as-node`, which gives you the blob to write straight into a Form step — you do not need request_flow_input for HubSpot.\",\n args: {\n search: { type: \"string\", description: \"Case-insensitive substring match on the form name\", required: false },\n \"redirecting-only\": {\n type: \"boolean\",\n description: \"Only forms whose post-submit action redirects away\",\n required: false,\n default: false,\n },\n \"embed-type\": { type: \"string\", description: \"Filter: legacy|v4|unknown\", required: false, enum: [...EMBED_TYPES] },\n },\n});\n\nregisterSchema({\n command: \"hubspot.forms.view\",\n description:\n \"One HubSpot form in detail: every field (name, label, type, required, hidden, options), the legal-consent mode, the post-submit action, captcha, and language. Read it before wiring a form into a Form (flow) so you know what fields exist to autofill. Add --full for the untouched HubSpot payload, or --as-node to get the object to write into the step's form.external instead.\",\n args: {\n formId: { type: \"positional\", description: \"HubSpot form id (from `baker hubspot forms list`)\", required: true },\n full: { type: \"boolean\", description: \"Include the raw HubSpot payload\", required: false, default: false },\n \"as-node\": {\n type: \"boolean\",\n description:\n \"Emit the resource blob to write into a flow node's form.external, instead of the readable view. Write it into the node yourself; no need for request_flow_input when the account is connected and the form is unambiguous.\",\n required: false,\n default: false,\n },\n },\n});\n\nregisterSchema({\n command: \"hubspot.forms.submissions\",\n description:\n \"How many leads a form actually received over a window, and on which days — the difference between 'this form is live' and 'this form is working'. Start here when asked whether a form or a campaign is producing leads. Returns counts and dates only; the leads' own answers need --full and are personal data, so do not put them in a report. Pair with `hubspot pipelines list` to see whether those leads were then worked.\",\n args: {\n formId: { type: \"positional\", description: \"HubSpot form id (from `baker hubspot forms list`)\", required: true },\n days: { type: \"string\", description: \"Window in days, 1-365 (default 30)\", required: false },\n full: {\n type: \"boolean\",\n description: \"Include each submission's field values — personal data, request only when actually needed\",\n required: false,\n default: false,\n },\n },\n});\n\nregisterSchema({\n command: \"hubspot.contacts.summary\",\n description:\n \"Whether the leads that arrived recently are actually being worked, as counts: how many contacts were created in the window, how many have someone assigned, and how they split across lifecycle stages. This is the 'have these leads been treated?' answer. Returns no names or emails — use `hubspot contacts lookup` for one specific person.\",\n args: {\n days: { type: \"string\", description: \"Window in days, 1-365 (default 30)\", required: false },\n },\n});\n\nregisterSchema({\n command: \"hubspot.contacts.properties\",\n description:\n \"Every contact property a HubSpot event can watch, with its `kind` (select, string, number, date, boolean) — which decides the operators the trigger takes — and, for a select, the `options` its values come from. Start here to make a HubSpot event: pick the property and condition that mean the outcome (a deal won is usually `lifecyclestage` is `customer`, a custom property the client's team sets, or a number crossing a threshold), then `baker analytics sources --create-hubspot --property <name> [--operator <op>] --value <value>…` reads it every five minutes. Names are HubSpot's internal ones; use them as printed.\",\n args: {},\n});\n\nregisterSchema({\n command: \"hubspot.contacts.fields\",\n description:\n \"Every contact property on the connected HubSpot account — name, label, group and HubSpot's type — which is what a HubSpot event's rows can read: `baker analytics sources --create-hubspot … --field email={{work_email}} --field value={{deal_value}} --field currency=EUR`, or `--map` on an existing one. Names are HubSpot's internal ones; use them as printed, and `{{id}}` for the contact's own id. No personal data.\",\n args: {},\n});\n\nregisterSchema({\n command: \"hubspot.contacts.lookup\",\n description:\n \"One contact by email: its lifecycle stage, whether anyone is assigned, the account (company) it was filed under, and any deals it is attached to with their stage. Use it to settle whether a specific lead was picked up. `found: false` means the lead never reached the CRM at all — that is a finding, not an error. `dealsReadable: false` / `companyReadable: false` mean deals or account details were not readable on this connection, so an empty deals list or a null company is unknown rather than absent.\",\n args: {\n email: { type: \"positional\", description: \"The contact's email address\", required: true },\n },\n});\n\nregisterSchema({\n command: \"hubspot.workflows.list\",\n description:\n \"Every workflow on the connected account, with whether it is switched on. Read it when auditing what happens to a lead after it is captured — a form wired to a workflow that is off looks connected and does nothing.\",\n args: {\n search: { type: \"string\", description: \"Case-insensitive substring match on the workflow name\", required: false },\n \"enabled-only\": { type: \"boolean\", description: \"Only workflows that are on\", required: false, default: false },\n },\n});\n\nregisterSchema({\n command: \"hubspot.workflows.view\",\n description:\n \"One workflow's actual configuration: what enrols a record, whether it re-enrols, and every step with the property it writes. Read it before saying a workflow is correct — `workflows list` only tells you it exists and whether it is on. Branches come back in HubSpot's order, and on a LIST_BRANCH step that is evaluation order (`order: 1` wins over `order: 2`) — which is where this kind of setup silently breaks: a broad branch placed above a narrow one swallows the records the narrow one was written for, and nothing reports it. A STATIC_BRANCH matches on a value instead, so its order carries no precedence. Steps are NOT in execution order — follow `nextActionId` from step to step. Add --full for the branch filter criteria (which property is compared to which value).\",\n args: {\n workflowId: {\n type: \"positional\",\n description: \"Workflow id (from `baker hubspot workflows list`)\",\n required: true,\n },\n full: {\n type: \"boolean\",\n description: \"Include the raw HubSpot payload — the only place the branch filter criteria can be read\",\n required: false,\n default: false,\n },\n },\n});\n\nregisterSchema({\n command: \"hubspot.pipelines.list\",\n description:\n \"The account's deal pipelines and their stages, in the order they run, each stage with `isClosed` / `isWon` (HubSpot's closed-won is closed with probability 1). Use it to answer where a lead lands once captured and whether it moved — the 'have these leads been worked?' half of a form audit — and to pick the pipeline ids for `hubspot deals list --pipeline`.\",\n args: {},\n});\n\nregisterSchema({\n command: \"hubspot.meetings.list\",\n description:\n \"Every HubSpot meeting link (calendar) on the connected account, with just enough to choose one: name, slug, link type (personal / group / round-robin), whether booking redirects somewhere, and how many booking fields it asks for (null = unknown, read it with `meetings view`). Next step is usually `hubspot meetings view <slug> --as-node`, which gives you the blob to write straight into a hubspotMeeting step.\",\n args: {\n search: { type: \"string\", description: \"Case-insensitive substring match on the meeting name\", required: false },\n \"redirecting-only\": {\n type: \"boolean\",\n description: \"Only meeting links that redirect after booking\",\n required: false,\n default: false,\n },\n },\n});\n\nregisterSchema({\n command: \"hubspot.meetings.view\",\n description:\n \"One HubSpot meeting link in detail: its booking-form fields (name, label, type, required, custom), link, and redirect URL. This is the source of truth for a calendar's fields — the list command cannot see them reliably. Add --as-node to get the object to write into the step's form.external instead.\",\n args: {\n slug: { type: \"positional\", description: \"Meeting slug (from `baker hubspot meetings list`)\", required: true },\n \"as-node\": {\n type: \"boolean\",\n description: \"Emit the resource blob to write into a flow node's form.external, instead of the readable view.\",\n required: false,\n default: false,\n },\n },\n});\n\nconst formsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"List HubSpot forms with embed type and post-submit action. Example: baker hubspot forms list --redirecting-only\",\n },\n args: {\n search: { type: \"string\", description: \"Match on form name\", required: false },\n \"redirecting-only\": { type: \"boolean\", description: \"Only forms that redirect on submit\", required: false },\n \"embed-type\": { type: \"string\", description: \"Filter: legacy|v4|unknown\", required: false },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = {};\n if (args.search) {\n body.search = args.search;\n }\n if (args[\"redirecting-only\"]) {\n body.redirectingOnly = true;\n }\n const embedType = assertEmbedType(args[\"embed-type\"]);\n if (embedType) {\n body.embedType = embedType;\n }\n\n const response = await apiPost<HubspotFormsListResponse>(\"/api/hubspot/forms/list\", body);\n const { forms } = response.data;\n const redirecting = forms.filter((form) => form.postSubmitAction?.type === \"redirect_url\");\n const hints: string[] = [];\n if (forms.length === 0) {\n hints.push(\"No forms matched. Drop --search/--embed-type, or check the connected HubSpot account.\");\n } else {\n hints.push(\n \"To put one on a page: `baker hubspot forms view <id> --as-node` returns the object to write into the step's form.external. No request_flow_input needed for HubSpot.\",\n );\n }\n if (redirecting.length > 0) {\n hints.push(\n `${redirecting.length} form(s) redirect after submit. That is fine mid-Form: the renderer suppresses the redirect whenever a step follows the form, and honors it when the form is the last step.`,\n );\n }\n const blocked = forms.filter((form) => form.captchaEnabled);\n if (blocked.length > 0) {\n // Named rather than counted, because the next thing the agent does with\n // this is tell a person which of their forms is the problem — but\n // bounded, since every row already carries `captchaEnabled` and an\n // account with forty blocked forms would otherwise print forty names.\n const shown = blocked.slice(0, 3).map((form) => form.name);\n const rest = blocked.length - shown.length;\n hints.push(\n `${blocked.length} form(s) have spam prevention (captcha) on: ${shown.join(\", \")}${rest > 0 ? `, and ${rest} more` : \"\"}. HubSpot refuses every submission sent to those, so they can be embedded on a page but never wired as a Form's destination. Only the user can switch it off, on the form in HubSpot.`,\n );\n }\n\n writeJson({ ...response, meta: { count: forms.length }, ...(hints.length > 0 ? { hints } : {}) });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\n/**\n * The one HubSpot setting that decides whether a form can receive a lead at\n * all. HubSpot refuses every API submission to a form with spam prevention on\n * (`FORM_HAS_RECAPTCHA_ENABLED`) and there is no token to attach, so the answer\n * is never \"send it differently\" — it is a switch only the client can flip.\n */\nconst CAPTCHA_VIEW_HINT =\n \"This form has spam prevention (captcha) on. HubSpot refuses every submission sent to it, so it cannot be a Form's destination — embedding it on a page still works, because the visitor solves the captcha in the browser. Only the user can switch it off, on the form in HubSpot; do not wire a delivery to it, and tell them what has to change.\";\n\nconst CAPTCHA_NODE_HINT =\n \"This form has spam prevention (captcha) on. That is fine for embedding it on a page — the visitor solves it in the browser — but it can never be a Form's delivery destination, so do not also wire a hubspotForm side effect to this form.\";\n\n/**\n * What to say about one form beyond its fields.\n *\n * Pure and exported so the wording is testable: these are the three facts about\n * a HubSpot form that decide whether wiring it works, and each of them is\n * invisible in the form's own field list.\n */\nexport function formViewHints(form: {\n postSubmitAction: { type: string; value: string } | null;\n captchaEnabled: boolean;\n embedType: string;\n}): string[] {\n const hints: string[] = [];\n if (form.postSubmitAction?.type === \"redirect_url\") {\n hints.push(\n `This form redirects to ${form.postSubmitAction.value} on submit. Placed anywhere but the last step of a Form, that redirect is suppressed so the next step can render.`,\n );\n }\n if (form.captchaEnabled) {\n hints.push(CAPTCHA_VIEW_HINT);\n }\n if (form.embedType === \"unknown\") {\n hints.push(\"Embed type could not be determined from HubSpot's response; the renderer treats it as legacy.\");\n }\n return hints;\n}\n\n/**\n * The same for the `--as-node` blob, where the reader is about to *embed* the\n * form. Captcha reads the opposite way here and has to say so: an embedded form\n * with captcha works, because the visitor solves it in the browser. Silence\n * would leave an agent that just read the refusal elsewhere to conclude the\n * form is unusable and quietly pick another.\n */\nexport function formNodeHints(\n external:\n | {\n captchaEnabled: boolean;\n embedType?: string;\n region?: string;\n configuration?: { postSubmitAction: { type: string } };\n }\n | undefined,\n): string[] {\n return [\n \"Write this object into the node's `form.external` in the flow's _data.json, keeping the rest of the node as-is. No request_flow_input needed — the account is already connected.\",\n ...(external?.captchaEnabled ? [CAPTCHA_NODE_HINT] : []),\n ...(external?.configuration?.postSubmitAction.type === \"redirect_url\"\n ? [\n \"This form redirects on submit. Safe unless it is the last step: the renderer suppresses the redirect whenever a step follows it.\",\n ]\n : []),\n ...(external?.embedType === \"v4\" && !external.region\n ? [\n \"WARNING: this is a v4 form and the connected account has no region recorded, so the step will load HubSpot's na1 script host. That is correct for US portals and breaks the form on eu1/ap1 ones. If it renders blank, have the user reconnect HubSpot from Brain -> Integrations -> Tools, then re-run this command.\",\n ]\n : []),\n ];\n}\n\nconst formsViewCommand = defineCommand({\n meta: {\n name: \"view\",\n description: \"Show one HubSpot form's fields and configuration. Example: baker hubspot forms view 1a2b3c\",\n },\n args: {\n formId: { type: \"positional\", description: \"HubSpot form id\", required: true },\n full: { type: \"boolean\", description: \"Include the raw HubSpot payload\", required: false },\n \"as-node\": { type: \"boolean\", description: \"Emit the node-ready form.external blob\", required: false },\n },\n run: async ({ args }) => {\n try {\n const response = await apiPost<HubspotFormsViewResponse>(\"/api/hubspot/forms/view\", {\n formId: args.formId,\n ...(args.full ? { full: true } : {}),\n ...(args[\"as-node\"] ? { asNode: true } : {}),\n });\n\n if (args[\"as-node\"]) {\n writeJson({ ...response, hints: formNodeHints(response.data.external) });\n return;\n }\n\n const form = response.data.form;\n if (!form) {\n throw new Error(\"Response did not include the form view\");\n }\n const hints = formViewHints(form);\n\n writeJson({ ...response, meta: { count: form.fields.length }, ...(hints.length > 0 ? { hints } : {}) });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\nconst meetingsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List HubSpot meeting links (calendars). Example: baker hubspot meetings list\",\n },\n args: {\n search: { type: \"string\", description: \"Match on meeting name\", required: false },\n \"redirecting-only\": { type: \"boolean\", description: \"Only links that redirect after booking\", required: false },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = {};\n if (args.search) {\n body.search = args.search;\n }\n if (args[\"redirecting-only\"]) {\n body.redirectingOnly = true;\n }\n\n const response = await apiPost<HubspotMeetingsListResponse>(\"/api/hubspot/meetings/list\", body);\n const { meetings } = response.data;\n const hints: string[] = [];\n if (meetings.length === 0) {\n hints.push(\"No meeting links matched. Drop --search, or check the connected HubSpot account.\");\n } else {\n hints.push(\n \"To put one on a page: `baker hubspot meetings view <slug> --as-node` returns the object to write into the step's form.external.\",\n );\n }\n const unknown = meetings.filter((meeting) => !meeting.redirectKnown);\n if (unknown.length > 0) {\n hints.push(\n `HubSpot did not report booking settings for ${unknown.length} of these (${unknown\n .map((meeting) => meeting.slug)\n .join(\n \", \",\n )}), so their redirect and field count are UNKNOWN, not absent. Run \\`baker hubspot meetings view <slug>\\` before concluding one does not redirect.`,\n );\n }\n\n writeJson({ ...response, meta: { count: meetings.length }, ...(hints.length > 0 ? { hints } : {}) });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\nconst meetingsViewCommand = defineCommand({\n meta: {\n name: \"view\",\n description: \"Show one HubSpot meeting link's booking fields. Example: baker hubspot meetings view discovery-call\",\n },\n args: {\n slug: { type: \"positional\", description: \"Meeting slug\", required: true },\n \"as-node\": { type: \"boolean\", description: \"Emit the node-ready form.external blob\", required: false },\n },\n run: async ({ args }) => {\n try {\n const response = await apiPost<HubspotMeetingsViewResponse>(\"/api/hubspot/meetings/view\", {\n slug: args.slug,\n ...(args[\"as-node\"] ? { asNode: true } : {}),\n });\n\n if (args[\"as-node\"]) {\n const { external } = response.data;\n writeJson({\n ...response,\n hints: [\n \"Write this object into the node's `form.external` in the flow's _data.json, keeping the rest of the node as-is. No request_flow_input needed — the account is already connected.\",\n ...(external?.customParams.redirectUrl\n ? [\n `This calendar redirects to ${external.customParams.redirectUrl} after booking, and that redirect is NOT suppressed — any step placed after it is unreachable. Keep it as the last step, or ask the user to clear the redirect in HubSpot.`,\n ]\n : []),\n ],\n });\n return;\n }\n\n const meeting = response.data.meeting;\n if (!meeting) {\n throw new Error(\"Response did not include the meeting view\");\n }\n const hints: string[] = [];\n if (meeting.redirectUrl) {\n hints.push(\n `This calendar redirects to ${meeting.redirectUrl} after booking. A step placed after it will not be reached — keep it as the last step, or clear the redirect in HubSpot.`,\n );\n }\n\n writeJson({ ...response, meta: { count: meeting.fields.length }, ...(hints.length > 0 ? { hints } : {}) });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\nconst formsSubmissionsCommand = defineCommand({\n meta: {\n name: \"submissions\",\n description:\n \"How many leads a form received, and when. Example: baker hubspot forms submissions <formId> --days 30\",\n },\n args: {\n formId: { type: \"positional\", description: \"HubSpot form id\", required: true },\n days: { type: \"string\", description: \"Window in days (default 30)\", required: false },\n full: { type: \"boolean\", description: \"Include each lead's answers\", required: false },\n },\n run: async ({ args }) => {\n try {\n const days = args.days === undefined ? 30 : Number(args.days);\n if (!Number.isInteger(days) || days < 1 || days > 365) {\n throw new ApiError(\"VALIDATION_ERROR\", \"--days must be a whole number between 1 and 365.\");\n }\n\n const response = await apiPost<HubspotFormSubmissionsResponse>(\"/api/hubspot/forms/submissions\", {\n formId: args.formId,\n days,\n ...(args.full ? { full: true } : {}),\n });\n const { inWindow, total, truncated, lastSubmittedAt } = response.data;\n\n const hints: string[] = [];\n if (inWindow === 0) {\n hints.push(\n total === 0\n ? \"This form has received nothing at all — check it is the form actually embedded on the page before concluding the campaign is at fault.\"\n : `No leads in the last ${days} days, though the form has ${total} older submission(s). It worked once and has gone quiet.`,\n );\n }\n if (truncated) {\n hints.push(\n \"Stopped before reaching the end of the window, so `inWindow` is a floor, not a count. Say so rather than reporting it as exact.\",\n );\n }\n if (!args.full && inWindow > 0) {\n hints.push(\n \"Counts only — the leads' own answers are not included. Add --full if you genuinely need the field values; it returns personal data, so do not paste it into a report or a chat message.\",\n );\n }\n if (lastSubmittedAt !== null) {\n hints.push(\n \"To find out whether these leads were worked, cross-check the deal pipeline: `baker hubspot pipelines list`.\",\n );\n }\n\n writeJson({ ...response, meta: { count: inWindow }, ...(hints.length > 0 ? { hints } : {}) });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\nconst workflowsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List HubSpot workflows. Example: baker hubspot workflows list --enabled-only\",\n },\n args: {\n search: { type: \"string\", description: \"Match on workflow name\", required: false },\n \"enabled-only\": { type: \"boolean\", description: \"Only workflows that are on\", required: false },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = {};\n if (args.search) {\n body.search = args.search;\n }\n if (args[\"enabled-only\"]) {\n body.enabledOnly = true;\n }\n\n const response = await apiPost<HubspotWorkflowsListResponse>(\"/api/hubspot/workflows/list\", body);\n const { workflows } = response.data;\n const off = workflows.filter((workflow) => !workflow.enabled);\n const hints: string[] = [];\n if (workflows.length === 0) {\n hints.push(\"No workflows matched. Drop --search/--enabled-only, or the account genuinely has none.\");\n }\n if (off.length > 0) {\n hints.push(\n `${off.length} of these are switched off. A form wired to a workflow that is off looks connected and does nothing — worth flagging to the user.`,\n );\n }\n\n writeJson({ ...response, meta: { count: workflows.length }, ...(hints.length > 0 ? { hints } : {}) });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\n/**\n * What the agent should take from one workflow read.\n *\n * All three of these are silent failures in HubSpot — the workflow saves, looks\n * right in the editor, and runs. Nothing surfaces them but reading the order and\n * the flags, so they are stated rather than left for the agent to notice.\n */\nexport function workflowViewHints(workflow: HubspotWorkflowsViewResponse[\"data\"][\"workflow\"]): string[] {\n const hints: string[] = [];\n if (!workflow.enabled) {\n hints.push(\n \"This workflow is switched off, so nothing below it is running now — it may still have run while it was on. Say so before reporting on what it does.\",\n );\n }\n\n // Only a LIST_BRANCH is evaluated top down. A STATIC_BRANCH splits on a value\n // and matches by equality, so \"a broad branch above a narrow one\" cannot\n // happen there — and both arrive here as `branches`, so the kind has to be\n // read off the step rather than off the list.\n const ordered = workflow.steps.filter((step) => step.type === \"LIST_BRANCH\" && (step.branches?.length ?? 0) > 1);\n if (ordered.length > 0) {\n hints.push(\n \"Branches are listed in evaluation order and the first match wins. Check that no broad branch sits above a narrower one — if it does, the narrow branch never runs and nothing in HubSpot reports it.\",\n );\n }\n if (workflow.raw === undefined && ordered.length > 0) {\n hints.push(\n \"This view names the branches but not what they compare. Re-run with --full to read the filter criteria before judging whether a branch matches what it was meant to match.\",\n );\n }\n\n if (workflow.enrollment.reEnrollment === false) {\n hints.push(\n \"Re-enrolment is off: a record that meets the criteria a second time will not run through this again. That is a real choice, not necessarily a fault — but confirm it is the intended one.\",\n );\n } else if (workflow.enrollment.reEnrollment === null) {\n hints.push(\n \"Whether this re-enrols is not reported for this kind of enrolment, so do not state it either way — read it in HubSpot if it matters.\",\n );\n }\n return hints;\n}\n\nconst workflowsViewCommand = defineCommand({\n meta: {\n name: \"view\",\n description:\n \"Read one workflow's real configuration — enrolment, branches in order, and what each step writes. Example: baker hubspot workflows view 121183594 --full\",\n },\n args: {\n workflowId: {\n type: \"positional\",\n description: \"Workflow id (from `baker hubspot workflows list`)\",\n required: true,\n },\n full: { type: \"boolean\", description: \"Include the raw HubSpot payload with the filter criteria\", required: false },\n },\n run: async ({ args }) => {\n try {\n const response = await apiPost<HubspotWorkflowsViewResponse>(\"/api/hubspot/workflows/view\", {\n workflowId: args.workflowId,\n ...(args.full ? { full: true } : {}),\n });\n const { workflow } = response.data;\n const hints = workflowViewHints(workflow);\n\n writeJson({ ...response, meta: { count: workflow.steps.length }, ...(hints.length > 0 ? { hints } : {}) });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\nconst pipelinesListCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List HubSpot deal pipelines and their stages. Example: baker hubspot pipelines list\",\n },\n args: {},\n run: async () => {\n try {\n const response = await apiPost<HubspotPipelinesListResponse>(\"/api/hubspot/pipelines/list\", {});\n const { pipelines } = response.data;\n const hints: string[] =\n pipelines.length === 0\n ? [\"This account has no deal pipelines, so there is nowhere for a lead to be worked.\"]\n : [\"Stages are listed in the order they run in HubSpot, so the first stage is where a new lead lands.\"];\n\n writeJson({ ...response, meta: { count: pipelines.length }, hints });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\ntype HubspotObjectWord = \"contact\" | \"deal\" | \"lead\";\n\nconst OBJECT_WORDS: Record<HubspotObjectWord, { plural: string; command: string; rows: string }> = {\n contact: {\n plural: \"contacts\",\n command: \"baker hubspot contacts\",\n rows: '`--field email={{work_email}}`, `--field currency=EUR`, `--field first_name=\"{{firstname}} {{lastname}}\"`; `{{id}}` is the contact\\'s own id',\n },\n deal: {\n plural: \"deals\",\n command: \"baker hubspot deals\",\n rows: \"`--field value={{amount}}`, `--field currency={{deal_currency_code}}`, `--field email={{contact.email}}` — a deal's own properties bare, its contact's as `contact.<name>`; `{{id}}` is the deal's own id, `{{contact.id}}` the contact's\",\n },\n lead: {\n plural: \"leads\",\n command: \"baker hubspot leads\",\n rows: \"`--field email={{contact.email}}`, `--field properties.stage={{hs_pipeline_stage}}` — a lead's own properties bare, its contact's as `contact.<name>`; `{{id}}` is the lead's own id, `{{contact.id}}` the contact's. A lead carries no amount of its own, so `value` is empty unless you point it at a property\",\n },\n};\n\n/** `properties`, for contacts and for deals: what a HubSpot event can watch. */\nfunction propertiesCommand(object: HubspotObjectWord) {\n const words = OBJECT_WORDS[object];\n return defineCommand({\n meta: {\n name: \"properties\",\n description: `List every ${object} property a HubSpot event can watch, with its kind, the operators that kind takes, and a select's values. Example: ${words.command} properties`,\n },\n args: {},\n run: async () => {\n try {\n const response = await apiPost<HubspotContactPropertiesListResponse>(\"/api/hubspot/contacts/properties\", {\n object,\n });\n const { properties } = response.data;\n const operators = Object.entries(HUBSPOT_OPERATORS)\n .map(([kind, list]) => `${kind}: ${list.map((operator) => operator.value).join(\", \")}`)\n .join(\" · \");\n const objectFlag = object === \"contact\" ? \"\" : ` --object ${object}`;\n const hints =\n properties.length === 0\n ? [`This account has no visible ${object} property, so there is nothing an event could watch.`]\n : [\n `Pick the property and the condition that mean the outcome, then \\`baker analytics sources --create-hubspot${objectFlag} --property <name> [--operator <op>] --value <value>…\\` (\\`--value\\` repeats for a list). Operators by kind — ${operators}. Counting starts from creation: a ${object} already satisfying it is not counted until it leaves and comes back.`,\n ];\n writeJson({ ...response, meta: { count: properties.length }, hints });\n } catch (err) {\n failNotConnected(err);\n }\n },\n });\n}\n\nconst contactsPropertiesCommand = propertiesCommand(\"contact\");\n\nconst contactsSummaryCommand = defineCommand({\n meta: {\n name: \"summary\",\n description: \"Whether recent leads are being worked, as counts. Example: baker hubspot contacts summary --days 30\",\n },\n args: {\n days: { type: \"string\", description: \"Window in days (default 30)\", required: false },\n },\n run: async ({ args }) => {\n try {\n const days = args.days === undefined ? 30 : Number(args.days);\n if (!Number.isInteger(days) || days < 1 || days > 365) {\n throw new ApiError(\"VALIDATION_ERROR\", \"--days must be a whole number between 1 and 365.\");\n }\n\n const response = await apiPost<HubspotContactsSummaryResponse>(\"/api/hubspot/contacts/summary\", { days });\n const { total, withOwner, withoutOwner, byStage, truncated } = response.data;\n\n const hints: string[] = [];\n if (total === 0) {\n hints.push(`No contacts were created in the last ${days} days — nothing reached the CRM in that window.`);\n } else if (withOwner === 0) {\n hints.push(\n `None of these ${total} contacts has anyone assigned. That is the strongest available signal that the leads are arriving and nobody is picking them up — worth raising with the user.`,\n );\n } else if (withoutOwner > withOwner) {\n hints.push(`${withoutOwner} of ${total} contacts have nobody assigned — more unworked than worked.`);\n }\n const unset = byStage.find((entry) => entry.stage === \"unset\");\n if (unset && unset.count > 0) {\n hints.push(\n `${unset.count} contact(s) have no lifecycle stage set at all, so they were created and never staged.`,\n );\n }\n if (truncated) {\n hints.push(\"Stopped before reading every contact in the window, so these counts are floors, not totals.\");\n }\n\n writeJson({ ...response, meta: { count: total }, ...(hints.length > 0 ? { hints } : {}) });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\n/**\n * What the agent should take from one contact lookup.\n *\n * An empty `deals` or a null `company` means two different things depending on\n * whether the connection could read them at all, and the wrong reading — \"this\n * lead was never worked\" — is the one conclusion the command exists to settle.\n * So each is paired with its readability flag rather than reported bare.\n */\nexport function contactLookupHints(data: HubspotContactLookupResponse[\"data\"]): string[] {\n const { found, contact, deals, dealsReadable, company, companyReadable } = data;\n if (!found) {\n return [\n \"No contact with that email. The lead never reached the CRM — check the form's submissions before assuming the CRM lost it.\",\n ];\n }\n\n const hints: string[] = [];\n if (contact?.ownerId === null) {\n hints.push(\"Nobody is assigned to this contact.\");\n }\n if (!dealsReadable) {\n hints.push(\n \"Deals were not read: this HubSpot connection does not cover them. Do not report the lead as having no deal — you cannot tell. The user can enable it by reconnecting HubSpot.\",\n );\n } else if (deals.length === 0) {\n hints.push(\"No deal is associated, so this contact was never taken into the pipeline.\");\n }\n if (!companyReadable) {\n hints.push(\n \"Account details were not read: this HubSpot connection does not cover them. Do not report the lead as having no account — you cannot tell. The user can enable it by reconnecting HubSpot.\",\n );\n } else if (company === null) {\n hints.push(\n \"No account is associated either. Most B2B setups create one automatically when a contact arrives, so this usually means the lead was never processed at all — not that the account is missing.\",\n );\n }\n return hints;\n}\n\nconst contactsLookupCommand = defineCommand({\n meta: {\n name: \"lookup\",\n description:\n \"Find one contact by email and see whether it was worked. Example: baker hubspot contacts lookup a@b.com\",\n },\n args: {\n email: { type: \"positional\", description: \"The contact's email address\", required: true },\n },\n run: async ({ args }) => {\n try {\n const response = await apiPost<HubspotContactLookupResponse>(\"/api/hubspot/contacts/lookup\", {\n email: args.email,\n });\n const hints = contactLookupHints(response.data);\n\n writeJson({\n ...response,\n meta: { count: response.data.found ? 1 : 0 },\n ...(hints.length > 0 ? { hints } : {}),\n });\n } catch (err) {\n failNotConnected(err);\n }\n },\n});\n\n/** `fields`, for contacts and for deals: what a HubSpot event's rows can read. */\nfunction fieldsCommand(object: HubspotObjectWord) {\n const words = OBJECT_WORDS[object];\n return defineCommand({\n meta: {\n name: \"fields\",\n description: `List every property a HubSpot event on a ${object} can read into its rows, with HubSpot's type${object === \"contact\" ? \"\" : ` — the ${object}'s own, and its contact's as contact.<name>`}. Example: ${words.command} fields`,\n },\n args: {},\n run: async () => {\n try {\n const response = await apiPost<HubspotContactFieldsListResponse>(\"/api/hubspot/contacts/fields\", { object });\n const { fields } = response.data;\n writeJson({\n ...response,\n meta: { count: fields.length },\n hints: [\n `A row of a HubSpot event is a template over these names: ${words.rows}. \\`baker analytics sources --preview${object === \"contact\" ? \"\" : ` --object ${object}`} --property <p> --value <v> --field <row>…\\` reads one real ${object} to check the rows against.`,\n ],\n });\n } catch (err) {\n failNotConnected(err);\n }\n },\n });\n}\n\nconst contactsFieldsCommand = fieldsCommand(\"contact\");\n\nconst dealsCommand = defineCommand({\n meta: {\n name: \"deals\",\n description:\n \"Deals on the connected HubSpot account: the deals themselves with amount and stage (`list`), and what a HubSpot event on a deal can watch (`properties`) and read (`fields`).\",\n },\n subCommands: {\n list: () => import(\"./crm.ts\").then((m) => m.dealsListCommand),\n properties: propertiesCommand(\"deal\"),\n fields: fieldsCommand(\"deal\"),\n },\n});\n\nconst leadsCommand = defineCommand({\n meta: {\n name: \"leads\",\n description:\n \"Leads on the connected HubSpot account: what a HubSpot event on a lead can watch (`properties`) and read (`fields`). Start here for qualification and disqualification — a lead's stage is where HubSpot records both, and `hs_pipeline_stage` lists the account's own stages with their labels. Needs Sales Hub Professional or Enterprise; on any other plan the account has no leads to read.\",\n },\n subCommands: { properties: propertiesCommand(\"lead\"), fields: fieldsCommand(\"lead\") },\n});\n\nconst contactsCommand = defineCommand({\n meta: { name: \"contacts\", description: \"Contacts on the connected HubSpot account.\" },\n subCommands: {\n summary: contactsSummaryCommand,\n lookup: contactsLookupCommand,\n properties: contactsPropertiesCommand,\n fields: contactsFieldsCommand,\n },\n});\n\nconst companiesCommand = defineCommand({\n meta: { name: \"companies\", description: \"Companies (accounts) in the connected HubSpot CRM.\" },\n subCommands: { search: () => import(\"./crm.ts\").then((m) => m.companiesSearchCommand) },\n});\n\nconst formsCommand = defineCommand({\n meta: { name: \"forms\", description: \"HubSpot forms on the connected account.\" },\n subCommands: { list: formsListCommand, view: formsViewCommand, submissions: formsSubmissionsCommand },\n});\n\nconst workflowsCommand = defineCommand({\n meta: { name: \"workflows\", description: \"HubSpot workflows on the connected account.\" },\n subCommands: { list: workflowsListCommand, view: workflowsViewCommand },\n});\n\nconst pipelinesCommand = defineCommand({\n meta: { name: \"pipelines\", description: \"HubSpot deal pipelines on the connected account.\" },\n subCommands: { list: pipelinesListCommand },\n});\n\nconst meetingsCommand = defineCommand({\n meta: { name: \"meetings\", description: \"HubSpot meeting links (calendars) on the connected account.\" },\n subCommands: { list: meetingsListCommand, view: meetingsViewCommand },\n});\n\nexport const hubspotCommand = defineCommand({\n meta: {\n name: \"hubspot\",\n description: `Read the connected HubSpot account — forms, the leads they received, workflows, deal pipelines, CRM\ncompanies and deals, and meeting links (calendars) — and get the blob to wire a form into a Form step yourself.\n\nExamples:\n baker hubspot forms list # every form: embed type + post-submit action\n baker hubspot forms list --redirecting-only # which forms redirect away on submit\n baker hubspot forms view <formId> # fields, consent mode, full configuration\n baker hubspot forms view <formId> --as-node # the form.external blob -> write into the step\n baker hubspot forms submissions <formId> # how many leads it got, and when\n baker hubspot workflows list --enabled-only # what runs after a lead is captured\n baker hubspot workflows view <workflowId> # its real branches, in order, and what each step writes\n baker hubspot pipelines list # where a lead lands, and the stages after it\n baker hubspot contacts summary --days 30 # are recent leads being worked? (counts only)\n baker hubspot contacts lookup a@b.com # was this one lead picked up?\n baker hubspot companies search --domains acme.com,globex.io --with-deals # which are accounts, with deals\n baker hubspot deals list --modified-since 2026-01-01 # deals: amount, stage, closed won\n baker hubspot deals properties # what a HubSpot event on a deal can watch (dealstage, amount…)\n baker hubspot deals fields # what its rows can read: the deal's own, its contact's as contact.<name>\n baker hubspot meetings list # every calendar + whether booking redirects\n baker hubspot meetings view <slug> --as-node # same, for a hubspotMeeting step\n\nAn account connected before one of these existed cannot serve it — you get HUBSPOT_RECONNECT_REQUIRED, which\nmeans HubSpot IS connected and the user has to reconnect it to widen what Baker may read. Report that and\ncarry on with the rest; never call it broken and never retry.\n\nNothing here is secret, so HubSpot steps do not need request_flow_input: take --as-node and edit the\nflow's _data.json. Use the approval form only when no account is connected or the right form is unclear.\nFull guide: __tooling__/docs/tools/baker/hubspot.md`,\n },\n subCommands: {\n forms: formsCommand,\n workflows: workflowsCommand,\n pipelines: pipelinesCommand,\n contacts: contactsCommand,\n companies: companiesCommand,\n deals: dealsCommand,\n leads: leadsCommand,\n meetings: meetingsCommand,\n },\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,45 @@
1
+ import {
2
+ buildNext,
3
+ compactIdea,
4
+ ideasCommand,
5
+ ideasHints,
6
+ ideasReport
7
+ } from "./chunk-2GYCWRF3.js";
8
+ import "./chunk-DQVI7GCX.js";
9
+ import "./chunk-EKX37C3T.js";
10
+ import "./chunk-SWN6OHXG.js";
11
+ import "./chunk-QIOFOD4K.js";
12
+ import "./chunk-A3IQAONL.js";
13
+ import "./chunk-3YJNSUNF.js";
14
+ import "./chunk-QPESDKZC.js";
15
+ import "./chunk-E44NXCTL.js";
16
+ import "./chunk-EJGAJHLB.js";
17
+ import "./chunk-7HZSORAB.js";
18
+ import "./chunk-MCJ5I5LR.js";
19
+ import "./chunk-2WZI36D3.js";
20
+ import "./chunk-65Y3RCWP.js";
21
+ import "./chunk-LNNTHEL7.js";
22
+ import "./chunk-FOMFU2RX.js";
23
+ import "./chunk-PSGIHSNC.js";
24
+ import "./chunk-PONLPYD7.js";
25
+ import "./chunk-PC3FJEZH.js";
26
+ import "./chunk-CAZGM2NX.js";
27
+ import "./chunk-NZS3KEQ2.js";
28
+ import "./chunk-GIWHHCD6.js";
29
+ import "./chunk-SOPVIIUW.js";
30
+ import "./chunk-G4FG5EQO.js";
31
+ import "./chunk-NSBNIPIW.js";
32
+ import "./chunk-46YLDIQG.js";
33
+ import "./chunk-X7VQFLHI.js";
34
+ import "./chunk-LU4HI4KI.js";
35
+ import "./chunk-LGK7UWBN.js";
36
+ import "./chunk-Q7US4OOA.js";
37
+ import "./chunk-YQSBHWOI.js";
38
+ export {
39
+ buildNext,
40
+ compactIdea,
41
+ ideasCommand,
42
+ ideasHints,
43
+ ideasReport
44
+ };
45
+ //# sourceMappingURL=ideas-M66FU45H.js.map
@@ -0,0 +1,92 @@
1
+ import "./chunk-YQSBHWOI.js";
2
+
3
+ // src/commands/images/index.ts
4
+ import { defineCommand } from "citty";
5
+ var imagesCommand = defineCommand({
6
+ meta: {
7
+ name: "images",
8
+ description: `Find, source, and normalize images. Subcommands route by provider so cost + license are explicit.
9
+
10
+ Library + search:
11
+ baker images library <q> Search the company library (replaces search)
12
+ baker images find <q> --sources \u2026 Fanout: library first, then opt-in providers
13
+
14
+ External providers:
15
+ baker images stock <q> [--type \u2026] Free stock \u2014 Pexels photos + Pixabay illustrations/vectors
16
+ baker images google <q> Google Images via the official Custom Search API
17
+ baker images pinterest <q> Pinterest reference imagery via ScrapeCreators (photo-real mood boards)
18
+ baker images logo <domain> Brand logo via Brandfetch CDN
19
+ baker images icon <name> [--set \u2026] Iconify (200+ sets)
20
+ baker images meme <reaction> [--auto-ingest N] The real, well-known meme template for a reaction (Imgflip)
21
+ baker images gif <q> [--trending] Giphy GIFs / reaction memes (paid-social creative)
22
+ baker images sticker <q> [--trending] Giphy stickers \u2014 transparent overlays for ad creative
23
+ baker images extract <url> Firecrawl page extract
24
+ baker images screenshot <url> ScreenshotOne capture
25
+
26
+ Making new imagery lives in its own family \u2014 baker studio generate / baker studio animate. See __tooling__/docs/tools/baker/studio.md
27
+
28
+ Library writes (run on the Convex backend):
29
+ baker images ingest <url> --source <enum> Save remote URL to library
30
+ baker images use <url> Ingest and wait for ready
31
+ baker images upload ./file Upload local file
32
+ baker images get <id> Get a single record
33
+ baker images group <id> Every image that arrived in the same set (carousel, page scrape)
34
+ baker images delete <id> Delete a record
35
+ baker images retry <id> Process a failed image (status 'error') again
36
+ baker images describe <id> --description "\u2026" Correct a wrong name/description/tags \u2014 what library search reads on
37
+
38
+ Local transforms (operate on files in the sandbox, before upload):
39
+ baker images download <url|imageId\u2026> [--out \u2026] Remote URL or library image \u2192 local file (never use curl)
40
+ baker images normalize <files> [--color \u2026] [--remove-bg] [--height N | --width N | --size WxH]
41
+ Declarative recolor + bg removal + trim + resize
42
+ baker images crop <file> --x N --y N --width N --height N
43
+ Coordinate-based rectangular extract
44
+ baker images dimensions <file-or-url> Width / height / aspect / format without decoding the full image
45
+
46
+ Taxonomy:
47
+ baker images tags List available image tag names (defaults + company custom tags)
48
+ baker images tags create|update|delete <name> Manage the company's custom tags (shared with videos and testimonials)
49
+
50
+ Paid transforms (run on the Convex backend, cost-tracked):
51
+ baker images upscale <imageId> Real-ESRGAN super-resolution ($0.05/image, waits for completion)
52
+ baker images upscale <imageId> --remove Drop the upscaled copy, back to the original (free)
53
+ baker images layerize <imageId> Split into editable layers; recovers baked-in copy as editable text (costs credits)
54
+ baker images layers <imageId> Read the layers of an already-split image (free)
55
+ Full guide: __tooling__/docs/tools/baker/images.md`
56
+ },
57
+ subCommands: {
58
+ get: () => import("./get-UOXXHYXJ.js").then((m) => m.getCommand),
59
+ group: () => import("./group-JROMVKDU.js").then((m) => m.groupCommand),
60
+ library: () => import("./library-OLXEGJ73.js").then((m) => m.libraryCommand),
61
+ find: () => import("./find-5FCDTFYC.js").then((m) => m.findCommand),
62
+ stock: () => import("./stock-TAKWC3YI.js").then((m) => m.stockCommand),
63
+ google: () => import("./google-3BO7KNZ6.js").then((m) => m.googleCommand),
64
+ pinterest: () => import("./pinterest-PONS4KLN.js").then((m) => m.pinterestCommand),
65
+ logo: () => import("./logo-4MGGQHQ7.js").then((m) => m.logoCommand),
66
+ icon: () => import("./icon-XHPEVICH.js").then((m) => m.iconCommand),
67
+ meme: () => import("./meme-LVRZR7XL.js").then((m) => m.memeCommand),
68
+ gif: () => import("./gif-2D6UXHP5.js").then((m) => m.gifCommand),
69
+ sticker: () => import("./sticker-CJ6Y36AO.js").then((m) => m.stickerCommand),
70
+ extract: () => import("./extract-55YRHNCV.js").then((m) => m.extractCommand),
71
+ screenshot: () => import("./screenshot-CREF7FB4.js").then((m) => m.screenshotCommand),
72
+ ingest: () => import("./ingest-GU3WEBN3.js").then((m) => m.ingestCommand),
73
+ use: () => import("./use-J3TZJZ4M.js").then((m) => m.useCommand),
74
+ search: () => import("./search-7343MBTZ.js").then((m) => m.searchCommand),
75
+ upload: () => import("./upload-5237F4WV.js").then((m) => m.uploadCommand),
76
+ delete: () => import("./delete-GPTU4DJ5.js").then((m) => m.deleteCommand),
77
+ retry: () => import("./retry-AEKQLQMP.js").then((m) => m.retryCommand),
78
+ describe: () => import("./describe-DUPBGFKA.js").then((m) => m.describeCommand),
79
+ download: () => import("./download-NNDBNAVZ.js").then((m) => m.downloadCommand),
80
+ normalize: () => import("./normalize-BREMV3IB.js").then((m) => m.normalizeCommand),
81
+ crop: () => import("./crop-NBVWWXF2.js").then((m) => m.cropCommand),
82
+ dimensions: () => import("./dimensions-M4LMNCBV.js").then((m) => m.dimensionsCommand),
83
+ layerize: () => import("./layerize-M5XLTCO4.js").then((m) => m.layerizeCommand),
84
+ layers: () => import("./layerize-M5XLTCO4.js").then((m) => m.layersCommand),
85
+ upscale: () => import("./upscale-KLMXV6JG.js").then((m) => m.upscaleCommand),
86
+ tags: () => import("./tags-R67DKRZ6.js").then((m) => m.tagsCommand)
87
+ }
88
+ });
89
+ export {
90
+ imagesCommand
91
+ };
92
+ //# sourceMappingURL=images-MM5OPUKV.js.map
@@ -0,0 +1,110 @@
1
+ import {
2
+ imageSourceSchema
3
+ } from "./chunk-PC3FJEZH.js";
4
+ import "./chunk-CAZGM2NX.js";
5
+ import "./chunk-NZS3KEQ2.js";
6
+ import "./chunk-GIWHHCD6.js";
7
+ import "./chunk-SOPVIIUW.js";
8
+ import "./chunk-G4FG5EQO.js";
9
+ import "./chunk-NSBNIPIW.js";
10
+ import "./chunk-46YLDIQG.js";
11
+ import {
12
+ ApiError,
13
+ apiPost
14
+ } from "./chunk-X7VQFLHI.js";
15
+ import "./chunk-LU4HI4KI.js";
16
+ import "./chunk-LGK7UWBN.js";
17
+ import {
18
+ registerSchema,
19
+ writeJson,
20
+ writeOutput
21
+ } from "./chunk-Q7US4OOA.js";
22
+ import "./chunk-YQSBHWOI.js";
23
+
24
+ // src/commands/images/ingest.ts
25
+ import { defineCommand } from "citty";
26
+ var SOURCE_VALUES = imageSourceSchema.options.join(" | ");
27
+ registerSchema({
28
+ command: "images.ingest",
29
+ description: "Ingest a remote image URL into the library (full describe + embed).",
30
+ args: {
31
+ url: { type: "string", description: "Image URL to ingest", required: true },
32
+ source: { type: "string", description: `Where the image came from. One of: ${SOURCE_VALUES}`, required: true },
33
+ "external-id": { type: "string", description: "Provider asset id", required: false },
34
+ "external-url": { type: "string", description: "Canonical page URL", required: false },
35
+ context: { type: "string", description: "Description context hint", required: false },
36
+ output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
37
+ fields: { type: "string", description: "Comma-separated field names to include", required: false }
38
+ }
39
+ });
40
+ var ingestCommand = defineCommand({
41
+ meta: {
42
+ name: "ingest",
43
+ description: "Download a remote URL and store it in the library. Hash-deduped on bytes + externalId.\n\nExample: baker images ingest https://images.pexels.com/photos/13219418/pexels-photo-13219418.jpeg --source pexels --external-id 13219418"
44
+ },
45
+ args: {
46
+ url: { type: "positional", description: "Image URL", required: false },
47
+ source: { type: "string", description: `Where the image came from. One of: ${SOURCE_VALUES}`, required: false },
48
+ "external-id": { type: "string", description: "Provider asset id", required: false },
49
+ "external-url": { type: "string", description: "Canonical page URL", required: false },
50
+ context: { type: "string", description: "Description context", required: false },
51
+ output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
52
+ fields: { type: "string", description: "Comma-separated field names to include", required: false }
53
+ },
54
+ run: async ({ args }) => {
55
+ try {
56
+ const url = args.url;
57
+ const source = args.source;
58
+ if (!url) {
59
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "URL is required" } });
60
+ process.exit(1);
61
+ }
62
+ if (!source) {
63
+ writeJson({
64
+ ok: false,
65
+ error: {
66
+ code: "VALIDATION_ERROR",
67
+ message: "--source is required",
68
+ fix: `Pass one of: ${SOURCE_VALUES}. Use "website" for an asset pulled off a company's own site.`
69
+ }
70
+ });
71
+ process.exit(1);
72
+ }
73
+ const parsedSource = imageSourceSchema.safeParse(source);
74
+ if (!parsedSource.success) {
75
+ writeJson({
76
+ ok: false,
77
+ error: {
78
+ code: "VALIDATION_ERROR",
79
+ message: `--source "${source}" is not a known image source`,
80
+ fix: `Pass one of: ${SOURCE_VALUES}. Use "website" for an asset pulled off a company's own site.`
81
+ }
82
+ });
83
+ process.exit(1);
84
+ }
85
+ const body = { url, source: parsedSource.data };
86
+ if (args["external-id"]) body.externalId = args["external-id"];
87
+ if (args["external-url"]) body.externalUrl = args["external-url"];
88
+ if (args.context) body.descriptionContext = args.context;
89
+ const data = await apiPost("/api/images/ingest", body);
90
+ writeOutput(
91
+ { ok: true, data },
92
+ args.output || "json",
93
+ args.fields ? args.fields.split(",") : void 0,
94
+ false,
95
+ (record) => record
96
+ );
97
+ } catch (err) {
98
+ if (err instanceof ApiError) {
99
+ writeJson({ ok: false, error: { code: err.code, message: err.message } });
100
+ process.exit(1);
101
+ }
102
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
103
+ process.exit(1);
104
+ }
105
+ }
106
+ });
107
+ export {
108
+ ingestCommand
109
+ };
110
+ //# sourceMappingURL=ingest-GU3WEBN3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/images/ingest.ts"],"sourcesContent":["import { type ImagesIngestRequest, type ImagesIngestResponse, imageSourceSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { type OutputFormat, writeJson, writeOutput } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\n\n// The enum lives in @baker/api. Spelling it out here rather than describing it\n// as \"enum\" is the difference between one call and two: the value set was only\n// discoverable by sending a wrong one and reading the server's rejection.\nconst SOURCE_VALUES = imageSourceSchema.options.join(\" | \");\n\nregisterSchema({\n command: \"images.ingest\",\n description: \"Ingest a remote image URL into the library (full describe + embed).\",\n args: {\n url: { type: \"string\", description: \"Image URL to ingest\", required: true },\n source: { type: \"string\", description: `Where the image came from. One of: ${SOURCE_VALUES}`, required: true },\n \"external-id\": { type: \"string\", description: \"Provider asset id\", required: false },\n \"external-url\": { type: \"string\", description: \"Canonical page URL\", required: false },\n context: { type: \"string\", description: \"Description context hint\", required: false },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n },\n});\n\nexport const ingestCommand = defineCommand({\n meta: {\n name: \"ingest\",\n description:\n \"Download a remote URL and store it in the library. Hash-deduped on bytes + externalId.\\n\\nExample: baker images ingest https://images.pexels.com/photos/13219418/pexels-photo-13219418.jpeg --source pexels --external-id 13219418\",\n },\n args: {\n url: { type: \"positional\", description: \"Image URL\", required: false },\n source: { type: \"string\", description: `Where the image came from. One of: ${SOURCE_VALUES}`, required: false },\n \"external-id\": { type: \"string\", description: \"Provider asset id\", required: false },\n \"external-url\": { type: \"string\", description: \"Canonical page URL\", required: false },\n context: { type: \"string\", description: \"Description context\", required: false },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n },\n run: async ({ args }) => {\n try {\n const url = args.url as string | undefined;\n const source = args.source as string | undefined;\n if (!url) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"URL is required\" } });\n process.exit(1);\n }\n if (!source) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: \"--source is required\",\n fix: `Pass one of: ${SOURCE_VALUES}. Use \"website\" for an asset pulled off a company's own site.`,\n },\n });\n process.exit(1);\n }\n // Parse here, not just at the HTTP boundary. A blind cast turned every\n // wrong value into a network round-trip before the agent learned the\n // valid set — which is exactly the boundary this repo says to parse at.\n const parsedSource = imageSourceSchema.safeParse(source);\n if (!parsedSource.success) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `--source \"${source}\" is not a known image source`,\n fix: `Pass one of: ${SOURCE_VALUES}. Use \"website\" for an asset pulled off a company's own site.`,\n },\n });\n process.exit(1);\n }\n const body: ImagesIngestRequest = { url, source: parsedSource.data };\n if (args[\"external-id\"]) body.externalId = args[\"external-id\"] as string;\n if (args[\"external-url\"]) body.externalUrl = args[\"external-url\"] as string;\n if (args.context) body.descriptionContext = args.context as string;\n\n const data = await apiPost<ImagesIngestResponse>(\"/api/images/ingest\", body);\n // The response is three scalars, not a library row — project it as-is\n // rather than through the image normalizer, which would blank it.\n writeOutput(\n { ok: true, data },\n (args.output as OutputFormat) || \"json\",\n args.fields ? (args.fields as string).split(\",\") : undefined,\n false,\n (record) => record,\n );\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,26 @@
1
+ import {
2
+ ingestCommand,
3
+ ingestHints,
4
+ runVideoIngest
5
+ } from "./chunk-4EDWXZ3I.js";
6
+ import "./chunk-FKOECEVC.js";
7
+ import "./chunk-PSGIHSNC.js";
8
+ import "./chunk-PC3FJEZH.js";
9
+ import "./chunk-CAZGM2NX.js";
10
+ import "./chunk-NZS3KEQ2.js";
11
+ import "./chunk-GIWHHCD6.js";
12
+ import "./chunk-SOPVIIUW.js";
13
+ import "./chunk-G4FG5EQO.js";
14
+ import "./chunk-NSBNIPIW.js";
15
+ import "./chunk-46YLDIQG.js";
16
+ import "./chunk-X7VQFLHI.js";
17
+ import "./chunk-LU4HI4KI.js";
18
+ import "./chunk-LGK7UWBN.js";
19
+ import "./chunk-Q7US4OOA.js";
20
+ import "./chunk-YQSBHWOI.js";
21
+ export {
22
+ ingestCommand,
23
+ ingestHints,
24
+ runVideoIngest
25
+ };
26
+ //# sourceMappingURL=ingest-KMLYCFF4.js.map
@@ -0,0 +1,132 @@
1
+ import {
2
+ CHATGPT_ADS_GRANULARITIES,
3
+ CHATGPT_ADS_LEVELS,
4
+ CHATGPT_ADS_METRICS,
5
+ CHATGPT_ADS_REFERENCE,
6
+ CHATGPT_ADS_SEGMENTS,
7
+ chatgptAdsInsightsRequestSchema,
8
+ insightsRequestFromArgs,
9
+ runChatgptRead
10
+ } from "./chunk-GW2WRZZA.js";
11
+ import {
12
+ syncedFirstHint
13
+ } from "./chunk-Y2FAUFWK.js";
14
+ import {
15
+ writeJsonEnvelope
16
+ } from "./chunk-ZRP7Y2DM.js";
17
+ import "./chunk-SOPVIIUW.js";
18
+ import "./chunk-G4FG5EQO.js";
19
+ import {
20
+ apiPost
21
+ } from "./chunk-X7VQFLHI.js";
22
+ import "./chunk-LU4HI4KI.js";
23
+ import "./chunk-LGK7UWBN.js";
24
+ import {
25
+ registerSchema
26
+ } from "./chunk-Q7US4OOA.js";
27
+ import "./chunk-YQSBHWOI.js";
28
+
29
+ // src/commands/ads/chatgpt/insights.ts
30
+ import { defineCommand } from "citty";
31
+ var args = {
32
+ level: {
33
+ type: "string",
34
+ description: `What one row is: ${CHATGPT_ADS_LEVELS.join("|")} (default campaign)`,
35
+ required: false
36
+ },
37
+ "campaign-id": { type: "string", description: "Report on one campaign (cmpn_\u2026)", required: false },
38
+ "ad-group-id": { type: "string", description: "Report on one ad group (adgrp_\u2026)", required: false },
39
+ "ad-id": { type: "string", description: "Report on one ad (ad_\u2026)", required: false },
40
+ days: {
41
+ type: "string",
42
+ description: "Last N complete days, ending the account's yesterday (default 7)",
43
+ required: false
44
+ },
45
+ since: {
46
+ type: "string",
47
+ description: "First day, YYYY-MM-DD, account timezone (instead of --days)",
48
+ required: false
49
+ },
50
+ until: { type: "string", description: "Last day, inclusive, YYYY-MM-DD", required: false },
51
+ granularity: {
52
+ type: "string",
53
+ description: `${CHATGPT_ADS_GRANULARITIES.join("|")} (default none: one total per row)`,
54
+ required: false
55
+ },
56
+ segment: {
57
+ type: "string",
58
+ description: `Break rows down by one of ${CHATGPT_ADS_SEGMENTS.join("|")}`,
59
+ required: false
60
+ },
61
+ metrics: {
62
+ type: "string",
63
+ description: `CSV of ${CHATGPT_ADS_METRICS.join(",")} (default impressions,clicks,spend,ctr,cpc,conversions,cpa)`,
64
+ required: false
65
+ },
66
+ sort: { type: "string", description: "Metric to rank rows by, highest first", required: false },
67
+ limit: { type: "string", description: "Rows, 1-2000 (default 200)", required: false }
68
+ };
69
+ registerSchema({
70
+ command: "ads.chatgpt.insights",
71
+ description: "Performance of the connected ChatGPT Ads account: impressions, clicks, spend, CTR, CPC, CPM, conversions, CPA, attributed sales and ROAS, per account, campaign, ad group or ad, over a window, optionally per day and broken down by country, device, platform or product. Spend and costs are in the account currency; null means not reported, not zero.",
72
+ args
73
+ });
74
+ function insightsHints(report) {
75
+ const hints = [];
76
+ if (report.rows.length === 0) {
77
+ hints.push(
78
+ "No delivery in this window. Check `baker ads chatgpt campaigns` for serving issues before concluding the ads do not work."
79
+ );
80
+ }
81
+ if (report.truncated) {
82
+ hints.push("More rows matched than --limit allowed. Narrow the report or raise --limit (max 2000).");
83
+ }
84
+ hints.push(
85
+ "Conversions come from ChatGPT Ads' own pixel or Conversions API and take at least a day to appear; the most recent days are still filling in."
86
+ );
87
+ return hints;
88
+ }
89
+ function chatgptInsightsHints(report, request) {
90
+ const hints = insightsHints(report);
91
+ return request.segment ? hints : [...hints, syncedFirstHint("chatgpt", request.level)];
92
+ }
93
+ var insightsCommand = defineCommand({
94
+ meta: {
95
+ name: "insights",
96
+ description: `How a ChatGPT Ads account performs. Start here for "how are the ChatGPT campaigns doing".
97
+
98
+ Examples:
99
+ baker ads chatgpt insights # last 7 days, one row per campaign
100
+ baker ads chatgpt insights --days 30 --granularity daily --level account
101
+ baker ads chatgpt insights --campaign-id cmpn_123 --level ad --sort spend
102
+ baker ads chatgpt insights --segment country --metrics spend,clicks,conversions
103
+ baker ads chatgpt insights --since 2026-09-01 --until 2026-09-07 --metrics spend,order_created_roas`
104
+ },
105
+ args,
106
+ run: async ({ args: input }) => {
107
+ const parsed = chatgptAdsInsightsRequestSchema.safeParse(insightsRequestFromArgs(input));
108
+ if (!parsed.success) {
109
+ const message = parsed.error.issues[0]?.message ?? "Invalid report request";
110
+ writeJsonEnvelope({
111
+ ok: false,
112
+ error: {
113
+ code: "VALIDATION_ERROR",
114
+ message,
115
+ fix: { action: "retry_with_modified_query", explanation: message },
116
+ retryable: false
117
+ }
118
+ });
119
+ process.exit(1);
120
+ }
121
+ await runChatgptRead(
122
+ CHATGPT_ADS_REFERENCE.insights,
123
+ () => apiPost("/api/ads/chatgpt/insights", parsed.data),
124
+ (report) => chatgptInsightsHints(report, parsed.data)
125
+ );
126
+ }
127
+ });
128
+ export {
129
+ chatgptInsightsHints,
130
+ insightsCommand
131
+ };
132
+ //# sourceMappingURL=insights-CQCWOCIT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/chatgpt/insights.ts"],"sourcesContent":["import {\n CHATGPT_ADS_GRANULARITIES,\n CHATGPT_ADS_LEVELS,\n CHATGPT_ADS_METRICS,\n CHATGPT_ADS_SEGMENTS,\n type ChatgptAdsInsightsRequest,\n type ChatgptAdsInsightsResponse,\n chatgptAdsInsightsRequestSchema,\n} from \"@baker/api/ads-chatgpt\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { syncedFirstHint } from \"../synced-first.ts\";\nimport { CHATGPT_ADS_REFERENCE, insightsRequestFromArgs, runChatgptRead } from \"./shared.ts\";\n\nconst args = {\n level: {\n type: \"string\",\n description: `What one row is: ${CHATGPT_ADS_LEVELS.join(\"|\")} (default campaign)`,\n required: false,\n },\n \"campaign-id\": { type: \"string\", description: \"Report on one campaign (cmpn_…)\", required: false },\n \"ad-group-id\": { type: \"string\", description: \"Report on one ad group (adgrp_…)\", required: false },\n \"ad-id\": { type: \"string\", description: \"Report on one ad (ad_…)\", required: false },\n days: {\n type: \"string\",\n description: \"Last N complete days, ending the account's yesterday (default 7)\",\n required: false,\n },\n since: {\n type: \"string\",\n description: \"First day, YYYY-MM-DD, account timezone (instead of --days)\",\n required: false,\n },\n until: { type: \"string\", description: \"Last day, inclusive, YYYY-MM-DD\", required: false },\n granularity: {\n type: \"string\",\n description: `${CHATGPT_ADS_GRANULARITIES.join(\"|\")} (default none: one total per row)`,\n required: false,\n },\n segment: {\n type: \"string\",\n description: `Break rows down by one of ${CHATGPT_ADS_SEGMENTS.join(\"|\")}`,\n required: false,\n },\n metrics: {\n type: \"string\",\n description: `CSV of ${CHATGPT_ADS_METRICS.join(\",\")} (default impressions,clicks,spend,ctr,cpc,conversions,cpa)`,\n required: false,\n },\n sort: { type: \"string\", description: \"Metric to rank rows by, highest first\", required: false },\n limit: { type: \"string\", description: \"Rows, 1-2000 (default 200)\", required: false },\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.insights\",\n description:\n \"Performance of the connected ChatGPT Ads account: impressions, clicks, spend, CTR, CPC, CPM, conversions, CPA, attributed sales and ROAS, per account, campaign, ad group or ad, over a window, optionally per day and broken down by country, device, platform or product. Spend and costs are in the account currency; null means not reported, not zero.\",\n args,\n});\n\nfunction insightsHints(report: ChatgptAdsInsightsResponse): string[] {\n const hints: string[] = [];\n if (report.rows.length === 0) {\n hints.push(\n \"No delivery in this window. Check `baker ads chatgpt campaigns` for serving issues before concluding the ads do not work.\",\n );\n }\n if (report.truncated) {\n hints.push(\"More rows matched than --limit allowed. Narrow the report or raise --limit (max 2000).\");\n }\n hints.push(\n \"Conversions come from ChatGPT Ads' own pixel or Conversions API and take at least a day to appear; the most recent days are still filling in.\",\n );\n return hints;\n}\n\n/** Baker's synced copy holds ChatGPT rows, never their segments: a segmented read gets no synced-first hint. */\nexport function chatgptInsightsHints(report: ChatgptAdsInsightsResponse, request: ChatgptAdsInsightsRequest): string[] {\n const hints = insightsHints(report);\n return request.segment ? hints : [...hints, syncedFirstHint(\"chatgpt\", request.level)];\n}\n\nexport const insightsCommand = defineCommand({\n meta: {\n name: \"insights\",\n description: `How a ChatGPT Ads account performs. Start here for \"how are the ChatGPT campaigns doing\".\n\nExamples:\n baker ads chatgpt insights # last 7 days, one row per campaign\n baker ads chatgpt insights --days 30 --granularity daily --level account\n baker ads chatgpt insights --campaign-id cmpn_123 --level ad --sort spend\n baker ads chatgpt insights --segment country --metrics spend,clicks,conversions\n baker ads chatgpt insights --since 2026-09-01 --until 2026-09-07 --metrics spend,order_created_roas`,\n },\n args,\n run: async ({ args: input }) => {\n const parsed = chatgptAdsInsightsRequestSchema.safeParse(insightsRequestFromArgs(input));\n if (!parsed.success) {\n const message = parsed.error.issues[0]?.message ?? \"Invalid report request\";\n writeJsonEnvelope({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message,\n fix: { action: \"retry_with_modified_query\", explanation: message },\n retryable: false,\n },\n });\n process.exit(1);\n }\n await runChatgptRead(\n CHATGPT_ADS_REFERENCE.insights,\n () => apiPost<ChatgptAdsInsightsResponse>(\"/api/ads/chatgpt/insights\", parsed.data),\n (report) => chatgptInsightsHints(report, parsed.data),\n );\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,SAAS,qBAAqB;AAO9B,IAAM,OAAO;AAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa,oBAAoB,mBAAmB,KAAK,GAAG,CAAC;AAAA,IAC7D,UAAU;AAAA,EACZ;AAAA,EACA,eAAe,EAAE,MAAM,UAAU,aAAa,wCAAmC,UAAU,MAAM;AAAA,EACjG,eAAe,EAAE,MAAM,UAAU,aAAa,yCAAoC,UAAU,MAAM;AAAA,EAClG,SAAS,EAAE,MAAM,UAAU,aAAa,gCAA2B,UAAU,MAAM;AAAA,EACnF,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA,OAAO,EAAE,MAAM,UAAU,aAAa,mCAAmC,UAAU,MAAM;AAAA,EACzF,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa,GAAG,0BAA0B,KAAK,GAAG,CAAC;AAAA,IACnD,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa,6BAA6B,qBAAqB,KAAK,GAAG,CAAC;AAAA,IACxE,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa,UAAU,oBAAoB,KAAK,GAAG,CAAC;AAAA,IACpD,UAAU;AAAA,EACZ;AAAA,EACA,MAAM,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,EAC9F,OAAO,EAAE,MAAM,UAAU,aAAa,8BAA8B,UAAU,MAAM;AACtF;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF;AACF,CAAC;AAED,SAAS,cAAc,QAA8C;AACnE,QAAM,QAAkB,CAAC;AACzB,MAAI,OAAO,KAAK,WAAW,GAAG;AAC5B,UAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AACA,MAAI,OAAO,WAAW;AACpB,UAAM,KAAK,wFAAwF;AAAA,EACrG;AACA,QAAM;AAAA,IACJ;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,qBAAqB,QAAoC,SAA8C;AACrH,QAAM,QAAQ,cAAc,MAAM;AAClC,SAAO,QAAQ,UAAU,QAAQ,CAAC,GAAG,OAAO,gBAAgB,WAAW,QAAQ,KAAK,CAAC;AACvF;AAEO,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQf;AAAA,EACA;AAAA,EACA,KAAK,OAAO,EAAE,MAAM,MAAM,MAAM;AAC9B,UAAM,SAAS,gCAAgC,UAAU,wBAAwB,KAAK,CAAC;AACvF,QAAI,CAAC,OAAO,SAAS;AACnB,YAAM,UAAU,OAAO,MAAM,OAAO,CAAC,GAAG,WAAW;AACnD,wBAAkB;AAAA,QAChB,IAAI;AAAA,QACJ,OAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,UACA,KAAK,EAAE,QAAQ,6BAA6B,aAAa,QAAQ;AAAA,UACjE,WAAW;AAAA,QACb;AAAA,MACF,CAAC;AACD,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,UAAM;AAAA,MACJ,sBAAsB;AAAA,MACtB,MAAM,QAAoC,6BAA6B,OAAO,IAAI;AAAA,MAClF,CAAC,WAAW,qBAAqB,QAAQ,OAAO,IAAI;AAAA,IACtD;AAAA,EACF;AACF,CAAC;","names":[]}