@koda-sl/baker-cli 0.386.0 → 0.387.0-dev.3bafd569e

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 (967) hide show
  1. package/README.md +1090 -211
  2. package/canvas/tiktok-captions-composition/index.html +5 -6
  3. package/canvas/tiktok-captions-composition/meta.json +5 -0
  4. package/dist/account-CLOKMTTC.js +49 -0
  5. package/dist/account-CLOKMTTC.js.map +1 -0
  6. package/dist/account-V5Y2QHAK.js +79 -0
  7. package/dist/account-V5Y2QHAK.js.map +1 -0
  8. package/dist/account-XFK6VX2R.js +80 -0
  9. package/dist/account-XFK6VX2R.js.map +1 -0
  10. package/dist/account-reads-S5VXX2QU.js +218 -0
  11. package/dist/account-reads-S5VXX2QU.js.map +1 -0
  12. package/dist/account-writes-Y7EQXDXF.js +66 -0
  13. package/dist/account-writes-Y7EQXDXF.js.map +1 -0
  14. package/dist/accounts-7YD457YN.js +114 -0
  15. package/dist/accounts-7YD457YN.js.map +1 -0
  16. package/dist/accounts-BJ3X5JQT.js +115 -0
  17. package/dist/accounts-BJ3X5JQT.js.map +1 -0
  18. package/dist/accounts-LOJ4WLIX.js +77 -0
  19. package/dist/accounts-LOJ4WLIX.js.map +1 -0
  20. package/dist/accounts-RYBDLQ6H.js +75 -0
  21. package/dist/accounts-RYBDLQ6H.js.map +1 -0
  22. package/dist/accounts-UO4XBWM2.js +611 -0
  23. package/dist/accounts-UO4XBWM2.js.map +1 -0
  24. package/dist/actions-3AW3R63U.js +55 -0
  25. package/dist/actions-3AW3R63U.js.map +1 -0
  26. package/dist/active-entities-R6GZIO6Z.js +103 -0
  27. package/dist/active-entities-R6GZIO6Z.js.map +1 -0
  28. package/dist/activities-ESBF3GFS.js +74 -0
  29. package/dist/activities-ESBF3GFS.js.map +1 -0
  30. package/dist/ad-group-writes-I225OYDZ.js +170 -0
  31. package/dist/ad-group-writes-I225OYDZ.js.map +1 -0
  32. package/dist/ad-groups-O35MWNF6.js +68 -0
  33. package/dist/ad-groups-O35MWNF6.js.map +1 -0
  34. package/dist/ad-writes-SS5YZO5W.js +174 -0
  35. package/dist/ad-writes-SS5YZO5W.js.map +1 -0
  36. package/dist/add-43DUOVNR.js +104 -0
  37. package/dist/add-43DUOVNR.js.map +1 -0
  38. package/dist/add-IE5WDELB.js +302 -0
  39. package/dist/add-IE5WDELB.js.map +1 -0
  40. package/dist/add-QZHAWUBA.js +97 -0
  41. package/dist/add-QZHAWUBA.js.map +1 -0
  42. package/dist/add-TGQIVVXH.js +105 -0
  43. package/dist/add-TGQIVVXH.js.map +1 -0
  44. package/dist/add-accounts-6QYPOPR2.js +91 -0
  45. package/dist/add-accounts-6QYPOPR2.js.map +1 -0
  46. package/dist/ads-AUSRB4GU.js +128 -0
  47. package/dist/ads-AUSRB4GU.js.map +1 -0
  48. package/dist/ads-COYOTEKE.js +77 -0
  49. package/dist/ads-COYOTEKE.js.map +1 -0
  50. package/dist/ads-DZ4N5INZ.js +40 -0
  51. package/dist/ads-DZ4N5INZ.js.map +1 -0
  52. package/dist/ads-XZCMSPM5.js +113 -0
  53. package/dist/ads-XZCMSPM5.js.map +1 -0
  54. package/dist/adsets-AKR75THA.js +176 -0
  55. package/dist/adsets-AKR75THA.js.map +1 -0
  56. package/dist/advertisers-52FMMBTQ.js +120 -0
  57. package/dist/advertisers-52FMMBTQ.js.map +1 -0
  58. package/dist/advertisers-BCGKUMEH.js +125 -0
  59. package/dist/advertisers-BCGKUMEH.js.map +1 -0
  60. package/dist/analytics-JPDBKETM.js +1980 -0
  61. package/dist/analytics-JPDBKETM.js.map +1 -0
  62. package/dist/analytics-YVQ6H4BG.js +433 -0
  63. package/dist/analytics-YVQ6H4BG.js.map +1 -0
  64. package/dist/animate-JXIT77Y5.js +480 -0
  65. package/dist/animate-JXIT77Y5.js.map +1 -0
  66. package/dist/assign-66NTWTR2.js +77 -0
  67. package/dist/assign-66NTWTR2.js.map +1 -0
  68. package/dist/audience-size-LVQJWQAS.js +94 -0
  69. package/dist/audience-size-LVQJWQAS.js.map +1 -0
  70. package/dist/audiences-DC3IOG34.js +85 -0
  71. package/dist/audiences-DC3IOG34.js.map +1 -0
  72. package/dist/audiences-NEW3LLQR.js +268 -0
  73. package/dist/audiences-NEW3LLQR.js.map +1 -0
  74. package/dist/audiences-NYGMBGQ3.js +79 -0
  75. package/dist/audiences-NYGMBGQ3.js.map +1 -0
  76. package/dist/audit-UIPMTI5C.js +88 -0
  77. package/dist/audit-UIPMTI5C.js.map +1 -0
  78. package/dist/audit-XGN2OFLN.js +151 -0
  79. package/dist/audit-XGN2OFLN.js.map +1 -0
  80. package/dist/autocomplete-LVPDV3JE.js +111 -0
  81. package/dist/autocomplete-LVPDV3JE.js.map +1 -0
  82. package/dist/avatars-S6NSLMJK.js +38 -0
  83. package/dist/avatars-S6NSLMJK.js.map +1 -0
  84. package/dist/bid-pricing-2LYULXU2.js +99 -0
  85. package/dist/bid-pricing-2LYULXU2.js.map +1 -0
  86. package/dist/brand-WWHUZ72R.js +22 -0
  87. package/dist/brand-WWHUZ72R.js.map +1 -0
  88. package/dist/brief-K3FILESK.js +492 -0
  89. package/dist/brief-K3FILESK.js.map +1 -0
  90. package/dist/businesses-J7OP7MSK.js +53 -0
  91. package/dist/businesses-J7OP7MSK.js.map +1 -0
  92. package/dist/campaign-groups-N4TZ2F3L.js +95 -0
  93. package/dist/campaign-groups-N4TZ2F3L.js.map +1 -0
  94. package/dist/campaign-writes-5XA727KI.js +170 -0
  95. package/dist/campaign-writes-5XA727KI.js.map +1 -0
  96. package/dist/campaign-writes-7YFRQIQT.js +165 -0
  97. package/dist/campaign-writes-7YFRQIQT.js.map +1 -0
  98. package/dist/campaigns-JPYNVFQI.js +76 -0
  99. package/dist/campaigns-JPYNVFQI.js.map +1 -0
  100. package/dist/campaigns-L43ZUKAI.js +107 -0
  101. package/dist/campaigns-L43ZUKAI.js.map +1 -0
  102. package/dist/campaigns-OD7Z332M.js +109 -0
  103. package/dist/campaigns-OD7Z332M.js.map +1 -0
  104. package/dist/campaigns-R4DXIR2Q.js +110 -0
  105. package/dist/campaigns-R4DXIR2Q.js.map +1 -0
  106. package/dist/canvas-57K7AGAP.js +46 -0
  107. package/dist/canvas-57K7AGAP.js.map +1 -0
  108. package/dist/capabilities-FVTZAFPV.js +144 -0
  109. package/dist/capabilities-FVTZAFPV.js.map +1 -0
  110. package/dist/cards-7H32TNMO.js +85 -0
  111. package/dist/cards-7H32TNMO.js.map +1 -0
  112. package/dist/catalog-OTICZPJA.js +64 -0
  113. package/dist/catalog-OTICZPJA.js.map +1 -0
  114. package/dist/catalogs-ABCQLCDU.js +128 -0
  115. package/dist/catalogs-ABCQLCDU.js.map +1 -0
  116. package/dist/changes-7ZIGNUW6.js +135 -0
  117. package/dist/changes-7ZIGNUW6.js.map +1 -0
  118. package/dist/chatgpt-B3NHRJUE.js +47 -0
  119. package/dist/chatgpt-B3NHRJUE.js.map +1 -0
  120. package/dist/chats-E7DBRHBF.js +262 -0
  121. package/dist/chats-E7DBRHBF.js.map +1 -0
  122. package/dist/chunk-2CV7LX23.js +474 -0
  123. package/dist/chunk-2CV7LX23.js.map +1 -0
  124. package/dist/chunk-2HCI5BXB.js +479 -0
  125. package/dist/chunk-2HCI5BXB.js.map +1 -0
  126. package/dist/chunk-2SQJL7ZN.js +56 -0
  127. package/dist/chunk-2SQJL7ZN.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-32CPGJPL.js +149 -0
  131. package/dist/chunk-32CPGJPL.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-3N4PZIIV.js +304 -0
  135. package/dist/chunk-3N4PZIIV.js.map +1 -0
  136. package/dist/chunk-3U7TDBIB.js +275 -0
  137. package/dist/chunk-3U7TDBIB.js.map +1 -0
  138. package/dist/chunk-3UDSYYND.js +42 -0
  139. package/dist/chunk-3UDSYYND.js.map +1 -0
  140. package/dist/chunk-3ZWWXAQZ.js +150 -0
  141. package/dist/chunk-3ZWWXAQZ.js.map +1 -0
  142. package/dist/chunk-4MH6LONO.js +274 -0
  143. package/dist/chunk-4MH6LONO.js.map +1 -0
  144. package/dist/chunk-4NZ47VXO.js +137 -0
  145. package/dist/chunk-4NZ47VXO.js.map +1 -0
  146. package/dist/chunk-564AEU2Q.js +541 -0
  147. package/dist/chunk-564AEU2Q.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-5MBPIONY.js +29 -0
  151. package/dist/chunk-5MBPIONY.js.map +1 -0
  152. package/dist/chunk-5OVOLYY3.js +74 -0
  153. package/dist/chunk-5OVOLYY3.js.map +1 -0
  154. package/dist/chunk-5SJ3JNNY.js +6683 -0
  155. package/dist/chunk-5SJ3JNNY.js.map +1 -0
  156. package/dist/chunk-66USKCVY.js +4410 -0
  157. package/dist/chunk-66USKCVY.js.map +1 -0
  158. package/dist/chunk-6I7SYEYN.js +166 -0
  159. package/dist/chunk-6I7SYEYN.js.map +1 -0
  160. package/dist/chunk-6O7ISBC7.js +65 -0
  161. package/dist/chunk-6O7ISBC7.js.map +1 -0
  162. package/dist/chunk-752S7JF6.js +35 -0
  163. package/dist/chunk-752S7JF6.js.map +1 -0
  164. package/dist/chunk-77DN7R35.js +228 -0
  165. package/dist/chunk-77DN7R35.js.map +1 -0
  166. package/dist/chunk-7F7MFMLI.js +175 -0
  167. package/dist/chunk-7F7MFMLI.js.map +1 -0
  168. package/dist/chunk-7THBBTJJ.js +183 -0
  169. package/dist/chunk-7THBBTJJ.js.map +1 -0
  170. package/dist/chunk-7XU3HKMX.js +1599 -0
  171. package/dist/chunk-7XU3HKMX.js.map +1 -0
  172. package/dist/chunk-AEA5JV2X.js +92 -0
  173. package/dist/chunk-AEA5JV2X.js.map +1 -0
  174. package/dist/chunk-AFJGYJ7Z.js +45 -0
  175. package/dist/chunk-AFJGYJ7Z.js.map +1 -0
  176. package/dist/chunk-AR7PU7BB.js +76 -0
  177. package/dist/chunk-AR7PU7BB.js.map +1 -0
  178. package/dist/chunk-ASL7JFBD.js +96 -0
  179. package/dist/chunk-ASL7JFBD.js.map +1 -0
  180. package/dist/chunk-AUSKKFVH.js +84 -0
  181. package/dist/chunk-AUSKKFVH.js.map +1 -0
  182. package/dist/chunk-B52DCYL2.js +159 -0
  183. package/dist/chunk-B52DCYL2.js.map +1 -0
  184. package/dist/{chunk-XHC4LMK4.js → chunk-BVM5IRZW.js} +16 -8
  185. package/dist/chunk-BVM5IRZW.js.map +1 -0
  186. package/dist/chunk-CAMX6OHF.js +3182 -0
  187. package/dist/chunk-CAMX6OHF.js.map +1 -0
  188. package/dist/chunk-CYBLKMXQ.js +310 -0
  189. package/dist/chunk-CYBLKMXQ.js.map +1 -0
  190. package/dist/chunk-CZENWCBS.js +333 -0
  191. package/dist/chunk-CZENWCBS.js.map +1 -0
  192. package/dist/chunk-D5FY4FAK.js +24 -0
  193. package/dist/chunk-D5FY4FAK.js.map +1 -0
  194. package/dist/chunk-DGCUPJZD.js +39 -0
  195. package/dist/chunk-DGCUPJZD.js.map +1 -0
  196. package/dist/chunk-DNCLWSHO.js +41 -0
  197. package/dist/chunk-DNCLWSHO.js.map +1 -0
  198. package/dist/chunk-DX4GIDO7.js +296 -0
  199. package/dist/chunk-DX4GIDO7.js.map +1 -0
  200. package/dist/chunk-EDLZGTGN.js +216 -0
  201. package/dist/chunk-EDLZGTGN.js.map +1 -0
  202. package/dist/chunk-EDNX3AOS.js +76 -0
  203. package/dist/chunk-EDNX3AOS.js.map +1 -0
  204. package/dist/chunk-EF5DP6EB.js +52 -0
  205. package/dist/chunk-EF5DP6EB.js.map +1 -0
  206. package/dist/chunk-ERSX3MKH.js +34 -0
  207. package/dist/chunk-ERSX3MKH.js.map +1 -0
  208. package/dist/chunk-F3IJSR7O.js +346 -0
  209. package/dist/chunk-F3IJSR7O.js.map +1 -0
  210. package/dist/chunk-FKOECEVC.js +126 -0
  211. package/dist/chunk-FKOECEVC.js.map +1 -0
  212. package/dist/chunk-FYWWTMXP.js +2902 -0
  213. package/dist/chunk-FYWWTMXP.js.map +1 -0
  214. package/dist/chunk-G7AFVTUS.js +106 -0
  215. package/dist/chunk-G7AFVTUS.js.map +1 -0
  216. package/dist/chunk-GIW7ABMM.js +74 -0
  217. package/dist/chunk-GIW7ABMM.js.map +1 -0
  218. package/dist/chunk-GIWHHCD6.js +145 -0
  219. package/dist/chunk-GIWHHCD6.js.map +1 -0
  220. package/dist/chunk-GPZH5ASB.js +3151 -0
  221. package/dist/chunk-GPZH5ASB.js.map +1 -0
  222. package/dist/chunk-GRQ2AXDX.js +9 -0
  223. package/dist/chunk-GRQ2AXDX.js.map +1 -0
  224. package/dist/chunk-GXDLWBOY.js +73 -0
  225. package/dist/chunk-GXDLWBOY.js.map +1 -0
  226. package/dist/chunk-GYABNLWW.js +629 -0
  227. package/dist/chunk-GYABNLWW.js.map +1 -0
  228. package/dist/chunk-H7MLHG2I.js +94 -0
  229. package/dist/chunk-H7MLHG2I.js.map +1 -0
  230. package/dist/chunk-H7XVKLIY.js +206 -0
  231. package/dist/chunk-H7XVKLIY.js.map +1 -0
  232. package/dist/chunk-HAE4WWFQ.js +455 -0
  233. package/dist/chunk-HAE4WWFQ.js.map +1 -0
  234. package/dist/chunk-HDHWIEJJ.js +136 -0
  235. package/dist/chunk-HDHWIEJJ.js.map +1 -0
  236. package/dist/chunk-HJTIBTF7.js +98 -0
  237. package/dist/chunk-HJTIBTF7.js.map +1 -0
  238. package/dist/{chunk-VZEDAFAR.js → chunk-HLXWKMTK.js} +47 -8
  239. package/dist/chunk-HLXWKMTK.js.map +1 -0
  240. package/dist/{chunk-MF7YA62W.js → chunk-HREWXNTO.js} +10 -5
  241. package/dist/chunk-HREWXNTO.js.map +1 -0
  242. package/dist/chunk-HYXKRNRV.js +176 -0
  243. package/dist/chunk-HYXKRNRV.js.map +1 -0
  244. package/dist/chunk-I3DIZWN5.js +97 -0
  245. package/dist/chunk-I3DIZWN5.js.map +1 -0
  246. package/dist/chunk-IJMWEO4P.js +57 -0
  247. package/dist/chunk-IJMWEO4P.js.map +1 -0
  248. package/dist/chunk-IOCSDFF2.js +23992 -0
  249. package/dist/chunk-IOCSDFF2.js.map +1 -0
  250. package/dist/chunk-IVIJJXXT.js +62 -0
  251. package/dist/chunk-IVIJJXXT.js.map +1 -0
  252. package/dist/chunk-J57GWTPK.js +106 -0
  253. package/dist/chunk-J57GWTPK.js.map +1 -0
  254. package/dist/chunk-JPK34QPS.js +134 -0
  255. package/dist/chunk-JPK34QPS.js.map +1 -0
  256. package/dist/chunk-JRCFCIE3.js +188 -0
  257. package/dist/chunk-JRCFCIE3.js.map +1 -0
  258. package/dist/chunk-JUAIGJ2A.js +76 -0
  259. package/dist/chunk-JUAIGJ2A.js.map +1 -0
  260. package/dist/chunk-K5OQES4V.js +58 -0
  261. package/dist/chunk-K5OQES4V.js.map +1 -0
  262. package/dist/chunk-KBS5GH4T.js +1626 -0
  263. package/dist/chunk-KBS5GH4T.js.map +1 -0
  264. package/dist/chunk-KIGGMKAE.js +66 -0
  265. package/dist/chunk-KIGGMKAE.js.map +1 -0
  266. package/dist/chunk-KKJ4KJCW.js +29 -0
  267. package/dist/chunk-KKJ4KJCW.js.map +1 -0
  268. package/dist/chunk-KLK6KQLQ.js +55 -0
  269. package/dist/chunk-KLK6KQLQ.js.map +1 -0
  270. package/dist/chunk-KUZFWMJN.js +207 -0
  271. package/dist/chunk-KUZFWMJN.js.map +1 -0
  272. package/dist/chunk-KXGG6EQM.js +382 -0
  273. package/dist/chunk-KXGG6EQM.js.map +1 -0
  274. package/dist/chunk-KXRKPZZY.js +169 -0
  275. package/dist/chunk-KXRKPZZY.js.map +1 -0
  276. package/dist/chunk-KZUHRZ2C.js +5187 -0
  277. package/dist/chunk-KZUHRZ2C.js.map +1 -0
  278. package/dist/chunk-L45A3IYV.js +1079 -0
  279. package/dist/chunk-L45A3IYV.js.map +1 -0
  280. package/dist/chunk-LA6PPSNA.js +65 -0
  281. package/dist/chunk-LA6PPSNA.js.map +1 -0
  282. package/dist/chunk-LEIQAHWF.js +25 -0
  283. package/dist/chunk-LEIQAHWF.js.map +1 -0
  284. package/dist/chunk-LERWCRY5.js +297 -0
  285. package/dist/chunk-LERWCRY5.js.map +1 -0
  286. package/dist/chunk-M6UNISGO.js +66 -0
  287. package/dist/chunk-M6UNISGO.js.map +1 -0
  288. package/dist/chunk-MGKHFGLV.js +75 -0
  289. package/dist/chunk-MGKHFGLV.js.map +1 -0
  290. package/dist/chunk-MZWC6HHA.js +455 -0
  291. package/dist/chunk-MZWC6HHA.js.map +1 -0
  292. package/dist/chunk-N3XJ434P.js +197 -0
  293. package/dist/chunk-N3XJ434P.js.map +1 -0
  294. package/dist/chunk-NFSLRRIE.js +77 -0
  295. package/dist/chunk-NFSLRRIE.js.map +1 -0
  296. package/dist/chunk-NHU33T2S.js +60 -0
  297. package/dist/chunk-NHU33T2S.js.map +1 -0
  298. package/dist/chunk-NJEZM4OB.js +51 -0
  299. package/dist/chunk-NJEZM4OB.js.map +1 -0
  300. package/dist/chunk-O6QKCJE4.js +455 -0
  301. package/dist/chunk-O6QKCJE4.js.map +1 -0
  302. package/dist/chunk-OFFAMC5H.js +225 -0
  303. package/dist/chunk-OFFAMC5H.js.map +1 -0
  304. package/dist/chunk-OHGTCFFE.js +57 -0
  305. package/dist/chunk-OHGTCFFE.js.map +1 -0
  306. package/dist/chunk-P4NSJS54.js +20 -0
  307. package/dist/chunk-P4NSJS54.js.map +1 -0
  308. package/dist/chunk-P5T7OZKV.js +26 -0
  309. package/dist/chunk-P5T7OZKV.js.map +1 -0
  310. package/dist/chunk-PFBQERWX.js +10 -0
  311. package/dist/chunk-PFBQERWX.js.map +1 -0
  312. package/dist/chunk-PKTLHYH4.js +509 -0
  313. package/dist/chunk-PKTLHYH4.js.map +1 -0
  314. package/dist/chunk-PUPEGICD.js +103 -0
  315. package/dist/chunk-PUPEGICD.js.map +1 -0
  316. package/dist/chunk-Q6ULQMWG.js +41 -0
  317. package/dist/chunk-Q6ULQMWG.js.map +1 -0
  318. package/dist/chunk-QO23YHLK.js +84 -0
  319. package/dist/chunk-QO23YHLK.js.map +1 -0
  320. package/dist/chunk-QSGIWV4P.js +337 -0
  321. package/dist/chunk-QSGIWV4P.js.map +1 -0
  322. package/dist/chunk-R5OQM7FF.js +179 -0
  323. package/dist/chunk-R5OQM7FF.js.map +1 -0
  324. package/dist/chunk-RFB6RYKA.js +111 -0
  325. package/dist/chunk-RFB6RYKA.js.map +1 -0
  326. package/dist/chunk-RGIXQEGJ.js +502 -0
  327. package/dist/chunk-RGIXQEGJ.js.map +1 -0
  328. package/dist/chunk-RODLBWIR.js +592 -0
  329. package/dist/chunk-RODLBWIR.js.map +1 -0
  330. package/dist/chunk-S4LZ7KTG.js +160 -0
  331. package/dist/chunk-S4LZ7KTG.js.map +1 -0
  332. package/dist/chunk-SHTESUB6.js +1442 -0
  333. package/dist/chunk-SHTESUB6.js.map +1 -0
  334. package/dist/chunk-SJH4EOZH.js +23 -0
  335. package/dist/chunk-SJH4EOZH.js.map +1 -0
  336. package/dist/chunk-SLB46MSS.js +64 -0
  337. package/dist/chunk-SLB46MSS.js.map +1 -0
  338. package/dist/chunk-SMIENBNX.js +6212 -0
  339. package/dist/chunk-SMIENBNX.js.map +1 -0
  340. package/dist/chunk-T7GT22KA.js +494 -0
  341. package/dist/chunk-T7GT22KA.js.map +1 -0
  342. package/dist/chunk-T7M4WFNV.js +172 -0
  343. package/dist/chunk-T7M4WFNV.js.map +1 -0
  344. package/dist/chunk-TLQ23DDW.js +19 -0
  345. package/dist/chunk-TLQ23DDW.js.map +1 -0
  346. package/dist/chunk-TMIDUSOR.js +665 -0
  347. package/dist/chunk-TMIDUSOR.js.map +1 -0
  348. package/dist/{chunk-WLDM2TRF.js → chunk-TPXI2GCW.js} +4 -4
  349. package/dist/chunk-U6VRBDNQ.js +1830 -0
  350. package/dist/chunk-U6VRBDNQ.js.map +1 -0
  351. package/dist/chunk-U7BBXM67.js +1743 -0
  352. package/dist/chunk-U7BBXM67.js.map +1 -0
  353. package/dist/chunk-UI6BKYQD.js +225 -0
  354. package/dist/chunk-UI6BKYQD.js.map +1 -0
  355. package/dist/chunk-UOI5S62H.js +846 -0
  356. package/dist/chunk-UOI5S62H.js.map +1 -0
  357. package/dist/chunk-USL5ARRE.js +26 -0
  358. package/dist/chunk-USL5ARRE.js.map +1 -0
  359. package/dist/chunk-UYC45JNS.js +139 -0
  360. package/dist/chunk-UYC45JNS.js.map +1 -0
  361. package/dist/chunk-VNKVBY54.js +363 -0
  362. package/dist/chunk-VNKVBY54.js.map +1 -0
  363. package/dist/chunk-VS4C7VAR.js +533 -0
  364. package/dist/chunk-VS4C7VAR.js.map +1 -0
  365. package/dist/chunk-W4W4ZRBP.js +191 -0
  366. package/dist/chunk-W4W4ZRBP.js.map +1 -0
  367. package/dist/chunk-WN4KX7GE.js +25 -0
  368. package/dist/chunk-WN4KX7GE.js.map +1 -0
  369. package/dist/chunk-WNFTXSGR.js +111 -0
  370. package/dist/chunk-WNFTXSGR.js.map +1 -0
  371. package/dist/chunk-WOTDHRNF.js +2109 -0
  372. package/dist/chunk-WOTDHRNF.js.map +1 -0
  373. package/dist/chunk-XGWKTYXQ.js +67 -0
  374. package/dist/chunk-XGWKTYXQ.js.map +1 -0
  375. package/dist/chunk-XIGIJJSF.js +66 -0
  376. package/dist/chunk-XIGIJJSF.js.map +1 -0
  377. package/dist/chunk-XNUXB63I.js +817 -0
  378. package/dist/chunk-XNUXB63I.js.map +1 -0
  379. package/dist/chunk-XQ3CCNJD.js +610 -0
  380. package/dist/chunk-XQ3CCNJD.js.map +1 -0
  381. package/dist/chunk-XX6ZMCY5.js +4227 -0
  382. package/dist/chunk-XX6ZMCY5.js.map +1 -0
  383. package/dist/chunk-Y362QH54.js +98 -0
  384. package/dist/chunk-Y362QH54.js.map +1 -0
  385. package/dist/chunk-Y4T6ATDQ.js +74 -0
  386. package/dist/chunk-Y4T6ATDQ.js.map +1 -0
  387. package/dist/chunk-YQSBHWOI.js +41 -0
  388. package/dist/chunk-YU26SDNT.js +46 -0
  389. package/dist/chunk-YU26SDNT.js.map +1 -0
  390. package/dist/chunk-YULENNA7.js +501 -0
  391. package/dist/chunk-YULENNA7.js.map +1 -0
  392. package/dist/chunk-YYSZYSAG.js +150 -0
  393. package/dist/chunk-YYSZYSAG.js.map +1 -0
  394. package/dist/chunk-Z3ENMCFE.js +94 -0
  395. package/dist/chunk-Z3ENMCFE.js.map +1 -0
  396. package/dist/chunk-ZH7ZM3ZM.js +125 -0
  397. package/dist/chunk-ZH7ZM3ZM.js.map +1 -0
  398. package/dist/chunk-ZIXHS6AM.js +42 -0
  399. package/dist/chunk-ZIXHS6AM.js.map +1 -0
  400. package/dist/chunk-ZLLJKSNS.js +96 -0
  401. package/dist/chunk-ZLLJKSNS.js.map +1 -0
  402. package/dist/claim-LF6VQ7OR.js +197 -0
  403. package/dist/claim-LF6VQ7OR.js.map +1 -0
  404. package/dist/cli.js +104 -70026
  405. package/dist/cli.js.map +1 -1
  406. package/dist/client-26SAJ46D.js +19 -0
  407. package/dist/code-MOWYJMDH.js +76 -0
  408. package/dist/code-MOWYJMDH.js.map +1 -0
  409. package/dist/companies-6HSK5BLK.js +195 -0
  410. package/dist/companies-6HSK5BLK.js.map +1 -0
  411. package/dist/complete-2PUAFQEC.js +81 -0
  412. package/dist/complete-2PUAFQEC.js.map +1 -0
  413. package/dist/config-X6GKOVQ6.js +88 -0
  414. package/dist/config-X6GKOVQ6.js.map +1 -0
  415. package/dist/connect-RXPMAJQI.js +42 -0
  416. package/dist/content-UYZC4AKN.js +85 -0
  417. package/dist/content-UYZC4AKN.js.map +1 -0
  418. package/dist/conversation-Y3NB2VDI.js +93 -0
  419. package/dist/conversation-Y3NB2VDI.js.map +1 -0
  420. package/dist/conversion-report-R4GJWWTK.js +125 -0
  421. package/dist/conversion-report-R4GJWWTK.js.map +1 -0
  422. package/dist/conversion-upload-command-YP4DGTPP.js +438 -0
  423. package/dist/conversion-upload-command-YP4DGTPP.js.map +1 -0
  424. package/dist/conversion-writes-WHFFUWWL.js +120 -0
  425. package/dist/conversion-writes-WHFFUWWL.js.map +1 -0
  426. package/dist/conversions-K7C32DPW.js +135 -0
  427. package/dist/conversions-K7C32DPW.js.map +1 -0
  428. package/dist/conversions-OXJAX5GB.js +76 -0
  429. package/dist/conversions-OXJAX5GB.js.map +1 -0
  430. package/dist/countries-PBXNB3BR.js +82 -0
  431. package/dist/countries-PBXNB3BR.js.map +1 -0
  432. package/dist/create-AJ4KPSJ4.js +59 -0
  433. package/dist/create-AJ4KPSJ4.js.map +1 -0
  434. package/dist/create-ALKOAD5J.js +138 -0
  435. package/dist/create-ALKOAD5J.js.map +1 -0
  436. package/dist/create-HTKZMXKB.js +207 -0
  437. package/dist/create-HTKZMXKB.js.map +1 -0
  438. package/dist/create-TZMAOFBR.js +236 -0
  439. package/dist/create-TZMAOFBR.js.map +1 -0
  440. package/dist/creatives-BJYJFVXJ.js +51 -0
  441. package/dist/creatives-BJYJFVXJ.js.map +1 -0
  442. package/dist/creatives-OZHVU4WB.js +182 -0
  443. package/dist/creatives-OZHVU4WB.js.map +1 -0
  444. package/dist/creatives-VMGY5SU4.js +87 -0
  445. package/dist/creatives-VMGY5SU4.js.map +1 -0
  446. package/dist/credentials-FY4UH6TF.js +287 -0
  447. package/dist/credentials-FY4UH6TF.js.map +1 -0
  448. package/dist/critique-B3H7QFM2.js +1449 -0
  449. package/dist/critique-B3H7QFM2.js.map +1 -0
  450. package/dist/critique-YZBOA27H.js +216 -0
  451. package/dist/critique-YZBOA27H.js.map +1 -0
  452. package/dist/crm-2IBLUHDB.js +318 -0
  453. package/dist/crm-2IBLUHDB.js.map +1 -0
  454. package/dist/crm-YMYO4U53.js +224 -0
  455. package/dist/crm-YMYO4U53.js.map +1 -0
  456. package/dist/crop-U3AD4DDR.js +113 -0
  457. package/dist/crop-U3AD4DDR.js.map +1 -0
  458. package/dist/currency-S6KWZSZ6.js +88 -0
  459. package/dist/currency-S6KWZSZ6.js.map +1 -0
  460. package/dist/custom-conversions-FABS6YVT.js +125 -0
  461. package/dist/custom-conversions-FABS6YVT.js.map +1 -0
  462. package/dist/customers-P6LLLJHK.js +56 -0
  463. package/dist/decide-YTHCBKM6.js +199 -0
  464. package/dist/decide-YTHCBKM6.js.map +1 -0
  465. package/dist/delete-B2TDEW7H.js +63 -0
  466. package/dist/delete-B2TDEW7H.js.map +1 -0
  467. package/dist/delete-DZUDLYPC.js +69 -0
  468. package/dist/delete-DZUDLYPC.js.map +1 -0
  469. package/dist/delete-NZGZP4YP.js +71 -0
  470. package/dist/delete-NZGZP4YP.js.map +1 -0
  471. package/dist/delete-SDOZNDWQ.js +54 -0
  472. package/dist/delete-SDOZNDWQ.js.map +1 -0
  473. package/dist/delete-VQMU56OH.js +71 -0
  474. package/dist/delete-VQMU56OH.js.map +1 -0
  475. package/dist/delete-WKQPMVAM.js +66 -0
  476. package/dist/delete-WKQPMVAM.js.map +1 -0
  477. package/dist/demographics-Q3DCXULY.js +138 -0
  478. package/dist/demographics-Q3DCXULY.js.map +1 -0
  479. package/dist/describe-JNTCQZNL.js +97 -0
  480. package/dist/describe-JNTCQZNL.js.map +1 -0
  481. package/dist/describe-MT4334NG.js +97 -0
  482. package/dist/describe-MT4334NG.js.map +1 -0
  483. package/dist/dimensions-FEZUJRAG.js +101 -0
  484. package/dist/dimensions-FEZUJRAG.js.map +1 -0
  485. package/dist/discard-NEZM5CHF.js +66 -0
  486. package/dist/discard-NEZM5CHF.js.map +1 -0
  487. package/dist/discover-4GD7QSF5.js +93 -0
  488. package/dist/discover-4GD7QSF5.js.map +1 -0
  489. package/dist/discover-6K3IOYXR.js +172 -0
  490. package/dist/discover-6K3IOYXR.js.map +1 -0
  491. package/dist/domain-7Y256IDR.js +98 -0
  492. package/dist/domain-7Y256IDR.js.map +1 -0
  493. package/dist/download-L27HWEOE.js +299 -0
  494. package/dist/download-L27HWEOE.js.map +1 -0
  495. package/dist/draft-25G2P2TE.js +281 -0
  496. package/dist/draft-25G2P2TE.js.map +1 -0
  497. package/dist/draft-F6TUGXAY.js +307 -0
  498. package/dist/draft-F6TUGXAY.js.map +1 -0
  499. package/dist/draft-KLULNBWP.js +233 -0
  500. package/dist/draft-KLULNBWP.js.map +1 -0
  501. package/dist/draft-LY5ZPF73.js +217 -0
  502. package/dist/draft-LY5ZPF73.js.map +1 -0
  503. package/dist/draft-M4ZHDQ46.js +306 -0
  504. package/dist/draft-M4ZHDQ46.js.map +1 -0
  505. package/dist/draft-MI7RWY2K.js +100 -0
  506. package/dist/draft-MI7RWY2K.js.map +1 -0
  507. package/dist/draft-P4IVYTY3.js +103 -0
  508. package/dist/draft-P4IVYTY3.js.map +1 -0
  509. package/dist/draft-QQMCVDDS.js +328 -0
  510. package/dist/draft-QQMCVDDS.js.map +1 -0
  511. package/dist/engine/index.d.ts +213 -127
  512. package/dist/engine/index.js +18 -4
  513. package/dist/{env-4P5HOGNA.js → env-FBTHZKGN.js} +12 -2
  514. package/dist/env-FBTHZKGN.js.map +1 -0
  515. package/dist/experiment-HDYTJPUY.js +1397 -0
  516. package/dist/experiment-HDYTJPUY.js.map +1 -0
  517. package/dist/export-TS5GYEMA.js +168 -0
  518. package/dist/export-TS5GYEMA.js.map +1 -0
  519. package/dist/extract-QVQFUOIK.js +113 -0
  520. package/dist/extract-QVQFUOIK.js.map +1 -0
  521. package/dist/facets-7MBSM7BP.js +114 -0
  522. package/dist/facets-7MBSM7BP.js.map +1 -0
  523. package/dist/favorites-7QP7BY5K.js +178 -0
  524. package/dist/favorites-7QP7BY5K.js.map +1 -0
  525. package/dist/feed-EETRO2FG.js +177 -0
  526. package/dist/feed-EETRO2FG.js.map +1 -0
  527. package/dist/feedback-ZOUL22TP.js +66 -0
  528. package/dist/feedback-ZOUL22TP.js.map +1 -0
  529. package/dist/feedback-record-XFFJRKS6.js +177 -0
  530. package/dist/feedback-record-XFFJRKS6.js.map +1 -0
  531. package/dist/fetch-QE3EB756.js +176 -0
  532. package/dist/fetch-QE3EB756.js.map +1 -0
  533. package/dist/fetch-Z7O3ZL4D.js +139 -0
  534. package/dist/fetch-Z7O3ZL4D.js.map +1 -0
  535. package/dist/find-KAQ6JDMO.js +134 -0
  536. package/dist/find-KAQ6JDMO.js.map +1 -0
  537. package/dist/fit-MY5GVZZZ.js +45 -0
  538. package/dist/fit-MY5GVZZZ.js.map +1 -0
  539. package/dist/flows-C67KEMDU.js +247 -0
  540. package/dist/flows-C67KEMDU.js.map +1 -0
  541. package/dist/follow-IX4XVK5Y.js +94 -0
  542. package/dist/follow-IX4XVK5Y.js.map +1 -0
  543. package/dist/follow-competitors-UZBUOYTH.js +112 -0
  544. package/dist/follow-competitors-UZBUOYTH.js.map +1 -0
  545. package/dist/following-VGOIUCIZ.js +113 -0
  546. package/dist/following-VGOIUCIZ.js.map +1 -0
  547. package/dist/fonts-UR7XZ5XZ.js +34 -0
  548. package/dist/fonts-UR7XZ5XZ.js.map +1 -0
  549. package/dist/forecast-3F4SZNAK.js +104 -0
  550. package/dist/forecast-3F4SZNAK.js.map +1 -0
  551. package/dist/forecast-K5E7CTKX.js +168 -0
  552. package/dist/forecast-K5E7CTKX.js.map +1 -0
  553. package/dist/funding-H5YO37OW.js +85 -0
  554. package/dist/funding-H5YO37OW.js.map +1 -0
  555. package/dist/funnel-2PPEPAMY.js +394 -0
  556. package/dist/funnel-2PPEPAMY.js.map +1 -0
  557. package/dist/ga4-YHJ2XMLC.js +55 -0
  558. package/dist/ga4-YHJ2XMLC.js.map +1 -0
  559. package/dist/generate-M2ZX5DMI.js +262 -0
  560. package/dist/generate-M2ZX5DMI.js.map +1 -0
  561. package/dist/get-4EYKCZ6F.js +59 -0
  562. package/dist/get-4EYKCZ6F.js.map +1 -0
  563. package/dist/get-637GALM2.js +63 -0
  564. package/dist/get-637GALM2.js.map +1 -0
  565. package/dist/get-AZARFR6O.js +61 -0
  566. package/dist/get-AZARFR6O.js.map +1 -0
  567. package/dist/get-BPMEHRUG.js +56 -0
  568. package/dist/get-BPMEHRUG.js.map +1 -0
  569. package/dist/get-MQ6MMIZ7.js +78 -0
  570. package/dist/get-MQ6MMIZ7.js.map +1 -0
  571. package/dist/get-N4BPOQCB.js +63 -0
  572. package/dist/get-N4BPOQCB.js.map +1 -0
  573. package/dist/get-RPZHLQ56.js +92 -0
  574. package/dist/get-RPZHLQ56.js.map +1 -0
  575. package/dist/gif-6PRTB2VR.js +94 -0
  576. package/dist/gif-6PRTB2VR.js.map +1 -0
  577. package/dist/google-4XAYE4OI.js +3190 -0
  578. package/dist/google-4XAYE4OI.js.map +1 -0
  579. package/dist/google-52JRH7X3.js +136 -0
  580. package/dist/google-52JRH7X3.js.map +1 -0
  581. package/dist/google-ads-PWX7OF5Z.js +195 -0
  582. package/dist/google-ads-PWX7OF5Z.js.map +1 -0
  583. package/dist/group-AAZ5QKC3.js +43 -0
  584. package/dist/group-AAZ5QKC3.js.map +1 -0
  585. package/dist/group-GSYCZORC.js +43 -0
  586. package/dist/group-GSYCZORC.js.map +1 -0
  587. package/dist/gsc-TS5T7ML2.js +30 -0
  588. package/dist/gsc-TS5T7ML2.js.map +1 -0
  589. package/dist/history-EW6LFFCX.js +67 -0
  590. package/dist/history-EW6LFFCX.js.map +1 -0
  591. package/dist/history-XI5ABCFO.js +133 -0
  592. package/dist/history-XI5ABCFO.js.map +1 -0
  593. package/dist/hubspot-AVUOILRE.js +779 -0
  594. package/dist/hubspot-AVUOILRE.js.map +1 -0
  595. package/dist/icon-K75KI6BV.js +137 -0
  596. package/dist/icon-K75KI6BV.js.map +1 -0
  597. package/dist/ideas-UCPV3KTM.js +35 -0
  598. package/dist/ideas-UCPV3KTM.js.map +1 -0
  599. package/dist/images-CD53I2W5.js +90 -0
  600. package/dist/images-CD53I2W5.js.map +1 -0
  601. package/dist/improve-L3BW4EQG.js +86 -0
  602. package/dist/improve-L3BW4EQG.js.map +1 -0
  603. package/dist/ingest-KRJOYTCQ.js +107 -0
  604. package/dist/ingest-KRJOYTCQ.js.map +1 -0
  605. package/dist/ingest-WE3SPPND.js +23 -0
  606. package/dist/ingest-WE3SPPND.js.map +1 -0
  607. package/dist/insights-PELVD4RY.js +122 -0
  608. package/dist/insights-PELVD4RY.js.map +1 -0
  609. package/dist/insights-XCA4BUJW.js +423 -0
  610. package/dist/insights-XCA4BUJW.js.map +1 -0
  611. package/dist/inspect-QKETG5UJ.js +189 -0
  612. package/dist/inspect-QKETG5UJ.js.map +1 -0
  613. package/dist/inspiration-Y2J2PUPC.js +53 -0
  614. package/dist/inspiration-Y2J2PUPC.js.map +1 -0
  615. package/dist/intent-YJOJGNVJ.js +95 -0
  616. package/dist/intent-YJOJGNVJ.js.map +1 -0
  617. package/dist/job-E2U4FS5P.js +202 -0
  618. package/dist/job-E2U4FS5P.js.map +1 -0
  619. package/dist/job-create-DFYCHVQ7.js +109 -0
  620. package/dist/job-create-DFYCHVQ7.js.map +1 -0
  621. package/dist/job-status-FFPMTSHB.js +74 -0
  622. package/dist/job-status-FFPMTSHB.js.map +1 -0
  623. package/dist/keep-GYZS2UTL.js +78 -0
  624. package/dist/keep-GYZS2UTL.js.map +1 -0
  625. package/dist/keyword-gap-QU7O7UKC.js +130 -0
  626. package/dist/keyword-gap-QU7O7UKC.js.map +1 -0
  627. package/dist/keyword-metrics-HLCM3QU7.js +197 -0
  628. package/dist/keyword-metrics-HLCM3QU7.js.map +1 -0
  629. package/dist/keywords-for-site-BDKPQKWB.js +128 -0
  630. package/dist/keywords-for-site-BDKPQKWB.js.map +1 -0
  631. package/dist/landing-4K6XYNFM.js +28 -0
  632. package/dist/landing-4K6XYNFM.js.map +1 -0
  633. package/dist/landings-F7LOAEJE.js +151 -0
  634. package/dist/landings-F7LOAEJE.js.map +1 -0
  635. package/dist/languages-P3ZM6R2A.js +40 -0
  636. package/dist/languages-P3ZM6R2A.js.map +1 -0
  637. package/dist/languages-XEJKTIFP.js +55 -0
  638. package/dist/languages-XEJKTIFP.js.map +1 -0
  639. package/dist/launches-TCFAYUA5.js +19 -0
  640. package/dist/launches-TCFAYUA5.js.map +1 -0
  641. package/dist/layerize-ZSKFIPZA.js +190 -0
  642. package/dist/layerize-ZSKFIPZA.js.map +1 -0
  643. package/dist/leads-GDF4S2AM.js +90 -0
  644. package/dist/leads-GDF4S2AM.js.map +1 -0
  645. package/dist/leads-TPB5OFSQ.js +293 -0
  646. package/dist/leads-TPB5OFSQ.js.map +1 -0
  647. package/dist/learn-NMFEA5H5.js +203 -0
  648. package/dist/learn-NMFEA5H5.js.map +1 -0
  649. package/dist/library-IP2UKNRU.js +109 -0
  650. package/dist/library-IP2UKNRU.js.map +1 -0
  651. package/dist/lighthouse-57XBJRCO.js +75 -0
  652. package/dist/lighthouse-57XBJRCO.js.map +1 -0
  653. package/dist/line-item-writes-O6SSS5NQ.js +208 -0
  654. package/dist/line-item-writes-O6SSS5NQ.js.map +1 -0
  655. package/dist/line-items-ZZAKH3YZ.js +103 -0
  656. package/dist/line-items-ZZAKH3YZ.js.map +1 -0
  657. package/dist/link-CRY57R3E.js +64 -0
  658. package/dist/link-CRY57R3E.js.map +1 -0
  659. package/dist/linkedin-WC7LGYPP.js +1008 -0
  660. package/dist/linkedin-WC7LGYPP.js.map +1 -0
  661. package/dist/list-6IKPWQGG.js +57 -0
  662. package/dist/list-6IKPWQGG.js.map +1 -0
  663. package/dist/list-CAUH3BMG.js +65 -0
  664. package/dist/list-CAUH3BMG.js.map +1 -0
  665. package/dist/list-CWAKX5TH.js +63 -0
  666. package/dist/list-CWAKX5TH.js.map +1 -0
  667. package/dist/list-FJ5FSVL6.js +151 -0
  668. package/dist/list-FJ5FSVL6.js.map +1 -0
  669. package/dist/list-GTOSN7DP.js +50 -0
  670. package/dist/list-GTOSN7DP.js.map +1 -0
  671. package/dist/list-HLJP4NVE.js +51 -0
  672. package/dist/list-HLJP4NVE.js.map +1 -0
  673. package/dist/list-LCUPF7EF.js +76 -0
  674. package/dist/list-LCUPF7EF.js.map +1 -0
  675. package/dist/list-NH4ZRZTL.js +303 -0
  676. package/dist/list-NH4ZRZTL.js.map +1 -0
  677. package/dist/locations-2BYWKIYA.js +67 -0
  678. package/dist/locations-2BYWKIYA.js.map +1 -0
  679. package/dist/locations-LVVDOSXO.js +40 -0
  680. package/dist/locations-LVVDOSXO.js.map +1 -0
  681. package/dist/log-6JOWOY5G.js +92 -0
  682. package/dist/log-6JOWOY5G.js.map +1 -0
  683. package/dist/logo-AJK2TDQU.js +18 -0
  684. package/dist/logo-AJK2TDQU.js.map +1 -0
  685. package/dist/lookup-H5GEM77H.js +22 -0
  686. package/dist/lookup-H5GEM77H.js.map +1 -0
  687. package/dist/make-Q2AMLCWE.js +640 -0
  688. package/dist/make-Q2AMLCWE.js.map +1 -0
  689. package/dist/map-4KOYFHAN.js +404 -0
  690. package/dist/map-4KOYFHAN.js.map +1 -0
  691. package/dist/mcp-LSS2DHYL.js +463 -0
  692. package/dist/mcp-LSS2DHYL.js.map +1 -0
  693. package/dist/media-JBCN6V4X.js +15 -0
  694. package/dist/media-JBCN6V4X.js.map +1 -0
  695. package/dist/media-RAGEJTZX.js +89 -0
  696. package/dist/media-RAGEJTZX.js.map +1 -0
  697. package/dist/media-sources-GSPAV7HT.js +32 -0
  698. package/dist/media-sources-GSPAV7HT.js.map +1 -0
  699. package/dist/members-GUUVEK2Y.js +44 -0
  700. package/dist/members-GUUVEK2Y.js.map +1 -0
  701. package/dist/meta-Z37ZR3PJ.js +69 -0
  702. package/dist/meta-Z37ZR3PJ.js.map +1 -0
  703. package/dist/metrics-KW6SDULI.js +152 -0
  704. package/dist/metrics-KW6SDULI.js.map +1 -0
  705. package/dist/models-5J4WFUD3.js +155 -0
  706. package/dist/models-5J4WFUD3.js.map +1 -0
  707. package/dist/normalize-DSFVTRXN.js +806 -0
  708. package/dist/normalize-DSFVTRXN.js.map +1 -0
  709. package/dist/normalize-EUDI5HEM.js +141 -0
  710. package/dist/normalize-EUDI5HEM.js.map +1 -0
  711. package/dist/options-P4PPJQH4.js +121 -0
  712. package/dist/options-P4PPJQH4.js.map +1 -0
  713. package/dist/output-DTCLVPUF.js +24 -0
  714. package/dist/output-DTCLVPUF.js.map +1 -0
  715. package/dist/page-N2ZO3O7F.js +105 -0
  716. package/dist/page-N2ZO3O7F.js.map +1 -0
  717. package/dist/pages-FQ4CBAJ2.js +66 -0
  718. package/dist/pages-FQ4CBAJ2.js.map +1 -0
  719. package/dist/performance-A66LYIZX.js +24 -0
  720. package/dist/performance-A66LYIZX.js.map +1 -0
  721. package/dist/pinterest-NV5XTNJE.js +96 -0
  722. package/dist/pinterest-NV5XTNJE.js.map +1 -0
  723. package/dist/pixels-CTJ43FZ4.js +108 -0
  724. package/dist/pixels-CTJ43FZ4.js.map +1 -0
  725. package/dist/pixels-HKINGZCH.js +60 -0
  726. package/dist/pixels-HKINGZCH.js.map +1 -0
  727. package/dist/plan-ZYTWLGWK.js +207 -0
  728. package/dist/plan-ZYTWLGWK.js.map +1 -0
  729. package/dist/preview-5ROBOQG7.js +169 -0
  730. package/dist/preview-5ROBOQG7.js.map +1 -0
  731. package/dist/profile-Q3PHR6FU.js +159 -0
  732. package/dist/profile-Q3PHR6FU.js.map +1 -0
  733. package/dist/promoted-tweet-writes-AEOUK2LK.js +180 -0
  734. package/dist/promoted-tweet-writes-AEOUK2LK.js.map +1 -0
  735. package/dist/promoted-tweets-L2CEC2BJ.js +119 -0
  736. package/dist/promoted-tweets-L2CEC2BJ.js.map +1 -0
  737. package/dist/properties-WLL6M2P6.js +101 -0
  738. package/dist/properties-WLL6M2P6.js.map +1 -0
  739. package/dist/publish-KHNR5ARF.js +322 -0
  740. package/dist/publish-KHNR5ARF.js.map +1 -0
  741. package/dist/query-A34J7BGX.js +61 -0
  742. package/dist/query-A34J7BGX.js.map +1 -0
  743. package/dist/query-IYZN5KHO.js +236 -0
  744. package/dist/query-IYZN5KHO.js.map +1 -0
  745. package/dist/query-UN2P6DBA.js +247 -0
  746. package/dist/query-UN2P6DBA.js.map +1 -0
  747. package/dist/questionnaire-Z2ZIKNBV.js +93 -0
  748. package/dist/questionnaire-Z2ZIKNBV.js.map +1 -0
  749. package/dist/read-GM7PQYJA.js +141 -0
  750. package/dist/read-GM7PQYJA.js.map +1 -0
  751. package/dist/reddit-5NPFULGD.js +26 -0
  752. package/dist/reddit-5NPFULGD.js.map +1 -0
  753. package/dist/refresh-FGXW4Y4X.js +94 -0
  754. package/dist/refresh-FGXW4Y4X.js.map +1 -0
  755. package/dist/release-OKZMC73N.js +60 -0
  756. package/dist/release-OKZMC73N.js.map +1 -0
  757. package/dist/relevant-pages-J76ZKNKF.js +99 -0
  758. package/dist/relevant-pages-J76ZKNKF.js.map +1 -0
  759. package/dist/remove-CA2J6ACH.js +50 -0
  760. package/dist/remove-CA2J6ACH.js.map +1 -0
  761. package/dist/remove-GOYW2G4R.js +48 -0
  762. package/dist/remove-GOYW2G4R.js.map +1 -0
  763. package/dist/reopen-XPKSOE6O.js +63 -0
  764. package/dist/reopen-XPKSOE6O.js.map +1 -0
  765. package/dist/rerun-2ERJV4WC.js +86 -0
  766. package/dist/rerun-2ERJV4WC.js.map +1 -0
  767. package/dist/research-FZ63UZTE.js +62 -0
  768. package/dist/research-FZ63UZTE.js.map +1 -0
  769. package/dist/research-YGQQ6CNG.js +262 -0
  770. package/dist/research-YGQQ6CNG.js.map +1 -0
  771. package/dist/reset-BGPZ4HMA.js +54 -0
  772. package/dist/reset-BGPZ4HMA.js.map +1 -0
  773. package/dist/reset-HTD6LCIT.js +54 -0
  774. package/dist/reset-HTD6LCIT.js.map +1 -0
  775. package/dist/resolve-NRDZ6N2B.js +121 -0
  776. package/dist/resolve-NRDZ6N2B.js.map +1 -0
  777. package/dist/retry-PF4BGKJV.js +60 -0
  778. package/dist/retry-PF4BGKJV.js.map +1 -0
  779. package/dist/retry-XL26JDAV.js +62 -0
  780. package/dist/retry-XL26JDAV.js.map +1 -0
  781. package/dist/retry-failed-BEFWRV4Z.js +45 -0
  782. package/dist/retry-failed-BEFWRV4Z.js.map +1 -0
  783. package/dist/run-EMJLI7LR.js +65 -0
  784. package/dist/run-EMJLI7LR.js.map +1 -0
  785. package/dist/run-L5K44UEA.js +61 -0
  786. package/dist/run-L5K44UEA.js.map +1 -0
  787. package/dist/scaffold-ad-AY2OL7RI.js +1550 -0
  788. package/dist/scaffold-ad-AY2OL7RI.js.map +1 -0
  789. package/dist/scaffold-static-ad-FXYE46MT.js +973 -0
  790. package/dist/scaffold-static-ad-FXYE46MT.js.map +1 -0
  791. package/dist/scaffold-video-533BT6RX.js +874 -0
  792. package/dist/scaffold-video-533BT6RX.js.map +1 -0
  793. package/dist/schedule-KQ7UIR3N.js +66 -0
  794. package/dist/schedule-KQ7UIR3N.js.map +1 -0
  795. package/dist/schedule-PKPNSISL.js +61 -0
  796. package/dist/schedule-PKPNSISL.js.map +1 -0
  797. package/dist/scheduled-agents-LP5LITA3.js +49 -0
  798. package/dist/scheduled-agents-LP5LITA3.js.map +1 -0
  799. package/dist/schema-B6J6VPTO.js +132 -0
  800. package/dist/schema-B6J6VPTO.js.map +1 -0
  801. package/dist/schema-QXTDLZVC.js +63 -0
  802. package/dist/schema-QXTDLZVC.js.map +1 -0
  803. package/dist/scrape-7YKJWFZE.js +2241 -0
  804. package/dist/scrape-7YKJWFZE.js.map +1 -0
  805. package/dist/screenshot-ZHBSG3SI.js +102 -0
  806. package/dist/screenshot-ZHBSG3SI.js.map +1 -0
  807. package/dist/search-332KFYZ6.js +224 -0
  808. package/dist/search-332KFYZ6.js.map +1 -0
  809. package/dist/search-4PBMXXUY.js +91 -0
  810. package/dist/search-4PBMXXUY.js.map +1 -0
  811. package/dist/search-6WNUKCMP.js +174 -0
  812. package/dist/search-6WNUKCMP.js.map +1 -0
  813. package/dist/search-AVNUU6TJ.js +26 -0
  814. package/dist/search-AVNUU6TJ.js.map +1 -0
  815. package/dist/search-F5INRFFK.js +92 -0
  816. package/dist/search-F5INRFFK.js.map +1 -0
  817. package/dist/search-copy-DZVBYG2B.js +168 -0
  818. package/dist/search-copy-DZVBYG2B.js.map +1 -0
  819. package/dist/seeds-5JTQN5WI.js +101 -0
  820. package/dist/seeds-5JTQN5WI.js.map +1 -0
  821. package/dist/select-RSGLDQ5Z.js +96 -0
  822. package/dist/select-RSGLDQ5Z.js.map +1 -0
  823. package/dist/sends-3L6QBS46.js +309 -0
  824. package/dist/sends-3L6QBS46.js.map +1 -0
  825. package/dist/sequences-YKFV7BDH.js +146 -0
  826. package/dist/sequences-YKFV7BDH.js.map +1 -0
  827. package/dist/set-prompt-7WWJI6XW.js +188 -0
  828. package/dist/set-prompt-7WWJI6XW.js.map +1 -0
  829. package/dist/setup-links-6H5ONDCQ.js +141 -0
  830. package/dist/setup-links-6H5ONDCQ.js.map +1 -0
  831. package/dist/{shared-6762QE6R.js → shared-QAMP7FZV.js} +8 -6
  832. package/dist/shared-QAMP7FZV.js.map +1 -0
  833. package/dist/shopify-2OY3J3OY.js +3692 -0
  834. package/dist/shopify-2OY3J3OY.js.map +1 -0
  835. package/dist/site-TBPERLY3.js +177 -0
  836. package/dist/site-TBPERLY3.js.map +1 -0
  837. package/dist/sitemaps-XPGLW24S.js +87 -0
  838. package/dist/sitemaps-XPGLW24S.js.map +1 -0
  839. package/dist/sites-WMBY2HJV.js +101 -0
  840. package/dist/sites-WMBY2HJV.js.map +1 -0
  841. package/dist/skills-3HEILQCU.js +47 -0
  842. package/dist/skills-3HEILQCU.js.map +1 -0
  843. package/dist/sources-JFQKTK2L.js +421 -0
  844. package/dist/sources-JFQKTK2L.js.map +1 -0
  845. package/dist/sources-Q3I6DDV7.js +30 -0
  846. package/dist/sources-Q3I6DDV7.js.map +1 -0
  847. package/dist/stale-CAXBLZKJ.js +66 -0
  848. package/dist/stale-CAXBLZKJ.js.map +1 -0
  849. package/dist/stats-GNILHSKK.js +34 -0
  850. package/dist/stats-GNILHSKK.js.map +1 -0
  851. package/dist/status-LIZWJYS4.js +62 -0
  852. package/dist/status-LIZWJYS4.js.map +1 -0
  853. package/dist/sticker-KCV3VZHY.js +94 -0
  854. package/dist/sticker-KCV3VZHY.js.map +1 -0
  855. package/dist/stock-VTORKR4C.js +179 -0
  856. package/dist/stock-VTORKR4C.js.map +1 -0
  857. package/dist/studio-QCRA6BY5.js +49 -0
  858. package/dist/studio-QCRA6BY5.js.map +1 -0
  859. package/dist/sync-455DB46Y.js +54 -0
  860. package/dist/sync-455DB46Y.js.map +1 -0
  861. package/dist/sync-A4KKQ3B6.js +265 -0
  862. package/dist/sync-A4KKQ3B6.js.map +1 -0
  863. package/dist/sync-ULKWDFXM.js +54 -0
  864. package/dist/sync-ULKWDFXM.js.map +1 -0
  865. package/dist/sync-definition-P6QTHJJ6.js +55 -0
  866. package/dist/sync-definition-P6QTHJJ6.js.map +1 -0
  867. package/dist/tag-manager-E7QTXBWQ.js +43 -0
  868. package/dist/tag-manager-E7QTXBWQ.js.map +1 -0
  869. package/dist/tags-4Q4I5GQJ.js +20 -0
  870. package/dist/tags-4Q4I5GQJ.js.map +1 -0
  871. package/dist/tags-AMEVAQZ4.js +26 -0
  872. package/dist/tags-AMEVAQZ4.js.map +1 -0
  873. package/dist/tags-DPLOLH3E.js +20 -0
  874. package/dist/tags-DPLOLH3E.js.map +1 -0
  875. package/dist/tags-LDHXONR3.js +224 -0
  876. package/dist/tags-LDHXONR3.js.map +1 -0
  877. package/dist/tags-UW3WJTAQ.js +20 -0
  878. package/dist/tags-UW3WJTAQ.js.map +1 -0
  879. package/dist/targeting-constants-D64YO3E7.js +118 -0
  880. package/dist/targeting-constants-D64YO3E7.js.map +1 -0
  881. package/dist/targeting-criteria-BP6VJA7X.js +113 -0
  882. package/dist/targeting-criteria-BP6VJA7X.js.map +1 -0
  883. package/dist/targets-CQWO2UXD.js +102 -0
  884. package/dist/targets-CQWO2UXD.js.map +1 -0
  885. package/dist/templates-WZSTNRNZ.js +178 -0
  886. package/dist/templates-WZSTNRNZ.js.map +1 -0
  887. package/dist/testimonials-ETHSNWUH.js +32 -0
  888. package/dist/testimonials-ETHSNWUH.js.map +1 -0
  889. package/dist/themes-YU663LQH.js +94 -0
  890. package/dist/themes-YU663LQH.js.map +1 -0
  891. package/dist/top-companies-KTXHS472.js +108 -0
  892. package/dist/top-companies-KTXHS472.js.map +1 -0
  893. package/dist/translate-A7LYHUW3.js +600 -0
  894. package/dist/translate-A7LYHUW3.js.map +1 -0
  895. package/dist/triggers-4EDFLNGH.js +141 -0
  896. package/dist/triggers-4EDFLNGH.js.map +1 -0
  897. package/dist/tweets-ZUKQAAUQ.js +123 -0
  898. package/dist/tweets-ZUKQAAUQ.js.map +1 -0
  899. package/dist/unfollow-A4JVCJBF.js +46 -0
  900. package/dist/unfollow-A4JVCJBF.js.map +1 -0
  901. package/dist/unlink-KY2OEKMD.js +67 -0
  902. package/dist/unlink-KY2OEKMD.js.map +1 -0
  903. package/dist/unstage-FHUG67RI.js +84 -0
  904. package/dist/unstage-FHUG67RI.js.map +1 -0
  905. package/dist/unstage-ZRLLCSQF.js +95 -0
  906. package/dist/unstage-ZRLLCSQF.js.map +1 -0
  907. package/dist/update-27LGM65V.js +63 -0
  908. package/dist/update-27LGM65V.js.map +1 -0
  909. package/dist/update-AIY46I2Q.js +155 -0
  910. package/dist/update-AIY46I2Q.js.map +1 -0
  911. package/dist/update-QYD2XZFM.js +142 -0
  912. package/dist/update-QYD2XZFM.js.map +1 -0
  913. package/dist/update-W2OSRNFO.js +98 -0
  914. package/dist/update-W2OSRNFO.js.map +1 -0
  915. package/dist/upload-JGBTSKGH.js +126 -0
  916. package/dist/upload-JGBTSKGH.js.map +1 -0
  917. package/dist/upload-XEHWYMJG.js +150 -0
  918. package/dist/upload-XEHWYMJG.js.map +1 -0
  919. package/dist/upscale-I5P2OHTN.js +109 -0
  920. package/dist/upscale-I5P2OHTN.js.map +1 -0
  921. package/dist/url-options-QHGA42RP.js +130 -0
  922. package/dist/url-options-QHGA42RP.js.map +1 -0
  923. package/dist/url-params-NWSUHWRE.js +98 -0
  924. package/dist/url-params-NWSUHWRE.js.map +1 -0
  925. package/dist/use-U4HG2NF3.js +95 -0
  926. package/dist/use-U4HG2NF3.js.map +1 -0
  927. package/dist/validate-VKL3XKQ2.js +91 -0
  928. package/dist/validate-VKL3XKQ2.js.map +1 -0
  929. package/dist/variant-FOVE6URJ.js +338 -0
  930. package/dist/variant-FOVE6URJ.js.map +1 -0
  931. package/dist/videos-DP3VCSYG.js +39 -0
  932. package/dist/videos-DP3VCSYG.js.map +1 -0
  933. package/dist/view-HRI3FHCH.js +121 -0
  934. package/dist/view-HRI3FHCH.js.map +1 -0
  935. package/dist/viewer-check-JYUE24M6.js +68 -0
  936. package/dist/viewer-check-JYUE24M6.js.map +1 -0
  937. package/dist/web-AFUIWPFU.js +140 -0
  938. package/dist/web-AFUIWPFU.js.map +1 -0
  939. package/dist/winners-SMMDN6LW.js +113 -0
  940. package/dist/winners-SMMDN6LW.js.map +1 -0
  941. package/dist/winning-ads-PCIJUYVA.js +84 -0
  942. package/dist/winning-ads-PCIJUYVA.js.map +1 -0
  943. package/dist/write-commands-7Z34WG2J.js +206 -0
  944. package/dist/write-commands-7Z34WG2J.js.map +1 -0
  945. package/dist/write-commands-BLT2SEC4.js +713 -0
  946. package/dist/write-commands-BLT2SEC4.js.map +1 -0
  947. package/dist/write-commands-N4FSGRVQ.js +743 -0
  948. package/dist/write-commands-N4FSGRVQ.js.map +1 -0
  949. package/dist/write-commands-Q4MQ3BGM.js +1015 -0
  950. package/dist/write-commands-Q4MQ3BGM.js.map +1 -0
  951. package/dist/x-AUOZJNWE.js +47 -0
  952. package/dist/x-AUOZJNWE.js.map +1 -0
  953. package/package.json +9 -2
  954. package/dist/chunk-FGHMWBUD.js +0 -9989
  955. package/dist/chunk-FGHMWBUD.js.map +0 -1
  956. package/dist/chunk-HJEMOSPH.js +0 -1292
  957. package/dist/chunk-HJEMOSPH.js.map +0 -1
  958. package/dist/chunk-MF7YA62W.js.map +0 -1
  959. package/dist/chunk-VZEDAFAR.js.map +0 -1
  960. package/dist/chunk-XHC4LMK4.js.map +0 -1
  961. package/dist/client-GR6YL3YX.js +0 -17
  962. package/dist/output-NMQXZF3Z.js +0 -18
  963. /package/dist/{chunk-WLDM2TRF.js.map → chunk-TPXI2GCW.js.map} +0 -0
  964. /package/dist/{client-GR6YL3YX.js.map → chunk-YQSBHWOI.js.map} +0 -0
  965. /package/dist/{env-4P5HOGNA.js.map → client-26SAJ46D.js.map} +0 -0
  966. /package/dist/{output-NMQXZF3Z.js.map → connect-RXPMAJQI.js.map} +0 -0
  967. /package/dist/{shared-6762QE6R.js.map → customers-P6LLLJHK.js.map} +0 -0
@@ -0,0 +1,102 @@
1
+ import {
2
+ OUTPUT_ARGS,
3
+ writeProviderHits
4
+ } from "./chunk-5OVOLYY3.js";
5
+ import {
6
+ ApiError,
7
+ apiPost
8
+ } from "./chunk-HREWXNTO.js";
9
+ import "./chunk-HLXWKMTK.js";
10
+ import "./chunk-O6QKCJE4.js";
11
+ import {
12
+ registerSchema,
13
+ writeJson
14
+ } from "./chunk-WOTDHRNF.js";
15
+ import "./chunk-YQSBHWOI.js";
16
+
17
+ // src/commands/images/screenshot.ts
18
+ import { defineCommand } from "citty";
19
+ registerSchema({
20
+ command: "images.screenshot",
21
+ description: "Capture a website screenshot via ScreenshotOne. Auto-ingests on success.",
22
+ args: {
23
+ url: { type: "string", description: "URL to capture", required: true },
24
+ "full-page": { type: "boolean", description: "Full-page capture", required: false, default: false },
25
+ viewport: { type: "string", description: "WxH (e.g. 1440x900)", required: false },
26
+ format: { type: "string", description: "webp | png | jpg", required: false, default: "webp" },
27
+ context: {
28
+ type: "string",
29
+ description: "Free-text hint passed to Gemini describe (e.g. 'competitor pricing page screenshot')",
30
+ required: false
31
+ },
32
+ output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
33
+ fields: { type: "string", description: "Comma-separated field names to include", required: false },
34
+ full: { type: "boolean", description: "Include full metadata", required: false, default: false }
35
+ }
36
+ });
37
+ var screenshotCommand = defineCommand({
38
+ meta: {
39
+ name: "screenshot",
40
+ description: "Screenshot a URL via ScreenshotOne. $0.009/capture. Auto-ingests to library.\n\nExample: baker images screenshot https://stripe.com --full-page"
41
+ },
42
+ args: {
43
+ url: { type: "positional", description: "URL to capture", required: false },
44
+ "full-page": { type: "boolean", description: "Full-page capture", required: false },
45
+ viewport: { type: "string", description: "WxH viewport (e.g. 1440x900)", required: false },
46
+ format: { type: "string", description: "webp|png|jpg", required: false },
47
+ context: { type: "string", description: "Description context hint", required: false },
48
+ ...OUTPUT_ARGS
49
+ },
50
+ run: async ({ args }) => {
51
+ try {
52
+ const url = args.url;
53
+ if (!url) {
54
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "URL is required" } });
55
+ process.exit(1);
56
+ }
57
+ const body = { url };
58
+ if (args["full-page"]) body.fullPage = true;
59
+ if (args.format) body.format = args.format;
60
+ const viewport = args.viewport;
61
+ if (viewport) {
62
+ const match = viewport.match(/^(\d+)x(\d+)$/);
63
+ if (!match) {
64
+ writeJson({
65
+ ok: false,
66
+ error: { code: "VALIDATION_ERROR", message: "--viewport must be WxH (e.g. 1440x900)" }
67
+ });
68
+ process.exit(1);
69
+ }
70
+ body.viewportWidth = Number(match[1]);
71
+ body.viewportHeight = Number(match[2]);
72
+ }
73
+ if (args.context) body.descriptionContext = args.context;
74
+ const data = await apiPost("/api/images/screenshot", body);
75
+ writeProviderHits(data, data.hits, args, []);
76
+ } catch (err) {
77
+ if (err instanceof ApiError) {
78
+ const isUrlProblem = err.code === "VALIDATION_ERROR" || err.code === "NOT_FOUND";
79
+ writeJson({
80
+ ok: false,
81
+ error: {
82
+ code: err.code,
83
+ message: err.message,
84
+ ...isUrlProblem ? {
85
+ fix: {
86
+ action: "reject",
87
+ explanation: "Verify the URL is correct and publicly reachable, then retry with a working address. If the page can't be captured, continue without this screenshot rather than stopping the job."
88
+ }
89
+ } : {}
90
+ }
91
+ });
92
+ process.exit(1);
93
+ }
94
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
95
+ process.exit(1);
96
+ }
97
+ }
98
+ });
99
+ export {
100
+ screenshotCommand
101
+ };
102
+ //# sourceMappingURL=screenshot-ZHBSG3SI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/images/screenshot.ts"],"sourcesContent":["import type { ImagesScreenshotRequest, ImagesScreenshotResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { OUTPUT_ARGS, writeProviderHits } from \"./providerHits.ts\";\n\nregisterSchema({\n command: \"images.screenshot\",\n description: \"Capture a website screenshot via ScreenshotOne. Auto-ingests on success.\",\n args: {\n url: { type: \"string\", description: \"URL to capture\", required: true },\n \"full-page\": { type: \"boolean\", description: \"Full-page capture\", required: false, default: false },\n viewport: { type: \"string\", description: \"WxH (e.g. 1440x900)\", required: false },\n format: { type: \"string\", description: \"webp | png | jpg\", required: false, default: \"webp\" },\n context: {\n type: \"string\",\n description: \"Free-text hint passed to Gemini describe (e.g. 'competitor pricing page screenshot')\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include full metadata\", required: false, default: false },\n },\n});\n\nexport const screenshotCommand = defineCommand({\n meta: {\n name: \"screenshot\",\n description:\n \"Screenshot a URL via ScreenshotOne. $0.009/capture. Auto-ingests to library.\\n\\nExample: baker images screenshot https://stripe.com --full-page\",\n },\n args: {\n url: { type: \"positional\", description: \"URL to capture\", required: false },\n \"full-page\": { type: \"boolean\", description: \"Full-page capture\", required: false },\n viewport: { type: \"string\", description: \"WxH viewport (e.g. 1440x900)\", required: false },\n format: { type: \"string\", description: \"webp|png|jpg\", required: false },\n context: { type: \"string\", description: \"Description context hint\", required: false },\n ...OUTPUT_ARGS,\n },\n run: async ({ args }) => {\n try {\n const url = args.url as string | undefined;\n if (!url) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"URL is required\" } });\n process.exit(1);\n }\n const body: ImagesScreenshotRequest = { url };\n if (args[\"full-page\"]) body.fullPage = true;\n if (args.format) body.format = args.format as ImagesScreenshotRequest[\"format\"];\n const viewport = args.viewport as string | undefined;\n if (viewport) {\n const match = viewport.match(/^(\\d+)x(\\d+)$/);\n if (!match) {\n writeJson({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: \"--viewport must be WxH (e.g. 1440x900)\" },\n });\n process.exit(1);\n }\n body.viewportWidth = Number(match[1]);\n body.viewportHeight = Number(match[2]);\n }\n if (args.context) body.descriptionContext = args.context as string;\n\n const data = await apiPost<ImagesScreenshotResponse>(\"/api/images/screenshot\", body);\n writeProviderHits(data, data.hits, args as Record<string, unknown>, []);\n } catch (err) {\n if (err instanceof ApiError) {\n // A bad/unreachable URL comes back as a 4xx (VALIDATION_ERROR / NOT_FOUND).\n // Tell the agent how to recover and to keep going rather than aborting the job.\n const isUrlProblem = err.code === \"VALIDATION_ERROR\" || err.code === \"NOT_FOUND\";\n writeJson({\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n ...(isUrlProblem\n ? {\n fix: {\n action: \"reject\",\n explanation:\n \"Verify the URL is correct and publicly reachable, then retry with a working address. If the page can't be captured, continue without this screenshot rather than stopping the job.\",\n },\n }\n : {}),\n },\n });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,224 @@
1
+ import {
2
+ READABLE_SHOT,
3
+ downloadReadableShot
4
+ } from "./chunk-DNCLWSHO.js";
5
+ import {
6
+ INSPIRATION_HINTS,
7
+ favoritesScopeHints,
8
+ parseNumber,
9
+ reportError,
10
+ splitList
11
+ } from "./chunk-H7MLHG2I.js";
12
+ import {
13
+ apiPost
14
+ } from "./chunk-HREWXNTO.js";
15
+ import "./chunk-HLXWKMTK.js";
16
+ import "./chunk-O6QKCJE4.js";
17
+ import {
18
+ registerSchema,
19
+ writeJson
20
+ } from "./chunk-WOTDHRNF.js";
21
+ import "./chunk-YQSBHWOI.js";
22
+
23
+ // src/commands/landing/inspiration/search.ts
24
+ import path from "path";
25
+ import { defineCommand } from "citty";
26
+ registerSchema({
27
+ command: "landing.inspiration.search",
28
+ description: "Search the shared library of real landing-page sections for reference before you design. Start here: baker landing inspiration search 'pricing with a monthly/annual toggle'. Returns the idea behind each section plus a downloaded screenshot you can Read. Defaults to this company's saved sections; pass --scope all for the whole library.",
29
+ args: {
30
+ query: { type: "string", description: "What you want to see, in plain English", required: false },
31
+ type: {
32
+ type: "string",
33
+ description: "Comma list of section types: hero,pricing,faq,testimonials,\u2026",
34
+ required: false
35
+ },
36
+ composition: {
37
+ type: "string",
38
+ description: "Comma list of composition patterns (references/composition.md)",
39
+ required: false
40
+ },
41
+ register: {
42
+ type: "string",
43
+ description: "Comma list of visual registers: dev-tool-minimal,luxury-high-end,\u2026",
44
+ required: false
45
+ },
46
+ interaction: { type: "string", description: "Comma list of interaction patterns", required: false },
47
+ motion: {
48
+ type: "string",
49
+ description: "Comma list of motion kinds: scroll-reveal,marquee,parallax,\u2026",
50
+ required: false
51
+ },
52
+ media: { type: "string", description: "Comma list of media kinds", required: false },
53
+ device: { type: "string", description: "Comma list of content devices", required: false },
54
+ theme: { type: "string", description: "light | dark | mixed", required: false },
55
+ "max-rank": {
56
+ type: "number",
57
+ description: "Show>Tell rank ceiling 1-7; 3 means 'rank 3 or better'",
58
+ required: false
59
+ },
60
+ "min-craft": { type: "number", description: "Craft floor 0-1", required: false },
61
+ "min-fidelity": {
62
+ type: "number",
63
+ description: "Only sections whose markup reproduces this well (0-1)",
64
+ required: false
65
+ },
66
+ domain: { type: "string", description: "Restrict to one site", required: false },
67
+ "similar-to": {
68
+ type: "string",
69
+ description: "Section id \u2014 find sections that look like this one",
70
+ required: false
71
+ },
72
+ scope: { type: "string", description: "favorites (default) | all", required: false },
73
+ limit: { type: "number", description: "Max results (default 8)", required: false },
74
+ "no-images": { type: "boolean", description: "Skip downloading screenshots", required: false },
75
+ full: {
76
+ type: "boolean",
77
+ description: "Add every classification facet (theme, density, rank, interactions, media, devices, tags, headline)",
78
+ required: false
79
+ }
80
+ }
81
+ });
82
+ function buildSearchBody(args) {
83
+ const body = {};
84
+ const setList = (key, value) => {
85
+ const list = splitList(value);
86
+ if (list) Object.assign(body, { [key]: list });
87
+ };
88
+ if (args.query) body.query = String(args.query);
89
+ if (args["similar-to"]) body.similarToSectionId = String(args["similar-to"]);
90
+ setList("sectionType", args.type);
91
+ setList("composition", args.composition);
92
+ setList("visualRegister", args.register);
93
+ setList("interaction", args.interaction);
94
+ setList("motion", args.motion);
95
+ setList("mediaKind", args.media);
96
+ setList("contentDevice", args.device);
97
+ if (args.theme) body.theme = String(args.theme);
98
+ if (args.domain) body.domain = String(args.domain);
99
+ const maxRank = parseNumber(args["max-rank"]);
100
+ if (maxRank !== void 0) body.maxShowTellRank = maxRank;
101
+ const minCraft = parseNumber(args["min-craft"]);
102
+ if (minCraft !== void 0) body.minCraftScore = minCraft;
103
+ const minFidelity = parseNumber(args["min-fidelity"]);
104
+ if (minFidelity !== void 0) body.minFidelity = minFidelity;
105
+ const limit = parseNumber(args.limit);
106
+ body.limit = limit ?? 8;
107
+ body.scope = args.scope === "all" ? "all" : "favorites";
108
+ return body;
109
+ }
110
+ async function downloadShots(results) {
111
+ const dir = path.join(process.cwd(), ".baker", "inspiration");
112
+ const saved = /* @__PURE__ */ new Map();
113
+ await Promise.all(
114
+ results.map(async (result) => {
115
+ const file = await downloadReadableShot(
116
+ result.desktopShotUrl,
117
+ path.join(dir, `${result.id}.${READABLE_SHOT.extension}`)
118
+ );
119
+ if (file) saved.set(result.id, file);
120
+ })
121
+ );
122
+ return saved;
123
+ }
124
+ var searchCommand = defineCommand({
125
+ meta: {
126
+ name: "search",
127
+ description: "Search real landing-page sections for reference. Example: baker landing inspiration search 'dark developer hero with a terminal' --register dev-tool-minimal --scope all"
128
+ },
129
+ args: {
130
+ query: { type: "positional", description: "What you want to see, in plain English", required: false },
131
+ type: { type: "string", description: "Comma list of section types", required: false },
132
+ composition: { type: "string", description: "Comma list of composition patterns", required: false },
133
+ register: { type: "string", description: "Comma list of visual registers", required: false },
134
+ interaction: { type: "string", description: "Comma list of interaction patterns", required: false },
135
+ motion: { type: "string", description: "Comma list of motion kinds", required: false },
136
+ media: { type: "string", description: "Comma list of media kinds", required: false },
137
+ device: { type: "string", description: "Comma list of content devices", required: false },
138
+ theme: { type: "string", description: "light | dark | mixed", required: false },
139
+ "max-rank": { type: "string", description: "Show>Tell rank ceiling 1-7", required: false },
140
+ "min-craft": { type: "string", description: "Craft floor 0-1", required: false },
141
+ "min-fidelity": { type: "string", description: "Reproduction-fidelity floor 0-1", required: false },
142
+ domain: { type: "string", description: "Restrict to one site", required: false },
143
+ "similar-to": { type: "string", description: "Section id to find lookalikes of", required: false },
144
+ scope: { type: "string", description: "favorites (default) | all", required: false, default: "favorites" },
145
+ limit: { type: "string", description: "Max results (default 8)", required: false },
146
+ "no-images": { type: "boolean", description: "Skip downloading screenshots", required: false, default: false },
147
+ full: { type: "boolean", description: "Include every classification facet", required: false, default: false }
148
+ },
149
+ run: async ({ args }) => {
150
+ try {
151
+ const body = buildSearchBody(args);
152
+ const data = await apiPost("/api/landing-inspiration/search", body);
153
+ const results = Array.isArray(data?.results) ? data.results : [];
154
+ const shots = args["no-images"] ? /* @__PURE__ */ new Map() : await downloadShots(results);
155
+ const full = args.full;
156
+ const rows = results.map((result) => ({
157
+ id: result.id,
158
+ // The id `page` takes. Its own schema says "from a search result's source
159
+ // id", and until this line no projection emitted one — so the ordering
160
+ // view could only be reached straight after `add`, never from a search.
161
+ page_id: result.sourceId,
162
+ section: result.sectionType,
163
+ composition: result.composition,
164
+ look: result.visualRegister,
165
+ motion: result.motionSummary,
166
+ why_it_works: result.whyItWorks,
167
+ craft: Number(result.craftScore?.toFixed?.(2) ?? result.craftScore),
168
+ fidelity: result.fidelity,
169
+ domain: result.domain,
170
+ // Only worth saying when it means something: >1 marks a section the site
171
+ // reuses across its pages, which is a stronger signal than a one-off.
172
+ ...result.pageCount > 1 ? { used_on_pages: result.pageCount } : {},
173
+ // With --no-images there is no file, so hand back the URL instead. A row
174
+ // with neither is a section the agent is asked to judge sight unseen,
175
+ // which is the one thing a visual library must never produce.
176
+ ...args["no-images"] ? { screenshot_url: result.desktopShotUrl ?? null } : { screenshot: shots.get(result.id) ?? null },
177
+ ...full ? {
178
+ theme: result.theme,
179
+ density: result.density,
180
+ show_tell_rank: result.showTellRank,
181
+ interactions: result.interactions,
182
+ media: result.mediaKinds,
183
+ devices: result.contentDevices,
184
+ tags: result.tags,
185
+ headline: result.headline,
186
+ source_url: result.sourceUrl
187
+ } : {}
188
+ }));
189
+ const hints = [INSPIRATION_HINTS.adapt];
190
+ const scopeHints = body.scope === "favorites" ? favoritesScopeHints(data.favoritesHealth, rows.length) : [];
191
+ if (scopeHints.length > 0) {
192
+ hints.push(...scopeHints);
193
+ } else if (rows.length === 0) {
194
+ hints.push(
195
+ body.scope === "favorites" ? "No matches in this company's saved sections. Retry with --scope all to search the whole library, or add a page with `baker landing inspiration add <url>`." : "No matches. Loosen the filters, or add reference pages with `baker landing inspiration add <url>`."
196
+ );
197
+ }
198
+ if (rows.length > 0 && data.moreInFullLibrary > 0) {
199
+ hints.push(`${data.moreInFullLibrary} more match in the full library \u2014 re-run with --scope all.`);
200
+ }
201
+ if (shots.size > 0) hints.push(`Screenshots saved to .baker/inspiration/ \u2014 Read them before deciding.`);
202
+ writeJson({
203
+ ok: true,
204
+ data: {
205
+ results: rows,
206
+ scope: data.scope,
207
+ more_in_full_library: data.moreInFullLibrary,
208
+ total: data.total,
209
+ // Only present when there was something to explain, so a healthy
210
+ // search pays nothing for it.
211
+ ...data.favoritesHealth ? { saved_pages: data.favoritesHealth } : {}
212
+ },
213
+ hints
214
+ });
215
+ } catch (error) {
216
+ reportError(error);
217
+ }
218
+ }
219
+ });
220
+ export {
221
+ buildSearchBody,
222
+ searchCommand
223
+ };
224
+ //# sourceMappingURL=search-332KFYZ6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/landing/inspiration/search.ts"],"sourcesContent":["import path from \"node:path\";\nimport type { InspirationSearchRequest, InspirationSearchResponse } from \"@baker/api/landing-library\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeJson } from \"../../../output.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { favoritesScopeHints, INSPIRATION_HINTS, parseNumber, reportError, splitList } from \"./shared.ts\";\nimport { downloadReadableShot, READABLE_SHOT } from \"./shot.ts\";\n\nregisterSchema({\n command: \"landing.inspiration.search\",\n description:\n \"Search the shared library of real landing-page sections for reference before you design. Start here: baker landing inspiration search 'pricing with a monthly/annual toggle'. Returns the idea behind each section plus a downloaded screenshot you can Read. Defaults to this company's saved sections; pass --scope all for the whole library.\",\n args: {\n query: { type: \"string\", description: \"What you want to see, in plain English\", required: false },\n type: {\n type: \"string\",\n description: \"Comma list of section types: hero,pricing,faq,testimonials,…\",\n required: false,\n },\n composition: {\n type: \"string\",\n description: \"Comma list of composition patterns (references/composition.md)\",\n required: false,\n },\n register: {\n type: \"string\",\n description: \"Comma list of visual registers: dev-tool-minimal,luxury-high-end,…\",\n required: false,\n },\n interaction: { type: \"string\", description: \"Comma list of interaction patterns\", required: false },\n motion: {\n type: \"string\",\n description: \"Comma list of motion kinds: scroll-reveal,marquee,parallax,…\",\n required: false,\n },\n media: { type: \"string\", description: \"Comma list of media kinds\", required: false },\n device: { type: \"string\", description: \"Comma list of content devices\", required: false },\n theme: { type: \"string\", description: \"light | dark | mixed\", required: false },\n \"max-rank\": {\n type: \"number\",\n description: \"Show>Tell rank ceiling 1-7; 3 means 'rank 3 or better'\",\n required: false,\n },\n \"min-craft\": { type: \"number\", description: \"Craft floor 0-1\", required: false },\n \"min-fidelity\": {\n type: \"number\",\n description: \"Only sections whose markup reproduces this well (0-1)\",\n required: false,\n },\n domain: { type: \"string\", description: \"Restrict to one site\", required: false },\n \"similar-to\": {\n type: \"string\",\n description: \"Section id — find sections that look like this one\",\n required: false,\n },\n scope: { type: \"string\", description: \"favorites (default) | all\", required: false },\n limit: { type: \"number\", description: \"Max results (default 8)\", required: false },\n \"no-images\": { type: \"boolean\", description: \"Skip downloading screenshots\", required: false },\n full: {\n type: \"boolean\",\n description:\n \"Add every classification facet (theme, density, rank, interactions, media, devices, tags, headline)\",\n required: false,\n },\n },\n});\n\nexport function buildSearchBody(args: Record<string, unknown>): InspirationSearchRequest {\n const body: InspirationSearchRequest = {};\n const setList = (key: keyof InspirationSearchRequest, value: unknown) => {\n const list = splitList(value as string | undefined);\n if (list) Object.assign(body, { [key]: list });\n };\n\n if (args.query) body.query = String(args.query);\n if (args[\"similar-to\"]) body.similarToSectionId = String(args[\"similar-to\"]);\n setList(\"sectionType\", args.type);\n setList(\"composition\", args.composition);\n setList(\"visualRegister\", args.register);\n setList(\"interaction\", args.interaction);\n setList(\"motion\", args.motion);\n setList(\"mediaKind\", args.media);\n setList(\"contentDevice\", args.device);\n if (args.theme) body.theme = String(args.theme) as InspirationSearchRequest[\"theme\"];\n if (args.domain) body.domain = String(args.domain);\n\n const maxRank = parseNumber(args[\"max-rank\"] as string | undefined);\n if (maxRank !== undefined) body.maxShowTellRank = maxRank;\n const minCraft = parseNumber(args[\"min-craft\"] as string | undefined);\n if (minCraft !== undefined) body.minCraftScore = minCraft;\n const minFidelity = parseNumber(args[\"min-fidelity\"] as string | undefined);\n if (minFidelity !== undefined) body.minFidelity = minFidelity;\n const limit = parseNumber(args.limit as string | undefined);\n body.limit = limit ?? 8;\n body.scope = args.scope === \"all\" ? \"all\" : \"favorites\";\n return body;\n}\n\n/**\n * Put the screenshots on disk.\n *\n * The whole library is a visual one, and an agent that can only read a text\n * description of a section is working from exactly the second-hand doctrine this\n * was built to replace. Downloading each hit so it can be `Read` is the point.\n *\n * At the readable size, not the archive size — see `shot.ts`. This runs at the\n * default limit of eight hits, so the difference is eight 2x PNGs of context\n * against eight design-width renditions.\n */\nasync function downloadShots(results: InspirationSearchResponse[\"results\"]): Promise<Map<string, string>> {\n const dir = path.join(process.cwd(), \".baker\", \"inspiration\");\n const saved = new Map<string, string>();\n await Promise.all(\n results.map(async (result) => {\n const file = await downloadReadableShot(\n result.desktopShotUrl,\n path.join(dir, `${result.id}.${READABLE_SHOT.extension}`),\n );\n if (file) saved.set(result.id, file);\n }),\n );\n return saved;\n}\n\nexport const searchCommand = defineCommand({\n meta: {\n name: \"search\",\n description:\n \"Search real landing-page sections for reference. Example: baker landing inspiration search 'dark developer hero with a terminal' --register dev-tool-minimal --scope all\",\n },\n args: {\n query: { type: \"positional\", description: \"What you want to see, in plain English\", required: false },\n type: { type: \"string\", description: \"Comma list of section types\", required: false },\n composition: { type: \"string\", description: \"Comma list of composition patterns\", required: false },\n register: { type: \"string\", description: \"Comma list of visual registers\", required: false },\n interaction: { type: \"string\", description: \"Comma list of interaction patterns\", required: false },\n motion: { type: \"string\", description: \"Comma list of motion kinds\", required: false },\n media: { type: \"string\", description: \"Comma list of media kinds\", required: false },\n device: { type: \"string\", description: \"Comma list of content devices\", required: false },\n theme: { type: \"string\", description: \"light | dark | mixed\", required: false },\n \"max-rank\": { type: \"string\", description: \"Show>Tell rank ceiling 1-7\", required: false },\n \"min-craft\": { type: \"string\", description: \"Craft floor 0-1\", required: false },\n \"min-fidelity\": { type: \"string\", description: \"Reproduction-fidelity floor 0-1\", required: false },\n domain: { type: \"string\", description: \"Restrict to one site\", required: false },\n \"similar-to\": { type: \"string\", description: \"Section id to find lookalikes of\", required: false },\n scope: { type: \"string\", description: \"favorites (default) | all\", required: false, default: \"favorites\" },\n limit: { type: \"string\", description: \"Max results (default 8)\", required: false },\n \"no-images\": { type: \"boolean\", description: \"Skip downloading screenshots\", required: false, default: false },\n full: { type: \"boolean\", description: \"Include every classification facet\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const body = buildSearchBody(args as Record<string, unknown>);\n const data = await apiPost<InspirationSearchResponse>(\"/api/landing-inspiration/search\", body);\n const results = Array.isArray(data?.results) ? data.results : [];\n const shots = (args[\"no-images\"] as boolean) ? new Map<string, string>() : await downloadShots(results);\n\n const full = args.full as boolean;\n const rows = results.map((result) => ({\n id: result.id,\n // The id `page` takes. Its own schema says \"from a search result's source\n // id\", and until this line no projection emitted one — so the ordering\n // view could only be reached straight after `add`, never from a search.\n page_id: result.sourceId,\n section: result.sectionType,\n composition: result.composition,\n look: result.visualRegister,\n motion: result.motionSummary,\n why_it_works: result.whyItWorks,\n craft: Number(result.craftScore?.toFixed?.(2) ?? result.craftScore),\n fidelity: result.fidelity,\n domain: result.domain,\n // Only worth saying when it means something: >1 marks a section the site\n // reuses across its pages, which is a stronger signal than a one-off.\n ...(result.pageCount > 1 ? { used_on_pages: result.pageCount } : {}),\n // With --no-images there is no file, so hand back the URL instead. A row\n // with neither is a section the agent is asked to judge sight unseen,\n // which is the one thing a visual library must never produce.\n ...((args[\"no-images\"] as boolean)\n ? { screenshot_url: result.desktopShotUrl ?? null }\n : { screenshot: shots.get(result.id) ?? null }),\n ...(full\n ? {\n theme: result.theme,\n density: result.density,\n show_tell_rank: result.showTellRank,\n interactions: result.interactions,\n media: result.mediaKinds,\n devices: result.contentDevices,\n tags: result.tags,\n headline: result.headline,\n source_url: result.sourceUrl,\n }\n : {}),\n }));\n\n const hints = [INSPIRATION_HINTS.adapt];\n // A thin favorites result is explained by the state of the saved set, not\n // by the search — and the three states it can be in call for opposite\n // next moves. The scope is never widened here; it is only made legible.\n const scopeHints = body.scope === \"favorites\" ? favoritesScopeHints(data.favoritesHealth, rows.length) : [];\n if (scopeHints.length > 0) {\n hints.push(...scopeHints);\n } else if (rows.length === 0) {\n hints.push(\n body.scope === \"favorites\"\n ? \"No matches in this company's saved sections. Retry with --scope all to search the whole library, or add a page with `baker landing inspiration add <url>`.\"\n : \"No matches. Loosen the filters, or add reference pages with `baker landing inspiration add <url>`.\",\n );\n }\n if (rows.length > 0 && data.moreInFullLibrary > 0) {\n hints.push(`${data.moreInFullLibrary} more match in the full library — re-run with --scope all.`);\n }\n if (shots.size > 0) hints.push(`Screenshots saved to .baker/inspiration/ — Read them before deciding.`);\n\n writeJson({\n ok: true,\n data: {\n results: rows,\n scope: data.scope,\n more_in_full_library: data.moreInFullLibrary,\n total: data.total,\n // Only present when there was something to explain, so a healthy\n // search pays nothing for it.\n ...(data.favoritesHealth ? { saved_pages: data.favoritesHealth } : {}),\n },\n hints,\n });\n } catch (error) {\n reportError(error);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,91 @@
1
+ import {
2
+ ApiError,
3
+ apiPost
4
+ } from "./chunk-HREWXNTO.js";
5
+ import "./chunk-HLXWKMTK.js";
6
+ import "./chunk-O6QKCJE4.js";
7
+ import {
8
+ registerSchema,
9
+ videoNormalizer,
10
+ writeJson,
11
+ writeOutput
12
+ } from "./chunk-WOTDHRNF.js";
13
+ import "./chunk-YQSBHWOI.js";
14
+
15
+ // src/commands/videos/search.ts
16
+ import { defineCommand } from "citty";
17
+ registerSchema({
18
+ command: "videos.search",
19
+ description: "Search videos by text query. Only returns ready videos.",
20
+ args: {
21
+ query: { type: "string", description: "Search query text", required: true },
22
+ limit: { type: "number", description: "Maximum results to return", required: false, default: 20 },
23
+ tags: { type: "string", description: "Comma-separated tags to filter by", required: false }
24
+ }
25
+ });
26
+ function searchHints(results) {
27
+ const hints = [];
28
+ const parody = results.filter((r) => r.analysis?.tone === "parody").map((r) => r._id);
29
+ if (parody.length > 0) {
30
+ hints.push(
31
+ `tone: parody \u2014 ${parody.join(", ")}. These play the offer for laughs: fine for a social post, wrong as proof or on a landing page.`
32
+ );
33
+ }
34
+ const unchecked = results.filter((r) => r.analysis?.tone === void 0).map((r) => r._id);
35
+ if (unchecked.length > 0) {
36
+ hints.push(
37
+ `No format/tone/productClaims yet \u2014 ${unchecked.join(", ")}. Before putting one on a page, read its transcript, scenes and people (\`baker videos get <id> --full\`) and judge it yourself: is it about the offer, is it sincere, and who is speaking?`
38
+ );
39
+ }
40
+ return hints.length > 0 ? hints : void 0;
41
+ }
42
+ var searchCommand = defineCommand({
43
+ meta: {
44
+ name: "search",
45
+ description: "Semantic search videos by text query. Uses hybrid BM25 + vector + reranking. Example: baker videos search 'product demo' --tags tutorial"
46
+ },
47
+ args: {
48
+ query: { type: "positional", description: "Search query text", required: false },
49
+ limit: { type: "string", description: "Max results (default 20)", required: false },
50
+ tags: { type: "string", description: "Comma-separated tags to filter by", required: false },
51
+ output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
52
+ fields: { type: "string", description: "Comma-separated field names to include", required: false },
53
+ full: { type: "boolean", description: "Include full metadata", required: false, default: false }
54
+ },
55
+ run: async ({ args }) => {
56
+ try {
57
+ const query = args.query;
58
+ if (!query) {
59
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "Search query is required" } });
60
+ process.exit(1);
61
+ }
62
+ const body = { query };
63
+ if (args.limit) {
64
+ body.limit = Number(args.limit);
65
+ }
66
+ if (args.tags) {
67
+ body.tags = args.tags.split(",").filter(Boolean);
68
+ }
69
+ const data = await apiPost("/api/videos/search", body);
70
+ writeOutput(
71
+ { ok: true, data, hints: searchHints(data) },
72
+ args.output || "json",
73
+ args.fields ? args.fields.split(",") : void 0,
74
+ args.full,
75
+ videoNormalizer
76
+ );
77
+ } catch (err) {
78
+ if (err instanceof ApiError) {
79
+ writeJson({ ok: false, error: { code: err.code, message: err.message } });
80
+ process.exit(1);
81
+ }
82
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
83
+ process.exit(1);
84
+ }
85
+ }
86
+ });
87
+ export {
88
+ searchCommand,
89
+ searchHints
90
+ };
91
+ //# sourceMappingURL=search-4PBMXXUY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/videos/search.ts"],"sourcesContent":["import type { VideosSearchRequest, VideosSearchResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { type OutputFormat, videoNormalizer, writeJson, writeOutput } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\n\nregisterSchema({\n command: \"videos.search\",\n description: \"Search videos by text query. Only returns ready videos.\",\n args: {\n query: { type: \"string\", description: \"Search query text\", required: true },\n limit: { type: \"number\", description: \"Maximum results to return\", required: false, default: 20 },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\n },\n});\n\n/**\n * A parody clip reads like any other hit — on-brand, phone-shot, often naming\n * the offer — and was put on a landing's reviews section as if it were one.\n * Named here because the pick is made from this list.\n */\nexport function searchHints(results: VideosSearchResponse): string[] | undefined {\n const hints: string[] = [];\n const parody = results.filter((r) => r.analysis?.tone === \"parody\").map((r) => r._id);\n if (parody.length > 0) {\n hints.push(\n `tone: parody — ${parody.join(\", \")}. These play the offer for laughs: fine for a social post, wrong as proof or on a landing page.`,\n );\n }\n // Catalogued before format/tone/productClaims existed. A missing tone is\n // unknown, not sincere — the same tests apply, read from the clip itself.\n const unchecked = results.filter((r) => r.analysis?.tone === undefined).map((r) => r._id);\n if (unchecked.length > 0) {\n hints.push(\n `No format/tone/productClaims yet — ${unchecked.join(\", \")}. Before putting one on a page, read its transcript, scenes and people (\\`baker videos get <id> --full\\`) and judge it yourself: is it about the offer, is it sincere, and who is speaking?`,\n );\n }\n return hints.length > 0 ? hints : undefined;\n}\n\nexport const searchCommand = defineCommand({\n meta: {\n name: \"search\",\n description:\n \"Semantic search videos by text query. Uses hybrid BM25 + vector + reranking. Example: baker videos search 'product demo' --tags tutorial\",\n },\n args: {\n query: { type: \"positional\", description: \"Search query text\", required: false },\n limit: { type: \"string\", description: \"Max results (default 20)\", required: false },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include full metadata\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const query = args.query as string | undefined;\n if (!query) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Search query is required\" } });\n process.exit(1);\n }\n\n const body: VideosSearchRequest = { query };\n if (args.limit) {\n body.limit = Number(args.limit);\n }\n if (args.tags) {\n body.tags = (args.tags as string).split(\",\").filter(Boolean);\n }\n\n const data = await apiPost<VideosSearchResponse>(\"/api/videos/search\", body);\n writeOutput(\n { ok: true, data, hints: searchHints(data) },\n (args.output as OutputFormat) || \"json\",\n args.fields ? args.fields.split(\",\") : undefined,\n args.full as boolean,\n videoNormalizer,\n );\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAK9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM;AAAA,IACJ,OAAO,EAAE,MAAM,UAAU,aAAa,qBAAqB,UAAU,KAAK;AAAA,IAC1E,OAAO,EAAE,MAAM,UAAU,aAAa,6BAA6B,UAAU,OAAO,SAAS,GAAG;AAAA,IAChG,MAAM,EAAE,MAAM,UAAU,aAAa,qCAAqC,UAAU,MAAM;AAAA,EAC5F;AACF,CAAC;AAOM,SAAS,YAAY,SAAqD;AAC/E,QAAM,QAAkB,CAAC;AACzB,QAAM,SAAS,QAAQ,OAAO,CAAC,MAAM,EAAE,UAAU,SAAS,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG;AACpF,MAAI,OAAO,SAAS,GAAG;AACrB,UAAM;AAAA,MACJ,uBAAkB,OAAO,KAAK,IAAI,CAAC;AAAA,IACrC;AAAA,EACF;AAGA,QAAM,YAAY,QAAQ,OAAO,CAAC,MAAM,EAAE,UAAU,SAAS,MAAS,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG;AACxF,MAAI,UAAU,SAAS,GAAG;AACxB,UAAM;AAAA,MACJ,2CAAsC,UAAU,KAAK,IAAI,CAAC;AAAA,IAC5D;AAAA,EACF;AACA,SAAO,MAAM,SAAS,IAAI,QAAQ;AACpC;AAEO,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,OAAO,EAAE,MAAM,cAAc,aAAa,qBAAqB,UAAU,MAAM;AAAA,IAC/E,OAAO,EAAE,MAAM,UAAU,aAAa,4BAA4B,UAAU,MAAM;AAAA,IAClF,MAAM,EAAE,MAAM,UAAU,aAAa,qCAAqC,UAAU,MAAM;AAAA,IAC1F,QAAQ,EAAE,MAAM,UAAU,aAAa,gCAAgC,UAAU,OAAO,SAAS,OAAO;AAAA,IACxG,QAAQ,EAAE,MAAM,UAAU,aAAa,0CAA0C,UAAU,MAAM;AAAA,IACjG,MAAM,EAAE,MAAM,WAAW,aAAa,yBAAyB,UAAU,OAAO,SAAS,MAAM;AAAA,EACjG;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,QAAQ,KAAK;AACnB,UAAI,CAAC,OAAO;AACV,kBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,SAAS,2BAA2B,EAAE,CAAC;AACjG,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAEA,YAAM,OAA4B,EAAE,MAAM;AAC1C,UAAI,KAAK,OAAO;AACd,aAAK,QAAQ,OAAO,KAAK,KAAK;AAAA,MAChC;AACA,UAAI,KAAK,MAAM;AACb,aAAK,OAAQ,KAAK,KAAgB,MAAM,GAAG,EAAE,OAAO,OAAO;AAAA,MAC7D;AAEA,YAAM,OAAO,MAAM,QAA8B,sBAAsB,IAAI;AAC3E;AAAA,QACE,EAAE,IAAI,MAAM,MAAM,OAAO,YAAY,IAAI,EAAE;AAAA,QAC1C,KAAK,UAA2B;AAAA,QACjC,KAAK,SAAS,KAAK,OAAO,MAAM,GAAG,IAAI;AAAA,QACvC,KAAK;AAAA,QACL;AAAA,MACF;AAAA,IACF,SAAS,KAAK;AACZ,UAAI,eAAe,UAAU;AAC3B,kBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;AACxE,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,gBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,SAAS,mBAAmB,EAAE,CAAC;AACvF,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AACF,CAAC;","names":[]}