@koda-sl/baker-cli 0.384.0 → 0.385.0-dev.f7ef4c7e1

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 +1102 -218
  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-G6QK2VXQ.js +79 -0
  7. package/dist/account-G6QK2VXQ.js.map +1 -0
  8. package/dist/account-OINZG6UP.js +80 -0
  9. package/dist/account-OINZG6UP.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-7KRRRVLB.js +611 -0
  15. package/dist/accounts-7KRRRVLB.js.map +1 -0
  16. package/dist/accounts-AEBQFCNH.js +114 -0
  17. package/dist/accounts-AEBQFCNH.js.map +1 -0
  18. package/dist/accounts-CNTOHRQ2.js +77 -0
  19. package/dist/accounts-CNTOHRQ2.js.map +1 -0
  20. package/dist/accounts-HP4BLKK5.js +75 -0
  21. package/dist/accounts-HP4BLKK5.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-QO7VQ6UV.js +55 -0
  25. package/dist/actions-QO7VQ6UV.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-5JBMJHNW.js +302 -0
  39. package/dist/add-5JBMJHNW.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-O76R2SPE.js +104 -0
  43. package/dist/add-O76R2SPE.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-T5JWNFSA.js +40 -0
  51. package/dist/ads-T5JWNFSA.js.map +1 -0
  52. package/dist/ads-TFZ5PXKS.js +77 -0
  53. package/dist/ads-TFZ5PXKS.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-LJ2HKJ4W.js +125 -0
  57. package/dist/advertisers-LJ2HKJ4W.js.map +1 -0
  58. package/dist/advertisers-WJW5DK3Q.js +120 -0
  59. package/dist/advertisers-WJW5DK3Q.js.map +1 -0
  60. package/dist/analytics-HIOC3TUK.js +1976 -0
  61. package/dist/analytics-HIOC3TUK.js.map +1 -0
  62. package/dist/analytics-U2NLDV2V.js +433 -0
  63. package/dist/analytics-U2NLDV2V.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-V7EAR7VD.js +77 -0
  67. package/dist/assign-V7EAR7VD.js.map +1 -0
  68. package/dist/audience-size-GS7EDBDP.js +94 -0
  69. package/dist/audience-size-GS7EDBDP.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-HWK24VXI.js +88 -0
  77. package/dist/audit-HWK24VXI.js.map +1 -0
  78. package/dist/audit-WMZERUAA.js +151 -0
  79. package/dist/audit-WMZERUAA.js.map +1 -0
  80. package/dist/autocomplete-KQSTLQFS.js +111 -0
  81. package/dist/autocomplete-KQSTLQFS.js.map +1 -0
  82. package/dist/avatars-HAFQZD63.js +38 -0
  83. package/dist/avatars-HAFQZD63.js.map +1 -0
  84. package/dist/bid-pricing-5SORFAPE.js +99 -0
  85. package/dist/bid-pricing-5SORFAPE.js.map +1 -0
  86. package/dist/brand-EBG436YV.js +22 -0
  87. package/dist/brand-EBG436YV.js.map +1 -0
  88. package/dist/brief-AYXXPTHC.js +490 -0
  89. package/dist/brief-AYXXPTHC.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-U7723BBE.js +95 -0
  93. package/dist/campaign-groups-U7723BBE.js.map +1 -0
  94. package/dist/campaign-writes-CXS4KYB5.js +165 -0
  95. package/dist/campaign-writes-CXS4KYB5.js.map +1 -0
  96. package/dist/campaign-writes-M6JLF5AC.js +170 -0
  97. package/dist/campaign-writes-M6JLF5AC.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-7DWD2A5U.js +109 -0
  101. package/dist/campaigns-7DWD2A5U.js.map +1 -0
  102. package/dist/campaigns-F66OYA6N.js +107 -0
  103. package/dist/campaigns-F66OYA6N.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-3NYM5Y7G.js +46 -0
  107. package/dist/canvas-3NYM5Y7G.js.map +1 -0
  108. package/dist/capabilities-JNFYSGRD.js +144 -0
  109. package/dist/capabilities-JNFYSGRD.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-TUZANLQH.js +262 -0
  121. package/dist/chats-TUZANLQH.js.map +1 -0
  122. package/dist/chunk-25E6SC3F.js +363 -0
  123. package/dist/chunk-25E6SC3F.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-VLUGGVJL.js → chunk-2UFRHW3T.js} +12 -4
  127. package/dist/chunk-2UFRHW3T.js.map +1 -0
  128. package/dist/chunk-2Y5V23PU.js +29 -0
  129. package/dist/chunk-2Y5V23PU.js.map +1 -0
  130. package/dist/chunk-35NYNRRB.js +111 -0
  131. package/dist/chunk-35NYNRRB.js.map +1 -0
  132. package/dist/chunk-3ACMDRSE.js +39 -0
  133. package/dist/chunk-3ACMDRSE.js.map +1 -0
  134. package/dist/chunk-3M6RNCDD.js +26 -0
  135. package/dist/chunk-3M6RNCDD.js.map +1 -0
  136. package/dist/chunk-3VXQYDJN.js +1743 -0
  137. package/dist/chunk-3VXQYDJN.js.map +1 -0
  138. package/dist/chunk-42DF5DF3.js +304 -0
  139. package/dist/chunk-42DF5DF3.js.map +1 -0
  140. package/dist/chunk-44VXKO65.js +106 -0
  141. package/dist/chunk-44VXKO65.js.map +1 -0
  142. package/dist/chunk-4NZ47VXO.js +137 -0
  143. package/dist/chunk-4NZ47VXO.js.map +1 -0
  144. package/dist/chunk-4X3UR372.js +225 -0
  145. package/dist/chunk-4X3UR372.js.map +1 -0
  146. package/dist/chunk-5FEBUCJU.js +25 -0
  147. package/dist/chunk-5FEBUCJU.js.map +1 -0
  148. package/dist/chunk-5HYSKH77.js +315 -0
  149. package/dist/chunk-5HYSKH77.js.map +1 -0
  150. package/dist/chunk-5LBGFQWF.js +310 -0
  151. package/dist/chunk-5LBGFQWF.js.map +1 -0
  152. package/dist/chunk-5MBPIONY.js +29 -0
  153. package/dist/chunk-5MBPIONY.js.map +1 -0
  154. package/dist/chunk-6YMHGIHP.js +346 -0
  155. package/dist/chunk-6YMHGIHP.js.map +1 -0
  156. package/dist/{chunk-VZEDAFAR.js → chunk-6YYSUISH.js} +47 -8
  157. package/dist/chunk-6YYSUISH.js.map +1 -0
  158. package/dist/chunk-7GNU3P7X.js +175 -0
  159. package/dist/chunk-7GNU3P7X.js.map +1 -0
  160. package/dist/chunk-7OHWEF3I.js +98 -0
  161. package/dist/chunk-7OHWEF3I.js.map +1 -0
  162. package/dist/chunk-7TR3QVWM.js +57 -0
  163. package/dist/chunk-7TR3QVWM.js.map +1 -0
  164. package/dist/chunk-AADVCEL4.js +817 -0
  165. package/dist/chunk-AADVCEL4.js.map +1 -0
  166. package/dist/chunk-AG62YO7C.js +96 -0
  167. package/dist/chunk-AG62YO7C.js.map +1 -0
  168. package/dist/chunk-AIRIT4GF.js +75 -0
  169. package/dist/chunk-AIRIT4GF.js.map +1 -0
  170. package/dist/chunk-AP3TP6VG.js +139 -0
  171. package/dist/chunk-AP3TP6VG.js.map +1 -0
  172. package/dist/chunk-APP475IQ.js +474 -0
  173. package/dist/chunk-APP475IQ.js.map +1 -0
  174. package/dist/chunk-AR7PU7BB.js +76 -0
  175. package/dist/chunk-AR7PU7BB.js.map +1 -0
  176. package/dist/chunk-B4S72KSS.js +172 -0
  177. package/dist/chunk-B4S72KSS.js.map +1 -0
  178. package/dist/chunk-BIPIL4QA.js +486 -0
  179. package/dist/chunk-BIPIL4QA.js.map +1 -0
  180. package/dist/chunk-BPUSL5Y2.js +58 -0
  181. package/dist/chunk-BPUSL5Y2.js.map +1 -0
  182. package/dist/chunk-BR32GHYD.js +65 -0
  183. package/dist/chunk-BR32GHYD.js.map +1 -0
  184. package/dist/chunk-CAMX6OHF.js +3182 -0
  185. package/dist/chunk-CAMX6OHF.js.map +1 -0
  186. package/dist/chunk-CE7RTOX6.js +494 -0
  187. package/dist/chunk-CE7RTOX6.js.map +1 -0
  188. package/dist/{chunk-MF7YA62W.js → chunk-CUL3VB4L.js} +10 -5
  189. package/dist/chunk-CUL3VB4L.js.map +1 -0
  190. package/dist/chunk-CVEY353K.js +66 -0
  191. package/dist/chunk-CVEY353K.js.map +1 -0
  192. package/dist/chunk-CWXADUKL.js +1599 -0
  193. package/dist/chunk-CWXADUKL.js.map +1 -0
  194. package/dist/chunk-D46NOXRY.js +6212 -0
  195. package/dist/chunk-D46NOXRY.js.map +1 -0
  196. package/dist/chunk-D5FY4FAK.js +24 -0
  197. package/dist/chunk-D5FY4FAK.js.map +1 -0
  198. package/dist/chunk-DGCUPJZD.js +39 -0
  199. package/dist/chunk-DGCUPJZD.js.map +1 -0
  200. package/dist/chunk-DNCLWSHO.js +41 -0
  201. package/dist/chunk-DNCLWSHO.js.map +1 -0
  202. package/dist/chunk-DUPURL26.js +97 -0
  203. package/dist/chunk-DUPURL26.js.map +1 -0
  204. package/dist/chunk-DXJYQ5P2.js +625 -0
  205. package/dist/chunk-DXJYQ5P2.js.map +1 -0
  206. package/dist/chunk-E2ZOSNF5.js +96 -0
  207. package/dist/chunk-E2ZOSNF5.js.map +1 -0
  208. package/dist/chunk-E3HYHT7C.js +274 -0
  209. package/dist/chunk-E3HYHT7C.js.map +1 -0
  210. package/dist/chunk-EDLZGTGN.js +216 -0
  211. package/dist/chunk-EDLZGTGN.js.map +1 -0
  212. package/dist/{chunk-XHC4LMK4.js → chunk-EIGXX6KI.js} +16 -8
  213. package/dist/chunk-EIGXX6KI.js.map +1 -0
  214. package/dist/chunk-EPDE7ZRU.js +174 -0
  215. package/dist/chunk-EPDE7ZRU.js.map +1 -0
  216. package/dist/chunk-ERSX3MKH.js +34 -0
  217. package/dist/chunk-ERSX3MKH.js.map +1 -0
  218. package/dist/chunk-F7HRLPR5.js +67 -0
  219. package/dist/chunk-F7HRLPR5.js.map +1 -0
  220. package/dist/chunk-FEG6MN4H.js +84 -0
  221. package/dist/chunk-FEG6MN4H.js.map +1 -0
  222. package/dist/chunk-FKOECEVC.js +126 -0
  223. package/dist/chunk-FKOECEVC.js.map +1 -0
  224. package/dist/chunk-FMGW2NZI.js +106 -0
  225. package/dist/chunk-FMGW2NZI.js.map +1 -0
  226. package/dist/chunk-FPZKKNDK.js +98 -0
  227. package/dist/chunk-FPZKKNDK.js.map +1 -0
  228. package/dist/chunk-G3ZDLPNZ.js +206 -0
  229. package/dist/chunk-G3ZDLPNZ.js.map +1 -0
  230. package/dist/chunk-GIWHHCD6.js +145 -0
  231. package/dist/chunk-GIWHHCD6.js.map +1 -0
  232. package/dist/chunk-GOJXKIFQ.js +1605 -0
  233. package/dist/chunk-GOJXKIFQ.js.map +1 -0
  234. package/dist/chunk-GRQ2AXDX.js +9 -0
  235. package/dist/chunk-GRQ2AXDX.js.map +1 -0
  236. package/dist/chunk-GXDLWBOY.js +73 -0
  237. package/dist/chunk-GXDLWBOY.js.map +1 -0
  238. package/dist/chunk-HAE4WWFQ.js +455 -0
  239. package/dist/chunk-HAE4WWFQ.js.map +1 -0
  240. package/dist/chunk-HEEAC2YG.js +541 -0
  241. package/dist/chunk-HEEAC2YG.js.map +1 -0
  242. package/dist/chunk-I2DNBEV6.js +4227 -0
  243. package/dist/chunk-I2DNBEV6.js.map +1 -0
  244. package/dist/chunk-I4FTS5EE.js +455 -0
  245. package/dist/chunk-I4FTS5EE.js.map +1 -0
  246. package/dist/chunk-IA4KJU7O.js +3151 -0
  247. package/dist/chunk-IA4KJU7O.js.map +1 -0
  248. package/dist/chunk-IELPT4K2.js +74 -0
  249. package/dist/chunk-IELPT4K2.js.map +1 -0
  250. package/dist/chunk-IJMWEO4P.js +57 -0
  251. package/dist/chunk-IJMWEO4P.js.map +1 -0
  252. package/dist/chunk-IVIJJXXT.js +62 -0
  253. package/dist/chunk-IVIJJXXT.js.map +1 -0
  254. package/dist/chunk-JAU6OAFK.js +455 -0
  255. package/dist/chunk-JAU6OAFK.js.map +1 -0
  256. package/dist/chunk-JD3W3ON7.js +188 -0
  257. package/dist/chunk-JD3W3ON7.js.map +1 -0
  258. package/dist/chunk-JLWBK3VC.js +5187 -0
  259. package/dist/chunk-JLWBK3VC.js.map +1 -0
  260. package/dist/chunk-JPK34QPS.js +134 -0
  261. package/dist/chunk-JPK34QPS.js.map +1 -0
  262. package/dist/chunk-JXJD6RC5.js +169 -0
  263. package/dist/chunk-JXJD6RC5.js.map +1 -0
  264. package/dist/chunk-JXMZEOHV.js +333 -0
  265. package/dist/chunk-JXMZEOHV.js.map +1 -0
  266. package/dist/chunk-K6TDB2KV.js +1442 -0
  267. package/dist/chunk-K6TDB2KV.js.map +1 -0
  268. package/dist/chunk-KIGGMKAE.js +66 -0
  269. package/dist/chunk-KIGGMKAE.js.map +1 -0
  270. package/dist/chunk-KKJ4KJCW.js +29 -0
  271. package/dist/chunk-KKJ4KJCW.js.map +1 -0
  272. package/dist/chunk-KONA5PSR.js +55 -0
  273. package/dist/chunk-KONA5PSR.js.map +1 -0
  274. package/dist/chunk-KVHRW7KO.js +60 -0
  275. package/dist/chunk-KVHRW7KO.js.map +1 -0
  276. package/dist/chunk-LA6PPSNA.js +65 -0
  277. package/dist/chunk-LA6PPSNA.js.map +1 -0
  278. package/dist/chunk-LKPJADL2.js +74 -0
  279. package/dist/chunk-LKPJADL2.js.map +1 -0
  280. package/dist/chunk-LM7N7IQR.js +297 -0
  281. package/dist/chunk-LM7N7IQR.js.map +1 -0
  282. package/dist/chunk-LWAEHLKV.js +74 -0
  283. package/dist/chunk-LWAEHLKV.js.map +1 -0
  284. package/dist/chunk-M6UNISGO.js +66 -0
  285. package/dist/chunk-M6UNISGO.js.map +1 -0
  286. package/dist/chunk-MFSIACRB.js +207 -0
  287. package/dist/chunk-MFSIACRB.js.map +1 -0
  288. package/dist/chunk-MIJAGBEP.js +23992 -0
  289. package/dist/chunk-MIJAGBEP.js.map +1 -0
  290. package/dist/chunk-MYTDK3AL.js +2102 -0
  291. package/dist/chunk-MYTDK3AL.js.map +1 -0
  292. package/dist/chunk-MYURCD23.js +6667 -0
  293. package/dist/chunk-MYURCD23.js.map +1 -0
  294. package/dist/chunk-MZQ5DX6S.js +125 -0
  295. package/dist/chunk-MZQ5DX6S.js.map +1 -0
  296. package/dist/chunk-NFSLRRIE.js +77 -0
  297. package/dist/chunk-NFSLRRIE.js.map +1 -0
  298. package/dist/chunk-NMDP7FZP.js +479 -0
  299. package/dist/chunk-NMDP7FZP.js.map +1 -0
  300. package/dist/chunk-NMGELUIA.js +183 -0
  301. package/dist/chunk-NMGELUIA.js.map +1 -0
  302. package/dist/chunk-NOK7MSVJ.js +533 -0
  303. package/dist/chunk-NOK7MSVJ.js.map +1 -0
  304. package/dist/chunk-O2EVJALZ.js +133 -0
  305. package/dist/chunk-O2EVJALZ.js.map +1 -0
  306. package/dist/chunk-OIL6PU5W.js +35 -0
  307. package/dist/chunk-OIL6PU5W.js.map +1 -0
  308. package/dist/chunk-P4NSJS54.js +20 -0
  309. package/dist/chunk-P4NSJS54.js.map +1 -0
  310. package/dist/chunk-P5T7OZKV.js +26 -0
  311. package/dist/chunk-P5T7OZKV.js.map +1 -0
  312. package/dist/chunk-PFBQERWX.js +10 -0
  313. package/dist/chunk-PFBQERWX.js.map +1 -0
  314. package/dist/chunk-PSWVSLJU.js +56 -0
  315. package/dist/chunk-PSWVSLJU.js.map +1 -0
  316. package/dist/chunk-PY2NJ6XZ.js +191 -0
  317. package/dist/chunk-PY2NJ6XZ.js.map +1 -0
  318. package/dist/chunk-PZ4OM2LK.js +45 -0
  319. package/dist/chunk-PZ4OM2LK.js.map +1 -0
  320. package/dist/chunk-Q2EKN7NI.js +1079 -0
  321. package/dist/chunk-Q2EKN7NI.js.map +1 -0
  322. package/dist/chunk-Q6ULQMWG.js +41 -0
  323. package/dist/chunk-Q6ULQMWG.js.map +1 -0
  324. package/dist/chunk-QMLGJ5OW.js +2891 -0
  325. package/dist/chunk-QMLGJ5OW.js.map +1 -0
  326. package/dist/chunk-R7QV5N2S.js +846 -0
  327. package/dist/chunk-R7QV5N2S.js.map +1 -0
  328. package/dist/chunk-RCS4JKUD.js +23 -0
  329. package/dist/chunk-RCS4JKUD.js.map +1 -0
  330. package/dist/chunk-RR3KT2E7.js +665 -0
  331. package/dist/chunk-RR3KT2E7.js.map +1 -0
  332. package/dist/chunk-SEPPFM5S.js +228 -0
  333. package/dist/chunk-SEPPFM5S.js.map +1 -0
  334. package/dist/chunk-SQ7DRYCC.js +150 -0
  335. package/dist/chunk-SQ7DRYCC.js.map +1 -0
  336. package/dist/chunk-SYULM665.js +610 -0
  337. package/dist/chunk-SYULM665.js.map +1 -0
  338. package/dist/chunk-TKT3OHZ6.js +170 -0
  339. package/dist/chunk-TKT3OHZ6.js.map +1 -0
  340. package/dist/chunk-TNOSX3PJ.js +136 -0
  341. package/dist/chunk-TNOSX3PJ.js.map +1 -0
  342. package/dist/chunk-TTVKI54A.js +160 -0
  343. package/dist/chunk-TTVKI54A.js.map +1 -0
  344. package/dist/chunk-U55UZRIB.js +592 -0
  345. package/dist/chunk-U55UZRIB.js.map +1 -0
  346. package/dist/chunk-UI6BKYQD.js +225 -0
  347. package/dist/chunk-UI6BKYQD.js.map +1 -0
  348. package/dist/chunk-UKE4IZSA.js +337 -0
  349. package/dist/chunk-UKE4IZSA.js.map +1 -0
  350. package/dist/chunk-UKLDW4UW.js +46 -0
  351. package/dist/chunk-UKLDW4UW.js.map +1 -0
  352. package/dist/chunk-V6XXXEXZ.js +76 -0
  353. package/dist/chunk-V6XXXEXZ.js.map +1 -0
  354. package/dist/chunk-VCZSZCXY.js +197 -0
  355. package/dist/chunk-VCZSZCXY.js.map +1 -0
  356. package/dist/chunk-VJQWUF66.js +92 -0
  357. package/dist/chunk-VJQWUF66.js.map +1 -0
  358. package/dist/chunk-VSU5R34H.js +76 -0
  359. package/dist/chunk-VSU5R34H.js.map +1 -0
  360. package/dist/chunk-W4SA4CMR.js +296 -0
  361. package/dist/chunk-W4SA4CMR.js.map +1 -0
  362. package/dist/chunk-WFUMNDCE.js +111 -0
  363. package/dist/chunk-WFUMNDCE.js.map +1 -0
  364. package/dist/chunk-WGCGKU3M.js +51 -0
  365. package/dist/chunk-WGCGKU3M.js.map +1 -0
  366. package/dist/chunk-WHWNXLTD.js +166 -0
  367. package/dist/chunk-WHWNXLTD.js.map +1 -0
  368. package/dist/chunk-WN42X2OE.js +509 -0
  369. package/dist/chunk-WN42X2OE.js.map +1 -0
  370. package/dist/chunk-WN4KX7GE.js +25 -0
  371. package/dist/chunk-WN4KX7GE.js.map +1 -0
  372. package/dist/chunk-XIY7P54H.js +84 -0
  373. package/dist/chunk-XIY7P54H.js.map +1 -0
  374. package/dist/chunk-XPLTWUMN.js +103 -0
  375. package/dist/chunk-XPLTWUMN.js.map +1 -0
  376. package/dist/chunk-Y6T5ZKBK.js +19 -0
  377. package/dist/chunk-Y6T5ZKBK.js.map +1 -0
  378. package/dist/chunk-YGGRQXDP.js +382 -0
  379. package/dist/chunk-YGGRQXDP.js.map +1 -0
  380. package/dist/chunk-YMBB4JBD.js +1830 -0
  381. package/dist/chunk-YMBB4JBD.js.map +1 -0
  382. package/dist/chunk-YNWM426O.js +159 -0
  383. package/dist/chunk-YNWM426O.js.map +1 -0
  384. package/dist/chunk-YQSBHWOI.js +41 -0
  385. package/dist/chunk-YTF3IVMF.js +149 -0
  386. package/dist/chunk-YTF3IVMF.js.map +1 -0
  387. package/dist/chunk-Z3ENMCFE.js +94 -0
  388. package/dist/chunk-Z3ENMCFE.js.map +1 -0
  389. package/dist/chunk-Z7MWSXLG.js +94 -0
  390. package/dist/chunk-Z7MWSXLG.js.map +1 -0
  391. package/dist/chunk-ZIXHS6AM.js +42 -0
  392. package/dist/chunk-ZIXHS6AM.js.map +1 -0
  393. package/dist/chunk-ZJ7TQUCU.js +4410 -0
  394. package/dist/chunk-ZJ7TQUCU.js.map +1 -0
  395. package/dist/chunk-ZNQRDLSS.js +52 -0
  396. package/dist/chunk-ZNQRDLSS.js.map +1 -0
  397. package/dist/chunk-ZPGGSXU3.js +275 -0
  398. package/dist/chunk-ZPGGSXU3.js.map +1 -0
  399. package/dist/claim-NXYQZEMC.js +197 -0
  400. package/dist/claim-NXYQZEMC.js.map +1 -0
  401. package/dist/cli.js +104 -69952
  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-5ZH47E4H.js +195 -0
  407. package/dist/companies-5ZH47E4H.js.map +1 -0
  408. package/dist/complete-62OQPRHW.js +81 -0
  409. package/dist/complete-62OQPRHW.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-6DQFYKGN.js +42 -0
  413. package/dist/content-PCGSX2QU.js +85 -0
  414. package/dist/content-PCGSX2QU.js.map +1 -0
  415. package/dist/conversation-NS7JHTPK.js +93 -0
  416. package/dist/conversation-NS7JHTPK.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-46MI57VC.js +135 -0
  424. package/dist/conversions-46MI57VC.js.map +1 -0
  425. package/dist/conversions-IYIWW4O7.js +76 -0
  426. package/dist/conversions-IYIWW4O7.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-BEDPXUB7.js +236 -0
  430. package/dist/create-BEDPXUB7.js.map +1 -0
  431. package/dist/create-LLTMBBGV.js +207 -0
  432. package/dist/create-LLTMBBGV.js.map +1 -0
  433. package/dist/create-VNJ2VH3A.js +59 -0
  434. package/dist/create-VNJ2VH3A.js.map +1 -0
  435. package/dist/create-ZYKG2XOP.js +138 -0
  436. package/dist/create-ZYKG2XOP.js.map +1 -0
  437. package/dist/creatives-2LL66X4E.js +51 -0
  438. package/dist/creatives-2LL66X4E.js.map +1 -0
  439. package/dist/creatives-3MEMSUKJ.js +182 -0
  440. package/dist/creatives-3MEMSUKJ.js.map +1 -0
  441. package/dist/creatives-XI2DGQUZ.js +87 -0
  442. package/dist/creatives-XI2DGQUZ.js.map +1 -0
  443. package/dist/credentials-63PRTM3K.js +287 -0
  444. package/dist/credentials-63PRTM3K.js.map +1 -0
  445. package/dist/critique-IQI7CCTT.js +213 -0
  446. package/dist/critique-IQI7CCTT.js.map +1 -0
  447. package/dist/critique-UV7FPG45.js +1449 -0
  448. package/dist/critique-UV7FPG45.js.map +1 -0
  449. package/dist/crm-OERYUOBS.js +224 -0
  450. package/dist/crm-OERYUOBS.js.map +1 -0
  451. package/dist/crm-VNO3QTQG.js +318 -0
  452. package/dist/crm-VNO3QTQG.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-FOPXEGCB.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-EZ7HHOOD.js +69 -0
  465. package/dist/delete-EZ7HHOOD.js.map +1 -0
  466. package/dist/delete-JSYM7QKN.js +54 -0
  467. package/dist/delete-JSYM7QKN.js.map +1 -0
  468. package/dist/delete-NOUWBNZM.js +66 -0
  469. package/dist/delete-NOUWBNZM.js.map +1 -0
  470. package/dist/delete-T33AWV63.js +63 -0
  471. package/dist/delete-T33AWV63.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-LQGFUS4F.js +138 -0
  475. package/dist/demographics-LQGFUS4F.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-V4LQ7ZGA.js +66 -0
  483. package/dist/discard-V4LQ7ZGA.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-65J2DEDB.js +98 -0
  489. package/dist/domain-65J2DEDB.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-DDFFTZ43.js +233 -0
  493. package/dist/draft-DDFFTZ43.js.map +1 -0
  494. package/dist/draft-FIKJXNIQ.js +281 -0
  495. package/dist/draft-FIKJXNIQ.js.map +1 -0
  496. package/dist/draft-GYGWTMBU.js +307 -0
  497. package/dist/draft-GYGWTMBU.js.map +1 -0
  498. package/dist/draft-KNXVZAZV.js +217 -0
  499. package/dist/draft-KNXVZAZV.js.map +1 -0
  500. package/dist/draft-N4LFPKTA.js +100 -0
  501. package/dist/draft-N4LFPKTA.js.map +1 -0
  502. package/dist/draft-NG2DPL2X.js +306 -0
  503. package/dist/draft-NG2DPL2X.js.map +1 -0
  504. package/dist/draft-QILZ7M7N.js +328 -0
  505. package/dist/draft-QILZ7M7N.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-FAAOFHBF.js +114 -0
  519. package/dist/facets-FAAOFHBF.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-NWOOZOFW.js +66 -0
  525. package/dist/feedback-NWOOZOFW.js.map +1 -0
  526. package/dist/feedback-record-CFPUKLMY.js +175 -0
  527. package/dist/feedback-record-CFPUKLMY.js.map +1 -0
  528. package/dist/fetch-LEY77E7V.js +176 -0
  529. package/dist/fetch-LEY77E7V.js.map +1 -0
  530. package/dist/fetch-O6UHNXWB.js +139 -0
  531. package/dist/fetch-O6UHNXWB.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-QKPC63AF.js +247 -0
  537. package/dist/flows-QKPC63AF.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-WM2MJDVJ.js +34 -0
  545. package/dist/fonts-WM2MJDVJ.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-7K3TAHDL.js +104 -0
  549. package/dist/forecast-7K3TAHDL.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-CSPK5SPZ.js +394 -0
  553. package/dist/funnel-CSPK5SPZ.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-4YZ4PI3B.js +56 -0
  559. package/dist/get-4YZ4PI3B.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-HFU6ZJPX.js +78 -0
  565. package/dist/get-HFU6ZJPX.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-WWM5KIRS.js +195 -0
  579. package/dist/google-ads-WWM5KIRS.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-KBK5TP65.js +133 -0
  589. package/dist/history-KBK5TP65.js.map +1 -0
  590. package/dist/hubspot-GAAWWVLL.js +779 -0
  591. package/dist/hubspot-GAAWWVLL.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-CELMD3BL.js +32 -0
  595. package/dist/ideas-CELMD3BL.js.map +1 -0
  596. package/dist/images-QHV4ECAP.js +90 -0
  597. package/dist/images-QHV4ECAP.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-SH35YX6X.js +23 -0
  601. package/dist/ingest-SH35YX6X.js.map +1 -0
  602. package/dist/ingest-UWCGJZXV.js +107 -0
  603. package/dist/ingest-UWCGJZXV.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-6Z6HEMBI.js +189 -0
  609. package/dist/inspect-6Z6HEMBI.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-NKZRCF4L.js +197 -0
  625. package/dist/keyword-metrics-NKZRCF4L.js.map +1 -0
  626. package/dist/keywords-for-site-NQUPJNUR.js +128 -0
  627. package/dist/keywords-for-site-NQUPJNUR.js.map +1 -0
  628. package/dist/landing-AHNZSZHY.js +28 -0
  629. package/dist/landing-AHNZSZHY.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-5MUVPXA2.js +90 -0
  641. package/dist/leads-5MUVPXA2.js.map +1 -0
  642. package/dist/leads-JHUM6FYR.js +293 -0
  643. package/dist/leads-JHUM6FYR.js.map +1 -0
  644. package/dist/learn-EMV7RWTB.js +203 -0
  645. package/dist/learn-EMV7RWTB.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-GMIZYHLB.js +208 -0
  651. package/dist/line-item-writes-GMIZYHLB.js.map +1 -0
  652. package/dist/line-items-B5HAC47U.js +103 -0
  653. package/dist/line-items-B5HAC47U.js.map +1 -0
  654. package/dist/link-B6ZJFGFE.js +64 -0
  655. package/dist/link-B6ZJFGFE.js.map +1 -0
  656. package/dist/linkedin-FJ3OUYT2.js +1008 -0
  657. package/dist/linkedin-FJ3OUYT2.js.map +1 -0
  658. package/dist/list-2MBSU4ZX.js +63 -0
  659. package/dist/list-2MBSU4ZX.js.map +1 -0
  660. package/dist/list-EFUPHLG3.js +303 -0
  661. package/dist/list-EFUPHLG3.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-QOSPRCH4.js +151 -0
  667. package/dist/list-QOSPRCH4.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-SZDYUMM3.js +92 -0
  679. package/dist/log-SZDYUMM3.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-SGCBJTRR.js +633 -0
  685. package/dist/make-SGCBJTRR.js.map +1 -0
  686. package/dist/map-ZK46VVL3.js +404 -0
  687. package/dist/map-ZK46VVL3.js.map +1 -0
  688. package/dist/mcp-NCM5TQUG.js +463 -0
  689. package/dist/mcp-NCM5TQUG.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-MS3RMQ6A.js +32 -0
  695. package/dist/media-sources-MS3RMQ6A.js.map +1 -0
  696. package/dist/members-IGHLTQKW.js +44 -0
  697. package/dist/members-IGHLTQKW.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-LHD5LVFK.js +141 -0
  707. package/dist/normalize-LHD5LVFK.js.map +1 -0
  708. package/dist/options-CPHN3RMO.js +121 -0
  709. package/dist/options-CPHN3RMO.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-ECIJJEFV.js +24 -0
  717. package/dist/performance-ECIJJEFV.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-UJJI5SQL.js +180 -0
  731. package/dist/promoted-tweet-writes-UJJI5SQL.js.map +1 -0
  732. package/dist/promoted-tweets-O5RCETPX.js +119 -0
  733. package/dist/promoted-tweets-O5RCETPX.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-RRYU3NNX.js +322 -0
  737. package/dist/publish-RRYU3NNX.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-K6CKJZRF.js +26 -0
  749. package/dist/reddit-K6CKJZRF.js.map +1 -0
  750. package/dist/refresh-IF4P57JJ.js +94 -0
  751. package/dist/refresh-IF4P57JJ.js.map +1 -0
  752. package/dist/release-H4EL3J6R.js +60 -0
  753. package/dist/release-H4EL3J6R.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-DKSHQRNS.js +50 -0
  757. package/dist/remove-DKSHQRNS.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-B26V2GEJ.js +63 -0
  761. package/dist/reopen-B26V2GEJ.js.map +1 -0
  762. package/dist/rerun-6WKE4MPY.js +84 -0
  763. package/dist/rerun-6WKE4MPY.js.map +1 -0
  764. package/dist/research-O3IVF3MM.js +62 -0
  765. package/dist/research-O3IVF3MM.js.map +1 -0
  766. package/dist/research-SC7S6IPV.js +262 -0
  767. package/dist/research-SC7S6IPV.js.map +1 -0
  768. package/dist/reset-7HMOB2KE.js +54 -0
  769. package/dist/reset-7HMOB2KE.js.map +1 -0
  770. package/dist/reset-THPEXZDK.js +54 -0
  771. package/dist/reset-THPEXZDK.js.map +1 -0
  772. package/dist/resolve-HX5R52A3.js +121 -0
  773. package/dist/resolve-HX5R52A3.js.map +1 -0
  774. package/dist/retry-4ENRUJOJ.js +62 -0
  775. package/dist/retry-4ENRUJOJ.js.map +1 -0
  776. package/dist/retry-ELIMI7U5.js +60 -0
  777. package/dist/retry-ELIMI7U5.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-CY4BAIQI.js +65 -0
  781. package/dist/run-CY4BAIQI.js.map +1 -0
  782. package/dist/run-GXPPPDGI.js +59 -0
  783. package/dist/run-GXPPPDGI.js.map +1 -0
  784. package/dist/scaffold-ad-X6VPBVTB.js +1548 -0
  785. package/dist/scaffold-ad-X6VPBVTB.js.map +1 -0
  786. package/dist/scaffold-static-ad-LKOOZSDP.js +971 -0
  787. package/dist/scaffold-static-ad-LKOOZSDP.js.map +1 -0
  788. package/dist/scaffold-video-NAOIFIM4.js +872 -0
  789. package/dist/scaffold-video-NAOIFIM4.js.map +1 -0
  790. package/dist/schedule-TLYT5UXM.js +66 -0
  791. package/dist/schedule-TLYT5UXM.js.map +1 -0
  792. package/dist/schedule-V654LLZ2.js +61 -0
  793. package/dist/schedule-V654LLZ2.js.map +1 -0
  794. package/dist/scheduled-agents-MJNUZYEK.js +49 -0
  795. package/dist/scheduled-agents-MJNUZYEK.js.map +1 -0
  796. package/dist/schema-DN4WKWUM.js +132 -0
  797. package/dist/schema-DN4WKWUM.js.map +1 -0
  798. package/dist/schema-MZTVCNP4.js +63 -0
  799. package/dist/schema-MZTVCNP4.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-BWE3OPOY.js +91 -0
  809. package/dist/search-BWE3OPOY.js.map +1 -0
  810. package/dist/search-EYYAOZND.js +92 -0
  811. package/dist/search-EYYAOZND.js.map +1 -0
  812. package/dist/search-EZZMYU4Y.js +174 -0
  813. package/dist/search-EZZMYU4Y.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-3SIBANY6.js +94 -0
  819. package/dist/select-3SIBANY6.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-RAG7RJOD.js +185 -0
  825. package/dist/set-prompt-RAG7RJOD.js.map +1 -0
  826. package/dist/setup-links-TNRBFS5Z.js +141 -0
  827. package/dist/setup-links-TNRBFS5Z.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-LUETQ5NT.js +3819 -0
  831. package/dist/shopify-LUETQ5NT.js.map +1 -0
  832. package/dist/site-SDL6LF6D.js +177 -0
  833. package/dist/site-SDL6LF6D.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-ISAUZFRN.js +30 -0
  841. package/dist/sources-ISAUZFRN.js.map +1 -0
  842. package/dist/sources-LQTJXAJG.js +421 -0
  843. package/dist/sources-LQTJXAJG.js.map +1 -0
  844. package/dist/stale-2L7NTLC6.js +63 -0
  845. package/dist/stale-2L7NTLC6.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-4QBSIHO7.js +62 -0
  849. package/dist/status-4QBSIHO7.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-DH7FTPGG.js +54 -0
  857. package/dist/sync-DH7FTPGG.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-ATMMOJ37.js +52 -0
  863. package/dist/sync-definition-ATMMOJ37.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-4RBZWDHS.js +20 -0
  867. package/dist/tags-4RBZWDHS.js.map +1 -0
  868. package/dist/tags-M7ATU2R7.js +26 -0
  869. package/dist/tags-M7ATU2R7.js.map +1 -0
  870. package/dist/tags-MXJKIBL4.js +20 -0
  871. package/dist/tags-MXJKIBL4.js.map +1 -0
  872. package/dist/tags-YG5EGPBW.js +20 -0
  873. package/dist/tags-YG5EGPBW.js.map +1 -0
  874. package/dist/tags-ZP4O3I2F.js +224 -0
  875. package/dist/tags-ZP4O3I2F.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-BTB2RVI4.js +113 -0
  879. package/dist/targeting-criteria-BTB2RVI4.js.map +1 -0
  880. package/dist/targets-DEGJD2N6.js +102 -0
  881. package/dist/targets-DEGJD2N6.js.map +1 -0
  882. package/dist/templates-FZDWQSTV.js +178 -0
  883. package/dist/templates-FZDWQSTV.js.map +1 -0
  884. package/dist/testimonials-TI5EDABS.js +32 -0
  885. package/dist/testimonials-TI5EDABS.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-OKH7UNKX.js +108 -0
  889. package/dist/top-companies-OKH7UNKX.js.map +1 -0
  890. package/dist/translate-IUQBBVE6.js +598 -0
  891. package/dist/translate-IUQBBVE6.js.map +1 -0
  892. package/dist/triggers-2NWMXQ5P.js +141 -0
  893. package/dist/triggers-2NWMXQ5P.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-UAPLQMK6.js +67 -0
  899. package/dist/unlink-UAPLQMK6.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-X2BYGH2S.js +84 -0
  903. package/dist/unstage-X2BYGH2S.js.map +1 -0
  904. package/dist/update-7YK3VSOK.js +142 -0
  905. package/dist/update-7YK3VSOK.js.map +1 -0
  906. package/dist/update-BHG7BTK3.js +155 -0
  907. package/dist/update-BHG7BTK3.js.map +1 -0
  908. package/dist/update-CDJXKEVA.js +63 -0
  909. package/dist/update-CDJXKEVA.js.map +1 -0
  910. package/dist/update-RZXDAMAG.js +98 -0
  911. package/dist/update-RZXDAMAG.js.map +1 -0
  912. package/dist/upload-DSZEXNHH.js +126 -0
  913. package/dist/upload-DSZEXNHH.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-OGZXF6MT.js +98 -0
  921. package/dist/url-params-OGZXF6MT.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-C6HWDI6K.js +88 -0
  925. package/dist/validate-C6HWDI6K.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-A2X5AARB.js +39 -0
  929. package/dist/videos-A2X5AARB.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-GJSFDBBE.js +140 -0
  935. package/dist/web-GJSFDBBE.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-NNU5MM75.js +84 -0
  939. package/dist/winning-ads-NNU5MM75.js.map +1 -0
  940. package/dist/write-commands-5I5KY6ZS.js +1015 -0
  941. package/dist/write-commands-5I5KY6ZS.js.map +1 -0
  942. package/dist/write-commands-DA6FIFAO.js +737 -0
  943. package/dist/write-commands-DA6FIFAO.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-VCL5VRXC.js +47 -0
  949. package/dist/x-VCL5VRXC.js.map +1 -0
  950. package/package.json +9 -2
  951. package/dist/chunk-FGHMWBUD.js +0 -9989
  952. package/dist/chunk-FGHMWBUD.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-6DQFYKGN.js.map} +0 -0
  964. /package/dist/{shared-J7DQZ2ED.js.map → customers-FOPXEGCB.js.map} +0 -0
@@ -0,0 +1,101 @@
1
+ import {
2
+ isRemoteUrl,
3
+ readImageBuffer
4
+ } from "./chunk-VSU5R34H.js";
5
+ import "./chunk-JXMZEOHV.js";
6
+ import "./chunk-I4FTS5EE.js";
7
+ import {
8
+ registerSchema,
9
+ writeJson,
10
+ writeOutput
11
+ } from "./chunk-MYTDK3AL.js";
12
+ import "./chunk-YQSBHWOI.js";
13
+
14
+ // src/commands/images/dimensions.ts
15
+ import { defineCommand } from "citty";
16
+
17
+ // src/lib/image/dimensions.ts
18
+ import { imageSize } from "image-size";
19
+ function getDimensionsFromBuffer(buffer) {
20
+ const result = imageSize(buffer);
21
+ if (!result.width || !result.height) return null;
22
+ return {
23
+ width: result.width,
24
+ height: result.height,
25
+ aspectRatio: result.width / result.height,
26
+ format: result.type ?? null
27
+ };
28
+ }
29
+
30
+ // src/commands/images/dimensions.ts
31
+ registerSchema({
32
+ command: "images.dimensions",
33
+ description: "Return width, height, aspect ratio, and format for a local file or remote URL.",
34
+ args: {
35
+ target: { type: "string", description: "Local file path or remote http(s) URL", required: true },
36
+ output: { type: "string", description: "Output format: json|md. Default: json", required: false },
37
+ fields: {
38
+ type: "string",
39
+ description: "Comma-separated field names to include (e.g. width,height)",
40
+ required: false
41
+ }
42
+ }
43
+ });
44
+ var dimensionsCommand = defineCommand({
45
+ meta: {
46
+ name: "dimensions",
47
+ description: "Read image dimensions without decoding the full file.\n\nExample: baker images dimensions ./logo.png\nExample: baker images dimensions https://acme.com/hero.png"
48
+ },
49
+ args: {
50
+ target: { type: "positional", description: "Local file path or remote http(s) URL", required: false },
51
+ output: { type: "string", description: "Output format: json|md", required: false },
52
+ // --fields is the flag an agent reaches for when it wants two numbers out of
53
+ // six. It used to be accepted silently and ignored (citty drops unknown
54
+ // flags), so the caller assumed the projection had failed and fell back to
55
+ // regexing raw JSON. Accepting it is cheaper than explaining it.
56
+ fields: { type: "string", description: "Comma-separated field names to include", required: false }
57
+ },
58
+ run: async ({ args }) => {
59
+ try {
60
+ const target = args.target;
61
+ if (!target) {
62
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "target argument is required" } });
63
+ process.exit(1);
64
+ }
65
+ const buffer = await readImageBuffer(target);
66
+ const dims = getDimensionsFromBuffer(buffer);
67
+ if (!dims) {
68
+ writeJson({
69
+ ok: false,
70
+ error: { code: "IMAGE_PROCESSING_ERROR", message: `Could not extract dimensions from ${target}` }
71
+ });
72
+ process.exit(1);
73
+ }
74
+ writeOutput(
75
+ {
76
+ ok: true,
77
+ data: {
78
+ target,
79
+ source: isRemoteUrl(target) ? "url" : "file",
80
+ width: dims.width,
81
+ height: dims.height,
82
+ aspectRatio: Math.round(dims.aspectRatio * 1e4) / 1e4,
83
+ format: dims.format
84
+ }
85
+ },
86
+ args.output || "json",
87
+ args.fields ? args.fields.split(",") : void 0,
88
+ false,
89
+ (record) => record
90
+ );
91
+ } catch (err) {
92
+ const message = err instanceof Error ? err.message : "Unexpected error";
93
+ writeJson({ ok: false, error: { code: "IMAGE_PROCESSING_ERROR", message } });
94
+ process.exit(1);
95
+ }
96
+ }
97
+ });
98
+ export {
99
+ dimensionsCommand
100
+ };
101
+ //# sourceMappingURL=dimensions-QDXBG2XC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/images/dimensions.ts","../src/lib/image/dimensions.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { getDimensionsFromBuffer } from \"../../lib/image/dimensions.ts\";\nimport { isRemoteUrl, readImageBuffer } from \"../../lib/image/io.ts\";\nimport { type OutputFormat, writeJson, writeOutput } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\n\nregisterSchema({\n command: \"images.dimensions\",\n description: \"Return width, height, aspect ratio, and format for a local file or remote URL.\",\n args: {\n target: { type: \"string\", description: \"Local file path or remote http(s) URL\", required: true },\n output: { type: \"string\", description: \"Output format: json|md. Default: json\", required: false },\n fields: {\n type: \"string\",\n description: \"Comma-separated field names to include (e.g. width,height)\",\n required: false,\n },\n },\n});\n\nexport const dimensionsCommand = defineCommand({\n meta: {\n name: \"dimensions\",\n description:\n \"Read image dimensions without decoding the full file.\\n\\nExample: baker images dimensions ./logo.png\\nExample: baker images dimensions https://acme.com/hero.png\",\n },\n args: {\n target: { type: \"positional\", description: \"Local file path or remote http(s) URL\", required: false },\n output: { type: \"string\", description: \"Output format: json|md\", required: false },\n // --fields is the flag an agent reaches for when it wants two numbers out of\n // six. It used to be accepted silently and ignored (citty drops unknown\n // flags), so the caller assumed the projection had failed and fell back to\n // regexing raw JSON. Accepting it is cheaper than explaining it.\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n },\n run: async ({ args }) => {\n try {\n const target = args.target as string | undefined;\n if (!target) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"target argument is required\" } });\n process.exit(1);\n }\n\n const buffer = await readImageBuffer(target);\n const dims = getDimensionsFromBuffer(buffer);\n if (!dims) {\n writeJson({\n ok: false,\n error: { code: \"IMAGE_PROCESSING_ERROR\", message: `Could not extract dimensions from ${target}` },\n });\n process.exit(1);\n }\n writeOutput(\n {\n ok: true,\n data: {\n target,\n source: isRemoteUrl(target) ? \"url\" : \"file\",\n width: dims.width,\n height: dims.height,\n aspectRatio: Math.round(dims.aspectRatio * 10000) / 10000,\n format: dims.format,\n },\n },\n (args.output as OutputFormat) || \"json\",\n args.fields ? (args.fields as string).split(\",\") : undefined,\n false,\n (record) => record,\n );\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Unexpected error\";\n writeJson({ ok: false, error: { code: \"IMAGE_PROCESSING_ERROR\", message } });\n process.exit(1);\n }\n },\n});\n","import { imageSize } from \"image-size\";\n\ninterface ImageDimensions {\n width: number;\n height: number;\n aspectRatio: number;\n format: string | null;\n}\n\nexport function getDimensionsFromBuffer(buffer: Buffer): ImageDimensions | null {\n const result = imageSize(buffer);\n if (!result.width || !result.height) return null;\n return {\n width: result.width,\n height: result.height,\n aspectRatio: result.width / result.height,\n format: result.type ?? null,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;;;ACA9B,SAAS,iBAAiB;AASnB,SAAS,wBAAwB,QAAwC;AAC9E,QAAM,SAAS,UAAU,MAAM;AAC/B,MAAI,CAAC,OAAO,SAAS,CAAC,OAAO,OAAQ,QAAO;AAC5C,SAAO;AAAA,IACL,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,IACf,aAAa,OAAO,QAAQ,OAAO;AAAA,IACnC,QAAQ,OAAO,QAAQ;AAAA,EACzB;AACF;;;ADZA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM;AAAA,IACJ,QAAQ,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,KAAK;AAAA,IAC/F,QAAQ,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,IAChG,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAEM,IAAM,oBAAoB,cAAc;AAAA,EAC7C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ,EAAE,MAAM,cAAc,aAAa,yCAAyC,UAAU,MAAM;AAAA,IACpG,QAAQ,EAAE,MAAM,UAAU,aAAa,0BAA0B,UAAU,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKjF,QAAQ,EAAE,MAAM,UAAU,aAAa,0CAA0C,UAAU,MAAM;AAAA,EACnG;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,SAAS,KAAK;AACpB,UAAI,CAAC,QAAQ;AACX,kBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,SAAS,8BAA8B,EAAE,CAAC;AACpG,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAEA,YAAM,SAAS,MAAM,gBAAgB,MAAM;AAC3C,YAAM,OAAO,wBAAwB,MAAM;AAC3C,UAAI,CAAC,MAAM;AACT,kBAAU;AAAA,UACR,IAAI;AAAA,UACJ,OAAO,EAAE,MAAM,0BAA0B,SAAS,qCAAqC,MAAM,GAAG;AAAA,QAClG,CAAC;AACD,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA;AAAA,QACE;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,YACJ;AAAA,YACA,QAAQ,YAAY,MAAM,IAAI,QAAQ;AAAA,YACtC,OAAO,KAAK;AAAA,YACZ,QAAQ,KAAK;AAAA,YACb,aAAa,KAAK,MAAM,KAAK,cAAc,GAAK,IAAI;AAAA,YACpD,QAAQ,KAAK;AAAA,UACf;AAAA,QACF;AAAA,QACC,KAAK,UAA2B;AAAA,QACjC,KAAK,SAAU,KAAK,OAAkB,MAAM,GAAG,IAAI;AAAA,QACnD;AAAA,QACA,CAAC,WAAW;AAAA,MACd;AAAA,IACF,SAAS,KAAK;AACZ,YAAM,UAAU,eAAe,QAAQ,IAAI,UAAU;AACrD,gBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,0BAA0B,QAAQ,EAAE,CAAC;AAC3E,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,66 @@
1
+ import {
2
+ failApi,
3
+ failValidation,
4
+ writeOk
5
+ } from "./chunk-NMGELUIA.js";
6
+ import "./chunk-D46NOXRY.js";
7
+ import "./chunk-GXDLWBOY.js";
8
+ import "./chunk-GIWHHCD6.js";
9
+ import "./chunk-UI6BKYQD.js";
10
+ import "./chunk-I2DNBEV6.js";
11
+ import {
12
+ apiPost,
13
+ validateConvexId
14
+ } from "./chunk-CUL3VB4L.js";
15
+ import "./chunk-6YYSUISH.js";
16
+ import {
17
+ requireChatId
18
+ } from "./chunk-I4FTS5EE.js";
19
+ import {
20
+ registerSchema
21
+ } from "./chunk-MYTDK3AL.js";
22
+ import "./chunk-YQSBHWOI.js";
23
+
24
+ // src/commands/actions/discard.ts
25
+ import { defineCommand } from "citty";
26
+ registerSchema({
27
+ command: "actions.discard",
28
+ description: "Stage discard of an action \u2014 no claim needed; retire any action you're not working on. Applies on chat publish. Blocked only if another chat currently has it claimed.",
29
+ args: {
30
+ id: { type: "string", description: "Action ID", required: true },
31
+ reason: { type: "string", description: "Optional reason", required: false }
32
+ }
33
+ });
34
+ var discardCommand = defineCommand({
35
+ meta: {
36
+ name: "discard",
37
+ description: 'Stage discard of an action (no claim needed). Example: baker actions discard <id> --reason "obsolete"'
38
+ },
39
+ args: {
40
+ id: { type: "positional", description: "Action ID", required: false },
41
+ "action-id": { type: "string", description: "Action ID", required: false },
42
+ reason: { type: "string", description: "Reason for discarding", required: false }
43
+ },
44
+ run: async ({ args }) => {
45
+ try {
46
+ const id = args.id || args["action-id"];
47
+ if (!id) {
48
+ failValidation("Action ID is required.");
49
+ }
50
+ validateConvexId(id);
51
+ const chatId = requireChatId();
52
+ await apiPost("/api/actions/discard", {
53
+ chatId,
54
+ actionId: id,
55
+ reason: args.reason
56
+ });
57
+ writeOk();
58
+ } catch (err) {
59
+ failApi(err);
60
+ }
61
+ }
62
+ });
63
+ export {
64
+ discardCommand
65
+ };
66
+ //# sourceMappingURL=discard-V4LQ7ZGA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/actions/discard.ts"],"sourcesContent":["import type { ActionsDiscardResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost, validateConvexId } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi, failValidation, writeOk } from \"./shared.ts\";\n\nregisterSchema({\n command: \"actions.discard\",\n description:\n \"Stage discard of an action — no claim needed; retire any action you're not working on. Applies on chat publish. Blocked only if another chat currently has it claimed.\",\n args: {\n id: { type: \"string\", description: \"Action ID\", required: true },\n reason: { type: \"string\", description: \"Optional reason\", required: false },\n },\n});\n\nexport const discardCommand = defineCommand({\n meta: {\n name: \"discard\",\n description:\n 'Stage discard of an action (no claim needed). Example: baker actions discard <id> --reason \"obsolete\"',\n },\n args: {\n id: { type: \"positional\", description: \"Action ID\", required: false },\n \"action-id\": { type: \"string\", description: \"Action ID\", required: false },\n reason: { type: \"string\", description: \"Reason for discarding\", required: false },\n },\n run: async ({ args }) => {\n try {\n const id = (args.id as string | undefined) || (args[\"action-id\"] as string | undefined);\n if (!id) {\n failValidation(\"Action ID is required.\");\n }\n validateConvexId(id);\n const chatId = requireChatId();\n await apiPost<ActionsDiscardResponse>(\"/api/actions/discard\", {\n chatId,\n actionId: id,\n reason: args.reason,\n });\n writeOk();\n } catch (err) {\n failApi(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,UAAU,aAAa,aAAa,UAAU,KAAK;AAAA,IAC/D,QAAQ,EAAE,MAAM,UAAU,aAAa,mBAAmB,UAAU,MAAM;AAAA,EAC5E;AACF,CAAC;AAEM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,aAAa,UAAU,MAAM;AAAA,IACpE,aAAa,EAAE,MAAM,UAAU,aAAa,aAAa,UAAU,MAAM;AAAA,IACzE,QAAQ,EAAE,MAAM,UAAU,aAAa,yBAAyB,UAAU,MAAM;AAAA,EAClF;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,KAAM,KAAK,MAA8B,KAAK,WAAW;AAC/D,UAAI,CAAC,IAAI;AACP,uBAAe,wBAAwB;AAAA,MACzC;AACA,uBAAiB,EAAE;AACnB,YAAM,SAAS,cAAc;AAC7B,YAAM,QAAgC,wBAAwB;AAAA,QAC5D;AAAA,QACA,UAAU;AAAA,QACV,QAAQ,KAAK;AAAA,MACf,CAAC;AACD,cAAQ;AAAA,IACV,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,93 @@
1
+ import {
2
+ reportError
3
+ } from "./chunk-OIL6PU5W.js";
4
+ import {
5
+ apiPost
6
+ } from "./chunk-CUL3VB4L.js";
7
+ import "./chunk-6YYSUISH.js";
8
+ import "./chunk-I4FTS5EE.js";
9
+ import {
10
+ adLibraryUrl,
11
+ brandAccountInput,
12
+ registerSchema,
13
+ writeJson
14
+ } from "./chunk-MYTDK3AL.js";
15
+ import "./chunk-YQSBHWOI.js";
16
+
17
+ // src/commands/winning-ads/discover.ts
18
+ import { defineCommand } from "citty";
19
+ registerSchema({
20
+ command: "winning-ads.discover",
21
+ description: "See every ad account one paste finds for a brand, without following anything: `accounts` (linked from its website or named by your link \u2014 `follow` tracks these) and `suggestions` (only named like the brand \u2014 another country's page, or a stranger's). Each comes with `ads_url`, its public ad library to check it really is the brand's, and `input`, what to paste into `add-accounts`. Paid lookups; use it when you need to check before following, otherwise just `follow`.",
22
+ args: {
23
+ input: {
24
+ type: "string",
25
+ description: "Website (best), brand name, or any profile/ad-library link",
26
+ required: true
27
+ },
28
+ full: {
29
+ type: "boolean",
30
+ description: "Every field the lookup returned (logo, category, ids), beside ads_url and input",
31
+ required: false,
32
+ default: false
33
+ }
34
+ }
35
+ });
36
+ function accountRow(account, full) {
37
+ const reach = { ads_url: adLibraryUrl(account), input: brandAccountInput(account) };
38
+ if (full) return { ...account, ...reach };
39
+ return { platform: account.platform, name: account.name, followers: account.followers, ...reach };
40
+ }
41
+ function discoverOutput(input, discovery, { full = false } = {}) {
42
+ const hints = [];
43
+ const { accounts, suggestions } = discovery;
44
+ if (accounts.length > 0) {
45
+ hints.push(
46
+ `\`accounts\` are certainly this brand's; following tracks all ${accounts.length}: baker winning-ads follow ${JSON.stringify(input)}.`
47
+ );
48
+ }
49
+ if (suggestions.length > 0) {
50
+ const inputs = JSON.stringify(suggestions.map(brandAccountInput).join(","));
51
+ hints.push(
52
+ `\`suggestions\` are only named like this brand \u2014 another country's or language's page, or a stranger's. Check each one's ads_url (or hand the links to the user) before tracking it; once the brand is followed, add the ones that are its own with: baker winning-ads add-accounts <advertiser_id> ${inputs} \u2014 dropping the rest.`
53
+ );
54
+ }
55
+ if (hints.length === 0) {
56
+ hints.push("Nothing found. Paste the brand's website (finds the most), or a profile or ad-library link.");
57
+ }
58
+ const row = (account) => accountRow(account, full);
59
+ return { data: { accounts: accounts.map(row), suggestions: suggestions.map(row) }, hints };
60
+ }
61
+ var discoverCommand = defineCommand({
62
+ meta: {
63
+ name: "discover",
64
+ description: 'List every account a brand runs ads from, without following. Example: baker winning-ads discover "barkibu.com"'
65
+ },
66
+ args: {
67
+ input: {
68
+ type: "positional",
69
+ description: "Website (best), brand name, or any profile/ad-library link",
70
+ required: true
71
+ },
72
+ full: {
73
+ type: "boolean",
74
+ description: "Every field the lookup returned, beside ads_url and input",
75
+ required: false,
76
+ default: false
77
+ }
78
+ },
79
+ run: async ({ args }) => {
80
+ try {
81
+ const input = String(args.input);
82
+ const discovery = await apiPost("/api/ad-library/discover", { input });
83
+ writeJson({ ok: true, ...discoverOutput(input, discovery, { full: Boolean(args.full) }) });
84
+ } catch (err) {
85
+ reportError(err);
86
+ }
87
+ }
88
+ });
89
+ export {
90
+ discoverCommand,
91
+ discoverOutput
92
+ };
93
+ //# sourceMappingURL=discover-6TEBPVNC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/winning-ads/discover.ts"],"sourcesContent":["import { adLibraryUrl, type BrandDiscovery, brandAccountInput, type ResolvePreview } from \"@baker/api/ad-library\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { reportError } from \"./shared.ts\";\n\nregisterSchema({\n command: \"winning-ads.discover\",\n description:\n \"See every ad account one paste finds for a brand, without following anything: `accounts` (linked from its website or named by your link — `follow` tracks these) and `suggestions` (only named like the brand — another country's page, or a stranger's). Each comes with `ads_url`, its public ad library to check it really is the brand's, and `input`, what to paste into `add-accounts`. Paid lookups; use it when you need to check before following, otherwise just `follow`.\",\n args: {\n input: {\n type: \"string\",\n description: \"Website (best), brand name, or any profile/ad-library link\",\n required: true,\n },\n full: {\n type: \"boolean\",\n description: \"Every field the lookup returned (logo, category, ids), beside ads_url and input\",\n required: false,\n default: false,\n },\n },\n});\n\n/**\n * One account as the agent reads it: who, where, how to check it (`ads_url`)\n * and how to track it (`input`) — with every field the lookup read under --full.\n */\nfunction accountRow(account: ResolvePreview, full: boolean) {\n const reach = { ads_url: adLibraryUrl(account), input: brandAccountInput(account) };\n if (full) return { ...account, ...reach };\n return { platform: account.platform, name: account.name, followers: account.followers, ...reach };\n}\n\n/** What the agent reads after a discover: each account compact, and what to do with each group. */\nexport function discoverOutput(input: string, discovery: BrandDiscovery, { full = false } = {}) {\n const hints: string[] = [];\n const { accounts, suggestions } = discovery;\n if (accounts.length > 0) {\n hints.push(\n `\\`accounts\\` are certainly this brand's; following tracks all ${accounts.length}: baker winning-ads follow ${JSON.stringify(input)}.`,\n );\n }\n if (suggestions.length > 0) {\n const inputs = JSON.stringify(suggestions.map(brandAccountInput).join(\",\"));\n hints.push(\n `\\`suggestions\\` are only named like this brand — another country's or language's page, or a stranger's. Check each one's ads_url (or hand the links to the user) before tracking it; once the brand is followed, add the ones that are its own with: baker winning-ads add-accounts <advertiser_id> ${inputs} — dropping the rest.`,\n );\n }\n if (hints.length === 0) {\n hints.push(\"Nothing found. Paste the brand's website (finds the most), or a profile or ad-library link.\");\n }\n const row = (account: ResolvePreview) => accountRow(account, full);\n return { data: { accounts: accounts.map(row), suggestions: suggestions.map(row) }, hints };\n}\n\nexport const discoverCommand = defineCommand({\n meta: {\n name: \"discover\",\n description:\n 'List every account a brand runs ads from, without following. Example: baker winning-ads discover \"barkibu.com\"',\n },\n args: {\n input: {\n type: \"positional\",\n description: \"Website (best), brand name, or any profile/ad-library link\",\n required: true,\n },\n full: {\n type: \"boolean\",\n description: \"Every field the lookup returned, beside ads_url and input\",\n required: false,\n default: false,\n },\n },\n run: async ({ args }) => {\n try {\n const input = String(args.input);\n const discovery = await apiPost<BrandDiscovery>(\"/api/ad-library/discover\", { input });\n writeJson({ ok: true, ...discoverOutput(input, discovery, { full: Boolean(args.full) }) });\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,EACF;AACF,CAAC;AAMD,SAAS,WAAW,SAAyB,MAAe;AAC1D,QAAM,QAAQ,EAAE,SAAS,aAAa,OAAO,GAAG,OAAO,kBAAkB,OAAO,EAAE;AAClF,MAAI,KAAM,QAAO,EAAE,GAAG,SAAS,GAAG,MAAM;AACxC,SAAO,EAAE,UAAU,QAAQ,UAAU,MAAM,QAAQ,MAAM,WAAW,QAAQ,WAAW,GAAG,MAAM;AAClG;AAGO,SAAS,eAAe,OAAe,WAA2B,EAAE,OAAO,MAAM,IAAI,CAAC,GAAG;AAC9F,QAAM,QAAkB,CAAC;AACzB,QAAM,EAAE,UAAU,YAAY,IAAI;AAClC,MAAI,SAAS,SAAS,GAAG;AACvB,UAAM;AAAA,MACJ,iEAAiE,SAAS,MAAM,8BAA8B,KAAK,UAAU,KAAK,CAAC;AAAA,IACrI;AAAA,EACF;AACA,MAAI,YAAY,SAAS,GAAG;AAC1B,UAAM,SAAS,KAAK,UAAU,YAAY,IAAI,iBAAiB,EAAE,KAAK,GAAG,CAAC;AAC1E,UAAM;AAAA,MACJ,4SAAuS,MAAM;AAAA,IAC/S;AAAA,EACF;AACA,MAAI,MAAM,WAAW,GAAG;AACtB,UAAM,KAAK,6FAA6F;AAAA,EAC1G;AACA,QAAM,MAAM,CAAC,YAA4B,WAAW,SAAS,IAAI;AACjE,SAAO,EAAE,MAAM,EAAE,UAAU,SAAS,IAAI,GAAG,GAAG,aAAa,YAAY,IAAI,GAAG,EAAE,GAAG,MAAM;AAC3F;AAEO,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,QAAQ,OAAO,KAAK,KAAK;AAC/B,YAAM,YAAY,MAAM,QAAwB,4BAA4B,EAAE,MAAM,CAAC;AACrF,gBAAU,EAAE,IAAI,MAAM,GAAG,eAAe,OAAO,WAAW,EAAE,MAAM,QAAQ,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;AAAA,IAC3F,SAAS,KAAK;AACZ,kBAAY,GAAG;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,172 @@
1
+ import {
2
+ PLANNER_FIELD_DESCRIPTIONS,
3
+ PLANNER_SOURCE,
4
+ stampPlannerRows
5
+ } from "./chunk-2Y5V23PU.js";
6
+ import {
7
+ buildAdsQueryContext,
8
+ warnDefaults
9
+ } from "./chunk-SQ7DRYCC.js";
10
+ import "./chunk-SEPPFM5S.js";
11
+ import {
12
+ buildQueryCacheKey,
13
+ cacheGet,
14
+ cacheSet,
15
+ getManagerIdForCustomer,
16
+ handleConnectionError,
17
+ isNotConnectedError,
18
+ resolveCustomerId,
19
+ writeAdsJson,
20
+ writeAdsOutput
21
+ } from "./chunk-EIGXX6KI.js";
22
+ import "./chunk-I2DNBEV6.js";
23
+ import {
24
+ ApiError,
25
+ apiPost
26
+ } from "./chunk-CUL3VB4L.js";
27
+ import "./chunk-6YYSUISH.js";
28
+ import "./chunk-I4FTS5EE.js";
29
+ import {
30
+ registerSchema
31
+ } from "./chunk-MYTDK3AL.js";
32
+ import "./chunk-YQSBHWOI.js";
33
+
34
+ // src/commands/ads/google/keywords/discover.ts
35
+ import { defineCommand } from "citty";
36
+ registerSchema({
37
+ command: "ads.google.keywords.discover",
38
+ description: 'Discover keyword ideas from seed keywords or URLs. Returns { source: "keyword_planner_estimate", keywords, total_results, next_page_token? }. These are Keyword Planner estimates of total market search volume, not this account\'s data: every row carries a source column and every metric is prefixed planner_ (planner_avg_monthly_searches, planner_competition, ...). Never report a planner_ number as impressions, clicks or any account metric \u2014 read those with `baker ads google query` against the account. If --location and --language are omitted, they default to United States (2840) and English (1000); `query_context` shows which were used.',
39
+ args: {
40
+ "customer-id": {
41
+ type: "string",
42
+ description: "Google Ads customer ID (10 digits, no dashes). Falls back to BAKER_GOOGLE_ADS_CUSTOMER_ID env var.",
43
+ required: false
44
+ },
45
+ seeds: { type: "string", description: "Comma-separated seed keywords (max 10)", required: false },
46
+ url: { type: "string", description: "URL to extract keyword ideas from", required: false },
47
+ location: {
48
+ type: "string",
49
+ description: "Geo target ID. Defaults to 2840 (United States) if omitted \u2014 always set this for non-US markets",
50
+ required: false
51
+ },
52
+ language: {
53
+ type: "string",
54
+ description: "Language ID. Defaults to 1000 (English) if omitted \u2014 always set this for non-English markets",
55
+ required: false
56
+ },
57
+ limit: { type: "string", description: "Max keyword ideas (default: 20, max: 100)", required: false, default: 20 },
58
+ cursor: {
59
+ type: "string",
60
+ description: "Pagination cursor from previous response (next_page_token)",
61
+ required: false
62
+ },
63
+ output: { type: "string", description: "Format: json|csv|jsonl|md", required: false, default: "json" },
64
+ "no-cache": { type: "boolean", description: "Skip cache", required: false }
65
+ }
66
+ });
67
+ function stampDiscoverResponse(data) {
68
+ return { ...data, source: PLANNER_SOURCE, keywords: stampPlannerRows(data.keywords ?? []) };
69
+ }
70
+ function buildDiscoverBody(customerId, args) {
71
+ const body = {
72
+ customerId,
73
+ pageSize: args.limit ? Number(args.limit) : 20
74
+ };
75
+ const managerId = getManagerIdForCustomer(customerId);
76
+ if (managerId) body.managerId = managerId;
77
+ const seeds = args.seeds ? args.seeds.split(",").map((s) => s.trim()).filter(Boolean) : void 0;
78
+ if (seeds) body.seeds = seeds;
79
+ if (args.url) body.url = args.url;
80
+ if (args.location) body.locationIds = [args.location];
81
+ if (args.language) body.languageId = args.language;
82
+ if (args.cursor) body.pageToken = args.cursor;
83
+ return body;
84
+ }
85
+ function handleKeywordError(err) {
86
+ if (err instanceof ApiError) {
87
+ if (isNotConnectedError(err.code, err.message)) {
88
+ handleConnectionError("google_ads", err.message);
89
+ }
90
+ const envelope = {
91
+ ok: false,
92
+ error: {
93
+ code: err.code,
94
+ message: err.message,
95
+ fix: { action: "reject", explanation: err.message },
96
+ retryable: err.code === "RATE_LIMITED"
97
+ }
98
+ };
99
+ writeAdsJson(envelope);
100
+ process.exit(1);
101
+ }
102
+ writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
103
+ process.exit(1);
104
+ }
105
+ var discoverCommand = defineCommand({
106
+ meta: {
107
+ name: "discover",
108
+ description: `Discover new keyword ideas from seed keywords or competitor URLs.
109
+
110
+ Returns Keyword Planner ESTIMATES of market search volume, not this account's numbers. Every row carries source=keyword_planner_estimate and planner_-prefixed metrics; keep those names when you quote a figure, and never present one as an impression or click count.
111
+
112
+ Examples:
113
+ baker ads google keywords discover --customer-id 1234567890 --seeds "running shoes,athletic footwear"
114
+ baker ads google keywords discover --customer-id 1234567890 --url "https://competitor.com"
115
+ baker ads google keywords discover --customer-id 1234567890 --seeds "seo tools" --location 2826 --limit 50`
116
+ },
117
+ args: {
118
+ "customer-id": { type: "string", description: "Google Ads customer ID", required: false },
119
+ seeds: { type: "string", description: "Comma-separated seed keywords", required: false },
120
+ url: { type: "string", description: "URL to extract ideas from", required: false },
121
+ location: { type: "string", description: "Geo target ID (default 2840)", required: false },
122
+ language: { type: "string", description: "Language ID (default 1000)", required: false },
123
+ limit: { type: "string", description: "Max results (default 20)", required: false },
124
+ cursor: { type: "string", description: "Pagination cursor from previous response", required: false },
125
+ "no-cache": { type: "boolean", description: "Skip cache", required: false },
126
+ output: { type: "string", description: "Format: json|csv|jsonl|md", required: false, default: "json" }
127
+ },
128
+ run: async ({ args }) => {
129
+ const customerId = await resolveCustomerId(args);
130
+ const queryContext = buildAdsQueryContext(args.location, args.language);
131
+ if (!args.seeds && !args.url) {
132
+ writeAdsJson({
133
+ ok: false,
134
+ error: { code: "VALIDATION_ERROR", message: "Provide --seeds or --url (at least one required)" }
135
+ });
136
+ process.exit(1);
137
+ }
138
+ const body = buildDiscoverBody(customerId, args);
139
+ const useCache = !args["no-cache"] && !args.cursor;
140
+ if (!useCache) body.skipCache = true;
141
+ const cacheKey = buildQueryCacheKey(customerId, JSON.stringify(body));
142
+ if (useCache) {
143
+ const cached = cacheGet("keywords", cacheKey);
144
+ if (cached) {
145
+ warnDefaults(queryContext);
146
+ writeAdsJson({ ok: true, data: stampDiscoverResponse(cached.data), cached: true, query_context: queryContext });
147
+ return;
148
+ }
149
+ }
150
+ try {
151
+ const data = await apiPost("/api/ads/google/keywords/discover", body);
152
+ if (useCache) {
153
+ cacheSet("keywords", cacheKey, data, 24 * 60 * 60 * 1e3);
154
+ }
155
+ warnDefaults(queryContext);
156
+ const stamped = stampDiscoverResponse(data);
157
+ const format = args.output || "json";
158
+ if (format !== "json") {
159
+ writeAdsOutput(stamped.keywords, format);
160
+ return;
161
+ }
162
+ writeAdsJson({ ok: true, data: stamped, fields: PLANNER_FIELD_DESCRIPTIONS, query_context: queryContext });
163
+ } catch (err) {
164
+ handleKeywordError(err);
165
+ }
166
+ }
167
+ });
168
+ export {
169
+ discoverCommand,
170
+ stampDiscoverResponse
171
+ };
172
+ //# sourceMappingURL=discover-SBZPB7T2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/google/keywords/discover.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../../../client.ts\";\nimport { handleConnectionError, isNotConnectedError } from \"../../../../error-handler.ts\";\nimport { buildAdsQueryContext, warnDefaults } from \"../../../../geo-context.ts\";\nimport { registerSchema } from \"../../../../schemas.ts\";\nimport { buildQueryCacheKey, cacheGet, cacheSet, getManagerIdForCustomer } from \"../../cache.ts\";\nimport { resolveCustomerId, writeAdsJson, writeAdsOutput } from \"../../output.ts\";\nimport type { AdsErrorEnvelope } from \"../../types.ts\";\nimport { PLANNER_FIELD_DESCRIPTIONS, PLANNER_SOURCE, type PlannerRow, stampPlannerRows } from \"./provenance.ts\";\n\nregisterSchema({\n command: \"ads.google.keywords.discover\",\n description:\n 'Discover keyword ideas from seed keywords or URLs. Returns { source: \"keyword_planner_estimate\", keywords, total_results, next_page_token? }. These are Keyword Planner estimates of total market search volume, not this account\\'s data: every row carries a source column and every metric is prefixed planner_ (planner_avg_monthly_searches, planner_competition, ...). Never report a planner_ number as impressions, clicks or any account metric — read those with `baker ads google query` against the account. If --location and --language are omitted, they default to United States (2840) and English (1000); `query_context` shows which were used.',\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 seeds: { type: \"string\", description: \"Comma-separated seed keywords (max 10)\", required: false },\n url: { type: \"string\", description: \"URL to extract keyword ideas from\", required: false },\n location: {\n type: \"string\",\n description: \"Geo target ID. Defaults to 2840 (United States) if omitted — always set this for non-US markets\",\n required: false,\n },\n language: {\n type: \"string\",\n description: \"Language ID. Defaults to 1000 (English) if omitted — always set this for non-English markets\",\n required: false,\n },\n limit: { type: \"string\", description: \"Max keyword ideas (default: 20, max: 100)\", required: false, default: 20 },\n cursor: {\n type: \"string\",\n description: \"Pagination cursor from previous response (next_page_token)\",\n required: false,\n },\n output: { type: \"string\", description: \"Format: json|csv|jsonl|md\", required: false, default: \"json\" },\n \"no-cache\": { type: \"boolean\", description: \"Skip cache\", required: false },\n },\n});\n\ntype KeywordIdea = {\n keyword: string;\n avg_monthly_searches: string;\n competition: string;\n competition_index: string;\n low_top_of_page_bid_micros: number;\n high_top_of_page_bid_micros: number;\n monthly_search_volumes: Array<{ year: string; month: string; monthly_searches: string }>;\n};\n\ntype DiscoverResponse = {\n keywords: KeywordIdea[];\n total_results: number;\n next_page_token?: string;\n};\n\n/**\n * Every idea leaves this command carrying where it came from: a `source` column on the row and a\n * `planner_` prefix on each estimate. Keyword Planner volumes have been reported as account\n * impressions before; a name is the only label that survives a CSV in /tmp and a `python3` pass.\n */\nexport function stampDiscoverResponse(data: {\n keywords?: readonly PlannerRow[];\n [key: string]: unknown;\n}): Record<string, unknown> & { keywords: PlannerRow[] } {\n return { ...data, source: PLANNER_SOURCE, keywords: stampPlannerRows(data.keywords ?? []) };\n}\n\nfunction buildDiscoverBody(customerId: string, args: Record<string, unknown>): Record<string, unknown> {\n const body: Record<string, unknown> = {\n customerId,\n pageSize: args.limit ? Number(args.limit) : 20,\n };\n const managerId = getManagerIdForCustomer(customerId);\n if (managerId) body.managerId = managerId;\n\n const seeds = args.seeds\n ? (args.seeds as string)\n .split(\",\")\n .map((s) => s.trim())\n .filter(Boolean)\n : undefined;\n if (seeds) body.seeds = seeds;\n if (args.url) body.url = args.url;\n if (args.location) body.locationIds = [args.location as string];\n if (args.language) body.languageId = args.language;\n if (args.cursor) body.pageToken = args.cursor;\n return body;\n}\n\nfunction handleKeywordError(err: unknown): never {\n if (err instanceof ApiError) {\n if (isNotConnectedError(err.code, err.message)) {\n handleConnectionError(\"google_ads\", err.message);\n }\n const envelope: AdsErrorEnvelope = {\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n fix: { action: \"reject\", explanation: err.message },\n retryable: err.code === \"RATE_LIMITED\",\n },\n };\n writeAdsJson(envelope);\n process.exit(1);\n }\n writeAdsJson({ ok: false, error: { code: \"NETWORK_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\nexport const discoverCommand = defineCommand({\n meta: {\n name: \"discover\",\n description: `Discover new keyword ideas from seed keywords or competitor URLs.\n\nReturns Keyword Planner ESTIMATES of market search volume, not this account's numbers. Every row carries source=keyword_planner_estimate and planner_-prefixed metrics; keep those names when you quote a figure, and never present one as an impression or click count.\n\nExamples:\n baker ads google keywords discover --customer-id 1234567890 --seeds \"running shoes,athletic footwear\"\n baker ads google keywords discover --customer-id 1234567890 --url \"https://competitor.com\"\n baker ads google keywords discover --customer-id 1234567890 --seeds \"seo tools\" --location 2826 --limit 50`,\n },\n args: {\n \"customer-id\": { type: \"string\", description: \"Google Ads customer ID\", required: false },\n seeds: { type: \"string\", description: \"Comma-separated seed keywords\", required: false },\n url: { type: \"string\", description: \"URL to extract ideas from\", required: false },\n location: { type: \"string\", description: \"Geo target ID (default 2840)\", required: false },\n language: { type: \"string\", description: \"Language ID (default 1000)\", required: false },\n limit: { type: \"string\", description: \"Max results (default 20)\", required: false },\n cursor: { type: \"string\", description: \"Pagination cursor from previous response\", required: false },\n \"no-cache\": { type: \"boolean\", description: \"Skip cache\", required: false },\n output: { type: \"string\", description: \"Format: json|csv|jsonl|md\", required: false, default: \"json\" },\n },\n run: async ({ args }) => {\n const customerId = await resolveCustomerId(args);\n const queryContext = buildAdsQueryContext(args.location as string | undefined, args.language as string | undefined);\n\n if (!args.seeds && !args.url) {\n writeAdsJson({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: \"Provide --seeds or --url (at least one required)\" },\n });\n process.exit(1);\n }\n\n const body = buildDiscoverBody(customerId, args);\n const useCache = !args[\"no-cache\"] && !args.cursor;\n if (!useCache) body.skipCache = true;\n const cacheKey = buildQueryCacheKey(customerId, JSON.stringify(body));\n\n if (useCache) {\n const cached = cacheGet<DiscoverResponse>(\"keywords\", cacheKey);\n if (cached) {\n warnDefaults(queryContext);\n writeAdsJson({ ok: true, data: stampDiscoverResponse(cached.data), cached: true, query_context: queryContext });\n return;\n }\n }\n\n try {\n const data = await apiPost<DiscoverResponse>(\"/api/ads/google/keywords/discover\", body);\n if (useCache) {\n cacheSet(\"keywords\", cacheKey, data, 24 * 60 * 60 * 1000);\n }\n\n warnDefaults(queryContext);\n const stamped = stampDiscoverResponse(data);\n const format = (args.output as string) || \"json\";\n if (format !== \"json\") {\n writeAdsOutput(stamped.keywords, format);\n return;\n }\n\n writeAdsJson({ ok: true, data: stamped, fields: PLANNER_FIELD_DESCRIPTIONS, query_context: queryContext });\n } catch (err) {\n handleKeywordError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAU9B,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,OAAO,EAAE,MAAM,UAAU,aAAa,0CAA0C,UAAU,MAAM;AAAA,IAChG,KAAK,EAAE,MAAM,UAAU,aAAa,qCAAqC,UAAU,MAAM;AAAA,IACzF,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,OAAO,EAAE,MAAM,UAAU,aAAa,6CAA6C,UAAU,OAAO,SAAS,GAAG;AAAA,IAChH,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,QAAQ,EAAE,MAAM,UAAU,aAAa,6BAA6B,UAAU,OAAO,SAAS,OAAO;AAAA,IACrG,YAAY,EAAE,MAAM,WAAW,aAAa,cAAc,UAAU,MAAM;AAAA,EAC5E;AACF,CAAC;AAuBM,SAAS,sBAAsB,MAGmB;AACvD,SAAO,EAAE,GAAG,MAAM,QAAQ,gBAAgB,UAAU,iBAAiB,KAAK,YAAY,CAAC,CAAC,EAAE;AAC5F;AAEA,SAAS,kBAAkB,YAAoB,MAAwD;AACrG,QAAM,OAAgC;AAAA,IACpC;AAAA,IACA,UAAU,KAAK,QAAQ,OAAO,KAAK,KAAK,IAAI;AAAA,EAC9C;AACA,QAAM,YAAY,wBAAwB,UAAU;AACpD,MAAI,UAAW,MAAK,YAAY;AAEhC,QAAM,QAAQ,KAAK,QACd,KAAK,MACH,MAAM,GAAG,EACT,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EACnB,OAAO,OAAO,IACjB;AACJ,MAAI,MAAO,MAAK,QAAQ;AACxB,MAAI,KAAK,IAAK,MAAK,MAAM,KAAK;AAC9B,MAAI,KAAK,SAAU,MAAK,cAAc,CAAC,KAAK,QAAkB;AAC9D,MAAI,KAAK,SAAU,MAAK,aAAa,KAAK;AAC1C,MAAI,KAAK,OAAQ,MAAK,YAAY,KAAK;AACvC,SAAO;AACT;AAEA,SAAS,mBAAmB,KAAqB;AAC/C,MAAI,eAAe,UAAU;AAC3B,QAAI,oBAAoB,IAAI,MAAM,IAAI,OAAO,GAAG;AAC9C,4BAAsB,cAAc,IAAI,OAAO;AAAA,IACjD;AACA,UAAM,WAA6B;AAAA,MACjC,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,MAAM,IAAI;AAAA,QACV,SAAS,IAAI;AAAA,QACb,KAAK,EAAE,QAAQ,UAAU,aAAa,IAAI,QAAQ;AAAA,QAClD,WAAW,IAAI,SAAS;AAAA,MAC1B;AAAA,IACF;AACA,iBAAa,QAAQ;AACrB,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,eAAa,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,iBAAiB,SAAS,mBAAmB,EAAE,CAAC;AACzF,UAAQ,KAAK,CAAC;AAChB;AAEO,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQf;AAAA,EACA,MAAM;AAAA,IACJ,eAAe,EAAE,MAAM,UAAU,aAAa,0BAA0B,UAAU,MAAM;AAAA,IACxF,OAAO,EAAE,MAAM,UAAU,aAAa,iCAAiC,UAAU,MAAM;AAAA,IACvF,KAAK,EAAE,MAAM,UAAU,aAAa,6BAA6B,UAAU,MAAM;AAAA,IACjF,UAAU,EAAE,MAAM,UAAU,aAAa,gCAAgC,UAAU,MAAM;AAAA,IACzF,UAAU,EAAE,MAAM,UAAU,aAAa,8BAA8B,UAAU,MAAM;AAAA,IACvF,OAAO,EAAE,MAAM,UAAU,aAAa,4BAA4B,UAAU,MAAM;AAAA,IAClF,QAAQ,EAAE,MAAM,UAAU,aAAa,4CAA4C,UAAU,MAAM;AAAA,IACnG,YAAY,EAAE,MAAM,WAAW,aAAa,cAAc,UAAU,MAAM;AAAA,IAC1E,QAAQ,EAAE,MAAM,UAAU,aAAa,6BAA6B,UAAU,OAAO,SAAS,OAAO;AAAA,EACvG;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,aAAa,MAAM,kBAAkB,IAAI;AAC/C,UAAM,eAAe,qBAAqB,KAAK,UAAgC,KAAK,QAA8B;AAElH,QAAI,CAAC,KAAK,SAAS,CAAC,KAAK,KAAK;AAC5B,mBAAa;AAAA,QACX,IAAI;AAAA,QACJ,OAAO,EAAE,MAAM,oBAAoB,SAAS,mDAAmD;AAAA,MACjG,CAAC;AACD,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,OAAO,kBAAkB,YAAY,IAAI;AAC/C,UAAM,WAAW,CAAC,KAAK,UAAU,KAAK,CAAC,KAAK;AAC5C,QAAI,CAAC,SAAU,MAAK,YAAY;AAChC,UAAM,WAAW,mBAAmB,YAAY,KAAK,UAAU,IAAI,CAAC;AAEpE,QAAI,UAAU;AACZ,YAAM,SAAS,SAA2B,YAAY,QAAQ;AAC9D,UAAI,QAAQ;AACV,qBAAa,YAAY;AACzB,qBAAa,EAAE,IAAI,MAAM,MAAM,sBAAsB,OAAO,IAAI,GAAG,QAAQ,MAAM,eAAe,aAAa,CAAC;AAC9G;AAAA,MACF;AAAA,IACF;AAEA,QAAI;AACF,YAAM,OAAO,MAAM,QAA0B,qCAAqC,IAAI;AACtF,UAAI,UAAU;AACZ,iBAAS,YAAY,UAAU,MAAM,KAAK,KAAK,KAAK,GAAI;AAAA,MAC1D;AAEA,mBAAa,YAAY;AACzB,YAAM,UAAU,sBAAsB,IAAI;AAC1C,YAAM,SAAU,KAAK,UAAqB;AAC1C,UAAI,WAAW,QAAQ;AACrB,uBAAe,QAAQ,UAAU,MAAM;AACvC;AAAA,MACF;AAEA,mBAAa,EAAE,IAAI,MAAM,MAAM,SAAS,QAAQ,4BAA4B,eAAe,aAAa,CAAC;AAAA,IAC3G,SAAS,KAAK;AACZ,yBAAmB,GAAG;AAAA,IACxB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,98 @@
1
+ import {
2
+ failSite
3
+ } from "./chunk-XPLTWUMN.js";
4
+ import "./chunk-D46NOXRY.js";
5
+ import "./chunk-GXDLWBOY.js";
6
+ import "./chunk-GIWHHCD6.js";
7
+ import "./chunk-UI6BKYQD.js";
8
+ import "./chunk-I2DNBEV6.js";
9
+ import {
10
+ apiGet,
11
+ apiPost
12
+ } from "./chunk-CUL3VB4L.js";
13
+ import "./chunk-6YYSUISH.js";
14
+ import {
15
+ optionalChatId,
16
+ requireChatId
17
+ } from "./chunk-I4FTS5EE.js";
18
+ import {
19
+ registerSchema,
20
+ writeJson
21
+ } from "./chunk-MYTDK3AL.js";
22
+ import "./chunk-YQSBHWOI.js";
23
+
24
+ // src/commands/site/domain.ts
25
+ import { defineCommand } from "citty";
26
+ registerSchema({
27
+ command: "site.domain.add",
28
+ description: "Stage connecting a custom domain (a subdomain such as shop.acme.com \u2014 not the bare acme.com) to the company's landings. Applies when the chat is published; then Baker starts verifying it. The client must add a CNAME record pointing the hostname at customers.withbaker.com \u2014 the response's hints give the exact record to ask for. Refused at once when another company already registered it or the company is at its domain limit.",
29
+ args: { hostname: { type: "string", description: "The subdomain to connect, e.g. shop.acme.com", required: true } }
30
+ });
31
+ registerSchema({
32
+ command: "site.domain.list",
33
+ description: "Every custom domain of the company and its status: pending_verification (waiting for the DNS record \u2014 `message` says what is missing), active (live), error, or staged (this chat adds it at publish). Read-only.",
34
+ args: {}
35
+ });
36
+ registerSchema({
37
+ command: "site.domain.verify",
38
+ description: "Re-check a domain that is waiting for verification now instead of waiting for the background check (every few minutes). Use after the client says they added the DNS record. Returns its state and, if it is not live yet, what is still missing. A staged domain cannot be checked until the chat is published.",
39
+ args: { hostname: { type: "string", description: "A domain from `baker site domain list`", required: true } }
40
+ });
41
+ var addCommand = defineCommand({
42
+ meta: {
43
+ name: "add",
44
+ description: "Stage connecting a custom domain; applies at publish. The client adds a CNAME to customers.withbaker.com.\n\nExample: baker site domain add shop.acme.com"
45
+ },
46
+ args: { hostname: { type: "positional", description: "Subdomain, e.g. shop.acme.com", required: true } },
47
+ run: async ({ args }) => {
48
+ try {
49
+ const body = {
50
+ chatId: requireChatId(),
51
+ inputs: [{ setting: "customDomain", hostname: String(args.hostname) }]
52
+ };
53
+ writeJson(await apiPost("/api/site/stage", body));
54
+ } catch (err) {
55
+ failSite(err);
56
+ }
57
+ }
58
+ });
59
+ var listCommand = defineCommand({
60
+ meta: {
61
+ name: "list",
62
+ description: "List the company's custom domains and what each is waiting for.\n\nExample: baker site domain list"
63
+ },
64
+ run: async () => {
65
+ try {
66
+ const chatId = optionalChatId();
67
+ writeJson(await apiGet("/api/site/domains", chatId ? { chatId } : void 0));
68
+ } catch (err) {
69
+ failSite(err);
70
+ }
71
+ }
72
+ });
73
+ var verifyCommand = defineCommand({
74
+ meta: {
75
+ name: "verify",
76
+ description: "Re-check a pending domain now, e.g. right after the client added the DNS record.\n\nExample: baker site domain verify shop.acme.com"
77
+ },
78
+ args: { hostname: { type: "positional", description: "A domain from `baker site domain list`", required: true } },
79
+ run: async ({ args }) => {
80
+ try {
81
+ const body = { hostname: String(args.hostname) };
82
+ writeJson(await apiPost("/api/site/domains/verify", body));
83
+ } catch (err) {
84
+ failSite(err);
85
+ }
86
+ }
87
+ });
88
+ var domainCommand = defineCommand({
89
+ meta: {
90
+ name: "domain",
91
+ description: "Custom domains for the company's landings. Subcommands: add (staged until publish), list, verify.\n\nExamples:\n baker site domain add shop.acme.com\n baker site domain list\n baker site domain verify shop.acme.com"
92
+ },
93
+ subCommands: { add: addCommand, list: listCommand, verify: verifyCommand }
94
+ });
95
+ export {
96
+ domainCommand
97
+ };
98
+ //# sourceMappingURL=domain-65J2DEDB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/site/domain.ts"],"sourcesContent":["import type {\n SiteDomainsResponse,\n SiteDomainVerifyRequest,\n SiteDomainVerifyResponse,\n SiteStageRequest,\n SiteStageResponse,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiGet, apiPost } from \"../../client.ts\";\nimport { optionalChatId, requireChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failSite } from \"./shared.ts\";\n\nregisterSchema({\n command: \"site.domain.add\",\n description:\n \"Stage connecting a custom domain (a subdomain such as shop.acme.com — not the bare acme.com) to the company's landings. Applies when the chat is published; then Baker starts verifying it. The client must add a CNAME record pointing the hostname at customers.withbaker.com — the response's hints give the exact record to ask for. Refused at once when another company already registered it or the company is at its domain limit.\",\n args: { hostname: { type: \"string\", description: \"The subdomain to connect, e.g. shop.acme.com\", required: true } },\n});\n\nregisterSchema({\n command: \"site.domain.list\",\n description:\n \"Every custom domain of the company and its status: pending_verification (waiting for the DNS record — `message` says what is missing), active (live), error, or staged (this chat adds it at publish). Read-only.\",\n args: {},\n});\n\nregisterSchema({\n command: \"site.domain.verify\",\n description:\n \"Re-check a domain that is waiting for verification now instead of waiting for the background check (every few minutes). Use after the client says they added the DNS record. Returns its state and, if it is not live yet, what is still missing. A staged domain cannot be checked until the chat is published.\",\n args: { hostname: { type: \"string\", description: \"A domain from `baker site domain list`\", required: true } },\n});\n\nconst addCommand = defineCommand({\n meta: {\n name: \"add\",\n description:\n \"Stage connecting a custom domain; applies at publish. The client adds a CNAME to customers.withbaker.com.\\n\\nExample: baker site domain add shop.acme.com\",\n },\n args: { hostname: { type: \"positional\", description: \"Subdomain, e.g. shop.acme.com\", required: true } },\n run: async ({ args }) => {\n try {\n const body: SiteStageRequest = {\n chatId: requireChatId(),\n inputs: [{ setting: \"customDomain\", hostname: String(args.hostname) }],\n };\n writeJson(await apiPost<SiteStageResponse>(\"/api/site/stage\", body));\n } catch (err) {\n failSite(err);\n }\n },\n});\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List the company's custom domains and what each is waiting for.\\n\\nExample: baker site domain list\",\n },\n run: async () => {\n try {\n const chatId = optionalChatId();\n writeJson(await apiGet<SiteDomainsResponse>(\"/api/site/domains\", chatId ? { chatId } : undefined));\n } catch (err) {\n failSite(err);\n }\n },\n});\n\nconst verifyCommand = defineCommand({\n meta: {\n name: \"verify\",\n description:\n \"Re-check a pending domain now, e.g. right after the client added the DNS record.\\n\\nExample: baker site domain verify shop.acme.com\",\n },\n args: { hostname: { type: \"positional\", description: \"A domain from `baker site domain list`\", required: true } },\n run: async ({ args }) => {\n try {\n const body: SiteDomainVerifyRequest = { hostname: String(args.hostname) };\n writeJson(await apiPost<SiteDomainVerifyResponse>(\"/api/site/domains/verify\", body));\n } catch (err) {\n failSite(err);\n }\n },\n});\n\nexport const domainCommand = defineCommand({\n meta: {\n name: \"domain\",\n description:\n \"Custom domains for the company's landings. Subcommands: add (staged until publish), list, verify.\\n\\nExamples:\\n baker site domain add shop.acme.com\\n baker site domain list\\n baker site domain verify shop.acme.com\",\n },\n subCommands: { add: addCommand, list: listCommand, verify: verifyCommand },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOA,SAAS,qBAAqB;AAO9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,aAAa,gDAAgD,UAAU,KAAK,EAAE;AACpH,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,CAAC;AACT,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,aAAa,0CAA0C,UAAU,KAAK,EAAE;AAC9G,CAAC;AAED,IAAM,aAAa,cAAc;AAAA,EAC/B,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,aAAa,iCAAiC,UAAU,KAAK,EAAE;AAAA,EACvG,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,OAAyB;AAAA,QAC7B,QAAQ,cAAc;AAAA,QACtB,QAAQ,CAAC,EAAE,SAAS,gBAAgB,UAAU,OAAO,KAAK,QAAQ,EAAE,CAAC;AAAA,MACvE;AACA,gBAAU,MAAM,QAA2B,mBAAmB,IAAI,CAAC;AAAA,IACrE,SAAS,KAAK;AACZ,eAAS,GAAG;AAAA,IACd;AAAA,EACF;AACF,CAAC;AAED,IAAM,cAAc,cAAc;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,KAAK,YAAY;AACf,QAAI;AACF,YAAM,SAAS,eAAe;AAC9B,gBAAU,MAAM,OAA4B,qBAAqB,SAAS,EAAE,OAAO,IAAI,MAAS,CAAC;AAAA,IACnG,SAAS,KAAK;AACZ,eAAS,GAAG;AAAA,IACd;AAAA,EACF;AACF,CAAC;AAED,IAAM,gBAAgB,cAAc;AAAA,EAClC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,aAAa,0CAA0C,UAAU,KAAK,EAAE;AAAA,EAChH,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,OAAgC,EAAE,UAAU,OAAO,KAAK,QAAQ,EAAE;AACxE,gBAAU,MAAM,QAAkC,4BAA4B,IAAI,CAAC;AAAA,IACrF,SAAS,KAAK;AACZ,eAAS,GAAG;AAAA,IACd;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,aAAa,EAAE,KAAK,YAAY,MAAM,aAAa,QAAQ,cAAc;AAC3E,CAAC;","names":[]}