@koda-sl/baker-cli 0.568.0 → 0.569.0-dev.1b455b3fe

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 (1186) hide show
  1. package/README.md +3 -3
  2. package/dist/account-JREYXYNE.js +82 -0
  3. package/dist/account-OUKPRB7C.js +139 -0
  4. package/dist/account-WN5MJ5QN.js +82 -0
  5. package/dist/account-assets-IWJWYNQ3.js +290 -0
  6. package/dist/account-level-SHZBOMVV.js +612 -0
  7. package/dist/account-level-SHZBOMVV.js.map +1 -0
  8. package/dist/account-reads-GF3T25HX.js +220 -0
  9. package/dist/account-reads-GF3T25HX.js.map +1 -0
  10. package/dist/account-users-7NKBUVYA.js +65 -0
  11. package/dist/account-users-7NKBUVYA.js.map +1 -0
  12. package/dist/account-writes-IUIXIVRC.js +68 -0
  13. package/dist/accounts-4YRDRLHX.js +80 -0
  14. package/dist/accounts-HEGADQ6E.js +119 -0
  15. package/dist/accounts-OSVXKNSI.js +76 -0
  16. package/dist/accounts-SJOO4MQX.js +115 -0
  17. package/dist/accounts-V7EOUTNL.js +713 -0
  18. package/dist/actions-5LYJ3U6G.js +55 -0
  19. package/dist/active-entities-4KQQSMRZ.js +103 -0
  20. package/dist/activecampaign-CZHLHGT4.js +938 -0
  21. package/dist/activities-FRA33VZZ.js +75 -0
  22. package/dist/ad-group-writes-YQXBUA3Q.js +172 -0
  23. package/dist/ad-groups-NJR4ILEN.js +70 -0
  24. package/dist/ad-writes-TZV64CC2.js +176 -0
  25. package/dist/add-MZUSKY2L.js +305 -0
  26. package/dist/add-NAUSQKRS.js +107 -0
  27. package/dist/ads-A2FXTQES.js +120 -0
  28. package/dist/ads-PYTK3LJE.js +48 -0
  29. package/dist/ads-Q7DD5VXU.js +79 -0
  30. package/dist/adsets-ZHEVFOK4.js +182 -0
  31. package/dist/advertisers-HSTND4HE.js +123 -0
  32. package/dist/analytics-63Q3FJN4.js +447 -0
  33. package/dist/analytics-GLJODEIM.js +2437 -0
  34. package/dist/animate-EI6AYBDI.js +480 -0
  35. package/dist/asset-writes-MS45UKJ3.js +51 -0
  36. package/dist/assign-7HT3XSSN.js +80 -0
  37. package/dist/audience-size-DG7544D2.js +76 -0
  38. package/dist/audience-writes-IL64HQBS.js +328 -0
  39. package/dist/audience-writes-IL64HQBS.js.map +1 -0
  40. package/dist/audiences-2IVVS3SJ.js +280 -0
  41. package/dist/audiences-RN745R53.js +85 -0
  42. package/dist/audiences-Z2TQT35L.js +106 -0
  43. package/dist/audit-BIHMDO5K.js +88 -0
  44. package/dist/audit-ZYST7KCO.js +154 -0
  45. package/dist/autocomplete-5BKEMOQ3.js +114 -0
  46. package/dist/avatars-FQOCDWLW.js +38 -0
  47. package/dist/bid-pricing-JEW7T2VR.js +103 -0
  48. package/dist/brand-FR6BKWXN.js +22 -0
  49. package/dist/brief-32IXDJ4J.js +543 -0
  50. package/dist/businesses-HECSW3EL.js +54 -0
  51. package/dist/campaign-groups-LYPVIZT5.js +99 -0
  52. package/dist/campaign-writes-D5MM5LUH.js +168 -0
  53. package/dist/campaign-writes-S7A6W5V3.js +176 -0
  54. package/dist/campaigns-CMDF3P7Y.js +111 -0
  55. package/dist/campaigns-LIICP5JU.js +113 -0
  56. package/dist/campaigns-N72TOUQX.js +130 -0
  57. package/dist/campaigns-ZWJKBF3L.js +78 -0
  58. package/dist/canvas-3SNC3UUV.js +46 -0
  59. package/dist/capabilities-GL7P3SWY.js +147 -0
  60. package/dist/cards-RYQN5JLR.js +85 -0
  61. package/dist/catalog-PWAWDK42.js +66 -0
  62. package/dist/catalogs-2R5RV4L7.js +783 -0
  63. package/dist/catalogs-2R5RV4L7.js.map +1 -0
  64. package/dist/catalogs-SLPYHA7D.js +130 -0
  65. package/dist/changes-WOD4EOSN.js +167 -0
  66. package/dist/chatgpt-3GX4I6NH.js +47 -0
  67. package/dist/chats-K2WUFVCG.js +584 -0
  68. package/dist/check-ZSQ4EIFB.js +154 -0
  69. package/dist/check-ZSQ4EIFB.js.map +1 -0
  70. package/dist/chunk-34ARMQNL.js +197 -0
  71. package/dist/chunk-34MZGC2Y.js +207 -0
  72. package/dist/chunk-3JOGDGGP.js +24026 -0
  73. package/dist/chunk-3JOGDGGP.js.map +1 -0
  74. package/dist/chunk-46DHUWMV.js +642 -0
  75. package/dist/chunk-46DHUWMV.js.map +1 -0
  76. package/dist/chunk-4KBTW5NE.js +494 -0
  77. package/dist/chunk-4PAGS7QH.js +76 -0
  78. package/dist/chunk-53KV66ZZ.js +163 -0
  79. package/dist/chunk-55AX6DOP.js +86 -0
  80. package/dist/chunk-55AX6DOP.js.map +1 -0
  81. package/dist/chunk-5C4RRCKM.js +69 -0
  82. package/dist/chunk-5I6XOSNI.js +709 -0
  83. package/dist/chunk-5OE4Z7TP.js +287 -0
  84. package/dist/chunk-6OIKNJ7G.js +26 -0
  85. package/dist/chunk-6S4B67KP.js +962 -0
  86. package/dist/chunk-77LXZAX2.js +930 -0
  87. package/dist/chunk-7TVVYP7K.js +217 -0
  88. package/dist/chunk-7URHRPC7.js +3510 -0
  89. package/dist/chunk-7YMQEAGA.js +399 -0
  90. package/dist/chunk-A4O3JL6D.js +26 -0
  91. package/dist/chunk-ANRTDNPQ.js +115 -0
  92. package/dist/chunk-AQNTVM6S.js +1518 -0
  93. package/dist/chunk-BPDIY5CF.js +274 -0
  94. package/dist/chunk-CKHF7UXS.js +831 -0
  95. package/dist/chunk-CUTTTFAU.js +783 -0
  96. package/dist/chunk-D32EWSMB.js +150 -0
  97. package/dist/chunk-D55MN5IH.js +547 -0
  98. package/dist/chunk-DRQI2CJJ.js +138 -0
  99. package/dist/chunk-ESSA3AWR.js +133 -0
  100. package/dist/chunk-ESSA3AWR.js.map +1 -0
  101. package/dist/chunk-ETI6DGR2.js +312 -0
  102. package/dist/chunk-F3CZFUXZ.js +3187 -0
  103. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  104. package/dist/chunk-FFTD7XDA.js +91 -0
  105. package/dist/chunk-FTKUHGTC.js +224 -0
  106. package/dist/chunk-GFYGVIT3.js +392 -0
  107. package/dist/chunk-GGXPO4NQ.js +225 -0
  108. package/dist/chunk-H56UJRLV.js +170 -0
  109. package/dist/chunk-HDMD6LXS.js +142 -0
  110. package/dist/chunk-HFZZKYUX.js +1320 -0
  111. package/dist/chunk-IAYJKH4R.js +5471 -0
  112. package/dist/chunk-IEPCI2EB.js +479 -0
  113. package/dist/chunk-IKADYUXK.js +344 -0
  114. package/dist/chunk-IMS53EQU.js +4277 -0
  115. package/dist/chunk-IMS53EQU.js.map +1 -0
  116. package/dist/chunk-IUX2LBW4.js +86 -0
  117. package/dist/chunk-IUX2LBW4.js.map +1 -0
  118. package/dist/chunk-J32CYEIH.js +74 -0
  119. package/dist/chunk-J5I3GYSJ.js +156 -0
  120. package/dist/chunk-JCVXKHVB.js +285 -0
  121. package/dist/chunk-JESSFI7R.js +468 -0
  122. package/dist/chunk-K4QPBXV7.js +61 -0
  123. package/dist/chunk-KJ3J2DYM.js +1919 -0
  124. package/dist/chunk-L43B2YGZ.js +2209 -0
  125. package/dist/chunk-L7UD57TV.js +219 -0
  126. package/dist/chunk-LJYXGUQ3.js +430 -0
  127. package/dist/chunk-LNYM4PQS.js +203 -0
  128. package/dist/chunk-LZR7LSYO.js +180 -0
  129. package/dist/chunk-LZR7LSYO.js.map +1 -0
  130. package/dist/chunk-MIXUMGJE.js +66 -0
  131. package/dist/chunk-MK4HCMEA.js +325 -0
  132. package/dist/chunk-MK4HCMEA.js.map +1 -0
  133. package/dist/chunk-MTFAG6E3.js +853 -0
  134. package/dist/chunk-MTFAG6E3.js.map +1 -0
  135. package/dist/chunk-MWJ6BCZJ.js +455 -0
  136. package/dist/chunk-MX5NQAK6.js +54 -0
  137. package/dist/chunk-MX5NQAK6.js.map +1 -0
  138. package/dist/chunk-O7WRA3JU.js +1902 -0
  139. package/dist/chunk-OADMSHME.js +334 -0
  140. package/dist/chunk-OLPABGH3.js +152 -0
  141. package/dist/chunk-ONGZKI5J.js +57 -0
  142. package/dist/chunk-OSZOUSK5.js +23 -0
  143. package/dist/chunk-PK7YNQ2T.js +454 -0
  144. package/dist/chunk-PN3CHL5W.js +98 -0
  145. package/dist/chunk-QMQSI4WA.js +89 -0
  146. package/dist/chunk-QUSDGZFS.js +188 -0
  147. package/dist/chunk-QXRSFH6M.js +604 -0
  148. package/dist/chunk-QZ4YHQLW.js +63 -0
  149. package/dist/chunk-RF3TP643.js +288 -0
  150. package/dist/chunk-RIRSFFWA.js +191 -0
  151. package/dist/chunk-ROHICQPK.js +8954 -0
  152. package/dist/chunk-RP3PC54R.js +169 -0
  153. package/dist/chunk-SIKCVWM3.js +76 -0
  154. package/dist/chunk-SOM4OTR5.js +167 -0
  155. package/dist/chunk-SYDPUGF5.js +126 -0
  156. package/dist/chunk-SYDPUGF5.js.map +1 -0
  157. package/dist/chunk-SZZ7BBED.js +148 -0
  158. package/dist/chunk-TAGJYHVI.js +191 -0
  159. package/dist/chunk-TB5JZTLN.js +19 -0
  160. package/dist/chunk-TQJLEVLA.js +131 -0
  161. package/dist/chunk-TW57RTKN.js +5368 -0
  162. package/dist/chunk-TXJOYQE2.js +1065 -0
  163. package/dist/chunk-TXJOYQE2.js.map +1 -0
  164. package/dist/chunk-UGIF56NZ.js +1254 -0
  165. package/dist/chunk-UGIF56NZ.js.map +1 -0
  166. package/dist/chunk-V3ANSXCB.js +51 -0
  167. package/dist/chunk-WSG4K2TR.js +103 -0
  168. package/dist/chunk-WXSRSMY3.js +64 -0
  169. package/dist/chunk-WZXMZFVB.js +238 -0
  170. package/dist/chunk-X3L5HYQM.js +91 -0
  171. package/dist/chunk-Y2TOB4N5.js +46 -0
  172. package/dist/chunk-YOHGEF2N.js +7899 -0
  173. package/dist/chunk-Z2LPYAN4.js +297 -0
  174. package/dist/chunk-ZICB4OI5.js +106 -0
  175. package/dist/chunk-ZOCAGPS5.js +225 -0
  176. package/dist/chunk-ZZWZUTEP.js +685 -0
  177. package/dist/claim-QHYA5UTF.js +200 -0
  178. package/dist/cli.js +36 -36
  179. package/dist/companies-BNMAOQUQ.js +198 -0
  180. package/dist/company-YANP3G62.js +308 -0
  181. package/dist/complete-ICZCBO6M.js +84 -0
  182. package/dist/config-GIETKZGS.js +88 -0
  183. package/dist/connect-ZXGEFS53.js +45 -0
  184. package/dist/conversation-YIWZIUIK.js +96 -0
  185. package/dist/conversion-report-E35RCZU7.js +127 -0
  186. package/dist/conversion-upload-command-QN33HEVV.js +440 -0
  187. package/dist/conversion-upload-command-QN33HEVV.js.map +1 -0
  188. package/dist/conversion-writes-MUD7WJDH.js +122 -0
  189. package/dist/conversions-B7HR6JMC.js +140 -0
  190. package/dist/conversions-WU7DNFF7.js +78 -0
  191. package/dist/copy-writes-R7VYSZXC.js +171 -0
  192. package/dist/copy-writes-R7VYSZXC.js.map +1 -0
  193. package/dist/create-EL47XN73.js +135 -0
  194. package/dist/create-GU5MUZ7U.js +62 -0
  195. package/dist/create-IKQ7A47F.js +239 -0
  196. package/dist/create-TKQDLX7M.js +218 -0
  197. package/dist/creatives-PW6HB4JB.js +58 -0
  198. package/dist/creatives-S4EGN44U.js +118 -0
  199. package/dist/creatives-VBD4T6C7.js +229 -0
  200. package/dist/credentials-57U2UQ7G.js +290 -0
  201. package/dist/critique-JTHSIXUF.js +233 -0
  202. package/dist/critique-JTHSIXUF.js.map +1 -0
  203. package/dist/critique-KAOJTSPQ.js +420 -0
  204. package/dist/critique-KAOJTSPQ.js.map +1 -0
  205. package/dist/crm-JCYLJQ7K.js +323 -0
  206. package/dist/crm-LQTYPDMZ.js +229 -0
  207. package/dist/currency-5NYTOLEL.js +88 -0
  208. package/dist/custom-conversions-NT7ONTEX.js +128 -0
  209. package/dist/customers-LP6I7POL.js +65 -0
  210. package/dist/delete-PZ6GP7J6.js +57 -0
  211. package/dist/delete-WW4JYQMX.js +69 -0
  212. package/dist/delete-XZNY426Q.js +67 -0
  213. package/dist/demographics-HZY2JEYQ.js +141 -0
  214. package/dist/discard-NRTGRVXR.js +69 -0
  215. package/dist/discover-5ZFAAPNG.js +172 -0
  216. package/dist/domain-YGKFTN6D.js +101 -0
  217. package/dist/download-XERSDEN3.js +172 -0
  218. package/dist/draft-2EVXU5XB.js +134 -0
  219. package/dist/draft-CQWYTMSS.js +138 -0
  220. package/dist/draft-EL74RDAG.js +374 -0
  221. package/dist/draft-EWB4A3FG.js +579 -0
  222. package/dist/draft-EWB4A3FG.js.map +1 -0
  223. package/dist/draft-GFZ3KMRX.js +315 -0
  224. package/dist/draft-JYZA3BFD.js +260 -0
  225. package/dist/draft-RBLMOZIL.js +333 -0
  226. package/dist/draft-RBLMOZIL.js.map +1 -0
  227. package/dist/draft-UNPTTHP4.js +220 -0
  228. package/dist/engine/index.js +8 -8
  229. package/dist/experiment-YAX26BOO.js +1397 -0
  230. package/dist/experiments-ERXZYY5E.js +237 -0
  231. package/dist/experiments-ERXZYY5E.js.map +1 -0
  232. package/dist/extract-QMY6WPTV.js +143 -0
  233. package/dist/facets-QHM2IQ3E.js +117 -0
  234. package/dist/feedback-NLPTKWOH.js +114 -0
  235. package/dist/feedback-X5FNVHKU.js +116 -0
  236. package/dist/feedback-X5FNVHKU.js.map +1 -0
  237. package/dist/feedback-record-7QCQTF26.js +270 -0
  238. package/dist/feedback-record-7QCQTF26.js.map +1 -0
  239. package/dist/fetch-72ZILZHO.js +204 -0
  240. package/dist/fit-AURKFPAY.js +65 -0
  241. package/dist/flows-CZPXHOZW.js +340 -0
  242. package/dist/fonts-NA26RQ4C.js +40 -0
  243. package/dist/forecast-ARIHRQAX.js +121 -0
  244. package/dist/forecast-BU22ZMOW.js +170 -0
  245. package/dist/forecast-BU22ZMOW.js.map +1 -0
  246. package/dist/funding-QDKFNQI2.js +85 -0
  247. package/dist/funnel-4VQB3T3M.js +397 -0
  248. package/dist/ga4-N6EBLN2W.js +55 -0
  249. package/dist/generate-IJLMJC4S.js +263 -0
  250. package/dist/get-LOEUOTG3.js +82 -0
  251. package/dist/get-W3VJIQBN.js +62 -0
  252. package/dist/google-5RKO3DND.js +3301 -0
  253. package/dist/google-5RKO3DND.js.map +1 -0
  254. package/dist/google-7VEPEBFV.js +163 -0
  255. package/dist/google-ads-YBOJ3XXK.js +198 -0
  256. package/dist/gsc-FILOUFCG.js +30 -0
  257. package/dist/history-6LLGAK7B.js +69 -0
  258. package/dist/history-H2SHADAM.js +153 -0
  259. package/dist/history-LJG64M6P.js +102 -0
  260. package/dist/hubspot-6JDARLIU.js +814 -0
  261. package/dist/ideas-MTWJDRRK.js +45 -0
  262. package/dist/images-RIFC6D3H.js +92 -0
  263. package/dist/ingest-K45T4OLM.js +131 -0
  264. package/dist/ingest-MSS52UO5.js +28 -0
  265. package/dist/insights-AVNMRFQ4.js +658 -0
  266. package/dist/insights-TBIT6DTF.js +132 -0
  267. package/dist/inspect-EBGYJOZ3.js +192 -0
  268. package/dist/instant-experiences-EEMQJ7H5.js +265 -0
  269. package/dist/instant-experiences-EEMQJ7H5.js.map +1 -0
  270. package/dist/intent-URHTU4AK.js +95 -0
  271. package/dist/job-OJB6KIDV.js +202 -0
  272. package/dist/job-create-C6FGCDW4.js +109 -0
  273. package/dist/job-status-4RJHESID.js +74 -0
  274. package/dist/keyword-gap-WXM6SN6A.js +130 -0
  275. package/dist/keyword-metrics-57MUTYMH.js +200 -0
  276. package/dist/keywords-for-site-ABZS7O5B.js +131 -0
  277. package/dist/landing-AXCYLUQZ.js +28 -0
  278. package/dist/languages-6XTVTFZC.js +40 -0
  279. package/dist/leads-C5BUBBLZ.js +115 -0
  280. package/dist/leads-IXF647ZC.js +542 -0
  281. package/dist/leads-IXF647ZC.js.map +1 -0
  282. package/dist/learn-M64GVGPX.js +207 -0
  283. package/dist/line-item-writes-HYLWBQTM.js +211 -0
  284. package/dist/line-items-Y4THDHSE.js +107 -0
  285. package/dist/link-BU7YCL2M.js +67 -0
  286. package/dist/linkedin-2SUTGGII.js +1345 -0
  287. package/dist/linkedin-2SUTGGII.js.map +1 -0
  288. package/dist/linkedin-person-FEIY7FYQ.js +139 -0
  289. package/dist/list-BKIL7O4G.js +306 -0
  290. package/dist/list-H3C345WG.js +154 -0
  291. package/dist/list-UGTDZ7YI.js +67 -0
  292. package/dist/locations-F4365X4S.js +40 -0
  293. package/dist/locations-HOI7AUZ2.js +69 -0
  294. package/dist/log-54SJV6MW.js +95 -0
  295. package/dist/lookup-QNLX2535.js +23 -0
  296. package/dist/make-AQ43J5LH.js +1368 -0
  297. package/dist/make-AQ43J5LH.js.map +1 -0
  298. package/dist/map-BPPGQGDV.js +445 -0
  299. package/dist/mcp-EXOMBMYL.js +729 -0
  300. package/dist/media-MITWBYVZ.js +18 -0
  301. package/dist/media-WGIEUEZW.js +89 -0
  302. package/dist/media-sources-XEC72K7X.js +35 -0
  303. package/dist/members-VDON57BE.js +47 -0
  304. package/dist/meta-NUBBKE2V.js +124 -0
  305. package/dist/metrics-V6FAZO5A.js +152 -0
  306. package/dist/models-TSMFIOZU.js +155 -0
  307. package/dist/normalize-632DD2HJ.js +144 -0
  308. package/dist/options-TZYZQZ3M.js +125 -0
  309. package/dist/organization-FYRXSGB4.js +949 -0
  310. package/dist/output-HZW7LNUL.js +24 -0
  311. package/dist/page-photos-4DNBQZUL.js +119 -0
  312. package/dist/page-photos-4DNBQZUL.js.map +1 -0
  313. package/dist/pages-UH6XEZBO.js +67 -0
  314. package/dist/performance-JKXHQIAV.js +27 -0
  315. package/dist/performance-OF3N43OP.js +5565 -0
  316. package/dist/pixels-KXA6R3G3.js +62 -0
  317. package/dist/pixels-PYNK73UG.js +109 -0
  318. package/dist/plan-4OYUV2EF.js +208 -0
  319. package/dist/preview-7E4E3QPT.js +245 -0
  320. package/dist/preview-FPBM75L2.js +101 -0
  321. package/dist/promoted-tweet-writes-IJRBFK7W.js +183 -0
  322. package/dist/promoted-tweets-7PYH3RPV.js +119 -0
  323. package/dist/properties-RDOGNY2O.js +101 -0
  324. package/dist/publish-MNSDFPEQ.js +350 -0
  325. package/dist/query-GMGWJW3X.js +62 -0
  326. package/dist/query-K7R5GQ4E.js +236 -0
  327. package/dist/query-PO3RT7BR.js +231 -0
  328. package/dist/questionnaire-4OH6K2BF.js +94 -0
  329. package/dist/read-MU5XGWMK.js +141 -0
  330. package/dist/reddit-JFFMZLJS.js +29 -0
  331. package/dist/refresh-EJ7WKW3H.js +97 -0
  332. package/dist/release-AFRLCZWB.js +63 -0
  333. package/dist/relevant-pages-4YGN3I2U.js +99 -0
  334. package/dist/remove-QD4PITBL.js +53 -0
  335. package/dist/reopen-JSC6AVJC.js +66 -0
  336. package/dist/rerun-QIAUVJX6.js +98 -0
  337. package/dist/rerun-QIAUVJX6.js.map +1 -0
  338. package/dist/research-MMFUFZGS.js +265 -0
  339. package/dist/research-SRISCVBM.js +75 -0
  340. package/dist/reset-752CNET3.js +57 -0
  341. package/dist/reset-R3TQAHRU.js +57 -0
  342. package/dist/resolve-EWHSJNBX.js +124 -0
  343. package/dist/retry-DVHDVHVP.js +65 -0
  344. package/dist/retry-PVULTONO.js +63 -0
  345. package/dist/revenue-B4N6QJM3.js +92 -0
  346. package/dist/revenue-B4N6QJM3.js.map +1 -0
  347. package/dist/rule-writes-YXK7HNLR.js +531 -0
  348. package/dist/rule-writes-YXK7HNLR.js.map +1 -0
  349. package/dist/rules-4YTY57FM.js +217 -0
  350. package/dist/rules-LRFDZFF6.js +108 -0
  351. package/dist/rules-LRFDZFF6.js.map +1 -0
  352. package/dist/rules-add-XVOGYHQO.js +497 -0
  353. package/dist/rules-add-XVOGYHQO.js.map +1 -0
  354. package/dist/run-PCZRYL42.js +69 -0
  355. package/dist/run-PRSAUWAJ.js +73 -0
  356. package/dist/scaffold-ad-A6SROV4X.js +1514 -0
  357. package/dist/scaffold-ad-A6SROV4X.js.map +1 -0
  358. package/dist/scaffold-static-ad-CRN5XZIZ.js +1013 -0
  359. package/dist/scaffold-static-ad-CRN5XZIZ.js.map +1 -0
  360. package/dist/scaffold-video-3F5JVFFR.js +886 -0
  361. package/dist/scaffold-video-3F5JVFFR.js.map +1 -0
  362. package/dist/schedule-6YTZBCZA.js +64 -0
  363. package/dist/scheduled-agents-XCPU57LU.js +55 -0
  364. package/dist/schema-4PS5BDG3.js +135 -0
  365. package/dist/search-IMZD5RGD.js +177 -0
  366. package/dist/select-GSO4BEIL.js +111 -0
  367. package/dist/select-GSO4BEIL.js.map +1 -0
  368. package/dist/sends-I2B6F5NW.js +349 -0
  369. package/dist/set-prompt-D32XJNWM.js +200 -0
  370. package/dist/set-prompt-D32XJNWM.js.map +1 -0
  371. package/dist/setup-links-PTL6RF2J.js +144 -0
  372. package/dist/shared-Z7INVKCZ.js +32 -0
  373. package/dist/shopify-SDZZ5HTA.js +4009 -0
  374. package/dist/site-NGQ7K6UD.js +180 -0
  375. package/dist/sitemaps-EOMSRKOD.js +77 -0
  376. package/dist/sites-6M73AONG.js +97 -0
  377. package/dist/sources-NKFSCI6M.js +30 -0
  378. package/dist/sources-O4CQ5KSX.js +457 -0
  379. package/dist/stale-CEZJ53RO.js +91 -0
  380. package/dist/stale-CEZJ53RO.js.map +1 -0
  381. package/dist/stats-MFEH2TSW.js +34 -0
  382. package/dist/status-DLYRPGFS.js +65 -0
  383. package/dist/stock-RDCDVBHX.js +212 -0
  384. package/dist/studies-SSA3SR2L.js +250 -0
  385. package/dist/studio-MBHPDGMN.js +49 -0
  386. package/dist/study-writes-EDV6OH7I.js +472 -0
  387. package/dist/study-writes-EDV6OH7I.js.map +1 -0
  388. package/dist/sync-BEW3TZP7.js +57 -0
  389. package/dist/sync-SI25TKY5.js +279 -0
  390. package/dist/sync-definition-RECCA3QH.js +71 -0
  391. package/dist/tag-manager-JFC6YYVP.js +43 -0
  392. package/dist/tags-IJIGZYR3.js +23 -0
  393. package/dist/tags-K4HIKHNU.js +26 -0
  394. package/dist/tags-OTA55BQ6.js +23 -0
  395. package/dist/tags-QF2V4B3M.js +23 -0
  396. package/dist/tags-SK7WXMBS.js +227 -0
  397. package/dist/targeting-NPNBPEHW.js +763 -0
  398. package/dist/targeting-NPNBPEHW.js.map +1 -0
  399. package/dist/targeting-constants-RF2732EW.js +118 -0
  400. package/dist/targeting-criteria-7BUUYDYC.js +113 -0
  401. package/dist/targets-7V3NCQSD.js +106 -0
  402. package/dist/terms-XFL6QO7A.js +102 -0
  403. package/dist/testimonials-XYD5DLBJ.js +32 -0
  404. package/dist/themes-HYDGH4GM.js +96 -0
  405. package/dist/themes-HYDGH4GM.js.map +1 -0
  406. package/dist/top-companies-LI26TONY.js +111 -0
  407. package/dist/transcript-FTHDWMGU.js +165 -0
  408. package/dist/translate-YATYKOEX.js +604 -0
  409. package/dist/translate-YATYKOEX.js.map +1 -0
  410. package/dist/triggers-3LHJVK5P.js +144 -0
  411. package/dist/tweets-6PQHJXJC.js +123 -0
  412. package/dist/unlink-BMOUBGWO.js +70 -0
  413. package/dist/unstage-O23ILHCY.js +96 -0
  414. package/dist/unstage-YEW5KXJL.js +88 -0
  415. package/dist/update-2IWZA5UU.js +101 -0
  416. package/dist/update-G7YZICSU.js +155 -0
  417. package/dist/update-T5INCQJZ.js +192 -0
  418. package/dist/update-UTQVTG45.js +66 -0
  419. package/dist/upload-UXYJDA2U.js +137 -0
  420. package/dist/url-options-Y7I5EL55.js +131 -0
  421. package/dist/url-params-PE4XAQNH.js +101 -0
  422. package/dist/validate-MMHBTNWU.js +126 -0
  423. package/dist/validate-MMHBTNWU.js.map +1 -0
  424. package/dist/videos-AHOLXU42.js +146 -0
  425. package/dist/videos-EVPJHY3B.js +41 -0
  426. package/dist/viewer-check-NA4TMNY4.js +83 -0
  427. package/dist/web-7EODEH25.js +173 -0
  428. package/dist/winning-ads-5UKX6QV7.js +86 -0
  429. package/dist/write-commands-HFP5KLYZ.js +1525 -0
  430. package/dist/write-commands-HFP5KLYZ.js.map +1 -0
  431. package/dist/write-commands-KVOMOYME.js +1170 -0
  432. package/dist/write-commands-KVOMOYME.js.map +1 -0
  433. package/dist/write-commands-LHEJESKL.js +206 -0
  434. package/dist/write-commands-SD6DXVNK.js +721 -0
  435. package/dist/x-R72UTFQT.js +47 -0
  436. package/package.json +1 -1
  437. package/dist/account-D2AGXMM3.js +0 -82
  438. package/dist/account-OCFXNHG7.js +0 -139
  439. package/dist/account-U6DFMD2V.js +0 -82
  440. package/dist/account-assets-W7K2PUYB.js +0 -290
  441. package/dist/account-level-Z2JEIJ3X.js +0 -611
  442. package/dist/account-level-Z2JEIJ3X.js.map +0 -1
  443. package/dist/account-reads-WPKD2LPB.js +0 -219
  444. package/dist/account-reads-WPKD2LPB.js.map +0 -1
  445. package/dist/account-users-BK45DBUH.js +0 -64
  446. package/dist/account-users-BK45DBUH.js.map +0 -1
  447. package/dist/account-writes-QSJ74QFR.js +0 -68
  448. package/dist/accounts-3DS67RX7.js +0 -119
  449. package/dist/accounts-55PDBEDN.js +0 -76
  450. package/dist/accounts-AK4QIG24.js +0 -115
  451. package/dist/accounts-FALANOYX.js +0 -80
  452. package/dist/accounts-VSJVFIPH.js +0 -713
  453. package/dist/actions-JIXQEVIN.js +0 -55
  454. package/dist/active-entities-HR7NJJLU.js +0 -103
  455. package/dist/activecampaign-4ST7BMHO.js +0 -938
  456. package/dist/activities-DEWHKBID.js +0 -75
  457. package/dist/ad-group-writes-QBHOPTT5.js +0 -172
  458. package/dist/ad-groups-JZDUFT6J.js +0 -70
  459. package/dist/ad-writes-QYJO4IB3.js +0 -176
  460. package/dist/add-NZ6SEWUR.js +0 -107
  461. package/dist/add-ZH5HJBUN.js +0 -305
  462. package/dist/ads-JYSYXF3U.js +0 -48
  463. package/dist/ads-QKVNPHBH.js +0 -120
  464. package/dist/ads-UMSWEI5X.js +0 -79
  465. package/dist/adsets-FEVYHKAQ.js +0 -182
  466. package/dist/advertisers-T37UHN3C.js +0 -123
  467. package/dist/analytics-7QSUKFXF.js +0 -2437
  468. package/dist/analytics-DR4DPUP4.js +0 -447
  469. package/dist/animate-WS63CZ3Y.js +0 -480
  470. package/dist/asset-writes-7RFZZYU7.js +0 -50
  471. package/dist/assign-3CVJL35R.js +0 -80
  472. package/dist/audience-size-6CZ2AZCK.js +0 -76
  473. package/dist/audience-writes-RUGU6KEC.js +0 -327
  474. package/dist/audience-writes-RUGU6KEC.js.map +0 -1
  475. package/dist/audiences-6GVUZUCN.js +0 -106
  476. package/dist/audiences-7OS2ZJYO.js +0 -85
  477. package/dist/audiences-RSAUXKHR.js +0 -280
  478. package/dist/audit-4L7IKIRY.js +0 -88
  479. package/dist/audit-Q66O3Z46.js +0 -154
  480. package/dist/autocomplete-T642QXBX.js +0 -114
  481. package/dist/avatars-33UGHCQA.js +0 -38
  482. package/dist/bid-pricing-LUWEWGCJ.js +0 -103
  483. package/dist/brand-36YIAVGK.js +0 -22
  484. package/dist/brief-A5XFT6VH.js +0 -543
  485. package/dist/businesses-42NZP6FP.js +0 -54
  486. package/dist/campaign-groups-SZSO5B6C.js +0 -99
  487. package/dist/campaign-writes-AN4IHY5G.js +0 -168
  488. package/dist/campaign-writes-GKNH2EHV.js +0 -176
  489. package/dist/campaigns-7RV65SXR.js +0 -78
  490. package/dist/campaigns-RDHQNOTI.js +0 -111
  491. package/dist/campaigns-TO74Z7UH.js +0 -130
  492. package/dist/campaigns-VLVV2PPO.js +0 -113
  493. package/dist/canvas-D7L7R4D2.js +0 -46
  494. package/dist/capabilities-YC36LOZU.js +0 -147
  495. package/dist/cards-CAOGPPG4.js +0 -85
  496. package/dist/catalog-URTZYAPU.js +0 -66
  497. package/dist/catalogs-5LWEXG5X.js +0 -130
  498. package/dist/catalogs-7IEXGLSR.js +0 -782
  499. package/dist/catalogs-7IEXGLSR.js.map +0 -1
  500. package/dist/changes-WWZYTLC6.js +0 -167
  501. package/dist/chatgpt-ZI4GWP6S.js +0 -47
  502. package/dist/chats-M3RP62YO.js +0 -584
  503. package/dist/check-FQYDJ5RS.js +0 -107
  504. package/dist/check-FQYDJ5RS.js.map +0 -1
  505. package/dist/chunk-22RM3UOO.js +0 -63
  506. package/dist/chunk-2DAWUWA4.js +0 -115
  507. package/dist/chunk-2JBPS2CV.js +0 -89
  508. package/dist/chunk-2LBQNTTH.js +0 -76
  509. package/dist/chunk-2N2R5YSN.js +0 -156
  510. package/dist/chunk-2Q7K4F4H.js +0 -7899
  511. package/dist/chunk-2TS2ITSG.js +0 -392
  512. package/dist/chunk-3E74OM2E.js +0 -288
  513. package/dist/chunk-4NZ47VXO.js +0 -137
  514. package/dist/chunk-4NZ47VXO.js.map +0 -1
  515. package/dist/chunk-5H6N36LS.js +0 -217
  516. package/dist/chunk-6E4KJMXO.js +0 -51
  517. package/dist/chunk-6IR7IQPV.js +0 -69
  518. package/dist/chunk-6QINKM6T.js +0 -46
  519. package/dist/chunk-7CORYCEZ.js +0 -142
  520. package/dist/chunk-AC7WLPXF.js +0 -8954
  521. package/dist/chunk-AIK2HPDZ.js +0 -312
  522. package/dist/chunk-BMMXYR7A.js +0 -238
  523. package/dist/chunk-C3EX5OKN.js +0 -188
  524. package/dist/chunk-CDTAKCJR.js +0 -178
  525. package/dist/chunk-CDTAKCJR.js.map +0 -1
  526. package/dist/chunk-CI3QSB6G.js +0 -207
  527. package/dist/chunk-CORECUKT.js +0 -685
  528. package/dist/chunk-DLM5OSHM.js +0 -843
  529. package/dist/chunk-DLM5OSHM.js.map +0 -1
  530. package/dist/chunk-DWPOAU4Z.js +0 -5471
  531. package/dist/chunk-E3PYHCQL.js +0 -344
  532. package/dist/chunk-EIDHLGQM.js +0 -249
  533. package/dist/chunk-EIDHLGQM.js.map +0 -1
  534. package/dist/chunk-EJBLF2LI.js +0 -167
  535. package/dist/chunk-FGAXZ7ET.js +0 -23
  536. package/dist/chunk-FGTOOTYC.js +0 -91
  537. package/dist/chunk-FWHEAR7F.js +0 -138
  538. package/dist/chunk-GDRJS2QJ.js +0 -197
  539. package/dist/chunk-GUYFVYLY.js +0 -170
  540. package/dist/chunk-GWLP45WQ.js +0 -1518
  541. package/dist/chunk-H3HA22Z3.js +0 -1919
  542. package/dist/chunk-H3RCEM6L.js +0 -61
  543. package/dist/chunk-HBRXFQQV.js +0 -3510
  544. package/dist/chunk-HH5WM5VA.js +0 -430
  545. package/dist/chunk-IGCS3X4F.js +0 -150
  546. package/dist/chunk-IID2MAYZ.js +0 -91
  547. package/dist/chunk-ILGRC7LJ.js +0 -287
  548. package/dist/chunk-JAC6JVCI.js +0 -26
  549. package/dist/chunk-JCDCIQMA.js +0 -479
  550. package/dist/chunk-JHS5PE5Y.js +0 -1246
  551. package/dist/chunk-JHS5PE5Y.js.map +0 -1
  552. package/dist/chunk-JIE45TKJ.js +0 -962
  553. package/dist/chunk-JSOOLOHP.js +0 -468
  554. package/dist/chunk-JTIWQLY5.js +0 -98
  555. package/dist/chunk-JWV7LUFM.js +0 -547
  556. package/dist/chunk-KDAINT54.js +0 -131
  557. package/dist/chunk-KH7AOX2R.js +0 -930
  558. package/dist/chunk-KJTMY7K6.js +0 -224
  559. package/dist/chunk-KZQQ6OLC.js +0 -169
  560. package/dist/chunk-L5GFFF5G.js +0 -604
  561. package/dist/chunk-LQACNCAV.js +0 -334
  562. package/dist/chunk-MCJ5I5LR.js +0 -3187
  563. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  564. package/dist/chunk-MKG57P2E.js +0 -783
  565. package/dist/chunk-MOKZ5XZO.js +0 -455
  566. package/dist/chunk-MXVP7Z54.js +0 -163
  567. package/dist/chunk-MZPS46OR.js +0 -76
  568. package/dist/chunk-N2TXADL7.js +0 -1320
  569. package/dist/chunk-NTFNLVZG.js +0 -26
  570. package/dist/chunk-O3O7PXMK.js +0 -103
  571. package/dist/chunk-OASXBRXQ.js +0 -24026
  572. package/dist/chunk-OASXBRXQ.js.map +0 -1
  573. package/dist/chunk-ORQ3WBM6.js +0 -225
  574. package/dist/chunk-OSQTSS27.js +0 -74
  575. package/dist/chunk-OTRKBCUB.js +0 -219
  576. package/dist/chunk-Q5DFEVLE.js +0 -148
  577. package/dist/chunk-QVQKCVP7.js +0 -85
  578. package/dist/chunk-QVQKCVP7.js.map +0 -1
  579. package/dist/chunk-R4RWQ6YX.js +0 -152
  580. package/dist/chunk-RBCO3C3Q.js +0 -324
  581. package/dist/chunk-RBCO3C3Q.js.map +0 -1
  582. package/dist/chunk-SIUYWLXB.js +0 -494
  583. package/dist/chunk-TPGFX47R.js +0 -709
  584. package/dist/chunk-TYFXPC5D.js +0 -1902
  585. package/dist/chunk-TZTHGLWN.js +0 -66
  586. package/dist/chunk-UJTIMPEE.js +0 -203
  587. package/dist/chunk-UKZKLXTE.js +0 -638
  588. package/dist/chunk-UKZKLXTE.js.map +0 -1
  589. package/dist/chunk-ULIQNJ5J.js +0 -274
  590. package/dist/chunk-UQZZM6UM.js +0 -831
  591. package/dist/chunk-UUXGSDUC.js +0 -297
  592. package/dist/chunk-UYZ4FUC7.js +0 -225
  593. package/dist/chunk-UZHDNE6M.js +0 -2209
  594. package/dist/chunk-VJ4IOJQZ.js +0 -19
  595. package/dist/chunk-WBWEKZQ2.js +0 -191
  596. package/dist/chunk-X25XRSDP.js +0 -57
  597. package/dist/chunk-X3GWGFZP.js +0 -5368
  598. package/dist/chunk-X3YYZLBH.js +0 -285
  599. package/dist/chunk-XHWHBGKX.js +0 -4277
  600. package/dist/chunk-XHWHBGKX.js.map +0 -1
  601. package/dist/chunk-XRUB4KRV.js +0 -191
  602. package/dist/chunk-XZAVBONI.js +0 -64
  603. package/dist/chunk-YD6OZSSY.js +0 -106
  604. package/dist/chunk-YVFHDZ3K.js +0 -399
  605. package/dist/chunk-ZQ7JDYJB.js +0 -454
  606. package/dist/claim-CG3J32WS.js +0 -200
  607. package/dist/companies-X6O55ACG.js +0 -198
  608. package/dist/company-4CD2OJLB.js +0 -308
  609. package/dist/complete-JSP6VQYI.js +0 -84
  610. package/dist/config-NDL2YP37.js +0 -88
  611. package/dist/connect-O5NRDY4Y.js +0 -45
  612. package/dist/conversation-J22BH6O5.js +0 -96
  613. package/dist/conversion-report-76S5JOVT.js +0 -127
  614. package/dist/conversion-upload-command-5OILW65U.js +0 -439
  615. package/dist/conversion-upload-command-5OILW65U.js.map +0 -1
  616. package/dist/conversion-writes-6HX665JT.js +0 -122
  617. package/dist/conversions-I2ZOQHKJ.js +0 -140
  618. package/dist/conversions-QZJRF4WN.js +0 -78
  619. package/dist/copy-writes-X2LM5I4Z.js +0 -170
  620. package/dist/copy-writes-X2LM5I4Z.js.map +0 -1
  621. package/dist/create-DQ5X5AJT.js +0 -62
  622. package/dist/create-FNPFVKLT.js +0 -239
  623. package/dist/create-GXOFZCR5.js +0 -135
  624. package/dist/create-VAZ65QNJ.js +0 -218
  625. package/dist/creatives-4G2V4J6N.js +0 -229
  626. package/dist/creatives-QWNQDPNE.js +0 -58
  627. package/dist/creatives-SFPNXJ6Z.js +0 -118
  628. package/dist/credentials-VCERJE24.js +0 -290
  629. package/dist/critique-62QFBC33.js +0 -1451
  630. package/dist/critique-62QFBC33.js.map +0 -1
  631. package/dist/critique-MSL6EU5V.js +0 -232
  632. package/dist/critique-MSL6EU5V.js.map +0 -1
  633. package/dist/crm-HODCOAAI.js +0 -229
  634. package/dist/crm-J3SCOR4L.js +0 -323
  635. package/dist/currency-BZUNQ4XJ.js +0 -88
  636. package/dist/custom-conversions-UHRBVUD2.js +0 -128
  637. package/dist/customers-EYVTYCGY.js +0 -65
  638. package/dist/delete-7A6T6XBD.js +0 -69
  639. package/dist/delete-I3W3M6T7.js +0 -67
  640. package/dist/delete-RZCW3Y6L.js +0 -57
  641. package/dist/demographics-OFBRSF7A.js +0 -141
  642. package/dist/discard-I773LYVR.js +0 -69
  643. package/dist/discover-PDSEJR2P.js +0 -172
  644. package/dist/domain-7YO5HYHU.js +0 -101
  645. package/dist/download-IYK3UVBF.js +0 -172
  646. package/dist/draft-2Z7EGKBO.js +0 -220
  647. package/dist/draft-44KTLX4P.js +0 -134
  648. package/dist/draft-6MWXURYC.js +0 -374
  649. package/dist/draft-CKFSZDVI.js +0 -260
  650. package/dist/draft-PCXWAA2Y.js +0 -578
  651. package/dist/draft-PCXWAA2Y.js.map +0 -1
  652. package/dist/draft-QN5XXOS6.js +0 -332
  653. package/dist/draft-QN5XXOS6.js.map +0 -1
  654. package/dist/draft-RSKZSUOS.js +0 -138
  655. package/dist/draft-WOE7KQ7T.js +0 -315
  656. package/dist/experiment-AZUKJ7ZO.js +0 -1397
  657. package/dist/experiments-2DX4K3AQ.js +0 -236
  658. package/dist/experiments-2DX4K3AQ.js.map +0 -1
  659. package/dist/extract-ZIW5JFTY.js +0 -143
  660. package/dist/facets-OLRASLT7.js +0 -117
  661. package/dist/feedback-2YJ24NV7.js +0 -115
  662. package/dist/feedback-2YJ24NV7.js.map +0 -1
  663. package/dist/feedback-X3GLQ2QF.js +0 -114
  664. package/dist/feedback-record-A5JLS3QY.js +0 -269
  665. package/dist/feedback-record-A5JLS3QY.js.map +0 -1
  666. package/dist/fetch-6XMRKLYH.js +0 -204
  667. package/dist/fit-BRJSLR7P.js +0 -65
  668. package/dist/flows-LXJHL3KW.js +0 -340
  669. package/dist/fonts-UUSCLUHW.js +0 -39
  670. package/dist/forecast-3KMAJJWJ.js +0 -169
  671. package/dist/forecast-3KMAJJWJ.js.map +0 -1
  672. package/dist/forecast-7DZGLC7Y.js +0 -121
  673. package/dist/funding-BSAHWU35.js +0 -85
  674. package/dist/funnel-2ALYZ3GP.js +0 -397
  675. package/dist/ga4-YVKA3V4V.js +0 -55
  676. package/dist/generate-VGGXTZBP.js +0 -263
  677. package/dist/get-KVZSVN7U.js +0 -62
  678. package/dist/get-OZ7THI2W.js +0 -82
  679. package/dist/google-5U5KXEX7.js +0 -163
  680. package/dist/google-RTDPHVLU.js +0 -3300
  681. package/dist/google-RTDPHVLU.js.map +0 -1
  682. package/dist/google-ads-YZTK3YTW.js +0 -198
  683. package/dist/gsc-OJDMSP6H.js +0 -30
  684. package/dist/history-LXRFZNW7.js +0 -69
  685. package/dist/history-RYTNMGU5.js +0 -153
  686. package/dist/history-XDYDNQWK.js +0 -102
  687. package/dist/hubspot-MRUCRJLL.js +0 -814
  688. package/dist/ideas-TT24LJR5.js +0 -45
  689. package/dist/images-PLYPUXM2.js +0 -92
  690. package/dist/ingest-CSPC3RUK.js +0 -131
  691. package/dist/ingest-MSPQX3Z6.js +0 -28
  692. package/dist/insights-H6M6VI43.js +0 -132
  693. package/dist/insights-LZJZGNJZ.js +0 -658
  694. package/dist/inspect-VD6CB2NA.js +0 -192
  695. package/dist/instant-experiences-J4GSS3Y6.js +0 -264
  696. package/dist/instant-experiences-J4GSS3Y6.js.map +0 -1
  697. package/dist/intent-HXRSLFIO.js +0 -95
  698. package/dist/job-UFGGBDG7.js +0 -202
  699. package/dist/job-create-XM4NH322.js +0 -109
  700. package/dist/job-status-47L5Z57J.js +0 -74
  701. package/dist/keyword-gap-WUHMSTNR.js +0 -130
  702. package/dist/keyword-metrics-NJV3WR75.js +0 -200
  703. package/dist/keywords-for-site-B7MUDHFH.js +0 -131
  704. package/dist/landing-RKOEVY7L.js +0 -28
  705. package/dist/languages-SVTYYYOC.js +0 -40
  706. package/dist/leads-HFB5UXZJ.js +0 -115
  707. package/dist/leads-SEEJ3KRR.js +0 -541
  708. package/dist/leads-SEEJ3KRR.js.map +0 -1
  709. package/dist/learn-XNN3DGDF.js +0 -207
  710. package/dist/line-item-writes-VEJ5Y6X4.js +0 -211
  711. package/dist/line-items-U6L2TMPG.js +0 -107
  712. package/dist/link-ENZQAISO.js +0 -67
  713. package/dist/linkedin-SY2WZWKP.js +0 -1344
  714. package/dist/linkedin-SY2WZWKP.js.map +0 -1
  715. package/dist/linkedin-person-3RCX4MI3.js +0 -139
  716. package/dist/list-AF522LRC.js +0 -67
  717. package/dist/list-GPTYUCSX.js +0 -154
  718. package/dist/list-VYTHVUDP.js +0 -306
  719. package/dist/locations-5SLLGWZO.js +0 -69
  720. package/dist/locations-7EBZ6KRH.js +0 -40
  721. package/dist/log-NJR3FJWN.js +0 -95
  722. package/dist/lookup-OU6CLATK.js +0 -23
  723. package/dist/make-4XUB6RSF.js +0 -1367
  724. package/dist/make-4XUB6RSF.js.map +0 -1
  725. package/dist/map-LIYQCWXU.js +0 -445
  726. package/dist/mcp-QDOAKB3A.js +0 -729
  727. package/dist/media-DGV2AMZI.js +0 -89
  728. package/dist/media-YKCCMLXL.js +0 -18
  729. package/dist/media-sources-LFSDIPUB.js +0 -35
  730. package/dist/members-KGKQQFMN.js +0 -47
  731. package/dist/meta-5TRG7RTQ.js +0 -124
  732. package/dist/metrics-WRERNMRK.js +0 -152
  733. package/dist/models-SITHUNAA.js +0 -155
  734. package/dist/normalize-DQPKM3MG.js +0 -144
  735. package/dist/options-XIH7YPEG.js +0 -125
  736. package/dist/organization-BUSXIGA4.js +0 -949
  737. package/dist/output-7X5WPPCA.js +0 -24
  738. package/dist/page-photos-VYJU4RNQ.js +0 -118
  739. package/dist/page-photos-VYJU4RNQ.js.map +0 -1
  740. package/dist/pages-6YMPZDEY.js +0 -67
  741. package/dist/performance-PU4NHFUE.js +0 -27
  742. package/dist/performance-Y2DTYSFV.js +0 -5565
  743. package/dist/pixels-DZDVNIVL.js +0 -109
  744. package/dist/pixels-WTTLC4O5.js +0 -62
  745. package/dist/plan-JAWESWJN.js +0 -208
  746. package/dist/preview-3UOBVP6M.js +0 -101
  747. package/dist/preview-JZXGR4KN.js +0 -245
  748. package/dist/promoted-tweet-writes-6Y4MDPBH.js +0 -183
  749. package/dist/promoted-tweets-JAR2W6KC.js +0 -119
  750. package/dist/properties-Z5S3LRJ5.js +0 -101
  751. package/dist/publish-MDVPC77V.js +0 -350
  752. package/dist/query-3QFT42PG.js +0 -62
  753. package/dist/query-KKXCMH3Q.js +0 -236
  754. package/dist/query-QXKGVHZL.js +0 -231
  755. package/dist/questionnaire-U7UYICEA.js +0 -94
  756. package/dist/read-ENUS7P3L.js +0 -141
  757. package/dist/reddit-ZPKVVZGP.js +0 -29
  758. package/dist/refresh-V34YWN3W.js +0 -97
  759. package/dist/release-WRNUOSHB.js +0 -63
  760. package/dist/relevant-pages-OFKZYWR3.js +0 -99
  761. package/dist/remove-HKWV7P27.js +0 -53
  762. package/dist/reopen-VHHYVAKC.js +0 -66
  763. package/dist/rerun-THE43RCG.js +0 -97
  764. package/dist/rerun-THE43RCG.js.map +0 -1
  765. package/dist/research-773Y7GT4.js +0 -75
  766. package/dist/research-G5A2WXVK.js +0 -265
  767. package/dist/reset-GFJ3AKF5.js +0 -57
  768. package/dist/reset-MVTWA3HT.js +0 -57
  769. package/dist/resolve-JRSSTIAF.js +0 -124
  770. package/dist/retry-AGHA6IVT.js +0 -65
  771. package/dist/retry-LDJ6FZCZ.js +0 -63
  772. package/dist/revenue-Q2JK5VY6.js +0 -91
  773. package/dist/revenue-Q2JK5VY6.js.map +0 -1
  774. package/dist/rule-writes-WT6DQZZE.js +0 -530
  775. package/dist/rule-writes-WT6DQZZE.js.map +0 -1
  776. package/dist/rules-4A25K2P7.js +0 -99
  777. package/dist/rules-4A25K2P7.js.map +0 -1
  778. package/dist/rules-Y75KR2PC.js +0 -217
  779. package/dist/rules-add-GT7NCUB3.js +0 -465
  780. package/dist/rules-add-GT7NCUB3.js.map +0 -1
  781. package/dist/run-NFLKYVIC.js +0 -72
  782. package/dist/run-ZLHQNLCF.js +0 -69
  783. package/dist/scaffold-ad-AJN67FWG.js +0 -1513
  784. package/dist/scaffold-ad-AJN67FWG.js.map +0 -1
  785. package/dist/scaffold-static-ad-L6KXZ3TN.js +0 -1012
  786. package/dist/scaffold-static-ad-L6KXZ3TN.js.map +0 -1
  787. package/dist/scaffold-video-XQBZZ5TZ.js +0 -885
  788. package/dist/scaffold-video-XQBZZ5TZ.js.map +0 -1
  789. package/dist/schedule-45CJDHIX.js +0 -64
  790. package/dist/scheduled-agents-72MWHK63.js +0 -55
  791. package/dist/schema-VX66FH4O.js +0 -135
  792. package/dist/search-Y6TS5UZS.js +0 -177
  793. package/dist/select-MZ2U7U5U.js +0 -110
  794. package/dist/select-MZ2U7U5U.js.map +0 -1
  795. package/dist/sends-4ZO6BNZ4.js +0 -349
  796. package/dist/set-prompt-YH6PXNXB.js +0 -199
  797. package/dist/set-prompt-YH6PXNXB.js.map +0 -1
  798. package/dist/setup-links-Y4YYDQBK.js +0 -144
  799. package/dist/shared-UPMEBTVP.js +0 -32
  800. package/dist/shopify-HGFUHYT7.js +0 -4009
  801. package/dist/site-WZ654OP3.js +0 -180
  802. package/dist/sitemaps-P3K5Z4TW.js +0 -77
  803. package/dist/sites-TURWC53D.js +0 -97
  804. package/dist/sources-7ZFY3VEZ.js +0 -457
  805. package/dist/sources-FCBFLR2J.js +0 -30
  806. package/dist/stale-VSSDVB4H.js +0 -90
  807. package/dist/stale-VSSDVB4H.js.map +0 -1
  808. package/dist/stats-XNKAJD2Z.js +0 -34
  809. package/dist/status-L7LYUD3F.js +0 -65
  810. package/dist/stock-73PLAUYU.js +0 -212
  811. package/dist/studies-5G67ODR2.js +0 -250
  812. package/dist/studio-D2OMFCZZ.js +0 -49
  813. package/dist/study-writes-34BJFZAZ.js +0 -471
  814. package/dist/study-writes-34BJFZAZ.js.map +0 -1
  815. package/dist/sync-QVEUQKU5.js +0 -279
  816. package/dist/sync-XBC3PSSV.js +0 -57
  817. package/dist/sync-definition-IM2NY5QC.js +0 -70
  818. package/dist/tag-manager-3GIW6BPB.js +0 -43
  819. package/dist/tags-2KNOJ7A6.js +0 -26
  820. package/dist/tags-COALQ2CT.js +0 -23
  821. package/dist/tags-HCJTTLSR.js +0 -227
  822. package/dist/tags-MVC56SHA.js +0 -23
  823. package/dist/tags-UNUZVGUA.js +0 -23
  824. package/dist/targeting-TVZPIUUI.js +0 -762
  825. package/dist/targeting-TVZPIUUI.js.map +0 -1
  826. package/dist/targeting-constants-RJS2STR5.js +0 -118
  827. package/dist/targeting-criteria-SMBIEM7U.js +0 -113
  828. package/dist/targets-BNH37YAQ.js +0 -106
  829. package/dist/terms-AATAGKPT.js +0 -102
  830. package/dist/testimonials-IIAT5IDM.js +0 -32
  831. package/dist/themes-5HKRO5RR.js +0 -95
  832. package/dist/themes-5HKRO5RR.js.map +0 -1
  833. package/dist/top-companies-PY2NL2GS.js +0 -111
  834. package/dist/transcript-7WFXVRVW.js +0 -165
  835. package/dist/translate-IPTYPZF6.js +0 -603
  836. package/dist/translate-IPTYPZF6.js.map +0 -1
  837. package/dist/triggers-RBD2XGNG.js +0 -144
  838. package/dist/tweets-MLDLLLDB.js +0 -123
  839. package/dist/unlink-5IMEUVIS.js +0 -70
  840. package/dist/unstage-65DUBYNZ.js +0 -96
  841. package/dist/unstage-DSOVSWEK.js +0 -88
  842. package/dist/update-7JVV5ZL3.js +0 -66
  843. package/dist/update-FIU2ECYQ.js +0 -192
  844. package/dist/update-HSS6CVUK.js +0 -101
  845. package/dist/update-XWL3Q5QY.js +0 -155
  846. package/dist/upload-B5SM33MK.js +0 -137
  847. package/dist/url-options-4J3FRXHO.js +0 -131
  848. package/dist/url-params-TGCGWKAJ.js +0 -101
  849. package/dist/validate-4NXKYAL2.js +0 -125
  850. package/dist/validate-4NXKYAL2.js.map +0 -1
  851. package/dist/videos-FMV4AVB2.js +0 -41
  852. package/dist/videos-NITQKILV.js +0 -146
  853. package/dist/viewer-check-2W6BTVQV.js +0 -83
  854. package/dist/web-K2EMYVCD.js +0 -173
  855. package/dist/winning-ads-Q3RXH7EC.js +0 -86
  856. package/dist/write-commands-OBQPQUIE.js +0 -721
  857. package/dist/write-commands-SIOVTRHH.js +0 -1169
  858. package/dist/write-commands-SIOVTRHH.js.map +0 -1
  859. package/dist/write-commands-VQPEHKH7.js +0 -1524
  860. package/dist/write-commands-VQPEHKH7.js.map +0 -1
  861. package/dist/write-commands-XLZCRVTU.js +0 -206
  862. package/dist/x-PW43O6JS.js +0 -47
  863. /package/dist/{account-U6DFMD2V.js.map → account-JREYXYNE.js.map} +0 -0
  864. /package/dist/{account-OCFXNHG7.js.map → account-OUKPRB7C.js.map} +0 -0
  865. /package/dist/{account-D2AGXMM3.js.map → account-WN5MJ5QN.js.map} +0 -0
  866. /package/dist/{account-assets-W7K2PUYB.js.map → account-assets-IWJWYNQ3.js.map} +0 -0
  867. /package/dist/{account-writes-QSJ74QFR.js.map → account-writes-IUIXIVRC.js.map} +0 -0
  868. /package/dist/{accounts-FALANOYX.js.map → accounts-4YRDRLHX.js.map} +0 -0
  869. /package/dist/{accounts-3DS67RX7.js.map → accounts-HEGADQ6E.js.map} +0 -0
  870. /package/dist/{accounts-55PDBEDN.js.map → accounts-OSVXKNSI.js.map} +0 -0
  871. /package/dist/{accounts-AK4QIG24.js.map → accounts-SJOO4MQX.js.map} +0 -0
  872. /package/dist/{accounts-VSJVFIPH.js.map → accounts-V7EOUTNL.js.map} +0 -0
  873. /package/dist/{actions-JIXQEVIN.js.map → actions-5LYJ3U6G.js.map} +0 -0
  874. /package/dist/{active-entities-HR7NJJLU.js.map → active-entities-4KQQSMRZ.js.map} +0 -0
  875. /package/dist/{activecampaign-4ST7BMHO.js.map → activecampaign-CZHLHGT4.js.map} +0 -0
  876. /package/dist/{activities-DEWHKBID.js.map → activities-FRA33VZZ.js.map} +0 -0
  877. /package/dist/{ad-group-writes-QBHOPTT5.js.map → ad-group-writes-YQXBUA3Q.js.map} +0 -0
  878. /package/dist/{ad-groups-JZDUFT6J.js.map → ad-groups-NJR4ILEN.js.map} +0 -0
  879. /package/dist/{ad-writes-QYJO4IB3.js.map → ad-writes-TZV64CC2.js.map} +0 -0
  880. /package/dist/{add-ZH5HJBUN.js.map → add-MZUSKY2L.js.map} +0 -0
  881. /package/dist/{add-NZ6SEWUR.js.map → add-NAUSQKRS.js.map} +0 -0
  882. /package/dist/{ads-QKVNPHBH.js.map → ads-A2FXTQES.js.map} +0 -0
  883. /package/dist/{ads-JYSYXF3U.js.map → ads-PYTK3LJE.js.map} +0 -0
  884. /package/dist/{ads-UMSWEI5X.js.map → ads-Q7DD5VXU.js.map} +0 -0
  885. /package/dist/{adsets-FEVYHKAQ.js.map → adsets-ZHEVFOK4.js.map} +0 -0
  886. /package/dist/{advertisers-T37UHN3C.js.map → advertisers-HSTND4HE.js.map} +0 -0
  887. /package/dist/{analytics-DR4DPUP4.js.map → analytics-63Q3FJN4.js.map} +0 -0
  888. /package/dist/{analytics-7QSUKFXF.js.map → analytics-GLJODEIM.js.map} +0 -0
  889. /package/dist/{animate-WS63CZ3Y.js.map → animate-EI6AYBDI.js.map} +0 -0
  890. /package/dist/{asset-writes-7RFZZYU7.js.map → asset-writes-MS45UKJ3.js.map} +0 -0
  891. /package/dist/{assign-3CVJL35R.js.map → assign-7HT3XSSN.js.map} +0 -0
  892. /package/dist/{audience-size-6CZ2AZCK.js.map → audience-size-DG7544D2.js.map} +0 -0
  893. /package/dist/{audiences-RSAUXKHR.js.map → audiences-2IVVS3SJ.js.map} +0 -0
  894. /package/dist/{audiences-7OS2ZJYO.js.map → audiences-RN745R53.js.map} +0 -0
  895. /package/dist/{audiences-6GVUZUCN.js.map → audiences-Z2TQT35L.js.map} +0 -0
  896. /package/dist/{audit-4L7IKIRY.js.map → audit-BIHMDO5K.js.map} +0 -0
  897. /package/dist/{audit-Q66O3Z46.js.map → audit-ZYST7KCO.js.map} +0 -0
  898. /package/dist/{autocomplete-T642QXBX.js.map → autocomplete-5BKEMOQ3.js.map} +0 -0
  899. /package/dist/{avatars-33UGHCQA.js.map → avatars-FQOCDWLW.js.map} +0 -0
  900. /package/dist/{bid-pricing-LUWEWGCJ.js.map → bid-pricing-JEW7T2VR.js.map} +0 -0
  901. /package/dist/{brand-36YIAVGK.js.map → brand-FR6BKWXN.js.map} +0 -0
  902. /package/dist/{brief-A5XFT6VH.js.map → brief-32IXDJ4J.js.map} +0 -0
  903. /package/dist/{businesses-42NZP6FP.js.map → businesses-HECSW3EL.js.map} +0 -0
  904. /package/dist/{campaign-groups-SZSO5B6C.js.map → campaign-groups-LYPVIZT5.js.map} +0 -0
  905. /package/dist/{campaign-writes-AN4IHY5G.js.map → campaign-writes-D5MM5LUH.js.map} +0 -0
  906. /package/dist/{campaign-writes-GKNH2EHV.js.map → campaign-writes-S7A6W5V3.js.map} +0 -0
  907. /package/dist/{campaigns-RDHQNOTI.js.map → campaigns-CMDF3P7Y.js.map} +0 -0
  908. /package/dist/{campaigns-VLVV2PPO.js.map → campaigns-LIICP5JU.js.map} +0 -0
  909. /package/dist/{campaigns-TO74Z7UH.js.map → campaigns-N72TOUQX.js.map} +0 -0
  910. /package/dist/{campaigns-7RV65SXR.js.map → campaigns-ZWJKBF3L.js.map} +0 -0
  911. /package/dist/{canvas-D7L7R4D2.js.map → canvas-3SNC3UUV.js.map} +0 -0
  912. /package/dist/{capabilities-YC36LOZU.js.map → capabilities-GL7P3SWY.js.map} +0 -0
  913. /package/dist/{cards-CAOGPPG4.js.map → cards-RYQN5JLR.js.map} +0 -0
  914. /package/dist/{catalog-URTZYAPU.js.map → catalog-PWAWDK42.js.map} +0 -0
  915. /package/dist/{catalogs-5LWEXG5X.js.map → catalogs-SLPYHA7D.js.map} +0 -0
  916. /package/dist/{changes-WWZYTLC6.js.map → changes-WOD4EOSN.js.map} +0 -0
  917. /package/dist/{chatgpt-ZI4GWP6S.js.map → chatgpt-3GX4I6NH.js.map} +0 -0
  918. /package/dist/{chats-M3RP62YO.js.map → chats-K2WUFVCG.js.map} +0 -0
  919. /package/dist/{chunk-GDRJS2QJ.js.map → chunk-34ARMQNL.js.map} +0 -0
  920. /package/dist/{chunk-CI3QSB6G.js.map → chunk-34MZGC2Y.js.map} +0 -0
  921. /package/dist/{chunk-SIUYWLXB.js.map → chunk-4KBTW5NE.js.map} +0 -0
  922. /package/dist/{chunk-2LBQNTTH.js.map → chunk-4PAGS7QH.js.map} +0 -0
  923. /package/dist/{chunk-MXVP7Z54.js.map → chunk-53KV66ZZ.js.map} +0 -0
  924. /package/dist/{chunk-6IR7IQPV.js.map → chunk-5C4RRCKM.js.map} +0 -0
  925. /package/dist/{chunk-TPGFX47R.js.map → chunk-5I6XOSNI.js.map} +0 -0
  926. /package/dist/{chunk-ILGRC7LJ.js.map → chunk-5OE4Z7TP.js.map} +0 -0
  927. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  928. /package/dist/{chunk-JIE45TKJ.js.map → chunk-6S4B67KP.js.map} +0 -0
  929. /package/dist/{chunk-KH7AOX2R.js.map → chunk-77LXZAX2.js.map} +0 -0
  930. /package/dist/{chunk-5H6N36LS.js.map → chunk-7TVVYP7K.js.map} +0 -0
  931. /package/dist/{chunk-HBRXFQQV.js.map → chunk-7URHRPC7.js.map} +0 -0
  932. /package/dist/{chunk-YVFHDZ3K.js.map → chunk-7YMQEAGA.js.map} +0 -0
  933. /package/dist/{chunk-NTFNLVZG.js.map → chunk-A4O3JL6D.js.map} +0 -0
  934. /package/dist/{chunk-2DAWUWA4.js.map → chunk-ANRTDNPQ.js.map} +0 -0
  935. /package/dist/{chunk-GWLP45WQ.js.map → chunk-AQNTVM6S.js.map} +0 -0
  936. /package/dist/{chunk-ULIQNJ5J.js.map → chunk-BPDIY5CF.js.map} +0 -0
  937. /package/dist/{chunk-UQZZM6UM.js.map → chunk-CKHF7UXS.js.map} +0 -0
  938. /package/dist/{chunk-MKG57P2E.js.map → chunk-CUTTTFAU.js.map} +0 -0
  939. /package/dist/{chunk-IGCS3X4F.js.map → chunk-D32EWSMB.js.map} +0 -0
  940. /package/dist/{chunk-JWV7LUFM.js.map → chunk-D55MN5IH.js.map} +0 -0
  941. /package/dist/{chunk-FWHEAR7F.js.map → chunk-DRQI2CJJ.js.map} +0 -0
  942. /package/dist/{chunk-AIK2HPDZ.js.map → chunk-ETI6DGR2.js.map} +0 -0
  943. /package/dist/{chunk-FGTOOTYC.js.map → chunk-FFTD7XDA.js.map} +0 -0
  944. /package/dist/{chunk-KJTMY7K6.js.map → chunk-FTKUHGTC.js.map} +0 -0
  945. /package/dist/{chunk-2TS2ITSG.js.map → chunk-GFYGVIT3.js.map} +0 -0
  946. /package/dist/{chunk-ORQ3WBM6.js.map → chunk-GGXPO4NQ.js.map} +0 -0
  947. /package/dist/{chunk-GUYFVYLY.js.map → chunk-H56UJRLV.js.map} +0 -0
  948. /package/dist/{chunk-7CORYCEZ.js.map → chunk-HDMD6LXS.js.map} +0 -0
  949. /package/dist/{chunk-N2TXADL7.js.map → chunk-HFZZKYUX.js.map} +0 -0
  950. /package/dist/{chunk-DWPOAU4Z.js.map → chunk-IAYJKH4R.js.map} +0 -0
  951. /package/dist/{chunk-JCDCIQMA.js.map → chunk-IEPCI2EB.js.map} +0 -0
  952. /package/dist/{chunk-E3PYHCQL.js.map → chunk-IKADYUXK.js.map} +0 -0
  953. /package/dist/{chunk-OSQTSS27.js.map → chunk-J32CYEIH.js.map} +0 -0
  954. /package/dist/{chunk-2N2R5YSN.js.map → chunk-J5I3GYSJ.js.map} +0 -0
  955. /package/dist/{chunk-X3YYZLBH.js.map → chunk-JCVXKHVB.js.map} +0 -0
  956. /package/dist/{chunk-JSOOLOHP.js.map → chunk-JESSFI7R.js.map} +0 -0
  957. /package/dist/{chunk-H3RCEM6L.js.map → chunk-K4QPBXV7.js.map} +0 -0
  958. /package/dist/{chunk-H3HA22Z3.js.map → chunk-KJ3J2DYM.js.map} +0 -0
  959. /package/dist/{chunk-UZHDNE6M.js.map → chunk-L43B2YGZ.js.map} +0 -0
  960. /package/dist/{chunk-OTRKBCUB.js.map → chunk-L7UD57TV.js.map} +0 -0
  961. /package/dist/{chunk-HH5WM5VA.js.map → chunk-LJYXGUQ3.js.map} +0 -0
  962. /package/dist/{chunk-UJTIMPEE.js.map → chunk-LNYM4PQS.js.map} +0 -0
  963. /package/dist/{chunk-TZTHGLWN.js.map → chunk-MIXUMGJE.js.map} +0 -0
  964. /package/dist/{chunk-MOKZ5XZO.js.map → chunk-MWJ6BCZJ.js.map} +0 -0
  965. /package/dist/{chunk-TYFXPC5D.js.map → chunk-O7WRA3JU.js.map} +0 -0
  966. /package/dist/{chunk-LQACNCAV.js.map → chunk-OADMSHME.js.map} +0 -0
  967. /package/dist/{chunk-R4RWQ6YX.js.map → chunk-OLPABGH3.js.map} +0 -0
  968. /package/dist/{chunk-X25XRSDP.js.map → chunk-ONGZKI5J.js.map} +0 -0
  969. /package/dist/{chunk-FGAXZ7ET.js.map → chunk-OSZOUSK5.js.map} +0 -0
  970. /package/dist/{chunk-ZQ7JDYJB.js.map → chunk-PK7YNQ2T.js.map} +0 -0
  971. /package/dist/{chunk-JTIWQLY5.js.map → chunk-PN3CHL5W.js.map} +0 -0
  972. /package/dist/{chunk-2JBPS2CV.js.map → chunk-QMQSI4WA.js.map} +0 -0
  973. /package/dist/{chunk-C3EX5OKN.js.map → chunk-QUSDGZFS.js.map} +0 -0
  974. /package/dist/{chunk-L5GFFF5G.js.map → chunk-QXRSFH6M.js.map} +0 -0
  975. /package/dist/{chunk-22RM3UOO.js.map → chunk-QZ4YHQLW.js.map} +0 -0
  976. /package/dist/{chunk-3E74OM2E.js.map → chunk-RF3TP643.js.map} +0 -0
  977. /package/dist/{chunk-WBWEKZQ2.js.map → chunk-RIRSFFWA.js.map} +0 -0
  978. /package/dist/{chunk-AC7WLPXF.js.map → chunk-ROHICQPK.js.map} +0 -0
  979. /package/dist/{chunk-KZQQ6OLC.js.map → chunk-RP3PC54R.js.map} +0 -0
  980. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  981. /package/dist/{chunk-EJBLF2LI.js.map → chunk-SOM4OTR5.js.map} +0 -0
  982. /package/dist/{chunk-Q5DFEVLE.js.map → chunk-SZZ7BBED.js.map} +0 -0
  983. /package/dist/{chunk-XRUB4KRV.js.map → chunk-TAGJYHVI.js.map} +0 -0
  984. /package/dist/{chunk-VJ4IOJQZ.js.map → chunk-TB5JZTLN.js.map} +0 -0
  985. /package/dist/{chunk-KDAINT54.js.map → chunk-TQJLEVLA.js.map} +0 -0
  986. /package/dist/{chunk-X3GWGFZP.js.map → chunk-TW57RTKN.js.map} +0 -0
  987. /package/dist/{chunk-6E4KJMXO.js.map → chunk-V3ANSXCB.js.map} +0 -0
  988. /package/dist/{chunk-O3O7PXMK.js.map → chunk-WSG4K2TR.js.map} +0 -0
  989. /package/dist/{chunk-XZAVBONI.js.map → chunk-WXSRSMY3.js.map} +0 -0
  990. /package/dist/{chunk-BMMXYR7A.js.map → chunk-WZXMZFVB.js.map} +0 -0
  991. /package/dist/{chunk-IID2MAYZ.js.map → chunk-X3L5HYQM.js.map} +0 -0
  992. /package/dist/{chunk-6QINKM6T.js.map → chunk-Y2TOB4N5.js.map} +0 -0
  993. /package/dist/{chunk-2Q7K4F4H.js.map → chunk-YOHGEF2N.js.map} +0 -0
  994. /package/dist/{chunk-UUXGSDUC.js.map → chunk-Z2LPYAN4.js.map} +0 -0
  995. /package/dist/{chunk-YD6OZSSY.js.map → chunk-ZICB4OI5.js.map} +0 -0
  996. /package/dist/{chunk-UYZ4FUC7.js.map → chunk-ZOCAGPS5.js.map} +0 -0
  997. /package/dist/{chunk-CORECUKT.js.map → chunk-ZZWZUTEP.js.map} +0 -0
  998. /package/dist/{claim-CG3J32WS.js.map → claim-QHYA5UTF.js.map} +0 -0
  999. /package/dist/{companies-X6O55ACG.js.map → companies-BNMAOQUQ.js.map} +0 -0
  1000. /package/dist/{company-4CD2OJLB.js.map → company-YANP3G62.js.map} +0 -0
  1001. /package/dist/{complete-JSP6VQYI.js.map → complete-ICZCBO6M.js.map} +0 -0
  1002. /package/dist/{config-NDL2YP37.js.map → config-GIETKZGS.js.map} +0 -0
  1003. /package/dist/{connect-O5NRDY4Y.js.map → connect-ZXGEFS53.js.map} +0 -0
  1004. /package/dist/{conversation-J22BH6O5.js.map → conversation-YIWZIUIK.js.map} +0 -0
  1005. /package/dist/{conversion-report-76S5JOVT.js.map → conversion-report-E35RCZU7.js.map} +0 -0
  1006. /package/dist/{conversion-writes-6HX665JT.js.map → conversion-writes-MUD7WJDH.js.map} +0 -0
  1007. /package/dist/{conversions-I2ZOQHKJ.js.map → conversions-B7HR6JMC.js.map} +0 -0
  1008. /package/dist/{conversions-QZJRF4WN.js.map → conversions-WU7DNFF7.js.map} +0 -0
  1009. /package/dist/{create-GXOFZCR5.js.map → create-EL47XN73.js.map} +0 -0
  1010. /package/dist/{create-DQ5X5AJT.js.map → create-GU5MUZ7U.js.map} +0 -0
  1011. /package/dist/{create-FNPFVKLT.js.map → create-IKQ7A47F.js.map} +0 -0
  1012. /package/dist/{create-VAZ65QNJ.js.map → create-TKQDLX7M.js.map} +0 -0
  1013. /package/dist/{creatives-QWNQDPNE.js.map → creatives-PW6HB4JB.js.map} +0 -0
  1014. /package/dist/{creatives-SFPNXJ6Z.js.map → creatives-S4EGN44U.js.map} +0 -0
  1015. /package/dist/{creatives-4G2V4J6N.js.map → creatives-VBD4T6C7.js.map} +0 -0
  1016. /package/dist/{credentials-VCERJE24.js.map → credentials-57U2UQ7G.js.map} +0 -0
  1017. /package/dist/{crm-J3SCOR4L.js.map → crm-JCYLJQ7K.js.map} +0 -0
  1018. /package/dist/{crm-HODCOAAI.js.map → crm-LQTYPDMZ.js.map} +0 -0
  1019. /package/dist/{currency-BZUNQ4XJ.js.map → currency-5NYTOLEL.js.map} +0 -0
  1020. /package/dist/{custom-conversions-UHRBVUD2.js.map → custom-conversions-NT7ONTEX.js.map} +0 -0
  1021. /package/dist/{customers-EYVTYCGY.js.map → customers-LP6I7POL.js.map} +0 -0
  1022. /package/dist/{delete-RZCW3Y6L.js.map → delete-PZ6GP7J6.js.map} +0 -0
  1023. /package/dist/{delete-7A6T6XBD.js.map → delete-WW4JYQMX.js.map} +0 -0
  1024. /package/dist/{delete-I3W3M6T7.js.map → delete-XZNY426Q.js.map} +0 -0
  1025. /package/dist/{demographics-OFBRSF7A.js.map → demographics-HZY2JEYQ.js.map} +0 -0
  1026. /package/dist/{discard-I773LYVR.js.map → discard-NRTGRVXR.js.map} +0 -0
  1027. /package/dist/{discover-PDSEJR2P.js.map → discover-5ZFAAPNG.js.map} +0 -0
  1028. /package/dist/{domain-7YO5HYHU.js.map → domain-YGKFTN6D.js.map} +0 -0
  1029. /package/dist/{download-IYK3UVBF.js.map → download-XERSDEN3.js.map} +0 -0
  1030. /package/dist/{draft-44KTLX4P.js.map → draft-2EVXU5XB.js.map} +0 -0
  1031. /package/dist/{draft-RSKZSUOS.js.map → draft-CQWYTMSS.js.map} +0 -0
  1032. /package/dist/{draft-6MWXURYC.js.map → draft-EL74RDAG.js.map} +0 -0
  1033. /package/dist/{draft-WOE7KQ7T.js.map → draft-GFZ3KMRX.js.map} +0 -0
  1034. /package/dist/{draft-CKFSZDVI.js.map → draft-JYZA3BFD.js.map} +0 -0
  1035. /package/dist/{draft-2Z7EGKBO.js.map → draft-UNPTTHP4.js.map} +0 -0
  1036. /package/dist/{experiment-AZUKJ7ZO.js.map → experiment-YAX26BOO.js.map} +0 -0
  1037. /package/dist/{extract-ZIW5JFTY.js.map → extract-QMY6WPTV.js.map} +0 -0
  1038. /package/dist/{facets-OLRASLT7.js.map → facets-QHM2IQ3E.js.map} +0 -0
  1039. /package/dist/{feedback-X3GLQ2QF.js.map → feedback-NLPTKWOH.js.map} +0 -0
  1040. /package/dist/{fetch-6XMRKLYH.js.map → fetch-72ZILZHO.js.map} +0 -0
  1041. /package/dist/{fit-BRJSLR7P.js.map → fit-AURKFPAY.js.map} +0 -0
  1042. /package/dist/{flows-LXJHL3KW.js.map → flows-CZPXHOZW.js.map} +0 -0
  1043. /package/dist/{fonts-UUSCLUHW.js.map → fonts-NA26RQ4C.js.map} +0 -0
  1044. /package/dist/{forecast-7DZGLC7Y.js.map → forecast-ARIHRQAX.js.map} +0 -0
  1045. /package/dist/{funding-BSAHWU35.js.map → funding-QDKFNQI2.js.map} +0 -0
  1046. /package/dist/{funnel-2ALYZ3GP.js.map → funnel-4VQB3T3M.js.map} +0 -0
  1047. /package/dist/{ga4-YVKA3V4V.js.map → ga4-N6EBLN2W.js.map} +0 -0
  1048. /package/dist/{generate-VGGXTZBP.js.map → generate-IJLMJC4S.js.map} +0 -0
  1049. /package/dist/{get-OZ7THI2W.js.map → get-LOEUOTG3.js.map} +0 -0
  1050. /package/dist/{get-KVZSVN7U.js.map → get-W3VJIQBN.js.map} +0 -0
  1051. /package/dist/{google-5U5KXEX7.js.map → google-7VEPEBFV.js.map} +0 -0
  1052. /package/dist/{google-ads-YZTK3YTW.js.map → google-ads-YBOJ3XXK.js.map} +0 -0
  1053. /package/dist/{gsc-OJDMSP6H.js.map → gsc-FILOUFCG.js.map} +0 -0
  1054. /package/dist/{history-LXRFZNW7.js.map → history-6LLGAK7B.js.map} +0 -0
  1055. /package/dist/{history-RYTNMGU5.js.map → history-H2SHADAM.js.map} +0 -0
  1056. /package/dist/{history-XDYDNQWK.js.map → history-LJG64M6P.js.map} +0 -0
  1057. /package/dist/{hubspot-MRUCRJLL.js.map → hubspot-6JDARLIU.js.map} +0 -0
  1058. /package/dist/{ideas-TT24LJR5.js.map → ideas-MTWJDRRK.js.map} +0 -0
  1059. /package/dist/{images-PLYPUXM2.js.map → images-RIFC6D3H.js.map} +0 -0
  1060. /package/dist/{ingest-CSPC3RUK.js.map → ingest-K45T4OLM.js.map} +0 -0
  1061. /package/dist/{ingest-MSPQX3Z6.js.map → ingest-MSS52UO5.js.map} +0 -0
  1062. /package/dist/{insights-LZJZGNJZ.js.map → insights-AVNMRFQ4.js.map} +0 -0
  1063. /package/dist/{insights-H6M6VI43.js.map → insights-TBIT6DTF.js.map} +0 -0
  1064. /package/dist/{inspect-VD6CB2NA.js.map → inspect-EBGYJOZ3.js.map} +0 -0
  1065. /package/dist/{intent-HXRSLFIO.js.map → intent-URHTU4AK.js.map} +0 -0
  1066. /package/dist/{job-UFGGBDG7.js.map → job-OJB6KIDV.js.map} +0 -0
  1067. /package/dist/{job-create-XM4NH322.js.map → job-create-C6FGCDW4.js.map} +0 -0
  1068. /package/dist/{job-status-47L5Z57J.js.map → job-status-4RJHESID.js.map} +0 -0
  1069. /package/dist/{keyword-gap-WUHMSTNR.js.map → keyword-gap-WXM6SN6A.js.map} +0 -0
  1070. /package/dist/{keyword-metrics-NJV3WR75.js.map → keyword-metrics-57MUTYMH.js.map} +0 -0
  1071. /package/dist/{keywords-for-site-B7MUDHFH.js.map → keywords-for-site-ABZS7O5B.js.map} +0 -0
  1072. /package/dist/{landing-RKOEVY7L.js.map → landing-AXCYLUQZ.js.map} +0 -0
  1073. /package/dist/{languages-SVTYYYOC.js.map → languages-6XTVTFZC.js.map} +0 -0
  1074. /package/dist/{leads-HFB5UXZJ.js.map → leads-C5BUBBLZ.js.map} +0 -0
  1075. /package/dist/{learn-XNN3DGDF.js.map → learn-M64GVGPX.js.map} +0 -0
  1076. /package/dist/{line-item-writes-VEJ5Y6X4.js.map → line-item-writes-HYLWBQTM.js.map} +0 -0
  1077. /package/dist/{line-items-U6L2TMPG.js.map → line-items-Y4THDHSE.js.map} +0 -0
  1078. /package/dist/{link-ENZQAISO.js.map → link-BU7YCL2M.js.map} +0 -0
  1079. /package/dist/{linkedin-person-3RCX4MI3.js.map → linkedin-person-FEIY7FYQ.js.map} +0 -0
  1080. /package/dist/{list-VYTHVUDP.js.map → list-BKIL7O4G.js.map} +0 -0
  1081. /package/dist/{list-GPTYUCSX.js.map → list-H3C345WG.js.map} +0 -0
  1082. /package/dist/{list-AF522LRC.js.map → list-UGTDZ7YI.js.map} +0 -0
  1083. /package/dist/{locations-7EBZ6KRH.js.map → locations-F4365X4S.js.map} +0 -0
  1084. /package/dist/{locations-5SLLGWZO.js.map → locations-HOI7AUZ2.js.map} +0 -0
  1085. /package/dist/{log-NJR3FJWN.js.map → log-54SJV6MW.js.map} +0 -0
  1086. /package/dist/{lookup-OU6CLATK.js.map → lookup-QNLX2535.js.map} +0 -0
  1087. /package/dist/{map-LIYQCWXU.js.map → map-BPPGQGDV.js.map} +0 -0
  1088. /package/dist/{mcp-QDOAKB3A.js.map → mcp-EXOMBMYL.js.map} +0 -0
  1089. /package/dist/{media-YKCCMLXL.js.map → media-MITWBYVZ.js.map} +0 -0
  1090. /package/dist/{media-DGV2AMZI.js.map → media-WGIEUEZW.js.map} +0 -0
  1091. /package/dist/{media-sources-LFSDIPUB.js.map → media-sources-XEC72K7X.js.map} +0 -0
  1092. /package/dist/{members-KGKQQFMN.js.map → members-VDON57BE.js.map} +0 -0
  1093. /package/dist/{meta-5TRG7RTQ.js.map → meta-NUBBKE2V.js.map} +0 -0
  1094. /package/dist/{metrics-WRERNMRK.js.map → metrics-V6FAZO5A.js.map} +0 -0
  1095. /package/dist/{models-SITHUNAA.js.map → models-TSMFIOZU.js.map} +0 -0
  1096. /package/dist/{normalize-DQPKM3MG.js.map → normalize-632DD2HJ.js.map} +0 -0
  1097. /package/dist/{options-XIH7YPEG.js.map → options-TZYZQZ3M.js.map} +0 -0
  1098. /package/dist/{organization-BUSXIGA4.js.map → organization-FYRXSGB4.js.map} +0 -0
  1099. /package/dist/{output-7X5WPPCA.js.map → output-HZW7LNUL.js.map} +0 -0
  1100. /package/dist/{pages-6YMPZDEY.js.map → pages-UH6XEZBO.js.map} +0 -0
  1101. /package/dist/{performance-PU4NHFUE.js.map → performance-JKXHQIAV.js.map} +0 -0
  1102. /package/dist/{performance-Y2DTYSFV.js.map → performance-OF3N43OP.js.map} +0 -0
  1103. /package/dist/{pixels-WTTLC4O5.js.map → pixels-KXA6R3G3.js.map} +0 -0
  1104. /package/dist/{pixels-DZDVNIVL.js.map → pixels-PYNK73UG.js.map} +0 -0
  1105. /package/dist/{plan-JAWESWJN.js.map → plan-4OYUV2EF.js.map} +0 -0
  1106. /package/dist/{preview-JZXGR4KN.js.map → preview-7E4E3QPT.js.map} +0 -0
  1107. /package/dist/{preview-3UOBVP6M.js.map → preview-FPBM75L2.js.map} +0 -0
  1108. /package/dist/{promoted-tweet-writes-6Y4MDPBH.js.map → promoted-tweet-writes-IJRBFK7W.js.map} +0 -0
  1109. /package/dist/{promoted-tweets-JAR2W6KC.js.map → promoted-tweets-7PYH3RPV.js.map} +0 -0
  1110. /package/dist/{properties-Z5S3LRJ5.js.map → properties-RDOGNY2O.js.map} +0 -0
  1111. /package/dist/{publish-MDVPC77V.js.map → publish-MNSDFPEQ.js.map} +0 -0
  1112. /package/dist/{query-3QFT42PG.js.map → query-GMGWJW3X.js.map} +0 -0
  1113. /package/dist/{query-KKXCMH3Q.js.map → query-K7R5GQ4E.js.map} +0 -0
  1114. /package/dist/{query-QXKGVHZL.js.map → query-PO3RT7BR.js.map} +0 -0
  1115. /package/dist/{questionnaire-U7UYICEA.js.map → questionnaire-4OH6K2BF.js.map} +0 -0
  1116. /package/dist/{read-ENUS7P3L.js.map → read-MU5XGWMK.js.map} +0 -0
  1117. /package/dist/{reddit-ZPKVVZGP.js.map → reddit-JFFMZLJS.js.map} +0 -0
  1118. /package/dist/{refresh-V34YWN3W.js.map → refresh-EJ7WKW3H.js.map} +0 -0
  1119. /package/dist/{release-WRNUOSHB.js.map → release-AFRLCZWB.js.map} +0 -0
  1120. /package/dist/{relevant-pages-OFKZYWR3.js.map → relevant-pages-4YGN3I2U.js.map} +0 -0
  1121. /package/dist/{remove-HKWV7P27.js.map → remove-QD4PITBL.js.map} +0 -0
  1122. /package/dist/{reopen-VHHYVAKC.js.map → reopen-JSC6AVJC.js.map} +0 -0
  1123. /package/dist/{research-G5A2WXVK.js.map → research-MMFUFZGS.js.map} +0 -0
  1124. /package/dist/{research-773Y7GT4.js.map → research-SRISCVBM.js.map} +0 -0
  1125. /package/dist/{reset-GFJ3AKF5.js.map → reset-752CNET3.js.map} +0 -0
  1126. /package/dist/{reset-MVTWA3HT.js.map → reset-R3TQAHRU.js.map} +0 -0
  1127. /package/dist/{resolve-JRSSTIAF.js.map → resolve-EWHSJNBX.js.map} +0 -0
  1128. /package/dist/{retry-AGHA6IVT.js.map → retry-DVHDVHVP.js.map} +0 -0
  1129. /package/dist/{retry-LDJ6FZCZ.js.map → retry-PVULTONO.js.map} +0 -0
  1130. /package/dist/{rules-Y75KR2PC.js.map → rules-4YTY57FM.js.map} +0 -0
  1131. /package/dist/{run-ZLHQNLCF.js.map → run-PCZRYL42.js.map} +0 -0
  1132. /package/dist/{run-NFLKYVIC.js.map → run-PRSAUWAJ.js.map} +0 -0
  1133. /package/dist/{schedule-45CJDHIX.js.map → schedule-6YTZBCZA.js.map} +0 -0
  1134. /package/dist/{scheduled-agents-72MWHK63.js.map → scheduled-agents-XCPU57LU.js.map} +0 -0
  1135. /package/dist/{schema-VX66FH4O.js.map → schema-4PS5BDG3.js.map} +0 -0
  1136. /package/dist/{search-Y6TS5UZS.js.map → search-IMZD5RGD.js.map} +0 -0
  1137. /package/dist/{sends-4ZO6BNZ4.js.map → sends-I2B6F5NW.js.map} +0 -0
  1138. /package/dist/{setup-links-Y4YYDQBK.js.map → setup-links-PTL6RF2J.js.map} +0 -0
  1139. /package/dist/{shared-UPMEBTVP.js.map → shared-Z7INVKCZ.js.map} +0 -0
  1140. /package/dist/{shopify-HGFUHYT7.js.map → shopify-SDZZ5HTA.js.map} +0 -0
  1141. /package/dist/{site-WZ654OP3.js.map → site-NGQ7K6UD.js.map} +0 -0
  1142. /package/dist/{sitemaps-P3K5Z4TW.js.map → sitemaps-EOMSRKOD.js.map} +0 -0
  1143. /package/dist/{sites-TURWC53D.js.map → sites-6M73AONG.js.map} +0 -0
  1144. /package/dist/{sources-FCBFLR2J.js.map → sources-NKFSCI6M.js.map} +0 -0
  1145. /package/dist/{sources-7ZFY3VEZ.js.map → sources-O4CQ5KSX.js.map} +0 -0
  1146. /package/dist/{stats-XNKAJD2Z.js.map → stats-MFEH2TSW.js.map} +0 -0
  1147. /package/dist/{status-L7LYUD3F.js.map → status-DLYRPGFS.js.map} +0 -0
  1148. /package/dist/{stock-73PLAUYU.js.map → stock-RDCDVBHX.js.map} +0 -0
  1149. /package/dist/{studies-5G67ODR2.js.map → studies-SSA3SR2L.js.map} +0 -0
  1150. /package/dist/{studio-D2OMFCZZ.js.map → studio-MBHPDGMN.js.map} +0 -0
  1151. /package/dist/{sync-XBC3PSSV.js.map → sync-BEW3TZP7.js.map} +0 -0
  1152. /package/dist/{sync-QVEUQKU5.js.map → sync-SI25TKY5.js.map} +0 -0
  1153. /package/dist/{sync-definition-IM2NY5QC.js.map → sync-definition-RECCA3QH.js.map} +0 -0
  1154. /package/dist/{tag-manager-3GIW6BPB.js.map → tag-manager-JFC6YYVP.js.map} +0 -0
  1155. /package/dist/{tags-UNUZVGUA.js.map → tags-IJIGZYR3.js.map} +0 -0
  1156. /package/dist/{tags-2KNOJ7A6.js.map → tags-K4HIKHNU.js.map} +0 -0
  1157. /package/dist/{tags-COALQ2CT.js.map → tags-OTA55BQ6.js.map} +0 -0
  1158. /package/dist/{tags-MVC56SHA.js.map → tags-QF2V4B3M.js.map} +0 -0
  1159. /package/dist/{tags-HCJTTLSR.js.map → tags-SK7WXMBS.js.map} +0 -0
  1160. /package/dist/{targeting-constants-RJS2STR5.js.map → targeting-constants-RF2732EW.js.map} +0 -0
  1161. /package/dist/{targeting-criteria-SMBIEM7U.js.map → targeting-criteria-7BUUYDYC.js.map} +0 -0
  1162. /package/dist/{targets-BNH37YAQ.js.map → targets-7V3NCQSD.js.map} +0 -0
  1163. /package/dist/{terms-AATAGKPT.js.map → terms-XFL6QO7A.js.map} +0 -0
  1164. /package/dist/{testimonials-IIAT5IDM.js.map → testimonials-XYD5DLBJ.js.map} +0 -0
  1165. /package/dist/{top-companies-PY2NL2GS.js.map → top-companies-LI26TONY.js.map} +0 -0
  1166. /package/dist/{transcript-7WFXVRVW.js.map → transcript-FTHDWMGU.js.map} +0 -0
  1167. /package/dist/{triggers-RBD2XGNG.js.map → triggers-3LHJVK5P.js.map} +0 -0
  1168. /package/dist/{tweets-MLDLLLDB.js.map → tweets-6PQHJXJC.js.map} +0 -0
  1169. /package/dist/{unlink-5IMEUVIS.js.map → unlink-BMOUBGWO.js.map} +0 -0
  1170. /package/dist/{unstage-65DUBYNZ.js.map → unstage-O23ILHCY.js.map} +0 -0
  1171. /package/dist/{unstage-DSOVSWEK.js.map → unstage-YEW5KXJL.js.map} +0 -0
  1172. /package/dist/{update-HSS6CVUK.js.map → update-2IWZA5UU.js.map} +0 -0
  1173. /package/dist/{update-XWL3Q5QY.js.map → update-G7YZICSU.js.map} +0 -0
  1174. /package/dist/{update-FIU2ECYQ.js.map → update-T5INCQJZ.js.map} +0 -0
  1175. /package/dist/{update-7JVV5ZL3.js.map → update-UTQVTG45.js.map} +0 -0
  1176. /package/dist/{upload-B5SM33MK.js.map → upload-UXYJDA2U.js.map} +0 -0
  1177. /package/dist/{url-options-4J3FRXHO.js.map → url-options-Y7I5EL55.js.map} +0 -0
  1178. /package/dist/{url-params-TGCGWKAJ.js.map → url-params-PE4XAQNH.js.map} +0 -0
  1179. /package/dist/{videos-NITQKILV.js.map → videos-AHOLXU42.js.map} +0 -0
  1180. /package/dist/{videos-FMV4AVB2.js.map → videos-EVPJHY3B.js.map} +0 -0
  1181. /package/dist/{viewer-check-2W6BTVQV.js.map → viewer-check-NA4TMNY4.js.map} +0 -0
  1182. /package/dist/{web-K2EMYVCD.js.map → web-7EODEH25.js.map} +0 -0
  1183. /package/dist/{winning-ads-Q3RXH7EC.js.map → winning-ads-5UKX6QV7.js.map} +0 -0
  1184. /package/dist/{write-commands-XLZCRVTU.js.map → write-commands-LHEJESKL.js.map} +0 -0
  1185. /package/dist/{write-commands-OBQPQUIE.js.map → write-commands-SD6DXVNK.js.map} +0 -0
  1186. /package/dist/{x-PW43O6JS.js.map → x-R72UTFQT.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/creatives/translate.ts","../src/commands/creatives/translate-ad.ts","../src/commands/creatives/translate-model.ts"],"sourcesContent":["/**\n * `baker creatives translate --slug <ad> --to es-MX,es-CO`: the command around `translateAd`. Local\n * file work and one text call, so no backend route: the new ads reach the dashboard through\n * `canvas sync-definition`, as `creatives make --series` does, and the call's spend waits in the\n * canvas cache for the next run record to bill (`holdUnbilledSpend`).\n */\nimport { readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { defineCommand } from \"citty\";\nimport { askJev } from \"../../engine/nodes/local/lib/jev.ts\";\nimport { askAboutImages, RENDER_REVIEW_MODEL, type ReviewUsage } from \"../../engine/nodes/local/lib/render-review.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { runBaker as baker } from \"../baker-child.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { holdUnbilledSpend } from \"../canvas/unbilled-spend.ts\";\nimport { translateAd, translateEnvelope } from \"./translate-ad.ts\";\nimport { type Failure, quoteLineQuestion } from \"./translate-model.ts\";\n\n/** How long the one call for every language may take. */\nconst TRANSLATE_TIMEOUT_MS = 120_000;\n\nconst DESCRIPTION = `The same static ad in other languages. Each language becomes its own creative, <ad>-<lang>, made as an ad of the series <ad> leads: its ready picture with only the words changed, so the design is never made again per language. Every language is translated in one call (transcreated for the market, same role and length per line, brand names, prices and numbers kept); seconds, nothing rendered. The ad must have a ready version.\n\nStart here:\n baker creatives translate --slug spring-offer --to es-MX,es-CO,pt-BR # one ad per country: Mexico and Colombia are two ads\n baker creatives translate --slug spring-offer --to de,fr # a language with no country: its neutral variety\n baker creatives translate --slug spring-offer --to de --copy-file de.json # your own lines: {\"de\": [\"line 1\", \"line 2\"]}\n baker creatives translate --slug spring-offer --to de --copy-file de.json # only some lines yours, the model writes the rest: {\"de\": {\"headline\": \"…\", \"3\": \"…\"}}\n baker creatives translate --slug spring-offer --to es-MX --note \"Informal tú. Keep 'Pro' in English.\" # brief the translator\nTo change one line of one language after: edit src/creatives/<ad>-<lang>/prompt.json copy, then baker canvas run --series <ad>.\nTen angle ads in three languages: one design (the lead), the angle ads (creatives make <idea> --series <lead>), then translate each angle ad. Never a new canvas or a new design per language.\nThen: baker canvas run --series spring-offer (renders every language at once). Adding a language later leaves the ones made as they are.`;\n\nconst ARGS = {\n slug: {\n type: \"string\",\n required: true,\n description: \"The ad to translate (its creative slug); it must have a ready version\",\n },\n to: {\n type: \"string\",\n required: true,\n description:\n \"The languages, comma-separated BCP-47 codes: es-MX,es-CO,pt-BR (a country's own variety) or de,fr. One new creative each: <slug>-<tag in lowercase>\",\n },\n \"copy-file\": {\n type: \"string\",\n required: false,\n description:\n 'A JSON file with your own lines. A language as an array is every line, in the ad\\'s order, no model asked: {\"es\": [\"line 1\", \"line 2\"]}. A language as an object is only the lines you write, by number (from 1) or role, and the model writes the rest: {\"de\": {\"headline\": \"…\", \"3\": \"…\"}}. Your words for a line also win over the reading that it is a customer\\'s, unless it is signed as theirs',\n },\n note: {\n type: \"string\",\n required: false,\n description:\n \"Your instructions for the translator, as you would brief a copywriter: the tone, tú or usted, a term to keep in English, what the market calls the product. A customer's words stay as they said them whatever it says\",\n },\n again: {\n type: \"boolean\",\n required: false,\n default: false,\n description:\n \"Translate a language already made again (after the ad's words changed); without it, a made language is left as it is\",\n },\n} as const;\n\nregisterSchema({ command: \"creatives.translate\", description: DESCRIPTION, args: ARGS });\n\nfunction fail(error: Failure): never {\n writeJson({ ok: false, error });\n process.exit(1);\n}\n\nasync function readCopyFile(file: string): Promise<unknown> {\n try {\n return JSON.parse(await readFile(path.resolve(file), \"utf8\"));\n } catch (e) {\n fail({\n code: \"translate_copy_file_unreadable\",\n message: `The copy file ${file} could not be read as JSON (${e instanceof Error ? e.message : String(e)}).`,\n fix: 'Write it as {\"<lang>\": [\"line 1\", \"line 2\"]}, one array per language.',\n });\n }\n}\n\nexport const translateCommand = defineCommand({\n meta: { name: \"translate\", description: DESCRIPTION },\n args: ARGS,\n async run({ args }) {\n const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();\n const copyFile = typeof args[\"copy-file\"] === \"string\" && args[\"copy-file\"] ? args[\"copy-file\"] : undefined;\n const copy = copyFile ? await readCopyFile(copyFile) : undefined;\n const spent: ReviewUsage[] = [];\n const result = await translateAd(root, String(args.slug), String(args.to), {\n ask: (prompt) =>\n askAboutImages(RENDER_REVIEW_MODEL, [], prompt, (usage) => spent.push(usage), TRANSLATE_TIMEOUT_MS).catch(\n () => null,\n ),\n ...(copy !== undefined ? { copy } : {}),\n again: args.again === true,\n ...(typeof args.note === \"string\" && args.note.trim() ? { note: args.note.trim() } : {}),\n sync: (dir) => baker([\"canvas\", \"sync-definition\", dir, \"--title\"]),\n judgeQuotes: (texts) => askJev(texts.map(quoteLineQuestion), (usage) => spent.push(usage)),\n });\n // No run record carries this call: the next render of this workspace bills it. The ads are made\n // by now, so a cache that cannot be written never costs the command its answer.\n await holdUnbilledSpend(path.join(root, \"canvas\", \".cache\"), spent).catch(() => undefined);\n if (\"code\" in result) fail(result);\n writeJson(translateEnvelope(result));\n },\n});\n","/**\n * `baker creatives translate --slug <ad> --to es,de`: the same ad in other languages. Each\n * language is a new creative, `<ad>-<lang>`, made as an ad of the series `<ad>` leads: the ad's\n * ready picture with only its words changed to theirs, so the design is never made again per\n * language. Every language is translated in one text call (or read from the agent's own file);\n * nothing is rendered here: `baker canvas run --series <ad>` renders them all at once.\n */\nimport { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type { CreativesRunData } from \"@baker/api\";\nimport { readAdSpec } from \"../../engine/scaffold/static-ad-spec.ts\";\nimport { languageName, languageTag, sameTag, tagSlug } from \"../../language.ts\";\nimport { parseDefinitionStrategyFields } from \"../canvas/creative-definition.ts\";\nimport { leadVersion, seriesLeadsAbove, writeSeriesMemberCanvas } from \"../canvas/series-member.ts\";\nimport {\n acceptTranslations,\n buildTranslatePrompt,\n customersWordsAmong,\n type Failure,\n type LineOverrides,\n lineOverrides,\n MESSAGE_ROLE,\n numberedLines,\n parseLanguages,\n signedLines,\n translatedDefinition,\n translatedSpec,\n unknownLineKeys,\n} from \"./translate-model.ts\";\n\n/** What became of one language. */\nexport type Translation = {\n language: string;\n creative: string;\n status: \"made\" | \"exists\" | \"refused\";\n error?: Failure;\n /** `made`: the lines kept as a customer said them, untranslated. */\n kept?: string[];\n /** Of those, the numbers (from 1) of the lines only judged a customer's, which the agent may give its own words for. */\n judged?: number[];\n};\n\nexport type Translated = {\n source: string;\n sourceLanguage?: string;\n leadsAbove: string[];\n translations: Translation[];\n /** The ad's prompt.json was changed after its last render: the translations are of the version rendered. */\n changedSinceRender?: true;\n};\n\n/** The spec as an ad spec, comparable; null when it does not read as one. Pure. */\nfunction comparable(spec: unknown): string | null {\n try {\n return JSON.stringify(readAdSpec(spec));\n } catch {\n return null;\n }\n}\n\n/** Whether the source's prompt.json now says something else than the version rendered. */\nasync function changedSinceRender(root: string, source: string, rendered: unknown): Promise<boolean> {\n const raw = await readFile(path.join(creativeDir(root, source), \"prompt.json\"), \"utf8\").catch(() => null);\n if (raw === null) return false;\n let now: unknown;\n try {\n now = JSON.parse(raw);\n } catch {\n return false;\n }\n const [a, b] = [comparable(now), comparable(rendered)];\n return a !== null && b !== null && a !== b;\n}\n\ntype Deps = {\n /** The text model, asked once for every language; its parsed JSON answer, or null. */\n ask: (prompt: string) => Promise<unknown>;\n /** The lines the agent wrote itself (`--copy-file`): no model is asked. */\n copy?: unknown;\n /** The agent's instructions for the translator: the tone, the form of address, terms to keep. */\n note?: string;\n /** Translate a language already made again (its words), instead of leaving it as it is. */\n again?: boolean;\n sync: (dir: string) => Promise<unknown>;\n fetchRecord?: (runId: string) => Promise<CreativesRunData | null>;\n /** Jev: how likely each line is a customer's own words; null when it could not answer. */\n judgeQuotes?: (texts: string[]) => Promise<number[] | null>;\n};\n\n/** The creative a language of `source` is: `<source>-<tag>`, the tag lowercase (`spring-offer-es-mx`). */\nexport const translationSlug = (source: string, language: string) => `${source}-${tagSlug(language)}`;\n\nconst creativeDir = (root: string, slug: string) => path.join(root, \"src\", \"creatives\", slug);\n\nfunction definitionOf(root: string, slug: string): Promise<string | null> {\n return readFile(path.join(creativeDir(root, slug), \"_definition.md\"), \"utf8\").catch(() => null);\n}\n\n/** The language the source is in: its `_definition.md`'s, else its market's. */\nfunction sourceLanguageOf(definition: string, spec: Record<string, unknown>): string | undefined {\n const market = (spec.viewer as { market?: { language?: unknown } } | undefined)?.market?.language;\n return (\n parseDefinitionStrategyFields(definition).language ??\n (typeof market === \"string\" ? (languageTag(market) ?? undefined) : undefined)\n );\n}\n\n/**\n * What each language asked comes to before any words are written: already made (left as it is\n * unless `again`), its slug taken by another creative, or to translate.\n */\nasync function planLanguages(\n root: string,\n source: string,\n languages: readonly string[],\n again: boolean,\n): Promise<{ settled: Translation[]; pending: string[] }> {\n const settled: Translation[] = [];\n const pending: string[] = [];\n for (const language of languages) {\n const creative = translationSlug(source, language);\n const existing = await definitionOf(root, creative);\n const fields = existing === null ? null : parseDefinitionStrategyFields(existing);\n const ours = fields?.seriesLead === source && sameTag(fields.language ?? \"\", language);\n if (!fields || (again && ours)) {\n pending.push(language);\n } else if (ours) {\n settled.push({ language, creative, status: \"exists\" });\n } else {\n settled.push({\n language,\n creative,\n status: \"refused\",\n error: {\n code: \"translate_slug_taken\",\n message: `\"${creative}\" is already another creative, not the ${languageName(language) ?? language} version of \"${source}\".`,\n fix: `Rename or remove src/creatives/${creative}/ if it is a leftover, then translate again.`,\n },\n });\n }\n }\n return { settled, pending };\n}\n\n/**\n * The languages a copy file gives in full: every line in order, the printed lines alone (the message\n * then stays the source's), or every printed line by number or role. Pure.\n */\nfunction wordsInFile(\n copy: unknown,\n pending: readonly string[],\n overrides: LineOverrides,\n lines: ReadonlyArray<{ text: string; role?: string }>,\n): Record<string, string[]> {\n const printed = lines.flatMap((l, i) => (l.role === MESSAGE_ROLE ? [] : [i]));\n const full = acceptTranslations(copy, pending, lines.length);\n const printedOnly = printed.length < lines.length ? acceptTranslations(copy, pending, printed.length) : {};\n const byLine = Object.entries(overrides).flatMap(([language, given]) =>\n printed.every((i) => given[i] !== undefined) ? [[language, printed.map((i) => given[i] ?? \"\")] as const] : [],\n );\n return { ...Object.fromEntries(byLine), ...printedOnly, ...full };\n}\n\n/**\n * Each pending language's lines: the agent's own (`copy`) where its file gives them all, else one\n * model call for every other language, with any line the file gives for it (`lineOverrides`) kept\n * as the agent wrote it.\n */\nasync function wordsFor(\n pending: readonly string[],\n overrides: LineOverrides,\n lines: ReadonlyArray<{ text: string; role?: string }>,\n context: { from?: string; brand?: string },\n deps: Pick<Deps, \"ask\" | \"copy\" | \"note\">,\n): Promise<{ words: Record<string, string[]>; asked: string[] }> {\n if (pending.length === 0) return { words: {}, asked: [] };\n const fromFile = deps.copy === undefined ? {} : wordsInFile(deps.copy, pending, overrides, lines);\n const asked = deps.copy === undefined ? [...pending] : pending.filter((l) => overrides[l] && !fromFile[l]);\n const note = deps.note ? { note: deps.note } : {};\n const answer = asked.length > 0 ? await deps.ask(buildTranslatePrompt(lines, asked, { ...context, ...note })) : null;\n const answered = asked.length > 0 ? acceptTranslations(answer, asked, lines.length) : {};\n const words = { ...fromFile };\n for (const language of asked) {\n const written = answered[language];\n if (written) words[language] = written.map((text, i) => overrides[language]?.[i] ?? text);\n }\n return { words, asked };\n}\n\n/** The ad `source` in each language `to` names, or why none could be made. */\nexport async function translateAd(root: string, source: string, to: string, deps: Deps): Promise<Translated | Failure> {\n const version = await leadVersion(root, source, deps.fetchRecord);\n if (\"refused\" in version) return version.refused;\n const spec = version.spec as Record<string, unknown>;\n if (spec.native) {\n return {\n code: \"translate_native_unsupported\",\n message: `\"${source}\" is a copy of a screen people know (a post, a chat, a review wall): its words are not lines of copy to translate.`,\n fix: \"Make it in the other language as its own ad: baker creatives make <idea> with the words written in that language.\",\n };\n }\n const sourceDefinition = (await definitionOf(root, source)) ?? \"---\\nkind: static\\n---\\n\";\n const sourceLanguage = sourceLanguageOf(sourceDefinition, spec);\n const asked = parseLanguages(to, sourceLanguage);\n if (\"code\" in asked) return asked;\n\n const { settled, pending } = await planLanguages(root, source, asked.languages, deps.again === true);\n const lines = version.lead.copy;\n // A customer's words stay theirs: translated, they would be words nobody said under their name.\n const quoted = pending.length > 0 ? await customersWordsAmong(lines, deps.judgeQuotes) : new Set<number>();\n const signed = signedLines(lines);\n const overrides = deps.copy !== undefined ? lineOverrides(deps.copy, pending, lines) : {};\n // The agent's own words for a line win over the judge's reading of it, never over a signature.\n const quotedIn = (language: string) =>\n new Set([...quoted].filter((i) => overrides[language]?.[i] === undefined || signed.has(i)));\n const unchanged = pending.filter((language) => lines.every((_, i) => quotedIn(language).has(i)));\n const open = pending.filter((language) => !unchanged.includes(language));\n const brand = readAdSpec(spec).brand?.name;\n // What the ad says is asked in the same call, so the team reads it in the ad's own language.\n const message = parseDefinitionStrategyFields(sourceDefinition).message;\n const marked = lines.map((line, i) => (quoted.has(i) ? { ...line, customersWords: true } : line));\n const asks = message ? [...marked, { text: message, role: MESSAGE_ROLE }] : marked;\n const { words, asked: modelAsked } = await wordsFor(\n open,\n overrides,\n asks,\n { ...(sourceLanguage ? { from: sourceLanguage } : {}), ...(brand ? { brand } : {}) },\n deps,\n );\n const translations = [...settled, ...unchanged.map((language) => nothingToTranslate(source, language))];\n for (const language of open) {\n translations.push(\n await makeTranslation(\n root,\n {\n source,\n language,\n sourceDefinition,\n spec,\n lines,\n quoted: quotedIn(language),\n signed,\n words: words[language],\n fromModel: modelAsked.includes(language),\n },\n deps,\n ),\n );\n }\n const order = new Map(asked.languages.map((l, i) => [l, i]));\n translations.sort((a, b) => (order.get(a.language) ?? 0) - (order.get(b.language) ?? 0));\n return {\n source,\n ...(sourceLanguage ? { sourceLanguage } : {}),\n leadsAbove: await seriesLeadsAbove(root, source),\n translations,\n ...((await changedSinceRender(root, source, version.spec)) ? { changedSinceRender: true as const } : {}),\n };\n}\n\n/**\n * A language for an ad whose every line is a customer's words, kept as they said them: it would be\n * the same ad, which the series run refuses, and the words left to change are the customer's. Pure.\n */\nfunction nothingToTranslate(source: string, language: string): Translation {\n const name = languageName(language) ?? language;\n return {\n language,\n creative: translationSlug(source, language),\n status: \"refused\",\n error: {\n code: \"translate_nothing_to_translate\",\n message: `Every line of \"${source}\" is a customer's own words, kept as they said them, so in ${name} it would be the same ad.`,\n fix: `Never translate a customer's words yourself: that puts words they never said under their name. To reach ${name} speakers, run \"${source}\" as it is, or give it a line of your own (a headline or a call to action), render it, then translate again.`,\n },\n };\n}\n\n/** A language the copy file does not give in full, nor any line of it the ad has. Pure. */\nfunction copyMissing(\n language: string,\n name: string,\n lines: ReadonlyArray<{ text: string; role?: string }>,\n unknown: readonly string[],\n): Failure {\n const named = unknown.map((key) => JSON.stringify(key)).join(\", \");\n return {\n code: \"translate_copy_missing\",\n message: unknown.length\n ? `The copy file's ${name} lines ${named} name no line of the ad.`\n : `The copy file has no ${name} lines, or not one for each of the ad's ${lines.length} lines.`,\n fix: `Give \"${language}\" an array of ${lines.length} lines in the ad's order, or only the lines to change, by number or role ({\"${language}\": {\"headline\": \"…\"}}): the model writes the rest. The ad's lines: ${numberedLines(lines)}.`,\n };\n}\n\n/** One language written as an ad of the source's series: its words, its definition and its canvas. */\nasync function makeTranslation(\n root: string,\n t: {\n source: string;\n language: string;\n sourceDefinition: string;\n spec: Record<string, unknown>;\n lines: ReadonlyArray<{ text: string; role?: string }>;\n quoted: ReadonlySet<number>;\n signed: ReadonlySet<number>;\n words: string[] | undefined;\n /** The model was asked for this language's words (none were in the copy file, or only some). */\n fromModel: boolean;\n },\n deps: Deps,\n): Promise<Translation> {\n const creative = translationSlug(t.source, t.language);\n const refused = (error: Failure): Translation => ({ language: t.language, creative, status: \"refused\", error });\n const name = languageName(t.language) ?? t.language;\n if (!t.words) {\n return refused(\n !t.fromModel\n ? copyMissing(t.language, name, t.lines, unknownLineKeys(deps.copy, t.language, t.lines))\n : {\n code: \"translate_failed\",\n message: `The ${name} words could not be written.`,\n fix: `Write them yourself: --copy-file <json> with {\"${t.language}\": [${t.lines.length} lines in the ad's order]}.`,\n },\n );\n }\n const dir = creativeDir(root, creative);\n const definitionPath = path.join(dir, \"_definition.md\");\n await mkdir(dir, { recursive: true });\n await writeFile(\n path.join(dir, \"prompt.json\"),\n `${JSON.stringify(translatedSpec(t.spec, t.words, t.language, t.quoted), null, 2)}\\n`,\n \"utf8\",\n );\n const headline = Math.max(\n 0,\n t.lines.findIndex((l) => l.role === \"headline\"),\n );\n await writeFile(\n definitionPath,\n translatedDefinition(t.sourceDefinition, {\n source: t.source,\n language: t.language,\n title: t.words[headline] ?? creative,\n ...(t.words.length > t.lines.length ? { message: t.words[t.lines.length] } : {}),\n }),\n \"utf8\",\n );\n const made = await writeSeriesMemberCanvas(root, creative, {\n leadWords: true,\n ...(deps.fetchRecord ? { fetchRecord: deps.fetchRecord } : {}),\n });\n if (made === null || \"refused\" in made) {\n return refused(made?.refused ?? { code: \"translate_not_made\", message: `\"${creative}\" could not be made.` });\n }\n // The dashboard learns the translation and its series now, not at Publish.\n await deps.sync(dir);\n const kept = [...t.quoted].sort((a, b) => a - b);\n const judged = kept.filter((i) => !t.signed.has(i)).map((i) => i + 1);\n return {\n language: t.language,\n creative,\n status: \"made\",\n ...(kept.length ? { kept: kept.map((i) => t.lines[i]?.text ?? \"\") } : {}),\n ...(judged.length ? { judged } : {}),\n };\n}\n\n/** The lines a translation kept as a customer said them, and how to translate one that is the advertiser's own. Pure. */\nfunction keptHint(source: string, t: Translation): string {\n const kept = (t.kept ?? []).map((text) => JSON.stringify(text)).join(\", \");\n const [line] = t.judged ?? [];\n const change = line\n ? ` If line ${line} is the ad's own words, not a customer's, write it yourself: baker creatives translate --slug ${source} --to ${t.language} --again --copy-file with {\"${t.language}\": {\"${line}\": \"<its words in ${t.language}>\"}}; the model writes the other lines again.`\n : \"\";\n return `${t.creative}: kept as the customer said them, untranslated: ${kept}.${change}`;\n}\n\n/** What `translate` prints: each language's ad, then the one series run that renders them all. Pure. */\nexport function translateEnvelope(result: Translated) {\n const made = result.translations.filter((t) => t.status !== \"refused\").map((t) => t.creative);\n const refused = result.translations.filter((t) => t.status === \"refused\");\n const order = [...result.leadsAbove].reverse().concat(result.source);\n return {\n ok: true as const,\n data: {\n source: result.source,\n made,\n translations: result.translations.map((t) => ({ ...t, name: languageName(t.language) ?? t.language })),\n },\n hints: [\n ...(result.changedSinceRender\n ? [\n `src/creatives/${result.source}/prompt.json was changed since its last render, and every language is made from the version rendered: none of them has that change. Never say they do. To carry it: baker canvas run --slug ${result.source}, then translate again with --again.`,\n ]\n : []),\n ...(made.length > 0\n ? [\n `Next: baker canvas run --series ${result.source} renders every language at once, each the ${result.source} picture with its own words, reviewed and corrected on its own. A language already rendered from the current version of ${result.source} is not rendered again.`,\n ]\n : []),\n ...(made.length > 0\n ? [\n `To change a line of one language (a word the person wants otherwise, a line too long), edit its words in that ad's own copy, src/creatives/${made[0]}/prompt.json \\`copy\\` (never its design), then baker canvas run --series ${result.source}: only that ad is made again. To change how every line reads (tone, tú or usted, a term to keep), translate again with --again --note \"<what to change>\"; --again writes every line of that language again.`,\n ]\n : []),\n `A later change to ${result.source} (its picture or design) reaches every language on the next ${order.map((slug) => `baker canvas run --series ${slug}`).join(\", then \")}. A change to its words does not: translate again with --again for the languages to update.`,\n ...refused.map((t) => `${t.creative}: ${t.error?.message ?? \"not made\"}${t.error?.fix ? ` ${t.error.fix}` : \"\"}`),\n ...result.translations.flatMap((t) => (t.kept?.length ? [keptHint(result.source, t)] : [])),\n ],\n };\n}\n","/**\n * `baker creatives translate`, its decisions: which languages, what the model is asked, which\n * answer is kept, and what each translation is on disk (its words in the source's spec, its\n * `_definition.md`). A translation is an ad of the series the source leads: the source's picture\n * with only its words changed, so ten ads in three languages stay one design. Pure.\n */\nimport { z } from \"zod\";\nimport { isAdSpec, readAdSpec } from \"../../engine/scaffold/static-ad-spec.ts\";\nimport { isCustomersWords, isSignatureLine, maybeSigned } from \"../../engine/scaffold/static-proof.ts\";\nimport { languageName, languageRegion, languageTag, sameTag } from \"../../language.ts\";\nimport { setDefinitionFields } from \"./make-model.ts\";\nimport { withoutFields } from \"./make-series.ts\";\n\nexport type Failure = { code: string; message: string; fix?: string };\n\n/** The languages `--to` names, as lowercase tags, once each; refused when one names none or is the ad's own. */\nexport function parseLanguages(raw: string, sourceLanguage: string | undefined): { languages: string[] } | Failure {\n const asked = raw\n .split(\",\")\n .map((code) => code.trim())\n .filter(Boolean);\n if (asked.length === 0) {\n return {\n code: \"translate_language_invalid\",\n message: \"No language was named.\",\n fix: \"Name each language as a code, comma-separated: --to es,de,fr (pt-BR, es-MX for a regional variant).\",\n };\n }\n const languages: string[] = [];\n for (const code of asked) {\n const tag = languageTag(code);\n if (!tag) {\n return {\n code: \"translate_language_invalid\",\n message: `\"${code}\" is not a language code.`,\n fix: \"Name each language as a BCP-47 code: es, de, fr, pt-BR, es-MX.\",\n };\n }\n if (sourceLanguage && sameTag(tag, sourceLanguage)) {\n return {\n code: \"translate_same_language\",\n message: `The ad is already in ${languageName(tag) ?? tag}.`,\n fix: `Leave ${code} out of --to.`,\n };\n }\n if (!languages.some((l) => sameTag(l, tag))) languages.push(tag);\n }\n return { languages };\n}\n\ntype Line = { text: string; role?: string; customersWords?: boolean };\n\n/** Jev's question for one copy line: whether it is a customer's own words, the advertiser's copy aside. */\nexport const quoteLineQuestion = (text: string) => ({\n instructions: {\n question:\n \"Is `line` a customer's or reviewer's own words (a testimonial, or a quote signed with the name of the person who said it), rather than the advertiser's own copy, in whatever language it is written?\",\n line: text,\n },\n});\n\n/** At or above, Jev holds a line to be a customer's own words (scripts/quote-line-evals). */\nexport const CUSTOMERS_WORDS = 0.5;\n\n/**\n * The lines signed as a customer's by their shape: a dash and a name, a quote or signature role, or\n * the line a signature right below signs. Nobody's say-so makes them the advertiser's. Pure.\n */\nexport function signedLines(lines: readonly Line[]): Set<number> {\n const signed = new Set<number>();\n lines.forEach((line, i) => {\n if (line.role === MESSAGE_ROLE) return;\n const below = lines[i + 1];\n if (isCustomersWords(line) || (below !== undefined && isSignatureLine(below))) signed.add(i);\n });\n return signed;\n}\n\n/**\n * The indexes of `lines` that are a customer's own words: set as a quote, signed by its shape\n * alone or by a signature on the line below it, else held so by `judge` (Jev, one probability per\n * text), a line below that may sign it asked with it. Without a judge only the shape and the role\n * decide: a line nobody can tell is translated, as the advertiser's copy is.\n */\nexport async function customersWordsAmong(\n lines: readonly Line[],\n judge?: (texts: string[]) => Promise<number[] | null>,\n): Promise<Set<number>> {\n const kept = signedLines(lines);\n const open = lines.flatMap((line, i) => (line.role === MESSAGE_ROLE || kept.has(i) ? [] : [i]));\n if (!judge || open.length === 0) return kept;\n // A hyphen opening the line below may sign this one or be the advertiser's own: asked together.\n const asked = (i: number) => {\n const text = lines[i]?.text ?? \"\";\n const below = lines[i + 1]?.text;\n return below !== undefined && maybeSigned(below) && !maybeSigned(text) ? `${text}\\n${below}` : text;\n };\n const answers = await judge(open.map(asked));\n if (answers?.length !== open.length) return kept;\n for (const [k, i] of open.entries()) if ((answers[k] ?? 0) >= CUSTOMERS_WORDS) kept.add(i);\n return kept;\n}\n\n/** The role of the extra line a translation asks for: the ad's message, said in the language for the team. */\nexport const MESSAGE_ROLE = \"message\";\n\nconst Answer = z.object({ translations: z.record(z.string(), z.array(z.string()).catch([])) });\n\n/**\n * The languages the model translated fully: each line of the source answered by one non-empty\n * line, in order. A language answered short or blank is left out (refused, never half an ad). Pure.\n */\nexport function acceptTranslations(\n answer: unknown,\n languages: readonly string[],\n lineCount: number,\n): Record<string, string[]> {\n // `--copy-file` may hold the languages bare; a model may answer \"pt-BR\" for \"pt-br\".\n const wrapped =\n answer && typeof answer === \"object\" && !(\"translations\" in answer) ? { translations: answer } : answer;\n const parsed = Answer.safeParse(wrapped);\n if (!parsed.success) return {};\n const byTag = new Map(Object.entries(parsed.data.translations).map(([key, lines]) => [key.toLowerCase(), lines]));\n const kept: Record<string, string[]> = {};\n for (const language of languages) {\n const lines = byTag.get(language.toLowerCase())?.map((line) => line.trim());\n if (lines && lines.length === lineCount && lines.every(Boolean)) kept[language] = lines;\n }\n return kept;\n}\n\n/** A copy file's language given as some of its lines: each line's words, by its position in the ad. */\nexport type LineOverrides = Record<string, Record<number, string>>;\n\n/** The ad's line a copy file's key names: its number from 1, else the first line with that role. */\nexport function lineByKey(key: string, lines: readonly Line[]): number | undefined {\n if (/^\\d+$/.test(key)) {\n const n = Number(key) - 1;\n return n >= 0 && n < lines.length ? n : undefined;\n }\n const i = lines.findIndex((l) => l.role !== MESSAGE_ROLE && l.role?.toLowerCase() === key.trim().toLowerCase());\n return i === -1 ? undefined : i;\n}\n\n/**\n * The languages a copy file gives as some of their lines (`{\"de\": {\"headline\": \"…\", \"2\": \"…\"}}`):\n * those lines are the agent's words, the rest are translated. A language given as a full array is\n * `acceptTranslations`' to read; a key naming no line of the ad is left out (`unknownLineKeys`). Pure.\n */\nexport function lineOverrides(file: unknown, languages: readonly string[], lines: readonly Line[]): LineOverrides {\n const byTag = languageEntries(file);\n const out: LineOverrides = {};\n for (const language of languages) {\n const given = byTag.get(language.toLowerCase());\n if (!given || Array.isArray(given) || typeof given !== \"object\") continue;\n const words: Record<number, string> = {};\n for (const [key, text] of Object.entries(given)) {\n const i = lineByKey(key, lines);\n if (i !== undefined && typeof text === \"string\" && text.trim()) words[i] = text.trim();\n }\n if (Object.keys(words).length > 0) out[language] = words;\n }\n return out;\n}\n\n/** The keys a copy file gives `language` that name no line of the ad. Pure. */\nexport function unknownLineKeys(file: unknown, language: string, lines: readonly Line[]): string[] {\n const given = languageEntries(file).get(language.toLowerCase());\n if (!given || Array.isArray(given) || typeof given !== \"object\") return [];\n return Object.keys(given).filter((key) => lineByKey(key, lines) === undefined);\n}\n\n/** The ad's lines as a copy file names them: `1 headline: \"…\"`, one per line. Pure. */\nexport function numberedLines(lines: readonly Line[]): string {\n return lines\n .filter((l) => l.role !== MESSAGE_ROLE)\n .map((l, i) => `${i + 1}${l.role ? ` ${l.role}` : \"\"}: ${JSON.stringify(l.text)}`)\n .join(\"; \");\n}\n\n/** The file's languages by lowercase tag, whether it wraps them in `translations` or not. */\nfunction languageEntries(file: unknown): Map<string, unknown> {\n const record = file && typeof file === \"object\" && !Array.isArray(file) ? (file as Record<string, unknown>) : {};\n const languages = record.translations && typeof record.translations === \"object\" ? record.translations : record;\n return new Map(Object.entries(languages as Record<string, unknown>).map(([k, v]) => [k.toLowerCase(), v]));\n}\n\n/** What the model is asked: every language at once, line by line, for the same picture. Pure. */\nexport function buildTranslatePrompt(\n lines: readonly Line[],\n languages: readonly string[],\n context: { from?: string; brand?: string; note?: string },\n): string {\n const from = context.from ? languageName(context.from) : null;\n return [\n `These are the lines of copy printed on a finished static ad${from ? `, written in ${from}` : \"\"}. Translate them${from ? ` from ${from}` : \"\"} into each of these languages: ${languages.map((l) => `${l} (${languageName(l) ?? l})`).join(\", \")}.`,\n \"\",\n ...lines.map(\n (line, i) =>\n `${i + 1}. ${line.role === MESSAGE_ROLE ? \"[not printed: what the ad says, in one sentence, for the team that runs it] \" : line.role ? `[${line.role}] ` : \"\"}${line.customersWords ? \"[a customer's own words: copy it exactly as written, untranslated] \" : \"\"}${JSON.stringify(line.text)}`,\n ),\n \"\",\n \"Rules:\",\n \"- Transcreate as a native copywriter of that market would write the ad, not word for word: the same promise and tone, natural for the people who will see it.\",\n \"- Each line keeps its role: a headline stays a headline, a button stays a short button.\",\n \"- Keep each line about as long as the original: it is set in the same layout, in the same space, so a much longer line will not fit.\",\n `- Keep brand names${context.brand ? ` (${JSON.stringify(context.brand)})` : \"\"}, product names, numbers, prices, currencies, percentages and URLs exactly as they are.`,\n \"- Use the language's own accents and punctuation (¿ ¡ « » ß ç ã).\",\n ...varieties(languages),\n ...(context.note\n ? [\n \"\",\n `The team's own instructions for this translation. Follow them over the rules above, except that a customer's own words stay exactly as written.\\n${context.note}`,\n ]\n : []),\n \"\",\n `Reply with only this JSON, one array per language with exactly ${lines.length} lines in the order above: {\"translations\": {${languages.map((l) => `\"${l}\": [\"...\"]`).join(\", \")}}}`,\n ].join(\"\\n\");\n}\n\n/**\n * The translation's spec: the source's as it was drawn, each line's words replaced in place (its\n * role, lettering and placement kept) and, when the source names its market, that market's\n * language set, and its country when the tag names one (es-MX: Mexico). The currency stays the\n * source's: its prices are kept as they are. Everything else is the source's: the design is never the translation's own. Pure.\n */\nexport function translatedSpec(\n source: Record<string, unknown>,\n lines: readonly string[],\n language: string,\n customersWords: ReadonlySet<number> = new Set(),\n): Record<string, unknown> {\n // An older blueprint carries its words in its own shape: it is written as the ad spec it reads as.\n const spec: Record<string, unknown> = isAdSpec(source) ? source : readAdSpec(source);\n const copy = Array.isArray(spec.copy) ? (spec.copy as Array<Record<string, unknown>>) : [];\n const viewer = spec.viewer as { market?: Record<string, unknown> } | undefined;\n return {\n ...spec,\n // A customer's words stay theirs: translated, they would be words nobody said under their name.\n copy: copy.map((line, i) => (customersWords.has(i) ? line : { ...line, text: lines[i] ?? line.text })),\n ...(viewer?.market ? { viewer: { ...viewer, market: { ...viewer.market, ...marketOf(language) } } } : {}),\n };\n}\n\n/** What a translation's `_definition.md` keeps of its source's: everything but these, which are its own. */\nconst OWN_FIELDS = [\"series\", \"language\", \"title\", \"status\"];\n\n/** The translation's `_definition.md`: the source's reasons, as an ad of the source's series in `language`. Pure. */\nexport function translatedDefinition(\n source: string,\n translation: { source: string; language: string; title: string; message?: string },\n): string {\n return setDefinitionFields(withoutFields(source, OWN_FIELDS), {\n title: translation.title.slice(0, 120),\n series: translation.source,\n language: translation.language,\n status: \"draft\",\n ...(translation.message ? { message: translation.message } : {}),\n });\n}\n\n/** For each tag naming a country, the instruction to write as people there write ads. */\nfunction varieties(languages: readonly string[]): string[] {\n const regional = languages.flatMap((tag) => {\n const region = languageRegion(tag);\n return region\n ? [\n `- ${tag}: write it as people in ${region.name} write ads: its own vocabulary, spelling, idioms and form of address (tú, usted or vos as ads there use it), not a neutral one and not a neighbouring country's variety of the same language.`,\n ]\n : [];\n });\n return regional.length > 0 ? [\"\", \"Each regional variant is its own ad:\", ...regional] : [];\n}\n\n/** The market fields a tag decides: its language, and its country when it names one. */\nfunction marketOf(language: string): { language: string; country?: string } {\n const region = languageRegion(language);\n return region ? { language, country: region.code } : { language };\n}\n"],"mappings":"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","names":["readFile","path","readFile","path"]}
@@ -0,0 +1,144 @@
1
+ import {
2
+ failApi
3
+ } from "./chunk-LJYXGUQ3.js";
4
+ import "./chunk-WR5Y64OE.js";
5
+ import {
6
+ triggerCatalogSchema
7
+ } from "./chunk-YOHGEF2N.js";
8
+ import "./chunk-QV6AST5T.js";
9
+ import "./chunk-WCU362Z6.js";
10
+ import "./chunk-GIWHHCD6.js";
11
+ import "./chunk-SOPVIIUW.js";
12
+ import "./chunk-G4FG5EQO.js";
13
+ import "./chunk-R7XDGNZD.js";
14
+ import "./chunk-IMS53EQU.js";
15
+ import {
16
+ apiPost
17
+ } from "./chunk-QEREDRZO.js";
18
+ import "./chunk-JXTNP3B5.js";
19
+ import "./chunk-45D6WRCJ.js";
20
+ import {
21
+ registerSchema,
22
+ writeJson
23
+ } from "./chunk-CCYZJMZ7.js";
24
+ import "./chunk-YQSBHWOI.js";
25
+
26
+ // src/commands/scheduled-agents/triggers.ts
27
+ import { defineCommand } from "citty";
28
+ var ARGS = {
29
+ trigger: {
30
+ type: "string",
31
+ description: "One trigger in full \u2014 what makes it run, what it narrows by, its payload fields. A kind (experiment.decided) or a family prefix (experiment).",
32
+ required: false
33
+ },
34
+ group: {
35
+ type: "string",
36
+ description: "Every trigger in one group, in full, e.g. experiments, tasks, forms. The listing names each group.",
37
+ required: false
38
+ },
39
+ full: {
40
+ type: "boolean",
41
+ description: "Every trigger in full (about 25 KB). Prefer --trigger or --group.",
42
+ required: false
43
+ }
44
+ };
45
+ registerSchema({
46
+ command: "scheduled-agents.triggers",
47
+ description: "Everything that can start a scheduled agent. Bare, a compact listing of every trigger kind by group; --trigger <kind|family> or --group <id> for what each narrows by and the payload fields it hands over. Read this before proposing automation, so the trigger you name is one that exists \u2014 a time of day is only the most obvious of them, and most of what a marketer actually wants is a reaction to something.",
48
+ args: ARGS
49
+ });
50
+ function matchesTrigger(kind, query) {
51
+ const family = query.replace(/\.?\*?$/, "");
52
+ return kind === query || kind.startsWith(`${family}.`);
53
+ }
54
+ function shapeTriggerCatalog(response, filter) {
55
+ const { trigger, group } = filter;
56
+ const unfiltered = trigger === void 0 && group === void 0;
57
+ if (unfiltered && filter.full) return { ok: true, data: response };
58
+ const parsed = triggerCatalogSchema.safeParse(response);
59
+ if (!parsed.success) {
60
+ return {
61
+ ok: false,
62
+ error: {
63
+ code: "INTERNAL_ERROR",
64
+ message: "The trigger list came back in a shape this version of the CLI cannot read.",
65
+ fix: {
66
+ action: "run `baker scheduled-agents triggers --full`",
67
+ explanation: "--full prints the whole list as the server sent it, without reading it."
68
+ }
69
+ }
70
+ };
71
+ }
72
+ const catalog = parsed.data;
73
+ if (unfiltered) {
74
+ return {
75
+ ok: true,
76
+ data: {
77
+ groups: catalog.groups.map((entry) => ({
78
+ group: entry.group,
79
+ triggers: Object.fromEntries(entry.triggers.map((t) => [t.kind, t.label]))
80
+ }))
81
+ },
82
+ hints: [
83
+ "Next: `baker scheduled-agents triggers --trigger <kind>` (or a family, e.g. --trigger experiment) for what it narrows by and the payload fields to use in --when and {{payload.<field>}}."
84
+ ]
85
+ };
86
+ }
87
+ const groups = catalog.groups.filter((entry) => group === void 0 || entry.group === group).map((entry) => ({
88
+ ...entry,
89
+ triggers: entry.triggers.filter(
90
+ (t) => trigger === void 0 || matchesTrigger(t.kind, trigger)
91
+ )
92
+ })).filter((entry) => entry.triggers.length > 0);
93
+ if (groups.length === 0) {
94
+ const asked = [
95
+ trigger === void 0 ? null : `--trigger "${trigger}"`,
96
+ group === void 0 ? null : `--group "${group}"`
97
+ ].filter(Boolean);
98
+ return {
99
+ ok: false,
100
+ error: {
101
+ code: "NOT_FOUND",
102
+ message: `No trigger matches ${asked.join(" ")}.`,
103
+ fix: {
104
+ action: "run `baker scheduled-agents triggers`",
105
+ explanation: `Groups: ${catalog.groups.map((entry) => entry.group).join(", ")}. The bare command lists every trigger kind.`
106
+ }
107
+ }
108
+ };
109
+ }
110
+ return { ok: true, data: { groups, reacting: catalog.reacting } };
111
+ }
112
+ var triggersCommand = defineCommand({
113
+ meta: {
114
+ name: "triggers",
115
+ description: `Everything that can start a scheduled agent.
116
+
117
+ A scheduled agent is a trigger and a prompt. The trigger is the whole of the "when": a time, a cadence, a call-in from another tool, an event arriving (a HubSpot deal reaching a stage is one), a Form being submitted, an A/B test reaching an answer, a Task closing, a tool needing reconnecting, a publish leaving changes behind, a new review, a competitor launching ads.
118
+
119
+ Start here: the bare command lists every trigger kind by group, compactly. Then ask for the one you picked: it says what narrows it (\`pointAt\`) and the payload fields it hands over, for --when rules ("amount > 10000") and the prompt ({{payload.amount}}).
120
+
121
+ Examples:
122
+ baker scheduled-agents triggers
123
+ baker scheduled-agents triggers --trigger experiment.decided
124
+ baker scheduled-agents triggers --trigger experiment
125
+ baker scheduled-agents triggers --group tasks
126
+ Full guide: __tooling__/docs/tools/baker/scheduled-agents.md`
127
+ },
128
+ args: ARGS,
129
+ run: async ({ args }) => {
130
+ try {
131
+ const response = await apiPost("/api/scheduled-agents/triggers", {});
132
+ const shaped = shapeTriggerCatalog(response.data, { trigger: args.trigger, group: args.group, full: args.full });
133
+ writeJson(shaped);
134
+ if (!shaped.ok) process.exit(1);
135
+ } catch (err) {
136
+ failApi(err);
137
+ }
138
+ }
139
+ });
140
+ export {
141
+ shapeTriggerCatalog,
142
+ triggersCommand
143
+ };
144
+ //# sourceMappingURL=triggers-3LHJVK5P.js.map
@@ -0,0 +1,123 @@
1
+ import {
2
+ parseXApiError
3
+ } from "./chunk-FIN4ZXGJ.js";
4
+ import {
5
+ resolveXAccountId
6
+ } from "./chunk-ZICB4OI5.js";
7
+ import {
8
+ cacheGet,
9
+ cacheSet,
10
+ writeAdsJson,
11
+ writeAdsOutput,
12
+ writeJsonEnvelope
13
+ } from "./chunk-MK4HCMEA.js";
14
+ import {
15
+ ApiError,
16
+ apiGet
17
+ } from "./chunk-QEREDRZO.js";
18
+ import "./chunk-JXTNP3B5.js";
19
+ import "./chunk-45D6WRCJ.js";
20
+ import {
21
+ registerSchema
22
+ } from "./chunk-CCYZJMZ7.js";
23
+ import "./chunk-YQSBHWOI.js";
24
+
25
+ // src/commands/ads/x/tweets.ts
26
+ import { defineCommand } from "citty";
27
+ function cacheKeyFor(accountId, args) {
28
+ const today = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
29
+ return `tweets:${accountId}:${today}:${args["tweet-type"] ?? ""}:${args["timeline-type"] ?? ""}:${args["user-id"] ?? ""}`;
30
+ }
31
+ function requestParams(accountId, args) {
32
+ const params = { "account-id": accountId };
33
+ for (const key of ["tweet-type", "timeline-type", "user-id"]) {
34
+ if (args[key]) {
35
+ params[key] = String(args[key]);
36
+ }
37
+ }
38
+ if (args["no-cache"]) {
39
+ params["skip-cache"] = "true";
40
+ }
41
+ return params;
42
+ }
43
+ function toPost(tweet) {
44
+ return {
45
+ id: tweet.id_str,
46
+ text: typeof tweet.full_text === "string" ? tweet.full_text : tweet.text,
47
+ created_at: tweet.created_at,
48
+ promoted_only: tweet.nullcast === true,
49
+ handle: tweet.user?.screen_name
50
+ };
51
+ }
52
+ function hintsFor(posts) {
53
+ return posts.length === 0 ? ["This account has published no posts, so there is nothing to promote yet."] : ["Promote one with: baker ads x promoted-tweets create --line-item-id <id> --tweet-ids <id>"];
54
+ }
55
+ var TWEET_TYPES = "PUBLISHED | DRAFT";
56
+ var TIMELINE_TYPES = "ALL | ORGANIC | NULLCAST";
57
+ registerSchema({
58
+ command: "ads.x.tweets",
59
+ description: `The account's own posts, so one can be promoted by id. Start here before \`baker ads x promoted-tweets create\` \u2014 that command takes a post id, and this is the only place to get one.
60
+ A NULLCAST post ("promoted-only") never appears on the profile timeline and exists to be advertised; an ORGANIC one is a normal post that can also be promoted.`,
61
+ args: {
62
+ "account-id": { type: "string", description: "X Ads account ID", required: false },
63
+ "tweet-type": { type: "string", description: `${TWEET_TYPES} (default PUBLISHED)`, required: false },
64
+ "timeline-type": { type: "string", description: `${TIMELINE_TYPES}`, required: false },
65
+ "user-id": { type: "string", description: "Numeric id of the posting handle", required: false },
66
+ "no-cache": { type: "boolean", description: "Skip cache", required: false },
67
+ output: { type: "string", description: "Format: json|csv|md", required: false }
68
+ }
69
+ });
70
+ var tweetsCommand = defineCommand({
71
+ meta: {
72
+ name: "tweets",
73
+ description: `The account's own posts, with the id needed to promote one.
74
+
75
+ Examples:
76
+ baker ads x tweets
77
+ baker ads x tweets --timeline-type NULLCAST --output md`
78
+ },
79
+ args: {
80
+ "account-id": { type: "string", description: "X Ads account ID" },
81
+ "tweet-type": { type: "string", description: `${TWEET_TYPES} (default PUBLISHED)` },
82
+ "timeline-type": { type: "string", description: TIMELINE_TYPES },
83
+ "user-id": { type: "string", description: "Numeric id of the posting handle" },
84
+ "no-cache": { type: "boolean", description: "Skip cache" },
85
+ output: { type: "string", description: "Format: json|csv|md", default: "json" }
86
+ },
87
+ run: async ({ args }) => {
88
+ const accountId = await resolveXAccountId(args);
89
+ const useCache = !args["no-cache"];
90
+ const cacheKey = cacheKeyFor(accountId, args);
91
+ if (useCache) {
92
+ const cached = cacheGet("x-account-data", cacheKey);
93
+ if (cached) {
94
+ writeJsonEnvelope({ ok: true, data: cached.data, cached: true, hints: hintsFor(cached.data) });
95
+ return;
96
+ }
97
+ }
98
+ try {
99
+ const data = await apiGet("/api/ads/x/tweets", requestParams(accountId, args));
100
+ const posts = data.map(toPost);
101
+ if (useCache) {
102
+ cacheSet("x-account-data", cacheKey, posts, 60 * 60 * 1e3);
103
+ }
104
+ const format = args.output || "json";
105
+ if (format !== "json") {
106
+ writeAdsOutput(posts, format);
107
+ return;
108
+ }
109
+ writeJsonEnvelope({ ok: true, data: posts, hints: hintsFor(posts) });
110
+ } catch (err) {
111
+ if (err instanceof ApiError) {
112
+ writeAdsJson(parseXApiError(err.message, accountId));
113
+ process.exit(1);
114
+ }
115
+ writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
116
+ process.exit(1);
117
+ }
118
+ }
119
+ });
120
+ export {
121
+ tweetsCommand
122
+ };
123
+ //# sourceMappingURL=tweets-6PQHJXJC.js.map
@@ -0,0 +1,70 @@
1
+ import {
2
+ failApi,
3
+ failValidation,
4
+ writeOk
5
+ } from "./chunk-LNYM4PQS.js";
6
+ import "./chunk-YOHGEF2N.js";
7
+ import "./chunk-QV6AST5T.js";
8
+ import "./chunk-WCU362Z6.js";
9
+ import "./chunk-GIWHHCD6.js";
10
+ import "./chunk-SOPVIIUW.js";
11
+ import "./chunk-G4FG5EQO.js";
12
+ import "./chunk-R7XDGNZD.js";
13
+ import "./chunk-IMS53EQU.js";
14
+ import {
15
+ apiPost,
16
+ validateConvexId
17
+ } from "./chunk-QEREDRZO.js";
18
+ import "./chunk-JXTNP3B5.js";
19
+ import {
20
+ requireChatId
21
+ } from "./chunk-45D6WRCJ.js";
22
+ import {
23
+ registerSchema
24
+ } from "./chunk-CCYZJMZ7.js";
25
+ import "./chunk-YQSBHWOI.js";
26
+
27
+ // src/commands/actions/unlink.ts
28
+ import { defineCommand } from "citty";
29
+ registerSchema({
30
+ command: "actions.unlink",
31
+ description: "Stage removal of a 'blocker -> blocked' dependency. The blocked action must be claimed by current chat.",
32
+ args: {
33
+ blocker: { type: "string", description: "Blocker action ID", required: true },
34
+ blocked: { type: "string", description: "Blocked action ID (must be claimed by current chat)", required: true }
35
+ }
36
+ });
37
+ var unlinkCommand = defineCommand({
38
+ meta: {
39
+ name: "unlink",
40
+ description: "Stage removal of a dependency. Example: baker actions unlink --blocker <id> --blocked <id>"
41
+ },
42
+ args: {
43
+ blocker: { type: "string", description: "Blocker action ID", required: false },
44
+ blocked: { type: "string", description: "Blocked action ID", required: false }
45
+ },
46
+ run: async ({ args }) => {
47
+ try {
48
+ const blocker = args.blocker;
49
+ const blocked = args.blocked;
50
+ if (!blocker || !blocked) {
51
+ failValidation("--blocker and --blocked are required.");
52
+ }
53
+ validateConvexId(blocker);
54
+ validateConvexId(blocked);
55
+ const chatId = requireChatId();
56
+ await apiPost("/api/actions/unlink", {
57
+ chatId,
58
+ blockerId: blocker,
59
+ blockedId: blocked
60
+ });
61
+ writeOk();
62
+ } catch (err) {
63
+ failApi(err);
64
+ }
65
+ }
66
+ });
67
+ export {
68
+ unlinkCommand
69
+ };
70
+ //# sourceMappingURL=unlink-BMOUBGWO.js.map
@@ -0,0 +1,96 @@
1
+ import {
2
+ analyticsErrorEnvelope
3
+ } from "./chunk-YB6G3B3L.js";
4
+ import {
5
+ ANALYTICS_UNSTAGE_KINDS
6
+ } from "./chunk-PILLZPNC.js";
7
+ import "./chunk-NKQWDEB7.js";
8
+ import {
9
+ writeJsonEnvelope
10
+ } from "./chunk-MK4HCMEA.js";
11
+ import "./chunk-G4FG5EQO.js";
12
+ import {
13
+ apiPost
14
+ } from "./chunk-QEREDRZO.js";
15
+ import "./chunk-JXTNP3B5.js";
16
+ import {
17
+ requireChatId
18
+ } from "./chunk-45D6WRCJ.js";
19
+ import {
20
+ registerSchema
21
+ } from "./chunk-CCYZJMZ7.js";
22
+ import "./chunk-YQSBHWOI.js";
23
+
24
+ // src/commands/analytics/unstage.ts
25
+ import { defineCommand } from "citty";
26
+ var KIND_LIST = ANALYTICS_UNSTAGE_KINDS.join("|");
27
+ registerSchema({
28
+ command: "analytics.unstage",
29
+ description: `Take back a Measure change this chat staged, before Publish \u2014 the same as discarding its row in the change review. Name one with --kind and --ref (mapping: <platform>/<name> as \`analytics map\` prints it; conversion: the event key; send: the send id; source: the source id or src_temp_*), or pass --all to take back everything staged (all kinds, or one with --kind). Never touches anything already live.`,
30
+ args: {
31
+ kind: {
32
+ type: "string",
33
+ description: `What was staged: ${KIND_LIST}`,
34
+ required: false,
35
+ enum: [...ANALYTICS_UNSTAGE_KINDS]
36
+ },
37
+ ref: { type: "string", description: "Which staged change of that kind (see the description)", required: false },
38
+ all: { type: "boolean", description: "Take back everything staged (of --kind, or of every kind)", required: false }
39
+ }
40
+ });
41
+ function refuse(message) {
42
+ writeJsonEnvelope({ ok: false, error: { code: "VALIDATION_ERROR", message } });
43
+ process.exit(1);
44
+ }
45
+ function isUnstageKind(value) {
46
+ return ANALYTICS_UNSTAGE_KINDS.includes(value);
47
+ }
48
+ function unstageBody(args, chatId) {
49
+ if (args.kind !== void 0 && !isUnstageKind(args.kind)) {
50
+ refuse(`--kind must be one of ${KIND_LIST}.`);
51
+ }
52
+ const kind = args.kind;
53
+ if (args.all === true) {
54
+ if (args.ref !== void 0) {
55
+ refuse("Pass --ref to take back one staged change, or --all for everything \u2014 not both.");
56
+ }
57
+ return { chatId, all: true, ...kind !== void 0 ? { kind } : {} };
58
+ }
59
+ if (kind === void 0 || args.ref === void 0 || args.ref.trim() === "") {
60
+ refuse(`Pass --kind (${KIND_LIST}) with --ref to take back one staged change, or --all for everything staged.`);
61
+ }
62
+ return { chatId, kind, ref: args.ref };
63
+ }
64
+ var unstageCommand = defineCommand({
65
+ meta: {
66
+ name: "unstage",
67
+ description: "Take back a Measure change this chat staged, before Publish. Examples: baker analytics unstage --kind conversion --ref 'page:Deal won' | baker analytics unstage --kind mapping --ref google/kw | baker analytics unstage --all"
68
+ },
69
+ args: {
70
+ kind: { type: "string", description: `What was staged: ${KIND_LIST}`, required: false },
71
+ ref: { type: "string", description: "Which staged change of that kind", required: false },
72
+ all: { type: "boolean", description: "Take back everything staged", required: false }
73
+ },
74
+ run: async ({ args }) => {
75
+ try {
76
+ const body = unstageBody(
77
+ {
78
+ ...typeof args.kind === "string" ? { kind: args.kind } : {},
79
+ ...typeof args.ref === "string" ? { ref: args.ref } : {},
80
+ ...args.all === true ? { all: true } : {}
81
+ },
82
+ requireChatId()
83
+ );
84
+ const response = await apiPost("/api/analytics/draft-op/remove", body);
85
+ writeJsonEnvelope(response);
86
+ } catch (err) {
87
+ writeJsonEnvelope({ ok: false, error: analyticsErrorEnvelope(err) });
88
+ process.exit(1);
89
+ }
90
+ }
91
+ });
92
+ export {
93
+ unstageBody,
94
+ unstageCommand
95
+ };
96
+ //# sourceMappingURL=unstage-O23ILHCY.js.map
@@ -0,0 +1,88 @@
1
+ import {
2
+ failApi,
3
+ failValidation,
4
+ validateScheduledAgentRef
5
+ } from "./chunk-LJYXGUQ3.js";
6
+ import "./chunk-WR5Y64OE.js";
7
+ import "./chunk-YOHGEF2N.js";
8
+ import "./chunk-QV6AST5T.js";
9
+ import "./chunk-WCU362Z6.js";
10
+ import "./chunk-GIWHHCD6.js";
11
+ import "./chunk-SOPVIIUW.js";
12
+ import "./chunk-G4FG5EQO.js";
13
+ import "./chunk-R7XDGNZD.js";
14
+ import "./chunk-IMS53EQU.js";
15
+ import {
16
+ apiPost
17
+ } from "./chunk-QEREDRZO.js";
18
+ import "./chunk-JXTNP3B5.js";
19
+ import {
20
+ requireChatId
21
+ } from "./chunk-45D6WRCJ.js";
22
+ import {
23
+ registerSchema,
24
+ writeJson
25
+ } from "./chunk-CCYZJMZ7.js";
26
+ import "./chunk-YQSBHWOI.js";
27
+
28
+ // src/commands/scheduled-agents/unstage.ts
29
+ import { defineCommand } from "citty";
30
+ registerSchema({
31
+ command: "scheduled-agents.unstage",
32
+ description: "Take back what this chat staged on one scheduled agent, before Publish \u2014 the same as discarding its row in the change list. With --index, only that one change (its `index` in `baker scheduled-agents list` \u2192 draft.ops). Taking back a create also takes back the edits staged on it. Never touches a published item: to change or remove one, stage update/delete instead.",
33
+ args: {
34
+ id: { type: "string", description: "Published scheduled agent ID or temp_agent_* draft ID", required: true },
35
+ index: {
36
+ type: "string",
37
+ description: "Only this staged change, by its index in `list` \u2192 draft.ops. Indexes shift after each unstage \u2014 list again before the next one.",
38
+ required: false
39
+ }
40
+ }
41
+ });
42
+ function unstageBody(args, chatId) {
43
+ validateScheduledAgentRef(args.ref);
44
+ if (args.index === void 0) {
45
+ return { chatId, ref: args.ref };
46
+ }
47
+ const index = Number(args.index);
48
+ if (args.index.trim() === "" || !Number.isInteger(index) || index < 0) {
49
+ failValidation(
50
+ "--index must be a whole number from `baker scheduled-agents list` \u2192 draft.ops[].index. Leave it off to take back everything staged on the item."
51
+ );
52
+ }
53
+ return { chatId, ref: args.ref, index };
54
+ }
55
+ var unstageCommand = defineCommand({
56
+ meta: {
57
+ name: "unstage",
58
+ description: "Take back what this chat staged on a scheduled agent, before Publish. Examples: baker scheduled-agents unstage temp_agent_abc123 | baker scheduled-agents unstage <id> --index 2"
59
+ },
60
+ args: {
61
+ id: { type: "positional", description: "Scheduled agent ID or temp_agent_* draft ID", required: false },
62
+ "scheduled-agent-id": {
63
+ type: "string",
64
+ description: "Scheduled agent ID (alternative to positional)",
65
+ required: false
66
+ },
67
+ index: { type: "string", description: "Only this staged change, from list \u2192 draft.ops[].index", required: false }
68
+ },
69
+ run: async ({ args }) => {
70
+ try {
71
+ const ref = args.id || args["scheduled-agent-id"];
72
+ if (!ref) {
73
+ failValidation("Scheduled agent ID is required.");
74
+ }
75
+ const index = typeof args.index === "string" ? args.index : void 0;
76
+ const body = unstageBody({ ref, ...index !== void 0 ? { index } : {} }, requireChatId());
77
+ const response = await apiPost("/api/scheduled-agents/draft-op/remove", body);
78
+ writeJson(response);
79
+ } catch (err) {
80
+ failApi(err);
81
+ }
82
+ }
83
+ });
84
+ export {
85
+ unstageBody,
86
+ unstageCommand
87
+ };
88
+ //# sourceMappingURL=unstage-YEW5KXJL.js.map