@koda-sl/baker-cli 0.384.0-dev.4699b7308 → 0.384.0-dev.557795bef

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 (964) hide show
  1. package/README.md +1098 -217
  2. package/canvas/tiktok-captions-composition/index.html +5 -6
  3. package/canvas/tiktok-captions-composition/meta.json +5 -0
  4. package/dist/account-4UEZAY5T.js +49 -0
  5. package/dist/account-4UEZAY5T.js.map +1 -0
  6. package/dist/account-OINZG6UP.js +80 -0
  7. package/dist/account-OINZG6UP.js.map +1 -0
  8. package/dist/account-QMDCUUSG.js +79 -0
  9. package/dist/account-QMDCUUSG.js.map +1 -0
  10. package/dist/account-reads-ZKKDYHK5.js +218 -0
  11. package/dist/account-reads-ZKKDYHK5.js.map +1 -0
  12. package/dist/account-writes-N4JDIDRB.js +66 -0
  13. package/dist/account-writes-N4JDIDRB.js.map +1 -0
  14. package/dist/accounts-AEBQFCNH.js +114 -0
  15. package/dist/accounts-AEBQFCNH.js.map +1 -0
  16. package/dist/accounts-EBGJ2YO7.js +611 -0
  17. package/dist/accounts-EBGJ2YO7.js.map +1 -0
  18. package/dist/accounts-HP4BLKK5.js +75 -0
  19. package/dist/accounts-HP4BLKK5.js.map +1 -0
  20. package/dist/accounts-YE2SQ3UQ.js +77 -0
  21. package/dist/accounts-YE2SQ3UQ.js.map +1 -0
  22. package/dist/accounts-Z4CLGQXJ.js +115 -0
  23. package/dist/accounts-Z4CLGQXJ.js.map +1 -0
  24. package/dist/actions-ADRIEQZX.js +55 -0
  25. package/dist/actions-ADRIEQZX.js.map +1 -0
  26. package/dist/active-entities-YB46ADQN.js +103 -0
  27. package/dist/active-entities-YB46ADQN.js.map +1 -0
  28. package/dist/activities-DUAIQJLN.js +74 -0
  29. package/dist/activities-DUAIQJLN.js.map +1 -0
  30. package/dist/ad-group-writes-HL3EZ3BT.js +170 -0
  31. package/dist/ad-group-writes-HL3EZ3BT.js.map +1 -0
  32. package/dist/ad-groups-FGS5JJGN.js +68 -0
  33. package/dist/ad-groups-FGS5JJGN.js.map +1 -0
  34. package/dist/ad-writes-LX4ACUHB.js +174 -0
  35. package/dist/ad-writes-LX4ACUHB.js.map +1 -0
  36. package/dist/add-5CUXNOUM.js +97 -0
  37. package/dist/add-5CUXNOUM.js.map +1 -0
  38. package/dist/add-6OXOQNET.js +302 -0
  39. package/dist/add-6OXOQNET.js.map +1 -0
  40. package/dist/add-E66HBIZV.js +105 -0
  41. package/dist/add-E66HBIZV.js.map +1 -0
  42. package/dist/add-ROK3ETQC.js +104 -0
  43. package/dist/add-ROK3ETQC.js.map +1 -0
  44. package/dist/add-accounts-YME5SCXD.js +91 -0
  45. package/dist/add-accounts-YME5SCXD.js.map +1 -0
  46. package/dist/ads-65R3WMDU.js +128 -0
  47. package/dist/ads-65R3WMDU.js.map +1 -0
  48. package/dist/ads-O63J7BDF.js +113 -0
  49. package/dist/ads-O63J7BDF.js.map +1 -0
  50. package/dist/ads-TFZ5PXKS.js +77 -0
  51. package/dist/ads-TFZ5PXKS.js.map +1 -0
  52. package/dist/ads-XSVRH45E.js +40 -0
  53. package/dist/ads-XSVRH45E.js.map +1 -0
  54. package/dist/adsets-Y62JOOTV.js +176 -0
  55. package/dist/adsets-Y62JOOTV.js.map +1 -0
  56. package/dist/advertisers-AIC4QPEK.js +120 -0
  57. package/dist/advertisers-AIC4QPEK.js.map +1 -0
  58. package/dist/advertisers-LJ2HKJ4W.js +125 -0
  59. package/dist/advertisers-LJ2HKJ4W.js.map +1 -0
  60. package/dist/analytics-N4PGXXEQ.js +1976 -0
  61. package/dist/analytics-N4PGXXEQ.js.map +1 -0
  62. package/dist/analytics-X3DR3UVG.js +433 -0
  63. package/dist/analytics-X3DR3UVG.js.map +1 -0
  64. package/dist/animate-E3SKQ6SI.js +480 -0
  65. package/dist/animate-E3SKQ6SI.js.map +1 -0
  66. package/dist/assign-Y7HGSQVJ.js +77 -0
  67. package/dist/assign-Y7HGSQVJ.js.map +1 -0
  68. package/dist/audience-size-SWX5YJQF.js +94 -0
  69. package/dist/audience-size-SWX5YJQF.js.map +1 -0
  70. package/dist/audiences-5A6BCWSA.js +268 -0
  71. package/dist/audiences-5A6BCWSA.js.map +1 -0
  72. package/dist/audiences-6QOCASVV.js +78 -0
  73. package/dist/audiences-6QOCASVV.js.map +1 -0
  74. package/dist/audiences-O67NGIP5.js +85 -0
  75. package/dist/audiences-O67NGIP5.js.map +1 -0
  76. package/dist/audit-2KVLWSAI.js +151 -0
  77. package/dist/audit-2KVLWSAI.js.map +1 -0
  78. package/dist/audit-HWK24VXI.js +88 -0
  79. package/dist/audit-HWK24VXI.js.map +1 -0
  80. package/dist/autocomplete-JJSGC5WU.js +111 -0
  81. package/dist/autocomplete-JJSGC5WU.js.map +1 -0
  82. package/dist/avatars-XIEKQ77J.js +38 -0
  83. package/dist/avatars-XIEKQ77J.js.map +1 -0
  84. package/dist/bid-pricing-D2HGRWZL.js +99 -0
  85. package/dist/bid-pricing-D2HGRWZL.js.map +1 -0
  86. package/dist/brand-AYYWRGIE.js +22 -0
  87. package/dist/brand-AYYWRGIE.js.map +1 -0
  88. package/dist/brief-3HUIDK5F.js +490 -0
  89. package/dist/brief-3HUIDK5F.js.map +1 -0
  90. package/dist/businesses-65EWTK5E.js +53 -0
  91. package/dist/businesses-65EWTK5E.js.map +1 -0
  92. package/dist/campaign-groups-6HCYR2JX.js +95 -0
  93. package/dist/campaign-groups-6HCYR2JX.js.map +1 -0
  94. package/dist/campaign-writes-M6JLF5AC.js +170 -0
  95. package/dist/campaign-writes-M6JLF5AC.js.map +1 -0
  96. package/dist/campaign-writes-Y6QPRQ4E.js +165 -0
  97. package/dist/campaign-writes-Y6QPRQ4E.js.map +1 -0
  98. package/dist/campaigns-6SM2ZSIH.js +76 -0
  99. package/dist/campaigns-6SM2ZSIH.js.map +1 -0
  100. package/dist/campaigns-7RKJZRY2.js +107 -0
  101. package/dist/campaigns-7RKJZRY2.js.map +1 -0
  102. package/dist/campaigns-KRI25JDZ.js +109 -0
  103. package/dist/campaigns-KRI25JDZ.js.map +1 -0
  104. package/dist/campaigns-TD7ZB5DG.js +110 -0
  105. package/dist/campaigns-TD7ZB5DG.js.map +1 -0
  106. package/dist/canvas-DMYY2DWI.js +46 -0
  107. package/dist/canvas-DMYY2DWI.js.map +1 -0
  108. package/dist/capabilities-3WJTXS2O.js +144 -0
  109. package/dist/capabilities-3WJTXS2O.js.map +1 -0
  110. package/dist/cards-7HRC4UQQ.js +85 -0
  111. package/dist/cards-7HRC4UQQ.js.map +1 -0
  112. package/dist/catalog-N6MDMIVL.js +64 -0
  113. package/dist/catalog-N6MDMIVL.js.map +1 -0
  114. package/dist/catalogs-PB46L7FH.js +128 -0
  115. package/dist/catalogs-PB46L7FH.js.map +1 -0
  116. package/dist/changes-SASUQK62.js +135 -0
  117. package/dist/changes-SASUQK62.js.map +1 -0
  118. package/dist/chatgpt-JKBSAG25.js +47 -0
  119. package/dist/chatgpt-JKBSAG25.js.map +1 -0
  120. package/dist/chats-WRVSQQB2.js +262 -0
  121. package/dist/chats-WRVSQQB2.js.map +1 -0
  122. package/dist/chunk-2FGKJY63.js +455 -0
  123. package/dist/chunk-2FGKJY63.js.map +1 -0
  124. package/dist/chunk-2GVXNKAE.js +42 -0
  125. package/dist/chunk-2GVXNKAE.js.map +1 -0
  126. package/dist/chunk-2J3PTIQB.js +479 -0
  127. package/dist/chunk-2J3PTIQB.js.map +1 -0
  128. package/dist/chunk-2J7XC2NO.js +346 -0
  129. package/dist/chunk-2J7XC2NO.js.map +1 -0
  130. package/dist/{chunk-VLUGGVJL.js → chunk-2UFRHW3T.js} +12 -4
  131. package/dist/chunk-2UFRHW3T.js.map +1 -0
  132. package/dist/chunk-2Y5V23PU.js +29 -0
  133. package/dist/chunk-2Y5V23PU.js.map +1 -0
  134. package/dist/chunk-3ACMDRSE.js +39 -0
  135. package/dist/chunk-3ACMDRSE.js.map +1 -0
  136. package/dist/chunk-3EWF7VII.js +1079 -0
  137. package/dist/chunk-3EWF7VII.js.map +1 -0
  138. package/dist/chunk-3LYMIKKN.js +625 -0
  139. package/dist/chunk-3LYMIKKN.js.map +1 -0
  140. package/dist/chunk-3M6RNCDD.js +26 -0
  141. package/dist/chunk-3M6RNCDD.js.map +1 -0
  142. package/dist/chunk-3MDO4RR2.js +310 -0
  143. package/dist/chunk-3MDO4RR2.js.map +1 -0
  144. package/dist/chunk-3NPOIHSX.js +6667 -0
  145. package/dist/chunk-3NPOIHSX.js.map +1 -0
  146. package/dist/chunk-3SK7TWGP.js +103 -0
  147. package/dist/chunk-3SK7TWGP.js.map +1 -0
  148. package/dist/chunk-3VXQYDJN.js +1743 -0
  149. package/dist/chunk-3VXQYDJN.js.map +1 -0
  150. package/dist/chunk-44VXKO65.js +106 -0
  151. package/dist/chunk-44VXKO65.js.map +1 -0
  152. package/dist/chunk-4NZ47VXO.js +137 -0
  153. package/dist/chunk-4NZ47VXO.js.map +1 -0
  154. package/dist/chunk-4X3UR372.js +225 -0
  155. package/dist/chunk-4X3UR372.js.map +1 -0
  156. package/dist/chunk-553XSIFW.js +304 -0
  157. package/dist/chunk-553XSIFW.js.map +1 -0
  158. package/dist/chunk-5FEBUCJU.js +25 -0
  159. package/dist/chunk-5FEBUCJU.js.map +1 -0
  160. package/dist/chunk-5HYSKH77.js +315 -0
  161. package/dist/chunk-5HYSKH77.js.map +1 -0
  162. package/dist/chunk-5MBPIONY.js +29 -0
  163. package/dist/chunk-5MBPIONY.js.map +1 -0
  164. package/dist/chunk-5UCP4EEQ.js +111 -0
  165. package/dist/chunk-5UCP4EEQ.js.map +1 -0
  166. package/dist/chunk-5VPJNNJL.js +494 -0
  167. package/dist/chunk-5VPJNNJL.js.map +1 -0
  168. package/dist/{chunk-VZEDAFAR.js → chunk-6YYSUISH.js} +47 -8
  169. package/dist/chunk-6YYSUISH.js.map +1 -0
  170. package/dist/chunk-7OHWEF3I.js +98 -0
  171. package/dist/chunk-7OHWEF3I.js.map +1 -0
  172. package/dist/chunk-A636XRD7.js +159 -0
  173. package/dist/chunk-A636XRD7.js.map +1 -0
  174. package/dist/chunk-A76FRBSF.js +297 -0
  175. package/dist/chunk-A76FRBSF.js.map +1 -0
  176. package/dist/chunk-AADVCEL4.js +817 -0
  177. package/dist/chunk-AADVCEL4.js.map +1 -0
  178. package/dist/chunk-AG62YO7C.js +96 -0
  179. package/dist/chunk-AG62YO7C.js.map +1 -0
  180. package/dist/chunk-AIRIT4GF.js +75 -0
  181. package/dist/chunk-AIRIT4GF.js.map +1 -0
  182. package/dist/chunk-AMCY5YCB.js +206 -0
  183. package/dist/chunk-AMCY5YCB.js.map +1 -0
  184. package/dist/chunk-AP3TP6VG.js +139 -0
  185. package/dist/chunk-AP3TP6VG.js.map +1 -0
  186. package/dist/chunk-APP475IQ.js +474 -0
  187. package/dist/chunk-APP475IQ.js.map +1 -0
  188. package/dist/chunk-AR7PU7BB.js +76 -0
  189. package/dist/chunk-AR7PU7BB.js.map +1 -0
  190. package/dist/chunk-B4S72KSS.js +172 -0
  191. package/dist/chunk-B4S72KSS.js.map +1 -0
  192. package/dist/chunk-BIPIL4QA.js +486 -0
  193. package/dist/chunk-BIPIL4QA.js.map +1 -0
  194. package/dist/chunk-BPUSL5Y2.js +58 -0
  195. package/dist/chunk-BPUSL5Y2.js.map +1 -0
  196. package/dist/chunk-BR32GHYD.js +65 -0
  197. package/dist/chunk-BR32GHYD.js.map +1 -0
  198. package/dist/chunk-CAMX6OHF.js +3182 -0
  199. package/dist/chunk-CAMX6OHF.js.map +1 -0
  200. package/dist/{chunk-MF7YA62W.js → chunk-CUL3VB4L.js} +10 -5
  201. package/dist/chunk-CUL3VB4L.js.map +1 -0
  202. package/dist/chunk-CVEY353K.js +66 -0
  203. package/dist/chunk-CVEY353K.js.map +1 -0
  204. package/dist/chunk-CWXADUKL.js +1599 -0
  205. package/dist/chunk-CWXADUKL.js.map +1 -0
  206. package/dist/chunk-D5FY4FAK.js +24 -0
  207. package/dist/chunk-D5FY4FAK.js.map +1 -0
  208. package/dist/chunk-DGCUPJZD.js +39 -0
  209. package/dist/chunk-DGCUPJZD.js.map +1 -0
  210. package/dist/chunk-DNCLWSHO.js +41 -0
  211. package/dist/chunk-DNCLWSHO.js.map +1 -0
  212. package/dist/chunk-DUPURL26.js +97 -0
  213. package/dist/chunk-DUPURL26.js.map +1 -0
  214. package/dist/chunk-E2ZOSNF5.js +96 -0
  215. package/dist/chunk-E2ZOSNF5.js.map +1 -0
  216. package/dist/chunk-E3HYHT7C.js +274 -0
  217. package/dist/chunk-E3HYHT7C.js.map +1 -0
  218. package/dist/chunk-EDLZGTGN.js +216 -0
  219. package/dist/chunk-EDLZGTGN.js.map +1 -0
  220. package/dist/chunk-EI5QN4UO.js +363 -0
  221. package/dist/chunk-EI5QN4UO.js.map +1 -0
  222. package/dist/{chunk-XHC4LMK4.js → chunk-EIGXX6KI.js} +16 -8
  223. package/dist/chunk-EIGXX6KI.js.map +1 -0
  224. package/dist/chunk-EPDE7ZRU.js +174 -0
  225. package/dist/chunk-EPDE7ZRU.js.map +1 -0
  226. package/dist/chunk-ERSX3MKH.js +34 -0
  227. package/dist/chunk-ERSX3MKH.js.map +1 -0
  228. package/dist/chunk-EVDRF4CI.js +509 -0
  229. package/dist/chunk-EVDRF4CI.js.map +1 -0
  230. package/dist/chunk-F4IEILTR.js +382 -0
  231. package/dist/chunk-F4IEILTR.js.map +1 -0
  232. package/dist/chunk-F7HRLPR5.js +67 -0
  233. package/dist/chunk-F7HRLPR5.js.map +1 -0
  234. package/dist/chunk-FEG6MN4H.js +84 -0
  235. package/dist/chunk-FEG6MN4H.js.map +1 -0
  236. package/dist/chunk-FKOECEVC.js +126 -0
  237. package/dist/chunk-FKOECEVC.js.map +1 -0
  238. package/dist/chunk-FMGW2NZI.js +106 -0
  239. package/dist/chunk-FMGW2NZI.js.map +1 -0
  240. package/dist/chunk-FPZKKNDK.js +98 -0
  241. package/dist/chunk-FPZKKNDK.js.map +1 -0
  242. package/dist/chunk-FUVCY63N.js +169 -0
  243. package/dist/chunk-FUVCY63N.js.map +1 -0
  244. package/dist/chunk-GBNJQNDS.js +19 -0
  245. package/dist/chunk-GBNJQNDS.js.map +1 -0
  246. package/dist/chunk-GIWHHCD6.js +145 -0
  247. package/dist/chunk-GIWHHCD6.js.map +1 -0
  248. package/dist/chunk-GOJXKIFQ.js +1605 -0
  249. package/dist/chunk-GOJXKIFQ.js.map +1 -0
  250. package/dist/chunk-GRQ2AXDX.js +9 -0
  251. package/dist/chunk-GRQ2AXDX.js.map +1 -0
  252. package/dist/chunk-GXDLWBOY.js +73 -0
  253. package/dist/chunk-GXDLWBOY.js.map +1 -0
  254. package/dist/chunk-HAE4WWFQ.js +455 -0
  255. package/dist/chunk-HAE4WWFQ.js.map +1 -0
  256. package/dist/chunk-I2DNBEV6.js +4227 -0
  257. package/dist/chunk-I2DNBEV6.js.map +1 -0
  258. package/dist/chunk-I4FTS5EE.js +455 -0
  259. package/dist/chunk-I4FTS5EE.js.map +1 -0
  260. package/dist/chunk-IELPT4K2.js +74 -0
  261. package/dist/chunk-IELPT4K2.js.map +1 -0
  262. package/dist/chunk-IJMWEO4P.js +57 -0
  263. package/dist/chunk-IJMWEO4P.js.map +1 -0
  264. package/dist/chunk-IREMSVKW.js +175 -0
  265. package/dist/chunk-IREMSVKW.js.map +1 -0
  266. package/dist/chunk-IVIJJXXT.js +62 -0
  267. package/dist/chunk-IVIJJXXT.js.map +1 -0
  268. package/dist/chunk-JD3W3ON7.js +188 -0
  269. package/dist/chunk-JD3W3ON7.js.map +1 -0
  270. package/dist/chunk-JLWBK3VC.js +5187 -0
  271. package/dist/chunk-JLWBK3VC.js.map +1 -0
  272. package/dist/chunk-JPK34QPS.js +134 -0
  273. package/dist/chunk-JPK34QPS.js.map +1 -0
  274. package/dist/chunk-JUY47NZ2.js +183 -0
  275. package/dist/chunk-JUY47NZ2.js.map +1 -0
  276. package/dist/chunk-JXMZEOHV.js +333 -0
  277. package/dist/chunk-JXMZEOHV.js.map +1 -0
  278. package/dist/chunk-K37K447U.js +51 -0
  279. package/dist/chunk-K37K447U.js.map +1 -0
  280. package/dist/chunk-K6TDB2KV.js +1442 -0
  281. package/dist/chunk-K6TDB2KV.js.map +1 -0
  282. package/dist/chunk-KIGGMKAE.js +66 -0
  283. package/dist/chunk-KIGGMKAE.js.map +1 -0
  284. package/dist/chunk-KKJ4KJCW.js +29 -0
  285. package/dist/chunk-KKJ4KJCW.js.map +1 -0
  286. package/dist/chunk-KONA5PSR.js +55 -0
  287. package/dist/chunk-KONA5PSR.js.map +1 -0
  288. package/dist/chunk-KVHRW7KO.js +60 -0
  289. package/dist/chunk-KVHRW7KO.js.map +1 -0
  290. package/dist/chunk-LA6PPSNA.js +65 -0
  291. package/dist/chunk-LA6PPSNA.js.map +1 -0
  292. package/dist/chunk-LKPJADL2.js +74 -0
  293. package/dist/chunk-LKPJADL2.js.map +1 -0
  294. package/dist/chunk-LWAEHLKV.js +74 -0
  295. package/dist/chunk-LWAEHLKV.js.map +1 -0
  296. package/dist/chunk-M6UNISGO.js +66 -0
  297. package/dist/chunk-M6UNISGO.js.map +1 -0
  298. package/dist/chunk-MIJAGBEP.js +23992 -0
  299. package/dist/chunk-MIJAGBEP.js.map +1 -0
  300. package/dist/chunk-MP4EXZ45.js +3151 -0
  301. package/dist/chunk-MP4EXZ45.js.map +1 -0
  302. package/dist/chunk-MYTDK3AL.js +2102 -0
  303. package/dist/chunk-MYTDK3AL.js.map +1 -0
  304. package/dist/chunk-MZQ5DX6S.js +125 -0
  305. package/dist/chunk-MZQ5DX6S.js.map +1 -0
  306. package/dist/chunk-NFSLRRIE.js +77 -0
  307. package/dist/chunk-NFSLRRIE.js.map +1 -0
  308. package/dist/chunk-NOK7MSVJ.js +533 -0
  309. package/dist/chunk-NOK7MSVJ.js.map +1 -0
  310. package/dist/chunk-NR5RZDAW.js +592 -0
  311. package/dist/chunk-NR5RZDAW.js.map +1 -0
  312. package/dist/chunk-O2EVJALZ.js +133 -0
  313. package/dist/chunk-O2EVJALZ.js.map +1 -0
  314. package/dist/chunk-O6UM5WWH.js +275 -0
  315. package/dist/chunk-O6UM5WWH.js.map +1 -0
  316. package/dist/chunk-O6XZIQXZ.js +6212 -0
  317. package/dist/chunk-O6XZIQXZ.js.map +1 -0
  318. package/dist/chunk-OIL6PU5W.js +35 -0
  319. package/dist/chunk-OIL6PU5W.js.map +1 -0
  320. package/dist/chunk-P4NSJS54.js +20 -0
  321. package/dist/chunk-P4NSJS54.js.map +1 -0
  322. package/dist/chunk-P5T7OZKV.js +26 -0
  323. package/dist/chunk-P5T7OZKV.js.map +1 -0
  324. package/dist/chunk-PFBQERWX.js +10 -0
  325. package/dist/chunk-PFBQERWX.js.map +1 -0
  326. package/dist/chunk-PSWVSLJU.js +56 -0
  327. package/dist/chunk-PSWVSLJU.js.map +1 -0
  328. package/dist/chunk-PY2NJ6XZ.js +191 -0
  329. package/dist/chunk-PY2NJ6XZ.js.map +1 -0
  330. package/dist/chunk-PZ4OM2LK.js +45 -0
  331. package/dist/chunk-PZ4OM2LK.js.map +1 -0
  332. package/dist/chunk-PZNOJ76W.js +541 -0
  333. package/dist/chunk-PZNOJ76W.js.map +1 -0
  334. package/dist/chunk-Q6ULQMWG.js +41 -0
  335. package/dist/chunk-Q6ULQMWG.js.map +1 -0
  336. package/dist/chunk-QKFD6PPX.js +57 -0
  337. package/dist/chunk-QKFD6PPX.js.map +1 -0
  338. package/dist/chunk-QMLGJ5OW.js +2891 -0
  339. package/dist/chunk-QMLGJ5OW.js.map +1 -0
  340. package/dist/chunk-R4TPDVBD.js +207 -0
  341. package/dist/chunk-R4TPDVBD.js.map +1 -0
  342. package/dist/chunk-R7QV5N2S.js +846 -0
  343. package/dist/chunk-R7QV5N2S.js.map +1 -0
  344. package/dist/chunk-RR3KT2E7.js +665 -0
  345. package/dist/chunk-RR3KT2E7.js.map +1 -0
  346. package/dist/chunk-SEPPFM5S.js +228 -0
  347. package/dist/chunk-SEPPFM5S.js.map +1 -0
  348. package/dist/chunk-SQ7DRYCC.js +150 -0
  349. package/dist/chunk-SQ7DRYCC.js.map +1 -0
  350. package/dist/chunk-SYULM665.js +610 -0
  351. package/dist/chunk-SYULM665.js.map +1 -0
  352. package/dist/chunk-TKT3OHZ6.js +170 -0
  353. package/dist/chunk-TKT3OHZ6.js.map +1 -0
  354. package/dist/chunk-TNOSX3PJ.js +136 -0
  355. package/dist/chunk-TNOSX3PJ.js.map +1 -0
  356. package/dist/chunk-TTVKI54A.js +160 -0
  357. package/dist/chunk-TTVKI54A.js.map +1 -0
  358. package/dist/chunk-U7ZVXFS3.js +23 -0
  359. package/dist/chunk-U7ZVXFS3.js.map +1 -0
  360. package/dist/chunk-UI6BKYQD.js +225 -0
  361. package/dist/chunk-UI6BKYQD.js.map +1 -0
  362. package/dist/chunk-UKLDW4UW.js +46 -0
  363. package/dist/chunk-UKLDW4UW.js.map +1 -0
  364. package/dist/chunk-V6XXXEXZ.js +76 -0
  365. package/dist/chunk-V6XXXEXZ.js.map +1 -0
  366. package/dist/chunk-V7BW2CIQ.js +92 -0
  367. package/dist/chunk-V7BW2CIQ.js.map +1 -0
  368. package/dist/chunk-VSU5R34H.js +76 -0
  369. package/dist/chunk-VSU5R34H.js.map +1 -0
  370. package/dist/chunk-W4SA4CMR.js +296 -0
  371. package/dist/chunk-W4SA4CMR.js.map +1 -0
  372. package/dist/chunk-WFUMNDCE.js +111 -0
  373. package/dist/chunk-WFUMNDCE.js.map +1 -0
  374. package/dist/chunk-WHWNXLTD.js +166 -0
  375. package/dist/chunk-WHWNXLTD.js.map +1 -0
  376. package/dist/chunk-WN4KX7GE.js +25 -0
  377. package/dist/chunk-WN4KX7GE.js.map +1 -0
  378. package/dist/chunk-XIY7P54H.js +84 -0
  379. package/dist/chunk-XIY7P54H.js.map +1 -0
  380. package/dist/chunk-YFPLNMPZ.js +337 -0
  381. package/dist/chunk-YFPLNMPZ.js.map +1 -0
  382. package/dist/chunk-YMBB4JBD.js +1830 -0
  383. package/dist/chunk-YMBB4JBD.js.map +1 -0
  384. package/dist/chunk-YQFM2P5W.js +197 -0
  385. package/dist/chunk-YQFM2P5W.js.map +1 -0
  386. package/dist/chunk-YQSBHWOI.js +41 -0
  387. package/dist/chunk-YTF3IVMF.js +149 -0
  388. package/dist/chunk-YTF3IVMF.js.map +1 -0
  389. package/dist/chunk-Z3ENMCFE.js +94 -0
  390. package/dist/chunk-Z3ENMCFE.js.map +1 -0
  391. package/dist/chunk-Z7MWSXLG.js +94 -0
  392. package/dist/chunk-Z7MWSXLG.js.map +1 -0
  393. package/dist/chunk-ZIXHS6AM.js +42 -0
  394. package/dist/chunk-ZIXHS6AM.js.map +1 -0
  395. package/dist/chunk-ZJ7TQUCU.js +4410 -0
  396. package/dist/chunk-ZJ7TQUCU.js.map +1 -0
  397. package/dist/chunk-ZNQRDLSS.js +52 -0
  398. package/dist/chunk-ZNQRDLSS.js.map +1 -0
  399. package/dist/claim-ROWH6JVB.js +197 -0
  400. package/dist/claim-ROWH6JVB.js.map +1 -0
  401. package/dist/cli.js +104 -69986
  402. package/dist/cli.js.map +1 -1
  403. package/dist/client-EURRWXPW.js +19 -0
  404. package/dist/code-FKQW7V7N.js +76 -0
  405. package/dist/code-FKQW7V7N.js.map +1 -0
  406. package/dist/companies-MD2MZKU6.js +195 -0
  407. package/dist/companies-MD2MZKU6.js.map +1 -0
  408. package/dist/complete-FCAJM6Z4.js +81 -0
  409. package/dist/complete-FCAJM6Z4.js.map +1 -0
  410. package/dist/config-OZOHIAOJ.js +88 -0
  411. package/dist/config-OZOHIAOJ.js.map +1 -0
  412. package/dist/connect-4YXFMXYX.js +42 -0
  413. package/dist/content-PCGSX2QU.js +85 -0
  414. package/dist/content-PCGSX2QU.js.map +1 -0
  415. package/dist/conversation-UX5NZ3IO.js +93 -0
  416. package/dist/conversation-UX5NZ3IO.js.map +1 -0
  417. package/dist/conversion-report-7QSWB2FY.js +125 -0
  418. package/dist/conversion-report-7QSWB2FY.js.map +1 -0
  419. package/dist/conversion-upload-command-XESIAQPU.js +438 -0
  420. package/dist/conversion-upload-command-XESIAQPU.js.map +1 -0
  421. package/dist/conversion-writes-BGOVLBS5.js +120 -0
  422. package/dist/conversion-writes-BGOVLBS5.js.map +1 -0
  423. package/dist/conversions-IYIWW4O7.js +76 -0
  424. package/dist/conversions-IYIWW4O7.js.map +1 -0
  425. package/dist/conversions-RLIJAE7E.js +135 -0
  426. package/dist/conversions-RLIJAE7E.js.map +1 -0
  427. package/dist/countries-5OBUVLLD.js +82 -0
  428. package/dist/countries-5OBUVLLD.js.map +1 -0
  429. package/dist/create-CUJLJUAQ.js +138 -0
  430. package/dist/create-CUJLJUAQ.js.map +1 -0
  431. package/dist/create-FENOT6DX.js +236 -0
  432. package/dist/create-FENOT6DX.js.map +1 -0
  433. package/dist/create-OFZQMOWO.js +59 -0
  434. package/dist/create-OFZQMOWO.js.map +1 -0
  435. package/dist/create-Z5SS2AWB.js +207 -0
  436. package/dist/create-Z5SS2AWB.js.map +1 -0
  437. package/dist/creatives-UJW2QBLH.js +182 -0
  438. package/dist/creatives-UJW2QBLH.js.map +1 -0
  439. package/dist/creatives-XI2DGQUZ.js +87 -0
  440. package/dist/creatives-XI2DGQUZ.js.map +1 -0
  441. package/dist/creatives-YLXQSROD.js +51 -0
  442. package/dist/creatives-YLXQSROD.js.map +1 -0
  443. package/dist/credentials-CH73QMD2.js +287 -0
  444. package/dist/credentials-CH73QMD2.js.map +1 -0
  445. package/dist/critique-C4WRQ4AJ.js +1449 -0
  446. package/dist/critique-C4WRQ4AJ.js.map +1 -0
  447. package/dist/critique-ZBNJ6MQ3.js +213 -0
  448. package/dist/critique-ZBNJ6MQ3.js.map +1 -0
  449. package/dist/crm-MJTT6GOJ.js +224 -0
  450. package/dist/crm-MJTT6GOJ.js.map +1 -0
  451. package/dist/crm-ZXHSEFYI.js +318 -0
  452. package/dist/crm-ZXHSEFYI.js.map +1 -0
  453. package/dist/crop-B52KIQ4O.js +113 -0
  454. package/dist/crop-B52KIQ4O.js.map +1 -0
  455. package/dist/currency-GGWF5DMU.js +88 -0
  456. package/dist/currency-GGWF5DMU.js.map +1 -0
  457. package/dist/custom-conversions-7WDBTC4X.js +125 -0
  458. package/dist/custom-conversions-7WDBTC4X.js.map +1 -0
  459. package/dist/customers-7E4HBSEY.js +56 -0
  460. package/dist/decide-PK7WNSQ2.js +199 -0
  461. package/dist/decide-PK7WNSQ2.js.map +1 -0
  462. package/dist/delete-56LKNEGA.js +71 -0
  463. package/dist/delete-56LKNEGA.js.map +1 -0
  464. package/dist/delete-DQY4ZSFN.js +54 -0
  465. package/dist/delete-DQY4ZSFN.js.map +1 -0
  466. package/dist/delete-EZ7HHOOD.js +69 -0
  467. package/dist/delete-EZ7HHOOD.js.map +1 -0
  468. package/dist/delete-JV4KAA6Y.js +66 -0
  469. package/dist/delete-JV4KAA6Y.js.map +1 -0
  470. package/dist/delete-YONJW4UZ.js +63 -0
  471. package/dist/delete-YONJW4UZ.js.map +1 -0
  472. package/dist/delete-YSYVFL6W.js +71 -0
  473. package/dist/delete-YSYVFL6W.js.map +1 -0
  474. package/dist/demographics-6N3TTYWC.js +138 -0
  475. package/dist/demographics-6N3TTYWC.js.map +1 -0
  476. package/dist/describe-AAVYIFE3.js +97 -0
  477. package/dist/describe-AAVYIFE3.js.map +1 -0
  478. package/dist/describe-UQFLWVFR.js +97 -0
  479. package/dist/describe-UQFLWVFR.js.map +1 -0
  480. package/dist/dimensions-QDXBG2XC.js +101 -0
  481. package/dist/dimensions-QDXBG2XC.js.map +1 -0
  482. package/dist/discard-S3NGGUSK.js +66 -0
  483. package/dist/discard-S3NGGUSK.js.map +1 -0
  484. package/dist/discover-6TEBPVNC.js +93 -0
  485. package/dist/discover-6TEBPVNC.js.map +1 -0
  486. package/dist/discover-SBZPB7T2.js +172 -0
  487. package/dist/discover-SBZPB7T2.js.map +1 -0
  488. package/dist/domain-AMAR76PB.js +98 -0
  489. package/dist/domain-AMAR76PB.js.map +1 -0
  490. package/dist/download-LV3GPOWV.js +299 -0
  491. package/dist/download-LV3GPOWV.js.map +1 -0
  492. package/dist/draft-6QZ7WMWM.js +217 -0
  493. package/dist/draft-6QZ7WMWM.js.map +1 -0
  494. package/dist/draft-DDFFTZ43.js +233 -0
  495. package/dist/draft-DDFFTZ43.js.map +1 -0
  496. package/dist/draft-FIKJXNIQ.js +281 -0
  497. package/dist/draft-FIKJXNIQ.js.map +1 -0
  498. package/dist/draft-GYGWTMBU.js +307 -0
  499. package/dist/draft-GYGWTMBU.js.map +1 -0
  500. package/dist/draft-KXL62WFS.js +328 -0
  501. package/dist/draft-KXL62WFS.js.map +1 -0
  502. package/dist/draft-N4LFPKTA.js +100 -0
  503. package/dist/draft-N4LFPKTA.js.map +1 -0
  504. package/dist/draft-POSLJCWG.js +306 -0
  505. package/dist/draft-POSLJCWG.js.map +1 -0
  506. package/dist/draft-XPO5RWST.js +103 -0
  507. package/dist/draft-XPO5RWST.js.map +1 -0
  508. package/dist/engine/index.d.ts +213 -127
  509. package/dist/engine/index.js +18 -4
  510. package/dist/{env-4P5HOGNA.js → env-TQ2XS2KY.js} +12 -2
  511. package/dist/env-TQ2XS2KY.js.map +1 -0
  512. package/dist/experiment-FQNKMORZ.js +1397 -0
  513. package/dist/experiment-FQNKMORZ.js.map +1 -0
  514. package/dist/export-4IZQZAPF.js +168 -0
  515. package/dist/export-4IZQZAPF.js.map +1 -0
  516. package/dist/extract-DZMGVQ7D.js +113 -0
  517. package/dist/extract-DZMGVQ7D.js.map +1 -0
  518. package/dist/facets-223V5P47.js +114 -0
  519. package/dist/facets-223V5P47.js.map +1 -0
  520. package/dist/favorites-DD2LNSTG.js +178 -0
  521. package/dist/favorites-DD2LNSTG.js.map +1 -0
  522. package/dist/feed-TUVFNX2U.js +177 -0
  523. package/dist/feed-TUVFNX2U.js.map +1 -0
  524. package/dist/feedback-MIW23MI2.js +66 -0
  525. package/dist/feedback-MIW23MI2.js.map +1 -0
  526. package/dist/feedback-record-RGKRKPGZ.js +175 -0
  527. package/dist/feedback-record-RGKRKPGZ.js.map +1 -0
  528. package/dist/fetch-O6UHNXWB.js +139 -0
  529. package/dist/fetch-O6UHNXWB.js.map +1 -0
  530. package/dist/fetch-TZ4UCMJK.js +176 -0
  531. package/dist/fetch-TZ4UCMJK.js.map +1 -0
  532. package/dist/find-4XKIBF4D.js +134 -0
  533. package/dist/find-4XKIBF4D.js.map +1 -0
  534. package/dist/fit-ODVVXV2Q.js +45 -0
  535. package/dist/fit-ODVVXV2Q.js.map +1 -0
  536. package/dist/flows-HVWBFZ7T.js +247 -0
  537. package/dist/flows-HVWBFZ7T.js.map +1 -0
  538. package/dist/follow-RCOXTZGY.js +94 -0
  539. package/dist/follow-RCOXTZGY.js.map +1 -0
  540. package/dist/follow-competitors-SQ5XBFTK.js +112 -0
  541. package/dist/follow-competitors-SQ5XBFTK.js.map +1 -0
  542. package/dist/following-VDU3BHC4.js +113 -0
  543. package/dist/following-VDU3BHC4.js.map +1 -0
  544. package/dist/fonts-NBIQAVQN.js +34 -0
  545. package/dist/fonts-NBIQAVQN.js.map +1 -0
  546. package/dist/forecast-2GJKBNBM.js +168 -0
  547. package/dist/forecast-2GJKBNBM.js.map +1 -0
  548. package/dist/forecast-76MUJBPO.js +104 -0
  549. package/dist/forecast-76MUJBPO.js.map +1 -0
  550. package/dist/funding-HTFVZLLG.js +85 -0
  551. package/dist/funding-HTFVZLLG.js.map +1 -0
  552. package/dist/funnel-FE2HIRVQ.js +394 -0
  553. package/dist/funnel-FE2HIRVQ.js.map +1 -0
  554. package/dist/ga4-2RC4EH7V.js +55 -0
  555. package/dist/ga4-2RC4EH7V.js.map +1 -0
  556. package/dist/generate-TPDOBCKQ.js +262 -0
  557. package/dist/generate-TPDOBCKQ.js.map +1 -0
  558. package/dist/get-6JNOVI27.js +56 -0
  559. package/dist/get-6JNOVI27.js.map +1 -0
  560. package/dist/get-FH2LIEYL.js +63 -0
  561. package/dist/get-FH2LIEYL.js.map +1 -0
  562. package/dist/get-GZLCDXXW.js +61 -0
  563. package/dist/get-GZLCDXXW.js.map +1 -0
  564. package/dist/get-KVAOPAQW.js +78 -0
  565. package/dist/get-KVAOPAQW.js.map +1 -0
  566. package/dist/get-TSPQYEKC.js +59 -0
  567. package/dist/get-TSPQYEKC.js.map +1 -0
  568. package/dist/get-TY3RXYNZ.js +63 -0
  569. package/dist/get-TY3RXYNZ.js.map +1 -0
  570. package/dist/get-VPW33XTN.js +92 -0
  571. package/dist/get-VPW33XTN.js.map +1 -0
  572. package/dist/gif-JFEYPFFI.js +94 -0
  573. package/dist/gif-JFEYPFFI.js.map +1 -0
  574. package/dist/google-R6RD4L6Z.js +136 -0
  575. package/dist/google-R6RD4L6Z.js.map +1 -0
  576. package/dist/google-VPQNRVIB.js +3190 -0
  577. package/dist/google-VPQNRVIB.js.map +1 -0
  578. package/dist/google-ads-JEQMNNMN.js +195 -0
  579. package/dist/google-ads-JEQMNNMN.js.map +1 -0
  580. package/dist/group-7AV6UL26.js +43 -0
  581. package/dist/group-7AV6UL26.js.map +1 -0
  582. package/dist/group-BVQZEZIC.js +43 -0
  583. package/dist/group-BVQZEZIC.js.map +1 -0
  584. package/dist/gsc-SQ42WAQE.js +30 -0
  585. package/dist/gsc-SQ42WAQE.js.map +1 -0
  586. package/dist/history-BNNHFURR.js +67 -0
  587. package/dist/history-BNNHFURR.js.map +1 -0
  588. package/dist/history-EHUQG4CE.js +133 -0
  589. package/dist/history-EHUQG4CE.js.map +1 -0
  590. package/dist/hubspot-JABE4USC.js +779 -0
  591. package/dist/hubspot-JABE4USC.js.map +1 -0
  592. package/dist/icon-OYTTSNSL.js +137 -0
  593. package/dist/icon-OYTTSNSL.js.map +1 -0
  594. package/dist/ideas-OD76WOQ3.js +32 -0
  595. package/dist/ideas-OD76WOQ3.js.map +1 -0
  596. package/dist/images-LY7AWWBK.js +90 -0
  597. package/dist/images-LY7AWWBK.js.map +1 -0
  598. package/dist/improve-W6GZNT2A.js +86 -0
  599. package/dist/improve-W6GZNT2A.js.map +1 -0
  600. package/dist/ingest-47WON6HT.js +23 -0
  601. package/dist/ingest-47WON6HT.js.map +1 -0
  602. package/dist/ingest-HDGGHBSJ.js +107 -0
  603. package/dist/ingest-HDGGHBSJ.js.map +1 -0
  604. package/dist/insights-IW7LGAWU.js +423 -0
  605. package/dist/insights-IW7LGAWU.js.map +1 -0
  606. package/dist/insights-QH54F56A.js +122 -0
  607. package/dist/insights-QH54F56A.js.map +1 -0
  608. package/dist/inspect-AJLG2HGL.js +189 -0
  609. package/dist/inspect-AJLG2HGL.js.map +1 -0
  610. package/dist/inspiration-RDQ3Y3N3.js +53 -0
  611. package/dist/inspiration-RDQ3Y3N3.js.map +1 -0
  612. package/dist/intent-5GSSCFZ2.js +95 -0
  613. package/dist/intent-5GSSCFZ2.js.map +1 -0
  614. package/dist/job-URVXJP75.js +202 -0
  615. package/dist/job-URVXJP75.js.map +1 -0
  616. package/dist/job-create-S4SECUVF.js +109 -0
  617. package/dist/job-create-S4SECUVF.js.map +1 -0
  618. package/dist/job-status-253SUCTJ.js +74 -0
  619. package/dist/job-status-253SUCTJ.js.map +1 -0
  620. package/dist/keep-GPSYDIGJ.js +78 -0
  621. package/dist/keep-GPSYDIGJ.js.map +1 -0
  622. package/dist/keyword-gap-NTFDX43B.js +130 -0
  623. package/dist/keyword-gap-NTFDX43B.js.map +1 -0
  624. package/dist/keyword-metrics-XSFLMBZX.js +197 -0
  625. package/dist/keyword-metrics-XSFLMBZX.js.map +1 -0
  626. package/dist/keywords-for-site-U4JLYXVE.js +128 -0
  627. package/dist/keywords-for-site-U4JLYXVE.js.map +1 -0
  628. package/dist/landing-AO72EGJ6.js +28 -0
  629. package/dist/landing-AO72EGJ6.js.map +1 -0
  630. package/dist/landings-NEF4PQL2.js +151 -0
  631. package/dist/landings-NEF4PQL2.js.map +1 -0
  632. package/dist/languages-3RDPPPTE.js +55 -0
  633. package/dist/languages-3RDPPPTE.js.map +1 -0
  634. package/dist/languages-CQX3YOIT.js +40 -0
  635. package/dist/languages-CQX3YOIT.js.map +1 -0
  636. package/dist/launches-GBHLJH5S.js +19 -0
  637. package/dist/launches-GBHLJH5S.js.map +1 -0
  638. package/dist/layerize-Q56C6LFG.js +190 -0
  639. package/dist/layerize-Q56C6LFG.js.map +1 -0
  640. package/dist/leads-JHUM6FYR.js +293 -0
  641. package/dist/leads-JHUM6FYR.js.map +1 -0
  642. package/dist/leads-UYZM2XQX.js +90 -0
  643. package/dist/leads-UYZM2XQX.js.map +1 -0
  644. package/dist/learn-D2KBGJHZ.js +203 -0
  645. package/dist/learn-D2KBGJHZ.js.map +1 -0
  646. package/dist/library-6VUFHTEK.js +109 -0
  647. package/dist/library-6VUFHTEK.js.map +1 -0
  648. package/dist/lighthouse-57U2GMPV.js +75 -0
  649. package/dist/lighthouse-57U2GMPV.js.map +1 -0
  650. package/dist/line-item-writes-R5GO6GTL.js +208 -0
  651. package/dist/line-item-writes-R5GO6GTL.js.map +1 -0
  652. package/dist/line-items-RBMH6YBZ.js +103 -0
  653. package/dist/line-items-RBMH6YBZ.js.map +1 -0
  654. package/dist/link-WS2RMCOP.js +64 -0
  655. package/dist/link-WS2RMCOP.js.map +1 -0
  656. package/dist/linkedin-FSIALZTS.js +1008 -0
  657. package/dist/linkedin-FSIALZTS.js.map +1 -0
  658. package/dist/list-2AE2Q4ZD.js +151 -0
  659. package/dist/list-2AE2Q4ZD.js.map +1 -0
  660. package/dist/list-E635Y6M4.js +303 -0
  661. package/dist/list-E635Y6M4.js.map +1 -0
  662. package/dist/list-G57ZO4PG.js +50 -0
  663. package/dist/list-G57ZO4PG.js.map +1 -0
  664. package/dist/list-JCSWZWDI.js +57 -0
  665. package/dist/list-JCSWZWDI.js.map +1 -0
  666. package/dist/list-KT6NXVLV.js +63 -0
  667. package/dist/list-KT6NXVLV.js.map +1 -0
  668. package/dist/list-RINCJOAC.js +76 -0
  669. package/dist/list-RINCJOAC.js.map +1 -0
  670. package/dist/list-SRNXHS6L.js +51 -0
  671. package/dist/list-SRNXHS6L.js.map +1 -0
  672. package/dist/list-YJSO4M5Q.js +65 -0
  673. package/dist/list-YJSO4M5Q.js.map +1 -0
  674. package/dist/locations-HW2Y5OJO.js +67 -0
  675. package/dist/locations-HW2Y5OJO.js.map +1 -0
  676. package/dist/locations-XOHI3VWI.js +40 -0
  677. package/dist/locations-XOHI3VWI.js.map +1 -0
  678. package/dist/log-3HX5BIO6.js +92 -0
  679. package/dist/log-3HX5BIO6.js.map +1 -0
  680. package/dist/logo-KXTGIYBI.js +18 -0
  681. package/dist/logo-KXTGIYBI.js.map +1 -0
  682. package/dist/lookup-X6O5UNJH.js +22 -0
  683. package/dist/lookup-X6O5UNJH.js.map +1 -0
  684. package/dist/make-QH77XOWM.js +633 -0
  685. package/dist/make-QH77XOWM.js.map +1 -0
  686. package/dist/map-QABBPYZM.js +404 -0
  687. package/dist/map-QABBPYZM.js.map +1 -0
  688. package/dist/mcp-HSD3W3OB.js +463 -0
  689. package/dist/mcp-HSD3W3OB.js.map +1 -0
  690. package/dist/media-MI4EE7L4.js +89 -0
  691. package/dist/media-MI4EE7L4.js.map +1 -0
  692. package/dist/media-QUTQOBA7.js +15 -0
  693. package/dist/media-QUTQOBA7.js.map +1 -0
  694. package/dist/media-sources-HO4DXRX5.js +32 -0
  695. package/dist/media-sources-HO4DXRX5.js.map +1 -0
  696. package/dist/members-YEYYJGY6.js +44 -0
  697. package/dist/members-YEYYJGY6.js.map +1 -0
  698. package/dist/meta-E3JOUOSS.js +69 -0
  699. package/dist/meta-E3JOUOSS.js.map +1 -0
  700. package/dist/metrics-HQ7XJAYQ.js +152 -0
  701. package/dist/metrics-HQ7XJAYQ.js.map +1 -0
  702. package/dist/models-PGX3FBHU.js +155 -0
  703. package/dist/models-PGX3FBHU.js.map +1 -0
  704. package/dist/normalize-FPJ6GSOY.js +806 -0
  705. package/dist/normalize-FPJ6GSOY.js.map +1 -0
  706. package/dist/normalize-GSQWN77S.js +141 -0
  707. package/dist/normalize-GSQWN77S.js.map +1 -0
  708. package/dist/options-F5XZMQLK.js +121 -0
  709. package/dist/options-F5XZMQLK.js.map +1 -0
  710. package/dist/output-GQFJ2T5B.js +24 -0
  711. package/dist/output-GQFJ2T5B.js.map +1 -0
  712. package/dist/page-VTTSBC6Y.js +105 -0
  713. package/dist/page-VTTSBC6Y.js.map +1 -0
  714. package/dist/pages-PMZVNVQM.js +66 -0
  715. package/dist/pages-PMZVNVQM.js.map +1 -0
  716. package/dist/performance-G67JQE5J.js +24 -0
  717. package/dist/performance-G67JQE5J.js.map +1 -0
  718. package/dist/pinterest-UDNGOWDM.js +96 -0
  719. package/dist/pinterest-UDNGOWDM.js.map +1 -0
  720. package/dist/pixels-OYZDGCH3.js +108 -0
  721. package/dist/pixels-OYZDGCH3.js.map +1 -0
  722. package/dist/pixels-XKGNTCFX.js +60 -0
  723. package/dist/pixels-XKGNTCFX.js.map +1 -0
  724. package/dist/plan-DZS3TVIJ.js +207 -0
  725. package/dist/plan-DZS3TVIJ.js.map +1 -0
  726. package/dist/preview-DR6MXOGI.js +169 -0
  727. package/dist/preview-DR6MXOGI.js.map +1 -0
  728. package/dist/profile-VOVZG44G.js +159 -0
  729. package/dist/profile-VOVZG44G.js.map +1 -0
  730. package/dist/promoted-tweet-writes-VCK2ADVJ.js +180 -0
  731. package/dist/promoted-tweet-writes-VCK2ADVJ.js.map +1 -0
  732. package/dist/promoted-tweets-4ACBP2RV.js +119 -0
  733. package/dist/promoted-tweets-4ACBP2RV.js.map +1 -0
  734. package/dist/properties-MKVF7MUK.js +101 -0
  735. package/dist/properties-MKVF7MUK.js.map +1 -0
  736. package/dist/publish-6XVA35T6.js +322 -0
  737. package/dist/publish-6XVA35T6.js.map +1 -0
  738. package/dist/query-CNWQ6STR.js +61 -0
  739. package/dist/query-CNWQ6STR.js.map +1 -0
  740. package/dist/query-DBSBZ73C.js +247 -0
  741. package/dist/query-DBSBZ73C.js.map +1 -0
  742. package/dist/query-QK4U4TEL.js +236 -0
  743. package/dist/query-QK4U4TEL.js.map +1 -0
  744. package/dist/questionnaire-OVJWNUVV.js +93 -0
  745. package/dist/questionnaire-OVJWNUVV.js.map +1 -0
  746. package/dist/read-L2QIVJTL.js +141 -0
  747. package/dist/read-L2QIVJTL.js.map +1 -0
  748. package/dist/reddit-SCEB2JQL.js +26 -0
  749. package/dist/reddit-SCEB2JQL.js.map +1 -0
  750. package/dist/refresh-TIH5Y3NP.js +94 -0
  751. package/dist/refresh-TIH5Y3NP.js.map +1 -0
  752. package/dist/release-LKMUKVXM.js +60 -0
  753. package/dist/release-LKMUKVXM.js.map +1 -0
  754. package/dist/relevant-pages-CRI2NLWG.js +99 -0
  755. package/dist/relevant-pages-CRI2NLWG.js.map +1 -0
  756. package/dist/remove-6ABOB7TZ.js +50 -0
  757. package/dist/remove-6ABOB7TZ.js.map +1 -0
  758. package/dist/remove-JKSCGKQG.js +48 -0
  759. package/dist/remove-JKSCGKQG.js.map +1 -0
  760. package/dist/reopen-27TDNXFP.js +63 -0
  761. package/dist/reopen-27TDNXFP.js.map +1 -0
  762. package/dist/rerun-XHECBJD5.js +84 -0
  763. package/dist/rerun-XHECBJD5.js.map +1 -0
  764. package/dist/research-4MOXIMDX.js +62 -0
  765. package/dist/research-4MOXIMDX.js.map +1 -0
  766. package/dist/research-XYXP7D4R.js +262 -0
  767. package/dist/research-XYXP7D4R.js.map +1 -0
  768. package/dist/reset-NLYEBPLX.js +54 -0
  769. package/dist/reset-NLYEBPLX.js.map +1 -0
  770. package/dist/reset-RDQOYBXX.js +54 -0
  771. package/dist/reset-RDQOYBXX.js.map +1 -0
  772. package/dist/resolve-VHKWC5KW.js +121 -0
  773. package/dist/resolve-VHKWC5KW.js.map +1 -0
  774. package/dist/retry-MTQSHXKH.js +60 -0
  775. package/dist/retry-MTQSHXKH.js.map +1 -0
  776. package/dist/retry-ZI5ECSFD.js +62 -0
  777. package/dist/retry-ZI5ECSFD.js.map +1 -0
  778. package/dist/retry-failed-2OYMCB55.js +45 -0
  779. package/dist/retry-failed-2OYMCB55.js.map +1 -0
  780. package/dist/run-BMJJRJL2.js +65 -0
  781. package/dist/run-BMJJRJL2.js.map +1 -0
  782. package/dist/run-IHXS6F5V.js +59 -0
  783. package/dist/run-IHXS6F5V.js.map +1 -0
  784. package/dist/scaffold-ad-QEADKYPL.js +1548 -0
  785. package/dist/scaffold-ad-QEADKYPL.js.map +1 -0
  786. package/dist/scaffold-static-ad-PTJ73ZNF.js +971 -0
  787. package/dist/scaffold-static-ad-PTJ73ZNF.js.map +1 -0
  788. package/dist/scaffold-video-ZQEZRVD6.js +872 -0
  789. package/dist/scaffold-video-ZQEZRVD6.js.map +1 -0
  790. package/dist/schedule-JD2EQJCT.js +61 -0
  791. package/dist/schedule-JD2EQJCT.js.map +1 -0
  792. package/dist/schedule-TLYT5UXM.js +66 -0
  793. package/dist/schedule-TLYT5UXM.js.map +1 -0
  794. package/dist/scheduled-agents-GIVKWTXX.js +49 -0
  795. package/dist/scheduled-agents-GIVKWTXX.js.map +1 -0
  796. package/dist/schema-MZTVCNP4.js +63 -0
  797. package/dist/schema-MZTVCNP4.js.map +1 -0
  798. package/dist/schema-RYTVKPLZ.js +132 -0
  799. package/dist/schema-RYTVKPLZ.js.map +1 -0
  800. package/dist/scrape-T3DA7ER7.js +2241 -0
  801. package/dist/scrape-T3DA7ER7.js.map +1 -0
  802. package/dist/screenshot-EIGC6SZB.js +102 -0
  803. package/dist/screenshot-EIGC6SZB.js.map +1 -0
  804. package/dist/search-2SVUDZIX.js +224 -0
  805. package/dist/search-2SVUDZIX.js.map +1 -0
  806. package/dist/search-34NFJ5F6.js +26 -0
  807. package/dist/search-34NFJ5F6.js.map +1 -0
  808. package/dist/search-AOFAN5NB.js +174 -0
  809. package/dist/search-AOFAN5NB.js.map +1 -0
  810. package/dist/search-BWE3OPOY.js +91 -0
  811. package/dist/search-BWE3OPOY.js.map +1 -0
  812. package/dist/search-EYYAOZND.js +92 -0
  813. package/dist/search-EYYAOZND.js.map +1 -0
  814. package/dist/search-copy-VKQ2OOBM.js +168 -0
  815. package/dist/search-copy-VKQ2OOBM.js.map +1 -0
  816. package/dist/seeds-HQYSVFIX.js +101 -0
  817. package/dist/seeds-HQYSVFIX.js.map +1 -0
  818. package/dist/select-HJMOAWAU.js +94 -0
  819. package/dist/select-HJMOAWAU.js.map +1 -0
  820. package/dist/sends-I7VQFE4S.js +309 -0
  821. package/dist/sends-I7VQFE4S.js.map +1 -0
  822. package/dist/sequences-JHSEJJGN.js +146 -0
  823. package/dist/sequences-JHSEJJGN.js.map +1 -0
  824. package/dist/set-prompt-TSS33JQZ.js +185 -0
  825. package/dist/set-prompt-TSS33JQZ.js.map +1 -0
  826. package/dist/setup-links-IW4BUANK.js +141 -0
  827. package/dist/setup-links-IW4BUANK.js.map +1 -0
  828. package/dist/{shared-J7DQZ2ED.js → shared-AT3FXPAG.js} +8 -6
  829. package/dist/shared-AT3FXPAG.js.map +1 -0
  830. package/dist/shopify-RQKO5TMR.js +3819 -0
  831. package/dist/shopify-RQKO5TMR.js.map +1 -0
  832. package/dist/site-3NU2BDAR.js +177 -0
  833. package/dist/site-3NU2BDAR.js.map +1 -0
  834. package/dist/sitemaps-FG37N5EB.js +87 -0
  835. package/dist/sitemaps-FG37N5EB.js.map +1 -0
  836. package/dist/sites-FIXK4Y3O.js +101 -0
  837. package/dist/sites-FIXK4Y3O.js.map +1 -0
  838. package/dist/skills-OKVCVQVD.js +47 -0
  839. package/dist/skills-OKVCVQVD.js.map +1 -0
  840. package/dist/sources-SEODRUIC.js +30 -0
  841. package/dist/sources-SEODRUIC.js.map +1 -0
  842. package/dist/sources-Z6BGTBGO.js +421 -0
  843. package/dist/sources-Z6BGTBGO.js.map +1 -0
  844. package/dist/stale-SWPDWXG7.js +63 -0
  845. package/dist/stale-SWPDWXG7.js.map +1 -0
  846. package/dist/stats-ZWZ7BAHV.js +34 -0
  847. package/dist/stats-ZWZ7BAHV.js.map +1 -0
  848. package/dist/status-7Y7UNSO6.js +62 -0
  849. package/dist/status-7Y7UNSO6.js.map +1 -0
  850. package/dist/sticker-FLRZM3BI.js +94 -0
  851. package/dist/sticker-FLRZM3BI.js.map +1 -0
  852. package/dist/stock-2CSMWRWV.js +179 -0
  853. package/dist/stock-2CSMWRWV.js.map +1 -0
  854. package/dist/studio-TTTR6N7D.js +49 -0
  855. package/dist/studio-TTTR6N7D.js.map +1 -0
  856. package/dist/sync-FH773IFH.js +54 -0
  857. package/dist/sync-FH773IFH.js.map +1 -0
  858. package/dist/sync-G5CS2RYV.js +54 -0
  859. package/dist/sync-G5CS2RYV.js.map +1 -0
  860. package/dist/sync-UADA6M33.js +265 -0
  861. package/dist/sync-UADA6M33.js.map +1 -0
  862. package/dist/sync-definition-77KLGPMA.js +52 -0
  863. package/dist/sync-definition-77KLGPMA.js.map +1 -0
  864. package/dist/tag-manager-NK3ZHSJB.js +43 -0
  865. package/dist/tag-manager-NK3ZHSJB.js.map +1 -0
  866. package/dist/tags-ANGHHLAC.js +20 -0
  867. package/dist/tags-ANGHHLAC.js.map +1 -0
  868. package/dist/tags-DKPUSQTJ.js +20 -0
  869. package/dist/tags-DKPUSQTJ.js.map +1 -0
  870. package/dist/tags-HSCV4ZAQ.js +20 -0
  871. package/dist/tags-HSCV4ZAQ.js.map +1 -0
  872. package/dist/tags-J3RMQEQM.js +26 -0
  873. package/dist/tags-J3RMQEQM.js.map +1 -0
  874. package/dist/tags-VZGTR3VJ.js +224 -0
  875. package/dist/tags-VZGTR3VJ.js.map +1 -0
  876. package/dist/targeting-constants-ZGBX3VWU.js +118 -0
  877. package/dist/targeting-constants-ZGBX3VWU.js.map +1 -0
  878. package/dist/targeting-criteria-BSG3CLHU.js +113 -0
  879. package/dist/targeting-criteria-BSG3CLHU.js.map +1 -0
  880. package/dist/targets-DVOAFYZQ.js +102 -0
  881. package/dist/targets-DVOAFYZQ.js.map +1 -0
  882. package/dist/templates-KJ5O44FF.js +178 -0
  883. package/dist/templates-KJ5O44FF.js.map +1 -0
  884. package/dist/testimonials-NB7V3DUO.js +32 -0
  885. package/dist/testimonials-NB7V3DUO.js.map +1 -0
  886. package/dist/themes-3RV3HNNE.js +94 -0
  887. package/dist/themes-3RV3HNNE.js.map +1 -0
  888. package/dist/top-companies-KRB3OZOT.js +108 -0
  889. package/dist/top-companies-KRB3OZOT.js.map +1 -0
  890. package/dist/translate-5FP32BIA.js +598 -0
  891. package/dist/translate-5FP32BIA.js.map +1 -0
  892. package/dist/triggers-EURHTCYC.js +141 -0
  893. package/dist/triggers-EURHTCYC.js.map +1 -0
  894. package/dist/tweets-X64YDEAA.js +123 -0
  895. package/dist/tweets-X64YDEAA.js.map +1 -0
  896. package/dist/unfollow-PIONCSBL.js +46 -0
  897. package/dist/unfollow-PIONCSBL.js.map +1 -0
  898. package/dist/unlink-HVVTZ3MB.js +67 -0
  899. package/dist/unlink-HVVTZ3MB.js.map +1 -0
  900. package/dist/unstage-BJJ5M7MK.js +95 -0
  901. package/dist/unstage-BJJ5M7MK.js.map +1 -0
  902. package/dist/unstage-Y7ZE3NUJ.js +84 -0
  903. package/dist/unstage-Y7ZE3NUJ.js.map +1 -0
  904. package/dist/update-3IP7FB6Y.js +98 -0
  905. package/dist/update-3IP7FB6Y.js.map +1 -0
  906. package/dist/update-CSDSK5NO.js +63 -0
  907. package/dist/update-CSDSK5NO.js.map +1 -0
  908. package/dist/update-FGJXVDB7.js +142 -0
  909. package/dist/update-FGJXVDB7.js.map +1 -0
  910. package/dist/update-MF7LY2OT.js +155 -0
  911. package/dist/update-MF7LY2OT.js.map +1 -0
  912. package/dist/upload-DDPI7KJV.js +126 -0
  913. package/dist/upload-DDPI7KJV.js.map +1 -0
  914. package/dist/upload-IWFYKD7A.js +150 -0
  915. package/dist/upload-IWFYKD7A.js.map +1 -0
  916. package/dist/upscale-EYCEYRWE.js +109 -0
  917. package/dist/upscale-EYCEYRWE.js.map +1 -0
  918. package/dist/url-options-RA3XISLN.js +130 -0
  919. package/dist/url-options-RA3XISLN.js.map +1 -0
  920. package/dist/url-params-SN4APXCK.js +98 -0
  921. package/dist/url-params-SN4APXCK.js.map +1 -0
  922. package/dist/use-E2TA2K6J.js +95 -0
  923. package/dist/use-E2TA2K6J.js.map +1 -0
  924. package/dist/validate-W52JOEXI.js +88 -0
  925. package/dist/validate-W52JOEXI.js.map +1 -0
  926. package/dist/variant-ETHB6XUM.js +338 -0
  927. package/dist/variant-ETHB6XUM.js.map +1 -0
  928. package/dist/videos-653WAFPG.js +39 -0
  929. package/dist/videos-653WAFPG.js.map +1 -0
  930. package/dist/view-BVEZRRV2.js +121 -0
  931. package/dist/view-BVEZRRV2.js.map +1 -0
  932. package/dist/viewer-check-W4ICSBHO.js +68 -0
  933. package/dist/viewer-check-W4ICSBHO.js.map +1 -0
  934. package/dist/web-JWIGFGIU.js +140 -0
  935. package/dist/web-JWIGFGIU.js.map +1 -0
  936. package/dist/winners-MJDKCGEZ.js +113 -0
  937. package/dist/winners-MJDKCGEZ.js.map +1 -0
  938. package/dist/winning-ads-O3IMUGGO.js +84 -0
  939. package/dist/winning-ads-O3IMUGGO.js.map +1 -0
  940. package/dist/write-commands-DA6FIFAO.js +737 -0
  941. package/dist/write-commands-DA6FIFAO.js.map +1 -0
  942. package/dist/write-commands-EMN2WENA.js +1015 -0
  943. package/dist/write-commands-EMN2WENA.js.map +1 -0
  944. package/dist/write-commands-KTPISQRE.js +206 -0
  945. package/dist/write-commands-KTPISQRE.js.map +1 -0
  946. package/dist/write-commands-QBGIWU27.js +713 -0
  947. package/dist/write-commands-QBGIWU27.js.map +1 -0
  948. package/dist/x-BT3SNCTU.js +47 -0
  949. package/dist/x-BT3SNCTU.js.map +1 -0
  950. package/package.json +9 -2
  951. package/dist/chunk-CHJOTJTZ.js +0 -9989
  952. package/dist/chunk-CHJOTJTZ.js.map +0 -1
  953. package/dist/chunk-HJEMOSPH.js +0 -1292
  954. package/dist/chunk-HJEMOSPH.js.map +0 -1
  955. package/dist/chunk-MF7YA62W.js.map +0 -1
  956. package/dist/chunk-VLUGGVJL.js.map +0 -1
  957. package/dist/chunk-VZEDAFAR.js.map +0 -1
  958. package/dist/chunk-XHC4LMK4.js.map +0 -1
  959. package/dist/client-GR6YL3YX.js +0 -17
  960. package/dist/output-NMQXZF3Z.js +0 -18
  961. /package/dist/{client-GR6YL3YX.js.map → chunk-YQSBHWOI.js.map} +0 -0
  962. /package/dist/{env-4P5HOGNA.js.map → client-EURRWXPW.js.map} +0 -0
  963. /package/dist/{output-NMQXZF3Z.js.map → connect-4YXFMXYX.js.map} +0 -0
  964. /package/dist/{shared-J7DQZ2ED.js.map → customers-7E4HBSEY.js.map} +0 -0
@@ -0,0 +1,113 @@
1
+ import {
2
+ atomicWrite,
3
+ isRemoteUrl,
4
+ readImageBuffer,
5
+ resolveOutputPath
6
+ } from "./chunk-VSU5R34H.js";
7
+ import "./chunk-JXMZEOHV.js";
8
+ import "./chunk-I4FTS5EE.js";
9
+ import {
10
+ registerSchema,
11
+ writeJson
12
+ } from "./chunk-MYTDK3AL.js";
13
+ import "./chunk-YQSBHWOI.js";
14
+
15
+ // src/commands/images/crop.ts
16
+ import { defineCommand } from "citty";
17
+
18
+ // src/lib/image/crop-sprite.ts
19
+ import sharp from "sharp";
20
+ function cropSprite(input, region) {
21
+ return sharp(input).extract({
22
+ left: Math.round(region.x),
23
+ top: Math.round(region.y),
24
+ width: Math.round(region.width),
25
+ height: Math.round(region.height)
26
+ }).png().toBuffer();
27
+ }
28
+
29
+ // src/commands/images/crop.ts
30
+ registerSchema({
31
+ command: "images.crop",
32
+ description: "Crop a rectangular region from a local image or remote URL. Coordinate-based extract.",
33
+ args: {
34
+ file: { type: "string", description: "Local file path or remote http(s) URL", required: true },
35
+ x: { type: "number", description: "Left coordinate (px)", required: true },
36
+ y: { type: "number", description: "Top coordinate (px)", required: true },
37
+ width: { type: "number", description: "Region width (px)", required: true },
38
+ height: { type: "number", description: "Region height (px)", required: true },
39
+ output: {
40
+ type: "string",
41
+ description: "Output path. Default: in-place for local files, ./crop.png for URLs.",
42
+ required: false
43
+ }
44
+ }
45
+ });
46
+ var ValidationError = class extends Error {
47
+ constructor(message) {
48
+ super(message);
49
+ this.name = "ValidationError";
50
+ }
51
+ };
52
+ function parseRegion(args) {
53
+ const result = { x: 0, y: 0, width: 0, height: 0 };
54
+ for (const key of ["x", "y", "width", "height"]) {
55
+ const raw = args[key];
56
+ const n = typeof raw === "number" ? raw : raw !== void 0 && raw !== "" ? Number(raw) : Number.NaN;
57
+ if (!Number.isFinite(n) || n < 0) {
58
+ throw new ValidationError(`--${key} must be a non-negative number`);
59
+ }
60
+ result[key] = n;
61
+ }
62
+ if (result.width === 0 || result.height === 0) {
63
+ throw new ValidationError("--width and --height must be > 0");
64
+ }
65
+ return result;
66
+ }
67
+ function emitError(err) {
68
+ if (err instanceof ValidationError) {
69
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: err.message } });
70
+ } else {
71
+ const message = err instanceof Error ? err.message : "Unexpected error";
72
+ writeJson({ ok: false, error: { code: "IMAGE_PROCESSING_ERROR", message } });
73
+ }
74
+ process.exit(1);
75
+ }
76
+ var cropCommand = defineCommand({
77
+ meta: {
78
+ name: "crop",
79
+ description: "Crop a rectangular region from an image.\n\nExample: baker images crop sprite.png --x 0 --y 0 --width 64 --height 64 --output icon.png"
80
+ },
81
+ args: {
82
+ file: { type: "positional", description: "Local file path or remote http(s) URL", required: false },
83
+ x: { type: "string", description: "Left coordinate (px)", required: false },
84
+ y: { type: "string", description: "Top coordinate (px)", required: false },
85
+ width: { type: "string", description: "Region width (px)", required: false },
86
+ height: { type: "string", description: "Region height (px)", required: false },
87
+ output: { type: "string", description: "Output path", required: false }
88
+ },
89
+ run: async ({ args }) => {
90
+ try {
91
+ const file = args.file;
92
+ if (!file) {
93
+ throw new ValidationError("file argument is required");
94
+ }
95
+ const region = parseRegion(args);
96
+ const outputArg = typeof args.output === "string" && args.output.length > 0 ? args.output : void 0;
97
+ const inputBuffer = await readImageBuffer(file);
98
+ const output = await cropSprite(inputBuffer, region);
99
+ const outputPath = isRemoteUrl(file) ? outputArg ?? "./crop.png" : await resolveOutputPath(file, outputArg, { multipleInputs: false, newExtension: ".png" });
100
+ await atomicWrite(outputPath, output);
101
+ writeJson({
102
+ ok: true,
103
+ data: { input: file, output: outputPath, sizeBytes: output.length, region }
104
+ });
105
+ } catch (err) {
106
+ emitError(err);
107
+ }
108
+ }
109
+ });
110
+ export {
111
+ cropCommand
112
+ };
113
+ //# sourceMappingURL=crop-B52KIQ4O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/images/crop.ts","../src/lib/image/crop-sprite.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { cropSprite } from \"../../lib/image/crop-sprite.ts\";\nimport { atomicWrite, isRemoteUrl, readImageBuffer, resolveOutputPath } from \"../../lib/image/io.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\n\nregisterSchema({\n command: \"images.crop\",\n description: \"Crop a rectangular region from a local image or remote URL. Coordinate-based extract.\",\n args: {\n file: { type: \"string\", description: \"Local file path or remote http(s) URL\", required: true },\n x: { type: \"number\", description: \"Left coordinate (px)\", required: true },\n y: { type: \"number\", description: \"Top coordinate (px)\", required: true },\n width: { type: \"number\", description: \"Region width (px)\", required: true },\n height: { type: \"number\", description: \"Region height (px)\", required: true },\n output: {\n type: \"string\",\n description: \"Output path. Default: in-place for local files, ./crop.png for URLs.\",\n required: false,\n },\n },\n});\n\ninterface Region {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nclass ValidationError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"ValidationError\";\n }\n}\n\nfunction parseRegion(args: Record<string, unknown>): Region {\n const result: Region = { x: 0, y: 0, width: 0, height: 0 };\n for (const key of [\"x\", \"y\", \"width\", \"height\"] as const) {\n const raw = args[key];\n const n = typeof raw === \"number\" ? raw : raw !== undefined && raw !== \"\" ? Number(raw) : Number.NaN;\n if (!Number.isFinite(n) || n < 0) {\n throw new ValidationError(`--${key} must be a non-negative number`);\n }\n result[key] = n;\n }\n if (result.width === 0 || result.height === 0) {\n throw new ValidationError(\"--width and --height must be > 0\");\n }\n return result;\n}\n\nfunction emitError(err: unknown): never {\n if (err instanceof ValidationError) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: err.message } });\n } else {\n const message = err instanceof Error ? err.message : \"Unexpected error\";\n writeJson({ ok: false, error: { code: \"IMAGE_PROCESSING_ERROR\", message } });\n }\n process.exit(1);\n}\n\nexport const cropCommand = defineCommand({\n meta: {\n name: \"crop\",\n description:\n \"Crop a rectangular region from an image.\\n\\nExample: baker images crop sprite.png --x 0 --y 0 --width 64 --height 64 --output icon.png\",\n },\n args: {\n file: { type: \"positional\", description: \"Local file path or remote http(s) URL\", required: false },\n x: { type: \"string\", description: \"Left coordinate (px)\", required: false },\n y: { type: \"string\", description: \"Top coordinate (px)\", required: false },\n width: { type: \"string\", description: \"Region width (px)\", required: false },\n height: { type: \"string\", description: \"Region height (px)\", required: false },\n output: { type: \"string\", description: \"Output path\", required: false },\n },\n run: async ({ args }) => {\n try {\n const file = args.file as string | undefined;\n if (!file) {\n throw new ValidationError(\"file argument is required\");\n }\n const region = parseRegion(args);\n const outputArg = typeof args.output === \"string\" && args.output.length > 0 ? args.output : undefined;\n\n const inputBuffer = await readImageBuffer(file);\n const output = await cropSprite(inputBuffer, region);\n const outputPath = isRemoteUrl(file)\n ? (outputArg ?? \"./crop.png\")\n : await resolveOutputPath(file, outputArg, { multipleInputs: false, newExtension: \".png\" });\n\n await atomicWrite(outputPath, output);\n writeJson({\n ok: true,\n data: { input: file, output: outputPath, sizeBytes: output.length, region },\n });\n } catch (err) {\n emitError(err);\n }\n },\n});\n","import sharp from \"sharp\";\n\ninterface CropRegion {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport function cropSprite(input: Buffer, region: CropRegion): Promise<Buffer> {\n return sharp(input)\n .extract({\n left: Math.round(region.x),\n top: Math.round(region.y),\n width: Math.round(region.width),\n height: Math.round(region.height),\n })\n .png()\n .toBuffer();\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,88 @@
1
+ import {
2
+ parseApiError
3
+ } from "./chunk-R7QV5N2S.js";
4
+ import "./chunk-SEPPFM5S.js";
5
+ import {
6
+ cacheGet,
7
+ cacheSet,
8
+ getManagerIdForCustomer,
9
+ resolveCustomerId,
10
+ writeAdsJson
11
+ } from "./chunk-EIGXX6KI.js";
12
+ import "./chunk-I2DNBEV6.js";
13
+ import {
14
+ ApiError,
15
+ apiGet
16
+ } from "./chunk-CUL3VB4L.js";
17
+ import "./chunk-6YYSUISH.js";
18
+ import "./chunk-I4FTS5EE.js";
19
+ import {
20
+ registerSchema
21
+ } from "./chunk-MYTDK3AL.js";
22
+ import "./chunk-YQSBHWOI.js";
23
+
24
+ // src/commands/ads/google/currency.ts
25
+ import { defineCommand } from "citty";
26
+ registerSchema({
27
+ command: "ads.google.currency",
28
+ description: "Get the currency code for a Google Ads account. Returns currency_code, customer_id, account_name, and access_type. Call this before interpreting cost_micros values.",
29
+ args: {
30
+ "customer-id": {
31
+ type: "string",
32
+ description: "Google Ads customer ID (10 digits, no dashes). Falls back to BAKER_GOOGLE_ADS_CUSTOMER_ID env var.",
33
+ required: false
34
+ },
35
+ "no-cache": { type: "boolean", description: "Skip cache", required: false }
36
+ }
37
+ });
38
+ var currencyCommand = defineCommand({
39
+ meta: {
40
+ name: "currency",
41
+ description: `Get account currency code. Use this to interpret metrics.cost_micros values.
42
+
43
+ Examples:
44
+ baker ads google currency --customer-id 1234567890`
45
+ },
46
+ args: {
47
+ "customer-id": { type: "string", description: "Google Ads customer ID (10 digits)", required: false },
48
+ "no-cache": { type: "boolean", description: "Skip cache", required: false }
49
+ },
50
+ run: async ({ args }) => {
51
+ const customerId = await resolveCustomerId(args);
52
+ const useCache = !args["no-cache"];
53
+ const cacheKey = `currency:${customerId}`;
54
+ if (useCache) {
55
+ const cached = cacheGet("accounts", cacheKey);
56
+ if (cached) {
57
+ writeAdsJson({ ok: true, data: cached.data, cached: true });
58
+ return;
59
+ }
60
+ }
61
+ try {
62
+ const params = { "customer-id": customerId };
63
+ const managerId = getManagerIdForCustomer(customerId);
64
+ if (managerId) params["manager-id"] = managerId;
65
+ if (!useCache) params["skip-cache"] = "true";
66
+ const raw = await apiGet("/api/ads/google/currency", params);
67
+ const data = {
68
+ currency_code: raw.currencyCode,
69
+ customer_id: raw.customerId
70
+ };
71
+ if (useCache) {
72
+ cacheSet("accounts", cacheKey, data, 24 * 60 * 60 * 1e3);
73
+ }
74
+ writeAdsJson({ ok: true, data });
75
+ } catch (err) {
76
+ if (err instanceof ApiError) {
77
+ writeAdsJson(parseApiError(err.message, "", customerId, err.code));
78
+ process.exit(1);
79
+ }
80
+ writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
81
+ process.exit(1);
82
+ }
83
+ }
84
+ });
85
+ export {
86
+ currencyCommand
87
+ };
88
+ //# sourceMappingURL=currency-GGWF5DMU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/google/currency.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { ApiError, apiGet } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { cacheGet, cacheSet, getManagerIdForCustomer } from \"../cache.ts\";\nimport { resolveCustomerId, writeAdsJson } from \"../output.ts\";\nimport { parseApiError } from \"./error-parser.ts\";\n\nregisterSchema({\n command: \"ads.google.currency\",\n description:\n \"Get the currency code for a Google Ads account. Returns currency_code, customer_id, account_name, and access_type. Call this before interpreting cost_micros values.\",\n args: {\n \"customer-id\": {\n type: \"string\",\n description: \"Google Ads customer ID (10 digits, no dashes). Falls back to BAKER_GOOGLE_ADS_CUSTOMER_ID env var.\",\n required: false,\n },\n \"no-cache\": { type: \"boolean\", description: \"Skip cache\", required: false },\n },\n});\n\ninterface CurrencyResponse {\n customerId: string;\n currencyCode: string;\n}\n\nexport const currencyCommand = defineCommand({\n meta: {\n name: \"currency\",\n description: `Get account currency code. Use this to interpret metrics.cost_micros values.\n\nExamples:\n baker ads google currency --customer-id 1234567890`,\n },\n args: {\n \"customer-id\": { type: \"string\", description: \"Google Ads customer ID (10 digits)\", required: false },\n \"no-cache\": { type: \"boolean\", description: \"Skip cache\", required: false },\n },\n run: async ({ args }) => {\n const customerId = await resolveCustomerId(args);\n\n const useCache = !args[\"no-cache\"];\n const cacheKey = `currency:${customerId}`;\n\n if (useCache) {\n const cached = cacheGet<CurrencyResponse>(\"accounts\", cacheKey);\n if (cached) {\n writeAdsJson({ ok: true, data: cached.data, cached: true });\n return;\n }\n }\n\n try {\n const params: Record<string, string> = { \"customer-id\": customerId };\n const managerId = getManagerIdForCustomer(customerId);\n if (managerId) params[\"manager-id\"] = managerId;\n if (!useCache) params[\"skip-cache\"] = \"true\";\n\n const raw = await apiGet<CurrencyResponse>(\"/api/ads/google/currency\", params);\n const data = {\n currency_code: raw.currencyCode,\n customer_id: raw.customerId,\n };\n\n if (useCache) {\n cacheSet(\"accounts\", cacheKey, data, 24 * 60 * 60 * 1000);\n }\n\n writeAdsJson({ ok: true, data });\n } catch (err) {\n if (err instanceof ApiError) {\n writeAdsJson(parseApiError(err.message, \"\", customerId, err.code));\n process.exit(1);\n }\n writeAdsJson({ ok: false, error: { code: \"NETWORK_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAO9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,eAAe;AAAA,MACb,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,YAAY,EAAE,MAAM,WAAW,aAAa,cAAc,UAAU,MAAM;AAAA,EAC5E;AACF,CAAC;AAOM,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,MAAM;AAAA,IACJ,eAAe,EAAE,MAAM,UAAU,aAAa,sCAAsC,UAAU,MAAM;AAAA,IACpG,YAAY,EAAE,MAAM,WAAW,aAAa,cAAc,UAAU,MAAM;AAAA,EAC5E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,aAAa,MAAM,kBAAkB,IAAI;AAE/C,UAAM,WAAW,CAAC,KAAK,UAAU;AACjC,UAAM,WAAW,YAAY,UAAU;AAEvC,QAAI,UAAU;AACZ,YAAM,SAAS,SAA2B,YAAY,QAAQ;AAC9D,UAAI,QAAQ;AACV,qBAAa,EAAE,IAAI,MAAM,MAAM,OAAO,MAAM,QAAQ,KAAK,CAAC;AAC1D;AAAA,MACF;AAAA,IACF;AAEA,QAAI;AACF,YAAM,SAAiC,EAAE,eAAe,WAAW;AACnE,YAAM,YAAY,wBAAwB,UAAU;AACpD,UAAI,UAAW,QAAO,YAAY,IAAI;AACtC,UAAI,CAAC,SAAU,QAAO,YAAY,IAAI;AAEtC,YAAM,MAAM,MAAM,OAAyB,4BAA4B,MAAM;AAC7E,YAAM,OAAO;AAAA,QACX,eAAe,IAAI;AAAA,QACnB,aAAa,IAAI;AAAA,MACnB;AAEA,UAAI,UAAU;AACZ,iBAAS,YAAY,UAAU,MAAM,KAAK,KAAK,KAAK,GAAI;AAAA,MAC1D;AAEA,mBAAa,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IACjC,SAAS,KAAK;AACZ,UAAI,eAAe,UAAU;AAC3B,qBAAa,cAAc,IAAI,SAAS,IAAI,YAAY,IAAI,IAAI,CAAC;AACjE,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,mBAAa,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,iBAAiB,SAAS,mBAAmB,EAAE,CAAC;AACzF,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,125 @@
1
+ import {
2
+ csvOrJson,
3
+ handleMetaError,
4
+ resolveAccountIdArg
5
+ } from "./chunk-2UFRHW3T.js";
6
+ import {
7
+ writeAdsOutput,
8
+ writeJsonEnvelope
9
+ } from "./chunk-EIGXX6KI.js";
10
+ import {
11
+ NO_CACHE_ARG
12
+ } from "./chunk-ZNQRDLSS.js";
13
+ import {
14
+ apiGet
15
+ } from "./chunk-CUL3VB4L.js";
16
+ import "./chunk-6YYSUISH.js";
17
+ import "./chunk-I4FTS5EE.js";
18
+ import {
19
+ registerSchema
20
+ } from "./chunk-MYTDK3AL.js";
21
+ import "./chunk-YQSBHWOI.js";
22
+
23
+ // src/commands/ads/meta/custom-conversions.ts
24
+ import { defineCommand } from "citty";
25
+ function compactCustomConversion(row) {
26
+ return {
27
+ id: row.id,
28
+ name: row.name,
29
+ custom_event_type: row.custom_event_type,
30
+ counts: row.rule_summary,
31
+ pixel_id: row.pixel?.id,
32
+ last_fired_time: row.last_fired_time,
33
+ ...row.is_archived ? { archived: true } : {},
34
+ ...row.is_unavailable ? { unavailable: true } : {}
35
+ };
36
+ }
37
+ function customConversionHints(rows) {
38
+ if (rows.length === 0) {
39
+ return [
40
+ "This account has no custom conversions. Optimize toward a standard pixel event instead (`--pixel-id` + `--custom-event-type`), or ask the user to create one in Events Manager."
41
+ ];
42
+ }
43
+ const hints = [
44
+ "To optimize an ad set toward one: `baker ads meta adsets create \u2026 --optimization-goal OFFSITE_CONVERSIONS --custom-conversion-id <id>`. Baker fills the pixel and the event category from the conversion \u2014 do not also pass --pixel-id or --custom-event-type."
45
+ ];
46
+ const neverFired = rows.filter((row) => !row.is_archived && !row.last_fired_time);
47
+ if (neverFired.length > 0) {
48
+ hints.push(
49
+ `${neverFired.length === 1 ? "This conversion has" : `${neverFired.length} of these have`} never fired (${neverFired.map((row) => row.name ?? row.id).join(
50
+ ", "
51
+ )}). Meta cannot optimize toward an event it has never seen, so an ad set pointed at one delivers without learning \u2014 check the rule matches a page the site actually serves before spending on it.`
52
+ );
53
+ }
54
+ return hints;
55
+ }
56
+ registerSchema({
57
+ command: "ads.meta.custom-conversions",
58
+ description: "List the Custom Conversions defined on a Meta ad account \u2014 the measurement objects a marketer sets up in Events Manager (a pixel event narrowed by a rule, e.g. 'PageView on /thank-you'). Start here whenever the user talks about their own conversions rather than a standard event: an ad set optimizes toward one with `adsets create --custom-conversion-id <id>`.",
59
+ args: {
60
+ "account-id": { type: "string", description: "Meta ad account ID (act_123)", required: false },
61
+ full: { type: "boolean", description: "Include the raw rule JSON, retention and creation times", required: false },
62
+ limit: { type: "string", description: "Max rows", required: false },
63
+ "no-cache": { type: "boolean", description: "Bypass the cache", required: false },
64
+ output: { type: "string", description: "json|csv", required: false, default: "json" }
65
+ }
66
+ });
67
+ var listArgs = {
68
+ "account-id": { type: "string", description: "Meta ad account ID" },
69
+ full: { type: "boolean", description: "Include the raw rule JSON, retention and creation times" },
70
+ limit: { type: "string", description: "Max rows" },
71
+ "no-cache": NO_CACHE_ARG,
72
+ output: { type: "string", description: "Output format", default: "json" }
73
+ };
74
+ var listCommand = defineCommand({
75
+ meta: {
76
+ name: "list",
77
+ description: "List custom conversions. Runs by default when no subcommand is given. Example: baker ads meta custom-conversions --account-id act_123"
78
+ },
79
+ args: listArgs,
80
+ run: async ({ args }) => {
81
+ const accountId = resolveAccountIdArg(args);
82
+ try {
83
+ const params = { "account-id": accountId };
84
+ if (args.limit) params.limit = args.limit;
85
+ if (args["no-cache"]) params["skip-cache"] = "true";
86
+ const rows = await apiGet("/api/ads/meta/custom-conversions", params);
87
+ const data = args.full ? rows.map((row) => ({ ...row })) : rows.map((row) => ({ ...compactCustomConversion(row) }));
88
+ const fmt = csvOrJson(args);
89
+ if (fmt !== "json") {
90
+ writeAdsOutput(data, fmt);
91
+ return;
92
+ }
93
+ writeJsonEnvelope({ ok: true, data, hints: customConversionHints(rows) });
94
+ } catch (err) {
95
+ handleMetaError(err);
96
+ }
97
+ }
98
+ });
99
+ var customConversionsCommand = defineCommand({
100
+ meta: {
101
+ name: "custom-conversions",
102
+ description: `List the Custom Conversions on an ad account, or stage a new one \u2014 a pixel event narrowed by a rule, set up in Events Manager.
103
+ Use this whenever the user says "my conversions" rather than naming a standard event: the id here is what an ad set optimizes toward.
104
+
105
+ Examples:
106
+ baker ads meta custom-conversions --account-id act_123
107
+ baker ads meta custom-conversions --account-id act_123 --full # raw rule JSON
108
+ baker ads meta custom-conversions create --name "Lead formulario" --pixel-id 9988 --custom-event-type LEAD --url-contains "/gracias"`
109
+ },
110
+ subCommands: {
111
+ list: listCommand,
112
+ create: () => import("./write-commands-DA6FIFAO.js").then((m) => m.customConversionsCreateCommand)
113
+ },
114
+ // `args` stays even though the parent has no `run`: citty scans rawArgs for
115
+ // the subcommand name using THIS command's arg defs. `default` (not `run`)
116
+ // dispatches the bare invocation.
117
+ args: listArgs,
118
+ default: "list"
119
+ });
120
+ export {
121
+ compactCustomConversion,
122
+ customConversionHints,
123
+ customConversionsCommand
124
+ };
125
+ //# sourceMappingURL=custom-conversions-7WDBTC4X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/meta/custom-conversions.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeAdsOutput, writeJsonEnvelope } from \"../output.ts\";\nimport { csvOrJson, handleMetaError, resolveAccountIdArg } from \"./shared.ts\";\n\n/** A Custom Conversion as the backend returns it, rule already read back as a phrase. */\nexport interface MetaCustomConversion {\n id: string;\n name?: string;\n description?: string;\n custom_event_type?: string;\n event_source_type?: string;\n pixel?: { id?: string; name?: string };\n rule?: string;\n rule_summary?: string;\n default_conversion_value?: number;\n retention_days?: number;\n is_archived?: boolean;\n is_unavailable?: boolean;\n creation_time?: string;\n first_fired_time?: string;\n last_fired_time?: string;\n}\n\n/** What the caller needs to pick one. The raw rule and the timestamps sit behind --full. */\ninterface CompactCustomConversion {\n id: string;\n name?: string;\n custom_event_type?: string;\n counts?: string;\n pixel_id?: string;\n last_fired_time?: string;\n archived?: true;\n unavailable?: true;\n}\n\nexport function compactCustomConversion(row: MetaCustomConversion): CompactCustomConversion {\n return {\n id: row.id,\n name: row.name,\n custom_event_type: row.custom_event_type,\n counts: row.rule_summary,\n pixel_id: row.pixel?.id,\n last_fired_time: row.last_fired_time,\n ...(row.is_archived ? { archived: true as const } : {}),\n ...(row.is_unavailable ? { unavailable: true as const } : {}),\n };\n}\n\n/**\n * What to say about a listing, once.\n *\n * A conversion that has never fired is the one thing that reads as \"broken\" and\n * usually is not — Meta creates it counting nothing until the rule matches a\n * real event — while pointing an ad set at one is a real decision with a real\n * cost, because Meta cannot optimize toward an event it has never seen. Saying\n * so here is cheaper than the chat where it gets discovered after a week of\n * delivery.\n */\nexport function customConversionHints(rows: MetaCustomConversion[]): string[] {\n if (rows.length === 0) {\n return [\n \"This account has no custom conversions. Optimize toward a standard pixel event instead (`--pixel-id` + `--custom-event-type`), or ask the user to create one in Events Manager.\",\n ];\n }\n const hints: string[] = [\n \"To optimize an ad set toward one: `baker ads meta adsets create … --optimization-goal OFFSITE_CONVERSIONS --custom-conversion-id <id>`. Baker fills the pixel and the event category from the conversion — do not also pass --pixel-id or --custom-event-type.\",\n ];\n const neverFired = rows.filter((row) => !row.is_archived && !row.last_fired_time);\n if (neverFired.length > 0) {\n hints.push(\n `${neverFired.length === 1 ? \"This conversion has\" : `${neverFired.length} of these have`} never fired (${neverFired\n .map((row) => row.name ?? row.id)\n .join(\n \", \",\n )}). Meta cannot optimize toward an event it has never seen, so an ad set pointed at one delivers without learning — check the rule matches a page the site actually serves before spending on it.`,\n );\n }\n return hints;\n}\n\nregisterSchema({\n command: \"ads.meta.custom-conversions\",\n description:\n \"List the Custom Conversions defined on a Meta ad account — the measurement objects a marketer sets up in Events Manager (a pixel event narrowed by a rule, e.g. 'PageView on /thank-you'). Start here whenever the user talks about their own conversions rather than a standard event: an ad set optimizes toward one with `adsets create --custom-conversion-id <id>`.\",\n args: {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID (act_123)\", required: false },\n full: { type: \"boolean\", description: \"Include the raw rule JSON, retention and creation times\", required: false },\n limit: { type: \"string\", description: \"Max rows\", required: false },\n \"no-cache\": { type: \"boolean\", description: \"Bypass the cache\", required: false },\n output: { type: \"string\", description: \"json|csv\", required: false, default: \"json\" },\n },\n});\n\nconst listArgs = {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID\" },\n full: { type: \"boolean\", description: \"Include the raw rule JSON, retention and creation times\" },\n limit: { type: \"string\", description: \"Max rows\" },\n \"no-cache\": NO_CACHE_ARG,\n output: { type: \"string\", description: \"Output format\", default: \"json\" },\n} as const;\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"List custom conversions. Runs by default when no subcommand is given. Example: baker ads meta custom-conversions --account-id act_123\",\n },\n args: listArgs,\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n try {\n const params: Record<string, string> = { \"account-id\": accountId };\n if (args.limit) params.limit = args.limit as string;\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n const rows = await apiGet<MetaCustomConversion[]>(\"/api/ads/meta/custom-conversions\", params);\n const data: Array<Record<string, unknown>> = args.full\n ? rows.map((row) => ({ ...row }))\n : rows.map((row) => ({ ...compactCustomConversion(row) }));\n const fmt = csvOrJson(args);\n if (fmt !== \"json\") {\n writeAdsOutput(data, fmt);\n return;\n }\n writeJsonEnvelope({ ok: true, data, hints: customConversionHints(rows) });\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nexport const customConversionsCommand = defineCommand({\n meta: {\n name: \"custom-conversions\",\n description: `List the Custom Conversions on an ad account, or stage a new one — a pixel event narrowed by a rule, set up in Events Manager.\nUse this whenever the user says \"my conversions\" rather than naming a standard event: the id here is what an ad set optimizes toward.\n\nExamples:\n baker ads meta custom-conversions --account-id act_123\n baker ads meta custom-conversions --account-id act_123 --full # raw rule JSON\n baker ads meta custom-conversions create --name \"Lead formulario\" --pixel-id 9988 --custom-event-type LEAD --url-contains \"/gracias\"`,\n },\n subCommands: {\n list: listCommand,\n create: () => import(\"./write-commands.ts\").then((m) => m.customConversionsCreateCommand),\n },\n // `args` stays even though the parent has no `run`: citty scans rawArgs for\n // the subcommand name using THIS command's arg defs. `default` (not `run`)\n // dispatches the bare invocation.\n args: listArgs,\n default: \"list\",\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,56 @@
1
+ import {
2
+ FORCES,
3
+ INSIGHT_TYPES,
4
+ MAX_QUOTE_CHARS,
5
+ batchSources,
6
+ buildCustomersPrompt,
7
+ candidatesFrom,
8
+ customersCommand,
9
+ customersHints,
10
+ keepVerbatim,
11
+ planInsightWrites,
12
+ renderInsightFile,
13
+ researchCustomers,
14
+ sourcesFromPages,
15
+ sourcesFromReddit,
16
+ sourcesFromTestimonials
17
+ } from "./chunk-NR5RZDAW.js";
18
+ import "./chunk-A76FRBSF.js";
19
+ import "./chunk-AMCY5YCB.js";
20
+ import "./chunk-7OHWEF3I.js";
21
+ import "./chunk-ERSX3MKH.js";
22
+ import "./chunk-FEG6MN4H.js";
23
+ import "./chunk-TNOSX3PJ.js";
24
+ import "./chunk-CAMX6OHF.js";
25
+ import "./chunk-SYULM665.js";
26
+ import "./chunk-3VXQYDJN.js";
27
+ import "./chunk-W4SA4CMR.js";
28
+ import "./chunk-JXMZEOHV.js";
29
+ import "./chunk-O6XZIQXZ.js";
30
+ import "./chunk-GXDLWBOY.js";
31
+ import "./chunk-GIWHHCD6.js";
32
+ import "./chunk-UI6BKYQD.js";
33
+ import "./chunk-I2DNBEV6.js";
34
+ import "./chunk-CUL3VB4L.js";
35
+ import "./chunk-6YYSUISH.js";
36
+ import "./chunk-I4FTS5EE.js";
37
+ import "./chunk-MYTDK3AL.js";
38
+ import "./chunk-YQSBHWOI.js";
39
+ export {
40
+ FORCES,
41
+ INSIGHT_TYPES,
42
+ MAX_QUOTE_CHARS,
43
+ batchSources,
44
+ buildCustomersPrompt,
45
+ candidatesFrom,
46
+ customersCommand,
47
+ customersHints,
48
+ keepVerbatim,
49
+ planInsightWrites,
50
+ renderInsightFile,
51
+ researchCustomers,
52
+ sourcesFromPages,
53
+ sourcesFromReddit,
54
+ sourcesFromTestimonials
55
+ };
56
+ //# sourceMappingURL=customers-7E4HBSEY.js.map
@@ -0,0 +1,199 @@
1
+ import {
2
+ DECIDE_MAX_ITEMS,
3
+ DECIDE_MAX_ITEM_CHARS,
4
+ DECIDE_MAX_QUESTIONS,
5
+ DECIDE_MAX_REQUEST_CHARS,
6
+ decideRequestSchema,
7
+ isDecideLimitIssue
8
+ } from "./chunk-GIWHHCD6.js";
9
+ import {
10
+ ApiError,
11
+ apiPost
12
+ } from "./chunk-CUL3VB4L.js";
13
+ import "./chunk-6YYSUISH.js";
14
+ import "./chunk-I4FTS5EE.js";
15
+ import {
16
+ registerSchema,
17
+ writeJson
18
+ } from "./chunk-MYTDK3AL.js";
19
+ import "./chunk-YQSBHWOI.js";
20
+
21
+ // src/commands/decide/index.ts
22
+ import { readFileSync } from "fs";
23
+ import { defineCommand } from "citty";
24
+
25
+ // src/commands/decide/hints.ts
26
+ function decideHints(request, response) {
27
+ const hints = [];
28
+ if (request.items) {
29
+ for (const [name, question] of Object.entries(request.questions)) {
30
+ if (!question.question.includes("`item`")) {
31
+ hints.push(
32
+ `Question \`${name}\` never names \`item\`. Each item reaches Jev as \`item\` beside the question, and Jev reads literally: write "Does \`item\` \u2026?" so it judges the item, not the question.`
33
+ );
34
+ }
35
+ }
36
+ }
37
+ if (response.unanswered.length > 0) {
38
+ hints.push(
39
+ `${response.unanswered.length} item(s) went unanswered: ${response.unanswered.slice(0, 10).join(", ")}${response.unanswered.length > 10 ? ", \u2026" : ""}. Their answers are null. Keep the answered ones; show these as not tagged, or ask again with only these items. Never drop the rest.`
40
+ );
41
+ }
42
+ return hints;
43
+ }
44
+
45
+ // src/commands/decide/input.ts
46
+ var looksInline = (value) => /^\s*[[{"]/.test(value);
47
+ function parse(flag, text, from) {
48
+ try {
49
+ return { ok: true, value: JSON.parse(text) };
50
+ } catch (error) {
51
+ const reason = error instanceof Error ? error.message : String(error);
52
+ return { ok: false, message: `--${flag} is not valid JSON (${from}): ${reason}` };
53
+ }
54
+ }
55
+ function readJsonFlag(flag, value, source2) {
56
+ if (value === "-") return parse(flag, source2.stdin(), "stdin");
57
+ if (looksInline(value)) return parse(flag, value, "inline");
58
+ let text;
59
+ try {
60
+ text = source2.file(value);
61
+ } catch (error) {
62
+ const reason = error instanceof Error ? error.message : String(error);
63
+ return {
64
+ ok: false,
65
+ message: `--${flag}: cannot read ${value} (${reason}). Pass a JSON file path, inline JSON, or - for stdin`
66
+ };
67
+ }
68
+ return parse(flag, text, value);
69
+ }
70
+ function readStateFlag(value, source2) {
71
+ if (looksInline(value)) {
72
+ const json2 = parse("state", value, "inline");
73
+ return json2.ok ? json2 : { ok: true, value };
74
+ }
75
+ let text;
76
+ try {
77
+ text = value === "-" ? source2.stdin() : source2.file(value);
78
+ } catch {
79
+ return { ok: true, value };
80
+ }
81
+ const json = parse("state", text, value);
82
+ return json.ok ? json : { ok: true, value: text };
83
+ }
84
+
85
+ // src/commands/decide/index.ts
86
+ var ARGS = {
87
+ questions: {
88
+ type: "string",
89
+ description: 'Named questions, as inline JSON, a .json file or - (stdin): { "<name>": { "type": "noul", "question": "Does `item` offer a free trial?" } | { "type": "choice", "question": "\u2026", "options": { "<key>": "<what it means>" } } | { "type": "score", "question": "\u2026", "levels": ["<lowest>", "\u2026", "<highest>"] } }',
90
+ required: true
91
+ },
92
+ items: {
93
+ type: "string",
94
+ description: `Optional. The things to ask about, each its own question: [{ "id": "\u2026", "text": "\u2026" | { "<field>": "\u2026" } }] \u2014 inline JSON, a .json file or -. Up to ${DECIDE_MAX_ITEMS} items, ${DECIDE_MAX_ITEM_CHARS} characters each, ${DECIDE_MAX_QUESTIONS} questions (items \xD7 named questions) per call.`,
95
+ required: false
96
+ },
97
+ state: {
98
+ type: "string",
99
+ description: "Optional. What every question reads beside its item (context such as the brand or the brief) or, with no --items, the text being asked about: inline JSON, a file, - or plain text.",
100
+ required: false
101
+ },
102
+ full: {
103
+ type: "boolean",
104
+ description: "Also return every option's probability on Choices and Scores (default: the pick, its probability and confidence)",
105
+ required: false,
106
+ default: false
107
+ }
108
+ };
109
+ registerSchema({
110
+ command: "decide",
111
+ description: "Ask Jev, a decision model, typed questions about text and get typed answers with calibrated probabilities: a yes/no (noul), one option of your set (choice) or a level on a scale (score). With --items, every question is asked about every item (tag N ads, cluster them into your labels) in one call. Reads only; never writes, never generates text, text only (no images).",
112
+ args: ARGS
113
+ });
114
+ var source = {
115
+ file: (path) => readFileSync(path, "utf-8"),
116
+ stdin: () => readFileSync(0, "utf-8")
117
+ };
118
+ function fail(code, message, fix) {
119
+ writeJson({ ok: false, error: { code, message, fix } });
120
+ process.exit(1);
121
+ }
122
+ var INPUT_FIX = {
123
+ action: "fix_input",
124
+ explanation: "Correct the flag named in the message and run again. Run `baker schema decide` for the exact shapes; the family doc is __tooling__/docs/tools/baker/decide.md."
125
+ };
126
+ var SPLIT_FIX = {
127
+ action: "split_call",
128
+ explanation: `One call asks at most ${DECIDE_MAX_QUESTIONS} questions (items \xD7 named questions), ${DECIDE_MAX_ITEMS} items of ${DECIDE_MAX_ITEM_CHARS} characters, and one request carries the state plus one item's questions in ${DECIDE_MAX_REQUEST_CHARS} characters. Split the items across calls, ask fewer named questions per call, or trim each item and the state to what the questions need.`
129
+ };
130
+ var DEGRADE_FIX = {
131
+ action: "degrade",
132
+ explanation: "The decision model did not answer. Do not abort the job: carry on without these answers (show the items untagged, skip the clustering) and say so in one line. Ask again once later; do not loop."
133
+ };
134
+ function readFlag(read) {
135
+ if (read && !read.ok) fail("VALIDATION_ERROR", read.message, INPUT_FIX);
136
+ return read?.value;
137
+ }
138
+ function readRequest(args) {
139
+ const questions = readFlag(readJsonFlag("questions", String(args.questions), source));
140
+ const items = readFlag(typeof args.items === "string" ? readJsonFlag("items", args.items, source) : void 0);
141
+ const state = readFlag(typeof args.state === "string" ? readStateFlag(args.state, source) : void 0);
142
+ const parsed = decideRequestSchema.safeParse({
143
+ questions,
144
+ ...items === void 0 ? {} : { items },
145
+ ...state === void 0 ? {} : { state },
146
+ full: args.full === true
147
+ });
148
+ if (parsed.success) return parsed.data;
149
+ const message = parsed.error.issues.slice(0, 5).map((issue) => `${issue.path.join(".") || "request"}: ${issue.message}`).join("; ");
150
+ fail("VALIDATION_ERROR", message, parsed.error.issues.some(isDecideLimitIssue) ? SPLIT_FIX : INPUT_FIX);
151
+ }
152
+ function failRequest(err) {
153
+ const code = err instanceof ApiError ? err.code : "INTERNAL_ERROR";
154
+ const message = err instanceof Error ? err.message : "Unexpected error";
155
+ if (code === "UNAVAILABLE" || code === "TIMEOUT") fail(code, message, DEGRADE_FIX);
156
+ if (code === "VALIDATION_ERROR") fail(code, message, INPUT_FIX);
157
+ writeJson({ ok: false, error: { code, message } });
158
+ process.exit(1);
159
+ }
160
+ var decideCommand = defineCommand({
161
+ meta: {
162
+ name: "decide",
163
+ description: `Ask typed questions about text; get typed answers with a probability. Read-only, about $0.0001 and well under a second per call.
164
+
165
+ Start here:
166
+ baker decide --questions '{"b2b":{"type":"noul","question":"Is \`message\` written for a business buyer?"}}' --state '{"message":"\u2026"}'
167
+
168
+ Tag and cluster many items in one call (each item is asked every question):
169
+ baker decide --questions questions.json --items ads.json --state '{"advertiser":"Notion"}'
170
+ questions.json: {"free_trial":{"type":"noul","question":"Does \`item\` offer a free trial?"},
171
+ "angle":{"type":"choice","question":"Which angle does \`item\` lead with?",
172
+ "options":{"ai":"AI does the work","team":"Teams work together","other":"Anything else"}}}
173
+ ads.json: [{"id":"1157351686","text":{"angle":"\u2026","summary":"\u2026"}}, \u2026]
174
+
175
+ Answers: noul \u2192 {noul: P(yes)}; choice \u2192 {choice, probability, confidence}; score \u2192 {score, level, confidence}. --full adds every option's probability.
176
+ Text only: describe an image in words (an ad's summary, angle, copy) \u2014 never pass a picture.
177
+ Full guide: __tooling__/docs/tools/baker/decide.md`
178
+ },
179
+ args: ARGS,
180
+ run: async ({ args }) => {
181
+ const request = readRequest(args);
182
+ try {
183
+ const data = await apiPost("/api/decide", request, { timeoutMs: 12e4 });
184
+ const hints = decideHints(request, data);
185
+ writeJson({
186
+ ok: true,
187
+ data,
188
+ ...data.items ? { meta: { count: data.items.length } } : {},
189
+ ...hints.length > 0 ? { hints } : {}
190
+ });
191
+ } catch (err) {
192
+ failRequest(err);
193
+ }
194
+ }
195
+ });
196
+ export {
197
+ decideCommand
198
+ };
199
+ //# sourceMappingURL=decide-PK7WNSQ2.js.map