@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 +0,0 @@
1
- {"version":3,"sources":["../src/commands/videos/upload.ts"],"sourcesContent":["import { stat } from \"node:fs/promises\";\nimport { basename } from \"node:path\";\nimport { defineCommand } from \"citty\";\nimport { ApiError } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { detectVideoContentType, uploadLocalVideo } from \"./api.ts\";\nimport { runVideoIngest } from \"./ingest.ts\";\n\nregisterSchema({\n command: \"videos.upload\",\n description: \"Upload a video to Baker — a local file (via Mux direct upload) or a remote http(s) URL.\",\n args: {\n file: { type: \"string\", description: \"Local video file path, or a remote http(s) URL\", required: true },\n \"content-type\": {\n type: \"string\",\n description: \"MIME type (auto-detected from extension if omitted)\",\n required: false,\n },\n context: {\n type: \"string\",\n description:\n \"What this clip is and what it is for. Feeds the analysis, so it is the single highest-leverage flag here. Example: --context 'Customer testimonial from Maria, shot on her phone for the Q3 retargeting push'\",\n required: false,\n },\n \"dry-run\": {\n type: \"boolean\",\n description: \"Preview the operation without executing\",\n required: false,\n default: false,\n },\n },\n});\n\nfunction isRemoteUrl(value: string): boolean {\n return /^https?:\\/\\//i.test(value);\n}\n\nexport const uploadCommand = defineCommand({\n meta: {\n name: \"upload\",\n description:\n \"Upload a video to Baker — accepts a local file path OR a remote http(s) URL.\\n\\nLocal: auto-detects content type and uploads via Mux direct upload.\\nRemote: hands off to `videos ingest` (direct fetch, or download-then-upload for a YouTube/TikTok/Vimeo page).\\n\\nExamples:\\n baker videos upload ./demo.mp4\\n baker videos upload https://www.youtube.com/watch?v=abc123\",\n },\n args: {\n file: { type: \"positional\", description: \"Local video file path or remote http(s) URL\", required: false },\n \"content-type\": { type: \"string\", description: \"MIME type (local only — auto-detected)\", required: false },\n context: {\n type: \"string\",\n description:\n \"What this clip is and what it is for — who is on camera, which campaign, how it was shot. Start here: the analysis reads it, so it is what makes the clip findable later.\",\n required: false,\n },\n source: { type: \"string\", description: \"Provenance (URL mode only): url | youtube\", required: false },\n \"external-id\": { type: \"string\", description: \"Provider asset id (URL mode only)\", required: false },\n \"external-url\": { type: \"string\", description: \"Canonical page URL (URL mode only)\", required: false },\n \"dry-run\": { type: \"boolean\", description: \"Preview without executing\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const filePath = args.file as string | undefined;\n if (!filePath) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"File path or URL is required\" } });\n process.exit(1);\n }\n\n // A URL is the ingest command's job — same routing `images upload` does, so\n // one verb covers both and a pasted link never fails with ENOENT.\n if (isRemoteUrl(filePath)) {\n // Every option this verb shares with `ingest` is forwarded. `--context`\n // in particular: both commands call it the highest-leverage flag, and\n // dropping it here meant a pasted link was analysed with strictly less\n // to go on than the same file uploaded by hand — silently, since no\n // error fired and the \"no context given\" hint did not either.\n await runVideoIngest({\n url: filePath,\n source: args.source as string | undefined,\n externalId: args[\"external-id\"] as string | undefined,\n externalUrl: args[\"external-url\"] as string | undefined,\n context: args.context as string | undefined,\n dryRun: args[\"dry-run\"] === true,\n });\n return;\n }\n\n const contentType = (args[\"content-type\"] as string | undefined) || detectVideoContentType(filePath);\n const descriptionContext = args.context as string | undefined;\n\n if (args[\"dry-run\"]) {\n const fileStats = await stat(filePath);\n const originalFilename = basename(filePath);\n writeJson({\n ok: true,\n dryRun: true,\n operation: \"videos.upload\",\n params: { file: filePath, contentType, sizeBytes: fileStats.size, originalFilename, descriptionContext },\n });\n return;\n }\n\n const { videoId } = await uploadLocalVideo({ file: filePath, contentType, descriptionContext });\n\n writeJson({\n ok: true,\n data: { videoId },\n hints: descriptionContext\n ? undefined\n : [\n \"No --context given. Analysis runs on the frames and audio alone, so who is on camera and which campaign this belongs to will be guessed. Pass --context next time.\",\n ],\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":"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","names":[]}
@@ -1,127 +0,0 @@
1
- import {
2
- mappingCommandFor,
3
- proposeMappingFromTemplate
4
- } from "./chunk-SSJK7FEV.js";
5
- import "./chunk-EDLZGTGN.js";
6
- import {
7
- parseApiError
8
- } from "./chunk-GX6VAHY7.js";
9
- import {
10
- urlOptionsHints
11
- } from "./chunk-XCM6XWOB.js";
12
- import {
13
- getManagerIdForCustomer,
14
- resolveCustomerId,
15
- writeAdsJson,
16
- writeJsonEnvelope
17
- } from "./chunk-VFIOJD5M.js";
18
- import "./chunk-NE4F3FHN.js";
19
- import {
20
- ApiError,
21
- apiPost
22
- } from "./chunk-XBOK23HI.js";
23
- import "./chunk-IFWP3ZDO.js";
24
- import "./chunk-NAWWC5I3.js";
25
- import {
26
- registerSchema
27
- } from "./chunk-NU7JSWVA.js";
28
- import "./chunk-YQSBHWOI.js";
29
-
30
- // src/commands/ads/google/url-options.ts
31
- import { defineCommand } from "citty";
32
-
33
- // src/commands/ads/google/mapping-hints.ts
34
- function observedTemplates(report) {
35
- const values = [
36
- report.account.final_url_suffix,
37
- report.account.tracking_url_template,
38
- ...report.campaigns.overrides.flatMap((campaign) => [campaign.final_url_suffix, campaign.tracking_url_template])
39
- ];
40
- return values.flatMap((value) => value.state === "set" ? [value.value] : []);
41
- }
42
- function mappingHints(report) {
43
- const proposed = {};
44
- const unexplained = /* @__PURE__ */ new Map();
45
- for (const template of observedTemplates(report)) {
46
- const proposal = proposeMappingFromTemplate(template, "google");
47
- Object.assign(proposed, proposal.proposed);
48
- for (const param of proposal.unexplained) unexplained.set(param.name, param.value);
49
- }
50
- const hints = [];
51
- const command = mappingCommandFor("google", proposed);
52
- if (command !== "") {
53
- hints.push(
54
- `These URLs carry campaign parameters Baker does not read yet: ${Object.keys(proposed).join(", ")}. Until it is told, their values are not stored at all \u2014 only that the name appeared \u2014 so every keyword and campaign breakdown for this account will come back empty rather than wrong. The placeholders say what each one is, so run: ${command}`
55
- );
56
- }
57
- if (unexplained.size > 0) {
58
- const named = [...unexplained].map(([name, value]) => `${name}=${value}`).join(", ");
59
- hints.push(
60
- `These carry something no placeholder explains: ${named}. Do not guess \u2014 if it is a dimension, map it by name with \`baker analytics map --platform google --set <name>=<role>\`; if it is a session token or a cache buster, \`=ignore\` stops it being listed as something to deal with.`
61
- );
62
- }
63
- return hints;
64
- }
65
-
66
- // src/commands/ads/google/url-options.ts
67
- registerSchema({
68
- command: "ads.google.url-options",
69
- description: "Report the Google Ads URL/tracking options in force: the account-level final URL suffix and tracking template, plus every campaign that overrides them. Every value is tagged set | not_set | not_read, so an unread level is never mistaken for an unset one. Read this before answering any UTM / tracking-parameter question. Compact by default: only overriding campaigns are listed; --full lists every campaign read.",
70
- args: {
71
- "customer-id": {
72
- type: "string",
73
- description: "Google Ads customer ID (10 digits, no dashes). Falls back to BAKER_GOOGLE_ADS_CUSTOMER_ID env var.",
74
- required: false
75
- },
76
- full: {
77
- type: "boolean",
78
- description: "List every campaign read, including those with no override of their own.",
79
- required: false
80
- },
81
- "no-cache": { type: "boolean", description: "Skip the read cache", required: false }
82
- }
83
- });
84
- var urlOptionsCommand = defineCommand({
85
- meta: {
86
- name: "url-options",
87
- description: `Show the URL/tracking options in force \u2014 account-level final URL suffix and tracking template, plus campaign overrides.
88
-
89
- Start here for any "add utm_\u2026 / tracking parameter / agency tag" question: it tells you which level already carries one.
90
- Each value is tagged: set | not_set (Google carries no value there) | not_read (never observed \u2014 NOT a finding).
91
- Judgment on which level to use and what to put in it: /google-ads-playbook \u2192 18-naming-utm.md.
92
-
93
- Examples:
94
- baker ads google url-options --customer-id 1234567890
95
- baker ads google url-options --customer-id 1234567890 --full`
96
- },
97
- args: {
98
- "customer-id": { type: "string", description: "Google Ads customer ID (10 digits)", required: false },
99
- full: { type: "boolean", description: "List every campaign read, not only the overriding ones", required: false },
100
- "no-cache": { type: "boolean", description: "Skip the read cache", required: false }
101
- },
102
- run: async ({ args }) => {
103
- const customerId = await resolveCustomerId(args);
104
- try {
105
- const managerId = getManagerIdForCustomer(customerId);
106
- const data = await apiPost("/api/ads/google/url-options", {
107
- customerId,
108
- ...managerId ? { managerId } : {},
109
- ...args.full ? { full: true } : {},
110
- ...args["no-cache"] ? { skipCache: true } : {}
111
- });
112
- const hints = [...urlOptionsHints(data), ...mappingHints(data)];
113
- writeJsonEnvelope(hints.length > 0 ? { ok: true, data, hints } : { ok: true, data });
114
- } catch (err) {
115
- if (err instanceof ApiError) {
116
- writeAdsJson(parseApiError(err.message, "", customerId, err.code));
117
- process.exit(1);
118
- }
119
- writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
120
- process.exit(1);
121
- }
122
- }
123
- });
124
- export {
125
- urlOptionsCommand
126
- };
127
- //# sourceMappingURL=url-options-GGXAL3J4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/ads/google/url-options.ts","../src/commands/ads/google/mapping-hints.ts"],"sourcesContent":["import { type GoogleUrlOptionsResponse, urlOptionsHints } from \"@baker/api/ads-google\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { getManagerIdForCustomer } from \"../cache.ts\";\nimport { resolveCustomerId, writeAdsJson, writeJsonEnvelope } from \"../output.ts\";\nimport { parseApiError } from \"./error-parser.ts\";\nimport { mappingHints } from \"./mapping-hints.ts\";\n\nregisterSchema({\n command: \"ads.google.url-options\",\n description:\n \"Report the Google Ads URL/tracking options in force: the account-level final URL suffix and tracking template, plus every campaign that overrides them. Every value is tagged set | not_set | not_read, so an unread level is never mistaken for an unset one. Read this before answering any UTM / tracking-parameter question. Compact by default: only overriding campaigns are listed; --full lists every campaign read.\",\n args: {\n \"customer-id\": {\n type: \"string\",\n description: \"Google Ads customer ID (10 digits, no dashes). Falls back to BAKER_GOOGLE_ADS_CUSTOMER_ID env var.\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"List every campaign read, including those with no override of their own.\",\n required: false,\n },\n \"no-cache\": { type: \"boolean\", description: \"Skip the read cache\", required: false },\n },\n});\n\nexport const urlOptionsCommand = defineCommand({\n meta: {\n name: \"url-options\",\n description: `Show the URL/tracking options in force — account-level final URL suffix and tracking template, plus campaign overrides.\n\nStart here for any \"add utm_… / tracking parameter / agency tag\" question: it tells you which level already carries one.\nEach value is tagged: set | not_set (Google carries no value there) | not_read (never observed — NOT a finding).\nJudgment on which level to use and what to put in it: /google-ads-playbook → 18-naming-utm.md.\n\nExamples:\n baker ads google url-options --customer-id 1234567890\n baker ads google url-options --customer-id 1234567890 --full`,\n },\n args: {\n \"customer-id\": { type: \"string\", description: \"Google Ads customer ID (10 digits)\", required: false },\n full: { type: \"boolean\", description: \"List every campaign read, not only the overriding ones\", required: false },\n \"no-cache\": { type: \"boolean\", description: \"Skip the read cache\", required: false },\n },\n run: async ({ args }) => {\n const customerId = await resolveCustomerId(args);\n try {\n const managerId = getManagerIdForCustomer(customerId);\n const data = await apiPost<GoogleUrlOptionsResponse>(\"/api/ads/google/url-options\", {\n customerId,\n ...(managerId ? { managerId } : {}),\n ...(args.full ? { full: true } : {}),\n ...(args[\"no-cache\"] ? { skipCache: true } : {}),\n });\n const hints = [...urlOptionsHints(data), ...mappingHints(data)];\n writeJsonEnvelope(hints.length > 0 ? { ok: true, data, hints } : { ok: true, data });\n } catch (err) {\n if (err instanceof ApiError) {\n // `err.code` is what tells `parseApiError` a missing Google Ads connection\n // apart from a fixable query error. Dropped, a never-connected account gets\n // the query-correction path instead — and since the query here is empty, the\n // \"add a LIMIT\" rule matches and hands the agent a `correctedCommand` it is\n // told to run, sending it off to execute an empty GAQL query instead of\n // asking the user to connect.\n writeAdsJson(parseApiError(err.message, \"\", customerId, err.code));\n process.exit(1);\n }\n writeAdsJson({ ok: false, error: { code: \"NETWORK_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n","/**\n * The bridge between a Google tracking template and Baker's reading of it.\n *\n * These two facts sat one command apart and nothing joined them: `url-options`\n * reports that the account's URLs carry `searchword={keyword}`, and\n * `baker analytics map` is what makes Baker read `searchword` as a keyword.\n * Until it is told, the values are not stored at all — only the fact that the\n * name appeared — so every keyword report for that account is empty and reads\n * as \"this campaign brought no keywords\" rather than \"nobody has said what\n * `searchword` is\".\n *\n * The template is the client's own answer, already written down, so this is\n * naming what arrives rather than proposing a change to their account — which\n * `baker analytics` refuses to do and this does not do either.\n */\nimport type { GoogleUrlOptionsResponse } from \"@baker/api/ads-google\";\nimport type { AdParamRole } from \"@baker/api/analytics\";\nimport { mappingCommandFor, proposeMappingFromTemplate } from \"@baker/api/analytics\";\n\n/** Every template and suffix this report actually observed, at any level. */\nfunction observedTemplates(report: GoogleUrlOptionsResponse): string[] {\n const values = [\n report.account.final_url_suffix,\n report.account.tracking_url_template,\n ...report.campaigns.overrides.flatMap((campaign) => [campaign.final_url_suffix, campaign.tracking_url_template]),\n ];\n return values.flatMap((value) => (value.state === \"set\" ? [value.value] : []));\n}\n\nexport function mappingHints(report: GoogleUrlOptionsResponse): string[] {\n const proposed: Record<string, AdParamRole> = {};\n const unexplained = new Map<string, string>();\n\n for (const template of observedTemplates(report)) {\n const proposal = proposeMappingFromTemplate(template, \"google\");\n Object.assign(proposed, proposal.proposed);\n for (const param of proposal.unexplained) unexplained.set(param.name, param.value);\n }\n\n const hints: string[] = [];\n const command = mappingCommandFor(\"google\", proposed);\n if (command !== \"\") {\n hints.push(\n `These URLs carry campaign parameters Baker does not read yet: ${Object.keys(proposed).join(\", \")}. Until it is told, their values are not stored at all — only that the name appeared — so every keyword and campaign breakdown for this account will come back empty rather than wrong. The placeholders say what each one is, so run: ${command}`,\n );\n }\n if (unexplained.size > 0) {\n const named = [...unexplained].map(([name, value]) => `${name}=${value}`).join(\", \");\n hints.push(\n `These carry something no placeholder explains: ${named}. Do not guess — if it is a dimension, map it by name with \\`baker analytics map --platform google --set <name>=<role>\\`; if it is a session token or a cache buster, \\`=ignore\\` stops it being listed as something to deal with.`,\n );\n }\n return hints;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;;;ACmB9B,SAAS,kBAAkB,QAA4C;AACrE,QAAM,SAAS;AAAA,IACb,OAAO,QAAQ;AAAA,IACf,OAAO,QAAQ;AAAA,IACf,GAAG,OAAO,UAAU,UAAU,QAAQ,CAAC,aAAa,CAAC,SAAS,kBAAkB,SAAS,qBAAqB,CAAC;AAAA,EACjH;AACA,SAAO,OAAO,QAAQ,CAAC,UAAW,MAAM,UAAU,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAE;AAC/E;AAEO,SAAS,aAAa,QAA4C;AACvE,QAAM,WAAwC,CAAC;AAC/C,QAAM,cAAc,oBAAI,IAAoB;AAE5C,aAAW,YAAY,kBAAkB,MAAM,GAAG;AAChD,UAAM,WAAW,2BAA2B,UAAU,QAAQ;AAC9D,WAAO,OAAO,UAAU,SAAS,QAAQ;AACzC,eAAW,SAAS,SAAS,YAAa,aAAY,IAAI,MAAM,MAAM,MAAM,KAAK;AAAA,EACnF;AAEA,QAAM,QAAkB,CAAC;AACzB,QAAM,UAAU,kBAAkB,UAAU,QAAQ;AACpD,MAAI,YAAY,IAAI;AAClB,UAAM;AAAA,MACJ,iEAAiE,OAAO,KAAK,QAAQ,EAAE,KAAK,IAAI,CAAC,oPAA0O,OAAO;AAAA,IACpV;AAAA,EACF;AACA,MAAI,YAAY,OAAO,GAAG;AACxB,UAAM,QAAQ,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,KAAK,IAAI;AACnF,UAAM;AAAA,MACJ,kDAAkD,KAAK;AAAA,IACzD;AAAA,EACF;AACA,SAAO;AACT;;;AD5CA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,eAAe;AAAA,MACb,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,YAAY,EAAE,MAAM,WAAW,aAAa,uBAAuB,UAAU,MAAM;AAAA,EACrF;AACF,CAAC;AAEM,IAAM,oBAAoB,cAAc;AAAA,EAC7C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASf;AAAA,EACA,MAAM;AAAA,IACJ,eAAe,EAAE,MAAM,UAAU,aAAa,sCAAsC,UAAU,MAAM;AAAA,IACpG,MAAM,EAAE,MAAM,WAAW,aAAa,0DAA0D,UAAU,MAAM;AAAA,IAChH,YAAY,EAAE,MAAM,WAAW,aAAa,uBAAuB,UAAU,MAAM;AAAA,EACrF;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,aAAa,MAAM,kBAAkB,IAAI;AAC/C,QAAI;AACF,YAAM,YAAY,wBAAwB,UAAU;AACpD,YAAM,OAAO,MAAM,QAAkC,+BAA+B;AAAA,QAClF;AAAA,QACA,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,QACjC,GAAI,KAAK,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAAA,QAClC,GAAI,KAAK,UAAU,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;AAAA,MAChD,CAAC;AACD,YAAM,QAAQ,CAAC,GAAG,gBAAgB,IAAI,GAAG,GAAG,aAAa,IAAI,CAAC;AAC9D,wBAAkB,MAAM,SAAS,IAAI,EAAE,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IACrF,SAAS,KAAK;AACZ,UAAI,eAAe,UAAU;AAO3B,qBAAa,cAAc,IAAI,SAAS,IAAI,YAAY,IAAI,IAAI,CAAC;AACjE,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,mBAAa,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,iBAAiB,SAAS,mBAAmB,EAAE,CAAC;AACzF,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -1,98 +0,0 @@
1
- import {
2
- handleLinkedinError,
3
- resolveAccountIdArg
4
- } from "./chunk-CSYSX4D2.js";
5
- import {
6
- writeAdsJson
7
- } from "./chunk-VFIOJD5M.js";
8
- import {
9
- LINKEDIN_TRACKING_PARAMS_AD_SET_MAX
10
- } from "./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
- apiGet
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/ads/linkedin/url-params.ts
24
- import { defineCommand } from "citty";
25
- var urlParamsCommand = defineCommand({
26
- meta: {
27
- name: "url-params",
28
- description: `Read the URL tracking parameters in effect \u2014 the ad account's, optionally every ad set's, and the keys set at BOTH (which LinkedIn appends twice).
29
-
30
- Start here before setting UTMs on an ad set: whatever the account already carries is appended on top of it.
31
-
32
- Examples:
33
- baker ads linkedin url-params \u2014 the ad account's parameters
34
- baker ads linkedin url-params --ad-sets \u2014 plus every ad set's, and the collisions
35
- baker ads linkedin url-params --campaign-ids 123456,789012 \u2014 plus just those ad sets'
36
- baker ads linkedin url-params --ad-sets --collisions-only \u2014 just what would land twice`
37
- },
38
- args: {
39
- "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
40
- "account-urn": { type: "string", description: "Alias for --account-id" },
41
- "ad-sets": {
42
- type: "boolean",
43
- description: `Also read every ad set's parameters (one call each, first ${LINKEDIN_TRACKING_PARAMS_AD_SET_MAX})`
44
- },
45
- "campaign-ids": { type: "string", description: "Comma-separated ad set ids to read instead of all of them" },
46
- "collisions-only": { type: "boolean", description: "Report only the keys set at more than one level" }
47
- },
48
- run: async ({ args }) => {
49
- const accountId = resolveAccountIdArg(args);
50
- try {
51
- const params = { "account-id": accountId };
52
- if (args["campaign-ids"]) params["campaign-ids"] = String(args["campaign-ids"]);
53
- if (args["ad-sets"]) params["all-ad-sets"] = "true";
54
- const data = await apiGet("/api/ads/linkedin/url-params", params);
55
- const examinedAdSets = Boolean(args["ad-sets"] || args["campaign-ids"]);
56
- const notes = hints(data, examinedAdSets);
57
- writeAdsJson({
58
- ok: true,
59
- data: args["collisions-only"] ? { collisions: data.collisions, adSetCoverage: data.adSetCoverage } : data,
60
- ...notes.length > 0 ? { hints: notes } : {}
61
- });
62
- } catch (err) {
63
- handleLinkedinError(err);
64
- }
65
- }
66
- });
67
- function hints(data, examinedAdSets) {
68
- const out = [];
69
- if (data.unreadable.length > 0) {
70
- out.push(
71
- `could NOT read ${data.unreadable.map((entry) => entry.level === "account" ? "the ad account" : `ad set ${entry.id}`).join(", ")} \u2014 treat that as unknown, not as empty. Do not stage url-params against it: either it does not exist, or it holds parameters this write would replace unseen. First reason: ${data.unreadable[0]?.reason ?? "unknown"}`
72
- );
73
- }
74
- if (data.collisions.length > 0) {
75
- out.push(
76
- `${data.collisions.map((c) => c.key).join(", ")} set at BOTH the account and an ad set \u2014 LinkedIn appends both, so each lands twice in the served URL. Clear it at one level with \`account url-params\` or \`campaigns url-params --clear\`.`
77
- );
78
- }
79
- if (data.adSetCoverage?.capped) {
80
- out.push(
81
- `only ${data.adSetCoverage.examined} of ${data.adSetCoverage.total} ad sets were read \u2014 the collisions above cover those, not the rest. Narrow with --campaign-ids to check the others.`
82
- );
83
- }
84
- if (!examinedAdSets) {
85
- out.push("only the ad account was read \u2014 pass --ad-sets to find keys an ad set sets on top of these");
86
- }
87
- const allAnswered = data.unreadable.length === 0;
88
- const nothingSet = data.account.state === "not_set" && data.adSets.every((adSet) => adSet.state === "not_set");
89
- if (allAnswered && nothingSet) {
90
- out.push("nothing is tagged \u2014 set the constants once with `baker ads linkedin account url-params`");
91
- }
92
- return out;
93
- }
94
- export {
95
- hints,
96
- urlParamsCommand
97
- };
98
- //# sourceMappingURL=url-params-3EFGVTZZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/ads/linkedin/url-params.ts"],"sourcesContent":["import { LINKEDIN_TRACKING_PARAMS_AD_SET_MAX, type LinkedinTrackingParametersResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiGet } from \"../../../client.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { handleLinkedinError, resolveAccountIdArg } from \"./shared.ts\";\n\n/**\n * Reads what is set today, at both levels. Its reason to exist is the one thing\n * the write commands cannot tell you: LinkedIn CONCATENATES the ad account's\n * tracking parameters with each ad set's, so a key set at both lands in the\n * served URL twice — and nothing surfaces that until a report comes back split\n * across two values of the same parameter.\n *\n * Account-only by default: there is no batch read for `adTrackingParameters`,\n * so every ad set costs its own call against the same rate limit the staged\n * writes use. `--ad-sets` opts into the sweep.\n */\nexport const urlParamsCommand = defineCommand({\n meta: {\n name: \"url-params\",\n description: `Read the URL tracking parameters in effect — the ad account's, optionally every ad set's, and the keys set at BOTH (which LinkedIn appends twice).\n\nStart here before setting UTMs on an ad set: whatever the account already carries is appended on top of it.\n\nExamples:\n baker ads linkedin url-params — the ad account's parameters\n baker ads linkedin url-params --ad-sets — plus every ad set's, and the collisions\n baker ads linkedin url-params --campaign-ids 123456,789012 — plus just those ad sets'\n baker ads linkedin url-params --ad-sets --collisions-only — just what would land twice`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or urn:li:sponsoredAccount:N\" },\n \"account-urn\": { type: \"string\", description: \"Alias for --account-id\" },\n \"ad-sets\": {\n type: \"boolean\",\n description: `Also read every ad set's parameters (one call each, first ${LINKEDIN_TRACKING_PARAMS_AD_SET_MAX})`,\n },\n \"campaign-ids\": { type: \"string\", description: \"Comma-separated ad set ids to read instead of all of them\" },\n \"collisions-only\": { type: \"boolean\", description: \"Report only the keys set at more than one level\" },\n },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n try {\n const params: Record<string, string> = { \"account-id\": accountId };\n if (args[\"campaign-ids\"]) params[\"campaign-ids\"] = String(args[\"campaign-ids\"]);\n if (args[\"ad-sets\"]) params[\"all-ad-sets\"] = \"true\";\n const data = await apiGet<LinkedinTrackingParametersResponse>(\"/api/ads/linkedin/url-params\", params);\n const examinedAdSets = Boolean(args[\"ad-sets\"] || args[\"campaign-ids\"]);\n const notes = hints(data, examinedAdSets);\n writeAdsJson({\n ok: true,\n data: args[\"collisions-only\"] ? { collisions: data.collisions, adSetCoverage: data.adSetCoverage } : data,\n ...(notes.length > 0 ? { hints: notes } : {}),\n });\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\n/**\n * A partial sweep reporting no collisions is the failure this guards: it reads\n * identically to a clean account, so say which of the two it is.\n */\nexport function hints(data: LinkedinTrackingParametersResponse, examinedAdSets: boolean): string[] {\n const out: string[] = [];\n // First, and before anything that could be read as a fact about the account:\n // a level that could not be read carries no information, and every other\n // line below would otherwise describe it as empty. The wording covers both\n // reasons a level lands here — the read failed, or the id names nothing —\n // because the conclusion is the same and only one of them is knowable here.\n if (data.unreadable.length > 0) {\n out.push(\n `could NOT read ${data.unreadable.map((entry) => (entry.level === \"account\" ? \"the ad account\" : `ad set ${entry.id}`)).join(\", \")} — treat that as unknown, not as empty. Do not stage url-params against it: either it does not exist, or it holds parameters this write would replace unseen. First reason: ${data.unreadable[0]?.reason ?? \"unknown\"}`,\n );\n }\n if (data.collisions.length > 0) {\n out.push(\n `${data.collisions.map((c) => c.key).join(\", \")} set at BOTH the account and an ad set — LinkedIn appends both, so each lands twice in the served URL. Clear it at one level with \\`account url-params\\` or \\`campaigns url-params --clear\\`.`,\n );\n }\n if (data.adSetCoverage?.capped) {\n out.push(\n `only ${data.adSetCoverage.examined} of ${data.adSetCoverage.total} ad sets were read — the collisions above cover those, not the rest. Narrow with --campaign-ids to check the others.`,\n );\n }\n if (!examinedAdSets) {\n out.push(\"only the ad account was read — pass --ad-sets to find keys an ad set sets on top of these\");\n }\n // \"Nothing is tagged\" is a claim about the account, so it may only be made\n // when every level examined actually answered.\n const allAnswered = data.unreadable.length === 0;\n const nothingSet = data.account.state === \"not_set\" && data.adSets.every((adSet) => adSet.state === \"not_set\");\n if (allAnswered && nothingSet) {\n out.push(\"nothing is tagged — set the constants once with `baker ads linkedin account url-params`\");\n }\n return out;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAgBvB,IAAM,mBAAmB,cAAc;AAAA,EAC5C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASf;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,kDAAkD;AAAA,IAC/F,eAAe,EAAE,MAAM,UAAU,aAAa,yBAAyB;AAAA,IACvE,WAAW;AAAA,MACT,MAAM;AAAA,MACN,aAAa,6DAA6D,mCAAmC;AAAA,IAC/G;AAAA,IACA,gBAAgB,EAAE,MAAM,UAAU,aAAa,4DAA4D;AAAA,IAC3G,mBAAmB,EAAE,MAAM,WAAW,aAAa,kDAAkD;AAAA,EACvG;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,YAAY,oBAAoB,IAAI;AAC1C,QAAI;AACF,YAAM,SAAiC,EAAE,cAAc,UAAU;AACjE,UAAI,KAAK,cAAc,EAAG,QAAO,cAAc,IAAI,OAAO,KAAK,cAAc,CAAC;AAC9E,UAAI,KAAK,SAAS,EAAG,QAAO,aAAa,IAAI;AAC7C,YAAM,OAAO,MAAM,OAA2C,gCAAgC,MAAM;AACpG,YAAM,iBAAiB,QAAQ,KAAK,SAAS,KAAK,KAAK,cAAc,CAAC;AACtE,YAAM,QAAQ,MAAM,MAAM,cAAc;AACxC,mBAAa;AAAA,QACX,IAAI;AAAA,QACJ,MAAM,KAAK,iBAAiB,IAAI,EAAE,YAAY,KAAK,YAAY,eAAe,KAAK,cAAc,IAAI;AAAA,QACrG,GAAI,MAAM,SAAS,IAAI,EAAE,OAAO,MAAM,IAAI,CAAC;AAAA,MAC7C,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,0BAAoB,GAAG;AAAA,IACzB;AAAA,EACF;AACF,CAAC;AAMM,SAAS,MAAM,MAA0C,gBAAmC;AACjG,QAAM,MAAgB,CAAC;AAMvB,MAAI,KAAK,WAAW,SAAS,GAAG;AAC9B,QAAI;AAAA,MACF,kBAAkB,KAAK,WAAW,IAAI,CAAC,UAAW,MAAM,UAAU,YAAY,mBAAmB,UAAU,MAAM,EAAE,EAAG,EAAE,KAAK,IAAI,CAAC,oLAA+K,KAAK,WAAW,CAAC,GAAG,UAAU,SAAS;AAAA,IAC1V;AAAA,EACF;AACA,MAAI,KAAK,WAAW,SAAS,GAAG;AAC9B,QAAI;AAAA,MACF,GAAG,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA,IACjD;AAAA,EACF;AACA,MAAI,KAAK,eAAe,QAAQ;AAC9B,QAAI;AAAA,MACF,QAAQ,KAAK,cAAc,QAAQ,OAAO,KAAK,cAAc,KAAK;AAAA,IACpE;AAAA,EACF;AACA,MAAI,CAAC,gBAAgB;AACnB,QAAI,KAAK,gGAA2F;AAAA,EACtG;AAGA,QAAM,cAAc,KAAK,WAAW,WAAW;AAC/C,QAAM,aAAa,KAAK,QAAQ,UAAU,aAAa,KAAK,OAAO,MAAM,CAAC,UAAU,MAAM,UAAU,SAAS;AAC7G,MAAI,eAAe,YAAY;AAC7B,QAAI,KAAK,8FAAyF;AAAA,EACpG;AACA,SAAO;AACT;","names":[]}
@@ -1,89 +0,0 @@
1
- import {
2
- outputRatioWarningsFor
3
- } from "./chunk-J5IY3GVE.js";
4
- import {
5
- exitOnPrepareError,
6
- prepareCanvas
7
- } from "./chunk-Z2EOC6PL.js";
8
- import "./chunk-4QEY2L6U.js";
9
- import "./chunk-QRP3PXWN.js";
10
- import "./chunk-3IBYKLXR.js";
11
- import "./chunk-F2S5BLPE.js";
12
- import "./chunk-WTOYCUKH.js";
13
- import "./chunk-DZSIUEGH.js";
14
- import {
15
- defaultRegistry,
16
- validateCanvasDeep
17
- } from "./chunk-GLCPTMPG.js";
18
- import "./chunk-K66OLA6Y.js";
19
- import "./chunk-W3B4BHQU.js";
20
- import "./chunk-KFE3S63W.js";
21
- import "./chunk-DGCUPJZD.js";
22
- import "./chunk-VB6WJJR3.js";
23
- import "./chunk-CHSNHVYF.js";
24
- import "./chunk-RX6F3GEA.js";
25
- import "./chunk-5HYSKH77.js";
26
- import "./chunk-KIGGMKAE.js";
27
- import "./chunk-VAJBWA2U.js";
28
- import "./chunk-HRYOZUSK.js";
29
- import "./chunk-VVZBBKRC.js";
30
- import "./chunk-YBMVHGY3.js";
31
- import "./chunk-XF4JUKVF.js";
32
- import "./chunk-GXDLWBOY.js";
33
- import "./chunk-TEINLN64.js";
34
- import "./chunk-ZJWUBJYQ.js";
35
- import "./chunk-NE4F3FHN.js";
36
- import "./chunk-IFWP3ZDO.js";
37
- import "./chunk-NAWWC5I3.js";
38
- import "./chunk-NU7JSWVA.js";
39
- import "./chunk-YQSBHWOI.js";
40
-
41
- // src/commands/canvas/validate.ts
42
- import path from "path";
43
- import { defineCommand } from "citty";
44
- var validateCommand = defineCommand({
45
- meta: {
46
- name: "validate",
47
- description: "Validate a canvas JSON file (no execution). Brings the canvas up to date with its prompt.json first (prompt.json and, for a video, scenes/*.json edits are written into the canvas, exactly as `run` does), then checks it: a per-node cost preview, each node's deep validators (composition meta checks for hyperframe_render/_snapshot), and each generator prompt measured with its {{slots}} filled against the model's character cap (PROMPT_OVER_MODEL_LIMIT)."
48
- },
49
- args: { file: { type: "positional", required: true, description: "Path to canvas JSON" } },
50
- async run({ args }) {
51
- const filePath = path.resolve(String(args.file));
52
- let prepared;
53
- try {
54
- prepared = await prepareCanvas(filePath, { gate: true, log: (line) => process.stderr.write(`${line}
55
- `) });
56
- } catch (e) {
57
- exitOnPrepareError(e);
58
- }
59
- const result = await validateCanvasDeep(prepared.canvas, defaultRegistry());
60
- if (!result.ok) {
61
- process.stderr.write(`${JSON.stringify({ ok: false, error: { code: "validation", issues: result.issues } }, null, 2)}
62
- `);
63
- process.exit(2);
64
- return;
65
- }
66
- process.stdout.write(
67
- `${JSON.stringify(
68
- {
69
- ok: true,
70
- total_nodes: result.canvas.nodes.length,
71
- estimated_credits: result.estimatedCredits,
72
- cost_preview: result.perNodeCredits ?? [],
73
- style_projection: prepared.projections.style,
74
- scene_projection: prepared.projections.scenes,
75
- canvas_updated: prepared.written,
76
- normalized_paths: prepared.rewrites,
77
- warnings: [...result.warnings ?? [], ...await outputRatioWarningsFor(prepared.canvas, filePath)]
78
- },
79
- null,
80
- 2
81
- )}
82
- `
83
- );
84
- }
85
- });
86
- export {
87
- validateCommand
88
- };
89
- //# sourceMappingURL=validate-LDBAAXQO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/canvas/validate.ts"],"sourcesContent":["import path from \"node:path\";\nimport { defineCommand } from \"citty\";\nimport { defaultRegistry, validateCanvasDeep } from \"../../engine/index.ts\";\nimport { outputRatioWarningsFor } from \"./output-ratio.ts\";\nimport { exitOnPrepareError, type PreparedCanvas, prepareCanvas } from \"./prepare-canvas.ts\";\n\nexport const validateCommand = defineCommand({\n meta: {\n name: \"validate\",\n description:\n \"Validate a canvas JSON file (no execution). Brings the canvas up to date with its prompt.json first (prompt.json and, for a video, scenes/*.json edits are written into the canvas, exactly as `run` does), then checks it: a per-node cost preview, each node's deep validators (composition meta checks for hyperframe_render/_snapshot), and each generator prompt measured with its {{slots}} filled against the model's character cap (PROMPT_OVER_MODEL_LIMIT).\",\n },\n args: { file: { type: \"positional\", required: true, description: \"Path to canvas JSON\" } },\n async run({ args }) {\n const filePath = path.resolve(String(args.file));\n let prepared: PreparedCanvas;\n try {\n prepared = await prepareCanvas(filePath, { gate: true, log: (line) => process.stderr.write(`${line}\\n`) });\n } catch (e) {\n exitOnPrepareError(e);\n }\n\n const result = await validateCanvasDeep(prepared.canvas, defaultRegistry());\n if (!result.ok) {\n process.stderr.write(`${JSON.stringify({ ok: false, error: { code: \"validation\", issues: result.issues } }, null, 2)}\\n`);\n process.exit(2);\n return;\n }\n\n // Warnings are advisory: the canvas is valid and runnable, so exit 0. They flag\n // likely-wrong-but-legal config (a missing element reference, a scene span past the\n // assigned model's cap) the operator should review before billing.\n process.stdout.write(\n `${JSON.stringify(\n {\n ok: true,\n total_nodes: result.canvas.nodes.length,\n estimated_credits: result.estimatedCredits,\n cost_preview: result.perNodeCredits ?? [],\n style_projection: prepared.projections.style,\n scene_projection: prepared.projections.scenes,\n canvas_updated: prepared.written,\n normalized_paths: prepared.rewrites,\n warnings: [...(result.warnings ?? []), ...(await outputRatioWarningsFor(prepared.canvas, filePath))],\n },\n null,\n 2,\n )}\\n`,\n );\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAKvB,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,UAAU,MAAM,aAAa,sBAAsB,EAAE;AAAA,EACzF,MAAM,IAAI,EAAE,KAAK,GAAG;AAClB,UAAM,WAAW,KAAK,QAAQ,OAAO,KAAK,IAAI,CAAC;AAC/C,QAAI;AACJ,QAAI;AACF,iBAAW,MAAM,cAAc,UAAU,EAAE,MAAM,MAAM,KAAK,CAAC,SAAS,QAAQ,OAAO,MAAM,GAAG,IAAI;AAAA,CAAI,EAAE,CAAC;AAAA,IAC3G,SAAS,GAAG;AACV,yBAAmB,CAAC;AAAA,IACtB;AAEA,UAAM,SAAS,MAAM,mBAAmB,SAAS,QAAQ,gBAAgB,CAAC;AAC1E,QAAI,CAAC,OAAO,IAAI;AACd,cAAQ,OAAO,MAAM,GAAG,KAAK,UAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,cAAc,QAAQ,OAAO,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AAAA,CAAI;AACxH,cAAQ,KAAK,CAAC;AACd;AAAA,IACF;AAKA,YAAQ,OAAO;AAAA,MACb,GAAG,KAAK;AAAA,QACN;AAAA,UACE,IAAI;AAAA,UACJ,aAAa,OAAO,OAAO,MAAM;AAAA,UACjC,mBAAmB,OAAO;AAAA,UAC1B,cAAc,OAAO,kBAAkB,CAAC;AAAA,UACxC,kBAAkB,SAAS,YAAY;AAAA,UACvC,kBAAkB,SAAS,YAAY;AAAA,UACvC,gBAAgB,SAAS;AAAA,UACzB,kBAAkB,SAAS;AAAA,UAC3B,UAAU,CAAC,GAAI,OAAO,YAAY,CAAC,GAAI,GAAI,MAAM,uBAAuB,SAAS,QAAQ,QAAQ,CAAE;AAAA,QACrG;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA;AAAA,IACH;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -1,39 +0,0 @@
1
- import "./chunk-YQSBHWOI.js";
2
-
3
- // src/commands/videos/index.ts
4
- import { defineCommand } from "citty";
5
- var videosCommand = defineCommand({
6
- meta: {
7
- name: "videos",
8
- description: `Find and manage videos in Baker. Subcommands: search, get, upload, ingest, fetch, describe, delete, retry, tags.
9
-
10
- Examples:
11
- baker videos search "product demo" --limit 5
12
- baker videos search "tutorial" --tags explainer
13
- baker videos get <video-id>
14
- baker videos upload ./demo.mp4
15
- baker videos ingest https://www.youtube.com/watch?v=abc123
16
- baker videos fetch https://www.youtube.com/watch?v=abc123 --out ./clips
17
- baker videos describe <video-id> --description "Customer testimonial, 30s"
18
- baker videos delete <video-id> --dry-run
19
- baker videos retry <video-id> # process a failed video again
20
- baker videos tags # list; tags create|update|delete for custom tags
21
- Full guide: __tooling__/docs/tools/baker/videos.md`
22
- },
23
- subCommands: {
24
- get: () => import("./get-6WEYKOY6.js").then((m) => m.getCommand),
25
- group: () => import("./group-EFZ3AJIE.js").then((m) => m.groupCommand),
26
- search: () => import("./search-OQNGSMUH.js").then((m) => m.searchCommand),
27
- upload: () => import("./upload-O6NHRPS7.js").then((m) => m.uploadCommand),
28
- ingest: () => import("./ingest-YV2NLDBE.js").then((m) => m.ingestCommand),
29
- fetch: () => import("./fetch-XF76JABV.js").then((m) => m.fetchCommand),
30
- describe: () => import("./describe-6NVOWIBE.js").then((m) => m.describeCommand),
31
- delete: () => import("./delete-MRM2S4Z5.js").then((m) => m.deleteCommand),
32
- retry: () => import("./retry-726GKI6V.js").then((m) => m.retryCommand),
33
- tags: () => import("./tags-FJIBBBRG.js").then((m) => m.tagsCommand)
34
- }
35
- });
36
- export {
37
- videosCommand
38
- };
39
- //# sourceMappingURL=videos-YSXYGTBM.js.map
@@ -1,69 +0,0 @@
1
- import {
2
- OFFER_READ,
3
- VIEWER_CLARITY,
4
- VIEWER_QUESTIONS,
5
- VIEWER_REQUIRED_CLARITY,
6
- ViewerAnswerSchema,
7
- buildViewerPrompt,
8
- checkViewer,
9
- describeViewer,
10
- gatewayViewerModel,
11
- jevReadJudge,
12
- judgeViewerAnswer,
13
- liveViewerLookups,
14
- misreadings,
15
- personaSegments,
16
- readCreativeForViewerCheck,
17
- readPersonas,
18
- resolveViewer,
19
- sureEnough,
20
- viewerCheckBeforeRender,
21
- viewerCheckCacheKey,
22
- viewerCheckCommand,
23
- viewerCheckFailure,
24
- viewerCheckSkip
25
- } from "./chunk-7ZHMGXE2.js";
26
- import "./chunk-NFSLRRIE.js";
27
- import "./chunk-F2S5BLPE.js";
28
- import "./chunk-WTOYCUKH.js";
29
- import "./chunk-DZSIUEGH.js";
30
- import "./chunk-W3B4BHQU.js";
31
- import "./chunk-VB6WJJR3.js";
32
- import "./chunk-CHSNHVYF.js";
33
- import "./chunk-RX6F3GEA.js";
34
- import "./chunk-5HYSKH77.js";
35
- import "./chunk-KIGGMKAE.js";
36
- import "./chunk-VAJBWA2U.js";
37
- import "./chunk-HRYOZUSK.js";
38
- import "./chunk-VVZBBKRC.js";
39
- import "./chunk-YBMVHGY3.js";
40
- import "./chunk-IFWP3ZDO.js";
41
- import "./chunk-NAWWC5I3.js";
42
- import "./chunk-NU7JSWVA.js";
43
- import "./chunk-YQSBHWOI.js";
44
- export {
45
- OFFER_READ,
46
- VIEWER_CLARITY,
47
- VIEWER_QUESTIONS,
48
- VIEWER_REQUIRED_CLARITY,
49
- ViewerAnswerSchema,
50
- buildViewerPrompt,
51
- checkViewer,
52
- describeViewer,
53
- gatewayViewerModel,
54
- jevReadJudge,
55
- judgeViewerAnswer,
56
- liveViewerLookups,
57
- misreadings,
58
- personaSegments,
59
- readCreativeForViewerCheck,
60
- readPersonas,
61
- resolveViewer,
62
- sureEnough,
63
- viewerCheckBeforeRender,
64
- viewerCheckCacheKey,
65
- viewerCheckCommand,
66
- viewerCheckFailure,
67
- viewerCheckSkip
68
- };
69
- //# sourceMappingURL=viewer-check-45T2HLAH.js.map
@@ -1,140 +0,0 @@
1
- import {
2
- webDepthHints
3
- } from "./chunk-OZRUJVIQ.js";
4
- import {
5
- handleResearchError,
6
- writeResearchHints,
7
- writeResearchJson
8
- } from "./chunk-WNFIJAUO.js";
9
- import "./chunk-XF4JUKVF.js";
10
- import "./chunk-GXDLWBOY.js";
11
- import "./chunk-TEINLN64.js";
12
- import "./chunk-ZJWUBJYQ.js";
13
- import "./chunk-NE4F3FHN.js";
14
- import {
15
- apiGet,
16
- apiPost
17
- } from "./chunk-XBOK23HI.js";
18
- import "./chunk-IFWP3ZDO.js";
19
- import "./chunk-NAWWC5I3.js";
20
- import {
21
- registerSchema
22
- } from "./chunk-NU7JSWVA.js";
23
- import "./chunk-YQSBHWOI.js";
24
-
25
- // src/commands/research/web.ts
26
- import { defineCommand } from "citty";
27
- registerSchema({
28
- command: "research.web",
29
- description: "Search the web with AI to answer marketing questions \u2014 competitors, ICP, pricing, pain points, market trends. Three depth levels: medium (quick, default), high (thorough), xhigh (exhaustive deep research).",
30
- args: {
31
- question: {
32
- type: "string",
33
- description: "The research question to answer using live web data",
34
- required: true
35
- },
36
- depth: {
37
- type: "string",
38
- description: "Research depth: medium (quick), high (thorough), xhigh (exhaustive). Default: medium",
39
- required: false,
40
- enum: ["medium", "high", "xhigh"]
41
- }
42
- }
43
- });
44
- var TIMEOUT_MS = {
45
- medium: 18e4,
46
- high: 36e4,
47
- xhigh: 9e5
48
- };
49
- var FIELDS = {
50
- answer: "AI-generated research answer (markdown)",
51
- sources: "Array of {title, url} sources used for grounding"
52
- };
53
- function sleep(ms) {
54
- return new Promise((resolve) => setTimeout(resolve, ms));
55
- }
56
- async function runDeepResearch(question) {
57
- const { interactionId } = await apiPost("/api/research/deep-research/start", { question });
58
- process.stderr.write(`Deep research started (${interactionId}). Polling...
59
- `);
60
- const deadline = Date.now() + TIMEOUT_MS.xhigh;
61
- while (Date.now() < deadline) {
62
- await sleep(1e4);
63
- const poll = await apiGet("/api/research/deep-research/poll", {
64
- id: interactionId
65
- });
66
- if (poll.status === "completed" && poll.result) {
67
- return poll.result;
68
- }
69
- if (poll.status === "failed" || poll.status === "cancelled") {
70
- throw new Error(`Deep research ${poll.status}`);
71
- }
72
- process.stderr.write(` status: ${poll.status}
73
- `);
74
- }
75
- throw new Error("Deep research timed out");
76
- }
77
- var webCommand = defineCommand({
78
- meta: {
79
- name: "web",
80
- description: `Search the web with AI to answer any open-ended marketing question. Uses live internet data via Google Search.
81
-
82
- Depth levels:
83
- medium \u2014 Quick lookup using Gemini Flash with minimal thinking (default)
84
- high \u2014 Thorough answer using Gemini Flash with deep thinking
85
- xhigh \u2014 Exhaustive deep research using Gemini Deep Research (slow, use sparingly)
86
-
87
- Examples:
88
- baker research web "Who are the main competitors of HubSpot CRM?"
89
- baker research web "What are the top pain points for SMB CRM buyers?" --depth high
90
- baker research web "Full competitive analysis of project management SaaS" --depth xhigh`
91
- },
92
- args: {
93
- question: { type: "positional", description: "The research question", required: true },
94
- depth: { type: "string", description: "Research depth: medium|high|xhigh (default: medium)", required: false },
95
- output: { type: "string", description: "Format: json|md (default: json)", required: false, default: "json" }
96
- },
97
- run: async ({ args }) => {
98
- const question = args.question;
99
- if (question.length < 5) {
100
- writeResearchJson({
101
- ok: false,
102
- error: { code: "VALIDATION_ERROR", message: "Question must be at least 5 characters" }
103
- });
104
- process.exit(1);
105
- }
106
- const depth = args.depth || "medium";
107
- if (!["medium", "high", "xhigh"].includes(depth)) {
108
- writeResearchJson({
109
- ok: false,
110
- error: { code: "VALIDATION_ERROR", message: "Depth must be one of: medium, high, xhigh" }
111
- });
112
- process.exit(1);
113
- }
114
- try {
115
- const data = depth === "xhigh" ? await runDeepResearch(question) : await apiPost("/api/research/explore", { question, depth }, { timeoutMs: TIMEOUT_MS[depth] });
116
- const format = args.output || "json";
117
- const hints = webDepthHints({ answer: data.answer, sourceCount: data.sources.length, depth });
118
- if (format === "md") {
119
- process.stdout.write(`${data.answer}
120
- `);
121
- if (data.sources.length > 0) {
122
- process.stdout.write("\n## Sources\n");
123
- for (const s of data.sources) {
124
- process.stdout.write(`- [${s.title}](${s.url})
125
- `);
126
- }
127
- }
128
- writeResearchHints(hints, format);
129
- return;
130
- }
131
- writeResearchJson({ ok: true, data, fields: FIELDS, hints });
132
- } catch (err) {
133
- handleResearchError(err);
134
- }
135
- }
136
- });
137
- export {
138
- webCommand
139
- };
140
- //# sourceMappingURL=web-IGIGVEKS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/research/web.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { apiGet, apiPost } from \"../../client.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { webDepthHints } from \"./hints.ts\";\nimport { handleResearchError, writeResearchHints, writeResearchJson } from \"./output.ts\";\n\nregisterSchema({\n command: \"research.web\",\n description:\n \"Search the web with AI to answer marketing questions — competitors, ICP, pricing, pain points, market trends. Three depth levels: medium (quick, default), high (thorough), xhigh (exhaustive deep research).\",\n args: {\n question: {\n type: \"string\",\n description: \"The research question to answer using live web data\",\n required: true,\n },\n depth: {\n type: \"string\",\n description: \"Research depth: medium (quick), high (thorough), xhigh (exhaustive). Default: medium\",\n required: false,\n enum: [\"medium\", \"high\", \"xhigh\"],\n },\n },\n});\n\ntype Depth = \"medium\" | \"high\" | \"xhigh\";\n\nconst TIMEOUT_MS: Record<Depth, number> = {\n medium: 180_000,\n high: 360_000,\n xhigh: 900_000,\n};\n\ninterface WebResult {\n answer: string;\n sources: Array<{ title: string; url: string }>;\n}\n\nconst FIELDS: Record<string, string> = {\n answer: \"AI-generated research answer (markdown)\",\n sources: \"Array of {title, url} sources used for grounding\",\n};\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nasync function runDeepResearch(question: string): Promise<WebResult> {\n const { interactionId } = await apiPost<{ interactionId: string }>(\"/api/research/deep-research/start\", { question });\n\n process.stderr.write(`Deep research started (${interactionId}). Polling...\\n`);\n\n const deadline = Date.now() + TIMEOUT_MS.xhigh;\n while (Date.now() < deadline) {\n await sleep(10_000);\n const poll = await apiGet<{ status: string; result?: WebResult }>(\"/api/research/deep-research/poll\", {\n id: interactionId,\n });\n\n if (poll.status === \"completed\" && poll.result) {\n return poll.result;\n }\n if (poll.status === \"failed\" || poll.status === \"cancelled\") {\n throw new Error(`Deep research ${poll.status}`);\n }\n process.stderr.write(` status: ${poll.status}\\n`);\n }\n\n throw new Error(\"Deep research timed out\");\n}\n\nexport const webCommand = defineCommand({\n meta: {\n name: \"web\",\n description: `Search the web with AI to answer any open-ended marketing question. Uses live internet data via Google Search.\n\nDepth levels:\n medium — Quick lookup using Gemini Flash with minimal thinking (default)\n high — Thorough answer using Gemini Flash with deep thinking\n xhigh — Exhaustive deep research using Gemini Deep Research (slow, use sparingly)\n\nExamples:\n baker research web \"Who are the main competitors of HubSpot CRM?\"\n baker research web \"What are the top pain points for SMB CRM buyers?\" --depth high\n baker research web \"Full competitive analysis of project management SaaS\" --depth xhigh`,\n },\n args: {\n question: { type: \"positional\", description: \"The research question\", required: true },\n depth: { type: \"string\", description: \"Research depth: medium|high|xhigh (default: medium)\", required: false },\n output: { type: \"string\", description: \"Format: json|md (default: json)\", required: false, default: \"json\" },\n },\n run: async ({ args }) => {\n const question = args.question as string;\n if (question.length < 5) {\n writeResearchJson({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: \"Question must be at least 5 characters\" },\n });\n process.exit(1);\n }\n\n const depth = ((args.depth as string) || \"medium\") as Depth;\n if (![\"medium\", \"high\", \"xhigh\"].includes(depth)) {\n writeResearchJson({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: \"Depth must be one of: medium, high, xhigh\" },\n });\n process.exit(1);\n }\n\n try {\n const data =\n depth === \"xhigh\"\n ? await runDeepResearch(question)\n : await apiPost<WebResult>(\"/api/research/explore\", { question, depth }, { timeoutMs: TIMEOUT_MS[depth] });\n\n const format = (args.output as string) || \"json\";\n const hints = webDepthHints({ answer: data.answer, sourceCount: data.sources.length, depth });\n if (format === \"md\") {\n process.stdout.write(`${data.answer}\\n`);\n if (data.sources.length > 0) {\n process.stdout.write(\"\\n## Sources\\n\");\n for (const s of data.sources) {\n process.stdout.write(`- [${s.title}](${s.url})\\n`);\n }\n }\n writeResearchHints(hints, format);\n return;\n }\n writeResearchJson({ ok: true, data, fields: FIELDS, hints });\n } catch (err) {\n handleResearchError(err);\n }\n },\n});\n"],"mappings":"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","names":[]}