@koda-sl/baker-cli 0.513.0 → 0.514.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1077) hide show
  1. package/README.md +2 -2
  2. package/dist/account-D6LEVVWT.js +82 -0
  3. package/dist/account-D6LEVVWT.js.map +1 -0
  4. package/dist/account-SGK3IJ6N.js +82 -0
  5. package/dist/account-SGK3IJ6N.js.map +1 -0
  6. package/dist/account-assets-J5Z4URLQ.js +290 -0
  7. package/dist/account-level-4SBYYHRS.js +611 -0
  8. package/dist/account-level-4SBYYHRS.js.map +1 -0
  9. package/dist/account-reads-2MSUVG46.js +219 -0
  10. package/dist/account-users-MHC7AD6K.js +64 -0
  11. package/dist/account-users-MHC7AD6K.js.map +1 -0
  12. package/dist/account-writes-QQQC54WC.js +68 -0
  13. package/dist/account-writes-QQQC54WC.js.map +1 -0
  14. package/dist/accounts-2O6I7YBN.js +80 -0
  15. package/dist/accounts-2O6I7YBN.js.map +1 -0
  16. package/dist/accounts-QNE5QWBG.js +701 -0
  17. package/dist/accounts-QNE5QWBG.js.map +1 -0
  18. package/dist/actions-D7OWCP36.js +55 -0
  19. package/dist/activecampaign-LBS4M4C4.js +938 -0
  20. package/dist/activecampaign-LBS4M4C4.js.map +1 -0
  21. package/dist/ad-group-writes-CJTTUUIT.js +172 -0
  22. package/dist/ad-group-writes-CJTTUUIT.js.map +1 -0
  23. package/dist/ad-groups-HLGSVH74.js +70 -0
  24. package/dist/ad-groups-HLGSVH74.js.map +1 -0
  25. package/dist/ad-writes-3UE3U7VE.js +176 -0
  26. package/dist/ad-writes-3UE3U7VE.js.map +1 -0
  27. package/dist/add-HFQB2NTU.js +107 -0
  28. package/dist/add-HFQB2NTU.js.map +1 -0
  29. package/dist/add-IUYE5H6A.js +305 -0
  30. package/dist/add-IUYE5H6A.js.map +1 -0
  31. package/dist/ads-HLUJB5SQ.js +48 -0
  32. package/dist/ads-MAOI7S6V.js +115 -0
  33. package/dist/ads-PYNDMHUD.js +79 -0
  34. package/dist/ads-PYNDMHUD.js.map +1 -0
  35. package/dist/adsets-QRKICEFD.js +182 -0
  36. package/dist/advertisers-XXM6POO5.js +123 -0
  37. package/dist/advertisers-XXM6POO5.js.map +1 -0
  38. package/dist/analytics-AULKYNNT.js +447 -0
  39. package/dist/analytics-AULKYNNT.js.map +1 -0
  40. package/dist/analytics-DNDTC643.js +2437 -0
  41. package/dist/analytics-DNDTC643.js.map +1 -0
  42. package/dist/asset-writes-JLVUAVUZ.js +50 -0
  43. package/dist/assign-2GQVQKKO.js +80 -0
  44. package/dist/assign-2GQVQKKO.js.map +1 -0
  45. package/dist/audience-size-C3YHQPZB.js +76 -0
  46. package/dist/audience-size-C3YHQPZB.js.map +1 -0
  47. package/dist/audience-writes-CDKQB3SM.js +327 -0
  48. package/dist/audience-writes-CDKQB3SM.js.map +1 -0
  49. package/dist/audiences-CDDI5HR5.js +86 -0
  50. package/dist/audiences-M3A3QK52.js +280 -0
  51. package/dist/audiences-M3A3QK52.js.map +1 -0
  52. package/dist/audit-FLPJ7GTE.js +154 -0
  53. package/dist/audit-FLPJ7GTE.js.map +1 -0
  54. package/dist/autocomplete-ZYMHHV7E.js +114 -0
  55. package/dist/autocomplete-ZYMHHV7E.js.map +1 -0
  56. package/dist/avatars-WZ2JDMHH.js +38 -0
  57. package/dist/bid-pricing-H3M63PTW.js +103 -0
  58. package/dist/bid-pricing-H3M63PTW.js.map +1 -0
  59. package/dist/brand-IZTTBZII.js +22 -0
  60. package/dist/brief-OPQ7ICOY.js +543 -0
  61. package/dist/brief-OPQ7ICOY.js.map +1 -0
  62. package/dist/campaign-groups-IQSDKOVI.js +99 -0
  63. package/dist/campaign-groups-IQSDKOVI.js.map +1 -0
  64. package/dist/campaign-writes-APAAV4ZU.js +168 -0
  65. package/dist/campaign-writes-APAAV4ZU.js.map +1 -0
  66. package/dist/campaign-writes-BN4PZP4Z.js +176 -0
  67. package/dist/campaign-writes-BN4PZP4Z.js.map +1 -0
  68. package/dist/campaigns-4Y3JQC2U.js +111 -0
  69. package/dist/campaigns-GA34MEN2.js +78 -0
  70. package/dist/campaigns-GA34MEN2.js.map +1 -0
  71. package/dist/campaigns-HES5MDUG.js +130 -0
  72. package/dist/campaigns-K2FVD3XW.js +113 -0
  73. package/dist/campaigns-K2FVD3XW.js.map +1 -0
  74. package/dist/canvas-IQ753Q2O.js +46 -0
  75. package/dist/capabilities-ZITW4RF7.js +147 -0
  76. package/dist/capabilities-ZITW4RF7.js.map +1 -0
  77. package/dist/catalogs-TGLSJEK5.js +781 -0
  78. package/dist/catalogs-TGLSJEK5.js.map +1 -0
  79. package/dist/catalogs-ZR7DECMG.js +130 -0
  80. package/dist/catalogs-ZR7DECMG.js.map +1 -0
  81. package/dist/changes-VWKTM27U.js +135 -0
  82. package/dist/chatgpt-OPOD2WHB.js +47 -0
  83. package/dist/chats-AL2SYBJO.js +279 -0
  84. package/dist/chats-AL2SYBJO.js.map +1 -0
  85. package/dist/check-U2YLRD6H.js +107 -0
  86. package/dist/check-U2YLRD6H.js.map +1 -0
  87. package/dist/chunk-2GYCWRF3.js +170 -0
  88. package/dist/chunk-2L7F7KR4.js +61 -0
  89. package/dist/chunk-44ZRCSR7.js +228 -0
  90. package/dist/chunk-46YLDIQG.js +4254 -0
  91. package/dist/chunk-4EDWXZ3I.js +363 -0
  92. package/dist/chunk-4FFBGR5L.js +66 -0
  93. package/dist/chunk-4UQRXKYJ.js +219 -0
  94. package/dist/chunk-4UZUUSVL.js +592 -0
  95. package/dist/chunk-4XHCEYHI.js +831 -0
  96. package/dist/chunk-4Z6PVR3M.js +479 -0
  97. package/dist/chunk-5Y5FZV2W.js +122 -0
  98. package/dist/chunk-6HJXLGDV.js +392 -0
  99. package/dist/chunk-6S5CWGDA.js +429 -0
  100. package/dist/chunk-6VYROVWO.js +494 -0
  101. package/dist/chunk-7BUIOP36.js +287 -0
  102. package/dist/chunk-AQRXXC6E.js +319 -0
  103. package/dist/chunk-ARBXT73X.js +387 -0
  104. package/dist/chunk-BEZHQIEI.js +97 -0
  105. package/dist/chunk-BFURWHVR.js +547 -0
  106. package/dist/chunk-BX6B25KK.js +358 -0
  107. package/dist/chunk-BX6B25KK.js.map +1 -0
  108. package/dist/chunk-DSCEXBDR.js +676 -0
  109. package/dist/chunk-FLWDFPXE.js +23 -0
  110. package/dist/chunk-FRNBRN2C.js +1646 -0
  111. package/dist/chunk-G4FG5EQO.js +110 -0
  112. package/dist/chunk-G4FG5EQO.js.map +1 -0
  113. package/dist/chunk-GE3VT3CA.js +51 -0
  114. package/dist/chunk-GW2WRZZA.js +24026 -0
  115. package/dist/chunk-GW2WRZZA.js.map +1 -0
  116. package/dist/chunk-HGBJQGO5.js +142 -0
  117. package/dist/chunk-I7AYMJZA.js +783 -0
  118. package/dist/chunk-IRM273C7.js +207 -0
  119. package/dist/chunk-IWKD56AY.js +156 -0
  120. package/dist/chunk-JLAQWMVF.js +3868 -0
  121. package/dist/chunk-JOE42ZW6.js +2984 -0
  122. package/dist/chunk-JOE42ZW6.js.map +1 -0
  123. package/dist/chunk-K6NULQN7.js +57 -0
  124. package/dist/chunk-L2BRAC2J.js +19 -0
  125. package/dist/chunk-LGMI4LSY.js +455 -0
  126. package/dist/chunk-NB2FU6EZ.js +179 -0
  127. package/dist/chunk-NKQWDEB7.js +115 -0
  128. package/dist/chunk-NKQWDEB7.js.map +1 -0
  129. package/dist/chunk-NWF2LRKO.js +188 -0
  130. package/dist/chunk-OG47L5GG.js +275 -0
  131. package/dist/chunk-OR6KVLI5.js +169 -0
  132. package/dist/chunk-PC3FJEZH.js +7211 -0
  133. package/dist/chunk-PC3FJEZH.js.map +1 -0
  134. package/dist/chunk-Q3GSVLE5.js +4274 -0
  135. package/dist/chunk-Q3GSVLE5.js.map +1 -0
  136. package/dist/chunk-QDQZ62FL.js +207 -0
  137. package/dist/chunk-QIOFOD4K.js +344 -0
  138. package/dist/chunk-R2SYF5FC.js +249 -0
  139. package/dist/chunk-RTH2I55B.js +942 -0
  140. package/dist/chunk-S6VFDNSQ.js +63 -0
  141. package/dist/chunk-SG2TDQEE.js +150 -0
  142. package/dist/chunk-SOPVIIUW.js +68 -0
  143. package/dist/chunk-SOPVIIUW.js.map +1 -0
  144. package/dist/chunk-T3P6O2VU.js +89 -0
  145. package/dist/chunk-TXDE2QJ3.js +604 -0
  146. package/dist/chunk-UDIEKCIR.js +203 -0
  147. package/dist/chunk-USCADMM3.js +163 -0
  148. package/dist/chunk-UUGISMNE.js +910 -0
  149. package/dist/chunk-VDPOCAQ2.js +197 -0
  150. package/dist/chunk-VEJ3QX6M.js +103 -0
  151. package/dist/chunk-VFJB7OG6.js +91 -0
  152. package/dist/chunk-VRIPVLE7.js +8954 -0
  153. package/dist/chunk-WFY7KSHB.js +274 -0
  154. package/dist/chunk-WLESMH4J.js +45 -0
  155. package/dist/chunk-XHQYFNNK.js +846 -0
  156. package/dist/chunk-XOQNM7I4.js +396 -0
  157. package/dist/chunk-XOQNM7I4.js.map +1 -0
  158. package/dist/chunk-YILZR3XI.js +224 -0
  159. package/dist/chunk-YJFLXOH4.js +191 -0
  160. package/dist/chunk-YWHZYR6S.js +297 -0
  161. package/dist/claim-GOLUTAJ3.js +200 -0
  162. package/dist/claim-GOLUTAJ3.js.map +1 -0
  163. package/dist/cli.js +30 -30
  164. package/dist/companies-4AJJGTMC.js +198 -0
  165. package/dist/companies-4AJJGTMC.js.map +1 -0
  166. package/dist/company-MOSPLRZJ.js +308 -0
  167. package/dist/company-MOSPLRZJ.js.map +1 -0
  168. package/dist/complete-777BDV45.js +84 -0
  169. package/dist/complete-777BDV45.js.map +1 -0
  170. package/dist/connect-3YY7MF3I.js +45 -0
  171. package/dist/conversation-KROMHDHK.js +96 -0
  172. package/dist/conversation-KROMHDHK.js.map +1 -0
  173. package/dist/conversion-report-JZHI2IHY.js +127 -0
  174. package/dist/conversion-report-JZHI2IHY.js.map +1 -0
  175. package/dist/conversion-upload-command-7RSZ5ZQU.js +439 -0
  176. package/dist/conversion-writes-SNCLQDXQ.js +122 -0
  177. package/dist/conversion-writes-SNCLQDXQ.js.map +1 -0
  178. package/dist/conversions-43EYP2W2.js +140 -0
  179. package/dist/conversions-43EYP2W2.js.map +1 -0
  180. package/dist/conversions-EUOWILCQ.js +78 -0
  181. package/dist/conversions-EUOWILCQ.js.map +1 -0
  182. package/dist/copy-writes-CIHIFLY6.js +170 -0
  183. package/dist/copy-writes-CIHIFLY6.js.map +1 -0
  184. package/dist/create-3WOZO2XT.js +239 -0
  185. package/dist/create-3WOZO2XT.js.map +1 -0
  186. package/dist/create-7IFYLX7P.js +210 -0
  187. package/dist/create-7IFYLX7P.js.map +1 -0
  188. package/dist/create-FOHIQC3E.js +62 -0
  189. package/dist/create-FOHIQC3E.js.map +1 -0
  190. package/dist/create-UWQSQTK6.js +135 -0
  191. package/dist/create-UWQSQTK6.js.map +1 -0
  192. package/dist/creatives-2DR3QHJW.js +58 -0
  193. package/dist/creatives-BB6S2OF6.js +89 -0
  194. package/dist/creatives-KUO67WYA.js +223 -0
  195. package/dist/creatives-KUO67WYA.js.map +1 -0
  196. package/dist/credentials-IP4L37XP.js +290 -0
  197. package/dist/credentials-IP4L37XP.js.map +1 -0
  198. package/dist/critique-LGDNMLBL.js +232 -0
  199. package/dist/critique-LGDNMLBL.js.map +1 -0
  200. package/dist/critique-LJMFAURK.js +1451 -0
  201. package/dist/critique-LJMFAURK.js.map +1 -0
  202. package/dist/crm-BNYW7PF7.js +323 -0
  203. package/dist/crm-BNYW7PF7.js.map +1 -0
  204. package/dist/crm-J53V2QTN.js +227 -0
  205. package/dist/crm-J53V2QTN.js.map +1 -0
  206. package/dist/currency-X7Y6TSLF.js +88 -0
  207. package/dist/custom-conversions-HAGG72LF.js +128 -0
  208. package/dist/customers-663K2OCP.js +59 -0
  209. package/dist/delete-5W3YVA4L.js +67 -0
  210. package/dist/delete-5W3YVA4L.js.map +1 -0
  211. package/dist/delete-6U7E6YUW.js +57 -0
  212. package/dist/delete-6U7E6YUW.js.map +1 -0
  213. package/dist/delete-G4NY6ZG6.js +69 -0
  214. package/dist/delete-G4NY6ZG6.js.map +1 -0
  215. package/dist/demographics-4Y5LTCU4.js +141 -0
  216. package/dist/demographics-4Y5LTCU4.js.map +1 -0
  217. package/dist/discard-RKCZNKMN.js +69 -0
  218. package/dist/discard-RKCZNKMN.js.map +1 -0
  219. package/dist/discover-6DORQWXY.js +172 -0
  220. package/dist/domain-PLA2O4FW.js +101 -0
  221. package/dist/domain-PLA2O4FW.js.map +1 -0
  222. package/dist/download-4EFLVSA4.js +172 -0
  223. package/dist/download-4EFLVSA4.js.map +1 -0
  224. package/dist/draft-4V7W5DV2.js +310 -0
  225. package/dist/draft-4V7W5DV2.js.map +1 -0
  226. package/dist/draft-HY3U2GHU.js +283 -0
  227. package/dist/draft-HY3U2GHU.js.map +1 -0
  228. package/dist/draft-JMNAGW7C.js +220 -0
  229. package/dist/draft-JMNAGW7C.js.map +1 -0
  230. package/dist/draft-R6EKORNS.js +308 -0
  231. package/dist/draft-TRPQCJ4B.js +335 -0
  232. package/dist/draft-TRPQCJ4B.js.map +1 -0
  233. package/dist/experiments-4V242DG2.js +236 -0
  234. package/dist/experiments-4V242DG2.js.map +1 -0
  235. package/dist/facets-WXJ2MCU6.js +117 -0
  236. package/dist/facets-WXJ2MCU6.js.map +1 -0
  237. package/dist/feedback-IRSRPXV6.js +111 -0
  238. package/dist/feedback-IRSRPXV6.js.map +1 -0
  239. package/dist/feedback-record-DT3R4NA3.js +265 -0
  240. package/dist/feedback-record-DT3R4NA3.js.map +1 -0
  241. package/dist/fetch-YLQP5VQL.js +179 -0
  242. package/dist/fetch-YLQP5VQL.js.map +1 -0
  243. package/dist/fit-BEFCY2B4.js +65 -0
  244. package/dist/flows-FDMF3F3P.js +250 -0
  245. package/dist/flows-FDMF3F3P.js.map +1 -0
  246. package/dist/fonts-C6XN5667.js +39 -0
  247. package/dist/forecast-BTPIXEQ5.js +169 -0
  248. package/dist/forecast-ZTXZD3HD.js +121 -0
  249. package/dist/forecast-ZTXZD3HD.js.map +1 -0
  250. package/dist/funnel-7KOEX7YM.js +397 -0
  251. package/dist/funnel-7KOEX7YM.js.map +1 -0
  252. package/dist/get-KBSKPTAV.js +59 -0
  253. package/dist/get-KBSKPTAV.js.map +1 -0
  254. package/dist/get-OSVQVMP6.js +82 -0
  255. package/dist/get-OSVQVMP6.js.map +1 -0
  256. package/dist/google-M6BJ22UL.js +3267 -0
  257. package/dist/google-ads-XCJVAXWF.js +198 -0
  258. package/dist/google-ads-XCJVAXWF.js.map +1 -0
  259. package/dist/history-3NTM5SFN.js +69 -0
  260. package/dist/history-3NTM5SFN.js.map +1 -0
  261. package/dist/history-4TN2A6BL.js +136 -0
  262. package/dist/history-4TN2A6BL.js.map +1 -0
  263. package/dist/history-5IWW2X33.js +102 -0
  264. package/dist/history-5IWW2X33.js.map +1 -0
  265. package/dist/hubspot-HMVSRJQZ.js +782 -0
  266. package/dist/hubspot-HMVSRJQZ.js.map +1 -0
  267. package/dist/ideas-M66FU45H.js +45 -0
  268. package/dist/images-MM5OPUKV.js +92 -0
  269. package/dist/ingest-GU3WEBN3.js +110 -0
  270. package/dist/ingest-GU3WEBN3.js.map +1 -0
  271. package/dist/ingest-KMLYCFF4.js +26 -0
  272. package/dist/insights-CQCWOCIT.js +132 -0
  273. package/dist/insights-CQCWOCIT.js.map +1 -0
  274. package/dist/insights-XZL2EM53.js +439 -0
  275. package/dist/insights-XZL2EM53.js.map +1 -0
  276. package/dist/inspect-4JO2J3D6.js +192 -0
  277. package/dist/inspect-4JO2J3D6.js.map +1 -0
  278. package/dist/instant-experiences-RM4MLJTL.js +260 -0
  279. package/dist/instant-experiences-RM4MLJTL.js.map +1 -0
  280. package/dist/intent-YCQCUCV3.js +95 -0
  281. package/dist/keyword-gap-PUSF7EKY.js +130 -0
  282. package/dist/keyword-metrics-JXBM22ZD.js +200 -0
  283. package/dist/keyword-metrics-JXBM22ZD.js.map +1 -0
  284. package/dist/keywords-for-site-OAYA7KP7.js +131 -0
  285. package/dist/keywords-for-site-OAYA7KP7.js.map +1 -0
  286. package/dist/landing-OZU5RRFV.js +28 -0
  287. package/dist/languages-SLFV73GE.js +40 -0
  288. package/dist/leads-Q7APIJRQ.js +115 -0
  289. package/dist/leads-Q7APIJRQ.js.map +1 -0
  290. package/dist/leads-ULYHTG22.js +540 -0
  291. package/dist/leads-ULYHTG22.js.map +1 -0
  292. package/dist/learn-NBBJRMVZ.js +207 -0
  293. package/dist/learn-NBBJRMVZ.js.map +1 -0
  294. package/dist/line-item-writes-X3L5NQEH.js +211 -0
  295. package/dist/line-item-writes-X3L5NQEH.js.map +1 -0
  296. package/dist/line-items-NJMEPEF5.js +107 -0
  297. package/dist/link-WZSNUQQ2.js +67 -0
  298. package/dist/link-WZSNUQQ2.js.map +1 -0
  299. package/dist/linkedin-55PAID62.js +1316 -0
  300. package/dist/linkedin-55PAID62.js.map +1 -0
  301. package/dist/linkedin-person-MVRI7LLC.js +139 -0
  302. package/dist/linkedin-person-MVRI7LLC.js.map +1 -0
  303. package/dist/list-6S54IAUX.js +67 -0
  304. package/dist/list-6S54IAUX.js.map +1 -0
  305. package/dist/list-QRJ4E3SC.js +154 -0
  306. package/dist/list-QRJ4E3SC.js.map +1 -0
  307. package/dist/list-RZUDFLJN.js +306 -0
  308. package/dist/list-RZUDFLJN.js.map +1 -0
  309. package/dist/locations-T2OMP6QN.js +40 -0
  310. package/dist/locations-W3VOYBWL.js +69 -0
  311. package/dist/locations-W3VOYBWL.js.map +1 -0
  312. package/dist/log-53SAPZZ3.js +95 -0
  313. package/dist/log-53SAPZZ3.js.map +1 -0
  314. package/dist/lookup-S5VG7AWH.js +23 -0
  315. package/dist/make-ZF3YIMKW.js +1370 -0
  316. package/dist/make-ZF3YIMKW.js.map +1 -0
  317. package/dist/map-J37QFJSV.js +436 -0
  318. package/dist/map-J37QFJSV.js.map +1 -0
  319. package/dist/mcp-YRIFPYNU.js +717 -0
  320. package/dist/mcp-YRIFPYNU.js.map +1 -0
  321. package/dist/media-P4T4ZBNS.js +18 -0
  322. package/dist/media-sources-EQI3U4TC.js +35 -0
  323. package/dist/members-GYVMSCKL.js +47 -0
  324. package/dist/members-GYVMSCKL.js.map +1 -0
  325. package/dist/meta-IPLWNYC7.js +122 -0
  326. package/dist/metrics-4YVJHYRI.js +152 -0
  327. package/dist/normalize-MFN3WCH5.js +144 -0
  328. package/dist/normalize-MFN3WCH5.js.map +1 -0
  329. package/dist/options-DLHDHO7H.js +125 -0
  330. package/dist/options-DLHDHO7H.js.map +1 -0
  331. package/dist/organization-C2VOA2SD.js +949 -0
  332. package/dist/organization-C2VOA2SD.js.map +1 -0
  333. package/dist/page-photos-OQ5QATQH.js +118 -0
  334. package/dist/page-photos-OQ5QATQH.js.map +1 -0
  335. package/dist/performance-NIF3CESZ.js +27 -0
  336. package/dist/performance-T6TBVHVU.js +5541 -0
  337. package/dist/performance-T6TBVHVU.js.map +1 -0
  338. package/dist/pixels-LQAJOZIM.js +62 -0
  339. package/dist/pixels-LQAJOZIM.js.map +1 -0
  340. package/dist/plan-7UF76Q6U.js +208 -0
  341. package/dist/plan-7UF76Q6U.js.map +1 -0
  342. package/dist/preview-LRJOQ7LM.js +218 -0
  343. package/dist/preview-LRJOQ7LM.js.map +1 -0
  344. package/dist/promoted-tweet-writes-Y6BBOWDL.js +183 -0
  345. package/dist/promoted-tweet-writes-Y6BBOWDL.js.map +1 -0
  346. package/dist/promoted-tweets-RJT53DRM.js +119 -0
  347. package/dist/publish-IOTMJCCY.js +344 -0
  348. package/dist/publish-IOTMJCCY.js.map +1 -0
  349. package/dist/query-XZMDGRO5.js +62 -0
  350. package/dist/questionnaire-DWEH5II4.js +94 -0
  351. package/dist/questionnaire-DWEH5II4.js.map +1 -0
  352. package/dist/reddit-JIHMAKAQ.js +29 -0
  353. package/dist/refresh-OQZ263CS.js +97 -0
  354. package/dist/refresh-OQZ263CS.js.map +1 -0
  355. package/dist/release-4CHFURO3.js +63 -0
  356. package/dist/release-4CHFURO3.js.map +1 -0
  357. package/dist/relevant-pages-FS7GBVXK.js +99 -0
  358. package/dist/remove-IJQPHPDI.js +53 -0
  359. package/dist/remove-IJQPHPDI.js.map +1 -0
  360. package/dist/reopen-YTLPVKUR.js +66 -0
  361. package/dist/reopen-YTLPVKUR.js.map +1 -0
  362. package/dist/rerun-C7NB7B35.js +95 -0
  363. package/dist/rerun-C7NB7B35.js.map +1 -0
  364. package/dist/research-PNBACCCP.js +72 -0
  365. package/dist/research-TLHNPK3O.js +265 -0
  366. package/dist/research-TLHNPK3O.js.map +1 -0
  367. package/dist/reset-JVLW7HA2.js +57 -0
  368. package/dist/reset-JVLW7HA2.js.map +1 -0
  369. package/dist/reset-Y6FXLAQE.js +57 -0
  370. package/dist/reset-Y6FXLAQE.js.map +1 -0
  371. package/dist/resolve-YLRESES5.js +124 -0
  372. package/dist/resolve-YLRESES5.js.map +1 -0
  373. package/dist/retry-3V3IGDRR.js +65 -0
  374. package/dist/retry-3V3IGDRR.js.map +1 -0
  375. package/dist/retry-AEKQLQMP.js +63 -0
  376. package/dist/retry-AEKQLQMP.js.map +1 -0
  377. package/dist/revenue-E4GQIOUY.js +91 -0
  378. package/dist/revenue-E4GQIOUY.js.map +1 -0
  379. package/dist/rule-writes-UAVWT4XS.js +525 -0
  380. package/dist/rule-writes-UAVWT4XS.js.map +1 -0
  381. package/dist/rules-34BQAWU3.js +99 -0
  382. package/dist/rules-34BQAWU3.js.map +1 -0
  383. package/dist/rules-ZVS2MWED.js +217 -0
  384. package/dist/rules-add-CM5XUYNS.js +465 -0
  385. package/dist/rules-add-CM5XUYNS.js.map +1 -0
  386. package/dist/run-MD64RDHZ.js +69 -0
  387. package/dist/run-MD64RDHZ.js.map +1 -0
  388. package/dist/run-QCNRR3CA.js +70 -0
  389. package/dist/scaffold-ad-NADPY3CB.js +1516 -0
  390. package/dist/scaffold-ad-NADPY3CB.js.map +1 -0
  391. package/dist/scaffold-static-ad-5YEYYVYH.js +1015 -0
  392. package/dist/scaffold-static-ad-5YEYYVYH.js.map +1 -0
  393. package/dist/scaffold-video-W7DF2CBJ.js +888 -0
  394. package/dist/scaffold-video-W7DF2CBJ.js.map +1 -0
  395. package/dist/schedule-CTRRF6TS.js +64 -0
  396. package/dist/schedule-CTRRF6TS.js.map +1 -0
  397. package/dist/scheduled-agents-OXYAVSIE.js +55 -0
  398. package/dist/schema-BEUYOGSW.js +135 -0
  399. package/dist/schema-BEUYOGSW.js.map +1 -0
  400. package/dist/search-GFJKWPKN.js +177 -0
  401. package/dist/search-GFJKWPKN.js.map +1 -0
  402. package/dist/select-S72CCL57.js +106 -0
  403. package/dist/select-S72CCL57.js.map +1 -0
  404. package/dist/sends-LAY5C74B.js +349 -0
  405. package/dist/sends-LAY5C74B.js.map +1 -0
  406. package/dist/set-prompt-YYFDRXRI.js +198 -0
  407. package/dist/set-prompt-YYFDRXRI.js.map +1 -0
  408. package/dist/setup-links-D4JJLESN.js +144 -0
  409. package/dist/setup-links-D4JJLESN.js.map +1 -0
  410. package/dist/shopify-T4UWFIQC.js +3958 -0
  411. package/dist/shopify-T4UWFIQC.js.map +1 -0
  412. package/dist/site-BBZAUZA3.js +180 -0
  413. package/dist/site-BBZAUZA3.js.map +1 -0
  414. package/dist/sources-BUPV7H7F.js +457 -0
  415. package/dist/sources-BUPV7H7F.js.map +1 -0
  416. package/dist/sources-FLUGHSVP.js +30 -0
  417. package/dist/stale-HP54JS5X.js +76 -0
  418. package/dist/stale-HP54JS5X.js.map +1 -0
  419. package/dist/status-CLSWQFCQ.js +65 -0
  420. package/dist/status-CLSWQFCQ.js.map +1 -0
  421. package/dist/studies-EPO2AM4M.js +250 -0
  422. package/dist/study-writes-7FP443QQ.js +470 -0
  423. package/dist/study-writes-7FP443QQ.js.map +1 -0
  424. package/dist/sync-4YTVVEVC.js +57 -0
  425. package/dist/sync-4YTVVEVC.js.map +1 -0
  426. package/dist/sync-definition-OGQ5XTQE.js +69 -0
  427. package/dist/tags-CZTRQNXV.js +26 -0
  428. package/dist/tags-FDQXWTCQ.js +23 -0
  429. package/dist/tags-FDQXWTCQ.js.map +1 -0
  430. package/dist/tags-R67DKRZ6.js +23 -0
  431. package/dist/tags-R67DKRZ6.js.map +1 -0
  432. package/dist/tags-SA2LU6AW.js +227 -0
  433. package/dist/tags-SA2LU6AW.js.map +1 -0
  434. package/dist/tags-ZOXX6VRE.js +23 -0
  435. package/dist/tags-ZOXX6VRE.js.map +1 -0
  436. package/dist/targeting-NKZFEZD7.js +762 -0
  437. package/dist/targeting-NKZFEZD7.js.map +1 -0
  438. package/dist/targeting-criteria-AQYXVSGN.js +113 -0
  439. package/dist/targets-UUVCEG3F.js +106 -0
  440. package/dist/targets-UUVCEG3F.js.map +1 -0
  441. package/dist/testimonials-G3OCNPBY.js +32 -0
  442. package/dist/themes-FEVYZZCW.js +95 -0
  443. package/dist/top-companies-BQGWKYUK.js +111 -0
  444. package/dist/top-companies-BQGWKYUK.js.map +1 -0
  445. package/dist/transcript-U46AEOEI.js +165 -0
  446. package/dist/transcript-U46AEOEI.js.map +1 -0
  447. package/dist/translate-AS7JVKYM.js +609 -0
  448. package/dist/translate-AS7JVKYM.js.map +1 -0
  449. package/dist/triggers-ECRBPYYF.js +144 -0
  450. package/dist/triggers-ECRBPYYF.js.map +1 -0
  451. package/dist/unlink-VDNCSRJV.js +70 -0
  452. package/dist/unlink-VDNCSRJV.js.map +1 -0
  453. package/dist/unstage-ATDXUYP2.js +88 -0
  454. package/dist/unstage-ATDXUYP2.js.map +1 -0
  455. package/dist/unstage-ZA3WQBEA.js +96 -0
  456. package/dist/unstage-ZA3WQBEA.js.map +1 -0
  457. package/dist/update-FJ6TBV3E.js +101 -0
  458. package/dist/update-FJ6TBV3E.js.map +1 -0
  459. package/dist/update-HDBJCSTI.js +66 -0
  460. package/dist/update-HDBJCSTI.js.map +1 -0
  461. package/dist/update-U43DJRGV.js +155 -0
  462. package/dist/update-U43DJRGV.js.map +1 -0
  463. package/dist/update-Z7TIUBMJ.js +192 -0
  464. package/dist/update-Z7TIUBMJ.js.map +1 -0
  465. package/dist/upload-LXCFSRIU.js +129 -0
  466. package/dist/upload-LXCFSRIU.js.map +1 -0
  467. package/dist/url-options-Z4BQBEMI.js +131 -0
  468. package/dist/url-options-Z4BQBEMI.js.map +1 -0
  469. package/dist/url-params-J7RKP5RB.js +101 -0
  470. package/dist/url-params-J7RKP5RB.js.map +1 -0
  471. package/dist/validate-VR3HEOMJ.js +122 -0
  472. package/dist/validate-VR3HEOMJ.js.map +1 -0
  473. package/dist/videos-36AXDUGZ.js +41 -0
  474. package/dist/viewer-check-6HL4OUQY.js +83 -0
  475. package/dist/web-7BRJRQX7.js +143 -0
  476. package/dist/web-7BRJRQX7.js.map +1 -0
  477. package/dist/winning-ads-GMM5W2O4.js +86 -0
  478. package/dist/write-commands-IM5DPG3R.js +1502 -0
  479. package/dist/write-commands-IM5DPG3R.js.map +1 -0
  480. package/dist/write-commands-OGVDWWBV.js +1172 -0
  481. package/dist/write-commands-OGVDWWBV.js.map +1 -0
  482. package/dist/x-HGFAL3NY.js +47 -0
  483. package/package.json +1 -1
  484. package/dist/account-UUAEQWO3.js +0 -80
  485. package/dist/account-UUAEQWO3.js.map +0 -1
  486. package/dist/account-WLQBAQMD.js +0 -80
  487. package/dist/account-WLQBAQMD.js.map +0 -1
  488. package/dist/account-assets-O7IA37RE.js +0 -290
  489. package/dist/account-level-EU7BWCO7.js +0 -609
  490. package/dist/account-level-EU7BWCO7.js.map +0 -1
  491. package/dist/account-reads-SNOWDHHF.js +0 -219
  492. package/dist/account-users-NV37Z2XJ.js +0 -62
  493. package/dist/account-users-NV37Z2XJ.js.map +0 -1
  494. package/dist/account-writes-TU3WJRSI.js +0 -66
  495. package/dist/account-writes-TU3WJRSI.js.map +0 -1
  496. package/dist/accounts-MZ6SETJJ.js +0 -78
  497. package/dist/accounts-MZ6SETJJ.js.map +0 -1
  498. package/dist/accounts-U7ZBEAY6.js +0 -699
  499. package/dist/accounts-U7ZBEAY6.js.map +0 -1
  500. package/dist/actions-4JYHXRFH.js +0 -55
  501. package/dist/activecampaign-IDBV26HH.js +0 -936
  502. package/dist/activecampaign-IDBV26HH.js.map +0 -1
  503. package/dist/ad-group-writes-HLBWN4E4.js +0 -170
  504. package/dist/ad-group-writes-HLBWN4E4.js.map +0 -1
  505. package/dist/ad-groups-33NZD6J3.js +0 -68
  506. package/dist/ad-groups-33NZD6J3.js.map +0 -1
  507. package/dist/ad-writes-7ZDNDZ2E.js +0 -174
  508. package/dist/ad-writes-7ZDNDZ2E.js.map +0 -1
  509. package/dist/add-AF42LQQQ.js +0 -105
  510. package/dist/add-AF42LQQQ.js.map +0 -1
  511. package/dist/add-LJRZYJ7I.js +0 -303
  512. package/dist/add-LJRZYJ7I.js.map +0 -1
  513. package/dist/ads-KBE5JXCH.js +0 -115
  514. package/dist/ads-LXWXOQHX.js +0 -48
  515. package/dist/ads-X3AM6M7L.js +0 -77
  516. package/dist/ads-X3AM6M7L.js.map +0 -1
  517. package/dist/adsets-YWBJFPAZ.js +0 -182
  518. package/dist/advertisers-6FOCN2W3.js +0 -121
  519. package/dist/advertisers-6FOCN2W3.js.map +0 -1
  520. package/dist/analytics-64HBRJJE.js +0 -2435
  521. package/dist/analytics-64HBRJJE.js.map +0 -1
  522. package/dist/analytics-VY5NL2GL.js +0 -445
  523. package/dist/analytics-VY5NL2GL.js.map +0 -1
  524. package/dist/asset-writes-72DEVXGO.js +0 -48
  525. package/dist/assign-N2I2BM67.js +0 -78
  526. package/dist/assign-N2I2BM67.js.map +0 -1
  527. package/dist/audience-size-H5DEZXJN.js +0 -74
  528. package/dist/audience-size-H5DEZXJN.js.map +0 -1
  529. package/dist/audience-writes-KCHLNFSI.js +0 -325
  530. package/dist/audience-writes-KCHLNFSI.js.map +0 -1
  531. package/dist/audiences-QAH42HIM.js +0 -86
  532. package/dist/audiences-WCDWN64L.js +0 -268
  533. package/dist/audiences-WCDWN64L.js.map +0 -1
  534. package/dist/audit-2AAF6AOX.js +0 -152
  535. package/dist/audit-2AAF6AOX.js.map +0 -1
  536. package/dist/autocomplete-3GSKRNCZ.js +0 -112
  537. package/dist/autocomplete-3GSKRNCZ.js.map +0 -1
  538. package/dist/avatars-N6W6HUPP.js +0 -38
  539. package/dist/bid-pricing-IMITXHXN.js +0 -101
  540. package/dist/bid-pricing-IMITXHXN.js.map +0 -1
  541. package/dist/brand-ITWQVZD2.js +0 -22
  542. package/dist/brief-JJNEYPYB.js +0 -541
  543. package/dist/brief-JJNEYPYB.js.map +0 -1
  544. package/dist/campaign-groups-TTQLP32Q.js +0 -97
  545. package/dist/campaign-groups-TTQLP32Q.js.map +0 -1
  546. package/dist/campaign-writes-MAKPHQ3V.js +0 -166
  547. package/dist/campaign-writes-MAKPHQ3V.js.map +0 -1
  548. package/dist/campaign-writes-XO74BALZ.js +0 -174
  549. package/dist/campaign-writes-XO74BALZ.js.map +0 -1
  550. package/dist/campaigns-5BIDXYSR.js +0 -111
  551. package/dist/campaigns-LS65QM6W.js +0 -76
  552. package/dist/campaigns-LS65QM6W.js.map +0 -1
  553. package/dist/campaigns-XZOQ2VTK.js +0 -130
  554. package/dist/campaigns-XZPXCS7I.js +0 -111
  555. package/dist/campaigns-XZPXCS7I.js.map +0 -1
  556. package/dist/canvas-SL3RMOY5.js +0 -46
  557. package/dist/capabilities-LSR5GCE6.js +0 -145
  558. package/dist/capabilities-LSR5GCE6.js.map +0 -1
  559. package/dist/catalogs-JLCSFZYC.js +0 -779
  560. package/dist/catalogs-JLCSFZYC.js.map +0 -1
  561. package/dist/catalogs-T23RKYFC.js +0 -128
  562. package/dist/catalogs-T23RKYFC.js.map +0 -1
  563. package/dist/changes-36C754R4.js +0 -135
  564. package/dist/chatgpt-3WFOPURY.js +0 -47
  565. package/dist/chats-GGYTXNJS.js +0 -277
  566. package/dist/chats-GGYTXNJS.js.map +0 -1
  567. package/dist/check-P7UPBBG7.js +0 -105
  568. package/dist/check-P7UPBBG7.js.map +0 -1
  569. package/dist/chunk-2TOIY2WN.js +0 -4254
  570. package/dist/chunk-4D46PS6J.js +0 -344
  571. package/dist/chunk-4GAEB6NK.js +0 -228
  572. package/dist/chunk-5XTGG4PV.js +0 -274
  573. package/dist/chunk-6JCX3YLM.js +0 -249
  574. package/dist/chunk-7J3NZBPV.js +0 -2982
  575. package/dist/chunk-7J3NZBPV.js.map +0 -1
  576. package/dist/chunk-ALMYGH5U.js +0 -479
  577. package/dist/chunk-AQKRSEBQ.js +0 -103
  578. package/dist/chunk-BL6RTOK3.js +0 -297
  579. package/dist/chunk-C6CBBZBO.js +0 -203
  580. package/dist/chunk-CCEDZTP7.js +0 -391
  581. package/dist/chunk-CCEDZTP7.js.map +0 -1
  582. package/dist/chunk-CKQTJ2LV.js +0 -89
  583. package/dist/chunk-D3KLDIPQ.js +0 -45
  584. package/dist/chunk-DL2UJNJ7.js +0 -8954
  585. package/dist/chunk-DQ54POZN.js +0 -363
  586. package/dist/chunk-EDLZGTGN.js +0 -216
  587. package/dist/chunk-EDLZGTGN.js.map +0 -1
  588. package/dist/chunk-EXSHBYNQ.js +0 -349
  589. package/dist/chunk-EXSHBYNQ.js.map +0 -1
  590. package/dist/chunk-FFFJBNHA.js +0 -63
  591. package/dist/chunk-FKQK22IX.js +0 -51
  592. package/dist/chunk-FLK6QHOY.js +0 -142
  593. package/dist/chunk-GACSA5A6.js +0 -1646
  594. package/dist/chunk-HJKYTNAZ.js +0 -61
  595. package/dist/chunk-INUU3752.js +0 -392
  596. package/dist/chunk-IQHO2ABF.js +0 -197
  597. package/dist/chunk-J3UWMBOP.js +0 -547
  598. package/dist/chunk-JDR3HUEL.js +0 -191
  599. package/dist/chunk-JI77AKT6.js +0 -19
  600. package/dist/chunk-JNURZHZJ.js +0 -942
  601. package/dist/chunk-JSNMKTFM.js +0 -592
  602. package/dist/chunk-K4FLWDEX.js +0 -122
  603. package/dist/chunk-KBRJSPIM.js +0 -676
  604. package/dist/chunk-LAC6YHHX.js +0 -97
  605. package/dist/chunk-M7HD42M6.js +0 -24017
  606. package/dist/chunk-M7HD42M6.js.map +0 -1
  607. package/dist/chunk-MGYC2IRC.js +0 -783
  608. package/dist/chunk-MI4HXE7M.js +0 -23
  609. package/dist/chunk-MJ7RNDD4.js +0 -910
  610. package/dist/chunk-OBJCNGZL.js +0 -207
  611. package/dist/chunk-OJGYYH6K.js +0 -179
  612. package/dist/chunk-OLBLXJNI.js +0 -224
  613. package/dist/chunk-PFTYKINE.js +0 -207
  614. package/dist/chunk-PLBITHV6.js +0 -846
  615. package/dist/chunk-Q6JMMBSQ.js +0 -831
  616. package/dist/chunk-RAQHUMKS.js +0 -169
  617. package/dist/chunk-SA22KXWT.js +0 -163
  618. package/dist/chunk-SIXU5PDF.js +0 -66
  619. package/dist/chunk-SXMK5AEJ.js +0 -494
  620. package/dist/chunk-TTLD66NI.js +0 -319
  621. package/dist/chunk-TVAIOC77.js +0 -287
  622. package/dist/chunk-TVTSA4EN.js +0 -188
  623. package/dist/chunk-V5NHJU3M.js +0 -604
  624. package/dist/chunk-VIPKDXGU.js +0 -4229
  625. package/dist/chunk-VIPKDXGU.js.map +0 -1
  626. package/dist/chunk-W4D7C74B.js +0 -387
  627. package/dist/chunk-WF25CCLD.js +0 -170
  628. package/dist/chunk-WQPUX3BA.js +0 -275
  629. package/dist/chunk-WR3FR3K3.js +0 -156
  630. package/dist/chunk-XDNJC62G.js +0 -91
  631. package/dist/chunk-XE6N4SZI.js +0 -429
  632. package/dist/chunk-XGPU2VDU.js +0 -219
  633. package/dist/chunk-XUJZO7MZ.js +0 -57
  634. package/dist/chunk-Y67LUJBE.js +0 -455
  635. package/dist/chunk-Y7XSDJEA.js +0 -3868
  636. package/dist/chunk-ZNNQK366.js +0 -7198
  637. package/dist/chunk-ZNNQK366.js.map +0 -1
  638. package/dist/chunk-ZNRGH4NS.js +0 -150
  639. package/dist/claim-4KUETSW3.js +0 -198
  640. package/dist/claim-4KUETSW3.js.map +0 -1
  641. package/dist/companies-XFO6WPVT.js +0 -196
  642. package/dist/companies-XFO6WPVT.js.map +0 -1
  643. package/dist/company-OJGISG7K.js +0 -306
  644. package/dist/company-OJGISG7K.js.map +0 -1
  645. package/dist/complete-CXOST5J3.js +0 -82
  646. package/dist/complete-CXOST5J3.js.map +0 -1
  647. package/dist/connect-HPQ32KGV.js +0 -43
  648. package/dist/conversation-D5HKCTDA.js +0 -94
  649. package/dist/conversation-D5HKCTDA.js.map +0 -1
  650. package/dist/conversion-report-DKXFHLLX.js +0 -125
  651. package/dist/conversion-report-DKXFHLLX.js.map +0 -1
  652. package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
  653. package/dist/conversion-writes-7ODJDAUP.js +0 -120
  654. package/dist/conversion-writes-7ODJDAUP.js.map +0 -1
  655. package/dist/conversions-BKVGNNC6.js +0 -76
  656. package/dist/conversions-BKVGNNC6.js.map +0 -1
  657. package/dist/conversions-SYNDEB6D.js +0 -138
  658. package/dist/conversions-SYNDEB6D.js.map +0 -1
  659. package/dist/copy-writes-P4WK6OPM.js +0 -168
  660. package/dist/copy-writes-P4WK6OPM.js.map +0 -1
  661. package/dist/create-7D4VD4TC.js +0 -208
  662. package/dist/create-7D4VD4TC.js.map +0 -1
  663. package/dist/create-7QDEAWZS.js +0 -133
  664. package/dist/create-7QDEAWZS.js.map +0 -1
  665. package/dist/create-IQSYEC4M.js +0 -60
  666. package/dist/create-IQSYEC4M.js.map +0 -1
  667. package/dist/create-TQSCM7MG.js +0 -237
  668. package/dist/create-TQSCM7MG.js.map +0 -1
  669. package/dist/creatives-JPKA2RHU.js +0 -89
  670. package/dist/creatives-RNOL4F4E.js +0 -58
  671. package/dist/creatives-RXI27T2D.js +0 -221
  672. package/dist/creatives-RXI27T2D.js.map +0 -1
  673. package/dist/credentials-PYW55B52.js +0 -288
  674. package/dist/credentials-PYW55B52.js.map +0 -1
  675. package/dist/critique-2SYHNAW5.js +0 -1449
  676. package/dist/critique-2SYHNAW5.js.map +0 -1
  677. package/dist/critique-72GFZSHA.js +0 -230
  678. package/dist/critique-72GFZSHA.js.map +0 -1
  679. package/dist/crm-EATDSXXB.js +0 -225
  680. package/dist/crm-EATDSXXB.js.map +0 -1
  681. package/dist/crm-XXP3VBYD.js +0 -321
  682. package/dist/crm-XXP3VBYD.js.map +0 -1
  683. package/dist/currency-R4ORE2U3.js +0 -88
  684. package/dist/custom-conversions-5HJBB5XL.js +0 -128
  685. package/dist/customers-OFZTEXST.js +0 -57
  686. package/dist/delete-FGVZIK4R.js +0 -55
  687. package/dist/delete-FGVZIK4R.js.map +0 -1
  688. package/dist/delete-HBZZL4UA.js +0 -67
  689. package/dist/delete-HBZZL4UA.js.map +0 -1
  690. package/dist/delete-JOUXMRIX.js +0 -65
  691. package/dist/delete-JOUXMRIX.js.map +0 -1
  692. package/dist/demographics-SB7NBYOI.js +0 -139
  693. package/dist/demographics-SB7NBYOI.js.map +0 -1
  694. package/dist/discard-YYGIRDII.js +0 -67
  695. package/dist/discard-YYGIRDII.js.map +0 -1
  696. package/dist/discover-GSJRZUOC.js +0 -172
  697. package/dist/domain-3KRAJAUH.js +0 -99
  698. package/dist/domain-3KRAJAUH.js.map +0 -1
  699. package/dist/download-QCBKJ6OR.js +0 -170
  700. package/dist/download-QCBKJ6OR.js.map +0 -1
  701. package/dist/draft-7CGFFZTH.js +0 -333
  702. package/dist/draft-7CGFFZTH.js.map +0 -1
  703. package/dist/draft-BI4NW6AU.js +0 -308
  704. package/dist/draft-BI4NW6AU.js.map +0 -1
  705. package/dist/draft-LPVK6YHI.js +0 -281
  706. package/dist/draft-LPVK6YHI.js.map +0 -1
  707. package/dist/draft-QF5JEUTH.js +0 -218
  708. package/dist/draft-QF5JEUTH.js.map +0 -1
  709. package/dist/draft-WYDMLNYA.js +0 -308
  710. package/dist/experiments-ZCEYRP3H.js +0 -234
  711. package/dist/experiments-ZCEYRP3H.js.map +0 -1
  712. package/dist/facets-G7ZDPI5Q.js +0 -115
  713. package/dist/facets-G7ZDPI5Q.js.map +0 -1
  714. package/dist/feedback-3U3CL2VB.js +0 -109
  715. package/dist/feedback-3U3CL2VB.js.map +0 -1
  716. package/dist/feedback-record-4ZHPENIP.js +0 -263
  717. package/dist/feedback-record-4ZHPENIP.js.map +0 -1
  718. package/dist/fetch-PNVNNWTP.js +0 -177
  719. package/dist/fetch-PNVNNWTP.js.map +0 -1
  720. package/dist/fit-53DGYRFD.js +0 -63
  721. package/dist/flows-JXLQBP5Q.js +0 -248
  722. package/dist/flows-JXLQBP5Q.js.map +0 -1
  723. package/dist/fonts-LFMBUT4R.js +0 -37
  724. package/dist/forecast-4AG5F7YC.js +0 -169
  725. package/dist/forecast-VZAXI74O.js +0 -119
  726. package/dist/forecast-VZAXI74O.js.map +0 -1
  727. package/dist/funnel-EACC35UD.js +0 -395
  728. package/dist/funnel-EACC35UD.js.map +0 -1
  729. package/dist/get-AXBVYGAC.js +0 -57
  730. package/dist/get-AXBVYGAC.js.map +0 -1
  731. package/dist/get-D6A27Q4E.js +0 -80
  732. package/dist/get-D6A27Q4E.js.map +0 -1
  733. package/dist/google-NAA4BASO.js +0 -3267
  734. package/dist/google-ads-OIYUNDXQ.js +0 -196
  735. package/dist/google-ads-OIYUNDXQ.js.map +0 -1
  736. package/dist/history-5MRLNTCI.js +0 -67
  737. package/dist/history-5MRLNTCI.js.map +0 -1
  738. package/dist/history-IDYNIB6R.js +0 -134
  739. package/dist/history-IDYNIB6R.js.map +0 -1
  740. package/dist/history-IOUKN3WD.js +0 -100
  741. package/dist/history-IOUKN3WD.js.map +0 -1
  742. package/dist/hubspot-HL6WGC4G.js +0 -780
  743. package/dist/hubspot-HL6WGC4G.js.map +0 -1
  744. package/dist/ideas-NK3KQHAK.js +0 -43
  745. package/dist/images-2XS3JT7E.js +0 -92
  746. package/dist/ingest-DHXWZZX4.js +0 -24
  747. package/dist/ingest-FGTJRCWK.js +0 -108
  748. package/dist/ingest-FGTJRCWK.js.map +0 -1
  749. package/dist/insights-M3CYB22P.js +0 -437
  750. package/dist/insights-M3CYB22P.js.map +0 -1
  751. package/dist/insights-XCT3ONC7.js +0 -130
  752. package/dist/insights-XCT3ONC7.js.map +0 -1
  753. package/dist/inspect-53GGYRC4.js +0 -190
  754. package/dist/inspect-53GGYRC4.js.map +0 -1
  755. package/dist/instant-experiences-HT3HB4QZ.js +0 -258
  756. package/dist/instant-experiences-HT3HB4QZ.js.map +0 -1
  757. package/dist/intent-NSHW7EJT.js +0 -95
  758. package/dist/keyword-gap-ITTWKBWZ.js +0 -130
  759. package/dist/keyword-metrics-LWPE3HHW.js +0 -198
  760. package/dist/keyword-metrics-LWPE3HHW.js.map +0 -1
  761. package/dist/keywords-for-site-5K25VJ35.js +0 -129
  762. package/dist/keywords-for-site-5K25VJ35.js.map +0 -1
  763. package/dist/landing-QONUUP3C.js +0 -28
  764. package/dist/languages-MEFQQBJ2.js +0 -40
  765. package/dist/leads-FSSISJGL.js +0 -113
  766. package/dist/leads-FSSISJGL.js.map +0 -1
  767. package/dist/leads-SZOGCQFK.js +0 -538
  768. package/dist/leads-SZOGCQFK.js.map +0 -1
  769. package/dist/learn-FWWJWBDN.js +0 -205
  770. package/dist/learn-FWWJWBDN.js.map +0 -1
  771. package/dist/line-item-writes-A3UQ44NG.js +0 -209
  772. package/dist/line-item-writes-A3UQ44NG.js.map +0 -1
  773. package/dist/line-items-OH426JGT.js +0 -107
  774. package/dist/link-67E4NVEX.js +0 -65
  775. package/dist/link-67E4NVEX.js.map +0 -1
  776. package/dist/linkedin-CT2OSQ2I.js +0 -1314
  777. package/dist/linkedin-CT2OSQ2I.js.map +0 -1
  778. package/dist/linkedin-person-OSNLPLJJ.js +0 -137
  779. package/dist/linkedin-person-OSNLPLJJ.js.map +0 -1
  780. package/dist/list-J4OUXAKN.js +0 -65
  781. package/dist/list-J4OUXAKN.js.map +0 -1
  782. package/dist/list-L2OQK4W3.js +0 -304
  783. package/dist/list-L2OQK4W3.js.map +0 -1
  784. package/dist/list-LHMDAA2D.js +0 -152
  785. package/dist/list-LHMDAA2D.js.map +0 -1
  786. package/dist/locations-RLWAS6AC.js +0 -40
  787. package/dist/locations-UKBOT6SB.js +0 -67
  788. package/dist/locations-UKBOT6SB.js.map +0 -1
  789. package/dist/log-4EIV54V4.js +0 -93
  790. package/dist/log-4EIV54V4.js.map +0 -1
  791. package/dist/lookup-ZJIP2M4X.js +0 -22
  792. package/dist/make-MFU3CSN7.js +0 -1368
  793. package/dist/make-MFU3CSN7.js.map +0 -1
  794. package/dist/map-VWWWMQLK.js +0 -434
  795. package/dist/map-VWWWMQLK.js.map +0 -1
  796. package/dist/mcp-EKLO2VD7.js +0 -715
  797. package/dist/mcp-EKLO2VD7.js.map +0 -1
  798. package/dist/media-ZWN7E777.js +0 -18
  799. package/dist/media-sources-7L622UTF.js +0 -35
  800. package/dist/members-QK5M5NCJ.js +0 -45
  801. package/dist/members-QK5M5NCJ.js.map +0 -1
  802. package/dist/meta-EHKXH257.js +0 -122
  803. package/dist/metrics-K6FDCMK7.js +0 -152
  804. package/dist/normalize-WI4OGKH5.js +0 -142
  805. package/dist/normalize-WI4OGKH5.js.map +0 -1
  806. package/dist/options-FKJ2QXI6.js +0 -123
  807. package/dist/options-FKJ2QXI6.js.map +0 -1
  808. package/dist/organization-7A7MPUDG.js +0 -947
  809. package/dist/organization-7A7MPUDG.js.map +0 -1
  810. package/dist/page-photos-HWKQOSCU.js +0 -116
  811. package/dist/page-photos-HWKQOSCU.js.map +0 -1
  812. package/dist/performance-K4VB6L6Z.js +0 -25
  813. package/dist/performance-LHAL53YO.js +0 -5539
  814. package/dist/performance-LHAL53YO.js.map +0 -1
  815. package/dist/pixels-Z7ZGXAGB.js +0 -60
  816. package/dist/pixels-Z7ZGXAGB.js.map +0 -1
  817. package/dist/plan-TVQSEKYL.js +0 -207
  818. package/dist/plan-TVQSEKYL.js.map +0 -1
  819. package/dist/preview-CWRGDFCP.js +0 -216
  820. package/dist/preview-CWRGDFCP.js.map +0 -1
  821. package/dist/promoted-tweet-writes-V4ZVJOJU.js +0 -181
  822. package/dist/promoted-tweet-writes-V4ZVJOJU.js.map +0 -1
  823. package/dist/promoted-tweets-KPG4IUVD.js +0 -119
  824. package/dist/publish-Y465CVUD.js +0 -342
  825. package/dist/publish-Y465CVUD.js.map +0 -1
  826. package/dist/query-QM7MBQD7.js +0 -62
  827. package/dist/questionnaire-LEZJLMAV.js +0 -93
  828. package/dist/questionnaire-LEZJLMAV.js.map +0 -1
  829. package/dist/reddit-Z7DOVIGR.js +0 -27
  830. package/dist/refresh-A6TW2Z2F.js +0 -95
  831. package/dist/refresh-A6TW2Z2F.js.map +0 -1
  832. package/dist/release-UFESJ4TM.js +0 -61
  833. package/dist/release-UFESJ4TM.js.map +0 -1
  834. package/dist/relevant-pages-VOICMQ7U.js +0 -99
  835. package/dist/remove-YONNYA4G.js +0 -51
  836. package/dist/remove-YONNYA4G.js.map +0 -1
  837. package/dist/reopen-FYJU2IPO.js +0 -64
  838. package/dist/reopen-FYJU2IPO.js.map +0 -1
  839. package/dist/rerun-B5SBG6ZE.js +0 -93
  840. package/dist/rerun-B5SBG6ZE.js.map +0 -1
  841. package/dist/research-HW4EVOZU.js +0 -72
  842. package/dist/research-OV53DIBX.js +0 -263
  843. package/dist/research-OV53DIBX.js.map +0 -1
  844. package/dist/reset-R4SIQXFH.js +0 -55
  845. package/dist/reset-R4SIQXFH.js.map +0 -1
  846. package/dist/reset-X6ODAKYH.js +0 -55
  847. package/dist/reset-X6ODAKYH.js.map +0 -1
  848. package/dist/resolve-DNRJCLCR.js +0 -122
  849. package/dist/resolve-DNRJCLCR.js.map +0 -1
  850. package/dist/retry-D5MKBHUB.js +0 -63
  851. package/dist/retry-D5MKBHUB.js.map +0 -1
  852. package/dist/retry-DVFLE7JY.js +0 -61
  853. package/dist/retry-DVFLE7JY.js.map +0 -1
  854. package/dist/revenue-QGI6XWSK.js +0 -89
  855. package/dist/revenue-QGI6XWSK.js.map +0 -1
  856. package/dist/rule-writes-S3RN47OG.js +0 -523
  857. package/dist/rule-writes-S3RN47OG.js.map +0 -1
  858. package/dist/rules-KTJ2ZZ62.js +0 -217
  859. package/dist/rules-TR6BAC23.js +0 -97
  860. package/dist/rules-TR6BAC23.js.map +0 -1
  861. package/dist/rules-add-T5ZO5RLR.js +0 -463
  862. package/dist/rules-add-T5ZO5RLR.js.map +0 -1
  863. package/dist/run-WZ5IXWA4.js +0 -67
  864. package/dist/run-WZ5IXWA4.js.map +0 -1
  865. package/dist/run-YRR3KOUU.js +0 -68
  866. package/dist/scaffold-ad-DNUCGCIH.js +0 -1514
  867. package/dist/scaffold-ad-DNUCGCIH.js.map +0 -1
  868. package/dist/scaffold-static-ad-VR65EZAG.js +0 -1013
  869. package/dist/scaffold-static-ad-VR65EZAG.js.map +0 -1
  870. package/dist/scaffold-video-JLMKCCWE.js +0 -886
  871. package/dist/scaffold-video-JLMKCCWE.js.map +0 -1
  872. package/dist/schedule-VRHCVBZA.js +0 -62
  873. package/dist/schedule-VRHCVBZA.js.map +0 -1
  874. package/dist/scheduled-agents-DG7FTCUZ.js +0 -55
  875. package/dist/schema-WZKDWF5N.js +0 -133
  876. package/dist/schema-WZKDWF5N.js.map +0 -1
  877. package/dist/search-MN66QIKJ.js +0 -175
  878. package/dist/search-MN66QIKJ.js.map +0 -1
  879. package/dist/select-IPSM2BF2.js +0 -104
  880. package/dist/select-IPSM2BF2.js.map +0 -1
  881. package/dist/sends-6FI7WELX.js +0 -348
  882. package/dist/sends-6FI7WELX.js.map +0 -1
  883. package/dist/set-prompt-N6BD3DME.js +0 -196
  884. package/dist/set-prompt-N6BD3DME.js.map +0 -1
  885. package/dist/setup-links-GTA2AROS.js +0 -142
  886. package/dist/setup-links-GTA2AROS.js.map +0 -1
  887. package/dist/shopify-S4TG6WJH.js +0 -3956
  888. package/dist/shopify-S4TG6WJH.js.map +0 -1
  889. package/dist/site-NY622E3H.js +0 -178
  890. package/dist/site-NY622E3H.js.map +0 -1
  891. package/dist/sources-4F2XO7Z6.js +0 -455
  892. package/dist/sources-4F2XO7Z6.js.map +0 -1
  893. package/dist/sources-562ITR77.js +0 -30
  894. package/dist/stale-JKM6MXJF.js +0 -74
  895. package/dist/stale-JKM6MXJF.js.map +0 -1
  896. package/dist/status-AUWMUDA4.js +0 -63
  897. package/dist/status-AUWMUDA4.js.map +0 -1
  898. package/dist/studies-ZOEUY6YP.js +0 -250
  899. package/dist/study-writes-DTGMCNFP.js +0 -468
  900. package/dist/study-writes-DTGMCNFP.js.map +0 -1
  901. package/dist/sync-76MCGHX4.js +0 -55
  902. package/dist/sync-76MCGHX4.js.map +0 -1
  903. package/dist/sync-definition-NJPT6ABG.js +0 -67
  904. package/dist/tags-5KBOJJ5R.js +0 -26
  905. package/dist/tags-CSMLTHTU.js +0 -21
  906. package/dist/tags-CSMLTHTU.js.map +0 -1
  907. package/dist/tags-IFRZYM3G.js +0 -21
  908. package/dist/tags-IFRZYM3G.js.map +0 -1
  909. package/dist/tags-S44ADJ75.js +0 -21
  910. package/dist/tags-S44ADJ75.js.map +0 -1
  911. package/dist/tags-WR7IY3OT.js +0 -225
  912. package/dist/tags-WR7IY3OT.js.map +0 -1
  913. package/dist/targeting-VBQY3HUN.js +0 -760
  914. package/dist/targeting-VBQY3HUN.js.map +0 -1
  915. package/dist/targeting-criteria-FJWNK53T.js +0 -113
  916. package/dist/targets-2EHMMXD4.js +0 -104
  917. package/dist/targets-2EHMMXD4.js.map +0 -1
  918. package/dist/testimonials-WAPFIGFJ.js +0 -32
  919. package/dist/themes-B4LCQUXB.js +0 -95
  920. package/dist/top-companies-DJ2XQKMW.js +0 -109
  921. package/dist/top-companies-DJ2XQKMW.js.map +0 -1
  922. package/dist/transcript-J3LGOHCM.js +0 -163
  923. package/dist/transcript-J3LGOHCM.js.map +0 -1
  924. package/dist/translate-6RXO4C6Z.js +0 -607
  925. package/dist/translate-6RXO4C6Z.js.map +0 -1
  926. package/dist/triggers-CYXPNHQB.js +0 -142
  927. package/dist/triggers-CYXPNHQB.js.map +0 -1
  928. package/dist/unlink-5FJI7XZB.js +0 -68
  929. package/dist/unlink-5FJI7XZB.js.map +0 -1
  930. package/dist/unstage-54ZE2SZK.js +0 -86
  931. package/dist/unstage-54ZE2SZK.js.map +0 -1
  932. package/dist/unstage-MDSSPUKV.js +0 -95
  933. package/dist/unstage-MDSSPUKV.js.map +0 -1
  934. package/dist/update-BVBFNFMO.js +0 -99
  935. package/dist/update-BVBFNFMO.js.map +0 -1
  936. package/dist/update-GV3T7ZRC.js +0 -190
  937. package/dist/update-GV3T7ZRC.js.map +0 -1
  938. package/dist/update-PUQWUGPJ.js +0 -64
  939. package/dist/update-PUQWUGPJ.js.map +0 -1
  940. package/dist/update-YQBK6C3L.js +0 -153
  941. package/dist/update-YQBK6C3L.js.map +0 -1
  942. package/dist/upload-PXT5JAEV.js +0 -127
  943. package/dist/upload-PXT5JAEV.js.map +0 -1
  944. package/dist/url-options-IHL4OU4C.js +0 -130
  945. package/dist/url-options-IHL4OU4C.js.map +0 -1
  946. package/dist/url-params-IYUI6SFJ.js +0 -99
  947. package/dist/url-params-IYUI6SFJ.js.map +0 -1
  948. package/dist/validate-AD7F7LQ5.js +0 -120
  949. package/dist/validate-AD7F7LQ5.js.map +0 -1
  950. package/dist/videos-ZJCTODEB.js +0 -41
  951. package/dist/viewer-check-GWZNGWCO.js +0 -81
  952. package/dist/web-76CWAZNW.js +0 -141
  953. package/dist/web-76CWAZNW.js.map +0 -1
  954. package/dist/winning-ads-W7GTXTX7.js +0 -86
  955. package/dist/write-commands-K6M3RTVK.js +0 -1170
  956. package/dist/write-commands-K6M3RTVK.js.map +0 -1
  957. package/dist/write-commands-VPU53DLB.js +0 -1498
  958. package/dist/write-commands-VPU53DLB.js.map +0 -1
  959. package/dist/x-V4NNNWRU.js +0 -47
  960. /package/dist/{account-assets-O7IA37RE.js.map → account-assets-J5Z4URLQ.js.map} +0 -0
  961. /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-2MSUVG46.js.map} +0 -0
  962. /package/dist/{actions-4JYHXRFH.js.map → actions-D7OWCP36.js.map} +0 -0
  963. /package/dist/{ads-LXWXOQHX.js.map → ads-HLUJB5SQ.js.map} +0 -0
  964. /package/dist/{ads-KBE5JXCH.js.map → ads-MAOI7S6V.js.map} +0 -0
  965. /package/dist/{adsets-YWBJFPAZ.js.map → adsets-QRKICEFD.js.map} +0 -0
  966. /package/dist/{asset-writes-72DEVXGO.js.map → asset-writes-JLVUAVUZ.js.map} +0 -0
  967. /package/dist/{audiences-QAH42HIM.js.map → audiences-CDDI5HR5.js.map} +0 -0
  968. /package/dist/{avatars-N6W6HUPP.js.map → avatars-WZ2JDMHH.js.map} +0 -0
  969. /package/dist/{brand-ITWQVZD2.js.map → brand-IZTTBZII.js.map} +0 -0
  970. /package/dist/{campaigns-5BIDXYSR.js.map → campaigns-4Y3JQC2U.js.map} +0 -0
  971. /package/dist/{campaigns-XZOQ2VTK.js.map → campaigns-HES5MDUG.js.map} +0 -0
  972. /package/dist/{canvas-SL3RMOY5.js.map → canvas-IQ753Q2O.js.map} +0 -0
  973. /package/dist/{changes-36C754R4.js.map → changes-VWKTM27U.js.map} +0 -0
  974. /package/dist/{chatgpt-3WFOPURY.js.map → chatgpt-OPOD2WHB.js.map} +0 -0
  975. /package/dist/{chunk-WF25CCLD.js.map → chunk-2GYCWRF3.js.map} +0 -0
  976. /package/dist/{chunk-HJKYTNAZ.js.map → chunk-2L7F7KR4.js.map} +0 -0
  977. /package/dist/{chunk-4GAEB6NK.js.map → chunk-44ZRCSR7.js.map} +0 -0
  978. /package/dist/{chunk-2TOIY2WN.js.map → chunk-46YLDIQG.js.map} +0 -0
  979. /package/dist/{chunk-DQ54POZN.js.map → chunk-4EDWXZ3I.js.map} +0 -0
  980. /package/dist/{chunk-SIXU5PDF.js.map → chunk-4FFBGR5L.js.map} +0 -0
  981. /package/dist/{chunk-XGPU2VDU.js.map → chunk-4UQRXKYJ.js.map} +0 -0
  982. /package/dist/{chunk-JSNMKTFM.js.map → chunk-4UZUUSVL.js.map} +0 -0
  983. /package/dist/{chunk-Q6JMMBSQ.js.map → chunk-4XHCEYHI.js.map} +0 -0
  984. /package/dist/{chunk-ALMYGH5U.js.map → chunk-4Z6PVR3M.js.map} +0 -0
  985. /package/dist/{chunk-K4FLWDEX.js.map → chunk-5Y5FZV2W.js.map} +0 -0
  986. /package/dist/{chunk-INUU3752.js.map → chunk-6HJXLGDV.js.map} +0 -0
  987. /package/dist/{chunk-XE6N4SZI.js.map → chunk-6S5CWGDA.js.map} +0 -0
  988. /package/dist/{chunk-SXMK5AEJ.js.map → chunk-6VYROVWO.js.map} +0 -0
  989. /package/dist/{chunk-TVAIOC77.js.map → chunk-7BUIOP36.js.map} +0 -0
  990. /package/dist/{chunk-TTLD66NI.js.map → chunk-AQRXXC6E.js.map} +0 -0
  991. /package/dist/{chunk-W4D7C74B.js.map → chunk-ARBXT73X.js.map} +0 -0
  992. /package/dist/{chunk-LAC6YHHX.js.map → chunk-BEZHQIEI.js.map} +0 -0
  993. /package/dist/{chunk-J3UWMBOP.js.map → chunk-BFURWHVR.js.map} +0 -0
  994. /package/dist/{chunk-KBRJSPIM.js.map → chunk-DSCEXBDR.js.map} +0 -0
  995. /package/dist/{chunk-MI4HXE7M.js.map → chunk-FLWDFPXE.js.map} +0 -0
  996. /package/dist/{chunk-GACSA5A6.js.map → chunk-FRNBRN2C.js.map} +0 -0
  997. /package/dist/{chunk-FKQK22IX.js.map → chunk-GE3VT3CA.js.map} +0 -0
  998. /package/dist/{chunk-FLK6QHOY.js.map → chunk-HGBJQGO5.js.map} +0 -0
  999. /package/dist/{chunk-MGYC2IRC.js.map → chunk-I7AYMJZA.js.map} +0 -0
  1000. /package/dist/{chunk-PFTYKINE.js.map → chunk-IRM273C7.js.map} +0 -0
  1001. /package/dist/{chunk-WR3FR3K3.js.map → chunk-IWKD56AY.js.map} +0 -0
  1002. /package/dist/{chunk-Y7XSDJEA.js.map → chunk-JLAQWMVF.js.map} +0 -0
  1003. /package/dist/{chunk-XUJZO7MZ.js.map → chunk-K6NULQN7.js.map} +0 -0
  1004. /package/dist/{chunk-JI77AKT6.js.map → chunk-L2BRAC2J.js.map} +0 -0
  1005. /package/dist/{chunk-Y67LUJBE.js.map → chunk-LGMI4LSY.js.map} +0 -0
  1006. /package/dist/{chunk-OJGYYH6K.js.map → chunk-NB2FU6EZ.js.map} +0 -0
  1007. /package/dist/{chunk-TVTSA4EN.js.map → chunk-NWF2LRKO.js.map} +0 -0
  1008. /package/dist/{chunk-WQPUX3BA.js.map → chunk-OG47L5GG.js.map} +0 -0
  1009. /package/dist/{chunk-RAQHUMKS.js.map → chunk-OR6KVLI5.js.map} +0 -0
  1010. /package/dist/{chunk-OBJCNGZL.js.map → chunk-QDQZ62FL.js.map} +0 -0
  1011. /package/dist/{chunk-4D46PS6J.js.map → chunk-QIOFOD4K.js.map} +0 -0
  1012. /package/dist/{chunk-6JCX3YLM.js.map → chunk-R2SYF5FC.js.map} +0 -0
  1013. /package/dist/{chunk-JNURZHZJ.js.map → chunk-RTH2I55B.js.map} +0 -0
  1014. /package/dist/{chunk-FFFJBNHA.js.map → chunk-S6VFDNSQ.js.map} +0 -0
  1015. /package/dist/{chunk-ZNRGH4NS.js.map → chunk-SG2TDQEE.js.map} +0 -0
  1016. /package/dist/{chunk-CKQTJ2LV.js.map → chunk-T3P6O2VU.js.map} +0 -0
  1017. /package/dist/{chunk-V5NHJU3M.js.map → chunk-TXDE2QJ3.js.map} +0 -0
  1018. /package/dist/{chunk-C6CBBZBO.js.map → chunk-UDIEKCIR.js.map} +0 -0
  1019. /package/dist/{chunk-SA22KXWT.js.map → chunk-USCADMM3.js.map} +0 -0
  1020. /package/dist/{chunk-MJ7RNDD4.js.map → chunk-UUGISMNE.js.map} +0 -0
  1021. /package/dist/{chunk-IQHO2ABF.js.map → chunk-VDPOCAQ2.js.map} +0 -0
  1022. /package/dist/{chunk-AQKRSEBQ.js.map → chunk-VEJ3QX6M.js.map} +0 -0
  1023. /package/dist/{chunk-XDNJC62G.js.map → chunk-VFJB7OG6.js.map} +0 -0
  1024. /package/dist/{chunk-DL2UJNJ7.js.map → chunk-VRIPVLE7.js.map} +0 -0
  1025. /package/dist/{chunk-5XTGG4PV.js.map → chunk-WFY7KSHB.js.map} +0 -0
  1026. /package/dist/{chunk-D3KLDIPQ.js.map → chunk-WLESMH4J.js.map} +0 -0
  1027. /package/dist/{chunk-PLBITHV6.js.map → chunk-XHQYFNNK.js.map} +0 -0
  1028. /package/dist/{chunk-OLBLXJNI.js.map → chunk-YILZR3XI.js.map} +0 -0
  1029. /package/dist/{chunk-JDR3HUEL.js.map → chunk-YJFLXOH4.js.map} +0 -0
  1030. /package/dist/{chunk-BL6RTOK3.js.map → chunk-YWHZYR6S.js.map} +0 -0
  1031. /package/dist/{connect-HPQ32KGV.js.map → connect-3YY7MF3I.js.map} +0 -0
  1032. /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-7RSZ5ZQU.js.map} +0 -0
  1033. /package/dist/{creatives-RNOL4F4E.js.map → creatives-2DR3QHJW.js.map} +0 -0
  1034. /package/dist/{creatives-JPKA2RHU.js.map → creatives-BB6S2OF6.js.map} +0 -0
  1035. /package/dist/{currency-R4ORE2U3.js.map → currency-X7Y6TSLF.js.map} +0 -0
  1036. /package/dist/{custom-conversions-5HJBB5XL.js.map → custom-conversions-HAGG72LF.js.map} +0 -0
  1037. /package/dist/{customers-OFZTEXST.js.map → customers-663K2OCP.js.map} +0 -0
  1038. /package/dist/{discover-GSJRZUOC.js.map → discover-6DORQWXY.js.map} +0 -0
  1039. /package/dist/{draft-WYDMLNYA.js.map → draft-R6EKORNS.js.map} +0 -0
  1040. /package/dist/{fit-53DGYRFD.js.map → fit-BEFCY2B4.js.map} +0 -0
  1041. /package/dist/{fonts-LFMBUT4R.js.map → fonts-C6XN5667.js.map} +0 -0
  1042. /package/dist/{forecast-4AG5F7YC.js.map → forecast-BTPIXEQ5.js.map} +0 -0
  1043. /package/dist/{google-NAA4BASO.js.map → google-M6BJ22UL.js.map} +0 -0
  1044. /package/dist/{ideas-NK3KQHAK.js.map → ideas-M66FU45H.js.map} +0 -0
  1045. /package/dist/{images-2XS3JT7E.js.map → images-MM5OPUKV.js.map} +0 -0
  1046. /package/dist/{ingest-DHXWZZX4.js.map → ingest-KMLYCFF4.js.map} +0 -0
  1047. /package/dist/{intent-NSHW7EJT.js.map → intent-YCQCUCV3.js.map} +0 -0
  1048. /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-PUSF7EKY.js.map} +0 -0
  1049. /package/dist/{landing-QONUUP3C.js.map → landing-OZU5RRFV.js.map} +0 -0
  1050. /package/dist/{languages-MEFQQBJ2.js.map → languages-SLFV73GE.js.map} +0 -0
  1051. /package/dist/{line-items-OH426JGT.js.map → line-items-NJMEPEF5.js.map} +0 -0
  1052. /package/dist/{locations-RLWAS6AC.js.map → locations-T2OMP6QN.js.map} +0 -0
  1053. /package/dist/{lookup-ZJIP2M4X.js.map → lookup-S5VG7AWH.js.map} +0 -0
  1054. /package/dist/{media-ZWN7E777.js.map → media-P4T4ZBNS.js.map} +0 -0
  1055. /package/dist/{media-sources-7L622UTF.js.map → media-sources-EQI3U4TC.js.map} +0 -0
  1056. /package/dist/{meta-EHKXH257.js.map → meta-IPLWNYC7.js.map} +0 -0
  1057. /package/dist/{metrics-K6FDCMK7.js.map → metrics-4YVJHYRI.js.map} +0 -0
  1058. /package/dist/{performance-K4VB6L6Z.js.map → performance-NIF3CESZ.js.map} +0 -0
  1059. /package/dist/{promoted-tweets-KPG4IUVD.js.map → promoted-tweets-RJT53DRM.js.map} +0 -0
  1060. /package/dist/{query-QM7MBQD7.js.map → query-XZMDGRO5.js.map} +0 -0
  1061. /package/dist/{reddit-Z7DOVIGR.js.map → reddit-JIHMAKAQ.js.map} +0 -0
  1062. /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-FS7GBVXK.js.map} +0 -0
  1063. /package/dist/{research-HW4EVOZU.js.map → research-PNBACCCP.js.map} +0 -0
  1064. /package/dist/{rules-KTJ2ZZ62.js.map → rules-ZVS2MWED.js.map} +0 -0
  1065. /package/dist/{run-YRR3KOUU.js.map → run-QCNRR3CA.js.map} +0 -0
  1066. /package/dist/{scheduled-agents-DG7FTCUZ.js.map → scheduled-agents-OXYAVSIE.js.map} +0 -0
  1067. /package/dist/{sources-562ITR77.js.map → sources-FLUGHSVP.js.map} +0 -0
  1068. /package/dist/{studies-ZOEUY6YP.js.map → studies-EPO2AM4M.js.map} +0 -0
  1069. /package/dist/{sync-definition-NJPT6ABG.js.map → sync-definition-OGQ5XTQE.js.map} +0 -0
  1070. /package/dist/{tags-5KBOJJ5R.js.map → tags-CZTRQNXV.js.map} +0 -0
  1071. /package/dist/{targeting-criteria-FJWNK53T.js.map → targeting-criteria-AQYXVSGN.js.map} +0 -0
  1072. /package/dist/{testimonials-WAPFIGFJ.js.map → testimonials-G3OCNPBY.js.map} +0 -0
  1073. /package/dist/{themes-B4LCQUXB.js.map → themes-FEVYZZCW.js.map} +0 -0
  1074. /package/dist/{videos-ZJCTODEB.js.map → videos-36AXDUGZ.js.map} +0 -0
  1075. /package/dist/{viewer-check-GWZNGWCO.js.map → viewer-check-6HL4OUQY.js.map} +0 -0
  1076. /package/dist/{winning-ads-W7GTXTX7.js.map → winning-ads-GMM5W2O4.js.map} +0 -0
  1077. /package/dist/{x-V4NNNWRU.js.map → x-HGFAL3NY.js.map} +0 -0
@@ -0,0 +1,543 @@
1
+ import {
2
+ readCreativeSpecs,
3
+ rulesHints,
4
+ rulesView,
5
+ waiverCounts
6
+ } from "./chunk-QVQKCVP7.js";
7
+ import {
8
+ withDefinitions
9
+ } from "./chunk-USCADMM3.js";
10
+ import {
11
+ liveViewerLookups
12
+ } from "./chunk-4XHCEYHI.js";
13
+ import "./chunk-HGBJQGO5.js";
14
+ import "./chunk-T3P6O2VU.js";
15
+ import "./chunk-WHBFXR6F.js";
16
+ import {
17
+ buildSearchBody
18
+ } from "./chunk-TT7RFKUE.js";
19
+ import "./chunk-NNLVFRF6.js";
20
+ import "./chunk-XB63MQ6E.js";
21
+ import {
22
+ buildNext,
23
+ ideasReport
24
+ } from "./chunk-2GYCWRF3.js";
25
+ import "./chunk-DQVI7GCX.js";
26
+ import "./chunk-EKX37C3T.js";
27
+ import {
28
+ readInsights
29
+ } from "./chunk-SWN6OHXG.js";
30
+ import {
31
+ readAllRules,
32
+ readCompanyReading
33
+ } from "./chunk-QIOFOD4K.js";
34
+ import {
35
+ AWARENESS_STAGES,
36
+ IDEA_ANGLES,
37
+ IDEA_FORMATS
38
+ } from "./chunk-A3IQAONL.js";
39
+ import {
40
+ researchCustomers
41
+ } from "./chunk-4UZUUSVL.js";
42
+ import "./chunk-YWHZYR6S.js";
43
+ import "./chunk-AQRXXC6E.js";
44
+ import "./chunk-GSKZ3ZDO.js";
45
+ import "./chunk-3YJNSUNF.js";
46
+ import "./chunk-G6XKD7QE.js";
47
+ import "./chunk-ERSX3MKH.js";
48
+ import "./chunk-QPESDKZC.js";
49
+ import "./chunk-E44NXCTL.js";
50
+ import {
51
+ findWorkspaceRoot
52
+ } from "./chunk-EJGAJHLB.js";
53
+ import "./chunk-LRV6M2WB.js";
54
+ import {
55
+ selectRules
56
+ } from "./chunk-7HZSORAB.js";
57
+ import "./chunk-MCJ5I5LR.js";
58
+ import {
59
+ viewerFromKnowledge
60
+ } from "./chunk-2WZI36D3.js";
61
+ import "./chunk-65Y3RCWP.js";
62
+ import "./chunk-LNNTHEL7.js";
63
+ import "./chunk-FOMFU2RX.js";
64
+ import "./chunk-PSGIHSNC.js";
65
+ import "./chunk-PONLPYD7.js";
66
+ import "./chunk-UDIEKCIR.js";
67
+ import "./chunk-PC3FJEZH.js";
68
+ import "./chunk-CAZGM2NX.js";
69
+ import "./chunk-NZS3KEQ2.js";
70
+ import "./chunk-GIWHHCD6.js";
71
+ import "./chunk-SOPVIIUW.js";
72
+ import "./chunk-G4FG5EQO.js";
73
+ import "./chunk-NSBNIPIW.js";
74
+ import "./chunk-46YLDIQG.js";
75
+ import {
76
+ ApiError,
77
+ apiGet,
78
+ apiPost
79
+ } from "./chunk-X7VQFLHI.js";
80
+ import "./chunk-LU4HI4KI.js";
81
+ import {
82
+ getEnv
83
+ } from "./chunk-LGK7UWBN.js";
84
+ import {
85
+ registerSchema,
86
+ writeJson
87
+ } from "./chunk-Q7US4OOA.js";
88
+ import "./chunk-YQSBHWOI.js";
89
+
90
+ // src/commands/creatives/brief.ts
91
+ import { readFileSync } from "fs";
92
+ import { readdir, readFile } from "fs/promises";
93
+ import path from "path";
94
+ import { defineCommand } from "citty";
95
+
96
+ // src/commands/creatives/brief-model.ts
97
+ var MIN_IMPRESSIONS = 1e3;
98
+ var LOW_CTR = 1.5;
99
+ var LOW_CVR = 1;
100
+ var round = (n) => Math.round(n * 100) / 100;
101
+ function diagnoseBottleneck(totals) {
102
+ const ctr = totals.impressions > 0 ? round(totals.linkClicks / totals.impressions * 100) : null;
103
+ const cvr = totals.linkClicks > 0 ? round(totals.results / totals.linkClicks * 100) : null;
104
+ if (totals.impressions < MIN_IMPRESSIONS || ctr === null) {
105
+ return { verdict: "too_little_data", ctr, cvr, why: "Too little delivery in the last 30 days to call it." };
106
+ }
107
+ if (ctr < LOW_CTR) {
108
+ return {
109
+ verdict: "hook",
110
+ ctr,
111
+ cvr,
112
+ why: `Link click-through ${ctr}% (under ${LOW_CTR}%): people scroll past. New ideas and hooks are the fix.`
113
+ };
114
+ }
115
+ if (cvr !== null && cvr < LOW_CVR) {
116
+ return {
117
+ verdict: "after_click",
118
+ ctr,
119
+ cvr,
120
+ why: `People click (${ctr}%) but only ${cvr}% act: the page or the offer loses them, and a new ad will not fix that. Say so, make the ads' promise match the page, and make one idea an offer idea.`
121
+ };
122
+ }
123
+ return {
124
+ verdict: "none",
125
+ ctr,
126
+ cvr,
127
+ why: `Click-through ${ctr}% and ${cvr ?? 0}% of clicks act: the ads work. Build on the winners first.`
128
+ };
129
+ }
130
+ var CONVERSION_ACTION = /^(lead|purchase|complete_registration|submit_application|schedule|contact|start_trial|subscribe|offsite_conversion\.|onsite_conversion\.lead|onsite_web_lead|omni_purchase|omni_complete_registration)/;
131
+ function resultsOf(actions) {
132
+ if (!Array.isArray(actions)) return 0;
133
+ let total = 0;
134
+ for (const action of actions) {
135
+ const type = action?.action_type;
136
+ const value = Number(action?.value ?? 0);
137
+ if (typeof type === "string" && CONVERSION_ACTION.test(type) && Number.isFinite(value)) total += value;
138
+ }
139
+ return total;
140
+ }
141
+ var MIN_OBSERVED = 5;
142
+ var MAX_QUOTES = 6;
143
+ function customerTruth(insights) {
144
+ const byType = {};
145
+ for (const insight of insights) byType[insight.type] = (byType[insight.type] ?? 0) + 1;
146
+ const observed = insights.filter((i) => i.status === "observed");
147
+ const seen = /* @__PURE__ */ new Set();
148
+ const quotes = [];
149
+ for (const insight of observed) {
150
+ if (seen.has(insight.type) || quotes.length >= MAX_QUOTES) continue;
151
+ seen.add(insight.type);
152
+ quotes.push({
153
+ id: insight.id,
154
+ type: insight.type,
155
+ quote: insight.quote.length > 140 ? `${insight.quote.slice(0, 137)}...` : insight.quote
156
+ });
157
+ }
158
+ return { total: insights.length, observed: observed.length, thin: observed.length < MIN_OBSERVED, byType, quotes };
159
+ }
160
+ var MAX_SAYING = 6;
161
+ var KEPT_STAGES = /* @__PURE__ */ new Set(["proven", "evergreen"]);
162
+ function keptAfterTesting(ad) {
163
+ return ad.survived_test === true || KEPT_STAGES.has(ad.stage ?? "");
164
+ }
165
+ var SAME_ANGLE = 0.4;
166
+ function angleWords(angle) {
167
+ return new Set(
168
+ angle.toLowerCase().split(/[^\p{L}]+/u).filter((w) => w.length >= 4 && w !== "your" && w !== "with").map((w) => w.replace(/s$/, ""))
169
+ );
170
+ }
171
+ function overlap(a, b) {
172
+ const shared = [...a].filter((w) => b.has(w)).length;
173
+ const all = (/* @__PURE__ */ new Set([...a, ...b])).size;
174
+ return all === 0 ? 0 : shared / all;
175
+ }
176
+ function tally(values) {
177
+ const counts = {};
178
+ for (const value of values) if (value) counts[value] = (counts[value] ?? 0) + 1;
179
+ return counts;
180
+ }
181
+ function marketMap(ads, source) {
182
+ const groups = [];
183
+ for (const ad of ads) {
184
+ const angle = ad.dna.angle?.trim();
185
+ if (!angle) continue;
186
+ const words = angleWords(angle);
187
+ const brand = ad.advertiser ?? "?";
188
+ let group = groups.find((g) => overlap(g.words, words) >= SAME_ANGLE);
189
+ if (!group) {
190
+ group = { angle, words, brands: /* @__PURE__ */ new Set(), kept: /* @__PURE__ */ new Set() };
191
+ groups.push(group);
192
+ }
193
+ group.brands.add(brand);
194
+ if (keptAfterTesting(ad)) group.kept.add(brand);
195
+ }
196
+ const saying = groups.map((g) => ({ angle: g.angle, brands: g.brands.size, ...g.kept.size > 0 ? { kept_brands: g.kept.size } : {} })).sort((a, b) => (b.kept_brands ?? 0) - (a.kept_brands ?? 0) || b.brands - a.brands).slice(0, MAX_SAYING);
197
+ const keptAds = ads.filter(keptAfterTesting).length;
198
+ const stages = tally(ads.map((a) => a.dna.sophistication_stage));
199
+ const sophistication = Object.entries(stages).sort((a, b) => b[1] - a[1])[0]?.[0] ?? null;
200
+ const awareness = tally(ads.map((a) => a.dna.awareness_stage));
201
+ return {
202
+ source,
203
+ ads: ads.length,
204
+ brands: new Set(ads.map((a) => a.advertiser ?? "?")).size,
205
+ sophistication,
206
+ saying,
207
+ awareness,
208
+ containers: tally(ads.map((a) => a.dna.container)),
209
+ unspoken: AWARENESS_STAGES.filter((stage) => !awareness[stage]),
210
+ ...keptAds > 0 ? { kept_ads: keptAds } : {}
211
+ };
212
+ }
213
+
214
+ // src/commands/creatives/brief.ts
215
+ var DESCRIPTION = `Start here before making ads: one read of everything that decides what to make. Who sees the ads, what already works in the account and where it loses people (a verdict, not raw numbers), what this company's reviewers approved and rejected and what they said in their own words, the company's standing rules for every ad, what customers said in their own words, and the ideas already on file.
216
+
217
+ baker creatives brief # the viewer from the Knowledge
218
+ baker creatives brief --adset <id> # the viewer that ad set reaches
219
+ baker creatives brief --account-id act_<id> # when more than one Meta account is connected
220
+
221
+ Then write 4-8 ideas in src/creatives/_ideas/ and run \`baker creatives ideas\`. With few customer quotes on file it gathers them itself first (\`baker research customers\`, about 30 s; --no-research to skip).`;
222
+ var ARGS = {
223
+ adset: {
224
+ type: "string",
225
+ description: "The Meta ad set the ads are for: its viewer replaces the Knowledge's",
226
+ required: false
227
+ },
228
+ "account-id": {
229
+ type: "string",
230
+ description: "Meta ad account to read (act_<id>); default: the one connected account",
231
+ required: false
232
+ },
233
+ full: {
234
+ type: "boolean",
235
+ description: "Every quote, idea and creative instead of the top few",
236
+ required: false,
237
+ default: false
238
+ },
239
+ research: {
240
+ type: "boolean",
241
+ description: "Gather customer quotes first when few are on file (default true; --no-research skips it)",
242
+ required: false,
243
+ default: true
244
+ }
245
+ };
246
+ registerSchema({ command: "creatives.brief", description: DESCRIPTION, args: ARGS });
247
+ var unavailable = (err) => ({
248
+ unavailable: err instanceof Error ? err.message.slice(0, 200) : "could not be read"
249
+ });
250
+ async function section(read) {
251
+ try {
252
+ return await read();
253
+ } catch (err) {
254
+ return unavailable(err);
255
+ }
256
+ }
257
+ function isAvailable(value) {
258
+ return !(value !== null && typeof value === "object" && "unavailable" in value);
259
+ }
260
+ async function companyStatus(root) {
261
+ const doc = await readFile(path.join(root, "COMPANY.md"), "utf8").catch(() => "");
262
+ return doc.trim() && !/^#\s*Company\s*\n+\s*TODO/m.test(doc) ? "ready" : "missing";
263
+ }
264
+ async function readOffers(root) {
265
+ const dir = path.join(root, "src", "content", "offers");
266
+ const files = (await readdir(dir, { recursive: true }).catch(() => [])).filter(
267
+ (f) => f.endsWith(".md")
268
+ );
269
+ return files.map((f) => f.replace(/\.md$/, "")).sort();
270
+ }
271
+ function readDefinition(root, slug) {
272
+ try {
273
+ return readFileSync(path.join(root, "src", "creatives", slug, "_definition.md"), "utf8");
274
+ } catch {
275
+ return null;
276
+ }
277
+ }
278
+ async function readViewer(root, adSet) {
279
+ const lookups = liveViewerLookups(root);
280
+ if (adSet) {
281
+ const read = await lookups.adSetViewer(adSet).catch(() => null);
282
+ if (read) return read;
283
+ }
284
+ const personas = await lookups.personas().catch(() => []);
285
+ return viewerFromKnowledge({ personas: personas.map((p) => p.segment ?? p.title ?? p.slug) });
286
+ }
287
+ var MARKET_ADS = 40;
288
+ var MARKET_FALLBACK_ADS = 15;
289
+ var MARKET_SEARCH_MS = 12e3;
290
+ async function readMarket(root) {
291
+ const company = await readCompanyReading(root);
292
+ const query = company?.category ?? company?.sells;
293
+ if (!query) return null;
294
+ const search = (body) => apiPost("/api/ad-library/winners/search", body, {
295
+ timeoutMs: MARKET_SEARCH_MS
296
+ }).catch((err) => {
297
+ if (err instanceof ApiError && err.code === "TIMEOUT") {
298
+ throw new Error("the ad library did not answer in time, so competitors' claims are left out");
299
+ }
300
+ throw err;
301
+ });
302
+ const [followed, all] = await Promise.allSettled([
303
+ search(buildSearchBody({ scope: "followed", platform: "meta", limit: MARKET_ADS, maxPerAdvertiser: 8 })),
304
+ search(buildSearchBody({ query, scope: "all", platform: "meta", limit: MARKET_FALLBACK_ADS, maxPerAdvertiser: 3 }))
305
+ ]);
306
+ if (followed.status === "fulfilled" && followed.value.results.length > 0)
307
+ return marketMap(followed.value.results, "followed");
308
+ if (all.status === "rejected") throw all.reason;
309
+ return all.value.results.length > 0 ? marketMap(all.value.results, "library") : null;
310
+ }
311
+ async function metaAccountId(given) {
312
+ if (given) return given.startsWith("act_") ? given : `act_${given}`;
313
+ const named = getEnv().BAKER_META_AD_ACCOUNT_ID;
314
+ if (named) return `act_${named.replace(/^act_/, "")}`;
315
+ const accounts = await apiGet("/api/ads/meta/accounts");
316
+ const ids = accounts.flatMap((a) => {
317
+ const id2 = a.externalId ?? a.id;
318
+ return typeof id2 === "string" && id2 ? [id2] : [];
319
+ });
320
+ if (ids.length !== 1) return null;
321
+ const id = ids[0];
322
+ return id.startsWith("act_") ? id : `act_${id}`;
323
+ }
324
+ async function readBottleneck(accountId) {
325
+ const rows = await apiPost("/api/ads/meta/insights", {
326
+ object: accountId,
327
+ level: "account",
328
+ fields: ["impressions", "inline_link_clicks", "actions", "spend"],
329
+ actionBreakdowns: ["action_type"],
330
+ datePreset: "last_30d",
331
+ limit: 10
332
+ });
333
+ const totals = { impressions: 0, linkClicks: 0, results: 0 };
334
+ for (const row of rows) {
335
+ totals.impressions += Number(row.impressions ?? 0);
336
+ totals.linkClicks += Number(row.inline_link_clicks ?? 0);
337
+ totals.results += resultsOf(row.actions);
338
+ }
339
+ return diagnoseBottleneck(totals);
340
+ }
341
+ function leanCreative(c) {
342
+ return {
343
+ creative: c.slug ?? c.title,
344
+ costPerResult: c.costPerResult,
345
+ ...c.currency ? { currency: c.currency } : {},
346
+ ctr: c.ctr,
347
+ fatigue: c.fatigue,
348
+ ...c.definition?.idea ? { idea: c.definition.idea } : {},
349
+ ...c.definition?.angle ? { angle: c.definition.angle } : {}
350
+ };
351
+ }
352
+ function whatWorks(creatives, limit = 3) {
353
+ const priced = creatives.filter((c) => c.costPerResult !== null && c.costPerResult > 0);
354
+ const best = [...priced].sort((a, b) => (a.costPerResult ?? 0) - (b.costPerResult ?? 0)).slice(0, limit);
355
+ const tired = creatives.filter((c) => c.fatigue === "fatigued" || c.fatigue === "dead");
356
+ return { best: best.map(leanCreative), replace: tired.map(leanCreative) };
357
+ }
358
+ var HEARD_IT_ALL = /^s[345]/;
359
+ function customersHint(parts) {
360
+ if (parts.researched) {
361
+ return parts.researched.written > 0 ? `${parts.researched.written} customer quotes were just gathered from reviews and Reddit and are in \`customers\`: cite them by id in each idea's \`evidence\`.` : "Customer research found nothing to keep: ideas go in as explore bets (an empty `evidence` list). Never research customers again in this turn.";
362
+ }
363
+ if (!parts.customers.thin) return null;
364
+ return `Only ${parts.customers.observed} customer quotes on file: run \`baker research customers\` now, before writing ideas, so they stand on what customers said. It gathers reviews, Reddit and the web and writes the quotes with their sources in about a minute; never a subagent or web searches of your own for this.`;
365
+ }
366
+ function briefHints(parts) {
367
+ const hints = [];
368
+ if (parts.company === "missing") {
369
+ hints.push("COMPANY.md is empty: run /company-discovery first, or every idea is a guess about the business.");
370
+ }
371
+ const customers = customersHint(parts);
372
+ if (customers) hints.push(customers);
373
+ if (parts.rules) {
374
+ hints.push(
375
+ `Write every idea and every ad within the ${parts.rules} rules in \`rules\`: an ad saying words one bans (\`bans\`) is refused before it renders, and every finished ad is checked against the ones a person taught. When the person asks for something a rule forbids, do it and record why in the ad's prompt.json (\`"waive": [{"rule": "<id>", "why": "<their ask>"}]\`).`
376
+ );
377
+ }
378
+ if (parts.bottleneck && isAvailable(parts.bottleneck) && parts.bottleneck.verdict === "after_click") {
379
+ hints.push("The account loses people after the click: tell the person, and make one idea an offer idea.");
380
+ }
381
+ if (parts.market?.sophistication && HEARD_IT_ALL.test(parts.market.sophistication)) {
382
+ hints.push(
383
+ `This market has heard the plain claim (sophistication ${parts.market.sophistication}): lead with how it works (a mechanism), proof, or an angle nobody uses, never a bigger claim.`
384
+ );
385
+ }
386
+ const claims = parts.market?.saying.map(
387
+ (s) => s.kept_brands ? `"${s.angle}" (kept after testing by ${s.kept_brands})` : `"${s.angle}"`
388
+ ) ?? [];
389
+ if (claims.length > 0) {
390
+ hints.push(
391
+ `Competitors already say ${claims.join(", ")}. A message one of them could also run is not a new idea, however it is worded: say what only we have (the offer, a proof, a customer's words) or how it works.`
392
+ );
393
+ }
394
+ for (const won of parts.learned.winners) {
395
+ hints.push(
396
+ `${won.idea} won in the account ("${won.message}"): build on it first, the same message in a new format or for a new persona.`
397
+ );
398
+ }
399
+ if (parts.learned.failed.length > 0) {
400
+ const lost = parts.learned.failed.map((f) => `"${f.message}"`).join(", ");
401
+ hints.push(`Never repeat a message that lost in the account: ${lost}.`);
402
+ }
403
+ if (parts.rejected > parts.approved && parts.rejected > 0) {
404
+ hints.push(
405
+ "Reviewers rejected more than they approved: read `taste.notes` (their own words) and keep every idea clear of each."
406
+ );
407
+ }
408
+ if (parts.buildNext.length > 0) {
409
+ hints.push(`Ideas ready to build: ${parts.buildNext.join(", ")} (\`baker creatives make <idea>\`).`);
410
+ } else {
411
+ hints.push(
412
+ `Write 4-8 ideas in src/creatives/_ideas/<idea>.md (who, message, evidence, awareness, angle, format, job, why), then \`baker creatives ideas\`. awareness: ${AWARENESS_STAGES.join(" | ")}. angle: ${IDEA_ANGLES.join(", ")}. format: ${IDEA_FORMATS.join(", ")}.`
413
+ );
414
+ }
415
+ return hints;
416
+ }
417
+ async function readBrief(root, args) {
418
+ const account = metaAccountId(args.accountId).catch(() => null);
419
+ const [company, offers, viewer, insights, ideas, performance, feedback, accountId, bottleneck, market, rules, specs] = await Promise.all([
420
+ companyStatus(root),
421
+ readOffers(root),
422
+ readViewer(root, args.adset),
423
+ readInsights(root),
424
+ ideasReport(root),
425
+ section(
426
+ async () => withDefinitions(
427
+ await apiPost("/api/creatives/performance", {}),
428
+ (slug) => readDefinition(root, slug)
429
+ )
430
+ ),
431
+ section(() => apiPost("/api/creatives/feedback", {})),
432
+ account,
433
+ account.then((id) => id ? section(() => readBottleneck(id)) : null),
434
+ section(() => readMarket(root)),
435
+ readAllRules(root).then((all) => selectRules(all, {})),
436
+ readCreativeSpecs(root)
437
+ ]);
438
+ return {
439
+ company,
440
+ offers,
441
+ viewer,
442
+ insights,
443
+ ideas,
444
+ performance,
445
+ feedback,
446
+ accountId,
447
+ bottleneck,
448
+ market,
449
+ rules,
450
+ specs
451
+ };
452
+ }
453
+ function accountPart(brief, full) {
454
+ if (!brief.accountId) {
455
+ return { unavailable: "no single Meta ad account connected: pass --account-id act_<id>, or work from customers" };
456
+ }
457
+ const works = isAvailable(brief.performance) ? whatWorks(brief.performance.data.creatives, full ? 10 : 3) : { creatives: brief.performance };
458
+ return { id: brief.accountId, bottleneck: brief.bottleneck, ...works };
459
+ }
460
+ function marketPart(market, full) {
461
+ if (!isAvailable(market)) return market;
462
+ if (!market) return { unavailable: "no library ads match what COMPANY.md says the company sells" };
463
+ if (full) return market;
464
+ const { containers: _containers, ...lean } = market;
465
+ return lean;
466
+ }
467
+ function tastePart(feedback) {
468
+ const { summary, notes } = feedback.data;
469
+ return {
470
+ approved: summary.approved,
471
+ rejected: summary.rejected,
472
+ topRejectionReasons: summary.topRejectionReasons.slice(0, 3).map((r) => r.label),
473
+ ...notes && notes.length > 0 ? { notes: notes.map((n) => ({ creative: n.creative, note: n.note })) } : {}
474
+ };
475
+ }
476
+ function briefEnvelope(brief, full, researched) {
477
+ const customers = customerTruth(brief.insights);
478
+ const summary = isAvailable(brief.feedback) ? brief.feedback.data.summary : null;
479
+ const next = buildNext(brief.ideas.ideas);
480
+ const toBuild = brief.ideas.ideas.filter((i) => i.status === "idea").length;
481
+ const withStatus = (status) => brief.ideas.ideas.filter((i) => i.status === status).map((i) => ({ idea: i.id, message: i.message }));
482
+ const learned = { winners: withStatus("winner"), failed: withStatus("failed") };
483
+ return {
484
+ ok: true,
485
+ data: {
486
+ company: brief.company,
487
+ viewer: { temperature: brief.viewer.temperature, knows: brief.viewer.knows, source: brief.viewer.source },
488
+ offers: brief.offers,
489
+ account: accountPart(brief, full),
490
+ taste: isAvailable(brief.feedback) ? tastePart(brief.feedback) : brief.feedback,
491
+ customers: full ? { ...customers, quotes: brief.insights.map((i) => ({ id: i.id, type: i.type, quote: i.quote })) } : customers,
492
+ market: marketPart(brief.market, full),
493
+ rules: rulesView(brief.rules, { full }),
494
+ ideas: {
495
+ to_build: toBuild,
496
+ built: brief.ideas.ideas.length - toBuild,
497
+ build_next: next,
498
+ ...learned.winners.length > 0 ? { winners: learned.winners } : {},
499
+ ...learned.failed.length > 0 ? { failed: learned.failed } : {}
500
+ }
501
+ },
502
+ hints: briefHints({
503
+ company: brief.company,
504
+ customers,
505
+ bottleneck: brief.bottleneck,
506
+ ideasToBuild: toBuild,
507
+ buildNext: next,
508
+ approved: summary?.approved ?? 0,
509
+ rejected: summary?.rejected ?? 0,
510
+ market: isAvailable(brief.market) ? brief.market : null,
511
+ learned,
512
+ ...researched ? { researched } : {},
513
+ rules: brief.rules.length
514
+ }).concat(rulesHints(brief.rules, waiverCounts(brief.specs)))
515
+ };
516
+ }
517
+ var briefCommand = defineCommand({
518
+ meta: { name: "brief", description: DESCRIPTION },
519
+ args: ARGS,
520
+ async run({ args }) {
521
+ const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
522
+ const full = args.full === true;
523
+ const thin = args.research !== false && customerTruth(await readInsights(root)).thin;
524
+ const research = thin ? researchCustomers(root, {}).catch(() => null) : null;
525
+ const brief = await readBrief(root, {
526
+ ...typeof args.adset === "string" && args.adset ? { adset: args.adset } : {},
527
+ ...typeof args["account-id"] === "string" && args["account-id"] ? { accountId: args["account-id"] } : {},
528
+ full
529
+ });
530
+ const found = research ? await research : null;
531
+ const written = found?.shown.length ?? 0;
532
+ const insights = written > 0 ? await readInsights(root) : brief.insights;
533
+ writeJson(briefEnvelope({ ...brief, insights }, full, research ? { written } : void 0));
534
+ }
535
+ });
536
+ export {
537
+ briefCommand,
538
+ briefEnvelope,
539
+ briefHints,
540
+ tastePart,
541
+ whatWorks
542
+ };
543
+ //# sourceMappingURL=brief-OPQ7ICOY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/creatives/brief.ts","../src/commands/creatives/brief-model.ts"],"sourcesContent":["/**\n * `baker creatives brief`: everything the agent needs before deciding what ads to make, in one\n * compact read. Who sees the ads, what the account says works and where it loses people, what the\n * company's reviewers liked, what customers said, and which ideas already exist. Each part is\n * read on its own and a failed read is reported as missing, never as a failed brief.\n */\nimport { readFileSync } from \"node:fs\";\nimport { readdir, readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type { CreativePerformance, CreativesFeedbackResponse, CreativesPerformanceResponse } from \"@baker/api\";\nimport type { ScopedWinnersSearchResponse } from \"@baker/api/ad-library\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiGet, apiPost } from \"../../client.ts\";\nimport { readCompanyReading } from \"../../engine/creative-context/company.ts\";\nimport { readAllRules } from \"../../engine/creative-context/index.ts\";\nimport { selectRules } from \"../../engine/creative-rules/select.ts\";\nimport { getEnv } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { type ViewerProfile, viewerFromKnowledge } from \"../../viewer-profile.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { liveViewerLookups } from \"../canvas/viewer-check.ts\";\nimport { researchCustomers } from \"../research/customers.ts\";\nimport { buildSearchBody } from \"../winning-ads/search.ts\";\nimport {\n type Bottleneck,\n type CustomerTruth,\n customerTruth,\n diagnoseBottleneck,\n type MarketMap,\n marketMap,\n resultsOf,\n} from \"./brief-model.ts\";\nimport { buildNext, ideasReport } from \"./ideas.ts\";\nimport { AWARENESS_STAGES, IDEA_ANGLES, IDEA_FORMATS } from \"./ideas-model.ts\";\nimport { readInsights } from \"./ideas-workspace.ts\";\nimport { withDefinitions } from \"./performance.ts\";\nimport { readCreativeSpecs, rulesHints, rulesView, waiverCounts } from \"./rules-view.ts\";\n\nconst DESCRIPTION = `Start here before making ads: one read of everything that decides what to make. Who sees the ads, what already works in the account and where it loses people (a verdict, not raw numbers), what this company's reviewers approved and rejected and what they said in their own words, the company's standing rules for every ad, what customers said in their own words, and the ideas already on file.\n\n baker creatives brief # the viewer from the Knowledge\n baker creatives brief --adset <id> # the viewer that ad set reaches\n baker creatives brief --account-id act_<id> # when more than one Meta account is connected\n\nThen write 4-8 ideas in src/creatives/_ideas/ and run \\`baker creatives ideas\\`. With few customer quotes on file it gathers them itself first (\\`baker research customers\\`, about 30 s; --no-research to skip).`;\n\nconst ARGS = {\n adset: {\n type: \"string\",\n description: \"The Meta ad set the ads are for: its viewer replaces the Knowledge's\",\n required: false,\n },\n \"account-id\": {\n type: \"string\",\n description: \"Meta ad account to read (act_<id>); default: the one connected account\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"Every quote, idea and creative instead of the top few\",\n required: false,\n default: false,\n },\n research: {\n type: \"boolean\",\n description: \"Gather customer quotes first when few are on file (default true; --no-research skips it)\",\n required: false,\n default: true,\n },\n} as const;\n\nregisterSchema({ command: \"creatives.brief\", description: DESCRIPTION, args: ARGS });\n\ntype Section<T> = T | { unavailable: string };\n\nconst unavailable = (err: unknown) => ({\n unavailable: err instanceof Error ? err.message.slice(0, 200) : \"could not be read\",\n});\n\nasync function section<T>(read: () => Promise<T>): Promise<Section<T>> {\n try {\n return await read();\n } catch (err) {\n return unavailable(err);\n }\n}\n\nfunction isAvailable<T>(value: Section<T>): value is T {\n return !(value !== null && typeof value === \"object\" && \"unavailable\" in value);\n}\n\nasync function companyStatus(root: string): Promise<\"ready\" | \"missing\"> {\n const doc = await readFile(path.join(root, \"COMPANY.md\"), \"utf8\").catch(() => \"\");\n return doc.trim() && !/^#\\s*Company\\s*\\n+\\s*TODO/m.test(doc) ? \"ready\" : \"missing\";\n}\n\nasync function readOffers(root: string): Promise<string[]> {\n const dir = path.join(root, \"src\", \"content\", \"offers\");\n const files = ((await readdir(dir, { recursive: true }).catch(() => [])) as string[]).filter((f) =>\n f.endsWith(\".md\"),\n );\n return files.map((f) => f.replace(/\\.md$/, \"\")).sort();\n}\n\nfunction readDefinition(root: string, slug: string): string | null {\n try {\n return readFileSync(path.join(root, \"src\", \"creatives\", slug, \"_definition.md\"), \"utf8\");\n } catch {\n return null;\n }\n}\n\nasync function readViewer(root: string, adSet: string | undefined): Promise<ViewerProfile> {\n const lookups = liveViewerLookups(root);\n if (adSet) {\n const read = await lookups.adSetViewer(adSet).catch(() => null);\n if (read) return read;\n }\n const personas = await lookups.personas().catch(() => []);\n return viewerFromKnowledge({ personas: personas.map((p) => p.segment ?? p.title ?? p.slug) });\n}\n\nconst MARKET_ADS = 40;\nconst MARKET_FALLBACK_ADS = 15;\n/**\n * The most a market search may hold the brief: a followed brands' browse answers in ~2 s, a short\n * library query in ~8 s (dev, Oct 2026). The market is context, not a step: a slow library leaves it out.\n */\nconst MARKET_SEARCH_MS = 12_000;\n\n/** What the market's ads already say: the brands the company follows, else the whole library. */\nasync function readMarket(root: string): Promise<MarketMap | null> {\n const company = await readCompanyReading(root);\n // What a library files the company under, in English; its own words when no model read it.\n const query = company?.category ?? company?.sells;\n if (!query) return null;\n const search = (body: Record<string, unknown>) =>\n apiPost<ScopedWinnersSearchResponse>(\"/api/ad-library/winners/search\", body, {\n timeoutMs: MARKET_SEARCH_MS,\n }).catch((err: unknown) => {\n if (err instanceof ApiError && err.code === \"TIMEOUT\") {\n throw new Error(\"the ad library did not answer in time, so competitors' claims are left out\");\n }\n throw err;\n });\n // The followed brands' best ads, browsed (no query, so no relevance judge), and the library's ads\n // for what the company sells, asked at once: the second answers in ~8 s, after the first's ~2 s.\n const [followed, all] = await Promise.allSettled([\n search(buildSearchBody({ scope: \"followed\", platform: \"meta\", limit: MARKET_ADS, maxPerAdvertiser: 8 })),\n search(buildSearchBody({ query, scope: \"all\", platform: \"meta\", limit: MARKET_FALLBACK_ADS, maxPerAdvertiser: 3 })),\n ]);\n if (followed.status === \"fulfilled\" && followed.value.results.length > 0)\n return marketMap(followed.value.results, \"followed\");\n if (all.status === \"rejected\") throw all.reason;\n return all.value.results.length > 0 ? marketMap(all.value.results, \"library\") : null;\n}\n\ntype MetaAccount = { externalId?: unknown; id?: unknown };\n\nasync function metaAccountId(given: string | undefined): Promise<string | null> {\n if (given) return given.startsWith(\"act_\") ? given : `act_${given}`;\n const named = getEnv().BAKER_META_AD_ACCOUNT_ID;\n if (named) return `act_${named.replace(/^act_/, \"\")}`;\n const accounts = await apiGet<MetaAccount[]>(\"/api/ads/meta/accounts\");\n const ids = accounts.flatMap((a) => {\n const id = a.externalId ?? a.id;\n return typeof id === \"string\" && id ? [id] : [];\n });\n if (ids.length !== 1) return null;\n const id = ids[0] as string;\n return id.startsWith(\"act_\") ? id : `act_${id}`;\n}\n\nasync function readBottleneck(accountId: string): Promise<Bottleneck> {\n const rows = await apiPost<Array<Record<string, unknown>>>(\"/api/ads/meta/insights\", {\n object: accountId,\n level: \"account\",\n fields: [\"impressions\", \"inline_link_clicks\", \"actions\", \"spend\"],\n actionBreakdowns: [\"action_type\"],\n datePreset: \"last_30d\",\n limit: 10,\n });\n const totals = { impressions: 0, linkClicks: 0, results: 0 };\n for (const row of rows) {\n totals.impressions += Number(row.impressions ?? 0);\n totals.linkClicks += Number(row.inline_link_clicks ?? 0);\n totals.results += resultsOf(row.actions);\n }\n return diagnoseBottleneck(totals);\n}\n\nfunction leanCreative(c: CreativePerformance) {\n return {\n creative: c.slug ?? c.title,\n costPerResult: c.costPerResult,\n ...(c.currency ? { currency: c.currency } : {}),\n ctr: c.ctr,\n fatigue: c.fatigue,\n ...(c.definition?.idea ? { idea: c.definition.idea } : {}),\n ...(c.definition?.angle ? { angle: c.definition.angle } : {}),\n };\n}\n\n/** The own-account read: the best creatives by cost per result, and the ones to replace. Pure. */\nexport function whatWorks(creatives: readonly CreativePerformance[], limit = 3) {\n const priced = creatives.filter((c) => c.costPerResult !== null && c.costPerResult > 0);\n const best = [...priced].sort((a, b) => (a.costPerResult ?? 0) - (b.costPerResult ?? 0)).slice(0, limit);\n const tired = creatives.filter((c) => c.fatigue === \"fatigued\" || c.fatigue === \"dead\");\n return { best: best.map(leanCreative), replace: tired.map(leanCreative) };\n}\n\ntype BriefParts = {\n company: \"ready\" | \"missing\";\n customers: CustomerTruth;\n bottleneck: Section<Bottleneck> | null;\n ideasToBuild: number;\n buildNext: string[];\n approved: number;\n rejected: number;\n market?: MarketMap | null;\n /** What earlier ideas did once their ads ran (`baker creatives learn`). */\n learned: { winners: LearnedIdea[]; failed: LearnedIdea[] };\n /** The customer research this brief ran itself, few quotes being on file. */\n researched?: { written: number };\n /** How many of the company's rules hold for its ads (`rules`). */\n rules?: number;\n};\n\ntype LearnedIdea = { idea: string; message: string };\n\n/** A market whose ads mostly speak at stage s3 or later has heard the plain claim already. */\nconst HEARD_IT_ALL = /^s[345]/;\n\n/** What the brief says about customer quotes: what its own research found, or that it is needed. Pure. */\nfunction customersHint(parts: Pick<BriefParts, \"customers\" | \"researched\">): string | null {\n if (parts.researched) {\n return parts.researched.written > 0\n ? `${parts.researched.written} customer quotes were just gathered from reviews and Reddit and are in \\`customers\\`: cite them by id in each idea's \\`evidence\\`.`\n : \"Customer research found nothing to keep: ideas go in as explore bets (an empty `evidence` list). Never research customers again in this turn.\";\n }\n if (!parts.customers.thin) return null;\n return `Only ${parts.customers.observed} customer quotes on file: run \\`baker research customers\\` now, before writing ideas, so they stand on what customers said. It gathers reviews, Reddit and the web and writes the quotes with their sources in about a minute; never a subagent or web searches of your own for this.`;\n}\n\n/** The one or two next steps the brief points to. Pure. */\nexport function briefHints(parts: BriefParts): string[] {\n const hints: string[] = [];\n if (parts.company === \"missing\") {\n hints.push(\"COMPANY.md is empty: run /company-discovery first, or every idea is a guess about the business.\");\n }\n const customers = customersHint(parts);\n if (customers) hints.push(customers);\n if (parts.rules) {\n hints.push(\n `Write every idea and every ad within the ${parts.rules} rules in \\`rules\\`: an ad saying words one bans (\\`bans\\`) is refused before it renders, and every finished ad is checked against the ones a person taught. When the person asks for something a rule forbids, do it and record why in the ad's prompt.json (\\`\"waive\": [{\"rule\": \"<id>\", \"why\": \"<their ask>\"}]\\`).`,\n );\n }\n if (parts.bottleneck && isAvailable(parts.bottleneck) && parts.bottleneck.verdict === \"after_click\") {\n hints.push(\"The account loses people after the click: tell the person, and make one idea an offer idea.\");\n }\n if (parts.market?.sophistication && HEARD_IT_ALL.test(parts.market.sophistication)) {\n hints.push(\n `This market has heard the plain claim (sophistication ${parts.market.sophistication}): lead with how it works (a mechanism), proof, or an angle nobody uses, never a bigger claim.`,\n );\n }\n // Every claim, not only the ones several brands share word for word: the same claim is often worded apart.\n // A claim kept after testing is one a competitor proved, not only launched: labelled, it leads.\n const claims =\n parts.market?.saying.map((s) =>\n s.kept_brands ? `\"${s.angle}\" (kept after testing by ${s.kept_brands})` : `\"${s.angle}\"`,\n ) ?? [];\n if (claims.length > 0) {\n hints.push(\n `Competitors already say ${claims.join(\", \")}. A message one of them could also run is not a new idea, however it is worded: say what only we have (the offer, a proof, a customer's words) or how it works.`,\n );\n }\n for (const won of parts.learned.winners) {\n hints.push(\n `${won.idea} won in the account (\"${won.message}\"): build on it first, the same message in a new format or for a new persona.`,\n );\n }\n if (parts.learned.failed.length > 0) {\n const lost = parts.learned.failed.map((f) => `\"${f.message}\"`).join(\", \");\n hints.push(`Never repeat a message that lost in the account: ${lost}.`);\n }\n if (parts.rejected > parts.approved && parts.rejected > 0) {\n hints.push(\n \"Reviewers rejected more than they approved: read `taste.notes` (their own words) and keep every idea clear of each.\",\n );\n }\n if (parts.buildNext.length > 0) {\n hints.push(`Ideas ready to build: ${parts.buildNext.join(\", \")} (\\`baker creatives make <idea>\\`).`);\n } else {\n hints.push(\n `Write 4-8 ideas in src/creatives/_ideas/<idea>.md (who, message, evidence, awareness, angle, format, job, why), then \\`baker creatives ideas\\`. awareness: ${AWARENESS_STAGES.join(\" | \")}. angle: ${IDEA_ANGLES.join(\", \")}. format: ${IDEA_FORMATS.join(\", \")}.`,\n );\n }\n return hints;\n}\n\ntype BriefArgs = { adset?: string; accountId?: string; full: boolean };\n\nasync function readBrief(root: string, args: BriefArgs) {\n // Every read starts at once: the account's diagnosis waits only for the account, never for the rest.\n const account = metaAccountId(args.accountId).catch(() => null);\n const [company, offers, viewer, insights, ideas, performance, feedback, accountId, bottleneck, market, rules, specs] =\n await Promise.all([\n companyStatus(root),\n readOffers(root),\n readViewer(root, args.adset),\n readInsights(root),\n ideasReport(root),\n section(async () =>\n withDefinitions(await apiPost<CreativesPerformanceResponse>(\"/api/creatives/performance\", {}), (slug) =>\n readDefinition(root, slug),\n ),\n ),\n section(() => apiPost<CreativesFeedbackResponse>(\"/api/creatives/feedback\", {})),\n account,\n account.then((id) => (id ? section(() => readBottleneck(id)) : null)),\n section(() => readMarket(root)),\n readAllRules(root).then((all) => selectRules(all, {})),\n readCreativeSpecs(root),\n ]);\n return {\n company,\n offers,\n viewer,\n insights,\n ideas,\n performance,\n feedback,\n accountId,\n bottleneck,\n market,\n rules,\n specs,\n };\n}\n\ntype Brief = Awaited<ReturnType<typeof readBrief>>;\n\nfunction accountPart(brief: Brief, full: boolean) {\n if (!brief.accountId) {\n return { unavailable: \"no single Meta ad account connected: pass --account-id act_<id>, or work from customers\" };\n }\n const works = isAvailable(brief.performance)\n ? whatWorks(brief.performance.data.creatives, full ? 10 : 3)\n : { creatives: brief.performance };\n return { id: brief.accountId, bottleneck: brief.bottleneck, ...works };\n}\n\nfunction marketPart(market: Section<MarketMap | null>, full: boolean) {\n if (!isAvailable(market)) return market;\n if (!market) return { unavailable: \"no library ads match what COMPANY.md says the company sells\" };\n if (full) return market;\n const { containers: _containers, ...lean } = market;\n return lean;\n}\n\n/** What the company's reviewers said: the counts, and each distinct thing they said in their own words. Pure. */\nexport function tastePart(feedback: CreativesFeedbackResponse) {\n const { summary, notes } = feedback.data;\n return {\n approved: summary.approved,\n rejected: summary.rejected,\n topRejectionReasons: summary.topRejectionReasons.slice(0, 3).map((r) => r.label),\n ...(notes && notes.length > 0 ? { notes: notes.map((n) => ({ creative: n.creative, note: n.note })) } : {}),\n };\n}\n\n/** The brief as the agent reads it, and the hints that point at the next step. */\nexport function briefEnvelope(brief: Brief, full: boolean, researched?: { written: number }) {\n const customers = customerTruth(brief.insights);\n const summary = isAvailable(brief.feedback) ? brief.feedback.data.summary : null;\n const next = buildNext(brief.ideas.ideas);\n const toBuild = brief.ideas.ideas.filter((i) => i.status === \"idea\").length;\n const withStatus = (status: string) =>\n brief.ideas.ideas.filter((i) => i.status === status).map((i) => ({ idea: i.id, message: i.message }));\n const learned = { winners: withStatus(\"winner\"), failed: withStatus(\"failed\") };\n return {\n ok: true as const,\n data: {\n company: brief.company,\n viewer: { temperature: brief.viewer.temperature, knows: brief.viewer.knows, source: brief.viewer.source },\n offers: brief.offers,\n account: accountPart(brief, full),\n taste: isAvailable(brief.feedback) ? tastePart(brief.feedback) : brief.feedback,\n customers: full\n ? { ...customers, quotes: brief.insights.map((i) => ({ id: i.id, type: i.type, quote: i.quote })) }\n : customers,\n market: marketPart(brief.market, full),\n rules: rulesView(brief.rules, { full }),\n ideas: {\n to_build: toBuild,\n built: brief.ideas.ideas.length - toBuild,\n build_next: next,\n ...(learned.winners.length > 0 ? { winners: learned.winners } : {}),\n ...(learned.failed.length > 0 ? { failed: learned.failed } : {}),\n },\n },\n hints: briefHints({\n company: brief.company,\n customers,\n bottleneck: brief.bottleneck,\n ideasToBuild: toBuild,\n buildNext: next,\n approved: summary?.approved ?? 0,\n rejected: summary?.rejected ?? 0,\n market: isAvailable(brief.market) ? brief.market : null,\n learned,\n ...(researched ? { researched } : {}),\n rules: brief.rules.length,\n }).concat(rulesHints(brief.rules, waiverCounts(brief.specs))),\n };\n}\n\nexport const briefCommand = defineCommand({\n meta: { name: \"brief\", description: DESCRIPTION },\n args: ARGS,\n async run({ args }) {\n const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();\n const full = args.full === true;\n // Few quotes on file: the research runs alongside the reads, never left to the agent (dev, Oct\n // 2026: told to run it first, the chat agent skipped it and every idea went in as an explore bet).\n const thin = args.research !== false && customerTruth(await readInsights(root)).thin;\n const research = thin ? researchCustomers(root, {}).catch(() => null) : null;\n const brief = await readBrief(root, {\n ...(typeof args.adset === \"string\" && args.adset ? { adset: args.adset } : {}),\n ...(typeof args[\"account-id\"] === \"string\" && args[\"account-id\"] ? { accountId: args[\"account-id\"] } : {}),\n full,\n });\n const found = research ? await research : null;\n const written = found?.shown.length ?? 0;\n const insights = written > 0 ? await readInsights(root) : brief.insights;\n writeJson(briefEnvelope({ ...brief, insights }, full, research ? { written } : undefined));\n },\n});\n","/**\n * The judgments `baker creatives brief` makes from the numbers, so the agent reads a verdict\n * instead of applying thresholds from prose. Pure.\n */\nimport { AWARENESS_STAGES, type Insight } from \"./ideas-model.ts\";\n\n/** Below this many impressions the account has not said anything yet. */\nconst MIN_IMPRESSIONS = 1000;\n/** meta-ads-playbook 17-testing-methodology § \"Bottleneck identification\". */\nconst LOW_CTR = 1.5;\nconst LOW_CVR = 1;\n\nexport type Bottleneck = {\n verdict: \"hook\" | \"after_click\" | \"none\" | \"too_little_data\";\n ctr: number | null;\n cvr: number | null;\n why: string;\n};\n\nconst round = (n: number) => Math.round(n * 100) / 100;\n\n/** Where the account loses people: before the click (the hook), after it (page or offer), or nowhere. */\nexport function diagnoseBottleneck(totals: { impressions: number; linkClicks: number; results: number }): Bottleneck {\n const ctr = totals.impressions > 0 ? round((totals.linkClicks / totals.impressions) * 100) : null;\n const cvr = totals.linkClicks > 0 ? round((totals.results / totals.linkClicks) * 100) : null;\n if (totals.impressions < MIN_IMPRESSIONS || ctr === null) {\n return { verdict: \"too_little_data\", ctr, cvr, why: \"Too little delivery in the last 30 days to call it.\" };\n }\n if (ctr < LOW_CTR) {\n return {\n verdict: \"hook\",\n ctr,\n cvr,\n why: `Link click-through ${ctr}% (under ${LOW_CTR}%): people scroll past. New ideas and hooks are the fix.`,\n };\n }\n if (cvr !== null && cvr < LOW_CVR) {\n return {\n verdict: \"after_click\",\n ctr,\n cvr,\n why: `People click (${ctr}%) but only ${cvr}% act: the page or the offer loses them, and a new ad will not fix that. Say so, make the ads' promise match the page, and make one idea an offer idea.`,\n };\n }\n return {\n verdict: \"none\",\n ctr,\n cvr,\n why: `Click-through ${ctr}% and ${cvr ?? 0}% of clicks act: the ads work. Build on the winners first.`,\n };\n}\n\nconst CONVERSION_ACTION =\n /^(lead|purchase|complete_registration|submit_application|schedule|contact|start_trial|subscribe|offsite_conversion\\.|onsite_conversion\\.lead|onsite_web_lead|omni_purchase|omni_complete_registration)/;\n\n/** The conversions in a Meta `actions[]` list, engagement left out. */\nexport function resultsOf(actions: unknown): number {\n if (!Array.isArray(actions)) return 0;\n let total = 0;\n for (const action of actions) {\n const type = (action as { action_type?: unknown })?.action_type;\n const value = Number((action as { value?: unknown })?.value ?? 0);\n if (typeof type === \"string\" && CONVERSION_ACTION.test(type) && Number.isFinite(value)) total += value;\n }\n return total;\n}\n\nconst MIN_OBSERVED = 5;\nconst MAX_QUOTES = 6;\n\nexport type CustomerTruth = {\n total: number;\n observed: number;\n thin: boolean;\n byType: Record<string, number>;\n /** One observed quote per kind of truth, the strongest material for ideas and hooks. */\n quotes: Array<{ id: string; type: string; quote: string }>;\n};\n\nexport function customerTruth(insights: readonly Insight[]): CustomerTruth {\n const byType: Record<string, number> = {};\n for (const insight of insights) byType[insight.type] = (byType[insight.type] ?? 0) + 1;\n const observed = insights.filter((i) => i.status === \"observed\");\n const seen = new Set<string>();\n const quotes: CustomerTruth[\"quotes\"] = [];\n for (const insight of observed) {\n if (seen.has(insight.type) || quotes.length >= MAX_QUOTES) continue;\n seen.add(insight.type);\n quotes.push({\n id: insight.id,\n type: insight.type,\n quote: insight.quote.length > 140 ? `${insight.quote.slice(0, 137)}...` : insight.quote,\n });\n }\n return { total: insights.length, observed: observed.length, thin: observed.length < MIN_OBSERVED, byType, quotes };\n}\n\n/**\n * One library ad as the market map reads it: whose it is, what its DNA says,\n * and where it is in its life (`stage`, and `survived_test` when it is the\n * version its brand kept after testing).\n */\nexport type MarketAd = {\n advertiser: string | null;\n stage?: string | null;\n survived_test?: boolean | null;\n dna: {\n angle?: string | null;\n awareness_stage?: string | null;\n container?: string | null;\n sophistication_stage?: string | null;\n };\n};\n\nexport type MarketMap = {\n source: \"followed\" | \"library\";\n ads: number;\n brands: number;\n /** The stage most of the market's ads speak at: s1 first to say it … s5 tired of claims. */\n sophistication: string | null;\n /**\n * What the market already says: an idea that says the same is not a new idea. What competitors\n * kept after testing leads (`kept_brands`: how many brands kept an ad saying it), then most brands.\n */\n saying: Array<{ angle: string; brands: number; kept_brands?: number }>;\n /** How many of these ads competitors kept after testing; absent when none (or an older library). */\n kept_ads?: number;\n awareness: Record<string, number>;\n containers: Record<string, number>;\n /** Awareness stages none of these ads speaks to. */\n unspoken: string[];\n};\n\nconst MAX_SAYING = 6;\nconst KEPT_STAGES = new Set([\"proven\", \"evergreen\"]);\n\n/** What a competitor kept after testing: the version a test kept, or an ad running past its test window. */\nexport function keptAfterTesting(ad: Pick<MarketAd, \"stage\" | \"survived_test\">): boolean {\n return ad.survived_test === true || KEPT_STAGES.has(ad.stage ?? \"\");\n}\n/** Two angles sharing this share of their content words say the same thing. */\nconst SAME_ANGLE = 0.4;\n\n/** An angle's content words: 4+ letters, a plural folded to its singular. */\nfunction angleWords(angle: string): Set<string> {\n return new Set(\n angle\n .toLowerCase()\n .split(/[^\\p{L}]+/u)\n .filter((w) => w.length >= 4 && w !== \"your\" && w !== \"with\")\n .map((w) => w.replace(/s$/, \"\")),\n );\n}\n\n/** Shared words over all words (Jaccard). */\nfunction overlap(a: ReadonlySet<string>, b: ReadonlySet<string>): number {\n const shared = [...a].filter((w) => b.has(w)).length;\n const all = new Set([...a, ...b]).size;\n return all === 0 ? 0 : shared / all;\n}\n\nfunction tally(values: ReadonlyArray<string | null | undefined>): Record<string, number> {\n const counts: Record<string, number> = {};\n for (const value of values) if (value) counts[value] = (counts[value] ?? 0) + 1;\n return counts;\n}\n\n/** What the market's ads already say and to whom, from a library search over it. Pure. */\nexport function marketMap(ads: readonly MarketAd[], source: MarketMap[\"source\"]): MarketMap {\n const groups: Array<{ angle: string; words: Set<string>; brands: Set<string>; kept: Set<string> }> = [];\n for (const ad of ads) {\n const angle = ad.dna.angle?.trim();\n if (!angle) continue;\n const words = angleWords(angle);\n const brand = ad.advertiser ?? \"?\";\n let group = groups.find((g) => overlap(g.words, words) >= SAME_ANGLE);\n if (!group) {\n group = { angle, words, brands: new Set(), kept: new Set() };\n groups.push(group);\n }\n group.brands.add(brand);\n if (keptAfterTesting(ad)) group.kept.add(brand);\n }\n const saying = groups\n .map((g) => ({ angle: g.angle, brands: g.brands.size, ...(g.kept.size > 0 ? { kept_brands: g.kept.size } : {}) }))\n .sort((a, b) => (b.kept_brands ?? 0) - (a.kept_brands ?? 0) || b.brands - a.brands)\n .slice(0, MAX_SAYING);\n const keptAds = ads.filter(keptAfterTesting).length;\n const stages = tally(ads.map((a) => a.dna.sophistication_stage));\n const sophistication = Object.entries(stages).sort((a, b) => b[1] - a[1])[0]?.[0] ?? null;\n const awareness = tally(ads.map((a) => a.dna.awareness_stage));\n return {\n source,\n ads: ads.length,\n brands: new Set(ads.map((a) => a.advertiser ?? \"?\")).size,\n sophistication,\n saying,\n awareness,\n containers: tally(ads.map((a) => a.dna.container)),\n unspoken: AWARENESS_STAGES.filter((stage) => !awareness[stage]),\n ...(keptAds > 0 ? { kept_ads: keptAds } : {}),\n };\n}\n"],"mappings":"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","names":["id"]}