@koda-sl/baker-cli 0.449.0 → 0.450.0-dev.b454c3dd2

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 (878) hide show
  1. package/README.md +11 -2
  2. package/dist/account-4H7QVBRK.js +80 -0
  3. package/dist/account-XQXC7BR6.js +80 -0
  4. package/dist/account-XQXC7BR6.js.map +1 -0
  5. package/dist/account-writes-AK42HGRM.js +66 -0
  6. package/dist/accounts-722UY53A.js +78 -0
  7. package/dist/accounts-722UY53A.js.map +1 -0
  8. package/dist/accounts-E67BMK7T.js +612 -0
  9. package/dist/accounts-E67BMK7T.js.map +1 -0
  10. package/dist/actions-6TQMSVWD.js +55 -0
  11. package/dist/ad-group-writes-QQS4223F.js +170 -0
  12. package/dist/ad-groups-WGPDPUI2.js +68 -0
  13. package/dist/ad-writes-XE2IE4DS.js +174 -0
  14. package/dist/add-2BEGRHUX.js +303 -0
  15. package/dist/add-2BEGRHUX.js.map +1 -0
  16. package/dist/add-LEMKEOPO.js +105 -0
  17. package/dist/add-LEMKEOPO.js.map +1 -0
  18. package/dist/ads-AGYCVD62.js +40 -0
  19. package/dist/ads-BCOSQALY.js +77 -0
  20. package/dist/advertisers-2VQKAYKG.js +121 -0
  21. package/dist/advertisers-2VQKAYKG.js.map +1 -0
  22. package/dist/analytics-IFELDWLL.js +1962 -0
  23. package/dist/analytics-IFELDWLL.js.map +1 -0
  24. package/dist/analytics-OH5QEH7F.js +434 -0
  25. package/dist/analytics-OH5QEH7F.js.map +1 -0
  26. package/dist/animate-AIZ3GS4J.js +480 -0
  27. package/dist/assign-PTUJUCEL.js +78 -0
  28. package/dist/assign-PTUJUCEL.js.map +1 -0
  29. package/dist/audience-size-LRI6GJRT.js +95 -0
  30. package/dist/audience-size-LRI6GJRT.js.map +1 -0
  31. package/dist/audiences-TGD5US2M.js +268 -0
  32. package/dist/audit-HWP7OPB7.js +152 -0
  33. package/dist/audit-HWP7OPB7.js.map +1 -0
  34. package/dist/autocomplete-J6DHU6MR.js +112 -0
  35. package/dist/autocomplete-J6DHU6MR.js.map +1 -0
  36. package/dist/avatars-467OSBD6.js +38 -0
  37. package/dist/bid-pricing-EO5WLHGV.js +100 -0
  38. package/dist/bid-pricing-EO5WLHGV.js.map +1 -0
  39. package/dist/brand-YRTEPGBK.js +22 -0
  40. package/dist/brief-OSFJ2V7F.js +478 -0
  41. package/dist/brief-OSFJ2V7F.js.map +1 -0
  42. package/dist/campaign-groups-PQ6KSQJR.js +96 -0
  43. package/dist/campaign-groups-PQ6KSQJR.js.map +1 -0
  44. package/dist/campaign-writes-5OVLUD5E.js +166 -0
  45. package/dist/campaign-writes-5OVLUD5E.js.map +1 -0
  46. package/dist/campaign-writes-SXLZFYF6.js +170 -0
  47. package/dist/campaigns-6T3NSUT2.js +110 -0
  48. package/dist/campaigns-6T3NSUT2.js.map +1 -0
  49. package/dist/campaigns-OYMXDGWX.js +107 -0
  50. package/dist/campaigns-YS3OGQXO.js +76 -0
  51. package/dist/canvas-YQFG52IG.js +46 -0
  52. package/dist/capabilities-PXBKUN2G.js +145 -0
  53. package/dist/capabilities-PXBKUN2G.js.map +1 -0
  54. package/dist/catalog-XLXIM7IW.js +65 -0
  55. package/dist/catalogs-BRXEDE56.js +128 -0
  56. package/dist/chatgpt-7W75X3ER.js +47 -0
  57. package/dist/chats-UK47UE7C.js +263 -0
  58. package/dist/chats-UK47UE7C.js.map +1 -0
  59. package/dist/chunk-24EB7EDR.js +433 -0
  60. package/dist/chunk-2AOE2MZQ.js +159 -0
  61. package/dist/chunk-2VPBIT65.js +509 -0
  62. package/dist/chunk-4PDHHHUJ.js +537 -0
  63. package/dist/chunk-4PDHHHUJ.js.map +1 -0
  64. package/dist/chunk-54C6YDGJ.js +622 -0
  65. package/dist/chunk-5WCSKQ7Z.js +188 -0
  66. package/dist/chunk-5ZNTADVR.js +197 -0
  67. package/dist/chunk-6F7DVPOS.js +310 -0
  68. package/dist/chunk-6NY2GPR4.js +304 -0
  69. package/dist/chunk-6Y7ZBENQ.js +207 -0
  70. package/dist/chunk-7CTMH5AK.js +111 -0
  71. package/dist/chunk-7EPXVICM.js +6184 -0
  72. package/dist/chunk-7EPXVICM.js.map +1 -0
  73. package/dist/chunk-7J6EHOH6.js +274 -0
  74. package/dist/chunk-ASI4P6X2.js +6667 -0
  75. package/dist/chunk-C46GUI2S.js +19 -0
  76. package/dist/chunk-CAMX6OHF.js +3182 -0
  77. package/dist/chunk-CAMX6OHF.js.map +1 -0
  78. package/dist/chunk-CWYAELVG.js +60 -0
  79. package/dist/chunk-DCRPXOJJ.js +363 -0
  80. package/dist/chunk-EAP4O4FE.js +440 -0
  81. package/dist/chunk-FPOGPFAG.js +4383 -0
  82. package/dist/chunk-FTWJFDIN.js +23992 -0
  83. package/dist/chunk-FTWJFDIN.js.map +1 -0
  84. package/dist/chunk-FUHN4MFY.js +103 -0
  85. package/dist/chunk-FYGR3I2A.js +297 -0
  86. package/dist/chunk-H3427GPU.js +206 -0
  87. package/dist/chunk-HDLYPC6K.js +172 -0
  88. package/dist/chunk-HDLYPC6K.js.map +1 -0
  89. package/dist/chunk-HR6IWNKE.js +2942 -0
  90. package/dist/chunk-HR6IWNKE.js.map +1 -0
  91. package/dist/chunk-HROZYQ5H.js +275 -0
  92. package/dist/chunk-HROZYQ5H.js.map +1 -0
  93. package/dist/chunk-HZUDRKGR.js +98 -0
  94. package/dist/chunk-I3ZR655O.js +382 -0
  95. package/dist/chunk-KMKEYI37.js +96 -0
  96. package/dist/chunk-KS2QY6MK.js +139 -0
  97. package/dist/chunk-LYQJ4PZW.js +5189 -0
  98. package/dist/chunk-MACCF4JZ.js +3147 -0
  99. package/dist/chunk-N4LAYIIN.js +175 -0
  100. package/dist/chunk-NA63BH7V.js +346 -0
  101. package/dist/chunk-NCWCZY5P.js +1441 -0
  102. package/dist/chunk-NDEE6G2J.js +494 -0
  103. package/dist/chunk-NJXNU2G6.js +819 -0
  104. package/dist/chunk-NYIGXDUG.js +178 -0
  105. package/dist/chunk-NYIGXDUG.js.map +1 -0
  106. package/dist/chunk-P5T7OZKV.js +26 -0
  107. package/dist/chunk-PZXCWSKV.js +1830 -0
  108. package/dist/chunk-QE7W555R.js +541 -0
  109. package/dist/chunk-QE7W555R.js.map +1 -0
  110. package/dist/chunk-R25YLW6H.js +20 -0
  111. package/dist/chunk-RL5CP7N6.js +57 -0
  112. package/dist/chunk-RX2DKU3W.js +592 -0
  113. package/dist/chunk-SJYEY5MV.js +172 -0
  114. package/dist/chunk-SJYEY5MV.js.map +1 -0
  115. package/dist/chunk-ULG4QRTV.js +92 -0
  116. package/dist/chunk-VL43TNIP.js +455 -0
  117. package/dist/chunk-VLMBTPXU.js +51 -0
  118. package/dist/chunk-VNUNE5AB.js +160 -0
  119. package/dist/chunk-VYQ3QJ3C.js +169 -0
  120. package/dist/chunk-WGUQHAJY.js +23 -0
  121. package/dist/chunk-WKQG6TER.js +1079 -0
  122. package/dist/chunk-XFGAUP5B.js +76 -0
  123. package/dist/chunk-ZDMTXQ2Q.js +337 -0
  124. package/dist/claim-W6G6VEG5.js +198 -0
  125. package/dist/claim-W6G6VEG5.js.map +1 -0
  126. package/dist/cli.js +30 -30
  127. package/dist/companies-TS6KBATJ.js +196 -0
  128. package/dist/companies-TS6KBATJ.js.map +1 -0
  129. package/dist/complete-LYR2HMQU.js +82 -0
  130. package/dist/complete-LYR2HMQU.js.map +1 -0
  131. package/dist/connect-FCXNVTXG.js +43 -0
  132. package/dist/conversation-6ZJGPCXM.js +94 -0
  133. package/dist/conversation-6ZJGPCXM.js.map +1 -0
  134. package/dist/conversion-report-XQBJ6LG4.js +125 -0
  135. package/dist/conversion-writes-UBCVXP2E.js +120 -0
  136. package/dist/conversions-D236RTUK.js +76 -0
  137. package/dist/conversions-UHB55MMQ.js +136 -0
  138. package/dist/conversions-UHB55MMQ.js.map +1 -0
  139. package/dist/create-EX6OWLNM.js +208 -0
  140. package/dist/create-EX6OWLNM.js.map +1 -0
  141. package/dist/create-JCA7JPLP.js +131 -0
  142. package/dist/create-JCA7JPLP.js.map +1 -0
  143. package/dist/create-JFSK4BOP.js +60 -0
  144. package/dist/create-JFSK4BOP.js.map +1 -0
  145. package/dist/create-WU22YYU2.js +236 -0
  146. package/dist/create-WU22YYU2.js.map +1 -0
  147. package/dist/creatives-FXUQ5WSD.js +51 -0
  148. package/dist/creatives-KGXUOYPE.js +183 -0
  149. package/dist/creatives-KGXUOYPE.js.map +1 -0
  150. package/dist/credentials-MJC7PGKR.js +1056 -0
  151. package/dist/credentials-MJC7PGKR.js.map +1 -0
  152. package/dist/critique-GS5VV5ZC.js +214 -0
  153. package/dist/critique-GS5VV5ZC.js.map +1 -0
  154. package/dist/critique-TPHR27KH.js +1450 -0
  155. package/dist/critique-TPHR27KH.js.map +1 -0
  156. package/dist/crm-AVCM5D4G.js +319 -0
  157. package/dist/crm-AVCM5D4G.js.map +1 -0
  158. package/dist/crm-VK44O3ED.js +225 -0
  159. package/dist/crm-VK44O3ED.js.map +1 -0
  160. package/dist/customers-XH2DMTFH.js +57 -0
  161. package/dist/delete-E3R3TKIL.js +67 -0
  162. package/dist/delete-E3R3TKIL.js.map +1 -0
  163. package/dist/delete-KRH2YMSZ.js +55 -0
  164. package/dist/delete-KRH2YMSZ.js.map +1 -0
  165. package/dist/delete-WI5E3DR3.js +64 -0
  166. package/dist/delete-WI5E3DR3.js.map +1 -0
  167. package/dist/demographics-XV5PBA77.js +139 -0
  168. package/dist/demographics-XV5PBA77.js.map +1 -0
  169. package/dist/discard-HTQUUHJR.js +67 -0
  170. package/dist/discard-HTQUUHJR.js.map +1 -0
  171. package/dist/domain-RECGZXJB.js +99 -0
  172. package/dist/domain-RECGZXJB.js.map +1 -0
  173. package/dist/draft-2IBSJEKC.js +218 -0
  174. package/dist/draft-2IBSJEKC.js.map +1 -0
  175. package/dist/draft-MNFJ4G3C.js +281 -0
  176. package/dist/draft-PVTX6QT6.js +329 -0
  177. package/dist/draft-PVTX6QT6.js.map +1 -0
  178. package/dist/draft-Q546QPPU.js +307 -0
  179. package/dist/draft-Q546QPPU.js.map +1 -0
  180. package/dist/engine/index.js +6 -6
  181. package/dist/facets-7EVPJMKS.js +115 -0
  182. package/dist/facets-7EVPJMKS.js.map +1 -0
  183. package/dist/feedback-EIZKS4JU.js +66 -0
  184. package/dist/feedback-record-TKO54BOE.js +176 -0
  185. package/dist/feedback-record-TKO54BOE.js.map +1 -0
  186. package/dist/fetch-4BY6HYUM.js +177 -0
  187. package/dist/fetch-4BY6HYUM.js.map +1 -0
  188. package/dist/find-FRRHAPWX.js +134 -0
  189. package/dist/fit-UOFYFJ4Q.js +45 -0
  190. package/dist/flows-KTFAML22.js +248 -0
  191. package/dist/flows-KTFAML22.js.map +1 -0
  192. package/dist/fonts-MXR3ZKDX.js +35 -0
  193. package/dist/forecast-3QTJYVND.js +105 -0
  194. package/dist/forecast-3QTJYVND.js.map +1 -0
  195. package/dist/funnel-I6XIAEHG.js +393 -0
  196. package/dist/funnel-I6XIAEHG.js.map +1 -0
  197. package/dist/ga4-DV2AXCSL.js +55 -0
  198. package/dist/generate-3XYYITU6.js +262 -0
  199. package/dist/get-5PKNKJ5S.js +57 -0
  200. package/dist/get-5PKNKJ5S.js.map +1 -0
  201. package/dist/get-72YPHJGV.js +79 -0
  202. package/dist/get-72YPHJGV.js.map +1 -0
  203. package/dist/google-6OGZX47I.js +1872 -0
  204. package/dist/google-QYYYSSXI.js +136 -0
  205. package/dist/google-ads-QGMQKZQD.js +196 -0
  206. package/dist/google-ads-QGMQKZQD.js.map +1 -0
  207. package/dist/gsc-TAKOF7J5.js +30 -0
  208. package/dist/history-6AVQX2OQ.js +134 -0
  209. package/dist/history-6AVQX2OQ.js.map +1 -0
  210. package/dist/history-Q3QCT64S.js +67 -0
  211. package/dist/hubspot-SVEMFK5S.js +780 -0
  212. package/dist/hubspot-SVEMFK5S.js.map +1 -0
  213. package/dist/icon-L4RSS6PZ.js +137 -0
  214. package/dist/ideas-NFOW3HKJ.js +33 -0
  215. package/dist/images-2EFFUNNV.js +90 -0
  216. package/dist/ingest-2EIKN4QC.js +24 -0
  217. package/dist/ingest-2SO62RRI.js +108 -0
  218. package/dist/ingest-2SO62RRI.js.map +1 -0
  219. package/dist/insights-LNAXV2CG.js +122 -0
  220. package/dist/inspect-4OOS4APT.js +190 -0
  221. package/dist/inspect-4OOS4APT.js.map +1 -0
  222. package/dist/inspiration-S3DU4CMQ.js +53 -0
  223. package/dist/keyword-metrics-SF4CSNZ2.js +198 -0
  224. package/dist/keyword-metrics-SF4CSNZ2.js.map +1 -0
  225. package/dist/keywords-for-site-WDAOPNKC.js +129 -0
  226. package/dist/keywords-for-site-WDAOPNKC.js.map +1 -0
  227. package/dist/landing-2ZB46LXH.js +28 -0
  228. package/dist/leads-A4W5KTWB.js +91 -0
  229. package/dist/leads-A4W5KTWB.js.map +1 -0
  230. package/dist/learn-IPULBCOD.js +204 -0
  231. package/dist/learn-IPULBCOD.js.map +1 -0
  232. package/dist/line-item-writes-EMYSOJKM.js +209 -0
  233. package/dist/line-item-writes-EMYSOJKM.js.map +1 -0
  234. package/dist/line-items-5NECXUZT.js +103 -0
  235. package/dist/link-CI45HWFN.js +65 -0
  236. package/dist/link-CI45HWFN.js.map +1 -0
  237. package/dist/linkedin-B7SYR75X.js +1009 -0
  238. package/dist/linkedin-B7SYR75X.js.map +1 -0
  239. package/dist/list-2BARXOT5.js +152 -0
  240. package/dist/list-2BARXOT5.js.map +1 -0
  241. package/dist/list-BIEVLEHS.js +304 -0
  242. package/dist/list-BIEVLEHS.js.map +1 -0
  243. package/dist/list-ZBT3EBVZ.js +64 -0
  244. package/dist/list-ZBT3EBVZ.js.map +1 -0
  245. package/dist/locations-2NKBJKBT.js +67 -0
  246. package/dist/log-C23OOAJZ.js +93 -0
  247. package/dist/log-C23OOAJZ.js.map +1 -0
  248. package/dist/logo-Q5D7PZY6.js +18 -0
  249. package/dist/lookup-ETWY47F7.js +23 -0
  250. package/dist/make-TPKKJXGL.js +594 -0
  251. package/dist/make-TPKKJXGL.js.map +1 -0
  252. package/dist/map-SYZMPHLL.js +405 -0
  253. package/dist/map-SYZMPHLL.js.map +1 -0
  254. package/dist/mcp-6FQBVJ6F.js +477 -0
  255. package/dist/mcp-6FQBVJ6F.js.map +1 -0
  256. package/dist/media-sources-ZXHEEP6T.js +32 -0
  257. package/dist/members-UDY4OOJW.js +45 -0
  258. package/dist/members-UDY4OOJW.js.map +1 -0
  259. package/dist/models-3Z6MDHQW.js +155 -0
  260. package/dist/normalize-DAKHYS3V.js +142 -0
  261. package/dist/normalize-DAKHYS3V.js.map +1 -0
  262. package/dist/options-QL3ULED5.js +122 -0
  263. package/dist/options-QL3ULED5.js.map +1 -0
  264. package/dist/performance-UF5VTY2U.js +25 -0
  265. package/dist/pixels-TZPF746S.js +60 -0
  266. package/dist/plan-FT632COT.js +51 -0
  267. package/dist/plan-FT632COT.js.map +1 -0
  268. package/dist/promoted-tweet-writes-7HGESJ46.js +181 -0
  269. package/dist/promoted-tweet-writes-7HGESJ46.js.map +1 -0
  270. package/dist/promoted-tweets-LZKS5JIF.js +119 -0
  271. package/dist/publish-NPD3SMZL.js +323 -0
  272. package/dist/publish-NPD3SMZL.js.map +1 -0
  273. package/dist/questionnaire-JNGYJTAY.js +37 -0
  274. package/dist/questionnaire-JNGYJTAY.js.map +1 -0
  275. package/dist/reddit-NU2N3LZD.js +27 -0
  276. package/dist/refresh-EBVJ2C6L.js +95 -0
  277. package/dist/refresh-EBVJ2C6L.js.map +1 -0
  278. package/dist/release-V43YB2PY.js +61 -0
  279. package/dist/release-V43YB2PY.js.map +1 -0
  280. package/dist/remove-QPSWLFI4.js +51 -0
  281. package/dist/remove-QPSWLFI4.js.map +1 -0
  282. package/dist/reopen-GQ66NMWF.js +64 -0
  283. package/dist/reopen-GQ66NMWF.js.map +1 -0
  284. package/dist/rerun-PZK275DY.js +86 -0
  285. package/dist/rerun-PZK275DY.js.map +1 -0
  286. package/dist/research-FMM6AWZC.js +62 -0
  287. package/dist/research-GEOCUBXB.js +263 -0
  288. package/dist/research-GEOCUBXB.js.map +1 -0
  289. package/dist/reset-REXJ6AUK.js +55 -0
  290. package/dist/reset-REXJ6AUK.js.map +1 -0
  291. package/dist/reset-Y72IVESB.js +55 -0
  292. package/dist/reset-Y72IVESB.js.map +1 -0
  293. package/dist/resolve-OGX7C4TV.js +122 -0
  294. package/dist/resolve-OGX7C4TV.js.map +1 -0
  295. package/dist/retry-CD6JAQ3F.js +61 -0
  296. package/dist/retry-CD6JAQ3F.js.map +1 -0
  297. package/dist/retry-TCUBBFR5.js +63 -0
  298. package/dist/retry-TCUBBFR5.js.map +1 -0
  299. package/dist/run-A5ZDXTOI.js +66 -0
  300. package/dist/run-A5ZDXTOI.js.map +1 -0
  301. package/dist/run-EUO34T2J.js +61 -0
  302. package/dist/scaffold-ad-SW2HEWM3.js +1550 -0
  303. package/dist/scaffold-ad-SW2HEWM3.js.map +1 -0
  304. package/dist/scaffold-static-ad-ECTJL54Y.js +967 -0
  305. package/dist/scaffold-static-ad-ECTJL54Y.js.map +1 -0
  306. package/dist/scaffold-video-EI7U7RBK.js +874 -0
  307. package/dist/scaffold-video-EI7U7RBK.js.map +1 -0
  308. package/dist/schedule-S5YZJZ5U.js +62 -0
  309. package/dist/schedule-S5YZJZ5U.js.map +1 -0
  310. package/dist/scheduled-agents-N4LJRM4C.js +49 -0
  311. package/dist/schema-R7JWWOF4.js +133 -0
  312. package/dist/schema-R7JWWOF4.js.map +1 -0
  313. package/dist/search-KHMQH3AT.js +175 -0
  314. package/dist/search-KHMQH3AT.js.map +1 -0
  315. package/dist/select-O2FN2JEQ.js +95 -0
  316. package/dist/select-O2FN2JEQ.js.map +1 -0
  317. package/dist/sends-BQZM5PLS.js +310 -0
  318. package/dist/sends-BQZM5PLS.js.map +1 -0
  319. package/dist/set-prompt-2HASHGWC.js +187 -0
  320. package/dist/set-prompt-2HASHGWC.js.map +1 -0
  321. package/dist/setup-links-GYSE56GX.js +142 -0
  322. package/dist/setup-links-GYSE56GX.js.map +1 -0
  323. package/dist/site-4SKM7RKG.js +178 -0
  324. package/dist/site-4SKM7RKG.js.map +1 -0
  325. package/dist/sources-FQ2UZTHL.js +30 -0
  326. package/dist/sources-R2NKNC6J.js +422 -0
  327. package/dist/sources-R2NKNC6J.js.map +1 -0
  328. package/dist/stale-W756ACKC.js +64 -0
  329. package/dist/stale-W756ACKC.js.map +1 -0
  330. package/dist/status-SE2VZJJB.js +63 -0
  331. package/dist/status-SE2VZJJB.js.map +1 -0
  332. package/dist/stock-KXJ26BY4.js +179 -0
  333. package/dist/studio-SYKOSNDB.js +49 -0
  334. package/dist/sync-LJGSODK3.js +55 -0
  335. package/dist/sync-LJGSODK3.js.map +1 -0
  336. package/dist/sync-definition-QR2N233R.js +54 -0
  337. package/dist/tags-4BAVFH4S.js +225 -0
  338. package/dist/tags-4BAVFH4S.js.map +1 -0
  339. package/dist/tags-5SBMRC2A.js +21 -0
  340. package/dist/tags-5SBMRC2A.js.map +1 -0
  341. package/dist/tags-PYWFSBTR.js +26 -0
  342. package/dist/tags-QQU3OKMZ.js +21 -0
  343. package/dist/tags-QQU3OKMZ.js.map +1 -0
  344. package/dist/tags-YYLNF3PK.js +21 -0
  345. package/dist/tags-YYLNF3PK.js.map +1 -0
  346. package/dist/targeting-criteria-RJFLFICN.js +113 -0
  347. package/dist/targets-S2MT2PNB.js +103 -0
  348. package/dist/targets-S2MT2PNB.js.map +1 -0
  349. package/dist/templates-ZE5TOGRT.js +179 -0
  350. package/dist/templates-ZE5TOGRT.js.map +1 -0
  351. package/dist/testimonials-DII5DYLR.js +32 -0
  352. package/dist/top-companies-PGIAEHDF.js +109 -0
  353. package/dist/top-companies-PGIAEHDF.js.map +1 -0
  354. package/dist/translate-GXTS633J.js +599 -0
  355. package/dist/translate-GXTS633J.js.map +1 -0
  356. package/dist/triggers-2PTONXRU.js +142 -0
  357. package/dist/triggers-2PTONXRU.js.map +1 -0
  358. package/dist/unlink-XRMYJ6DB.js +68 -0
  359. package/dist/unlink-XRMYJ6DB.js.map +1 -0
  360. package/dist/unstage-FY7A3YFF.js +85 -0
  361. package/dist/unstage-FY7A3YFF.js.map +1 -0
  362. package/dist/unstage-RM2RLXKD.js +96 -0
  363. package/dist/unstage-RM2RLXKD.js.map +1 -0
  364. package/dist/update-E5SRBXQR.js +143 -0
  365. package/dist/update-E5SRBXQR.js.map +1 -0
  366. package/dist/update-PJ67D2OG.js +156 -0
  367. package/dist/update-PJ67D2OG.js.map +1 -0
  368. package/dist/update-S4562V3O.js +64 -0
  369. package/dist/update-S4562V3O.js.map +1 -0
  370. package/dist/update-V6YVEUI2.js +99 -0
  371. package/dist/update-V6YVEUI2.js.map +1 -0
  372. package/dist/upload-R6CQVLKF.js +127 -0
  373. package/dist/upload-R6CQVLKF.js.map +1 -0
  374. package/dist/url-options-JOKU46F2.js +128 -0
  375. package/dist/url-options-JOKU46F2.js.map +1 -0
  376. package/dist/url-params-7U2XMOWF.js +99 -0
  377. package/dist/url-params-7U2XMOWF.js.map +1 -0
  378. package/dist/validate-7YPOUKPB.js +90 -0
  379. package/dist/validate-7YPOUKPB.js.map +1 -0
  380. package/dist/videos-LICG6ACJ.js +39 -0
  381. package/dist/viewer-check-L4B4LIAX.js +69 -0
  382. package/dist/web-BA2PGTWU.js +141 -0
  383. package/dist/web-BA2PGTWU.js.map +1 -0
  384. package/dist/winning-ads-C6S2C5VP.js +62 -0
  385. package/dist/write-commands-7SJ3BOW5.js +1016 -0
  386. package/dist/write-commands-7SJ3BOW5.js.map +1 -0
  387. package/dist/x-CZHRC6U7.js +47 -0
  388. package/package.json +1 -1
  389. package/dist/account-AL2ZDSR7.js +0 -79
  390. package/dist/account-AL2ZDSR7.js.map +0 -1
  391. package/dist/account-F6MHQ64I.js +0 -80
  392. package/dist/account-writes-ISE4U2FQ.js +0 -66
  393. package/dist/accounts-HAFCLSR5.js +0 -77
  394. package/dist/accounts-HAFCLSR5.js.map +0 -1
  395. package/dist/accounts-O5MFO3QQ.js +0 -611
  396. package/dist/accounts-O5MFO3QQ.js.map +0 -1
  397. package/dist/actions-P35MEMGN.js +0 -55
  398. package/dist/ad-group-writes-UU5NNKSO.js +0 -170
  399. package/dist/ad-groups-CGFXZNIA.js +0 -68
  400. package/dist/ad-writes-NALDYWOR.js +0 -174
  401. package/dist/add-5GAN6CVO.js +0 -280
  402. package/dist/add-5GAN6CVO.js.map +0 -1
  403. package/dist/add-6DTC6X5G.js +0 -104
  404. package/dist/add-6DTC6X5G.js.map +0 -1
  405. package/dist/ads-C47NA2HH.js +0 -40
  406. package/dist/ads-PV7GZXPR.js +0 -77
  407. package/dist/advertisers-AE75CGVE.js +0 -120
  408. package/dist/advertisers-AE75CGVE.js.map +0 -1
  409. package/dist/analytics-FKCXIMPO.js +0 -1958
  410. package/dist/analytics-FKCXIMPO.js.map +0 -1
  411. package/dist/analytics-FPWQQGRM.js +0 -433
  412. package/dist/analytics-FPWQQGRM.js.map +0 -1
  413. package/dist/animate-FWWHSYPL.js +0 -480
  414. package/dist/assign-ABN2AQ4J.js +0 -77
  415. package/dist/assign-ABN2AQ4J.js.map +0 -1
  416. package/dist/audience-size-GNBJY35X.js +0 -94
  417. package/dist/audience-size-GNBJY35X.js.map +0 -1
  418. package/dist/audiences-VEKGLWBG.js +0 -268
  419. package/dist/audit-3VS63TBW.js +0 -151
  420. package/dist/audit-3VS63TBW.js.map +0 -1
  421. package/dist/autocomplete-VS3XG3B7.js +0 -111
  422. package/dist/autocomplete-VS3XG3B7.js.map +0 -1
  423. package/dist/avatars-EKCKHCC3.js +0 -38
  424. package/dist/bid-pricing-Q72B65AY.js +0 -99
  425. package/dist/bid-pricing-Q72B65AY.js.map +0 -1
  426. package/dist/brand-C6PFGGQN.js +0 -22
  427. package/dist/brief-UO52ZHFI.js +0 -477
  428. package/dist/brief-UO52ZHFI.js.map +0 -1
  429. package/dist/campaign-groups-KFFYQPU3.js +0 -95
  430. package/dist/campaign-groups-KFFYQPU3.js.map +0 -1
  431. package/dist/campaign-writes-FHOS5XZY.js +0 -165
  432. package/dist/campaign-writes-FHOS5XZY.js.map +0 -1
  433. package/dist/campaign-writes-SX52CJYW.js +0 -170
  434. package/dist/campaigns-2NHWBF5C.js +0 -109
  435. package/dist/campaigns-2NHWBF5C.js.map +0 -1
  436. package/dist/campaigns-KZYZTXDS.js +0 -107
  437. package/dist/campaigns-X3DPCCSN.js +0 -76
  438. package/dist/canvas-DPCBGW7K.js +0 -46
  439. package/dist/capabilities-DJFTRJKS.js +0 -144
  440. package/dist/capabilities-DJFTRJKS.js.map +0 -1
  441. package/dist/catalog-ME44ZRZF.js +0 -65
  442. package/dist/catalogs-G3YEVG6S.js +0 -128
  443. package/dist/chatgpt-QNUN63YS.js +0 -47
  444. package/dist/chats-D2CSDX5Q.js +0 -262
  445. package/dist/chats-D2CSDX5Q.js.map +0 -1
  446. package/dist/chunk-2QHODRR6.js +0 -19
  447. package/dist/chunk-35XWJEWH.js +0 -274
  448. package/dist/chunk-3G3ZDLMI.js +0 -197
  449. package/dist/chunk-3HJLHTWP.js +0 -163
  450. package/dist/chunk-3HJLHTWP.js.map +0 -1
  451. package/dist/chunk-3IBYKLXR.js +0 -337
  452. package/dist/chunk-4AUMTNVB.js +0 -346
  453. package/dist/chunk-4BQXAE7Z.js +0 -494
  454. package/dist/chunk-54UVGFX3.js +0 -440
  455. package/dist/chunk-5Y5UAJWD.js +0 -111
  456. package/dist/chunk-5ZDLTE5T.js +0 -159
  457. package/dist/chunk-647RO73Q.js +0 -92
  458. package/dist/chunk-7YCRFMXF.js +0 -433
  459. package/dist/chunk-7ZHMGXE2.js +0 -819
  460. package/dist/chunk-A4LOJ2VD.js +0 -23
  461. package/dist/chunk-AEOSAVVL.js +0 -310
  462. package/dist/chunk-CHSNHVYF.js +0 -3182
  463. package/dist/chunk-CHSNHVYF.js.map +0 -1
  464. package/dist/chunk-CSYSX4D2.js +0 -175
  465. package/dist/chunk-DWHIOO7E.js +0 -390
  466. package/dist/chunk-DWHIOO7E.js.map +0 -1
  467. package/dist/chunk-EDLZGTGN.js +0 -216
  468. package/dist/chunk-EDLZGTGN.js.map +0 -1
  469. package/dist/chunk-FD27ZDVP.js +0 -304
  470. package/dist/chunk-GBMP4F45.js +0 -3147
  471. package/dist/chunk-GLCPTMPG.js +0 -5189
  472. package/dist/chunk-HBTF25YG.js +0 -592
  473. package/dist/chunk-HQSCJYZO.js +0 -26
  474. package/dist/chunk-IBURXTL4.js +0 -509
  475. package/dist/chunk-IR6D7K4H.js +0 -382
  476. package/dist/chunk-J5IY3GVE.js +0 -96
  477. package/dist/chunk-JQJDXPCO.js +0 -103
  478. package/dist/chunk-K66OLA6Y.js +0 -4383
  479. package/dist/chunk-K7FZXIOZ.js +0 -60
  480. package/dist/chunk-KFE3S63W.js +0 -1441
  481. package/dist/chunk-KHRXPQID.js +0 -169
  482. package/dist/chunk-KLBTXETO.js +0 -23992
  483. package/dist/chunk-KLBTXETO.js.map +0 -1
  484. package/dist/chunk-KQTYTCKQ.js +0 -98
  485. package/dist/chunk-LYBXCXJB.js +0 -160
  486. package/dist/chunk-LZ73CZGP.js +0 -188
  487. package/dist/chunk-MELOSESI.js +0 -20
  488. package/dist/chunk-MXYBTMKB.js +0 -363
  489. package/dist/chunk-NPY4QUMQ.js +0 -622
  490. package/dist/chunk-OZRUJVIQ.js +0 -206
  491. package/dist/chunk-QRP3PXWN.js +0 -455
  492. package/dist/chunk-RPUSTYHL.js +0 -170
  493. package/dist/chunk-RPUSTYHL.js.map +0 -1
  494. package/dist/chunk-S77PZVYM.js +0 -297
  495. package/dist/chunk-SHL7LOC3.js +0 -51
  496. package/dist/chunk-SSJK7FEV.js +0 -2886
  497. package/dist/chunk-SSJK7FEV.js.map +0 -1
  498. package/dist/chunk-TT5R35PJ.js +0 -207
  499. package/dist/chunk-ULJ5RFOV.js +0 -76
  500. package/dist/chunk-VB6WJJR3.js +0 -1830
  501. package/dist/chunk-W3ZHJJVT.js +0 -139
  502. package/dist/chunk-XF4JUKVF.js +0 -6151
  503. package/dist/chunk-XF4JUKVF.js.map +0 -1
  504. package/dist/chunk-Y6O7EWYY.js +0 -57
  505. package/dist/chunk-YRQYA2LR.js +0 -217
  506. package/dist/chunk-YRQYA2LR.js.map +0 -1
  507. package/dist/chunk-Z2EOC6PL.js +0 -6667
  508. package/dist/chunk-ZEYEWPK6.js +0 -1079
  509. package/dist/claim-FZ5OQLMU.js +0 -197
  510. package/dist/claim-FZ5OQLMU.js.map +0 -1
  511. package/dist/companies-DNI634RC.js +0 -195
  512. package/dist/companies-DNI634RC.js.map +0 -1
  513. package/dist/complete-2FZMGJV5.js +0 -81
  514. package/dist/complete-2FZMGJV5.js.map +0 -1
  515. package/dist/connect-QCOGEPP4.js +0 -36
  516. package/dist/conversation-6IOGV7B7.js +0 -93
  517. package/dist/conversation-6IOGV7B7.js.map +0 -1
  518. package/dist/conversion-report-N4HANYOB.js +0 -125
  519. package/dist/conversion-writes-LW4HQKK5.js +0 -120
  520. package/dist/conversions-4SRZPBBX.js +0 -135
  521. package/dist/conversions-4SRZPBBX.js.map +0 -1
  522. package/dist/conversions-TS723AZV.js +0 -76
  523. package/dist/create-BJNMO6HT.js +0 -207
  524. package/dist/create-BJNMO6HT.js.map +0 -1
  525. package/dist/create-FX4OJ2XF.js +0 -59
  526. package/dist/create-FX4OJ2XF.js.map +0 -1
  527. package/dist/create-RM7HV77Y.js +0 -130
  528. package/dist/create-RM7HV77Y.js.map +0 -1
  529. package/dist/create-VXM34ZWH.js +0 -235
  530. package/dist/create-VXM34ZWH.js.map +0 -1
  531. package/dist/creatives-JSWBFQ5R.js +0 -182
  532. package/dist/creatives-JSWBFQ5R.js.map +0 -1
  533. package/dist/creatives-SJTJU6VT.js +0 -51
  534. package/dist/credentials-VOZTILFO.js +0 -1055
  535. package/dist/credentials-VOZTILFO.js.map +0 -1
  536. package/dist/critique-65W63MFZ.js +0 -213
  537. package/dist/critique-65W63MFZ.js.map +0 -1
  538. package/dist/critique-ZS4ON3SU.js +0 -1449
  539. package/dist/critique-ZS4ON3SU.js.map +0 -1
  540. package/dist/crm-52ROSWH5.js +0 -224
  541. package/dist/crm-52ROSWH5.js.map +0 -1
  542. package/dist/crm-R5IXIFIV.js +0 -318
  543. package/dist/crm-R5IXIFIV.js.map +0 -1
  544. package/dist/customers-4AWBFDUF.js +0 -56
  545. package/dist/delete-AIGE4Y4H.js +0 -63
  546. package/dist/delete-AIGE4Y4H.js.map +0 -1
  547. package/dist/delete-HGHXY24R.js +0 -54
  548. package/dist/delete-HGHXY24R.js.map +0 -1
  549. package/dist/delete-M2GDLPYN.js +0 -66
  550. package/dist/delete-M2GDLPYN.js.map +0 -1
  551. package/dist/demographics-NTWB2IMG.js +0 -138
  552. package/dist/demographics-NTWB2IMG.js.map +0 -1
  553. package/dist/discard-2WWQG6OU.js +0 -66
  554. package/dist/discard-2WWQG6OU.js.map +0 -1
  555. package/dist/domain-Y2LT6JLT.js +0 -98
  556. package/dist/domain-Y2LT6JLT.js.map +0 -1
  557. package/dist/draft-EJXNNJ3Y.js +0 -306
  558. package/dist/draft-EJXNNJ3Y.js.map +0 -1
  559. package/dist/draft-FJ7WHIXW.js +0 -328
  560. package/dist/draft-FJ7WHIXW.js.map +0 -1
  561. package/dist/draft-SLHAKJ2A.js +0 -217
  562. package/dist/draft-SLHAKJ2A.js.map +0 -1
  563. package/dist/draft-THPZFASM.js +0 -281
  564. package/dist/facets-U7AQC4H6.js +0 -114
  565. package/dist/facets-U7AQC4H6.js.map +0 -1
  566. package/dist/feedback-XNJQ63DS.js +0 -66
  567. package/dist/feedback-record-FDLMWMDG.js +0 -175
  568. package/dist/feedback-record-FDLMWMDG.js.map +0 -1
  569. package/dist/fetch-W7NULDEO.js +0 -176
  570. package/dist/fetch-W7NULDEO.js.map +0 -1
  571. package/dist/find-OTDIX6V4.js +0 -134
  572. package/dist/fit-7237F5EB.js +0 -45
  573. package/dist/flows-KABCBS3S.js +0 -244
  574. package/dist/flows-KABCBS3S.js.map +0 -1
  575. package/dist/fonts-EMMX3KII.js +0 -34
  576. package/dist/forecast-GNODEIIC.js +0 -104
  577. package/dist/forecast-GNODEIIC.js.map +0 -1
  578. package/dist/funnel-AAX27NH4.js +0 -837
  579. package/dist/funnel-AAX27NH4.js.map +0 -1
  580. package/dist/ga4-UDQ2HA2J.js +0 -55
  581. package/dist/generate-MMBYB44G.js +0 -262
  582. package/dist/get-QEYJRLV3.js +0 -54
  583. package/dist/get-QEYJRLV3.js.map +0 -1
  584. package/dist/get-RTVUZM6E.js +0 -78
  585. package/dist/get-RTVUZM6E.js.map +0 -1
  586. package/dist/google-KTO3PLEU.js +0 -136
  587. package/dist/google-M7KEXVK5.js +0 -1872
  588. package/dist/google-ads-OK6IG3UV.js +0 -195
  589. package/dist/google-ads-OK6IG3UV.js.map +0 -1
  590. package/dist/gsc-P3QYGDV2.js +0 -30
  591. package/dist/history-DBIEYQHY.js +0 -67
  592. package/dist/history-PQUJKK26.js +0 -133
  593. package/dist/history-PQUJKK26.js.map +0 -1
  594. package/dist/hubspot-Y77VLY6Y.js +0 -779
  595. package/dist/hubspot-Y77VLY6Y.js.map +0 -1
  596. package/dist/icon-I43F77FV.js +0 -137
  597. package/dist/ideas-MIDU7YOA.js +0 -32
  598. package/dist/images-S254MS6O.js +0 -90
  599. package/dist/ingest-J4I3HKM3.js +0 -107
  600. package/dist/ingest-J4I3HKM3.js.map +0 -1
  601. package/dist/ingest-YV2NLDBE.js +0 -23
  602. package/dist/insights-ZIU6FJMS.js +0 -122
  603. package/dist/inspect-Q5NHBBHX.js +0 -189
  604. package/dist/inspect-Q5NHBBHX.js.map +0 -1
  605. package/dist/inspiration-P265QJ2H.js +0 -53
  606. package/dist/keyword-metrics-PDY4ZXSP.js +0 -197
  607. package/dist/keyword-metrics-PDY4ZXSP.js.map +0 -1
  608. package/dist/keywords-for-site-GALSCV77.js +0 -128
  609. package/dist/keywords-for-site-GALSCV77.js.map +0 -1
  610. package/dist/landing-CJYGWCK4.js +0 -28
  611. package/dist/leads-PHKG6CP3.js +0 -90
  612. package/dist/leads-PHKG6CP3.js.map +0 -1
  613. package/dist/learn-3VO6DXUX.js +0 -203
  614. package/dist/learn-3VO6DXUX.js.map +0 -1
  615. package/dist/line-item-writes-E6MZPIZZ.js +0 -208
  616. package/dist/line-item-writes-E6MZPIZZ.js.map +0 -1
  617. package/dist/line-items-7ZGIKEF2.js +0 -103
  618. package/dist/link-QYAW6A2W.js +0 -64
  619. package/dist/link-QYAW6A2W.js.map +0 -1
  620. package/dist/linkedin-FFSDSGGS.js +0 -1008
  621. package/dist/linkedin-FFSDSGGS.js.map +0 -1
  622. package/dist/list-5IC6KIKO.js +0 -63
  623. package/dist/list-5IC6KIKO.js.map +0 -1
  624. package/dist/list-NVQC5SNY.js +0 -151
  625. package/dist/list-NVQC5SNY.js.map +0 -1
  626. package/dist/list-SAV3LQHY.js +0 -303
  627. package/dist/list-SAV3LQHY.js.map +0 -1
  628. package/dist/locations-74TPQWAT.js +0 -67
  629. package/dist/log-XZPVOALD.js +0 -92
  630. package/dist/log-XZPVOALD.js.map +0 -1
  631. package/dist/logo-2IP663QO.js +0 -18
  632. package/dist/lookup-XK45W2SH.js +0 -22
  633. package/dist/make-LCNP76OF.js +0 -593
  634. package/dist/make-LCNP76OF.js.map +0 -1
  635. package/dist/map-4J5WIWIG.js +0 -404
  636. package/dist/map-4J5WIWIG.js.map +0 -1
  637. package/dist/mcp-XXD7ZQCP.js +0 -476
  638. package/dist/mcp-XXD7ZQCP.js.map +0 -1
  639. package/dist/media-sources-O6ZRUA3N.js +0 -32
  640. package/dist/members-D5ZYLS4Y.js +0 -44
  641. package/dist/members-D5ZYLS4Y.js.map +0 -1
  642. package/dist/models-7U3GRYHF.js +0 -155
  643. package/dist/normalize-PCNC6E2N.js +0 -138
  644. package/dist/normalize-PCNC6E2N.js.map +0 -1
  645. package/dist/options-MQ65VEVD.js +0 -121
  646. package/dist/options-MQ65VEVD.js.map +0 -1
  647. package/dist/performance-6QW2KEEQ.js +0 -24
  648. package/dist/pixels-45A55MOP.js +0 -60
  649. package/dist/promoted-tweet-writes-JPLHY3GM.js +0 -180
  650. package/dist/promoted-tweet-writes-JPLHY3GM.js.map +0 -1
  651. package/dist/promoted-tweets-SURKMHFI.js +0 -119
  652. package/dist/publish-HCQ6MXLB.js +0 -322
  653. package/dist/publish-HCQ6MXLB.js.map +0 -1
  654. package/dist/reddit-GIP3ADMS.js +0 -26
  655. package/dist/refresh-UXQSLCR3.js +0 -94
  656. package/dist/refresh-UXQSLCR3.js.map +0 -1
  657. package/dist/release-5KVLXNP6.js +0 -60
  658. package/dist/release-5KVLXNP6.js.map +0 -1
  659. package/dist/remove-6FIVKCJI.js +0 -50
  660. package/dist/remove-6FIVKCJI.js.map +0 -1
  661. package/dist/reopen-YM5LNOLB.js +0 -63
  662. package/dist/reopen-YM5LNOLB.js.map +0 -1
  663. package/dist/rerun-CET74VPF.js +0 -85
  664. package/dist/rerun-CET74VPF.js.map +0 -1
  665. package/dist/research-EY7C7JJY.js +0 -62
  666. package/dist/research-YOGE7GT2.js +0 -262
  667. package/dist/research-YOGE7GT2.js.map +0 -1
  668. package/dist/reset-C4UHQ3EU.js +0 -54
  669. package/dist/reset-C4UHQ3EU.js.map +0 -1
  670. package/dist/reset-OLVB6AE6.js +0 -54
  671. package/dist/reset-OLVB6AE6.js.map +0 -1
  672. package/dist/resolve-XYH2GDAE.js +0 -121
  673. package/dist/resolve-XYH2GDAE.js.map +0 -1
  674. package/dist/retry-726GKI6V.js +0 -62
  675. package/dist/retry-726GKI6V.js.map +0 -1
  676. package/dist/retry-7EELDEQP.js +0 -60
  677. package/dist/retry-7EELDEQP.js.map +0 -1
  678. package/dist/run-P4KR2MXC.js +0 -65
  679. package/dist/run-P4KR2MXC.js.map +0 -1
  680. package/dist/run-XQ7EM3JT.js +0 -60
  681. package/dist/scaffold-ad-U2KSHKBC.js +0 -1549
  682. package/dist/scaffold-ad-U2KSHKBC.js.map +0 -1
  683. package/dist/scaffold-static-ad-63LQKUSO.js +0 -966
  684. package/dist/scaffold-static-ad-63LQKUSO.js.map +0 -1
  685. package/dist/scaffold-video-MUS6LHJQ.js +0 -873
  686. package/dist/scaffold-video-MUS6LHJQ.js.map +0 -1
  687. package/dist/schedule-RDK4GEPI.js +0 -61
  688. package/dist/schedule-RDK4GEPI.js.map +0 -1
  689. package/dist/scheduled-agents-6U44QE76.js +0 -49
  690. package/dist/schema-CHJDC7GQ.js +0 -129
  691. package/dist/schema-CHJDC7GQ.js.map +0 -1
  692. package/dist/search-PMJRU3C4.js +0 -174
  693. package/dist/search-PMJRU3C4.js.map +0 -1
  694. package/dist/select-4Z7BW5RH.js +0 -94
  695. package/dist/select-4Z7BW5RH.js.map +0 -1
  696. package/dist/sends-WGJVQUMF.js +0 -309
  697. package/dist/sends-WGJVQUMF.js.map +0 -1
  698. package/dist/set-prompt-OB2V3XJP.js +0 -186
  699. package/dist/set-prompt-OB2V3XJP.js.map +0 -1
  700. package/dist/setup-links-REPREN3C.js +0 -141
  701. package/dist/setup-links-REPREN3C.js.map +0 -1
  702. package/dist/site-WFSWIA3S.js +0 -177
  703. package/dist/site-WFSWIA3S.js.map +0 -1
  704. package/dist/sources-AMI2AWKZ.js +0 -421
  705. package/dist/sources-AMI2AWKZ.js.map +0 -1
  706. package/dist/sources-YBQ6KPFM.js +0 -30
  707. package/dist/stale-DAYXOY3Z.js +0 -63
  708. package/dist/stale-DAYXOY3Z.js.map +0 -1
  709. package/dist/status-7F2KHFGA.js +0 -62
  710. package/dist/status-7F2KHFGA.js.map +0 -1
  711. package/dist/stock-2YCDN3N6.js +0 -179
  712. package/dist/studio-C5K3YX3P.js +0 -49
  713. package/dist/sync-GWTLKZTU.js +0 -54
  714. package/dist/sync-GWTLKZTU.js.map +0 -1
  715. package/dist/sync-definition-ILS2B2BJ.js +0 -53
  716. package/dist/tags-3WPW6PTV.js +0 -26
  717. package/dist/tags-6342FQEB.js +0 -20
  718. package/dist/tags-6342FQEB.js.map +0 -1
  719. package/dist/tags-ABHSX6M5.js +0 -20
  720. package/dist/tags-ABHSX6M5.js.map +0 -1
  721. package/dist/tags-FJIBBBRG.js +0 -20
  722. package/dist/tags-FJIBBBRG.js.map +0 -1
  723. package/dist/tags-KFYLZLB3.js +0 -224
  724. package/dist/tags-KFYLZLB3.js.map +0 -1
  725. package/dist/targeting-criteria-NR47AF5C.js +0 -113
  726. package/dist/targets-L56KOVQE.js +0 -102
  727. package/dist/targets-L56KOVQE.js.map +0 -1
  728. package/dist/templates-B6XGDYUF.js +0 -178
  729. package/dist/templates-B6XGDYUF.js.map +0 -1
  730. package/dist/testimonials-CVC4YIXO.js +0 -32
  731. package/dist/top-companies-45X3DT7Z.js +0 -108
  732. package/dist/top-companies-45X3DT7Z.js.map +0 -1
  733. package/dist/translate-TA5KQIU7.js +0 -598
  734. package/dist/translate-TA5KQIU7.js.map +0 -1
  735. package/dist/triggers-22EMIVFD.js +0 -141
  736. package/dist/triggers-22EMIVFD.js.map +0 -1
  737. package/dist/unlink-65KUN6ID.js +0 -67
  738. package/dist/unlink-65KUN6ID.js.map +0 -1
  739. package/dist/unstage-2E3I5SWF.js +0 -84
  740. package/dist/unstage-2E3I5SWF.js.map +0 -1
  741. package/dist/unstage-4ZEULXEQ.js +0 -95
  742. package/dist/unstage-4ZEULXEQ.js.map +0 -1
  743. package/dist/update-2S7CSEAW.js +0 -63
  744. package/dist/update-2S7CSEAW.js.map +0 -1
  745. package/dist/update-7NCOTAQZ.js +0 -98
  746. package/dist/update-7NCOTAQZ.js.map +0 -1
  747. package/dist/update-D6DJC6T7.js +0 -155
  748. package/dist/update-D6DJC6T7.js.map +0 -1
  749. package/dist/update-KREBPGBH.js +0 -142
  750. package/dist/update-KREBPGBH.js.map +0 -1
  751. package/dist/upload-O6NHRPS7.js +0 -126
  752. package/dist/upload-O6NHRPS7.js.map +0 -1
  753. package/dist/url-options-GGXAL3J4.js +0 -127
  754. package/dist/url-options-GGXAL3J4.js.map +0 -1
  755. package/dist/url-params-3EFGVTZZ.js +0 -98
  756. package/dist/url-params-3EFGVTZZ.js.map +0 -1
  757. package/dist/validate-LDBAAXQO.js +0 -89
  758. package/dist/validate-LDBAAXQO.js.map +0 -1
  759. package/dist/videos-YSXYGTBM.js +0 -39
  760. package/dist/viewer-check-45T2HLAH.js +0 -69
  761. package/dist/web-IGIGVEKS.js +0 -140
  762. package/dist/web-IGIGVEKS.js.map +0 -1
  763. package/dist/winning-ads-ASH5DSV3.js +0 -62
  764. package/dist/write-commands-5C7FUOVN.js +0 -1015
  765. package/dist/write-commands-5C7FUOVN.js.map +0 -1
  766. package/dist/x-BFSKFCZD.js +0 -47
  767. /package/dist/{account-F6MHQ64I.js.map → account-4H7QVBRK.js.map} +0 -0
  768. /package/dist/{account-writes-ISE4U2FQ.js.map → account-writes-AK42HGRM.js.map} +0 -0
  769. /package/dist/{actions-P35MEMGN.js.map → actions-6TQMSVWD.js.map} +0 -0
  770. /package/dist/{ad-group-writes-UU5NNKSO.js.map → ad-group-writes-QQS4223F.js.map} +0 -0
  771. /package/dist/{ad-groups-CGFXZNIA.js.map → ad-groups-WGPDPUI2.js.map} +0 -0
  772. /package/dist/{ad-writes-NALDYWOR.js.map → ad-writes-XE2IE4DS.js.map} +0 -0
  773. /package/dist/{ads-C47NA2HH.js.map → ads-AGYCVD62.js.map} +0 -0
  774. /package/dist/{ads-PV7GZXPR.js.map → ads-BCOSQALY.js.map} +0 -0
  775. /package/dist/{animate-FWWHSYPL.js.map → animate-AIZ3GS4J.js.map} +0 -0
  776. /package/dist/{audiences-VEKGLWBG.js.map → audiences-TGD5US2M.js.map} +0 -0
  777. /package/dist/{avatars-EKCKHCC3.js.map → avatars-467OSBD6.js.map} +0 -0
  778. /package/dist/{brand-C6PFGGQN.js.map → brand-YRTEPGBK.js.map} +0 -0
  779. /package/dist/{campaign-writes-SX52CJYW.js.map → campaign-writes-SXLZFYF6.js.map} +0 -0
  780. /package/dist/{campaigns-KZYZTXDS.js.map → campaigns-OYMXDGWX.js.map} +0 -0
  781. /package/dist/{campaigns-X3DPCCSN.js.map → campaigns-YS3OGQXO.js.map} +0 -0
  782. /package/dist/{canvas-DPCBGW7K.js.map → canvas-YQFG52IG.js.map} +0 -0
  783. /package/dist/{catalog-ME44ZRZF.js.map → catalog-XLXIM7IW.js.map} +0 -0
  784. /package/dist/{catalogs-G3YEVG6S.js.map → catalogs-BRXEDE56.js.map} +0 -0
  785. /package/dist/{chatgpt-QNUN63YS.js.map → chatgpt-7W75X3ER.js.map} +0 -0
  786. /package/dist/{chunk-7YCRFMXF.js.map → chunk-24EB7EDR.js.map} +0 -0
  787. /package/dist/{chunk-5ZDLTE5T.js.map → chunk-2AOE2MZQ.js.map} +0 -0
  788. /package/dist/{chunk-IBURXTL4.js.map → chunk-2VPBIT65.js.map} +0 -0
  789. /package/dist/{chunk-NPY4QUMQ.js.map → chunk-54C6YDGJ.js.map} +0 -0
  790. /package/dist/{chunk-LZ73CZGP.js.map → chunk-5WCSKQ7Z.js.map} +0 -0
  791. /package/dist/{chunk-3G3ZDLMI.js.map → chunk-5ZNTADVR.js.map} +0 -0
  792. /package/dist/{chunk-AEOSAVVL.js.map → chunk-6F7DVPOS.js.map} +0 -0
  793. /package/dist/{chunk-FD27ZDVP.js.map → chunk-6NY2GPR4.js.map} +0 -0
  794. /package/dist/{chunk-TT5R35PJ.js.map → chunk-6Y7ZBENQ.js.map} +0 -0
  795. /package/dist/{chunk-5Y5UAJWD.js.map → chunk-7CTMH5AK.js.map} +0 -0
  796. /package/dist/{chunk-35XWJEWH.js.map → chunk-7J6EHOH6.js.map} +0 -0
  797. /package/dist/{chunk-Z2EOC6PL.js.map → chunk-ASI4P6X2.js.map} +0 -0
  798. /package/dist/{chunk-2QHODRR6.js.map → chunk-C46GUI2S.js.map} +0 -0
  799. /package/dist/{chunk-K7FZXIOZ.js.map → chunk-CWYAELVG.js.map} +0 -0
  800. /package/dist/{chunk-MXYBTMKB.js.map → chunk-DCRPXOJJ.js.map} +0 -0
  801. /package/dist/{chunk-54UVGFX3.js.map → chunk-EAP4O4FE.js.map} +0 -0
  802. /package/dist/{chunk-K66OLA6Y.js.map → chunk-FPOGPFAG.js.map} +0 -0
  803. /package/dist/{chunk-JQJDXPCO.js.map → chunk-FUHN4MFY.js.map} +0 -0
  804. /package/dist/{chunk-S77PZVYM.js.map → chunk-FYGR3I2A.js.map} +0 -0
  805. /package/dist/{chunk-OZRUJVIQ.js.map → chunk-H3427GPU.js.map} +0 -0
  806. /package/dist/{chunk-KQTYTCKQ.js.map → chunk-HZUDRKGR.js.map} +0 -0
  807. /package/dist/{chunk-IR6D7K4H.js.map → chunk-I3ZR655O.js.map} +0 -0
  808. /package/dist/{chunk-J5IY3GVE.js.map → chunk-KMKEYI37.js.map} +0 -0
  809. /package/dist/{chunk-W3ZHJJVT.js.map → chunk-KS2QY6MK.js.map} +0 -0
  810. /package/dist/{chunk-GLCPTMPG.js.map → chunk-LYQJ4PZW.js.map} +0 -0
  811. /package/dist/{chunk-GBMP4F45.js.map → chunk-MACCF4JZ.js.map} +0 -0
  812. /package/dist/{chunk-CSYSX4D2.js.map → chunk-N4LAYIIN.js.map} +0 -0
  813. /package/dist/{chunk-4AUMTNVB.js.map → chunk-NA63BH7V.js.map} +0 -0
  814. /package/dist/{chunk-KFE3S63W.js.map → chunk-NCWCZY5P.js.map} +0 -0
  815. /package/dist/{chunk-4BQXAE7Z.js.map → chunk-NDEE6G2J.js.map} +0 -0
  816. /package/dist/{chunk-7ZHMGXE2.js.map → chunk-NJXNU2G6.js.map} +0 -0
  817. /package/dist/{chunk-HQSCJYZO.js.map → chunk-P5T7OZKV.js.map} +0 -0
  818. /package/dist/{chunk-VB6WJJR3.js.map → chunk-PZXCWSKV.js.map} +0 -0
  819. /package/dist/{chunk-MELOSESI.js.map → chunk-R25YLW6H.js.map} +0 -0
  820. /package/dist/{chunk-Y6O7EWYY.js.map → chunk-RL5CP7N6.js.map} +0 -0
  821. /package/dist/{chunk-HBTF25YG.js.map → chunk-RX2DKU3W.js.map} +0 -0
  822. /package/dist/{chunk-647RO73Q.js.map → chunk-ULG4QRTV.js.map} +0 -0
  823. /package/dist/{chunk-QRP3PXWN.js.map → chunk-VL43TNIP.js.map} +0 -0
  824. /package/dist/{chunk-SHL7LOC3.js.map → chunk-VLMBTPXU.js.map} +0 -0
  825. /package/dist/{chunk-LYBXCXJB.js.map → chunk-VNUNE5AB.js.map} +0 -0
  826. /package/dist/{chunk-KHRXPQID.js.map → chunk-VYQ3QJ3C.js.map} +0 -0
  827. /package/dist/{chunk-A4LOJ2VD.js.map → chunk-WGUQHAJY.js.map} +0 -0
  828. /package/dist/{chunk-ZEYEWPK6.js.map → chunk-WKQG6TER.js.map} +0 -0
  829. /package/dist/{chunk-ULJ5RFOV.js.map → chunk-XFGAUP5B.js.map} +0 -0
  830. /package/dist/{chunk-3IBYKLXR.js.map → chunk-ZDMTXQ2Q.js.map} +0 -0
  831. /package/dist/{connect-QCOGEPP4.js.map → connect-FCXNVTXG.js.map} +0 -0
  832. /package/dist/{conversion-report-N4HANYOB.js.map → conversion-report-XQBJ6LG4.js.map} +0 -0
  833. /package/dist/{conversion-writes-LW4HQKK5.js.map → conversion-writes-UBCVXP2E.js.map} +0 -0
  834. /package/dist/{conversions-TS723AZV.js.map → conversions-D236RTUK.js.map} +0 -0
  835. /package/dist/{creatives-SJTJU6VT.js.map → creatives-FXUQ5WSD.js.map} +0 -0
  836. /package/dist/{customers-4AWBFDUF.js.map → customers-XH2DMTFH.js.map} +0 -0
  837. /package/dist/{draft-THPZFASM.js.map → draft-MNFJ4G3C.js.map} +0 -0
  838. /package/dist/{feedback-XNJQ63DS.js.map → feedback-EIZKS4JU.js.map} +0 -0
  839. /package/dist/{find-OTDIX6V4.js.map → find-FRRHAPWX.js.map} +0 -0
  840. /package/dist/{fit-7237F5EB.js.map → fit-UOFYFJ4Q.js.map} +0 -0
  841. /package/dist/{fonts-EMMX3KII.js.map → fonts-MXR3ZKDX.js.map} +0 -0
  842. /package/dist/{ga4-UDQ2HA2J.js.map → ga4-DV2AXCSL.js.map} +0 -0
  843. /package/dist/{generate-MMBYB44G.js.map → generate-3XYYITU6.js.map} +0 -0
  844. /package/dist/{google-M7KEXVK5.js.map → google-6OGZX47I.js.map} +0 -0
  845. /package/dist/{google-KTO3PLEU.js.map → google-QYYYSSXI.js.map} +0 -0
  846. /package/dist/{gsc-P3QYGDV2.js.map → gsc-TAKOF7J5.js.map} +0 -0
  847. /package/dist/{history-DBIEYQHY.js.map → history-Q3QCT64S.js.map} +0 -0
  848. /package/dist/{icon-I43F77FV.js.map → icon-L4RSS6PZ.js.map} +0 -0
  849. /package/dist/{ideas-MIDU7YOA.js.map → ideas-NFOW3HKJ.js.map} +0 -0
  850. /package/dist/{images-S254MS6O.js.map → images-2EFFUNNV.js.map} +0 -0
  851. /package/dist/{ingest-YV2NLDBE.js.map → ingest-2EIKN4QC.js.map} +0 -0
  852. /package/dist/{insights-ZIU6FJMS.js.map → insights-LNAXV2CG.js.map} +0 -0
  853. /package/dist/{inspiration-P265QJ2H.js.map → inspiration-S3DU4CMQ.js.map} +0 -0
  854. /package/dist/{landing-CJYGWCK4.js.map → landing-2ZB46LXH.js.map} +0 -0
  855. /package/dist/{line-items-7ZGIKEF2.js.map → line-items-5NECXUZT.js.map} +0 -0
  856. /package/dist/{locations-74TPQWAT.js.map → locations-2NKBJKBT.js.map} +0 -0
  857. /package/dist/{logo-2IP663QO.js.map → logo-Q5D7PZY6.js.map} +0 -0
  858. /package/dist/{lookup-XK45W2SH.js.map → lookup-ETWY47F7.js.map} +0 -0
  859. /package/dist/{media-sources-O6ZRUA3N.js.map → media-sources-ZXHEEP6T.js.map} +0 -0
  860. /package/dist/{models-7U3GRYHF.js.map → models-3Z6MDHQW.js.map} +0 -0
  861. /package/dist/{performance-6QW2KEEQ.js.map → performance-UF5VTY2U.js.map} +0 -0
  862. /package/dist/{pixels-45A55MOP.js.map → pixels-TZPF746S.js.map} +0 -0
  863. /package/dist/{promoted-tweets-SURKMHFI.js.map → promoted-tweets-LZKS5JIF.js.map} +0 -0
  864. /package/dist/{reddit-GIP3ADMS.js.map → reddit-NU2N3LZD.js.map} +0 -0
  865. /package/dist/{research-EY7C7JJY.js.map → research-FMM6AWZC.js.map} +0 -0
  866. /package/dist/{run-XQ7EM3JT.js.map → run-EUO34T2J.js.map} +0 -0
  867. /package/dist/{scheduled-agents-6U44QE76.js.map → scheduled-agents-N4LJRM4C.js.map} +0 -0
  868. /package/dist/{sources-YBQ6KPFM.js.map → sources-FQ2UZTHL.js.map} +0 -0
  869. /package/dist/{stock-2YCDN3N6.js.map → stock-KXJ26BY4.js.map} +0 -0
  870. /package/dist/{studio-C5K3YX3P.js.map → studio-SYKOSNDB.js.map} +0 -0
  871. /package/dist/{sync-definition-ILS2B2BJ.js.map → sync-definition-QR2N233R.js.map} +0 -0
  872. /package/dist/{tags-3WPW6PTV.js.map → tags-PYWFSBTR.js.map} +0 -0
  873. /package/dist/{targeting-criteria-NR47AF5C.js.map → targeting-criteria-RJFLFICN.js.map} +0 -0
  874. /package/dist/{testimonials-CVC4YIXO.js.map → testimonials-DII5DYLR.js.map} +0 -0
  875. /package/dist/{videos-YSXYGTBM.js.map → videos-LICG6ACJ.js.map} +0 -0
  876. /package/dist/{viewer-check-45T2HLAH.js.map → viewer-check-L4B4LIAX.js.map} +0 -0
  877. /package/dist/{winning-ads-ASH5DSV3.js.map → winning-ads-C6S2C5VP.js.map} +0 -0
  878. /package/dist/{x-BFSKFCZD.js.map → x-CZHRC6U7.js.map} +0 -0
@@ -1,122 +0,0 @@
1
- import {
2
- CHATGPT_ADS_GRANULARITIES,
3
- CHATGPT_ADS_LEVELS,
4
- CHATGPT_ADS_METRICS,
5
- CHATGPT_ADS_REFERENCE,
6
- CHATGPT_ADS_SEGMENTS,
7
- chatgptAdsInsightsRequestSchema,
8
- insightsRequestFromArgs,
9
- runChatgptRead
10
- } from "./chunk-KLBTXETO.js";
11
- import {
12
- writeJsonEnvelope
13
- } from "./chunk-VFIOJD5M.js";
14
- import {
15
- apiPost
16
- } from "./chunk-XBOK23HI.js";
17
- import "./chunk-IFWP3ZDO.js";
18
- import "./chunk-NAWWC5I3.js";
19
- import {
20
- registerSchema
21
- } from "./chunk-NU7JSWVA.js";
22
- import "./chunk-YQSBHWOI.js";
23
-
24
- // src/commands/ads/chatgpt/insights.ts
25
- import { defineCommand } from "citty";
26
- var args = {
27
- level: {
28
- type: "string",
29
- description: `What one row is: ${CHATGPT_ADS_LEVELS.join("|")} (default campaign)`,
30
- required: false
31
- },
32
- "campaign-id": { type: "string", description: "Report on one campaign (cmpn_\u2026)", required: false },
33
- "ad-group-id": { type: "string", description: "Report on one ad group (adgrp_\u2026)", required: false },
34
- "ad-id": { type: "string", description: "Report on one ad (ad_\u2026)", required: false },
35
- days: {
36
- type: "string",
37
- description: "Last N complete days, ending the account's yesterday (default 7)",
38
- required: false
39
- },
40
- since: {
41
- type: "string",
42
- description: "First day, YYYY-MM-DD, account timezone (instead of --days)",
43
- required: false
44
- },
45
- until: { type: "string", description: "Last day, inclusive, YYYY-MM-DD", required: false },
46
- granularity: {
47
- type: "string",
48
- description: `${CHATGPT_ADS_GRANULARITIES.join("|")} (default none: one total per row)`,
49
- required: false
50
- },
51
- segment: {
52
- type: "string",
53
- description: `Break rows down by one of ${CHATGPT_ADS_SEGMENTS.join("|")}`,
54
- required: false
55
- },
56
- metrics: {
57
- type: "string",
58
- description: `CSV of ${CHATGPT_ADS_METRICS.join(",")} (default impressions,clicks,spend,ctr,cpc,conversions,cpa)`,
59
- required: false
60
- },
61
- sort: { type: "string", description: "Metric to rank rows by, highest first", required: false },
62
- limit: { type: "string", description: "Rows, 1-2000 (default 200)", required: false }
63
- };
64
- registerSchema({
65
- command: "ads.chatgpt.insights",
66
- description: "Performance of the connected ChatGPT Ads account: impressions, clicks, spend, CTR, CPC, CPM, conversions, CPA, attributed sales and ROAS, per account, campaign, ad group or ad, over a window, optionally per day and broken down by country, device, platform or product. Spend and costs are in the account currency; null means not reported, not zero.",
67
- args
68
- });
69
- function insightsHints(report) {
70
- const hints = [];
71
- if (report.rows.length === 0) {
72
- hints.push(
73
- "No delivery in this window. Check `baker ads chatgpt campaigns` for serving issues before concluding the ads do not work."
74
- );
75
- }
76
- if (report.truncated) {
77
- hints.push("More rows matched than --limit allowed. Narrow the report or raise --limit (max 2000).");
78
- }
79
- hints.push(
80
- "Conversions come from ChatGPT Ads' own pixel or Conversions API and take at least a day to appear; the most recent days are still filling in."
81
- );
82
- return hints;
83
- }
84
- var insightsCommand = defineCommand({
85
- meta: {
86
- name: "insights",
87
- description: `How a ChatGPT Ads account performs. Start here for "how are the ChatGPT campaigns doing".
88
-
89
- Examples:
90
- baker ads chatgpt insights # last 7 days, one row per campaign
91
- baker ads chatgpt insights --days 30 --granularity daily --level account
92
- baker ads chatgpt insights --campaign-id cmpn_123 --level ad --sort spend
93
- baker ads chatgpt insights --segment country --metrics spend,clicks,conversions
94
- baker ads chatgpt insights --since 2026-09-01 --until 2026-09-07 --metrics spend,order_created_roas`
95
- },
96
- args,
97
- run: async ({ args: input }) => {
98
- const parsed = chatgptAdsInsightsRequestSchema.safeParse(insightsRequestFromArgs(input));
99
- if (!parsed.success) {
100
- const message = parsed.error.issues[0]?.message ?? "Invalid report request";
101
- writeJsonEnvelope({
102
- ok: false,
103
- error: {
104
- code: "VALIDATION_ERROR",
105
- message,
106
- fix: { action: "retry_with_modified_query", explanation: message },
107
- retryable: false
108
- }
109
- });
110
- process.exit(1);
111
- }
112
- await runChatgptRead(
113
- CHATGPT_ADS_REFERENCE.insights,
114
- () => apiPost("/api/ads/chatgpt/insights", parsed.data),
115
- insightsHints
116
- );
117
- }
118
- });
119
- export {
120
- insightsCommand
121
- };
122
- //# sourceMappingURL=insights-ZIU6FJMS.js.map
@@ -1,189 +0,0 @@
1
- import {
2
- fetchRunRecord
3
- } from "./chunk-A4LOJ2VD.js";
4
- import {
5
- findWorkspaceRoot
6
- } from "./chunk-DZSIUEGH.js";
7
- import "./chunk-HRYOZUSK.js";
8
- import "./chunk-VVZBBKRC.js";
9
- import "./chunk-YBMVHGY3.js";
10
- import "./chunk-XF4JUKVF.js";
11
- import "./chunk-GXDLWBOY.js";
12
- import "./chunk-TEINLN64.js";
13
- import "./chunk-ZJWUBJYQ.js";
14
- import "./chunk-NE4F3FHN.js";
15
- import {
16
- ApiError
17
- } from "./chunk-XBOK23HI.js";
18
- import "./chunk-IFWP3ZDO.js";
19
- import "./chunk-NAWWC5I3.js";
20
- import "./chunk-NU7JSWVA.js";
21
- import "./chunk-YQSBHWOI.js";
22
-
23
- // src/commands/canvas/inspect.ts
24
- import { execFile } from "child_process";
25
- import { readdir, readFile, stat } from "fs/promises";
26
- import path from "path";
27
- import { promisify } from "util";
28
- import { defineCommand } from "citty";
29
- var execFileAsync = promisify(execFile);
30
- var inspectCommand = defineCommand({
31
- meta: {
32
- name: "inspect",
33
- description: "Dump a one-page summary of a canvas run: per-node duration + cache status, the run's outputs, and optionally three thumbnail frames per video output. Pass a run_id (r_\u2026) or an absolute run directory. A run whose folder is not in this workspace (an older version, or one rendered in another chat) is read from the company's run history instead: its status, stats, per-node results and the durable URL of every output."
34
- },
35
- args: {
36
- run: { type: "positional", required: true, description: "Run id (e.g. r_01K...) or absolute run directory" },
37
- "outputs-dir": { type: "string", description: "Per-run outputs root (default <workspace root>/canvas, where `canvas run` writes)" },
38
- thumbnails: {
39
- type: "boolean",
40
- description: "Extract start/middle/end frames from every video output in the local run folder (requires ffmpeg)"
41
- }
42
- },
43
- async run({ args }) {
44
- const cwd = process.cwd();
45
- const outputsDir = args["outputs-dir"] ? path.resolve(String(args["outputs-dir"])) : path.join(findWorkspaceRoot(cwd) ?? cwd, "canvas");
46
- const runArg = String(args.run);
47
- const runDir = await localRunDir(runArg, outputsDir);
48
- if (!runDir) {
49
- if (path.isAbsolute(runArg)) fail("not_found", `${runArg} is not a run directory`);
50
- await inspectFromHistory(runArg, path.join(outputsDir, runArg));
51
- return;
52
- }
53
- const manifest = await loadManifest(runDir);
54
- const files = await listRunFiles(runDir);
55
- const videos = files.filter((f) => isVideoFile(f.path));
56
- let thumbnails = [];
57
- if (args.thumbnails) {
58
- thumbnails = await extractThumbnails(videos.map((v) => v.path));
59
- }
60
- const summary = {
61
- ok: true,
62
- source: "local",
63
- run_id: manifest.run_id ?? path.basename(runDir),
64
- run_dir: runDir,
65
- stats: manifest.stats ?? null,
66
- output: manifest.output ?? null,
67
- node_runs: manifest.node_runs ?? [],
68
- files: files.map((f) => ({ name: f.name, path: f.path, size_bytes: f.size })),
69
- thumbnails
70
- };
71
- process.stdout.write(`${JSON.stringify(summary, null, 2)}
72
- `);
73
- }
74
- });
75
- async function localRunDir(run, outputsDir) {
76
- const candidate = path.isAbsolute(run) ? run : path.join(outputsDir, run);
77
- const s = await stat(candidate).catch(() => null);
78
- return s?.isDirectory() ? candidate : null;
79
- }
80
- async function inspectFromHistory(runId, expectedDir) {
81
- let run;
82
- try {
83
- run = await fetchRunRecord(runId);
84
- } catch (e) {
85
- const reason = e instanceof ApiError ? e.message : e instanceof Error ? e.message : String(e);
86
- fail("unavailable", `No run folder at ${expectedDir}, and the run history could not be read (${reason}).`);
87
- }
88
- if (!run) {
89
- fail(
90
- "not_found",
91
- `No run "${runId}": there is no folder at ${expectedDir} and the company's run history has no run by that id.`
92
- );
93
- }
94
- const summary = {
95
- ok: true,
96
- source: "run_history",
97
- run_id: run.runId,
98
- creative: run.creativeSlug ?? null,
99
- status: run.status,
100
- ...run.errorMessage ? { error: run.errorMessage } : {},
101
- stats: {
102
- total_nodes: run.stats.totalNodes,
103
- cached_nodes: run.stats.cachedNodes,
104
- total_credits: run.stats.totalCredits,
105
- duration_ms: run.stats.durationMs
106
- },
107
- outputs: run.finalOutputs,
108
- node_runs: run.nodes.map((node) => ({
109
- node_id: node.nodeId,
110
- node_type: node.nodeType,
111
- cached: node.cached,
112
- duration_ms: node.durationMs,
113
- credits: node.credits,
114
- ...node.status ? { status: node.status } : {},
115
- outputs: node.outputs
116
- })),
117
- ...run.review ? { review: run.review } : {},
118
- hints: [
119
- "This run's folder is not in this workspace, so there are no local files: every output above is a durable URL. To render it again here, run `baker canvas run --slug <creative>`."
120
- ]
121
- };
122
- process.stdout.write(`${JSON.stringify(summary, null, 2)}
123
- `);
124
- }
125
- function fail(code, message) {
126
- process.stderr.write(`${JSON.stringify({ ok: false, error: { code, message } }, null, 2)}
127
- `);
128
- process.exit(2);
129
- }
130
- async function loadManifest(runDir) {
131
- const manifestPath = path.join(runDir, "manifest.json");
132
- try {
133
- const raw = await readFile(manifestPath, "utf-8");
134
- return JSON.parse(raw);
135
- } catch {
136
- return {};
137
- }
138
- }
139
- async function listRunFiles(runDir) {
140
- const out = [];
141
- const names = await readdir(runDir);
142
- for (const name of names) {
143
- const abs = path.join(runDir, name);
144
- const s = await stat(abs).catch(() => null);
145
- if (!s?.isFile()) continue;
146
- out.push({ name, path: abs, size: s.size });
147
- }
148
- out.sort((a, b) => a.name.localeCompare(b.name));
149
- return out;
150
- }
151
- function isVideoFile(p) {
152
- return /\.(mp4|webm|mov)$/i.test(p);
153
- }
154
- async function extractThumbnails(videoPaths) {
155
- const out = [];
156
- for (const v of videoPaths) {
157
- const duration = await probeDuration(v).catch(() => null);
158
- if (duration === null) {
159
- out.push({ video: v, frames: [] });
160
- continue;
161
- }
162
- const frames = [];
163
- const checkpoints = [0.05, 0.5, 0.95];
164
- const base = v.replace(/\.[^.]+$/, "");
165
- for (const ratio of checkpoints) {
166
- const at = Math.max(0, Math.min(duration * ratio, duration - 0.01));
167
- const dest = `${base}__frame_${Math.round(ratio * 100).toString().padStart(2, "0")}.png`;
168
- try {
169
- await execFileAsync("ffmpeg", ["-ss", at.toFixed(3), "-i", v, "-frames:v", "1", "-y", dest]);
170
- frames.push(dest);
171
- } catch {
172
- }
173
- }
174
- out.push({ video: v, frames });
175
- }
176
- return out;
177
- }
178
- async function probeDuration(filePath) {
179
- const { stdout } = await execFileAsync(
180
- "ffprobe",
181
- ["-v", "error", "-show_entries", "format=duration", "-of", "csv=p=0", filePath],
182
- { encoding: "utf-8" }
183
- );
184
- return Number.parseFloat(stdout.trim());
185
- }
186
- export {
187
- inspectCommand
188
- };
189
- //# sourceMappingURL=inspect-Q5NHBBHX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/canvas/inspect.ts"],"sourcesContent":["import { execFile } from \"node:child_process\";\nimport { readdir, readFile, stat } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { promisify } from \"node:util\";\nimport { defineCommand } from \"citty\";\nimport { ApiError } from \"../../client.ts\";\nimport { findWorkspaceRoot } from \"./normalize-paths.ts\";\nimport { fetchRunRecord } from \"./run-history.ts\";\n\nconst execFileAsync = promisify(execFile);\n\ntype ManifestNodeRun = {\n node_id: string;\n node_type: string;\n cached: boolean;\n duration_ms: number;\n credits: number;\n};\n\ntype Manifest = {\n run_id: string;\n output?: unknown;\n stats?: { total_nodes: number; cached_nodes: number; total_credits: number; duration_ms: number };\n node_runs?: ManifestNodeRun[];\n};\n\nexport const inspectCommand = defineCommand({\n meta: {\n name: \"inspect\",\n description:\n \"Dump a one-page summary of a canvas run: per-node duration + cache status, the run's outputs, and optionally three thumbnail frames per video output. Pass a run_id (r_…) or an absolute run directory. A run whose folder is not in this workspace (an older version, or one rendered in another chat) is read from the company's run history instead: its status, stats, per-node results and the durable URL of every output.\",\n },\n args: {\n run: { type: \"positional\", required: true, description: \"Run id (e.g. r_01K...) or absolute run directory\" },\n \"outputs-dir\": { type: \"string\", description: \"Per-run outputs root (default <workspace root>/canvas, where `canvas run` writes)\" },\n thumbnails: {\n type: \"boolean\",\n description: \"Extract start/middle/end frames from every video output in the local run folder (requires ffmpeg)\",\n },\n },\n async run({ args }) {\n const cwd = process.cwd();\n const outputsDir = args[\"outputs-dir\"]\n ? path.resolve(String(args[\"outputs-dir\"]))\n : path.join(findWorkspaceRoot(cwd) ?? cwd, \"canvas\");\n const runArg = String(args.run);\n const runDir = await localRunDir(runArg, outputsDir);\n if (!runDir) {\n if (path.isAbsolute(runArg)) fail(\"not_found\", `${runArg} is not a run directory`);\n await inspectFromHistory(runArg, path.join(outputsDir, runArg));\n return;\n }\n\n const manifest = await loadManifest(runDir);\n const files = await listRunFiles(runDir);\n const videos = files.filter((f) => isVideoFile(f.path));\n let thumbnails: Array<{ video: string; frames: string[] }> = [];\n if (args.thumbnails) {\n thumbnails = await extractThumbnails(videos.map((v) => v.path));\n }\n\n const summary = {\n ok: true,\n source: \"local\",\n run_id: manifest.run_id ?? path.basename(runDir),\n run_dir: runDir,\n stats: manifest.stats ?? null,\n output: manifest.output ?? null,\n node_runs: manifest.node_runs ?? [],\n files: files.map((f) => ({ name: f.name, path: f.path, size_bytes: f.size })),\n thumbnails,\n };\n\n process.stdout.write(`${JSON.stringify(summary, null, 2)}\\n`);\n },\n});\n\n/** The run's local folder, or null when this workspace does not have it. */\nasync function localRunDir(run: string, outputsDir: string): Promise<string | null> {\n const candidate = path.isAbsolute(run) ? run : path.join(outputsDir, run);\n const s = await stat(candidate).catch(() => null);\n return s?.isDirectory() ? candidate : null;\n}\n\n/** The run as the company's run history keeps it: no local files, durable output URLs. */\nasync function inspectFromHistory(runId: string, expectedDir: string): Promise<void> {\n let run: Awaited<ReturnType<typeof fetchRunRecord>>;\n try {\n run = await fetchRunRecord(runId);\n } catch (e) {\n const reason = e instanceof ApiError ? e.message : e instanceof Error ? e.message : String(e);\n fail(\"unavailable\", `No run folder at ${expectedDir}, and the run history could not be read (${reason}).`);\n }\n if (!run) {\n fail(\n \"not_found\",\n `No run \"${runId}\": there is no folder at ${expectedDir} and the company's run history has no run by that id.`,\n );\n }\n const summary = {\n ok: true,\n source: \"run_history\",\n run_id: run.runId,\n creative: run.creativeSlug ?? null,\n status: run.status,\n ...(run.errorMessage ? { error: run.errorMessage } : {}),\n stats: {\n total_nodes: run.stats.totalNodes,\n cached_nodes: run.stats.cachedNodes,\n total_credits: run.stats.totalCredits,\n duration_ms: run.stats.durationMs,\n },\n outputs: run.finalOutputs,\n node_runs: run.nodes.map((node) => ({\n node_id: node.nodeId,\n node_type: node.nodeType,\n cached: node.cached,\n duration_ms: node.durationMs,\n credits: node.credits,\n ...(node.status ? { status: node.status } : {}),\n outputs: node.outputs,\n })),\n ...(run.review ? { review: run.review } : {}),\n hints: [\n \"This run's folder is not in this workspace, so there are no local files: every output above is a durable URL. To render it again here, run `baker canvas run --slug <creative>`.\",\n ],\n };\n process.stdout.write(`${JSON.stringify(summary, null, 2)}\\n`);\n}\n\nfunction fail(code: string, message: string): never {\n process.stderr.write(`${JSON.stringify({ ok: false, error: { code, message } }, null, 2)}\\n`);\n process.exit(2);\n}\n\nasync function loadManifest(runDir: string): Promise<Manifest> {\n const manifestPath = path.join(runDir, \"manifest.json\");\n try {\n const raw = await readFile(manifestPath, \"utf-8\");\n return JSON.parse(raw) as Manifest;\n } catch {\n return {} as Manifest;\n }\n}\n\ntype RunFile = { name: string; path: string; size: number };\nasync function listRunFiles(runDir: string): Promise<RunFile[]> {\n const out: RunFile[] = [];\n const names = await readdir(runDir);\n for (const name of names) {\n const abs = path.join(runDir, name);\n const s = await stat(abs).catch(() => null);\n if (!s?.isFile()) continue;\n out.push({ name, path: abs, size: s.size });\n }\n out.sort((a, b) => a.name.localeCompare(b.name));\n return out;\n}\n\nfunction isVideoFile(p: string): boolean {\n return /\\.(mp4|webm|mov)$/i.test(p);\n}\n\nasync function extractThumbnails(videoPaths: string[]): Promise<Array<{ video: string; frames: string[] }>> {\n const out: Array<{ video: string; frames: string[] }> = [];\n for (const v of videoPaths) {\n const duration = await probeDuration(v).catch(() => null);\n if (duration === null) {\n out.push({ video: v, frames: [] });\n continue;\n }\n const frames: string[] = [];\n const checkpoints = [0.05, 0.5, 0.95];\n const base = v.replace(/\\.[^.]+$/, \"\");\n for (const ratio of checkpoints) {\n const at = Math.max(0, Math.min(duration * ratio, duration - 0.01));\n const dest = `${base}__frame_${Math.round(ratio * 100)\n .toString()\n .padStart(2, \"0\")}.png`;\n try {\n await execFileAsync(\"ffmpeg\", [\"-ss\", at.toFixed(3), \"-i\", v, \"-frames:v\", \"1\", \"-y\", dest]);\n frames.push(dest);\n } catch {\n // skip — best-effort; thumbnail extraction is non-fatal.\n }\n }\n out.push({ video: v, frames });\n }\n return out;\n}\n\nasync function probeDuration(filePath: string): Promise<number> {\n const { stdout } = await execFileAsync(\n \"ffprobe\",\n [\"-v\", \"error\", \"-show_entries\", \"format=duration\", \"-of\", \"csv=p=0\", filePath],\n { encoding: \"utf-8\" },\n );\n return Number.parseFloat(stdout.trim());\n}\n"],"mappings":"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","names":[]}
@@ -1,53 +0,0 @@
1
- import "./chunk-YQSBHWOI.js";
2
-
3
- // src/commands/landing/inspiration/index.ts
4
- import { defineCommand } from "citty";
5
- var inspirationCommand = defineCommand({
6
- meta: {
7
- name: "inspiration",
8
- description: `Reference library of real landing-page sections \u2014 look at how good pages actually solve a problem before you design one.
9
-
10
- Start here: \`baker landing inspiration search "<what you want to see>"\` during research, BEFORE you write the Direction Contract.
11
-
12
- This is inspiration, never a clipboard. Take the mechanism \u2014 what the eye hits first, what proof arrives before the ask, how the grid is split. The words are never yours to reuse: shipping a reference's headline is a Tier 0 message-match failure.
13
-
14
- Subcommands:
15
- baker landing inspiration search "<query>" \u2014 search by look, section type, composition, register or motion; saves screenshots you can Read
16
- baker landing inspiration view <id> \u2014 one section in full: tokens, motion filmstrip, why it works, what to change
17
- baker landing inspiration code <id> \u2014 its standalone HTML+CSS, for structure only
18
- baker landing inspiration page <id> \u2014 a whole page as a sequence: how it orders its sections
19
- baker landing inspiration sequences "<q>" \u2014 what follows what across MANY pages: openers, transitions, closers
20
- baker landing inspiration add <url> \u2014 add a page to the library and save it to this company (returns immediately); --refresh re-studies a page that changed
21
- baker landing inspiration favorites \u2014 what this company has saved; the default search scope
22
- baker landing inspiration favorite <id> \u2014 save a section
23
- baker landing inspiration unfavorite <id> \u2014 unsave a section
24
- baker landing inspiration retry-failed \u2014 study again every saved page that failed
25
- baker landing inspiration scrape <url> \u2014 internal/ops: run the capture locally
26
-
27
- Examples:
28
- baker landing inspiration search "pricing with a monthly/annual toggle" --max-rank 3
29
- baker landing inspiration search "dark developer hero with a terminal" --register dev-tool-minimal --scope all
30
- baker landing inspiration search "testimonial wall with faces and company logos" --motion scroll-reveal
31
- baker landing inspiration sequences "b2b saas pricing page" --scope all
32
- baker landing inspiration add https://linear.app
33
-
34
- Full guide: __tooling__/docs/tools/baker/landing.md`
35
- },
36
- subCommands: {
37
- search: () => import("./search-742XSULP.js").then((m) => m.searchCommand),
38
- view: () => import("./view-NPAG66QK.js").then((m) => m.viewCommand),
39
- code: () => import("./code-YS6ZMGX3.js").then((m) => m.codeCommand),
40
- page: () => import("./page-GS3WLT2C.js").then((m) => m.pageCommand),
41
- sequences: () => import("./sequences-OIPVR7JL.js").then((m) => m.sequencesCommand),
42
- add: () => import("./add-577QWMCF.js").then((m) => m.addCommand),
43
- favorites: () => import("./favorites-NSGF4OV5.js").then((m) => m.favoritesCommand),
44
- favorite: () => import("./favorites-NSGF4OV5.js").then((m) => m.favoriteCommand),
45
- unfavorite: () => import("./favorites-NSGF4OV5.js").then((m) => m.unfavoriteCommand),
46
- "retry-failed": () => import("./retry-failed-6HXPUVXJ.js").then((m) => m.retryFailedCommand),
47
- scrape: () => import("./scrape-ETAMW43A.js").then((m) => m.scrapeCommand)
48
- }
49
- });
50
- export {
51
- inspirationCommand
52
- };
53
- //# sourceMappingURL=inspiration-P265QJ2H.js.map
@@ -1,197 +0,0 @@
1
- import {
2
- keywordMetricsHints
3
- } from "./chunk-OZRUJVIQ.js";
4
- import {
5
- RESEARCH_DATA_NOTE,
6
- handleResearchError,
7
- writeResearchHints,
8
- writeResearchJson,
9
- writeResearchOutput
10
- } from "./chunk-WNFIJAUO.js";
11
- import {
12
- buildResearchQueryContext,
13
- warnDefaults
14
- } from "./chunk-LIQ4SQ2T.js";
15
- import "./chunk-XCM6XWOB.js";
16
- import {
17
- RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS
18
- } from "./chunk-XF4JUKVF.js";
19
- import "./chunk-GXDLWBOY.js";
20
- import "./chunk-TEINLN64.js";
21
- import "./chunk-ZJWUBJYQ.js";
22
- import "./chunk-NE4F3FHN.js";
23
- import {
24
- apiPost
25
- } from "./chunk-XBOK23HI.js";
26
- import "./chunk-IFWP3ZDO.js";
27
- import "./chunk-NAWWC5I3.js";
28
- import {
29
- registerSchema
30
- } from "./chunk-NU7JSWVA.js";
31
- import "./chunk-YQSBHWOI.js";
32
-
33
- // src/commands/research/keyword-metrics.ts
34
- import { defineCommand } from "citty";
35
-
36
- // src/commands/research/keyword-metrics-rows.ts
37
- var KEYWORD_METRICS_SOURCE = "keyword_planner_estimate_via_dataforseo";
38
- function toOutputRow(row, options) {
39
- const out = {
40
- source: KEYWORD_METRICS_SOURCE,
41
- keyword: row.keyword,
42
- planner_search_volume: row.search_volume,
43
- planner_cpc: row.cpc,
44
- planner_low_top_of_page_bid: row.low_top_of_page_bid,
45
- planner_high_top_of_page_bid: row.high_top_of_page_bid,
46
- planner_competition: row.competition,
47
- planner_competition_index: row.competition_index
48
- };
49
- if (options.clickstream) {
50
- out.clickstream_search_volume = row.clickstream_search_volume;
51
- }
52
- if (options.full) {
53
- out.keyword_difficulty = row.keyword_difficulty;
54
- out.main_intent = row.main_intent;
55
- out.planner_monthly_searches = row.monthly_searches;
56
- }
57
- return out;
58
- }
59
- function keywordMetricsFields(options) {
60
- const fields = {
61
- source: `Always "${KEYWORD_METRICS_SOURCE}". Every planner_ column below is Google's Keyword Planner ESTIMATE of total market volume, resold by DataForSEO \u2014 the same number \`baker ads google keywords metrics\` returns, not an independent measurement of it. Columns without the planner_ prefix are DataForSEO's own.`,
62
- keyword: "The keyword asked for. A row with every metric null means DataForSEO holds no data on it \u2014 not that nobody searches it.",
63
- planner_search_volume: "ESTIMATE: average monthly searches across the whole market, last 12 months",
64
- planner_cpc: "ESTIMATE: average cost per click in USD (a single blended figure, not a top-of-page range)",
65
- planner_low_top_of_page_bid: "ESTIMATE: low-range top-of-page bid in USD",
66
- planner_high_top_of_page_bid: "ESTIMATE: high-range top-of-page bid in USD",
67
- planner_competition: "ESTIMATE: competition level \u2014 LOW, MEDIUM or HIGH",
68
- planner_competition_index: "ESTIMATE: competition index 0-100 (higher = more advertisers)"
69
- };
70
- if (options.clickstream) {
71
- fields.clickstream_search_volume = "DataForSEO's OWN volume estimate, from clickstream panels \u2014 not Google's, and the only number here that is a genuine second opinion on demand. Expect it to differ from planner_search_volume; that is the point.";
72
- }
73
- if (options.full) {
74
- fields.keyword_difficulty = "DataForSEO's 0-100 estimate of how hard ranking in the organic top 10 would be";
75
- fields.main_intent = "DataForSEO's intent classification: informational, navigational, commercial or transactional";
76
- fields.planner_monthly_searches = "ESTIMATE: 12-month volume breakdown ({year, month, search_volume})";
77
- }
78
- return fields;
79
- }
80
-
81
- // src/commands/research/keyword-metrics.ts
82
- registerSchema({
83
- command: "research.keyword-metrics",
84
- description: "Search volume, CPC, top-of-page bids and competition for a list of keywords you name \u2014 no domain needed. This is the command for sizing a market you have keywords for; the domain-bound ones (keywords-for-site, keyword-gap) answer a different question and should not be used as a workaround for this one. The volume is Google's Keyword Planner figure resold by DataForSEO, so it is not a second opinion on `baker ads google keywords metrics` \u2014 for that, pass --clickstream. If --location and --language are omitted, defaults to United States (us) and English (en). The response includes a query_context object showing which location/language were used.",
85
- args: {
86
- keywords: {
87
- type: "string",
88
- description: `Comma-separated keywords (max ${RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS}, 80 chars each)`,
89
- required: true
90
- },
91
- location: {
92
- type: "string",
93
- description: "Country code (us, mx, br, es...) or DataForSEO location code. Defaults to us (United States) if omitted \u2014 always set this for non-US markets",
94
- required: false
95
- },
96
- language: {
97
- type: "string",
98
- description: "Language code or name. Defaults to en (English) if omitted \u2014 always set this for non-English markets",
99
- required: false
100
- },
101
- clickstream: {
102
- type: "boolean",
103
- description: "Also return DataForSEO's own panel-derived volume (clickstream_search_volume), the only genuinely independent estimate of demand available here. Costs 2x.",
104
- required: false
105
- },
106
- full: {
107
- type: "boolean",
108
- description: "Add keyword difficulty, search intent and the 12-month volume trend to each row",
109
- required: false
110
- },
111
- "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false }
112
- }
113
- });
114
- var keywordMetricsCommand = defineCommand({
115
- meta: {
116
- name: "keyword-metrics",
117
- description: `Volume, CPC and competition for keywords you name. No domain required.
118
-
119
- Numbers are Keyword Planner ESTIMATES of total market volume, resold by DataForSEO \u2014 every column carrying one is named planner_. Pass --clickstream for DataForSEO's own independent estimate alongside.
120
-
121
- Examples:
122
- baker research keyword-metrics "chatbot whatsapp,agente whatsapp ecommerce" --location mx --language es
123
- baker research keyword-metrics "chatbot whatsapp" --location br --language pt --clickstream
124
- baker research keyword-metrics "crm software,best crm" --full --output md`
125
- },
126
- args: {
127
- keywords: { type: "positional", description: "Comma-separated keywords", required: true },
128
- location: { type: "string", description: "Country code or location code (default: us)", required: false },
129
- language: { type: "string", description: "Language code or name (default: en)", required: false },
130
- clickstream: { type: "boolean", description: "Add DataForSEO's own volume estimate (costs 2x)", required: false },
131
- full: { type: "boolean", description: "Add difficulty, intent and the 12-month trend", required: false },
132
- output: { type: "string", description: "Format: json|csv|md|jsonl", required: false, default: "json" },
133
- "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false }
134
- },
135
- run: async ({ args }) => {
136
- const keywords = args.keywords.split(",").map((k) => k.trim()).filter(Boolean);
137
- if (keywords.length === 0) {
138
- writeResearchJson({
139
- ok: false,
140
- error: { code: "VALIDATION_ERROR", message: "Provide at least one keyword" }
141
- });
142
- process.exit(1);
143
- }
144
- if (keywords.length > RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS) {
145
- writeResearchJson({
146
- ok: false,
147
- error: {
148
- code: "VALIDATION_ERROR",
149
- message: `Maximum ${RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS} keywords per request`,
150
- fix: {
151
- action: "retry_with_changes",
152
- explanation: `You sent ${keywords.length}. Split the list into batches of ${RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS} and run the command once per batch \u2014 each batch is a separate charge, so batch by priority.`
153
- }
154
- }
155
- });
156
- process.exit(1);
157
- }
158
- const location = args.location || void 0;
159
- const language = args.language || void 0;
160
- const clickstream = Boolean(args.clickstream);
161
- const full = Boolean(args.full);
162
- const queryContext = buildResearchQueryContext(location, language);
163
- try {
164
- const result = await apiPost("/api/research/keyword-metrics", {
165
- keywords,
166
- location,
167
- language,
168
- includeClickstream: clickstream,
169
- skipCache: args["no-cache"] ? true : void 0
170
- });
171
- const columns = { clickstream, full };
172
- const rows = result.data.map((row) => toOutputRow(row, columns));
173
- const hints = keywordMetricsHints({ rows: result.data, asked: keywords, clickstream, queryContext });
174
- warnDefaults(queryContext);
175
- const format = args.output || "json";
176
- if (format !== "json") {
177
- writeResearchOutput(rows, format);
178
- writeResearchHints([...hints, RESEARCH_DATA_NOTE], format);
179
- return;
180
- }
181
- writeResearchJson({
182
- ok: true,
183
- data: rows,
184
- fields: keywordMetricsFields(columns),
185
- note: RESEARCH_DATA_NOTE,
186
- hints,
187
- query_context: queryContext
188
- });
189
- } catch (err) {
190
- handleResearchError(err);
191
- }
192
- }
193
- });
194
- export {
195
- keywordMetricsCommand
196
- };
197
- //# sourceMappingURL=keyword-metrics-PDY4ZXSP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/research/keyword-metrics.ts","../src/commands/research/keyword-metrics-rows.ts"],"sourcesContent":["import { RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS, type ResearchKeywordMetricsRow } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { buildResearchQueryContext, warnDefaults } from \"../../geo-context.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { keywordMetricsHints } from \"./hints.ts\";\nimport { keywordMetricsFields, toOutputRow } from \"./keyword-metrics-rows.ts\";\nimport {\n handleResearchError,\n RESEARCH_DATA_NOTE,\n writeResearchHints,\n writeResearchJson,\n writeResearchOutput,\n} from \"./output.ts\";\n\nregisterSchema({\n command: \"research.keyword-metrics\",\n description:\n \"Search volume, CPC, top-of-page bids and competition for a list of keywords you name — no domain needed. This is the command for sizing a market you have keywords for; the domain-bound ones (keywords-for-site, keyword-gap) answer a different question and should not be used as a workaround for this one. The volume is Google's Keyword Planner figure resold by DataForSEO, so it is not a second opinion on `baker ads google keywords metrics` — for that, pass --clickstream. If --location and --language are omitted, defaults to United States (us) and English (en). The response includes a query_context object showing which location/language were used.\",\n args: {\n keywords: {\n type: \"string\",\n description: `Comma-separated keywords (max ${RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS}, 80 chars each)`,\n required: true,\n },\n location: {\n type: \"string\",\n description:\n \"Country code (us, mx, br, es...) or DataForSEO location code. Defaults to us (United States) if omitted — always set this for non-US markets\",\n required: false,\n },\n language: {\n type: \"string\",\n description:\n \"Language code or name. Defaults to en (English) if omitted — always set this for non-English markets\",\n required: false,\n },\n clickstream: {\n type: \"boolean\",\n description:\n \"Also return DataForSEO's own panel-derived volume (clickstream_search_volume), the only genuinely independent estimate of demand available here. Costs 2x.\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"Add keyword difficulty, search intent and the 12-month volume trend to each row\",\n required: false,\n },\n \"no-cache\": { type: \"boolean\", description: \"Skip server cache, hit API directly\", required: false },\n },\n});\n\nexport const keywordMetricsCommand = defineCommand({\n meta: {\n name: \"keyword-metrics\",\n description: `Volume, CPC and competition for keywords you name. No domain required.\n\nNumbers are Keyword Planner ESTIMATES of total market volume, resold by DataForSEO — every column carrying one is named planner_. Pass --clickstream for DataForSEO's own independent estimate alongside.\n\nExamples:\n baker research keyword-metrics \"chatbot whatsapp,agente whatsapp ecommerce\" --location mx --language es\n baker research keyword-metrics \"chatbot whatsapp\" --location br --language pt --clickstream\n baker research keyword-metrics \"crm software,best crm\" --full --output md`,\n },\n args: {\n keywords: { type: \"positional\", description: \"Comma-separated keywords\", required: true },\n location: { type: \"string\", description: \"Country code or location code (default: us)\", required: false },\n language: { type: \"string\", description: \"Language code or name (default: en)\", required: false },\n clickstream: { type: \"boolean\", description: \"Add DataForSEO's own volume estimate (costs 2x)\", required: false },\n full: { type: \"boolean\", description: \"Add difficulty, intent and the 12-month trend\", required: false },\n output: { type: \"string\", description: \"Format: json|csv|md|jsonl\", required: false, default: \"json\" },\n \"no-cache\": { type: \"boolean\", description: \"Skip server cache, hit API directly\", required: false },\n },\n run: async ({ args }) => {\n const keywords = (args.keywords as string)\n .split(\",\")\n .map((k) => k.trim())\n .filter(Boolean);\n\n if (keywords.length === 0) {\n writeResearchJson({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: \"Provide at least one keyword\" },\n });\n process.exit(1);\n }\n if (keywords.length > RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS) {\n writeResearchJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `Maximum ${RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS} keywords per request`,\n fix: {\n action: \"retry_with_changes\",\n explanation: `You sent ${keywords.length}. Split the list into batches of ${RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS} and run the command once per batch — each batch is a separate charge, so batch by priority.`,\n },\n },\n });\n process.exit(1);\n }\n\n const location = (args.location as string) || undefined;\n const language = (args.language as string) || undefined;\n const clickstream = Boolean(args.clickstream);\n const full = Boolean(args.full);\n const queryContext = buildResearchQueryContext(location, language);\n\n try {\n const result = await apiPost<{ data: ResearchKeywordMetricsRow[] }>(\"/api/research/keyword-metrics\", {\n keywords,\n location,\n language,\n includeClickstream: clickstream,\n skipCache: args[\"no-cache\"] ? true : undefined,\n });\n\n const columns = { clickstream, full };\n const rows = result.data.map((row) => toOutputRow(row, columns));\n const hints = keywordMetricsHints({ rows: result.data, asked: keywords, clickstream, queryContext });\n\n warnDefaults(queryContext);\n const format = (args.output as string) || \"json\";\n if (format !== \"json\") {\n writeResearchOutput(rows, format);\n writeResearchHints([...hints, RESEARCH_DATA_NOTE], format);\n return;\n }\n writeResearchJson({\n ok: true,\n data: rows,\n fields: keywordMetricsFields(columns),\n note: RESEARCH_DATA_NOTE,\n hints,\n query_context: queryContext,\n });\n } catch (err) {\n handleResearchError(err);\n }\n },\n});\n","/**\n * Naming the rows of `baker research keyword-metrics` after where each number\n * came from.\n *\n * DataForSEO does not measure Google's search volume — it resells the Keyword\n * Planner figure, so `search_volume` here and `planner_avg_monthly_searches`\n * from `baker ads google keywords metrics` are one number with two names. A run\n * that did not know that presented the two side by side as agreeing sources and\n * reported the agreement as validation; they matched to the digit in all seven\n * rows because they are the same row. The only defence that survives a CSV in\n * /tmp is the column name, which is the same conclusion `ads/google/keywords/\n * provenance.ts` reached for the other half of the pair — so the same prefix is\n * used deliberately.\n *\n * The exception is clickstream: `clickstream_search_volume` is DataForSEO's own\n * panel-derived estimate and genuinely is a second opinion. It keeps its own\n * prefix so it can never be read as Google's, or Google's as it.\n */\nimport type { ResearchKeywordMetricsRow } from \"@baker/api\";\n\nexport const KEYWORD_METRICS_SOURCE = \"keyword_planner_estimate_via_dataforseo\";\n\nexport type KeywordMetricsOutputRow = Record<string, unknown>;\n\nexport interface KeywordMetricsColumnOptions {\n /** The request asked for DataForSEO's panel volume alongside Google's. */\n clickstream: boolean;\n /** Add difficulty, intent and the 12-month trend. */\n full: boolean;\n}\n\nexport function toOutputRow(\n row: ResearchKeywordMetricsRow,\n options: KeywordMetricsColumnOptions,\n): KeywordMetricsOutputRow {\n const out: KeywordMetricsOutputRow = {\n source: KEYWORD_METRICS_SOURCE,\n keyword: row.keyword,\n planner_search_volume: row.search_volume,\n planner_cpc: row.cpc,\n planner_low_top_of_page_bid: row.low_top_of_page_bid,\n planner_high_top_of_page_bid: row.high_top_of_page_bid,\n planner_competition: row.competition,\n planner_competition_index: row.competition_index,\n };\n if (options.clickstream) {\n out.clickstream_search_volume = row.clickstream_search_volume;\n }\n if (options.full) {\n out.keyword_difficulty = row.keyword_difficulty;\n out.main_intent = row.main_intent;\n out.planner_monthly_searches = row.monthly_searches;\n }\n return out;\n}\n\nexport function keywordMetricsFields(options: KeywordMetricsColumnOptions): Record<string, string> {\n const fields: Record<string, string> = {\n source: `Always \"${KEYWORD_METRICS_SOURCE}\". Every planner_ column below is Google's Keyword Planner ESTIMATE of total market volume, resold by DataForSEO — the same number \\`baker ads google keywords metrics\\` returns, not an independent measurement of it. Columns without the planner_ prefix are DataForSEO's own.`,\n keyword:\n \"The keyword asked for. A row with every metric null means DataForSEO holds no data on it — not that nobody searches it.\",\n planner_search_volume: \"ESTIMATE: average monthly searches across the whole market, last 12 months\",\n planner_cpc: \"ESTIMATE: average cost per click in USD (a single blended figure, not a top-of-page range)\",\n planner_low_top_of_page_bid: \"ESTIMATE: low-range top-of-page bid in USD\",\n planner_high_top_of_page_bid: \"ESTIMATE: high-range top-of-page bid in USD\",\n planner_competition: \"ESTIMATE: competition level — LOW, MEDIUM or HIGH\",\n planner_competition_index: \"ESTIMATE: competition index 0-100 (higher = more advertisers)\",\n };\n if (options.clickstream) {\n fields.clickstream_search_volume =\n \"DataForSEO's OWN volume estimate, from clickstream panels — not Google's, and the only number here that is a genuine second opinion on demand. Expect it to differ from planner_search_volume; that is the point.\";\n }\n if (options.full) {\n fields.keyword_difficulty = \"DataForSEO's 0-100 estimate of how hard ranking in the organic top 10 would be\";\n fields.main_intent = \"DataForSEO's intent classification: informational, navigational, commercial or transactional\";\n fields.planner_monthly_searches = \"ESTIMATE: 12-month volume breakdown ({year, month, search_volume})\";\n }\n return fields;\n}\n"],"mappings":"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","names":[]}