@koda-sl/baker-cli 0.567.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 (1188) hide show
  1. package/README.md +10 -9
  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/chats-K2WUFVCG.js.map +1 -0
  69. package/dist/check-ZSQ4EIFB.js +154 -0
  70. package/dist/check-ZSQ4EIFB.js.map +1 -0
  71. package/dist/chunk-34ARMQNL.js +197 -0
  72. package/dist/chunk-34MZGC2Y.js +207 -0
  73. package/dist/chunk-3JOGDGGP.js +24026 -0
  74. package/dist/chunk-3JOGDGGP.js.map +1 -0
  75. package/dist/chunk-46DHUWMV.js +642 -0
  76. package/dist/chunk-46DHUWMV.js.map +1 -0
  77. package/dist/chunk-4KBTW5NE.js +494 -0
  78. package/dist/chunk-4PAGS7QH.js +76 -0
  79. package/dist/chunk-53KV66ZZ.js +163 -0
  80. package/dist/chunk-55AX6DOP.js +86 -0
  81. package/dist/chunk-55AX6DOP.js.map +1 -0
  82. package/dist/chunk-5C4RRCKM.js +69 -0
  83. package/dist/chunk-5I6XOSNI.js +709 -0
  84. package/dist/chunk-5OE4Z7TP.js +287 -0
  85. package/dist/chunk-6OIKNJ7G.js +26 -0
  86. package/dist/chunk-6S4B67KP.js +962 -0
  87. package/dist/chunk-77LXZAX2.js +930 -0
  88. package/dist/chunk-7TVVYP7K.js +217 -0
  89. package/dist/chunk-7URHRPC7.js +3510 -0
  90. package/dist/chunk-7YMQEAGA.js +399 -0
  91. package/dist/chunk-A4O3JL6D.js +26 -0
  92. package/dist/chunk-ANRTDNPQ.js +115 -0
  93. package/dist/chunk-AQNTVM6S.js +1518 -0
  94. package/dist/chunk-BPDIY5CF.js +274 -0
  95. package/dist/chunk-CKHF7UXS.js +831 -0
  96. package/dist/chunk-CUTTTFAU.js +783 -0
  97. package/dist/chunk-D32EWSMB.js +150 -0
  98. package/dist/chunk-D55MN5IH.js +547 -0
  99. package/dist/chunk-DRQI2CJJ.js +138 -0
  100. package/dist/chunk-ESSA3AWR.js +133 -0
  101. package/dist/chunk-ESSA3AWR.js.map +1 -0
  102. package/dist/chunk-ETI6DGR2.js +312 -0
  103. package/dist/chunk-F3CZFUXZ.js +3187 -0
  104. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  105. package/dist/chunk-FFTD7XDA.js +91 -0
  106. package/dist/chunk-FTKUHGTC.js +224 -0
  107. package/dist/chunk-GFYGVIT3.js +392 -0
  108. package/dist/chunk-GGXPO4NQ.js +225 -0
  109. package/dist/chunk-H56UJRLV.js +170 -0
  110. package/dist/chunk-HDMD6LXS.js +142 -0
  111. package/dist/chunk-HFZZKYUX.js +1320 -0
  112. package/dist/chunk-IAYJKH4R.js +5471 -0
  113. package/dist/chunk-IEPCI2EB.js +479 -0
  114. package/dist/chunk-IKADYUXK.js +344 -0
  115. package/dist/chunk-IMS53EQU.js +4277 -0
  116. package/dist/chunk-IMS53EQU.js.map +1 -0
  117. package/dist/chunk-IUX2LBW4.js +86 -0
  118. package/dist/chunk-IUX2LBW4.js.map +1 -0
  119. package/dist/chunk-J32CYEIH.js +74 -0
  120. package/dist/chunk-J5I3GYSJ.js +156 -0
  121. package/dist/chunk-JCVXKHVB.js +285 -0
  122. package/dist/chunk-JESSFI7R.js +468 -0
  123. package/dist/chunk-K4QPBXV7.js +61 -0
  124. package/dist/chunk-KJ3J2DYM.js +1919 -0
  125. package/dist/chunk-L43B2YGZ.js +2209 -0
  126. package/dist/chunk-L7UD57TV.js +219 -0
  127. package/dist/chunk-LJYXGUQ3.js +430 -0
  128. package/dist/chunk-LNYM4PQS.js +203 -0
  129. package/dist/chunk-LZR7LSYO.js +180 -0
  130. package/dist/chunk-LZR7LSYO.js.map +1 -0
  131. package/dist/chunk-MIXUMGJE.js +66 -0
  132. package/dist/chunk-MK4HCMEA.js +325 -0
  133. package/dist/chunk-MK4HCMEA.js.map +1 -0
  134. package/dist/chunk-MTFAG6E3.js +853 -0
  135. package/dist/chunk-MTFAG6E3.js.map +1 -0
  136. package/dist/chunk-MWJ6BCZJ.js +455 -0
  137. package/dist/chunk-MX5NQAK6.js +54 -0
  138. package/dist/chunk-MX5NQAK6.js.map +1 -0
  139. package/dist/chunk-O7WRA3JU.js +1902 -0
  140. package/dist/chunk-OADMSHME.js +334 -0
  141. package/dist/chunk-OLPABGH3.js +152 -0
  142. package/dist/chunk-ONGZKI5J.js +57 -0
  143. package/dist/chunk-OSZOUSK5.js +23 -0
  144. package/dist/chunk-PK7YNQ2T.js +454 -0
  145. package/dist/chunk-PN3CHL5W.js +98 -0
  146. package/dist/chunk-QMQSI4WA.js +89 -0
  147. package/dist/chunk-QUSDGZFS.js +188 -0
  148. package/dist/chunk-QXRSFH6M.js +604 -0
  149. package/dist/chunk-QZ4YHQLW.js +63 -0
  150. package/dist/chunk-RF3TP643.js +288 -0
  151. package/dist/chunk-RIRSFFWA.js +191 -0
  152. package/dist/chunk-ROHICQPK.js +8954 -0
  153. package/dist/chunk-RP3PC54R.js +169 -0
  154. package/dist/chunk-SIKCVWM3.js +76 -0
  155. package/dist/chunk-SOM4OTR5.js +167 -0
  156. package/dist/chunk-SYDPUGF5.js +126 -0
  157. package/dist/chunk-SYDPUGF5.js.map +1 -0
  158. package/dist/chunk-SZZ7BBED.js +148 -0
  159. package/dist/chunk-TAGJYHVI.js +191 -0
  160. package/dist/chunk-TB5JZTLN.js +19 -0
  161. package/dist/chunk-TQJLEVLA.js +131 -0
  162. package/dist/chunk-TW57RTKN.js +5368 -0
  163. package/dist/chunk-TXJOYQE2.js +1065 -0
  164. package/dist/chunk-TXJOYQE2.js.map +1 -0
  165. package/dist/chunk-UGIF56NZ.js +1254 -0
  166. package/dist/chunk-UGIF56NZ.js.map +1 -0
  167. package/dist/chunk-V3ANSXCB.js +51 -0
  168. package/dist/chunk-WSG4K2TR.js +103 -0
  169. package/dist/chunk-WXSRSMY3.js +64 -0
  170. package/dist/chunk-WZXMZFVB.js +238 -0
  171. package/dist/chunk-X3L5HYQM.js +91 -0
  172. package/dist/chunk-Y2TOB4N5.js +46 -0
  173. package/dist/chunk-YOHGEF2N.js +7899 -0
  174. package/dist/chunk-YOHGEF2N.js.map +1 -0
  175. package/dist/chunk-Z2LPYAN4.js +297 -0
  176. package/dist/chunk-ZICB4OI5.js +106 -0
  177. package/dist/chunk-ZOCAGPS5.js +225 -0
  178. package/dist/chunk-ZZWZUTEP.js +685 -0
  179. package/dist/claim-QHYA5UTF.js +200 -0
  180. package/dist/cli.js +36 -36
  181. package/dist/companies-BNMAOQUQ.js +198 -0
  182. package/dist/company-YANP3G62.js +308 -0
  183. package/dist/complete-ICZCBO6M.js +84 -0
  184. package/dist/config-GIETKZGS.js +88 -0
  185. package/dist/connect-ZXGEFS53.js +45 -0
  186. package/dist/conversation-YIWZIUIK.js +96 -0
  187. package/dist/conversion-report-E35RCZU7.js +127 -0
  188. package/dist/conversion-upload-command-QN33HEVV.js +440 -0
  189. package/dist/conversion-upload-command-QN33HEVV.js.map +1 -0
  190. package/dist/conversion-writes-MUD7WJDH.js +122 -0
  191. package/dist/conversions-B7HR6JMC.js +140 -0
  192. package/dist/conversions-WU7DNFF7.js +78 -0
  193. package/dist/copy-writes-R7VYSZXC.js +171 -0
  194. package/dist/copy-writes-R7VYSZXC.js.map +1 -0
  195. package/dist/create-EL47XN73.js +135 -0
  196. package/dist/create-GU5MUZ7U.js +62 -0
  197. package/dist/create-IKQ7A47F.js +239 -0
  198. package/dist/create-TKQDLX7M.js +218 -0
  199. package/dist/creatives-PW6HB4JB.js +58 -0
  200. package/dist/creatives-S4EGN44U.js +118 -0
  201. package/dist/creatives-VBD4T6C7.js +229 -0
  202. package/dist/credentials-57U2UQ7G.js +290 -0
  203. package/dist/critique-JTHSIXUF.js +233 -0
  204. package/dist/critique-JTHSIXUF.js.map +1 -0
  205. package/dist/critique-KAOJTSPQ.js +420 -0
  206. package/dist/critique-KAOJTSPQ.js.map +1 -0
  207. package/dist/crm-JCYLJQ7K.js +323 -0
  208. package/dist/crm-LQTYPDMZ.js +229 -0
  209. package/dist/currency-5NYTOLEL.js +88 -0
  210. package/dist/custom-conversions-NT7ONTEX.js +128 -0
  211. package/dist/customers-LP6I7POL.js +65 -0
  212. package/dist/delete-PZ6GP7J6.js +57 -0
  213. package/dist/delete-WW4JYQMX.js +69 -0
  214. package/dist/delete-XZNY426Q.js +67 -0
  215. package/dist/demographics-HZY2JEYQ.js +141 -0
  216. package/dist/discard-NRTGRVXR.js +69 -0
  217. package/dist/discover-5ZFAAPNG.js +172 -0
  218. package/dist/domain-YGKFTN6D.js +101 -0
  219. package/dist/download-XERSDEN3.js +172 -0
  220. package/dist/draft-2EVXU5XB.js +134 -0
  221. package/dist/draft-CQWYTMSS.js +138 -0
  222. package/dist/draft-EL74RDAG.js +374 -0
  223. package/dist/draft-EWB4A3FG.js +579 -0
  224. package/dist/draft-EWB4A3FG.js.map +1 -0
  225. package/dist/draft-GFZ3KMRX.js +315 -0
  226. package/dist/draft-JYZA3BFD.js +260 -0
  227. package/dist/draft-RBLMOZIL.js +333 -0
  228. package/dist/draft-RBLMOZIL.js.map +1 -0
  229. package/dist/draft-UNPTTHP4.js +220 -0
  230. package/dist/engine/index.js +8 -8
  231. package/dist/experiment-YAX26BOO.js +1397 -0
  232. package/dist/experiments-ERXZYY5E.js +237 -0
  233. package/dist/experiments-ERXZYY5E.js.map +1 -0
  234. package/dist/extract-QMY6WPTV.js +143 -0
  235. package/dist/facets-QHM2IQ3E.js +117 -0
  236. package/dist/feedback-NLPTKWOH.js +114 -0
  237. package/dist/feedback-X5FNVHKU.js +116 -0
  238. package/dist/feedback-X5FNVHKU.js.map +1 -0
  239. package/dist/feedback-record-7QCQTF26.js +270 -0
  240. package/dist/feedback-record-7QCQTF26.js.map +1 -0
  241. package/dist/fetch-72ZILZHO.js +204 -0
  242. package/dist/fit-AURKFPAY.js +65 -0
  243. package/dist/flows-CZPXHOZW.js +340 -0
  244. package/dist/fonts-NA26RQ4C.js +40 -0
  245. package/dist/forecast-ARIHRQAX.js +121 -0
  246. package/dist/forecast-BU22ZMOW.js +170 -0
  247. package/dist/forecast-BU22ZMOW.js.map +1 -0
  248. package/dist/funding-QDKFNQI2.js +85 -0
  249. package/dist/funnel-4VQB3T3M.js +397 -0
  250. package/dist/ga4-N6EBLN2W.js +55 -0
  251. package/dist/generate-IJLMJC4S.js +263 -0
  252. package/dist/get-LOEUOTG3.js +82 -0
  253. package/dist/get-W3VJIQBN.js +62 -0
  254. package/dist/google-5RKO3DND.js +3301 -0
  255. package/dist/google-5RKO3DND.js.map +1 -0
  256. package/dist/google-7VEPEBFV.js +163 -0
  257. package/dist/google-ads-YBOJ3XXK.js +198 -0
  258. package/dist/gsc-FILOUFCG.js +30 -0
  259. package/dist/history-6LLGAK7B.js +69 -0
  260. package/dist/history-H2SHADAM.js +153 -0
  261. package/dist/history-LJG64M6P.js +102 -0
  262. package/dist/hubspot-6JDARLIU.js +814 -0
  263. package/dist/ideas-MTWJDRRK.js +45 -0
  264. package/dist/images-RIFC6D3H.js +92 -0
  265. package/dist/ingest-K45T4OLM.js +131 -0
  266. package/dist/ingest-MSS52UO5.js +28 -0
  267. package/dist/insights-AVNMRFQ4.js +658 -0
  268. package/dist/insights-TBIT6DTF.js +132 -0
  269. package/dist/inspect-EBGYJOZ3.js +192 -0
  270. package/dist/instant-experiences-EEMQJ7H5.js +265 -0
  271. package/dist/instant-experiences-EEMQJ7H5.js.map +1 -0
  272. package/dist/intent-URHTU4AK.js +95 -0
  273. package/dist/job-OJB6KIDV.js +202 -0
  274. package/dist/job-create-C6FGCDW4.js +109 -0
  275. package/dist/job-status-4RJHESID.js +74 -0
  276. package/dist/keyword-gap-WXM6SN6A.js +130 -0
  277. package/dist/keyword-metrics-57MUTYMH.js +200 -0
  278. package/dist/keywords-for-site-ABZS7O5B.js +131 -0
  279. package/dist/landing-AXCYLUQZ.js +28 -0
  280. package/dist/languages-6XTVTFZC.js +40 -0
  281. package/dist/leads-C5BUBBLZ.js +115 -0
  282. package/dist/leads-IXF647ZC.js +542 -0
  283. package/dist/leads-IXF647ZC.js.map +1 -0
  284. package/dist/learn-M64GVGPX.js +207 -0
  285. package/dist/line-item-writes-HYLWBQTM.js +211 -0
  286. package/dist/line-items-Y4THDHSE.js +107 -0
  287. package/dist/link-BU7YCL2M.js +67 -0
  288. package/dist/linkedin-2SUTGGII.js +1345 -0
  289. package/dist/linkedin-2SUTGGII.js.map +1 -0
  290. package/dist/linkedin-person-FEIY7FYQ.js +139 -0
  291. package/dist/list-BKIL7O4G.js +306 -0
  292. package/dist/list-H3C345WG.js +154 -0
  293. package/dist/list-UGTDZ7YI.js +67 -0
  294. package/dist/locations-F4365X4S.js +40 -0
  295. package/dist/locations-HOI7AUZ2.js +69 -0
  296. package/dist/log-54SJV6MW.js +95 -0
  297. package/dist/lookup-QNLX2535.js +23 -0
  298. package/dist/make-AQ43J5LH.js +1368 -0
  299. package/dist/make-AQ43J5LH.js.map +1 -0
  300. package/dist/map-BPPGQGDV.js +445 -0
  301. package/dist/mcp-EXOMBMYL.js +729 -0
  302. package/dist/media-MITWBYVZ.js +18 -0
  303. package/dist/media-WGIEUEZW.js +89 -0
  304. package/dist/media-sources-XEC72K7X.js +35 -0
  305. package/dist/members-VDON57BE.js +47 -0
  306. package/dist/meta-NUBBKE2V.js +124 -0
  307. package/dist/metrics-V6FAZO5A.js +152 -0
  308. package/dist/models-TSMFIOZU.js +155 -0
  309. package/dist/normalize-632DD2HJ.js +144 -0
  310. package/dist/options-TZYZQZ3M.js +125 -0
  311. package/dist/organization-FYRXSGB4.js +949 -0
  312. package/dist/output-HZW7LNUL.js +24 -0
  313. package/dist/page-photos-4DNBQZUL.js +119 -0
  314. package/dist/page-photos-4DNBQZUL.js.map +1 -0
  315. package/dist/pages-UH6XEZBO.js +67 -0
  316. package/dist/performance-JKXHQIAV.js +27 -0
  317. package/dist/performance-OF3N43OP.js +5565 -0
  318. package/dist/pixels-KXA6R3G3.js +62 -0
  319. package/dist/pixels-PYNK73UG.js +109 -0
  320. package/dist/plan-4OYUV2EF.js +208 -0
  321. package/dist/preview-7E4E3QPT.js +245 -0
  322. package/dist/preview-FPBM75L2.js +101 -0
  323. package/dist/promoted-tweet-writes-IJRBFK7W.js +183 -0
  324. package/dist/promoted-tweets-7PYH3RPV.js +119 -0
  325. package/dist/properties-RDOGNY2O.js +101 -0
  326. package/dist/publish-MNSDFPEQ.js +350 -0
  327. package/dist/query-GMGWJW3X.js +62 -0
  328. package/dist/query-K7R5GQ4E.js +236 -0
  329. package/dist/query-PO3RT7BR.js +231 -0
  330. package/dist/questionnaire-4OH6K2BF.js +94 -0
  331. package/dist/read-MU5XGWMK.js +141 -0
  332. package/dist/reddit-JFFMZLJS.js +29 -0
  333. package/dist/refresh-EJ7WKW3H.js +97 -0
  334. package/dist/release-AFRLCZWB.js +63 -0
  335. package/dist/relevant-pages-4YGN3I2U.js +99 -0
  336. package/dist/remove-QD4PITBL.js +53 -0
  337. package/dist/reopen-JSC6AVJC.js +66 -0
  338. package/dist/rerun-QIAUVJX6.js +98 -0
  339. package/dist/rerun-QIAUVJX6.js.map +1 -0
  340. package/dist/research-MMFUFZGS.js +265 -0
  341. package/dist/research-SRISCVBM.js +75 -0
  342. package/dist/reset-752CNET3.js +57 -0
  343. package/dist/reset-R3TQAHRU.js +57 -0
  344. package/dist/resolve-EWHSJNBX.js +124 -0
  345. package/dist/retry-DVHDVHVP.js +65 -0
  346. package/dist/retry-PVULTONO.js +63 -0
  347. package/dist/revenue-B4N6QJM3.js +92 -0
  348. package/dist/revenue-B4N6QJM3.js.map +1 -0
  349. package/dist/rule-writes-YXK7HNLR.js +531 -0
  350. package/dist/rule-writes-YXK7HNLR.js.map +1 -0
  351. package/dist/rules-4YTY57FM.js +217 -0
  352. package/dist/rules-LRFDZFF6.js +108 -0
  353. package/dist/rules-LRFDZFF6.js.map +1 -0
  354. package/dist/rules-add-XVOGYHQO.js +497 -0
  355. package/dist/rules-add-XVOGYHQO.js.map +1 -0
  356. package/dist/run-PCZRYL42.js +69 -0
  357. package/dist/run-PRSAUWAJ.js +73 -0
  358. package/dist/scaffold-ad-A6SROV4X.js +1514 -0
  359. package/dist/scaffold-ad-A6SROV4X.js.map +1 -0
  360. package/dist/scaffold-static-ad-CRN5XZIZ.js +1013 -0
  361. package/dist/scaffold-static-ad-CRN5XZIZ.js.map +1 -0
  362. package/dist/scaffold-video-3F5JVFFR.js +886 -0
  363. package/dist/scaffold-video-3F5JVFFR.js.map +1 -0
  364. package/dist/schedule-6YTZBCZA.js +64 -0
  365. package/dist/scheduled-agents-XCPU57LU.js +55 -0
  366. package/dist/schema-4PS5BDG3.js +135 -0
  367. package/dist/search-IMZD5RGD.js +177 -0
  368. package/dist/select-GSO4BEIL.js +111 -0
  369. package/dist/select-GSO4BEIL.js.map +1 -0
  370. package/dist/sends-I2B6F5NW.js +349 -0
  371. package/dist/set-prompt-D32XJNWM.js +200 -0
  372. package/dist/set-prompt-D32XJNWM.js.map +1 -0
  373. package/dist/setup-links-PTL6RF2J.js +144 -0
  374. package/dist/shared-Z7INVKCZ.js +32 -0
  375. package/dist/shopify-SDZZ5HTA.js +4009 -0
  376. package/dist/site-NGQ7K6UD.js +180 -0
  377. package/dist/sitemaps-EOMSRKOD.js +77 -0
  378. package/dist/sites-6M73AONG.js +97 -0
  379. package/dist/sources-NKFSCI6M.js +30 -0
  380. package/dist/sources-O4CQ5KSX.js +457 -0
  381. package/dist/stale-CEZJ53RO.js +91 -0
  382. package/dist/stale-CEZJ53RO.js.map +1 -0
  383. package/dist/stats-MFEH2TSW.js +34 -0
  384. package/dist/status-DLYRPGFS.js +65 -0
  385. package/dist/stock-RDCDVBHX.js +212 -0
  386. package/dist/studies-SSA3SR2L.js +250 -0
  387. package/dist/studio-MBHPDGMN.js +49 -0
  388. package/dist/study-writes-EDV6OH7I.js +472 -0
  389. package/dist/study-writes-EDV6OH7I.js.map +1 -0
  390. package/dist/sync-BEW3TZP7.js +57 -0
  391. package/dist/sync-SI25TKY5.js +279 -0
  392. package/dist/sync-definition-RECCA3QH.js +71 -0
  393. package/dist/tag-manager-JFC6YYVP.js +43 -0
  394. package/dist/tags-IJIGZYR3.js +23 -0
  395. package/dist/tags-K4HIKHNU.js +26 -0
  396. package/dist/tags-OTA55BQ6.js +23 -0
  397. package/dist/tags-QF2V4B3M.js +23 -0
  398. package/dist/tags-SK7WXMBS.js +227 -0
  399. package/dist/targeting-NPNBPEHW.js +763 -0
  400. package/dist/targeting-NPNBPEHW.js.map +1 -0
  401. package/dist/targeting-constants-RF2732EW.js +118 -0
  402. package/dist/targeting-criteria-7BUUYDYC.js +113 -0
  403. package/dist/targets-7V3NCQSD.js +106 -0
  404. package/dist/terms-XFL6QO7A.js +102 -0
  405. package/dist/testimonials-XYD5DLBJ.js +32 -0
  406. package/dist/themes-HYDGH4GM.js +96 -0
  407. package/dist/themes-HYDGH4GM.js.map +1 -0
  408. package/dist/top-companies-LI26TONY.js +111 -0
  409. package/dist/transcript-FTHDWMGU.js +165 -0
  410. package/dist/translate-YATYKOEX.js +604 -0
  411. package/dist/translate-YATYKOEX.js.map +1 -0
  412. package/dist/triggers-3LHJVK5P.js +144 -0
  413. package/dist/tweets-6PQHJXJC.js +123 -0
  414. package/dist/unlink-BMOUBGWO.js +70 -0
  415. package/dist/unstage-O23ILHCY.js +96 -0
  416. package/dist/unstage-YEW5KXJL.js +88 -0
  417. package/dist/update-2IWZA5UU.js +101 -0
  418. package/dist/update-G7YZICSU.js +155 -0
  419. package/dist/update-T5INCQJZ.js +192 -0
  420. package/dist/update-UTQVTG45.js +66 -0
  421. package/dist/upload-UXYJDA2U.js +137 -0
  422. package/dist/url-options-Y7I5EL55.js +131 -0
  423. package/dist/url-params-PE4XAQNH.js +101 -0
  424. package/dist/validate-MMHBTNWU.js +126 -0
  425. package/dist/validate-MMHBTNWU.js.map +1 -0
  426. package/dist/videos-AHOLXU42.js +146 -0
  427. package/dist/videos-EVPJHY3B.js +41 -0
  428. package/dist/viewer-check-NA4TMNY4.js +83 -0
  429. package/dist/web-7EODEH25.js +173 -0
  430. package/dist/winning-ads-5UKX6QV7.js +86 -0
  431. package/dist/write-commands-HFP5KLYZ.js +1525 -0
  432. package/dist/write-commands-HFP5KLYZ.js.map +1 -0
  433. package/dist/write-commands-KVOMOYME.js +1170 -0
  434. package/dist/write-commands-KVOMOYME.js.map +1 -0
  435. package/dist/write-commands-LHEJESKL.js +206 -0
  436. package/dist/write-commands-SD6DXVNK.js +721 -0
  437. package/dist/x-R72UTFQT.js +47 -0
  438. package/package.json +1 -1
  439. package/dist/account-OCFXNHG7.js +0 -139
  440. package/dist/account-U6DFMD2V.js +0 -82
  441. package/dist/account-UE6DOQXK.js +0 -82
  442. package/dist/account-assets-W7K2PUYB.js +0 -290
  443. package/dist/account-level-Z2JEIJ3X.js +0 -611
  444. package/dist/account-level-Z2JEIJ3X.js.map +0 -1
  445. package/dist/account-reads-WPKD2LPB.js +0 -219
  446. package/dist/account-reads-WPKD2LPB.js.map +0 -1
  447. package/dist/account-users-USGCCE6I.js +0 -64
  448. package/dist/account-users-USGCCE6I.js.map +0 -1
  449. package/dist/account-writes-QSJ74QFR.js +0 -68
  450. package/dist/accounts-3DS67RX7.js +0 -119
  451. package/dist/accounts-55PDBEDN.js +0 -76
  452. package/dist/accounts-AK4QIG24.js +0 -115
  453. package/dist/accounts-FZCQNX3B.js +0 -713
  454. package/dist/accounts-PVMTLDJU.js +0 -80
  455. package/dist/actions-EG23YFYB.js +0 -55
  456. package/dist/active-entities-HR7NJJLU.js +0 -103
  457. package/dist/activecampaign-GPT5R647.js +0 -938
  458. package/dist/activities-DEWHKBID.js +0 -75
  459. package/dist/ad-group-writes-QBHOPTT5.js +0 -172
  460. package/dist/ad-groups-JZDUFT6J.js +0 -70
  461. package/dist/ad-writes-QYJO4IB3.js +0 -176
  462. package/dist/add-IH6GAMK4.js +0 -107
  463. package/dist/add-UWTWG4VO.js +0 -305
  464. package/dist/ads-F3VUMSEV.js +0 -48
  465. package/dist/ads-QKVNPHBH.js +0 -120
  466. package/dist/ads-UMSWEI5X.js +0 -79
  467. package/dist/adsets-FEVYHKAQ.js +0 -182
  468. package/dist/advertisers-AJNDC3AX.js +0 -123
  469. package/dist/analytics-PEGA46W5.js +0 -447
  470. package/dist/analytics-XCQ3G5PM.js +0 -2437
  471. package/dist/animate-WS63CZ3Y.js +0 -480
  472. package/dist/asset-writes-7RFZZYU7.js +0 -50
  473. package/dist/assign-2CZ5C43W.js +0 -80
  474. package/dist/audience-size-FUHDVYLN.js +0 -76
  475. package/dist/audience-writes-RUGU6KEC.js +0 -327
  476. package/dist/audience-writes-RUGU6KEC.js.map +0 -1
  477. package/dist/audiences-6GVUZUCN.js +0 -106
  478. package/dist/audiences-7OS2ZJYO.js +0 -85
  479. package/dist/audiences-RSAUXKHR.js +0 -280
  480. package/dist/audit-4L7IKIRY.js +0 -88
  481. package/dist/audit-DECB5PP5.js +0 -154
  482. package/dist/autocomplete-6XSIFXDA.js +0 -114
  483. package/dist/avatars-LTV2TSO2.js +0 -38
  484. package/dist/bid-pricing-GC6YU3LW.js +0 -103
  485. package/dist/brand-B4QKPCEC.js +0 -22
  486. package/dist/brief-RYNGM4GX.js +0 -543
  487. package/dist/businesses-42NZP6FP.js +0 -54
  488. package/dist/campaign-groups-FHV5A3EC.js +0 -99
  489. package/dist/campaign-writes-4B7DCAP2.js +0 -168
  490. package/dist/campaign-writes-GKNH2EHV.js +0 -176
  491. package/dist/campaigns-7RV65SXR.js +0 -78
  492. package/dist/campaigns-TL37AY5Y.js +0 -113
  493. package/dist/campaigns-TO74Z7UH.js +0 -130
  494. package/dist/campaigns-VNBJV5QD.js +0 -111
  495. package/dist/canvas-6XSA3VZE.js +0 -46
  496. package/dist/capabilities-6MOMJZFW.js +0 -147
  497. package/dist/cards-CAOGPPG4.js +0 -85
  498. package/dist/catalog-URTZYAPU.js +0 -66
  499. package/dist/catalogs-5LWEXG5X.js +0 -130
  500. package/dist/catalogs-7IEXGLSR.js +0 -782
  501. package/dist/catalogs-7IEXGLSR.js.map +0 -1
  502. package/dist/changes-WWZYTLC6.js +0 -167
  503. package/dist/chatgpt-ZI4GWP6S.js +0 -47
  504. package/dist/chats-GRS6RCDL.js +0 -449
  505. package/dist/chats-GRS6RCDL.js.map +0 -1
  506. package/dist/check-VIRAMFKC.js +0 -107
  507. package/dist/check-VIRAMFKC.js.map +0 -1
  508. package/dist/chunk-22RM3UOO.js +0 -63
  509. package/dist/chunk-2DAWUWA4.js +0 -115
  510. package/dist/chunk-2GFJN2TR.js +0 -163
  511. package/dist/chunk-2LBQNTTH.js +0 -76
  512. package/dist/chunk-3D5ABNNW.js +0 -156
  513. package/dist/chunk-3E74OM2E.js +0 -288
  514. package/dist/chunk-3GKAVXR3.js +0 -23
  515. package/dist/chunk-4NZ47VXO.js +0 -137
  516. package/dist/chunk-4NZ47VXO.js.map +0 -1
  517. package/dist/chunk-5H6N36LS.js +0 -217
  518. package/dist/chunk-5T6DUP7V.js +0 -207
  519. package/dist/chunk-6IR7IQPV.js +0 -69
  520. package/dist/chunk-6IRB3MHG.js +0 -430
  521. package/dist/chunk-6MX37ZQZ.js +0 -454
  522. package/dist/chunk-6QINKM6T.js +0 -46
  523. package/dist/chunk-7M6GZI5B.js +0 -479
  524. package/dist/chunk-AE5S5B2S.js +0 -249
  525. package/dist/chunk-AE5S5B2S.js.map +0 -1
  526. package/dist/chunk-ARPT74DG.js +0 -312
  527. package/dist/chunk-B42CHCXX.js +0 -962
  528. package/dist/chunk-B47TRSMB.js +0 -8954
  529. package/dist/chunk-BHEOF2MF.js +0 -2209
  530. package/dist/chunk-BMMXYR7A.js +0 -238
  531. package/dist/chunk-BRPSY35A.js +0 -468
  532. package/dist/chunk-C3EX5OKN.js +0 -188
  533. package/dist/chunk-CDPM6OE6.js +0 -61
  534. package/dist/chunk-CDTAKCJR.js +0 -178
  535. package/dist/chunk-CDTAKCJR.js.map +0 -1
  536. package/dist/chunk-D6YLVDVN.js +0 -103
  537. package/dist/chunk-DLM5OSHM.js +0 -843
  538. package/dist/chunk-DLM5OSHM.js.map +0 -1
  539. package/dist/chunk-DWPOAU4Z.js +0 -5471
  540. package/dist/chunk-EJBLF2LI.js +0 -167
  541. package/dist/chunk-FHWYQSMY.js +0 -930
  542. package/dist/chunk-FWHEAR7F.js +0 -138
  543. package/dist/chunk-GNTI4KST.js +0 -494
  544. package/dist/chunk-GR2BPVLX.js +0 -142
  545. package/dist/chunk-GWLP45WQ.js +0 -1518
  546. package/dist/chunk-GXAI3EII.js +0 -399
  547. package/dist/chunk-H3HA22Z3.js +0 -1919
  548. package/dist/chunk-H3PD2KOF.js +0 -203
  549. package/dist/chunk-HBRXFQQV.js +0 -3510
  550. package/dist/chunk-IGCS3X4F.js +0 -150
  551. package/dist/chunk-ILGRC7LJ.js +0 -287
  552. package/dist/chunk-IXVVTPG6.js +0 -831
  553. package/dist/chunk-JAC6JVCI.js +0 -26
  554. package/dist/chunk-JBABLH5C.js +0 -547
  555. package/dist/chunk-JHS5PE5Y.js +0 -1246
  556. package/dist/chunk-JHS5PE5Y.js.map +0 -1
  557. package/dist/chunk-JTIWQLY5.js +0 -98
  558. package/dist/chunk-KDAINT54.js +0 -131
  559. package/dist/chunk-KICGV4JB.js +0 -170
  560. package/dist/chunk-LDYI7BIQ.js +0 -334
  561. package/dist/chunk-LXOTNL65.js +0 -7888
  562. package/dist/chunk-LXOTNL65.js.map +0 -1
  563. package/dist/chunk-M45SOKI5.js +0 -91
  564. package/dist/chunk-MCJ5I5LR.js +0 -3187
  565. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  566. package/dist/chunk-ME3K6XIS.js +0 -685
  567. package/dist/chunk-MKG57P2E.js +0 -783
  568. package/dist/chunk-MU2TTM6Z.js +0 -197
  569. package/dist/chunk-MZPS46OR.js +0 -76
  570. package/dist/chunk-N2MGR7HT.js +0 -1902
  571. package/dist/chunk-N2TXADL7.js +0 -1320
  572. package/dist/chunk-NTFNLVZG.js +0 -26
  573. package/dist/chunk-O43QFUOG.js +0 -51
  574. package/dist/chunk-OASXBRXQ.js +0 -24026
  575. package/dist/chunk-OASXBRXQ.js.map +0 -1
  576. package/dist/chunk-ORQ3WBM6.js +0 -225
  577. package/dist/chunk-OSQTSS27.js +0 -74
  578. package/dist/chunk-OTRKBCUB.js +0 -219
  579. package/dist/chunk-P6KTCPJG.js +0 -604
  580. package/dist/chunk-Q5DFEVLE.js +0 -148
  581. package/dist/chunk-QVQKCVP7.js +0 -85
  582. package/dist/chunk-QVQKCVP7.js.map +0 -1
  583. package/dist/chunk-R4RWQ6YX.js +0 -152
  584. package/dist/chunk-RBB3UUYP.js +0 -297
  585. package/dist/chunk-RBCO3C3Q.js +0 -324
  586. package/dist/chunk-RBCO3C3Q.js.map +0 -1
  587. package/dist/chunk-RJIFEHEG.js +0 -392
  588. package/dist/chunk-RYYRGQMM.js +0 -191
  589. package/dist/chunk-S3ZW3KTX.js +0 -89
  590. package/dist/chunk-SZET6NTF.js +0 -57
  591. package/dist/chunk-T4YD5W33.js +0 -66
  592. package/dist/chunk-TPGFX47R.js +0 -709
  593. package/dist/chunk-U5LSGCT3.js +0 -455
  594. package/dist/chunk-UKZKLXTE.js +0 -638
  595. package/dist/chunk-UKZKLXTE.js.map +0 -1
  596. package/dist/chunk-ULIQNJ5J.js +0 -274
  597. package/dist/chunk-URKOGN5B.js +0 -19
  598. package/dist/chunk-UYZ4FUC7.js +0 -225
  599. package/dist/chunk-V6TZRCAS.js +0 -169
  600. package/dist/chunk-WBWEKZQ2.js +0 -191
  601. package/dist/chunk-X3GWGFZP.js +0 -5368
  602. package/dist/chunk-X3YYZLBH.js +0 -285
  603. package/dist/chunk-XHWHBGKX.js +0 -4277
  604. package/dist/chunk-XHWHBGKX.js.map +0 -1
  605. package/dist/chunk-XRR5NN2V.js +0 -91
  606. package/dist/chunk-XZAVBONI.js +0 -64
  607. package/dist/chunk-YD6OZSSY.js +0 -106
  608. package/dist/chunk-YXZV6YKH.js +0 -224
  609. package/dist/chunk-ZREKNWIE.js +0 -344
  610. package/dist/claim-YCK2XQUL.js +0 -200
  611. package/dist/companies-SWGL3MQT.js +0 -198
  612. package/dist/company-XKEQKWPO.js +0 -308
  613. package/dist/complete-CHEZWF5R.js +0 -84
  614. package/dist/config-NDL2YP37.js +0 -88
  615. package/dist/connect-GWLVOOU7.js +0 -45
  616. package/dist/conversation-QD4UJZ7S.js +0 -96
  617. package/dist/conversion-report-76S5JOVT.js +0 -127
  618. package/dist/conversion-upload-command-5OILW65U.js +0 -439
  619. package/dist/conversion-upload-command-5OILW65U.js.map +0 -1
  620. package/dist/conversion-writes-6HX665JT.js +0 -122
  621. package/dist/conversions-BECU3XD2.js +0 -140
  622. package/dist/conversions-QZJRF4WN.js +0 -78
  623. package/dist/copy-writes-X2LM5I4Z.js +0 -170
  624. package/dist/copy-writes-X2LM5I4Z.js.map +0 -1
  625. package/dist/create-4OA5DOSO.js +0 -239
  626. package/dist/create-5QPEESSZ.js +0 -135
  627. package/dist/create-ET3VCGQT.js +0 -62
  628. package/dist/create-IJSH2LHP.js +0 -218
  629. package/dist/creatives-AIRQ3FGH.js +0 -229
  630. package/dist/creatives-L3XSN34M.js +0 -58
  631. package/dist/creatives-SFPNXJ6Z.js +0 -118
  632. package/dist/credentials-Q2FM4DP3.js +0 -290
  633. package/dist/critique-A5FVPC5K.js +0 -1451
  634. package/dist/critique-A5FVPC5K.js.map +0 -1
  635. package/dist/critique-RSU7N2NV.js +0 -232
  636. package/dist/critique-RSU7N2NV.js.map +0 -1
  637. package/dist/crm-7GTTSEHH.js +0 -229
  638. package/dist/crm-PQREUPOU.js +0 -323
  639. package/dist/currency-BZUNQ4XJ.js +0 -88
  640. package/dist/custom-conversions-UHRBVUD2.js +0 -128
  641. package/dist/customers-BYNADWKU.js +0 -65
  642. package/dist/delete-2RAKL577.js +0 -69
  643. package/dist/delete-EZ525EJV.js +0 -57
  644. package/dist/delete-ZBYPC5AL.js +0 -67
  645. package/dist/demographics-5XMZ2TBB.js +0 -141
  646. package/dist/discard-Q7R5VJ7I.js +0 -69
  647. package/dist/discover-PDSEJR2P.js +0 -172
  648. package/dist/domain-MS3BKUYW.js +0 -101
  649. package/dist/download-F56SAC2G.js +0 -172
  650. package/dist/draft-44KTLX4P.js +0 -134
  651. package/dist/draft-4EM4TL25.js +0 -332
  652. package/dist/draft-4EM4TL25.js.map +0 -1
  653. package/dist/draft-CKFSZDVI.js +0 -260
  654. package/dist/draft-JBLWUO3J.js +0 -220
  655. package/dist/draft-L6XXU2I6.js +0 -374
  656. package/dist/draft-RSKZSUOS.js +0 -138
  657. package/dist/draft-WOE7KQ7T.js +0 -315
  658. package/dist/draft-XOPS4EZW.js +0 -569
  659. package/dist/draft-XOPS4EZW.js.map +0 -1
  660. package/dist/experiment-AZUKJ7ZO.js +0 -1397
  661. package/dist/experiments-34NEL75V.js +0 -236
  662. package/dist/experiments-34NEL75V.js.map +0 -1
  663. package/dist/extract-2PG5JB2C.js +0 -143
  664. package/dist/facets-5CGKHFDQ.js +0 -117
  665. package/dist/feedback-C7THFXTE.js +0 -114
  666. package/dist/feedback-SWNIEXMA.js +0 -115
  667. package/dist/feedback-SWNIEXMA.js.map +0 -1
  668. package/dist/feedback-record-BNDFZRYJ.js +0 -269
  669. package/dist/feedback-record-BNDFZRYJ.js.map +0 -1
  670. package/dist/fetch-LMEYFSM5.js +0 -204
  671. package/dist/fit-DBA7FD3M.js +0 -65
  672. package/dist/flows-TQASOYQP.js +0 -340
  673. package/dist/fonts-MPDK2DXR.js +0 -39
  674. package/dist/forecast-3KMAJJWJ.js +0 -169
  675. package/dist/forecast-3KMAJJWJ.js.map +0 -1
  676. package/dist/forecast-OP2ECNM2.js +0 -121
  677. package/dist/funding-BSAHWU35.js +0 -85
  678. package/dist/funnel-BLRQAZ65.js +0 -397
  679. package/dist/ga4-YVKA3V4V.js +0 -55
  680. package/dist/generate-VGGXTZBP.js +0 -263
  681. package/dist/get-DEELBPMG.js +0 -82
  682. package/dist/get-YATZI6GN.js +0 -62
  683. package/dist/google-REFD3W2R.js +0 -3300
  684. package/dist/google-REFD3W2R.js.map +0 -1
  685. package/dist/google-ULLPGAXN.js +0 -163
  686. package/dist/google-ads-IEQJEICD.js +0 -198
  687. package/dist/gsc-OJDMSP6H.js +0 -30
  688. package/dist/history-2LE4ELLB.js +0 -102
  689. package/dist/history-FPXZOUHT.js +0 -153
  690. package/dist/history-LXRFZNW7.js +0 -69
  691. package/dist/hubspot-MNREQEVI.js +0 -814
  692. package/dist/ideas-4N7WMX3P.js +0 -45
  693. package/dist/images-KVMFKQX5.js +0 -92
  694. package/dist/ingest-GUJNPD6S.js +0 -28
  695. package/dist/ingest-VG4YGXB2.js +0 -131
  696. package/dist/insights-H6M6VI43.js +0 -132
  697. package/dist/insights-LZJZGNJZ.js +0 -658
  698. package/dist/inspect-VODWKUQY.js +0 -192
  699. package/dist/instant-experiences-J4GSS3Y6.js +0 -264
  700. package/dist/instant-experiences-J4GSS3Y6.js.map +0 -1
  701. package/dist/intent-HXRSLFIO.js +0 -95
  702. package/dist/job-UFGGBDG7.js +0 -202
  703. package/dist/job-create-XM4NH322.js +0 -109
  704. package/dist/job-status-47L5Z57J.js +0 -74
  705. package/dist/keyword-gap-WUHMSTNR.js +0 -130
  706. package/dist/keyword-metrics-LOLNR24U.js +0 -200
  707. package/dist/keywords-for-site-PLTJBXVN.js +0 -131
  708. package/dist/landing-JMH3WIK2.js +0 -28
  709. package/dist/languages-SVTYYYOC.js +0 -40
  710. package/dist/leads-SEEJ3KRR.js +0 -541
  711. package/dist/leads-SEEJ3KRR.js.map +0 -1
  712. package/dist/leads-XPIBMZI7.js +0 -115
  713. package/dist/learn-MOHK6DHI.js +0 -207
  714. package/dist/line-item-writes-5RVCYHHH.js +0 -211
  715. package/dist/line-items-OESD2IJ6.js +0 -107
  716. package/dist/link-PURCDO7A.js +0 -67
  717. package/dist/linkedin-YWLXEPLB.js +0 -1344
  718. package/dist/linkedin-YWLXEPLB.js.map +0 -1
  719. package/dist/linkedin-person-L22XA5LG.js +0 -139
  720. package/dist/list-KE6PQV2U.js +0 -154
  721. package/dist/list-L5VZ35AO.js +0 -306
  722. package/dist/list-T5ZVVC4L.js +0 -67
  723. package/dist/locations-5SLLGWZO.js +0 -69
  724. package/dist/locations-7EBZ6KRH.js +0 -40
  725. package/dist/log-D3WU36FX.js +0 -95
  726. package/dist/lookup-OU6CLATK.js +0 -23
  727. package/dist/make-QPE6H3NT.js +0 -1367
  728. package/dist/make-QPE6H3NT.js.map +0 -1
  729. package/dist/map-PT7JJYQR.js +0 -445
  730. package/dist/mcp-62MSONPH.js +0 -729
  731. package/dist/media-DGV2AMZI.js +0 -89
  732. package/dist/media-YKCCMLXL.js +0 -18
  733. package/dist/media-sources-DGVR3YPL.js +0 -35
  734. package/dist/members-DAHPS3MB.js +0 -47
  735. package/dist/meta-5TRG7RTQ.js +0 -124
  736. package/dist/metrics-WRERNMRK.js +0 -152
  737. package/dist/models-SITHUNAA.js +0 -155
  738. package/dist/normalize-ZOJ4YROH.js +0 -144
  739. package/dist/options-DTB2NYBL.js +0 -125
  740. package/dist/organization-5JHFNUOD.js +0 -949
  741. package/dist/output-7X5WPPCA.js +0 -24
  742. package/dist/page-photos-VYJU4RNQ.js +0 -118
  743. package/dist/page-photos-VYJU4RNQ.js.map +0 -1
  744. package/dist/pages-6YMPZDEY.js +0 -67
  745. package/dist/performance-VFDK5PHT.js +0 -5565
  746. package/dist/performance-W6CJEUHR.js +0 -27
  747. package/dist/pixels-DZDVNIVL.js +0 -109
  748. package/dist/pixels-WTTLC4O5.js +0 -62
  749. package/dist/plan-JAWESWJN.js +0 -208
  750. package/dist/preview-JZXGR4KN.js +0 -245
  751. package/dist/preview-PUF62HJU.js +0 -101
  752. package/dist/promoted-tweet-writes-FW4BAA5O.js +0 -183
  753. package/dist/promoted-tweets-LYHKCVNV.js +0 -119
  754. package/dist/properties-Z5S3LRJ5.js +0 -101
  755. package/dist/publish-S2KD5PCN.js +0 -350
  756. package/dist/query-3QFT42PG.js +0 -62
  757. package/dist/query-KKXCMH3Q.js +0 -236
  758. package/dist/query-QXKGVHZL.js +0 -231
  759. package/dist/questionnaire-U7UYICEA.js +0 -94
  760. package/dist/read-ENUS7P3L.js +0 -141
  761. package/dist/reddit-AF2PPR3K.js +0 -29
  762. package/dist/refresh-UC7OTPXS.js +0 -97
  763. package/dist/release-FQOJ2FJ5.js +0 -63
  764. package/dist/relevant-pages-OFKZYWR3.js +0 -99
  765. package/dist/remove-H3SU4GJK.js +0 -53
  766. package/dist/reopen-M2PZEHKF.js +0 -66
  767. package/dist/rerun-M63ZAYAV.js +0 -97
  768. package/dist/rerun-M63ZAYAV.js.map +0 -1
  769. package/dist/research-2N5HAFSB.js +0 -75
  770. package/dist/research-ILZZTO6Q.js +0 -265
  771. package/dist/reset-JN437DOZ.js +0 -57
  772. package/dist/reset-XAKAEDPH.js +0 -57
  773. package/dist/resolve-WVE6D7CP.js +0 -124
  774. package/dist/retry-ILL2ZATG.js +0 -63
  775. package/dist/retry-PMJ22IN4.js +0 -65
  776. package/dist/revenue-UWU3ACGP.js +0 -91
  777. package/dist/revenue-UWU3ACGP.js.map +0 -1
  778. package/dist/rule-writes-WT6DQZZE.js +0 -530
  779. package/dist/rule-writes-WT6DQZZE.js.map +0 -1
  780. package/dist/rules-BOOFGKJA.js +0 -99
  781. package/dist/rules-BOOFGKJA.js.map +0 -1
  782. package/dist/rules-Y75KR2PC.js +0 -217
  783. package/dist/rules-add-7K5ESEZQ.js +0 -465
  784. package/dist/rules-add-7K5ESEZQ.js.map +0 -1
  785. package/dist/run-2AIXS3KE.js +0 -72
  786. package/dist/run-OCCY7JHY.js +0 -69
  787. package/dist/scaffold-ad-JQIOCLDU.js +0 -1513
  788. package/dist/scaffold-ad-JQIOCLDU.js.map +0 -1
  789. package/dist/scaffold-static-ad-BW56MVIV.js +0 -1012
  790. package/dist/scaffold-static-ad-BW56MVIV.js.map +0 -1
  791. package/dist/scaffold-video-OGPMQO5D.js +0 -885
  792. package/dist/scaffold-video-OGPMQO5D.js.map +0 -1
  793. package/dist/schedule-WV6NZ4CK.js +0 -64
  794. package/dist/scheduled-agents-MZZMHN3T.js +0 -55
  795. package/dist/schema-ADRFE3AV.js +0 -135
  796. package/dist/search-GGWTLVG7.js +0 -177
  797. package/dist/select-HYZ5JYO7.js +0 -110
  798. package/dist/select-HYZ5JYO7.js.map +0 -1
  799. package/dist/sends-4ZO6BNZ4.js +0 -349
  800. package/dist/set-prompt-FMJ32YNG.js +0 -199
  801. package/dist/set-prompt-FMJ32YNG.js.map +0 -1
  802. package/dist/setup-links-76AJJR5Z.js +0 -144
  803. package/dist/shared-UPMEBTVP.js +0 -32
  804. package/dist/shopify-Q3XMCPHI.js +0 -4009
  805. package/dist/site-I4HFMTE5.js +0 -180
  806. package/dist/sitemaps-P3K5Z4TW.js +0 -77
  807. package/dist/sites-TURWC53D.js +0 -97
  808. package/dist/sources-GGLP5NQU.js +0 -30
  809. package/dist/sources-ORL5AEH5.js +0 -457
  810. package/dist/stale-GVPIUPBX.js +0 -90
  811. package/dist/stale-GVPIUPBX.js.map +0 -1
  812. package/dist/stats-XNKAJD2Z.js +0 -34
  813. package/dist/status-LSHCACMZ.js +0 -65
  814. package/dist/stock-RZH4SEGS.js +0 -212
  815. package/dist/studies-5G67ODR2.js +0 -250
  816. package/dist/studio-D2OMFCZZ.js +0 -49
  817. package/dist/study-writes-34BJFZAZ.js +0 -471
  818. package/dist/study-writes-34BJFZAZ.js.map +0 -1
  819. package/dist/sync-MK7JTH3U.js +0 -57
  820. package/dist/sync-QVEUQKU5.js +0 -279
  821. package/dist/sync-definition-EFAJ744M.js +0 -70
  822. package/dist/tag-manager-3GIW6BPB.js +0 -43
  823. package/dist/tags-5HX7TDJN.js +0 -23
  824. package/dist/tags-BE6L5NLG.js +0 -23
  825. package/dist/tags-EOIC4EQK.js +0 -26
  826. package/dist/tags-G4HMOLZF.js +0 -23
  827. package/dist/tags-PF6UJWCF.js +0 -227
  828. package/dist/targeting-TVZPIUUI.js +0 -762
  829. package/dist/targeting-TVZPIUUI.js.map +0 -1
  830. package/dist/targeting-constants-RJS2STR5.js +0 -118
  831. package/dist/targeting-criteria-DOHSND62.js +0 -113
  832. package/dist/targets-7AL4HPAW.js +0 -106
  833. package/dist/terms-AATAGKPT.js +0 -102
  834. package/dist/testimonials-BNYHKXD2.js +0 -32
  835. package/dist/themes-5HKRO5RR.js +0 -95
  836. package/dist/themes-5HKRO5RR.js.map +0 -1
  837. package/dist/top-companies-ASSEFHI3.js +0 -111
  838. package/dist/transcript-OTAKTTSA.js +0 -165
  839. package/dist/translate-ATGQD733.js +0 -603
  840. package/dist/translate-ATGQD733.js.map +0 -1
  841. package/dist/triggers-JQYC4JLT.js +0 -144
  842. package/dist/tweets-MLDLLLDB.js +0 -123
  843. package/dist/unlink-FVHHULLC.js +0 -70
  844. package/dist/unstage-65DUBYNZ.js +0 -96
  845. package/dist/unstage-FIRVPNRC.js +0 -88
  846. package/dist/update-EO5LVV34.js +0 -101
  847. package/dist/update-G7RMT4OC.js +0 -192
  848. package/dist/update-OD75FSPH.js +0 -66
  849. package/dist/update-RA6TX5NV.js +0 -155
  850. package/dist/upload-X33VIDOB.js +0 -137
  851. package/dist/url-options-4J3FRXHO.js +0 -131
  852. package/dist/url-params-IBE4HUKK.js +0 -101
  853. package/dist/validate-ZKQN55FV.js +0 -125
  854. package/dist/validate-ZKQN55FV.js.map +0 -1
  855. package/dist/videos-NITQKILV.js +0 -146
  856. package/dist/videos-RGCF3EAE.js +0 -41
  857. package/dist/viewer-check-AKVX3XFW.js +0 -83
  858. package/dist/web-QVR2EQ7X.js +0 -173
  859. package/dist/winning-ads-3R4RU3FL.js +0 -86
  860. package/dist/write-commands-OBQPQUIE.js +0 -721
  861. package/dist/write-commands-QQFBJBYD.js +0 -1524
  862. package/dist/write-commands-QQFBJBYD.js.map +0 -1
  863. package/dist/write-commands-SIOVTRHH.js +0 -1169
  864. package/dist/write-commands-SIOVTRHH.js.map +0 -1
  865. package/dist/write-commands-XLZCRVTU.js +0 -206
  866. package/dist/x-747NTJKH.js +0 -47
  867. /package/dist/{account-U6DFMD2V.js.map → account-JREYXYNE.js.map} +0 -0
  868. /package/dist/{account-OCFXNHG7.js.map → account-OUKPRB7C.js.map} +0 -0
  869. /package/dist/{account-UE6DOQXK.js.map → account-WN5MJ5QN.js.map} +0 -0
  870. /package/dist/{account-assets-W7K2PUYB.js.map → account-assets-IWJWYNQ3.js.map} +0 -0
  871. /package/dist/{account-writes-QSJ74QFR.js.map → account-writes-IUIXIVRC.js.map} +0 -0
  872. /package/dist/{accounts-PVMTLDJU.js.map → accounts-4YRDRLHX.js.map} +0 -0
  873. /package/dist/{accounts-3DS67RX7.js.map → accounts-HEGADQ6E.js.map} +0 -0
  874. /package/dist/{accounts-55PDBEDN.js.map → accounts-OSVXKNSI.js.map} +0 -0
  875. /package/dist/{accounts-AK4QIG24.js.map → accounts-SJOO4MQX.js.map} +0 -0
  876. /package/dist/{accounts-FZCQNX3B.js.map → accounts-V7EOUTNL.js.map} +0 -0
  877. /package/dist/{actions-EG23YFYB.js.map → actions-5LYJ3U6G.js.map} +0 -0
  878. /package/dist/{active-entities-HR7NJJLU.js.map → active-entities-4KQQSMRZ.js.map} +0 -0
  879. /package/dist/{activecampaign-GPT5R647.js.map → activecampaign-CZHLHGT4.js.map} +0 -0
  880. /package/dist/{activities-DEWHKBID.js.map → activities-FRA33VZZ.js.map} +0 -0
  881. /package/dist/{ad-group-writes-QBHOPTT5.js.map → ad-group-writes-YQXBUA3Q.js.map} +0 -0
  882. /package/dist/{ad-groups-JZDUFT6J.js.map → ad-groups-NJR4ILEN.js.map} +0 -0
  883. /package/dist/{ad-writes-QYJO4IB3.js.map → ad-writes-TZV64CC2.js.map} +0 -0
  884. /package/dist/{add-UWTWG4VO.js.map → add-MZUSKY2L.js.map} +0 -0
  885. /package/dist/{add-IH6GAMK4.js.map → add-NAUSQKRS.js.map} +0 -0
  886. /package/dist/{ads-QKVNPHBH.js.map → ads-A2FXTQES.js.map} +0 -0
  887. /package/dist/{ads-F3VUMSEV.js.map → ads-PYTK3LJE.js.map} +0 -0
  888. /package/dist/{ads-UMSWEI5X.js.map → ads-Q7DD5VXU.js.map} +0 -0
  889. /package/dist/{adsets-FEVYHKAQ.js.map → adsets-ZHEVFOK4.js.map} +0 -0
  890. /package/dist/{advertisers-AJNDC3AX.js.map → advertisers-HSTND4HE.js.map} +0 -0
  891. /package/dist/{analytics-PEGA46W5.js.map → analytics-63Q3FJN4.js.map} +0 -0
  892. /package/dist/{analytics-XCQ3G5PM.js.map → analytics-GLJODEIM.js.map} +0 -0
  893. /package/dist/{animate-WS63CZ3Y.js.map → animate-EI6AYBDI.js.map} +0 -0
  894. /package/dist/{asset-writes-7RFZZYU7.js.map → asset-writes-MS45UKJ3.js.map} +0 -0
  895. /package/dist/{assign-2CZ5C43W.js.map → assign-7HT3XSSN.js.map} +0 -0
  896. /package/dist/{audience-size-FUHDVYLN.js.map → audience-size-DG7544D2.js.map} +0 -0
  897. /package/dist/{audiences-RSAUXKHR.js.map → audiences-2IVVS3SJ.js.map} +0 -0
  898. /package/dist/{audiences-7OS2ZJYO.js.map → audiences-RN745R53.js.map} +0 -0
  899. /package/dist/{audiences-6GVUZUCN.js.map → audiences-Z2TQT35L.js.map} +0 -0
  900. /package/dist/{audit-4L7IKIRY.js.map → audit-BIHMDO5K.js.map} +0 -0
  901. /package/dist/{audit-DECB5PP5.js.map → audit-ZYST7KCO.js.map} +0 -0
  902. /package/dist/{autocomplete-6XSIFXDA.js.map → autocomplete-5BKEMOQ3.js.map} +0 -0
  903. /package/dist/{avatars-LTV2TSO2.js.map → avatars-FQOCDWLW.js.map} +0 -0
  904. /package/dist/{bid-pricing-GC6YU3LW.js.map → bid-pricing-JEW7T2VR.js.map} +0 -0
  905. /package/dist/{brand-B4QKPCEC.js.map → brand-FR6BKWXN.js.map} +0 -0
  906. /package/dist/{brief-RYNGM4GX.js.map → brief-32IXDJ4J.js.map} +0 -0
  907. /package/dist/{businesses-42NZP6FP.js.map → businesses-HECSW3EL.js.map} +0 -0
  908. /package/dist/{campaign-groups-FHV5A3EC.js.map → campaign-groups-LYPVIZT5.js.map} +0 -0
  909. /package/dist/{campaign-writes-4B7DCAP2.js.map → campaign-writes-D5MM5LUH.js.map} +0 -0
  910. /package/dist/{campaign-writes-GKNH2EHV.js.map → campaign-writes-S7A6W5V3.js.map} +0 -0
  911. /package/dist/{campaigns-VNBJV5QD.js.map → campaigns-CMDF3P7Y.js.map} +0 -0
  912. /package/dist/{campaigns-TL37AY5Y.js.map → campaigns-LIICP5JU.js.map} +0 -0
  913. /package/dist/{campaigns-TO74Z7UH.js.map → campaigns-N72TOUQX.js.map} +0 -0
  914. /package/dist/{campaigns-7RV65SXR.js.map → campaigns-ZWJKBF3L.js.map} +0 -0
  915. /package/dist/{canvas-6XSA3VZE.js.map → canvas-3SNC3UUV.js.map} +0 -0
  916. /package/dist/{capabilities-6MOMJZFW.js.map → capabilities-GL7P3SWY.js.map} +0 -0
  917. /package/dist/{cards-CAOGPPG4.js.map → cards-RYQN5JLR.js.map} +0 -0
  918. /package/dist/{catalog-URTZYAPU.js.map → catalog-PWAWDK42.js.map} +0 -0
  919. /package/dist/{catalogs-5LWEXG5X.js.map → catalogs-SLPYHA7D.js.map} +0 -0
  920. /package/dist/{changes-WWZYTLC6.js.map → changes-WOD4EOSN.js.map} +0 -0
  921. /package/dist/{chatgpt-ZI4GWP6S.js.map → chatgpt-3GX4I6NH.js.map} +0 -0
  922. /package/dist/{chunk-MU2TTM6Z.js.map → chunk-34ARMQNL.js.map} +0 -0
  923. /package/dist/{chunk-5T6DUP7V.js.map → chunk-34MZGC2Y.js.map} +0 -0
  924. /package/dist/{chunk-GNTI4KST.js.map → chunk-4KBTW5NE.js.map} +0 -0
  925. /package/dist/{chunk-2LBQNTTH.js.map → chunk-4PAGS7QH.js.map} +0 -0
  926. /package/dist/{chunk-2GFJN2TR.js.map → chunk-53KV66ZZ.js.map} +0 -0
  927. /package/dist/{chunk-6IR7IQPV.js.map → chunk-5C4RRCKM.js.map} +0 -0
  928. /package/dist/{chunk-TPGFX47R.js.map → chunk-5I6XOSNI.js.map} +0 -0
  929. /package/dist/{chunk-ILGRC7LJ.js.map → chunk-5OE4Z7TP.js.map} +0 -0
  930. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  931. /package/dist/{chunk-B42CHCXX.js.map → chunk-6S4B67KP.js.map} +0 -0
  932. /package/dist/{chunk-FHWYQSMY.js.map → chunk-77LXZAX2.js.map} +0 -0
  933. /package/dist/{chunk-5H6N36LS.js.map → chunk-7TVVYP7K.js.map} +0 -0
  934. /package/dist/{chunk-HBRXFQQV.js.map → chunk-7URHRPC7.js.map} +0 -0
  935. /package/dist/{chunk-GXAI3EII.js.map → chunk-7YMQEAGA.js.map} +0 -0
  936. /package/dist/{chunk-NTFNLVZG.js.map → chunk-A4O3JL6D.js.map} +0 -0
  937. /package/dist/{chunk-2DAWUWA4.js.map → chunk-ANRTDNPQ.js.map} +0 -0
  938. /package/dist/{chunk-GWLP45WQ.js.map → chunk-AQNTVM6S.js.map} +0 -0
  939. /package/dist/{chunk-ULIQNJ5J.js.map → chunk-BPDIY5CF.js.map} +0 -0
  940. /package/dist/{chunk-IXVVTPG6.js.map → chunk-CKHF7UXS.js.map} +0 -0
  941. /package/dist/{chunk-MKG57P2E.js.map → chunk-CUTTTFAU.js.map} +0 -0
  942. /package/dist/{chunk-IGCS3X4F.js.map → chunk-D32EWSMB.js.map} +0 -0
  943. /package/dist/{chunk-JBABLH5C.js.map → chunk-D55MN5IH.js.map} +0 -0
  944. /package/dist/{chunk-FWHEAR7F.js.map → chunk-DRQI2CJJ.js.map} +0 -0
  945. /package/dist/{chunk-ARPT74DG.js.map → chunk-ETI6DGR2.js.map} +0 -0
  946. /package/dist/{chunk-XRR5NN2V.js.map → chunk-FFTD7XDA.js.map} +0 -0
  947. /package/dist/{chunk-YXZV6YKH.js.map → chunk-FTKUHGTC.js.map} +0 -0
  948. /package/dist/{chunk-RJIFEHEG.js.map → chunk-GFYGVIT3.js.map} +0 -0
  949. /package/dist/{chunk-ORQ3WBM6.js.map → chunk-GGXPO4NQ.js.map} +0 -0
  950. /package/dist/{chunk-KICGV4JB.js.map → chunk-H56UJRLV.js.map} +0 -0
  951. /package/dist/{chunk-GR2BPVLX.js.map → chunk-HDMD6LXS.js.map} +0 -0
  952. /package/dist/{chunk-N2TXADL7.js.map → chunk-HFZZKYUX.js.map} +0 -0
  953. /package/dist/{chunk-DWPOAU4Z.js.map → chunk-IAYJKH4R.js.map} +0 -0
  954. /package/dist/{chunk-7M6GZI5B.js.map → chunk-IEPCI2EB.js.map} +0 -0
  955. /package/dist/{chunk-ZREKNWIE.js.map → chunk-IKADYUXK.js.map} +0 -0
  956. /package/dist/{chunk-OSQTSS27.js.map → chunk-J32CYEIH.js.map} +0 -0
  957. /package/dist/{chunk-3D5ABNNW.js.map → chunk-J5I3GYSJ.js.map} +0 -0
  958. /package/dist/{chunk-X3YYZLBH.js.map → chunk-JCVXKHVB.js.map} +0 -0
  959. /package/dist/{chunk-BRPSY35A.js.map → chunk-JESSFI7R.js.map} +0 -0
  960. /package/dist/{chunk-CDPM6OE6.js.map → chunk-K4QPBXV7.js.map} +0 -0
  961. /package/dist/{chunk-H3HA22Z3.js.map → chunk-KJ3J2DYM.js.map} +0 -0
  962. /package/dist/{chunk-BHEOF2MF.js.map → chunk-L43B2YGZ.js.map} +0 -0
  963. /package/dist/{chunk-OTRKBCUB.js.map → chunk-L7UD57TV.js.map} +0 -0
  964. /package/dist/{chunk-6IRB3MHG.js.map → chunk-LJYXGUQ3.js.map} +0 -0
  965. /package/dist/{chunk-H3PD2KOF.js.map → chunk-LNYM4PQS.js.map} +0 -0
  966. /package/dist/{chunk-T4YD5W33.js.map → chunk-MIXUMGJE.js.map} +0 -0
  967. /package/dist/{chunk-U5LSGCT3.js.map → chunk-MWJ6BCZJ.js.map} +0 -0
  968. /package/dist/{chunk-N2MGR7HT.js.map → chunk-O7WRA3JU.js.map} +0 -0
  969. /package/dist/{chunk-LDYI7BIQ.js.map → chunk-OADMSHME.js.map} +0 -0
  970. /package/dist/{chunk-R4RWQ6YX.js.map → chunk-OLPABGH3.js.map} +0 -0
  971. /package/dist/{chunk-SZET6NTF.js.map → chunk-ONGZKI5J.js.map} +0 -0
  972. /package/dist/{chunk-3GKAVXR3.js.map → chunk-OSZOUSK5.js.map} +0 -0
  973. /package/dist/{chunk-6MX37ZQZ.js.map → chunk-PK7YNQ2T.js.map} +0 -0
  974. /package/dist/{chunk-JTIWQLY5.js.map → chunk-PN3CHL5W.js.map} +0 -0
  975. /package/dist/{chunk-S3ZW3KTX.js.map → chunk-QMQSI4WA.js.map} +0 -0
  976. /package/dist/{chunk-C3EX5OKN.js.map → chunk-QUSDGZFS.js.map} +0 -0
  977. /package/dist/{chunk-P6KTCPJG.js.map → chunk-QXRSFH6M.js.map} +0 -0
  978. /package/dist/{chunk-22RM3UOO.js.map → chunk-QZ4YHQLW.js.map} +0 -0
  979. /package/dist/{chunk-3E74OM2E.js.map → chunk-RF3TP643.js.map} +0 -0
  980. /package/dist/{chunk-WBWEKZQ2.js.map → chunk-RIRSFFWA.js.map} +0 -0
  981. /package/dist/{chunk-B47TRSMB.js.map → chunk-ROHICQPK.js.map} +0 -0
  982. /package/dist/{chunk-V6TZRCAS.js.map → chunk-RP3PC54R.js.map} +0 -0
  983. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  984. /package/dist/{chunk-EJBLF2LI.js.map → chunk-SOM4OTR5.js.map} +0 -0
  985. /package/dist/{chunk-Q5DFEVLE.js.map → chunk-SZZ7BBED.js.map} +0 -0
  986. /package/dist/{chunk-RYYRGQMM.js.map → chunk-TAGJYHVI.js.map} +0 -0
  987. /package/dist/{chunk-URKOGN5B.js.map → chunk-TB5JZTLN.js.map} +0 -0
  988. /package/dist/{chunk-KDAINT54.js.map → chunk-TQJLEVLA.js.map} +0 -0
  989. /package/dist/{chunk-X3GWGFZP.js.map → chunk-TW57RTKN.js.map} +0 -0
  990. /package/dist/{chunk-O43QFUOG.js.map → chunk-V3ANSXCB.js.map} +0 -0
  991. /package/dist/{chunk-D6YLVDVN.js.map → chunk-WSG4K2TR.js.map} +0 -0
  992. /package/dist/{chunk-XZAVBONI.js.map → chunk-WXSRSMY3.js.map} +0 -0
  993. /package/dist/{chunk-BMMXYR7A.js.map → chunk-WZXMZFVB.js.map} +0 -0
  994. /package/dist/{chunk-M45SOKI5.js.map → chunk-X3L5HYQM.js.map} +0 -0
  995. /package/dist/{chunk-6QINKM6T.js.map → chunk-Y2TOB4N5.js.map} +0 -0
  996. /package/dist/{chunk-RBB3UUYP.js.map → chunk-Z2LPYAN4.js.map} +0 -0
  997. /package/dist/{chunk-YD6OZSSY.js.map → chunk-ZICB4OI5.js.map} +0 -0
  998. /package/dist/{chunk-UYZ4FUC7.js.map → chunk-ZOCAGPS5.js.map} +0 -0
  999. /package/dist/{chunk-ME3K6XIS.js.map → chunk-ZZWZUTEP.js.map} +0 -0
  1000. /package/dist/{claim-YCK2XQUL.js.map → claim-QHYA5UTF.js.map} +0 -0
  1001. /package/dist/{companies-SWGL3MQT.js.map → companies-BNMAOQUQ.js.map} +0 -0
  1002. /package/dist/{company-XKEQKWPO.js.map → company-YANP3G62.js.map} +0 -0
  1003. /package/dist/{complete-CHEZWF5R.js.map → complete-ICZCBO6M.js.map} +0 -0
  1004. /package/dist/{config-NDL2YP37.js.map → config-GIETKZGS.js.map} +0 -0
  1005. /package/dist/{connect-GWLVOOU7.js.map → connect-ZXGEFS53.js.map} +0 -0
  1006. /package/dist/{conversation-QD4UJZ7S.js.map → conversation-YIWZIUIK.js.map} +0 -0
  1007. /package/dist/{conversion-report-76S5JOVT.js.map → conversion-report-E35RCZU7.js.map} +0 -0
  1008. /package/dist/{conversion-writes-6HX665JT.js.map → conversion-writes-MUD7WJDH.js.map} +0 -0
  1009. /package/dist/{conversions-BECU3XD2.js.map → conversions-B7HR6JMC.js.map} +0 -0
  1010. /package/dist/{conversions-QZJRF4WN.js.map → conversions-WU7DNFF7.js.map} +0 -0
  1011. /package/dist/{create-5QPEESSZ.js.map → create-EL47XN73.js.map} +0 -0
  1012. /package/dist/{create-ET3VCGQT.js.map → create-GU5MUZ7U.js.map} +0 -0
  1013. /package/dist/{create-4OA5DOSO.js.map → create-IKQ7A47F.js.map} +0 -0
  1014. /package/dist/{create-IJSH2LHP.js.map → create-TKQDLX7M.js.map} +0 -0
  1015. /package/dist/{creatives-L3XSN34M.js.map → creatives-PW6HB4JB.js.map} +0 -0
  1016. /package/dist/{creatives-SFPNXJ6Z.js.map → creatives-S4EGN44U.js.map} +0 -0
  1017. /package/dist/{creatives-AIRQ3FGH.js.map → creatives-VBD4T6C7.js.map} +0 -0
  1018. /package/dist/{credentials-Q2FM4DP3.js.map → credentials-57U2UQ7G.js.map} +0 -0
  1019. /package/dist/{crm-PQREUPOU.js.map → crm-JCYLJQ7K.js.map} +0 -0
  1020. /package/dist/{crm-7GTTSEHH.js.map → crm-LQTYPDMZ.js.map} +0 -0
  1021. /package/dist/{currency-BZUNQ4XJ.js.map → currency-5NYTOLEL.js.map} +0 -0
  1022. /package/dist/{custom-conversions-UHRBVUD2.js.map → custom-conversions-NT7ONTEX.js.map} +0 -0
  1023. /package/dist/{customers-BYNADWKU.js.map → customers-LP6I7POL.js.map} +0 -0
  1024. /package/dist/{delete-EZ525EJV.js.map → delete-PZ6GP7J6.js.map} +0 -0
  1025. /package/dist/{delete-2RAKL577.js.map → delete-WW4JYQMX.js.map} +0 -0
  1026. /package/dist/{delete-ZBYPC5AL.js.map → delete-XZNY426Q.js.map} +0 -0
  1027. /package/dist/{demographics-5XMZ2TBB.js.map → demographics-HZY2JEYQ.js.map} +0 -0
  1028. /package/dist/{discard-Q7R5VJ7I.js.map → discard-NRTGRVXR.js.map} +0 -0
  1029. /package/dist/{discover-PDSEJR2P.js.map → discover-5ZFAAPNG.js.map} +0 -0
  1030. /package/dist/{domain-MS3BKUYW.js.map → domain-YGKFTN6D.js.map} +0 -0
  1031. /package/dist/{download-F56SAC2G.js.map → download-XERSDEN3.js.map} +0 -0
  1032. /package/dist/{draft-44KTLX4P.js.map → draft-2EVXU5XB.js.map} +0 -0
  1033. /package/dist/{draft-RSKZSUOS.js.map → draft-CQWYTMSS.js.map} +0 -0
  1034. /package/dist/{draft-L6XXU2I6.js.map → draft-EL74RDAG.js.map} +0 -0
  1035. /package/dist/{draft-WOE7KQ7T.js.map → draft-GFZ3KMRX.js.map} +0 -0
  1036. /package/dist/{draft-CKFSZDVI.js.map → draft-JYZA3BFD.js.map} +0 -0
  1037. /package/dist/{draft-JBLWUO3J.js.map → draft-UNPTTHP4.js.map} +0 -0
  1038. /package/dist/{experiment-AZUKJ7ZO.js.map → experiment-YAX26BOO.js.map} +0 -0
  1039. /package/dist/{extract-2PG5JB2C.js.map → extract-QMY6WPTV.js.map} +0 -0
  1040. /package/dist/{facets-5CGKHFDQ.js.map → facets-QHM2IQ3E.js.map} +0 -0
  1041. /package/dist/{feedback-C7THFXTE.js.map → feedback-NLPTKWOH.js.map} +0 -0
  1042. /package/dist/{fetch-LMEYFSM5.js.map → fetch-72ZILZHO.js.map} +0 -0
  1043. /package/dist/{fit-DBA7FD3M.js.map → fit-AURKFPAY.js.map} +0 -0
  1044. /package/dist/{flows-TQASOYQP.js.map → flows-CZPXHOZW.js.map} +0 -0
  1045. /package/dist/{fonts-MPDK2DXR.js.map → fonts-NA26RQ4C.js.map} +0 -0
  1046. /package/dist/{forecast-OP2ECNM2.js.map → forecast-ARIHRQAX.js.map} +0 -0
  1047. /package/dist/{funding-BSAHWU35.js.map → funding-QDKFNQI2.js.map} +0 -0
  1048. /package/dist/{funnel-BLRQAZ65.js.map → funnel-4VQB3T3M.js.map} +0 -0
  1049. /package/dist/{ga4-YVKA3V4V.js.map → ga4-N6EBLN2W.js.map} +0 -0
  1050. /package/dist/{generate-VGGXTZBP.js.map → generate-IJLMJC4S.js.map} +0 -0
  1051. /package/dist/{get-DEELBPMG.js.map → get-LOEUOTG3.js.map} +0 -0
  1052. /package/dist/{get-YATZI6GN.js.map → get-W3VJIQBN.js.map} +0 -0
  1053. /package/dist/{google-ULLPGAXN.js.map → google-7VEPEBFV.js.map} +0 -0
  1054. /package/dist/{google-ads-IEQJEICD.js.map → google-ads-YBOJ3XXK.js.map} +0 -0
  1055. /package/dist/{gsc-OJDMSP6H.js.map → gsc-FILOUFCG.js.map} +0 -0
  1056. /package/dist/{history-LXRFZNW7.js.map → history-6LLGAK7B.js.map} +0 -0
  1057. /package/dist/{history-FPXZOUHT.js.map → history-H2SHADAM.js.map} +0 -0
  1058. /package/dist/{history-2LE4ELLB.js.map → history-LJG64M6P.js.map} +0 -0
  1059. /package/dist/{hubspot-MNREQEVI.js.map → hubspot-6JDARLIU.js.map} +0 -0
  1060. /package/dist/{ideas-4N7WMX3P.js.map → ideas-MTWJDRRK.js.map} +0 -0
  1061. /package/dist/{images-KVMFKQX5.js.map → images-RIFC6D3H.js.map} +0 -0
  1062. /package/dist/{ingest-VG4YGXB2.js.map → ingest-K45T4OLM.js.map} +0 -0
  1063. /package/dist/{ingest-GUJNPD6S.js.map → ingest-MSS52UO5.js.map} +0 -0
  1064. /package/dist/{insights-LZJZGNJZ.js.map → insights-AVNMRFQ4.js.map} +0 -0
  1065. /package/dist/{insights-H6M6VI43.js.map → insights-TBIT6DTF.js.map} +0 -0
  1066. /package/dist/{inspect-VODWKUQY.js.map → inspect-EBGYJOZ3.js.map} +0 -0
  1067. /package/dist/{intent-HXRSLFIO.js.map → intent-URHTU4AK.js.map} +0 -0
  1068. /package/dist/{job-UFGGBDG7.js.map → job-OJB6KIDV.js.map} +0 -0
  1069. /package/dist/{job-create-XM4NH322.js.map → job-create-C6FGCDW4.js.map} +0 -0
  1070. /package/dist/{job-status-47L5Z57J.js.map → job-status-4RJHESID.js.map} +0 -0
  1071. /package/dist/{keyword-gap-WUHMSTNR.js.map → keyword-gap-WXM6SN6A.js.map} +0 -0
  1072. /package/dist/{keyword-metrics-LOLNR24U.js.map → keyword-metrics-57MUTYMH.js.map} +0 -0
  1073. /package/dist/{keywords-for-site-PLTJBXVN.js.map → keywords-for-site-ABZS7O5B.js.map} +0 -0
  1074. /package/dist/{landing-JMH3WIK2.js.map → landing-AXCYLUQZ.js.map} +0 -0
  1075. /package/dist/{languages-SVTYYYOC.js.map → languages-6XTVTFZC.js.map} +0 -0
  1076. /package/dist/{leads-XPIBMZI7.js.map → leads-C5BUBBLZ.js.map} +0 -0
  1077. /package/dist/{learn-MOHK6DHI.js.map → learn-M64GVGPX.js.map} +0 -0
  1078. /package/dist/{line-item-writes-5RVCYHHH.js.map → line-item-writes-HYLWBQTM.js.map} +0 -0
  1079. /package/dist/{line-items-OESD2IJ6.js.map → line-items-Y4THDHSE.js.map} +0 -0
  1080. /package/dist/{link-PURCDO7A.js.map → link-BU7YCL2M.js.map} +0 -0
  1081. /package/dist/{linkedin-person-L22XA5LG.js.map → linkedin-person-FEIY7FYQ.js.map} +0 -0
  1082. /package/dist/{list-L5VZ35AO.js.map → list-BKIL7O4G.js.map} +0 -0
  1083. /package/dist/{list-KE6PQV2U.js.map → list-H3C345WG.js.map} +0 -0
  1084. /package/dist/{list-T5ZVVC4L.js.map → list-UGTDZ7YI.js.map} +0 -0
  1085. /package/dist/{locations-7EBZ6KRH.js.map → locations-F4365X4S.js.map} +0 -0
  1086. /package/dist/{locations-5SLLGWZO.js.map → locations-HOI7AUZ2.js.map} +0 -0
  1087. /package/dist/{log-D3WU36FX.js.map → log-54SJV6MW.js.map} +0 -0
  1088. /package/dist/{lookup-OU6CLATK.js.map → lookup-QNLX2535.js.map} +0 -0
  1089. /package/dist/{map-PT7JJYQR.js.map → map-BPPGQGDV.js.map} +0 -0
  1090. /package/dist/{mcp-62MSONPH.js.map → mcp-EXOMBMYL.js.map} +0 -0
  1091. /package/dist/{media-YKCCMLXL.js.map → media-MITWBYVZ.js.map} +0 -0
  1092. /package/dist/{media-DGV2AMZI.js.map → media-WGIEUEZW.js.map} +0 -0
  1093. /package/dist/{media-sources-DGVR3YPL.js.map → media-sources-XEC72K7X.js.map} +0 -0
  1094. /package/dist/{members-DAHPS3MB.js.map → members-VDON57BE.js.map} +0 -0
  1095. /package/dist/{meta-5TRG7RTQ.js.map → meta-NUBBKE2V.js.map} +0 -0
  1096. /package/dist/{metrics-WRERNMRK.js.map → metrics-V6FAZO5A.js.map} +0 -0
  1097. /package/dist/{models-SITHUNAA.js.map → models-TSMFIOZU.js.map} +0 -0
  1098. /package/dist/{normalize-ZOJ4YROH.js.map → normalize-632DD2HJ.js.map} +0 -0
  1099. /package/dist/{options-DTB2NYBL.js.map → options-TZYZQZ3M.js.map} +0 -0
  1100. /package/dist/{organization-5JHFNUOD.js.map → organization-FYRXSGB4.js.map} +0 -0
  1101. /package/dist/{output-7X5WPPCA.js.map → output-HZW7LNUL.js.map} +0 -0
  1102. /package/dist/{pages-6YMPZDEY.js.map → pages-UH6XEZBO.js.map} +0 -0
  1103. /package/dist/{performance-W6CJEUHR.js.map → performance-JKXHQIAV.js.map} +0 -0
  1104. /package/dist/{performance-VFDK5PHT.js.map → performance-OF3N43OP.js.map} +0 -0
  1105. /package/dist/{pixels-WTTLC4O5.js.map → pixels-KXA6R3G3.js.map} +0 -0
  1106. /package/dist/{pixels-DZDVNIVL.js.map → pixels-PYNK73UG.js.map} +0 -0
  1107. /package/dist/{plan-JAWESWJN.js.map → plan-4OYUV2EF.js.map} +0 -0
  1108. /package/dist/{preview-JZXGR4KN.js.map → preview-7E4E3QPT.js.map} +0 -0
  1109. /package/dist/{preview-PUF62HJU.js.map → preview-FPBM75L2.js.map} +0 -0
  1110. /package/dist/{promoted-tweet-writes-FW4BAA5O.js.map → promoted-tweet-writes-IJRBFK7W.js.map} +0 -0
  1111. /package/dist/{promoted-tweets-LYHKCVNV.js.map → promoted-tweets-7PYH3RPV.js.map} +0 -0
  1112. /package/dist/{properties-Z5S3LRJ5.js.map → properties-RDOGNY2O.js.map} +0 -0
  1113. /package/dist/{publish-S2KD5PCN.js.map → publish-MNSDFPEQ.js.map} +0 -0
  1114. /package/dist/{query-3QFT42PG.js.map → query-GMGWJW3X.js.map} +0 -0
  1115. /package/dist/{query-KKXCMH3Q.js.map → query-K7R5GQ4E.js.map} +0 -0
  1116. /package/dist/{query-QXKGVHZL.js.map → query-PO3RT7BR.js.map} +0 -0
  1117. /package/dist/{questionnaire-U7UYICEA.js.map → questionnaire-4OH6K2BF.js.map} +0 -0
  1118. /package/dist/{read-ENUS7P3L.js.map → read-MU5XGWMK.js.map} +0 -0
  1119. /package/dist/{reddit-AF2PPR3K.js.map → reddit-JFFMZLJS.js.map} +0 -0
  1120. /package/dist/{refresh-UC7OTPXS.js.map → refresh-EJ7WKW3H.js.map} +0 -0
  1121. /package/dist/{release-FQOJ2FJ5.js.map → release-AFRLCZWB.js.map} +0 -0
  1122. /package/dist/{relevant-pages-OFKZYWR3.js.map → relevant-pages-4YGN3I2U.js.map} +0 -0
  1123. /package/dist/{remove-H3SU4GJK.js.map → remove-QD4PITBL.js.map} +0 -0
  1124. /package/dist/{reopen-M2PZEHKF.js.map → reopen-JSC6AVJC.js.map} +0 -0
  1125. /package/dist/{research-ILZZTO6Q.js.map → research-MMFUFZGS.js.map} +0 -0
  1126. /package/dist/{research-2N5HAFSB.js.map → research-SRISCVBM.js.map} +0 -0
  1127. /package/dist/{reset-XAKAEDPH.js.map → reset-752CNET3.js.map} +0 -0
  1128. /package/dist/{reset-JN437DOZ.js.map → reset-R3TQAHRU.js.map} +0 -0
  1129. /package/dist/{resolve-WVE6D7CP.js.map → resolve-EWHSJNBX.js.map} +0 -0
  1130. /package/dist/{retry-PMJ22IN4.js.map → retry-DVHDVHVP.js.map} +0 -0
  1131. /package/dist/{retry-ILL2ZATG.js.map → retry-PVULTONO.js.map} +0 -0
  1132. /package/dist/{rules-Y75KR2PC.js.map → rules-4YTY57FM.js.map} +0 -0
  1133. /package/dist/{run-OCCY7JHY.js.map → run-PCZRYL42.js.map} +0 -0
  1134. /package/dist/{run-2AIXS3KE.js.map → run-PRSAUWAJ.js.map} +0 -0
  1135. /package/dist/{schedule-WV6NZ4CK.js.map → schedule-6YTZBCZA.js.map} +0 -0
  1136. /package/dist/{scheduled-agents-MZZMHN3T.js.map → scheduled-agents-XCPU57LU.js.map} +0 -0
  1137. /package/dist/{schema-ADRFE3AV.js.map → schema-4PS5BDG3.js.map} +0 -0
  1138. /package/dist/{search-GGWTLVG7.js.map → search-IMZD5RGD.js.map} +0 -0
  1139. /package/dist/{sends-4ZO6BNZ4.js.map → sends-I2B6F5NW.js.map} +0 -0
  1140. /package/dist/{setup-links-76AJJR5Z.js.map → setup-links-PTL6RF2J.js.map} +0 -0
  1141. /package/dist/{shared-UPMEBTVP.js.map → shared-Z7INVKCZ.js.map} +0 -0
  1142. /package/dist/{shopify-Q3XMCPHI.js.map → shopify-SDZZ5HTA.js.map} +0 -0
  1143. /package/dist/{site-I4HFMTE5.js.map → site-NGQ7K6UD.js.map} +0 -0
  1144. /package/dist/{sitemaps-P3K5Z4TW.js.map → sitemaps-EOMSRKOD.js.map} +0 -0
  1145. /package/dist/{sites-TURWC53D.js.map → sites-6M73AONG.js.map} +0 -0
  1146. /package/dist/{sources-GGLP5NQU.js.map → sources-NKFSCI6M.js.map} +0 -0
  1147. /package/dist/{sources-ORL5AEH5.js.map → sources-O4CQ5KSX.js.map} +0 -0
  1148. /package/dist/{stats-XNKAJD2Z.js.map → stats-MFEH2TSW.js.map} +0 -0
  1149. /package/dist/{status-LSHCACMZ.js.map → status-DLYRPGFS.js.map} +0 -0
  1150. /package/dist/{stock-RZH4SEGS.js.map → stock-RDCDVBHX.js.map} +0 -0
  1151. /package/dist/{studies-5G67ODR2.js.map → studies-SSA3SR2L.js.map} +0 -0
  1152. /package/dist/{studio-D2OMFCZZ.js.map → studio-MBHPDGMN.js.map} +0 -0
  1153. /package/dist/{sync-MK7JTH3U.js.map → sync-BEW3TZP7.js.map} +0 -0
  1154. /package/dist/{sync-QVEUQKU5.js.map → sync-SI25TKY5.js.map} +0 -0
  1155. /package/dist/{sync-definition-EFAJ744M.js.map → sync-definition-RECCA3QH.js.map} +0 -0
  1156. /package/dist/{tag-manager-3GIW6BPB.js.map → tag-manager-JFC6YYVP.js.map} +0 -0
  1157. /package/dist/{tags-5HX7TDJN.js.map → tags-IJIGZYR3.js.map} +0 -0
  1158. /package/dist/{tags-EOIC4EQK.js.map → tags-K4HIKHNU.js.map} +0 -0
  1159. /package/dist/{tags-G4HMOLZF.js.map → tags-OTA55BQ6.js.map} +0 -0
  1160. /package/dist/{tags-BE6L5NLG.js.map → tags-QF2V4B3M.js.map} +0 -0
  1161. /package/dist/{tags-PF6UJWCF.js.map → tags-SK7WXMBS.js.map} +0 -0
  1162. /package/dist/{targeting-constants-RJS2STR5.js.map → targeting-constants-RF2732EW.js.map} +0 -0
  1163. /package/dist/{targeting-criteria-DOHSND62.js.map → targeting-criteria-7BUUYDYC.js.map} +0 -0
  1164. /package/dist/{targets-7AL4HPAW.js.map → targets-7V3NCQSD.js.map} +0 -0
  1165. /package/dist/{terms-AATAGKPT.js.map → terms-XFL6QO7A.js.map} +0 -0
  1166. /package/dist/{testimonials-BNYHKXD2.js.map → testimonials-XYD5DLBJ.js.map} +0 -0
  1167. /package/dist/{top-companies-ASSEFHI3.js.map → top-companies-LI26TONY.js.map} +0 -0
  1168. /package/dist/{transcript-OTAKTTSA.js.map → transcript-FTHDWMGU.js.map} +0 -0
  1169. /package/dist/{triggers-JQYC4JLT.js.map → triggers-3LHJVK5P.js.map} +0 -0
  1170. /package/dist/{tweets-MLDLLLDB.js.map → tweets-6PQHJXJC.js.map} +0 -0
  1171. /package/dist/{unlink-FVHHULLC.js.map → unlink-BMOUBGWO.js.map} +0 -0
  1172. /package/dist/{unstage-65DUBYNZ.js.map → unstage-O23ILHCY.js.map} +0 -0
  1173. /package/dist/{unstage-FIRVPNRC.js.map → unstage-YEW5KXJL.js.map} +0 -0
  1174. /package/dist/{update-EO5LVV34.js.map → update-2IWZA5UU.js.map} +0 -0
  1175. /package/dist/{update-RA6TX5NV.js.map → update-G7YZICSU.js.map} +0 -0
  1176. /package/dist/{update-G7RMT4OC.js.map → update-T5INCQJZ.js.map} +0 -0
  1177. /package/dist/{update-OD75FSPH.js.map → update-UTQVTG45.js.map} +0 -0
  1178. /package/dist/{upload-X33VIDOB.js.map → upload-UXYJDA2U.js.map} +0 -0
  1179. /package/dist/{url-options-4J3FRXHO.js.map → url-options-Y7I5EL55.js.map} +0 -0
  1180. /package/dist/{url-params-IBE4HUKK.js.map → url-params-PE4XAQNH.js.map} +0 -0
  1181. /package/dist/{videos-NITQKILV.js.map → videos-AHOLXU42.js.map} +0 -0
  1182. /package/dist/{videos-RGCF3EAE.js.map → videos-EVPJHY3B.js.map} +0 -0
  1183. /package/dist/{viewer-check-AKVX3XFW.js.map → viewer-check-NA4TMNY4.js.map} +0 -0
  1184. /package/dist/{web-QVR2EQ7X.js.map → web-7EODEH25.js.map} +0 -0
  1185. /package/dist/{winning-ads-3R4RU3FL.js.map → winning-ads-5UKX6QV7.js.map} +0 -0
  1186. /package/dist/{write-commands-XLZCRVTU.js.map → write-commands-LHEJESKL.js.map} +0 -0
  1187. /package/dist/{write-commands-OBQPQUIE.js.map → write-commands-SD6DXVNK.js.map} +0 -0
  1188. /package/dist/{x-747NTJKH.js.map → x-R72UTFQT.js.map} +0 -0
@@ -1 +0,0 @@
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"]}
@@ -1,144 +0,0 @@
1
- import {
2
- failApi
3
- } from "./chunk-6IRB3MHG.js";
4
- import "./chunk-WR5Y64OE.js";
5
- import {
6
- triggerCatalogSchema
7
- } from "./chunk-LXOTNL65.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-XHWHBGKX.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-JQYC4JLT.js.map
@@ -1,123 +0,0 @@
1
- import {
2
- parseXApiError
3
- } from "./chunk-FIN4ZXGJ.js";
4
- import {
5
- resolveXAccountId
6
- } from "./chunk-YD6OZSSY.js";
7
- import {
8
- cacheGet,
9
- cacheSet,
10
- writeAdsJson,
11
- writeAdsOutput,
12
- writeJsonEnvelope
13
- } from "./chunk-RBCO3C3Q.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-MLDLLLDB.js.map
@@ -1,70 +0,0 @@
1
- import {
2
- failApi,
3
- failValidation,
4
- writeOk
5
- } from "./chunk-H3PD2KOF.js";
6
- import "./chunk-LXOTNL65.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-XHWHBGKX.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-FVHHULLC.js.map
@@ -1,96 +0,0 @@
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-RBCO3C3Q.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-65DUBYNZ.js.map
@@ -1,88 +0,0 @@
1
- import {
2
- failApi,
3
- failValidation,
4
- validateScheduledAgentRef
5
- } from "./chunk-6IRB3MHG.js";
6
- import "./chunk-WR5Y64OE.js";
7
- import "./chunk-LXOTNL65.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-XHWHBGKX.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-FIRVPNRC.js.map