@koda-sl/baker-cli 0.489.0-dev.63e618e80 → 0.490.0

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 (991) hide show
  1. package/README.md +170 -8
  2. package/dist/account-3H6BZO5H.js +80 -0
  3. package/dist/account-IKFDY52P.js +138 -0
  4. package/dist/account-IKFDY52P.js.map +1 -0
  5. package/dist/account-KNRDOUJP.js +79 -0
  6. package/dist/account-assets-LKZVWZAR.js +289 -0
  7. package/dist/account-assets-LKZVWZAR.js.map +1 -0
  8. package/dist/account-level-UJOZDVXY.js +608 -0
  9. package/dist/account-level-UJOZDVXY.js.map +1 -0
  10. package/dist/account-reads-GA6FVKLE.js +218 -0
  11. package/dist/account-writes-AE5IJGGW.js +66 -0
  12. package/dist/accounts-K4INATCW.js +75 -0
  13. package/dist/accounts-RTN5ZGTU.js +611 -0
  14. package/dist/accounts-RW6KXBOQ.js +77 -0
  15. package/dist/actions-HNLISA7T.js +55 -0
  16. package/dist/activecampaign-I5CILZPU.js +935 -0
  17. package/dist/activities-T253KK4Q.js +74 -0
  18. package/dist/ad-group-writes-VRSBI2Z2.js +170 -0
  19. package/dist/ad-groups-IEBVEAMS.js +68 -0
  20. package/dist/ad-writes-ALV4KFPZ.js +174 -0
  21. package/dist/add-6WKPFMLG.js +302 -0
  22. package/dist/add-XF5COUAS.js +104 -0
  23. package/dist/ads-CQZHD7FC.js +77 -0
  24. package/dist/ads-QIKZ6O2N.js +40 -0
  25. package/dist/ads-ZEY72UBN.js +114 -0
  26. package/dist/ads-ZEY72UBN.js.map +1 -0
  27. package/dist/adsets-5H3MOT3D.js +177 -0
  28. package/dist/adsets-5H3MOT3D.js.map +1 -0
  29. package/dist/advertisers-6NUM2Q3A.js +120 -0
  30. package/dist/analytics-ALOZ7ZZ4.js +1976 -0
  31. package/dist/analytics-VLHE5A2M.js +433 -0
  32. package/dist/animate-SVEPM267.js +480 -0
  33. package/dist/asset-writes-L5TMKIZC.js +47 -0
  34. package/dist/assign-6HI6TNLP.js +77 -0
  35. package/dist/audience-size-25LP2OBF.js +73 -0
  36. package/dist/audience-writes-X52VG35Y.js +324 -0
  37. package/dist/audience-writes-X52VG35Y.js.map +1 -0
  38. package/dist/audiences-AAZH56WD.js +268 -0
  39. package/dist/audiences-X3RLGOVM.js +84 -0
  40. package/dist/audiences-X3RLGOVM.js.map +1 -0
  41. package/dist/audit-YY6X2MPA.js +151 -0
  42. package/dist/autocomplete-SAWJK4NF.js +111 -0
  43. package/dist/avatars-YSFFRHDK.js +38 -0
  44. package/dist/bid-pricing-HZ74SLEB.js +100 -0
  45. package/dist/brand-T3OACVQX.js +22 -0
  46. package/dist/brief-7S6XCJIA.js +538 -0
  47. package/dist/businesses-H3HIDQX6.js +53 -0
  48. package/dist/campaign-groups-YJK767AP.js +95 -0
  49. package/dist/campaign-writes-7ZF57KLH.js +165 -0
  50. package/dist/campaign-writes-7ZF57KLH.js.map +1 -0
  51. package/dist/campaign-writes-U5PUVSMT.js +170 -0
  52. package/dist/campaigns-AV6G3AUU.js +127 -0
  53. package/dist/campaigns-AV6G3AUU.js.map +1 -0
  54. package/dist/campaigns-GALDR5KK.js +109 -0
  55. package/dist/campaigns-JEIKY2M4.js +76 -0
  56. package/dist/campaigns-VTRMKSAT.js +107 -0
  57. package/dist/canvas-SVJEQO4V.js +46 -0
  58. package/dist/capabilities-2KT6TCGZ.js +144 -0
  59. package/dist/catalog-S32MX453.js +65 -0
  60. package/dist/catalogs-OCVXZLIF.js +128 -0
  61. package/dist/catalogs-RXJTZTVX.js +778 -0
  62. package/dist/catalogs-RXJTZTVX.js.map +1 -0
  63. package/dist/changes-5TOYRKZR.js +135 -0
  64. package/dist/chatgpt-QVF2FD3E.js +47 -0
  65. package/dist/chats-QG72JB6Y.js +276 -0
  66. package/dist/chats-QG72JB6Y.js.map +1 -0
  67. package/dist/check-SLNHVYGS.js +104 -0
  68. package/dist/chunk-2C7AHPM4.js +191 -0
  69. package/dist/chunk-2C7AHPM4.js.map +1 -0
  70. package/dist/chunk-2LI6746F.js +103 -0
  71. package/dist/chunk-2PWNIEW4.js +197 -0
  72. package/dist/chunk-2WZI36D3.js +317 -0
  73. package/dist/chunk-3W6G6ARX.js +122 -0
  74. package/dist/chunk-45UK4KYJ.js +1606 -0
  75. package/dist/chunk-46GWHUKN.js +225 -0
  76. package/dist/chunk-4AMIHNNP.js +1919 -0
  77. package/dist/chunk-4KJMLYCD.js +224 -0
  78. package/dist/chunk-5C35OW7L.js +205 -0
  79. package/dist/chunk-5C35OW7L.js.map +1 -0
  80. package/dist/chunk-5GQCN2QZ.js +391 -0
  81. package/dist/chunk-5GQCN2QZ.js.map +1 -0
  82. package/dist/chunk-5HJRZFMW.js +207 -0
  83. package/dist/chunk-65Y3RCWP.js +68 -0
  84. package/dist/chunk-65Y3RCWP.js.map +1 -0
  85. package/dist/chunk-66QHX566.js +6306 -0
  86. package/dist/chunk-6NCJGU6I.js +191 -0
  87. package/dist/chunk-6WCAV27H.js +494 -0
  88. package/dist/chunk-A4MVVPJ2.js +4204 -0
  89. package/dist/chunk-A4MVVPJ2.js.map +1 -0
  90. package/dist/chunk-AO45BX6Q.js +66 -0
  91. package/dist/chunk-AQM4JH62.js +274 -0
  92. package/dist/chunk-AQM4JH62.js.map +1 -0
  93. package/dist/chunk-BDYLILMW.js +150 -0
  94. package/dist/chunk-BL2MX6CR.js +249 -0
  95. package/dist/chunk-BOPC3D6I.js +604 -0
  96. package/dist/chunk-BTY4LZBG.js +46 -0
  97. package/dist/chunk-C7NWUCLQ.js +64 -0
  98. package/dist/chunk-CP4P6YKM.js +287 -0
  99. package/dist/chunk-CP4P6YKM.js.map +1 -0
  100. package/dist/chunk-D4CKCNGW.js +547 -0
  101. package/dist/chunk-D5CUAOQX.js +297 -0
  102. package/dist/chunk-D5UXWKLQ.js +903 -0
  103. package/dist/chunk-DCBZ5CHZ.js +139 -0
  104. package/dist/chunk-E2RFM6R2.js +1518 -0
  105. package/dist/chunk-EOY6BK4C.js +148 -0
  106. package/dist/chunk-FA4YZFRV.js +392 -0
  107. package/dist/chunk-FVHJCERJ.js +942 -0
  108. package/dist/chunk-G2LGMWNG.js +627 -0
  109. package/dist/chunk-G4STCTY3.js +399 -0
  110. package/dist/chunk-G6XKD7QE.js +77 -0
  111. package/dist/chunk-GSZZLW5Q.js +831 -0
  112. package/dist/chunk-HLVRHBKL.js +1078 -0
  113. package/dist/chunk-HLVRHBKL.js.map +1 -0
  114. package/dist/chunk-HSPMBLKE.js +363 -0
  115. package/dist/chunk-IG627WWY.js +23992 -0
  116. package/dist/chunk-IG627WWY.js.map +1 -0
  117. package/dist/chunk-IJ22WP3G.js +275 -0
  118. package/dist/chunk-IKCP5NCE.js +843 -0
  119. package/dist/chunk-ILSKYRDR.js +169 -0
  120. package/dist/chunk-JAC6JVCI.js +26 -0
  121. package/dist/chunk-JKJQWRLO.js +91 -0
  122. package/dist/chunk-JQH5VG6F.js +5368 -0
  123. package/dist/chunk-JQU2LUZG.js +57 -0
  124. package/dist/chunk-JVH5A3XC.js +8914 -0
  125. package/dist/chunk-JYALBYN7.js +131 -0
  126. package/dist/chunk-KOXDXSKN.js +8939 -0
  127. package/dist/chunk-LOMH4TTC.js +1079 -0
  128. package/dist/chunk-LXQB4ZGE.js +142 -0
  129. package/dist/chunk-M6PN3VH6.js +19 -0
  130. package/dist/chunk-M7IJU77B.js +665 -0
  131. package/dist/chunk-MCJ5I5LR.js +3187 -0
  132. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  133. package/dist/chunk-MVB32GPI.js +592 -0
  134. package/dist/chunk-MXH35PJ5.js +51 -0
  135. package/dist/chunk-MZPS46OR.js +76 -0
  136. package/dist/chunk-NEIUVSDK.js +206 -0
  137. package/dist/chunk-NEOUY3Q7.js +285 -0
  138. package/dist/chunk-NXZCCGES.js +159 -0
  139. package/dist/chunk-P3W6SRSQ.js +455 -0
  140. package/dist/chunk-P5FRWPG7.js +160 -0
  141. package/dist/chunk-PA4W7BCQ.js +23 -0
  142. package/dist/chunk-PQJXIY64.js +97 -0
  143. package/dist/chunk-PTGYM4J6.js +89 -0
  144. package/dist/chunk-QNLJ3GNZ.js +433 -0
  145. package/dist/chunk-QTOZ32SU.js +163 -0
  146. package/dist/chunk-QTOZ32SU.js.map +1 -0
  147. package/dist/chunk-SISA4HQR.js +61 -0
  148. package/dist/chunk-SVAB6KV5.js +219 -0
  149. package/dist/chunk-SVAB6KV5.js.map +1 -0
  150. package/dist/chunk-SVM3DGAQ.js +228 -0
  151. package/dist/chunk-TP7HKSBX.js +172 -0
  152. package/dist/chunk-TRPJJMCS.js +346 -0
  153. package/dist/chunk-UNX6BS4U.js +3868 -0
  154. package/dist/chunk-VD73V44J.js +344 -0
  155. package/dist/chunk-VL65H6YM.js +846 -0
  156. package/dist/chunk-WTJSMYY2.js +4249 -0
  157. package/dist/chunk-WTJSMYY2.js.map +1 -0
  158. package/dist/chunk-X7F4Z6UM.js +156 -0
  159. package/dist/chunk-YW7VMU5L.js +654 -0
  160. package/dist/chunk-YW7VMU5L.js.map +1 -0
  161. package/dist/chunk-ZCQVKDHV.js +98 -0
  162. package/dist/chunk-ZJSGGJ5R.js +167 -0
  163. package/dist/claim-SLGYOOWD.js +197 -0
  164. package/dist/cli.js +36 -36
  165. package/dist/companies-IVMH6YII.js +195 -0
  166. package/dist/complete-45L2FI2X.js +81 -0
  167. package/dist/connect-S54TJ6OV.js +42 -0
  168. package/dist/conversation-RIOL3OJ7.js +93 -0
  169. package/dist/conversion-report-REOHVLCI.js +125 -0
  170. package/dist/conversion-upload-command-W4GELHIQ.js +438 -0
  171. package/dist/conversion-writes-ECZBVY7D.js +120 -0
  172. package/dist/conversions-5QCSCRLI.js +76 -0
  173. package/dist/conversions-TKIXNSYR.js +135 -0
  174. package/dist/copy-writes-D2RTHAL6.js +167 -0
  175. package/dist/copy-writes-D2RTHAL6.js.map +1 -0
  176. package/dist/create-7JY2PTIZ.js +132 -0
  177. package/dist/create-ACLCRXQP.js +59 -0
  178. package/dist/create-KYBMFD32.js +207 -0
  179. package/dist/create-VAPJ52GJ.js +235 -0
  180. package/dist/creatives-5I3G5YP3.js +182 -0
  181. package/dist/creatives-MZ6ICNSY.js +88 -0
  182. package/dist/creatives-MZ6ICNSY.js.map +1 -0
  183. package/dist/creatives-PCAGWPW3.js +58 -0
  184. package/dist/credentials-YTQ6BHWV.js +287 -0
  185. package/dist/critique-BHYJYZDV.js +1458 -0
  186. package/dist/critique-NRHUPIWF.js +227 -0
  187. package/dist/crm-IKTWHWEB.js +318 -0
  188. package/dist/crm-N7K57LZJ.js +224 -0
  189. package/dist/currency-PW7HIBZ6.js +88 -0
  190. package/dist/custom-conversions-FIP6ZS34.js +127 -0
  191. package/dist/custom-conversions-FIP6ZS34.js.map +1 -0
  192. package/dist/customers-NLU7NYDC.js +56 -0
  193. package/dist/delete-26J3X3ZH.js +64 -0
  194. package/dist/delete-A4F5Z54J.js +66 -0
  195. package/dist/delete-EVXOFT2H.js +54 -0
  196. package/dist/demographics-VZKFMM4X.js +138 -0
  197. package/dist/discard-ULRVUJDV.js +66 -0
  198. package/dist/discover-PVXWX2WL.js +172 -0
  199. package/dist/domain-L4WCCX7R.js +98 -0
  200. package/dist/draft-34CGWUVA.js +281 -0
  201. package/dist/draft-4P3YO67N.js +332 -0
  202. package/dist/draft-4P3YO67N.js.map +1 -0
  203. package/dist/draft-57OQKHZI.js +306 -0
  204. package/dist/draft-L45PGCYZ.js +237 -0
  205. package/dist/draft-L45PGCYZ.js.map +1 -0
  206. package/dist/draft-O4S5RKWK.js +217 -0
  207. package/dist/draft-PAYD6GIM.js +307 -0
  208. package/dist/engine/index.js +9 -9
  209. package/dist/experiment-7N4QFRWV.js +1397 -0
  210. package/dist/facets-EHQKGGJ2.js +114 -0
  211. package/dist/feedback-O3H42V4I.js +106 -0
  212. package/dist/feedback-record-FAPN2GBS.js +260 -0
  213. package/dist/fetch-ETKT2RBC.js +176 -0
  214. package/dist/find-FSQAEGGF.js +134 -0
  215. package/dist/fit-UJQ47C4A.js +62 -0
  216. package/dist/flows-T22B77J3.js +247 -0
  217. package/dist/fonts-7VWBQPJF.js +36 -0
  218. package/dist/forecast-HB3RDBQN.js +168 -0
  219. package/dist/forecast-OI7YWZ6F.js +118 -0
  220. package/dist/funnel-7OA33VRP.js +394 -0
  221. package/dist/ga4-LPDIBNYP.js +55 -0
  222. package/dist/generate-OMXBFGGR.js +263 -0
  223. package/dist/get-2RSN4N3J.js +56 -0
  224. package/dist/get-6N7QJMIP.js +79 -0
  225. package/dist/google-5ESVO76E.js +136 -0
  226. package/dist/google-6JZBJ2ZQ.js +3265 -0
  227. package/dist/google-ads-G7REKD4A.js +195 -0
  228. package/dist/gsc-FIZTQX3N.js +30 -0
  229. package/dist/history-QKDYBSYM.js +67 -0
  230. package/dist/history-YMK2JNZU.js +133 -0
  231. package/dist/hubspot-BUFS7S33.js +779 -0
  232. package/dist/icon-CSVAZ7NE.js +137 -0
  233. package/dist/ideas-JQT422P7.js +40 -0
  234. package/dist/images-WBNWK2ZH.js +92 -0
  235. package/dist/ingest-RQUJGS7K.js +107 -0
  236. package/dist/ingest-XLTRLCDV.js +23 -0
  237. package/dist/insights-SQLE5NOJ.js +122 -0
  238. package/dist/insights-YWVJMATY.js +424 -0
  239. package/dist/insights-YWVJMATY.js.map +1 -0
  240. package/dist/inspect-KFVAMD4N.js +189 -0
  241. package/dist/inspiration-IX5N724J.js +53 -0
  242. package/dist/instant-experiences-NQ2GWIWL.js +257 -0
  243. package/dist/instant-experiences-NQ2GWIWL.js.map +1 -0
  244. package/dist/intent-4KJGYYHL.js +95 -0
  245. package/dist/keyword-gap-U64KXDR4.js +130 -0
  246. package/dist/keyword-metrics-WYF3QMCW.js +197 -0
  247. package/dist/keywords-for-site-G5L5EP3T.js +128 -0
  248. package/dist/landing-Y6QCTXCZ.js +28 -0
  249. package/dist/languages-7IPVGGW5.js +40 -0
  250. package/dist/leads-4SJ4NJOI.js +90 -0
  251. package/dist/leads-THI37ZMD.js +537 -0
  252. package/dist/leads-THI37ZMD.js.map +1 -0
  253. package/dist/learn-3BDZUWDT.js +204 -0
  254. package/dist/line-item-writes-YXKYR25W.js +208 -0
  255. package/dist/line-items-CKUD2UU4.js +103 -0
  256. package/dist/link-VBYFI7AM.js +64 -0
  257. package/dist/linkedin-UGMAFSGO.js +1057 -0
  258. package/dist/list-6ZNZGRRK.js +151 -0
  259. package/dist/list-ENYDGT3F.js +64 -0
  260. package/dist/list-VSUF2IWT.js +303 -0
  261. package/dist/locations-HM56X2MK.js +67 -0
  262. package/dist/locations-HM56X2MK.js.map +1 -0
  263. package/dist/locations-QJBYWRCN.js +40 -0
  264. package/dist/log-AACKGBDW.js +92 -0
  265. package/dist/logo-VHXH4J6A.js +18 -0
  266. package/dist/make-W2PYZXYF.js +1353 -0
  267. package/dist/map-63CQHWPI.js +433 -0
  268. package/dist/mcp-RKAXC6IP.js +714 -0
  269. package/dist/media-H6B7VDON.js +18 -0
  270. package/dist/media-H6B7VDON.js.map +1 -0
  271. package/dist/media-sources-EZKAJNVD.js +32 -0
  272. package/dist/members-SELIA674.js +44 -0
  273. package/dist/meta-YHDTGJQ6.js +122 -0
  274. package/dist/meta-YHDTGJQ6.js.map +1 -0
  275. package/dist/metrics-V6SKOVNH.js +152 -0
  276. package/dist/models-2XRYXSRA.js +155 -0
  277. package/dist/normalize-VAZPTBDX.js +141 -0
  278. package/dist/options-NSCZSQ5P.js +122 -0
  279. package/dist/organization-SHREKDST.js +881 -0
  280. package/dist/organization-SHREKDST.js.map +1 -0
  281. package/dist/page-photos-CXRG4AXV.js +115 -0
  282. package/dist/page-photos-CXRG4AXV.js.map +1 -0
  283. package/dist/pages-PTWRXAZT.js +66 -0
  284. package/dist/performance-K7E5KAZW.js +24 -0
  285. package/dist/pixels-MYT3TCHZ.js +60 -0
  286. package/dist/pixels-ZZCQUS3J.js +108 -0
  287. package/dist/preview-XOXAAPMQ.js +215 -0
  288. package/dist/preview-XOXAAPMQ.js.map +1 -0
  289. package/dist/promoted-tweet-writes-PKEO6WUK.js +180 -0
  290. package/dist/promoted-tweets-7MXVZRBI.js +119 -0
  291. package/dist/publish-MPMGRV72.js +341 -0
  292. package/dist/query-UD4OIZ3A.js +61 -0
  293. package/dist/reddit-XIHRI3CN.js +26 -0
  294. package/dist/refresh-A27N75NH.js +94 -0
  295. package/dist/release-UKRB5IUN.js +60 -0
  296. package/dist/relevant-pages-VXSHEOU2.js +99 -0
  297. package/dist/remove-AFNFVPZY.js +50 -0
  298. package/dist/reopen-M5HE6J3G.js +63 -0
  299. package/dist/rerun-5THJLQQJ.js +90 -0
  300. package/dist/research-JHDWWFL7.js +62 -0
  301. package/dist/research-U7RQXMYH.js +262 -0
  302. package/dist/reset-4CCWB2RT.js +54 -0
  303. package/dist/reset-J3KCWFMZ.js +54 -0
  304. package/dist/resolve-HEK27ANI.js +121 -0
  305. package/dist/retry-HPZIUG2S.js +62 -0
  306. package/dist/retry-VVI6N6UR.js +60 -0
  307. package/dist/rule-writes-6ZCAJDYZ.js +522 -0
  308. package/dist/rule-writes-6ZCAJDYZ.js.map +1 -0
  309. package/dist/rules-BMYOY2BM.js +216 -0
  310. package/dist/rules-BMYOY2BM.js.map +1 -0
  311. package/dist/rules-YLLFDZEM.js +96 -0
  312. package/dist/rules-add-U2GU4AGP.js +462 -0
  313. package/dist/run-M7ZDE6IA.js +66 -0
  314. package/dist/run-V5YQB6TH.js +65 -0
  315. package/dist/scaffold-ad-H4GJOKAW.js +1511 -0
  316. package/dist/scaffold-static-ad-2YIFHCTL.js +1005 -0
  317. package/dist/scaffold-video-3EJLKR2O.js +883 -0
  318. package/dist/schedule-QMOKWTJ3.js +61 -0
  319. package/dist/scheduled-agents-FCQHQ6KR.js +50 -0
  320. package/dist/schema-THFLCMBN.js +132 -0
  321. package/dist/schema-XKEEAUXP.js +69 -0
  322. package/dist/search-XIUYSWO6.js +174 -0
  323. package/dist/select-I22NPSIW.js +101 -0
  324. package/dist/set-prompt-S75OMQ7L.js +193 -0
  325. package/dist/setup-links-QVI6NAOK.js +141 -0
  326. package/dist/shared-3IBNDEFL.js +31 -0
  327. package/dist/site-PZPJY33N.js +177 -0
  328. package/dist/sources-ER7ANNG3.js +454 -0
  329. package/dist/sources-VA23PDND.js +30 -0
  330. package/dist/stale-MHTU2NQJ.js +71 -0
  331. package/dist/stats-ZAGJH4AD.js +34 -0
  332. package/dist/status-ABMJBCPJ.js +62 -0
  333. package/dist/stock-6SHHLSKG.js +179 -0
  334. package/dist/studies-4NIV4D5Y.js +249 -0
  335. package/dist/studies-4NIV4D5Y.js.map +1 -0
  336. package/dist/studio-ZLCGXFAN.js +49 -0
  337. package/dist/study-writes-L2AA2PGL.js +467 -0
  338. package/dist/study-writes-L2AA2PGL.js.map +1 -0
  339. package/dist/sync-QDD3MRJ6.js +54 -0
  340. package/dist/sync-definition-2EBSQA6A.js +64 -0
  341. package/dist/tag-manager-3CJ66GKJ.js +43 -0
  342. package/dist/tags-5JYOEYIT.js +20 -0
  343. package/dist/tags-B473RWAA.js +224 -0
  344. package/dist/tags-EWHPUM2V.js +20 -0
  345. package/dist/tags-KBCX6BDU.js +26 -0
  346. package/dist/tags-PEWN6GNZ.js +20 -0
  347. package/dist/targeting-LNDQV4EK.js +759 -0
  348. package/dist/targeting-LNDQV4EK.js.map +1 -0
  349. package/dist/targeting-criteria-EU65WUUF.js +113 -0
  350. package/dist/targets-KVXS5QKM.js +103 -0
  351. package/dist/testimonials-GR6TIS5S.js +32 -0
  352. package/dist/themes-JWWTOR3I.js +94 -0
  353. package/dist/top-companies-OOX3DITI.js +108 -0
  354. package/dist/translate-GEFUP6KQ.js +604 -0
  355. package/dist/triggers-OX2GKG4Y.js +142 -0
  356. package/dist/unlink-3USEPJSA.js +67 -0
  357. package/dist/unstage-VSCNPTAC.js +85 -0
  358. package/dist/update-6JKTH65B.js +152 -0
  359. package/dist/update-FG4ELXYJ.js +98 -0
  360. package/dist/update-GZFKHA3A.js +188 -0
  361. package/dist/update-HZHG67N6.js +63 -0
  362. package/dist/upload-BKCQ6FRW.js +126 -0
  363. package/dist/url-options-HCVRPZYU.js +130 -0
  364. package/dist/url-params-UN4DRN2H.js +98 -0
  365. package/dist/validate-NOWIOAHE.js +117 -0
  366. package/dist/videos-XMTDEHEJ.js +39 -0
  367. package/dist/viewer-check-U4XZMMS7.js +80 -0
  368. package/dist/viewer-check-U4XZMMS7.js.map +1 -0
  369. package/dist/web-UGU7YMII.js +140 -0
  370. package/dist/winning-ads-QOAYIR5U.js +84 -0
  371. package/dist/write-commands-6VR2UD3T.js +1024 -0
  372. package/dist/write-commands-PEJBTME6.js +1165 -0
  373. package/dist/write-commands-PEJBTME6.js.map +1 -0
  374. package/dist/x-VCSMV7T5.js +47 -0
  375. package/package.json +1 -1
  376. package/dist/account-7LUQWY6Q.js +0 -49
  377. package/dist/account-7LUQWY6Q.js.map +0 -1
  378. package/dist/account-ELL7ZZLM.js +0 -80
  379. package/dist/account-YVQGH2GB.js +0 -79
  380. package/dist/account-reads-5B4FFOZU.js +0 -218
  381. package/dist/account-writes-CEPERFD6.js +0 -66
  382. package/dist/accounts-6WNFCGUW.js +0 -611
  383. package/dist/accounts-UA2ZWRN4.js +0 -75
  384. package/dist/accounts-ZIE7J6RR.js +0 -77
  385. package/dist/actions-QZQTB3KR.js +0 -55
  386. package/dist/activecampaign-LIXWDX74.js +0 -935
  387. package/dist/activities-IQPJPP4B.js +0 -74
  388. package/dist/ad-group-writes-XGSCEQTW.js +0 -170
  389. package/dist/ad-groups-GKOLDGET.js +0 -68
  390. package/dist/ad-writes-VVD36JKH.js +0 -174
  391. package/dist/add-HQFI5UVS.js +0 -302
  392. package/dist/add-JWJP4CQY.js +0 -104
  393. package/dist/ads-EKZVHKPN.js +0 -77
  394. package/dist/ads-F365TPXO.js +0 -40
  395. package/dist/ads-HXX2IAFF.js +0 -113
  396. package/dist/ads-HXX2IAFF.js.map +0 -1
  397. package/dist/adsets-LPN6WFGF.js +0 -176
  398. package/dist/adsets-LPN6WFGF.js.map +0 -1
  399. package/dist/advertisers-TPIS4R73.js +0 -120
  400. package/dist/analytics-AFW7ESJW.js +0 -1976
  401. package/dist/analytics-QG7TBGMC.js +0 -433
  402. package/dist/animate-G4P3OEJE.js +0 -480
  403. package/dist/assign-VKINQVCJ.js +0 -77
  404. package/dist/audience-size-6ZEWCPX6.js +0 -73
  405. package/dist/audiences-BU4JZJT7.js +0 -268
  406. package/dist/audiences-XEZHACKH.js +0 -78
  407. package/dist/audiences-XEZHACKH.js.map +0 -1
  408. package/dist/audit-5US7TTUF.js +0 -151
  409. package/dist/autocomplete-XBVLHJ4R.js +0 -111
  410. package/dist/avatars-5IBVOF63.js +0 -38
  411. package/dist/bid-pricing-EFYUHTWP.js +0 -100
  412. package/dist/brand-Z5KRGJX4.js +0 -22
  413. package/dist/brief-DGAZ6NJG.js +0 -538
  414. package/dist/businesses-PRRYPR7H.js +0 -53
  415. package/dist/campaign-groups-AOMTKPUY.js +0 -95
  416. package/dist/campaign-writes-NSEJCINS.js +0 -170
  417. package/dist/campaign-writes-NXVLFVZ6.js +0 -165
  418. package/dist/campaign-writes-NXVLFVZ6.js.map +0 -1
  419. package/dist/campaigns-4SOLY7OR.js +0 -110
  420. package/dist/campaigns-4SOLY7OR.js.map +0 -1
  421. package/dist/campaigns-UELLCVI2.js +0 -109
  422. package/dist/campaigns-VWN2XPK2.js +0 -76
  423. package/dist/campaigns-WE42FQKM.js +0 -107
  424. package/dist/canvas-DG3CJ7FA.js +0 -46
  425. package/dist/capabilities-FDCILMJK.js +0 -144
  426. package/dist/catalog-KZNB2YJS.js +0 -65
  427. package/dist/catalogs-XH5NHH4C.js +0 -128
  428. package/dist/changes-DKP263OZ.js +0 -135
  429. package/dist/chatgpt-K6KNTME4.js +0 -47
  430. package/dist/chats-NFSZEF5L.js +0 -262
  431. package/dist/chats-NFSZEF5L.js.map +0 -1
  432. package/dist/check-6UVMPPNH.js +0 -104
  433. package/dist/chunk-2GT76KEX.js +0 -285
  434. package/dist/chunk-33XFNSBM.js +0 -433
  435. package/dist/chunk-36SU43V2.js +0 -6306
  436. package/dist/chunk-3BKNGXCL.js +0 -23992
  437. package/dist/chunk-3BKNGXCL.js.map +0 -1
  438. package/dist/chunk-3VCHJN2B.js +0 -627
  439. package/dist/chunk-5562QFVB.js +0 -275
  440. package/dist/chunk-5QW4OQM4.js +0 -831
  441. package/dist/chunk-5SRHACZW.js +0 -274
  442. package/dist/chunk-5SRHACZW.js.map +0 -1
  443. package/dist/chunk-6JWEGFM5.js +0 -174
  444. package/dist/chunk-6JWEGFM5.js.map +0 -1
  445. package/dist/chunk-6KULDLLR.js +0 -547
  446. package/dist/chunk-6OIKNJ7G.js +0 -26
  447. package/dist/chunk-6TG4CAYD.js +0 -19
  448. package/dist/chunk-6VZHOXP6.js +0 -172
  449. package/dist/chunk-7RBJ2Z7Z.js +0 -172
  450. package/dist/chunk-7RBJ2Z7Z.js.map +0 -1
  451. package/dist/chunk-7RKUHTS6.js +0 -224
  452. package/dist/chunk-AGVCQHQK.js +0 -344
  453. package/dist/chunk-AJ45PER5.js +0 -57
  454. package/dist/chunk-AL3VGEG5.js +0 -665
  455. package/dist/chunk-AQMMAB2N.js +0 -197
  456. package/dist/chunk-B6VCTXSD.js +0 -97
  457. package/dist/chunk-B7FVPHCW.js +0 -843
  458. package/dist/chunk-BITS62MF.js +0 -77
  459. package/dist/chunk-C4MJ3WPQ.js +0 -592
  460. package/dist/chunk-C6BFE4X2.js +0 -51
  461. package/dist/chunk-D2YHDDKW.js +0 -23
  462. package/dist/chunk-E4GWQFTL.js +0 -66
  463. package/dist/chunk-EIDTAHUC.js +0 -191
  464. package/dist/chunk-ERRMJ7AZ.js +0 -169
  465. package/dist/chunk-EZ5KY6I2.js +0 -1079
  466. package/dist/chunk-F3CZFUXZ.js +0 -3187
  467. package/dist/chunk-F3CZFUXZ.js.map +0 -1
  468. package/dist/chunk-F5IH7G2F.js +0 -1919
  469. package/dist/chunk-GFTDR3Z2.js +0 -604
  470. package/dist/chunk-GGY2KH3K.js +0 -249
  471. package/dist/chunk-GOJXKIFQ.js +0 -1605
  472. package/dist/chunk-GOJXKIFQ.js.map +0 -1
  473. package/dist/chunk-GYJQV3IX.js +0 -225
  474. package/dist/chunk-H5HDZ7IC.js +0 -139
  475. package/dist/chunk-HVI4DNZL.js +0 -103
  476. package/dist/chunk-HY4G44UC.js +0 -156
  477. package/dist/chunk-I2WRZJAC.js +0 -46
  478. package/dist/chunk-IHUIXQBP.js +0 -206
  479. package/dist/chunk-IMWXYSCP.js +0 -392
  480. package/dist/chunk-KIGGMKAE.js +0 -66
  481. package/dist/chunk-KIGGMKAE.js.map +0 -1
  482. package/dist/chunk-KPYDTIAI.js +0 -317
  483. package/dist/chunk-L63JZLCX.js +0 -647
  484. package/dist/chunk-L63JZLCX.js.map +0 -1
  485. package/dist/chunk-M2D7ZWEU.js +0 -150
  486. package/dist/chunk-MP5IMGKF.js +0 -148
  487. package/dist/chunk-NA2KOPW6.js +0 -363
  488. package/dist/chunk-NAA4CKZZ.js +0 -4249
  489. package/dist/chunk-NAA4CKZZ.js.map +0 -1
  490. package/dist/chunk-NDVAOHMY.js +0 -903
  491. package/dist/chunk-NLUFREI6.js +0 -160
  492. package/dist/chunk-OKLYOMQ3.js +0 -1606
  493. package/dist/chunk-ONVPV23E.js +0 -122
  494. package/dist/chunk-OP7DNHD2.js +0 -137
  495. package/dist/chunk-OP7DNHD2.js.map +0 -1
  496. package/dist/chunk-OWRFIAW2.js +0 -91
  497. package/dist/chunk-P5ENZXC2.js +0 -64
  498. package/dist/chunk-QK76OM22.js +0 -297
  499. package/dist/chunk-R5IZ6P3E.js +0 -3868
  500. package/dist/chunk-RBIWYPJQ.js +0 -159
  501. package/dist/chunk-RESDRJRP.js +0 -399
  502. package/dist/chunk-RGX7AQ2K.js +0 -131
  503. package/dist/chunk-RWLQYW2L.js +0 -8939
  504. package/dist/chunk-S7B2TOOU.js +0 -98
  505. package/dist/chunk-SIKCVWM3.js +0 -76
  506. package/dist/chunk-TBZPXGEW.js +0 -142
  507. package/dist/chunk-TFJW5CXD.js +0 -5368
  508. package/dist/chunk-TPS3X5DI.js +0 -89
  509. package/dist/chunk-UM7ESCIN.js +0 -846
  510. package/dist/chunk-UWDYGSJF.js +0 -61
  511. package/dist/chunk-V57TZQPI.js +0 -228
  512. package/dist/chunk-VLKYUZF7.js +0 -346
  513. package/dist/chunk-VYZ4KQ3C.js +0 -942
  514. package/dist/chunk-WRMMJUNJ.js +0 -494
  515. package/dist/chunk-WY5H3XYC.js +0 -167
  516. package/dist/chunk-XLJVJ5TK.js +0 -1518
  517. package/dist/chunk-Y2GH4YWA.js +0 -207
  518. package/dist/chunk-YSB26POP.js +0 -8914
  519. package/dist/chunk-YT2ZSPWF.js +0 -455
  520. package/dist/claim-7CB6TVEW.js +0 -197
  521. package/dist/companies-CACKHSY5.js +0 -195
  522. package/dist/complete-IHLTYFT2.js +0 -81
  523. package/dist/connect-J722BTO4.js +0 -42
  524. package/dist/conversation-HRNJJJW5.js +0 -93
  525. package/dist/conversion-report-KL4LIVY5.js +0 -125
  526. package/dist/conversion-upload-command-WT6C35QL.js +0 -438
  527. package/dist/conversion-writes-MPBCTVSP.js +0 -120
  528. package/dist/conversions-ACYT6K7H.js +0 -76
  529. package/dist/conversions-DE7W5T4Z.js +0 -135
  530. package/dist/create-6ZDLKC4F.js +0 -59
  531. package/dist/create-7YO6DAAT.js +0 -207
  532. package/dist/create-W7OTXLCZ.js +0 -132
  533. package/dist/create-ZU7AHBYM.js +0 -235
  534. package/dist/creatives-6UYAAC5E.js +0 -58
  535. package/dist/creatives-XUIY3MQI.js +0 -182
  536. package/dist/creatives-YJ3CXZQC.js +0 -87
  537. package/dist/creatives-YJ3CXZQC.js.map +0 -1
  538. package/dist/credentials-ADGJKYA7.js +0 -287
  539. package/dist/critique-BBHPASRE.js +0 -227
  540. package/dist/critique-T7QGPPEX.js +0 -1458
  541. package/dist/crm-EKDV2SET.js +0 -224
  542. package/dist/crm-MXT2HUKU.js +0 -318
  543. package/dist/currency-TBBXPWXU.js +0 -88
  544. package/dist/custom-conversions-YRYE65PU.js +0 -125
  545. package/dist/custom-conversions-YRYE65PU.js.map +0 -1
  546. package/dist/customers-EZEVYT4Z.js +0 -56
  547. package/dist/delete-3UDIH2ZD.js +0 -66
  548. package/dist/delete-4L3HO5B6.js +0 -54
  549. package/dist/delete-SRU4GRDT.js +0 -64
  550. package/dist/demographics-3OWQDW7B.js +0 -138
  551. package/dist/discard-UEMA5UHL.js +0 -66
  552. package/dist/discover-RTV5XWRI.js +0 -172
  553. package/dist/domain-6324IS6I.js +0 -98
  554. package/dist/draft-2KS56KCT.js +0 -307
  555. package/dist/draft-777O2UIX.js +0 -217
  556. package/dist/draft-EWDOIXSH.js +0 -233
  557. package/dist/draft-EWDOIXSH.js.map +0 -1
  558. package/dist/draft-GRL7577L.js +0 -306
  559. package/dist/draft-VOFJXUOC.js +0 -328
  560. package/dist/draft-VOFJXUOC.js.map +0 -1
  561. package/dist/draft-VXGZDBC7.js +0 -281
  562. package/dist/experiment-G3FQVAJU.js +0 -1397
  563. package/dist/facets-YV6NORA6.js +0 -114
  564. package/dist/feedback-YITFVOHX.js +0 -106
  565. package/dist/feedback-record-FW2QWFYQ.js +0 -260
  566. package/dist/fetch-EYXLTSKW.js +0 -176
  567. package/dist/find-EVY4XEIQ.js +0 -134
  568. package/dist/fit-KEFUU7QA.js +0 -62
  569. package/dist/flows-EJV7WMGD.js +0 -247
  570. package/dist/fonts-DMIBVZ6D.js +0 -36
  571. package/dist/forecast-5YKQZSE7.js +0 -118
  572. package/dist/forecast-G43FKEZE.js +0 -168
  573. package/dist/funnel-ND7OXIKT.js +0 -394
  574. package/dist/ga4-2BL5YAYN.js +0 -55
  575. package/dist/generate-D3LUXFJT.js +0 -263
  576. package/dist/get-GB6SPWCA.js +0 -79
  577. package/dist/get-PU3YHQWN.js +0 -56
  578. package/dist/google-7STODZQR.js +0 -136
  579. package/dist/google-MHB5TOFN.js +0 -3265
  580. package/dist/google-ads-XGEGKEL6.js +0 -195
  581. package/dist/gsc-UU3T2C6B.js +0 -30
  582. package/dist/history-NYWAMWAY.js +0 -133
  583. package/dist/history-OQAOTEO3.js +0 -67
  584. package/dist/hubspot-LMIVY7FR.js +0 -779
  585. package/dist/icon-GB7UH5RF.js +0 -137
  586. package/dist/ideas-W4IIVOZ4.js +0 -40
  587. package/dist/images-PPMIMPTS.js +0 -92
  588. package/dist/ingest-2YGWBWAB.js +0 -107
  589. package/dist/ingest-FRDTTPYD.js +0 -23
  590. package/dist/insights-4HT2NAYP.js +0 -423
  591. package/dist/insights-4HT2NAYP.js.map +0 -1
  592. package/dist/insights-PZXFCMX2.js +0 -122
  593. package/dist/inspect-QF2S3U2E.js +0 -189
  594. package/dist/inspiration-XQYHBJY2.js +0 -53
  595. package/dist/intent-JJTDJ732.js +0 -95
  596. package/dist/keyword-gap-4NQN56JP.js +0 -130
  597. package/dist/keyword-metrics-QCIOBMTW.js +0 -197
  598. package/dist/keywords-for-site-FS635JXM.js +0 -128
  599. package/dist/landing-6H5QEHOW.js +0 -28
  600. package/dist/languages-FNE45NXJ.js +0 -40
  601. package/dist/leads-2XOSAYP4.js +0 -293
  602. package/dist/leads-2XOSAYP4.js.map +0 -1
  603. package/dist/leads-MKLSWZO6.js +0 -90
  604. package/dist/learn-C564OA7W.js +0 -204
  605. package/dist/line-item-writes-K7QNWRQ3.js +0 -208
  606. package/dist/line-items-TBTHVKCZ.js +0 -103
  607. package/dist/link-CPJJ6T4M.js +0 -64
  608. package/dist/linkedin-HGUK624E.js +0 -1057
  609. package/dist/list-AAT5CWDA.js +0 -303
  610. package/dist/list-N5SJXLYF.js +0 -64
  611. package/dist/list-OKDU5W4D.js +0 -151
  612. package/dist/locations-FTDI4FBI.js +0 -40
  613. package/dist/locations-VL2G22Y5.js +0 -67
  614. package/dist/locations-VL2G22Y5.js.map +0 -1
  615. package/dist/log-KVRWIJS5.js +0 -92
  616. package/dist/logo-YSNUUT33.js +0 -18
  617. package/dist/make-4NTHJ4TG.js +0 -1353
  618. package/dist/map-HQ43MKEC.js +0 -433
  619. package/dist/mcp-MFLUHPL5.js +0 -714
  620. package/dist/media-ES2UBGYW.js +0 -15
  621. package/dist/media-ES2UBGYW.js.map +0 -1
  622. package/dist/media-sources-A4ICRSKB.js +0 -32
  623. package/dist/members-NRKQSSVS.js +0 -44
  624. package/dist/meta-AOIPEDV5.js +0 -69
  625. package/dist/meta-AOIPEDV5.js.map +0 -1
  626. package/dist/metrics-3BRTJNGW.js +0 -152
  627. package/dist/models-IH6KE6OH.js +0 -155
  628. package/dist/normalize-EH6BTBOB.js +0 -141
  629. package/dist/options-YEPQXXRY.js +0 -122
  630. package/dist/organization-XSWT7S5S.js +0 -836
  631. package/dist/organization-XSWT7S5S.js.map +0 -1
  632. package/dist/pages-FTI44OSH.js +0 -66
  633. package/dist/performance-YJVMM6DL.js +0 -24
  634. package/dist/pixels-DWW2TDY2.js +0 -60
  635. package/dist/pixels-MBKR4XPX.js +0 -108
  636. package/dist/preview-V4YBD45S.js +0 -169
  637. package/dist/preview-V4YBD45S.js.map +0 -1
  638. package/dist/promoted-tweet-writes-M5OVEBC5.js +0 -180
  639. package/dist/promoted-tweets-2MOIERNB.js +0 -119
  640. package/dist/publish-NPENZIHV.js +0 -341
  641. package/dist/query-3OMCFGLU.js +0 -61
  642. package/dist/reddit-LI37G5LS.js +0 -26
  643. package/dist/refresh-4BBV5SPL.js +0 -94
  644. package/dist/release-4X3TLMQT.js +0 -60
  645. package/dist/relevant-pages-DIYZM6FJ.js +0 -99
  646. package/dist/remove-Q4AES5UH.js +0 -50
  647. package/dist/reopen-SDTPL3BN.js +0 -63
  648. package/dist/rerun-NA3MH4HG.js +0 -90
  649. package/dist/research-5H265UV7.js +0 -262
  650. package/dist/research-LXQRNAQ2.js +0 -62
  651. package/dist/reset-42M5IKDI.js +0 -54
  652. package/dist/reset-52PU3CVD.js +0 -54
  653. package/dist/resolve-R4IACKIZ.js +0 -121
  654. package/dist/retry-FPF42ZNG.js +0 -62
  655. package/dist/retry-RTQGAH6G.js +0 -60
  656. package/dist/rules-CGNYJYVC.js +0 -96
  657. package/dist/rules-add-EO5476BF.js +0 -462
  658. package/dist/run-3AZJ3UQU.js +0 -66
  659. package/dist/run-AFMTXJTU.js +0 -65
  660. package/dist/scaffold-ad-OGU2IINY.js +0 -1511
  661. package/dist/scaffold-static-ad-HO4BJW4H.js +0 -1005
  662. package/dist/scaffold-video-TLQ4WSDK.js +0 -883
  663. package/dist/schedule-AWWMI5FO.js +0 -61
  664. package/dist/scheduled-agents-ELLU7BSE.js +0 -50
  665. package/dist/schema-BOOZEJPA.js +0 -69
  666. package/dist/schema-QNVLKMKG.js +0 -132
  667. package/dist/search-BZNIB2XF.js +0 -174
  668. package/dist/select-NLWZIQ7L.js +0 -101
  669. package/dist/set-prompt-QKW2L553.js +0 -193
  670. package/dist/setup-links-NMSQ4BG7.js +0 -141
  671. package/dist/shared-NDRFKAH7.js +0 -31
  672. package/dist/site-GGYFBZT5.js +0 -177
  673. package/dist/sources-KTGDMUV4.js +0 -30
  674. package/dist/sources-LPQZDTIU.js +0 -454
  675. package/dist/stale-C5JLQ4D2.js +0 -71
  676. package/dist/stats-RCLQE4HJ.js +0 -34
  677. package/dist/status-6PS3HDS5.js +0 -62
  678. package/dist/stock-ECRBD7RP.js +0 -179
  679. package/dist/studio-LMDDQWRY.js +0 -49
  680. package/dist/sync-XSATDLE6.js +0 -54
  681. package/dist/sync-definition-LSGDHMHV.js +0 -64
  682. package/dist/tag-manager-G3LBQZUL.js +0 -43
  683. package/dist/tags-5Y7TPJNZ.js +0 -20
  684. package/dist/tags-6TT5ZJVX.js +0 -26
  685. package/dist/tags-BQLIOWS4.js +0 -20
  686. package/dist/tags-EXWKO6Q6.js +0 -224
  687. package/dist/tags-OK34UGSM.js +0 -20
  688. package/dist/targeting-criteria-AWPMOX4V.js +0 -113
  689. package/dist/targets-EXYCOHEX.js +0 -103
  690. package/dist/testimonials-BTYMR3U4.js +0 -32
  691. package/dist/themes-AOU4ZZXL.js +0 -94
  692. package/dist/top-companies-FRPAURAH.js +0 -108
  693. package/dist/translate-SF234KLG.js +0 -604
  694. package/dist/triggers-SJUXDU3X.js +0 -142
  695. package/dist/unlink-RIZD3XTI.js +0 -67
  696. package/dist/unstage-MKTIVI3I.js +0 -85
  697. package/dist/update-COHXM25C.js +0 -152
  698. package/dist/update-NKX2GXAR.js +0 -63
  699. package/dist/update-OXVZXDYH.js +0 -98
  700. package/dist/update-SZLYEEU4.js +0 -188
  701. package/dist/upload-LEDO3IRC.js +0 -126
  702. package/dist/url-options-Q5SL42CV.js +0 -130
  703. package/dist/url-params-KP6D7BF3.js +0 -98
  704. package/dist/validate-7QWQZ2OL.js +0 -117
  705. package/dist/videos-VABK4KHJ.js +0 -39
  706. package/dist/viewer-check-I45HHWSW.js +0 -80
  707. package/dist/web-DZGUPZYQ.js +0 -140
  708. package/dist/winning-ads-6MDLRSKM.js +0 -84
  709. package/dist/write-commands-3VIK3VC4.js +0 -1024
  710. package/dist/write-commands-HCQI4Y27.js +0 -737
  711. package/dist/write-commands-HCQI4Y27.js.map +0 -1
  712. package/dist/x-GRDU7QC2.js +0 -47
  713. /package/dist/{account-ELL7ZZLM.js.map → account-3H6BZO5H.js.map} +0 -0
  714. /package/dist/{account-YVQGH2GB.js.map → account-KNRDOUJP.js.map} +0 -0
  715. /package/dist/{account-reads-5B4FFOZU.js.map → account-reads-GA6FVKLE.js.map} +0 -0
  716. /package/dist/{account-writes-CEPERFD6.js.map → account-writes-AE5IJGGW.js.map} +0 -0
  717. /package/dist/{accounts-UA2ZWRN4.js.map → accounts-K4INATCW.js.map} +0 -0
  718. /package/dist/{accounts-6WNFCGUW.js.map → accounts-RTN5ZGTU.js.map} +0 -0
  719. /package/dist/{accounts-ZIE7J6RR.js.map → accounts-RW6KXBOQ.js.map} +0 -0
  720. /package/dist/{actions-QZQTB3KR.js.map → actions-HNLISA7T.js.map} +0 -0
  721. /package/dist/{activecampaign-LIXWDX74.js.map → activecampaign-I5CILZPU.js.map} +0 -0
  722. /package/dist/{activities-IQPJPP4B.js.map → activities-T253KK4Q.js.map} +0 -0
  723. /package/dist/{ad-group-writes-XGSCEQTW.js.map → ad-group-writes-VRSBI2Z2.js.map} +0 -0
  724. /package/dist/{ad-groups-GKOLDGET.js.map → ad-groups-IEBVEAMS.js.map} +0 -0
  725. /package/dist/{ad-writes-VVD36JKH.js.map → ad-writes-ALV4KFPZ.js.map} +0 -0
  726. /package/dist/{add-HQFI5UVS.js.map → add-6WKPFMLG.js.map} +0 -0
  727. /package/dist/{add-JWJP4CQY.js.map → add-XF5COUAS.js.map} +0 -0
  728. /package/dist/{ads-EKZVHKPN.js.map → ads-CQZHD7FC.js.map} +0 -0
  729. /package/dist/{ads-F365TPXO.js.map → ads-QIKZ6O2N.js.map} +0 -0
  730. /package/dist/{advertisers-TPIS4R73.js.map → advertisers-6NUM2Q3A.js.map} +0 -0
  731. /package/dist/{analytics-AFW7ESJW.js.map → analytics-ALOZ7ZZ4.js.map} +0 -0
  732. /package/dist/{analytics-QG7TBGMC.js.map → analytics-VLHE5A2M.js.map} +0 -0
  733. /package/dist/{animate-G4P3OEJE.js.map → animate-SVEPM267.js.map} +0 -0
  734. /package/dist/{connect-J722BTO4.js.map → asset-writes-L5TMKIZC.js.map} +0 -0
  735. /package/dist/{assign-VKINQVCJ.js.map → assign-6HI6TNLP.js.map} +0 -0
  736. /package/dist/{audience-size-6ZEWCPX6.js.map → audience-size-25LP2OBF.js.map} +0 -0
  737. /package/dist/{audiences-BU4JZJT7.js.map → audiences-AAZH56WD.js.map} +0 -0
  738. /package/dist/{audit-5US7TTUF.js.map → audit-YY6X2MPA.js.map} +0 -0
  739. /package/dist/{autocomplete-XBVLHJ4R.js.map → autocomplete-SAWJK4NF.js.map} +0 -0
  740. /package/dist/{avatars-5IBVOF63.js.map → avatars-YSFFRHDK.js.map} +0 -0
  741. /package/dist/{bid-pricing-EFYUHTWP.js.map → bid-pricing-HZ74SLEB.js.map} +0 -0
  742. /package/dist/{brand-Z5KRGJX4.js.map → brand-T3OACVQX.js.map} +0 -0
  743. /package/dist/{brief-DGAZ6NJG.js.map → brief-7S6XCJIA.js.map} +0 -0
  744. /package/dist/{businesses-PRRYPR7H.js.map → businesses-H3HIDQX6.js.map} +0 -0
  745. /package/dist/{campaign-groups-AOMTKPUY.js.map → campaign-groups-YJK767AP.js.map} +0 -0
  746. /package/dist/{campaign-writes-NSEJCINS.js.map → campaign-writes-U5PUVSMT.js.map} +0 -0
  747. /package/dist/{campaigns-UELLCVI2.js.map → campaigns-GALDR5KK.js.map} +0 -0
  748. /package/dist/{campaigns-VWN2XPK2.js.map → campaigns-JEIKY2M4.js.map} +0 -0
  749. /package/dist/{campaigns-WE42FQKM.js.map → campaigns-VTRMKSAT.js.map} +0 -0
  750. /package/dist/{canvas-DG3CJ7FA.js.map → canvas-SVJEQO4V.js.map} +0 -0
  751. /package/dist/{capabilities-FDCILMJK.js.map → capabilities-2KT6TCGZ.js.map} +0 -0
  752. /package/dist/{catalog-KZNB2YJS.js.map → catalog-S32MX453.js.map} +0 -0
  753. /package/dist/{catalogs-XH5NHH4C.js.map → catalogs-OCVXZLIF.js.map} +0 -0
  754. /package/dist/{changes-DKP263OZ.js.map → changes-5TOYRKZR.js.map} +0 -0
  755. /package/dist/{chatgpt-K6KNTME4.js.map → chatgpt-QVF2FD3E.js.map} +0 -0
  756. /package/dist/{check-6UVMPPNH.js.map → check-SLNHVYGS.js.map} +0 -0
  757. /package/dist/{chunk-HVI4DNZL.js.map → chunk-2LI6746F.js.map} +0 -0
  758. /package/dist/{chunk-AQMMAB2N.js.map → chunk-2PWNIEW4.js.map} +0 -0
  759. /package/dist/{chunk-KPYDTIAI.js.map → chunk-2WZI36D3.js.map} +0 -0
  760. /package/dist/{chunk-ONVPV23E.js.map → chunk-3W6G6ARX.js.map} +0 -0
  761. /package/dist/{chunk-OKLYOMQ3.js.map → chunk-45UK4KYJ.js.map} +0 -0
  762. /package/dist/{chunk-GYJQV3IX.js.map → chunk-46GWHUKN.js.map} +0 -0
  763. /package/dist/{chunk-F5IH7G2F.js.map → chunk-4AMIHNNP.js.map} +0 -0
  764. /package/dist/{chunk-7RKUHTS6.js.map → chunk-4KJMLYCD.js.map} +0 -0
  765. /package/dist/{chunk-Y2GH4YWA.js.map → chunk-5HJRZFMW.js.map} +0 -0
  766. /package/dist/{chunk-36SU43V2.js.map → chunk-66QHX566.js.map} +0 -0
  767. /package/dist/{chunk-EIDTAHUC.js.map → chunk-6NCJGU6I.js.map} +0 -0
  768. /package/dist/{chunk-WRMMJUNJ.js.map → chunk-6WCAV27H.js.map} +0 -0
  769. /package/dist/{chunk-E4GWQFTL.js.map → chunk-AO45BX6Q.js.map} +0 -0
  770. /package/dist/{chunk-M2D7ZWEU.js.map → chunk-BDYLILMW.js.map} +0 -0
  771. /package/dist/{chunk-GGY2KH3K.js.map → chunk-BL2MX6CR.js.map} +0 -0
  772. /package/dist/{chunk-GFTDR3Z2.js.map → chunk-BOPC3D6I.js.map} +0 -0
  773. /package/dist/{chunk-I2WRZJAC.js.map → chunk-BTY4LZBG.js.map} +0 -0
  774. /package/dist/{chunk-P5ENZXC2.js.map → chunk-C7NWUCLQ.js.map} +0 -0
  775. /package/dist/{chunk-6KULDLLR.js.map → chunk-D4CKCNGW.js.map} +0 -0
  776. /package/dist/{chunk-QK76OM22.js.map → chunk-D5CUAOQX.js.map} +0 -0
  777. /package/dist/{chunk-NDVAOHMY.js.map → chunk-D5UXWKLQ.js.map} +0 -0
  778. /package/dist/{chunk-H5HDZ7IC.js.map → chunk-DCBZ5CHZ.js.map} +0 -0
  779. /package/dist/{chunk-XLJVJ5TK.js.map → chunk-E2RFM6R2.js.map} +0 -0
  780. /package/dist/{chunk-MP5IMGKF.js.map → chunk-EOY6BK4C.js.map} +0 -0
  781. /package/dist/{chunk-IMWXYSCP.js.map → chunk-FA4YZFRV.js.map} +0 -0
  782. /package/dist/{chunk-VYZ4KQ3C.js.map → chunk-FVHJCERJ.js.map} +0 -0
  783. /package/dist/{chunk-3VCHJN2B.js.map → chunk-G2LGMWNG.js.map} +0 -0
  784. /package/dist/{chunk-RESDRJRP.js.map → chunk-G4STCTY3.js.map} +0 -0
  785. /package/dist/{chunk-BITS62MF.js.map → chunk-G6XKD7QE.js.map} +0 -0
  786. /package/dist/{chunk-5QW4OQM4.js.map → chunk-GSZZLW5Q.js.map} +0 -0
  787. /package/dist/{chunk-NA2KOPW6.js.map → chunk-HSPMBLKE.js.map} +0 -0
  788. /package/dist/{chunk-5562QFVB.js.map → chunk-IJ22WP3G.js.map} +0 -0
  789. /package/dist/{chunk-B7FVPHCW.js.map → chunk-IKCP5NCE.js.map} +0 -0
  790. /package/dist/{chunk-ERRMJ7AZ.js.map → chunk-ILSKYRDR.js.map} +0 -0
  791. /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
  792. /package/dist/{chunk-OWRFIAW2.js.map → chunk-JKJQWRLO.js.map} +0 -0
  793. /package/dist/{chunk-TFJW5CXD.js.map → chunk-JQH5VG6F.js.map} +0 -0
  794. /package/dist/{chunk-AJ45PER5.js.map → chunk-JQU2LUZG.js.map} +0 -0
  795. /package/dist/{chunk-YSB26POP.js.map → chunk-JVH5A3XC.js.map} +0 -0
  796. /package/dist/{chunk-RGX7AQ2K.js.map → chunk-JYALBYN7.js.map} +0 -0
  797. /package/dist/{chunk-RWLQYW2L.js.map → chunk-KOXDXSKN.js.map} +0 -0
  798. /package/dist/{chunk-EZ5KY6I2.js.map → chunk-LOMH4TTC.js.map} +0 -0
  799. /package/dist/{chunk-TBZPXGEW.js.map → chunk-LXQB4ZGE.js.map} +0 -0
  800. /package/dist/{chunk-6TG4CAYD.js.map → chunk-M6PN3VH6.js.map} +0 -0
  801. /package/dist/{chunk-AL3VGEG5.js.map → chunk-M7IJU77B.js.map} +0 -0
  802. /package/dist/{chunk-C4MJ3WPQ.js.map → chunk-MVB32GPI.js.map} +0 -0
  803. /package/dist/{chunk-C6BFE4X2.js.map → chunk-MXH35PJ5.js.map} +0 -0
  804. /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
  805. /package/dist/{chunk-IHUIXQBP.js.map → chunk-NEIUVSDK.js.map} +0 -0
  806. /package/dist/{chunk-2GT76KEX.js.map → chunk-NEOUY3Q7.js.map} +0 -0
  807. /package/dist/{chunk-RBIWYPJQ.js.map → chunk-NXZCCGES.js.map} +0 -0
  808. /package/dist/{chunk-YT2ZSPWF.js.map → chunk-P3W6SRSQ.js.map} +0 -0
  809. /package/dist/{chunk-NLUFREI6.js.map → chunk-P5FRWPG7.js.map} +0 -0
  810. /package/dist/{chunk-D2YHDDKW.js.map → chunk-PA4W7BCQ.js.map} +0 -0
  811. /package/dist/{chunk-B6VCTXSD.js.map → chunk-PQJXIY64.js.map} +0 -0
  812. /package/dist/{chunk-TPS3X5DI.js.map → chunk-PTGYM4J6.js.map} +0 -0
  813. /package/dist/{chunk-33XFNSBM.js.map → chunk-QNLJ3GNZ.js.map} +0 -0
  814. /package/dist/{chunk-UWDYGSJF.js.map → chunk-SISA4HQR.js.map} +0 -0
  815. /package/dist/{chunk-V57TZQPI.js.map → chunk-SVM3DGAQ.js.map} +0 -0
  816. /package/dist/{chunk-6VZHOXP6.js.map → chunk-TP7HKSBX.js.map} +0 -0
  817. /package/dist/{chunk-VLKYUZF7.js.map → chunk-TRPJJMCS.js.map} +0 -0
  818. /package/dist/{chunk-R5IZ6P3E.js.map → chunk-UNX6BS4U.js.map} +0 -0
  819. /package/dist/{chunk-AGVCQHQK.js.map → chunk-VD73V44J.js.map} +0 -0
  820. /package/dist/{chunk-UM7ESCIN.js.map → chunk-VL65H6YM.js.map} +0 -0
  821. /package/dist/{chunk-HY4G44UC.js.map → chunk-X7F4Z6UM.js.map} +0 -0
  822. /package/dist/{chunk-S7B2TOOU.js.map → chunk-ZCQVKDHV.js.map} +0 -0
  823. /package/dist/{chunk-WY5H3XYC.js.map → chunk-ZJSGGJ5R.js.map} +0 -0
  824. /package/dist/{claim-7CB6TVEW.js.map → claim-SLGYOOWD.js.map} +0 -0
  825. /package/dist/{companies-CACKHSY5.js.map → companies-IVMH6YII.js.map} +0 -0
  826. /package/dist/{complete-IHLTYFT2.js.map → complete-45L2FI2X.js.map} +0 -0
  827. /package/dist/{customers-EZEVYT4Z.js.map → connect-S54TJ6OV.js.map} +0 -0
  828. /package/dist/{conversation-HRNJJJW5.js.map → conversation-RIOL3OJ7.js.map} +0 -0
  829. /package/dist/{conversion-report-KL4LIVY5.js.map → conversion-report-REOHVLCI.js.map} +0 -0
  830. /package/dist/{conversion-upload-command-WT6C35QL.js.map → conversion-upload-command-W4GELHIQ.js.map} +0 -0
  831. /package/dist/{conversion-writes-MPBCTVSP.js.map → conversion-writes-ECZBVY7D.js.map} +0 -0
  832. /package/dist/{conversions-ACYT6K7H.js.map → conversions-5QCSCRLI.js.map} +0 -0
  833. /package/dist/{conversions-DE7W5T4Z.js.map → conversions-TKIXNSYR.js.map} +0 -0
  834. /package/dist/{create-W7OTXLCZ.js.map → create-7JY2PTIZ.js.map} +0 -0
  835. /package/dist/{create-6ZDLKC4F.js.map → create-ACLCRXQP.js.map} +0 -0
  836. /package/dist/{create-7YO6DAAT.js.map → create-KYBMFD32.js.map} +0 -0
  837. /package/dist/{create-ZU7AHBYM.js.map → create-VAPJ52GJ.js.map} +0 -0
  838. /package/dist/{creatives-XUIY3MQI.js.map → creatives-5I3G5YP3.js.map} +0 -0
  839. /package/dist/{creatives-6UYAAC5E.js.map → creatives-PCAGWPW3.js.map} +0 -0
  840. /package/dist/{credentials-ADGJKYA7.js.map → credentials-YTQ6BHWV.js.map} +0 -0
  841. /package/dist/{critique-T7QGPPEX.js.map → critique-BHYJYZDV.js.map} +0 -0
  842. /package/dist/{critique-BBHPASRE.js.map → critique-NRHUPIWF.js.map} +0 -0
  843. /package/dist/{crm-MXT2HUKU.js.map → crm-IKTWHWEB.js.map} +0 -0
  844. /package/dist/{crm-EKDV2SET.js.map → crm-N7K57LZJ.js.map} +0 -0
  845. /package/dist/{currency-TBBXPWXU.js.map → currency-PW7HIBZ6.js.map} +0 -0
  846. /package/dist/{fit-KEFUU7QA.js.map → customers-NLU7NYDC.js.map} +0 -0
  847. /package/dist/{delete-SRU4GRDT.js.map → delete-26J3X3ZH.js.map} +0 -0
  848. /package/dist/{delete-3UDIH2ZD.js.map → delete-A4F5Z54J.js.map} +0 -0
  849. /package/dist/{delete-4L3HO5B6.js.map → delete-EVXOFT2H.js.map} +0 -0
  850. /package/dist/{demographics-3OWQDW7B.js.map → demographics-VZKFMM4X.js.map} +0 -0
  851. /package/dist/{discard-UEMA5UHL.js.map → discard-ULRVUJDV.js.map} +0 -0
  852. /package/dist/{discover-RTV5XWRI.js.map → discover-PVXWX2WL.js.map} +0 -0
  853. /package/dist/{domain-6324IS6I.js.map → domain-L4WCCX7R.js.map} +0 -0
  854. /package/dist/{draft-VXGZDBC7.js.map → draft-34CGWUVA.js.map} +0 -0
  855. /package/dist/{draft-GRL7577L.js.map → draft-57OQKHZI.js.map} +0 -0
  856. /package/dist/{draft-777O2UIX.js.map → draft-O4S5RKWK.js.map} +0 -0
  857. /package/dist/{draft-2KS56KCT.js.map → draft-PAYD6GIM.js.map} +0 -0
  858. /package/dist/{experiment-G3FQVAJU.js.map → experiment-7N4QFRWV.js.map} +0 -0
  859. /package/dist/{facets-YV6NORA6.js.map → facets-EHQKGGJ2.js.map} +0 -0
  860. /package/dist/{feedback-YITFVOHX.js.map → feedback-O3H42V4I.js.map} +0 -0
  861. /package/dist/{feedback-record-FW2QWFYQ.js.map → feedback-record-FAPN2GBS.js.map} +0 -0
  862. /package/dist/{fetch-EYXLTSKW.js.map → fetch-ETKT2RBC.js.map} +0 -0
  863. /package/dist/{find-EVY4XEIQ.js.map → find-FSQAEGGF.js.map} +0 -0
  864. /package/dist/{fonts-DMIBVZ6D.js.map → fit-UJQ47C4A.js.map} +0 -0
  865. /package/dist/{flows-EJV7WMGD.js.map → flows-T22B77J3.js.map} +0 -0
  866. /package/dist/{ideas-W4IIVOZ4.js.map → fonts-7VWBQPJF.js.map} +0 -0
  867. /package/dist/{forecast-G43FKEZE.js.map → forecast-HB3RDBQN.js.map} +0 -0
  868. /package/dist/{forecast-5YKQZSE7.js.map → forecast-OI7YWZ6F.js.map} +0 -0
  869. /package/dist/{funnel-ND7OXIKT.js.map → funnel-7OA33VRP.js.map} +0 -0
  870. /package/dist/{ga4-2BL5YAYN.js.map → ga4-LPDIBNYP.js.map} +0 -0
  871. /package/dist/{generate-D3LUXFJT.js.map → generate-OMXBFGGR.js.map} +0 -0
  872. /package/dist/{get-PU3YHQWN.js.map → get-2RSN4N3J.js.map} +0 -0
  873. /package/dist/{get-GB6SPWCA.js.map → get-6N7QJMIP.js.map} +0 -0
  874. /package/dist/{google-7STODZQR.js.map → google-5ESVO76E.js.map} +0 -0
  875. /package/dist/{google-MHB5TOFN.js.map → google-6JZBJ2ZQ.js.map} +0 -0
  876. /package/dist/{google-ads-XGEGKEL6.js.map → google-ads-G7REKD4A.js.map} +0 -0
  877. /package/dist/{gsc-UU3T2C6B.js.map → gsc-FIZTQX3N.js.map} +0 -0
  878. /package/dist/{history-OQAOTEO3.js.map → history-QKDYBSYM.js.map} +0 -0
  879. /package/dist/{history-NYWAMWAY.js.map → history-YMK2JNZU.js.map} +0 -0
  880. /package/dist/{hubspot-LMIVY7FR.js.map → hubspot-BUFS7S33.js.map} +0 -0
  881. /package/dist/{icon-GB7UH5RF.js.map → icon-CSVAZ7NE.js.map} +0 -0
  882. /package/dist/{ingest-FRDTTPYD.js.map → ideas-JQT422P7.js.map} +0 -0
  883. /package/dist/{images-PPMIMPTS.js.map → images-WBNWK2ZH.js.map} +0 -0
  884. /package/dist/{ingest-2YGWBWAB.js.map → ingest-RQUJGS7K.js.map} +0 -0
  885. /package/dist/{logo-YSNUUT33.js.map → ingest-XLTRLCDV.js.map} +0 -0
  886. /package/dist/{insights-PZXFCMX2.js.map → insights-SQLE5NOJ.js.map} +0 -0
  887. /package/dist/{inspect-QF2S3U2E.js.map → inspect-KFVAMD4N.js.map} +0 -0
  888. /package/dist/{inspiration-XQYHBJY2.js.map → inspiration-IX5N724J.js.map} +0 -0
  889. /package/dist/{intent-JJTDJ732.js.map → intent-4KJGYYHL.js.map} +0 -0
  890. /package/dist/{keyword-gap-4NQN56JP.js.map → keyword-gap-U64KXDR4.js.map} +0 -0
  891. /package/dist/{keyword-metrics-QCIOBMTW.js.map → keyword-metrics-WYF3QMCW.js.map} +0 -0
  892. /package/dist/{keywords-for-site-FS635JXM.js.map → keywords-for-site-G5L5EP3T.js.map} +0 -0
  893. /package/dist/{landing-6H5QEHOW.js.map → landing-Y6QCTXCZ.js.map} +0 -0
  894. /package/dist/{languages-FNE45NXJ.js.map → languages-7IPVGGW5.js.map} +0 -0
  895. /package/dist/{leads-MKLSWZO6.js.map → leads-4SJ4NJOI.js.map} +0 -0
  896. /package/dist/{learn-C564OA7W.js.map → learn-3BDZUWDT.js.map} +0 -0
  897. /package/dist/{line-item-writes-K7QNWRQ3.js.map → line-item-writes-YXKYR25W.js.map} +0 -0
  898. /package/dist/{line-items-TBTHVKCZ.js.map → line-items-CKUD2UU4.js.map} +0 -0
  899. /package/dist/{link-CPJJ6T4M.js.map → link-VBYFI7AM.js.map} +0 -0
  900. /package/dist/{linkedin-HGUK624E.js.map → linkedin-UGMAFSGO.js.map} +0 -0
  901. /package/dist/{list-OKDU5W4D.js.map → list-6ZNZGRRK.js.map} +0 -0
  902. /package/dist/{list-N5SJXLYF.js.map → list-ENYDGT3F.js.map} +0 -0
  903. /package/dist/{list-AAT5CWDA.js.map → list-VSUF2IWT.js.map} +0 -0
  904. /package/dist/{locations-FTDI4FBI.js.map → locations-QJBYWRCN.js.map} +0 -0
  905. /package/dist/{log-KVRWIJS5.js.map → log-AACKGBDW.js.map} +0 -0
  906. /package/dist/{performance-YJVMM6DL.js.map → logo-VHXH4J6A.js.map} +0 -0
  907. /package/dist/{make-4NTHJ4TG.js.map → make-W2PYZXYF.js.map} +0 -0
  908. /package/dist/{map-HQ43MKEC.js.map → map-63CQHWPI.js.map} +0 -0
  909. /package/dist/{mcp-MFLUHPL5.js.map → mcp-RKAXC6IP.js.map} +0 -0
  910. /package/dist/{media-sources-A4ICRSKB.js.map → media-sources-EZKAJNVD.js.map} +0 -0
  911. /package/dist/{members-NRKQSSVS.js.map → members-SELIA674.js.map} +0 -0
  912. /package/dist/{metrics-3BRTJNGW.js.map → metrics-V6SKOVNH.js.map} +0 -0
  913. /package/dist/{models-IH6KE6OH.js.map → models-2XRYXSRA.js.map} +0 -0
  914. /package/dist/{normalize-EH6BTBOB.js.map → normalize-VAZPTBDX.js.map} +0 -0
  915. /package/dist/{options-YEPQXXRY.js.map → options-NSCZSQ5P.js.map} +0 -0
  916. /package/dist/{pages-FTI44OSH.js.map → pages-PTWRXAZT.js.map} +0 -0
  917. /package/dist/{query-3OMCFGLU.js.map → performance-K7E5KAZW.js.map} +0 -0
  918. /package/dist/{pixels-DWW2TDY2.js.map → pixels-MYT3TCHZ.js.map} +0 -0
  919. /package/dist/{pixels-MBKR4XPX.js.map → pixels-ZZCQUS3J.js.map} +0 -0
  920. /package/dist/{promoted-tweet-writes-M5OVEBC5.js.map → promoted-tweet-writes-PKEO6WUK.js.map} +0 -0
  921. /package/dist/{promoted-tweets-2MOIERNB.js.map → promoted-tweets-7MXVZRBI.js.map} +0 -0
  922. /package/dist/{publish-NPENZIHV.js.map → publish-MPMGRV72.js.map} +0 -0
  923. /package/dist/{reddit-LI37G5LS.js.map → query-UD4OIZ3A.js.map} +0 -0
  924. /package/dist/{run-AFMTXJTU.js.map → reddit-XIHRI3CN.js.map} +0 -0
  925. /package/dist/{refresh-4BBV5SPL.js.map → refresh-A27N75NH.js.map} +0 -0
  926. /package/dist/{release-4X3TLMQT.js.map → release-UKRB5IUN.js.map} +0 -0
  927. /package/dist/{relevant-pages-DIYZM6FJ.js.map → relevant-pages-VXSHEOU2.js.map} +0 -0
  928. /package/dist/{remove-Q4AES5UH.js.map → remove-AFNFVPZY.js.map} +0 -0
  929. /package/dist/{reopen-SDTPL3BN.js.map → reopen-M5HE6J3G.js.map} +0 -0
  930. /package/dist/{rerun-NA3MH4HG.js.map → rerun-5THJLQQJ.js.map} +0 -0
  931. /package/dist/{research-LXQRNAQ2.js.map → research-JHDWWFL7.js.map} +0 -0
  932. /package/dist/{research-5H265UV7.js.map → research-U7RQXMYH.js.map} +0 -0
  933. /package/dist/{reset-52PU3CVD.js.map → reset-4CCWB2RT.js.map} +0 -0
  934. /package/dist/{reset-42M5IKDI.js.map → reset-J3KCWFMZ.js.map} +0 -0
  935. /package/dist/{resolve-R4IACKIZ.js.map → resolve-HEK27ANI.js.map} +0 -0
  936. /package/dist/{retry-FPF42ZNG.js.map → retry-HPZIUG2S.js.map} +0 -0
  937. /package/dist/{retry-RTQGAH6G.js.map → retry-VVI6N6UR.js.map} +0 -0
  938. /package/dist/{rules-CGNYJYVC.js.map → rules-YLLFDZEM.js.map} +0 -0
  939. /package/dist/{rules-add-EO5476BF.js.map → rules-add-U2GU4AGP.js.map} +0 -0
  940. /package/dist/{run-3AZJ3UQU.js.map → run-M7ZDE6IA.js.map} +0 -0
  941. /package/dist/{shared-NDRFKAH7.js.map → run-V5YQB6TH.js.map} +0 -0
  942. /package/dist/{scaffold-ad-OGU2IINY.js.map → scaffold-ad-H4GJOKAW.js.map} +0 -0
  943. /package/dist/{scaffold-static-ad-HO4BJW4H.js.map → scaffold-static-ad-2YIFHCTL.js.map} +0 -0
  944. /package/dist/{scaffold-video-TLQ4WSDK.js.map → scaffold-video-3EJLKR2O.js.map} +0 -0
  945. /package/dist/{schedule-AWWMI5FO.js.map → schedule-QMOKWTJ3.js.map} +0 -0
  946. /package/dist/{scheduled-agents-ELLU7BSE.js.map → scheduled-agents-FCQHQ6KR.js.map} +0 -0
  947. /package/dist/{schema-QNVLKMKG.js.map → schema-THFLCMBN.js.map} +0 -0
  948. /package/dist/{schema-BOOZEJPA.js.map → schema-XKEEAUXP.js.map} +0 -0
  949. /package/dist/{search-BZNIB2XF.js.map → search-XIUYSWO6.js.map} +0 -0
  950. /package/dist/{select-NLWZIQ7L.js.map → select-I22NPSIW.js.map} +0 -0
  951. /package/dist/{set-prompt-QKW2L553.js.map → set-prompt-S75OMQ7L.js.map} +0 -0
  952. /package/dist/{setup-links-NMSQ4BG7.js.map → setup-links-QVI6NAOK.js.map} +0 -0
  953. /package/dist/{sync-definition-LSGDHMHV.js.map → shared-3IBNDEFL.js.map} +0 -0
  954. /package/dist/{site-GGYFBZT5.js.map → site-PZPJY33N.js.map} +0 -0
  955. /package/dist/{sources-LPQZDTIU.js.map → sources-ER7ANNG3.js.map} +0 -0
  956. /package/dist/{sources-KTGDMUV4.js.map → sources-VA23PDND.js.map} +0 -0
  957. /package/dist/{stale-C5JLQ4D2.js.map → stale-MHTU2NQJ.js.map} +0 -0
  958. /package/dist/{stats-RCLQE4HJ.js.map → stats-ZAGJH4AD.js.map} +0 -0
  959. /package/dist/{status-6PS3HDS5.js.map → status-ABMJBCPJ.js.map} +0 -0
  960. /package/dist/{stock-ECRBD7RP.js.map → stock-6SHHLSKG.js.map} +0 -0
  961. /package/dist/{studio-LMDDQWRY.js.map → studio-ZLCGXFAN.js.map} +0 -0
  962. /package/dist/{sync-XSATDLE6.js.map → sync-QDD3MRJ6.js.map} +0 -0
  963. /package/dist/{viewer-check-I45HHWSW.js.map → sync-definition-2EBSQA6A.js.map} +0 -0
  964. /package/dist/{tag-manager-G3LBQZUL.js.map → tag-manager-3CJ66GKJ.js.map} +0 -0
  965. /package/dist/{tags-OK34UGSM.js.map → tags-5JYOEYIT.js.map} +0 -0
  966. /package/dist/{tags-EXWKO6Q6.js.map → tags-B473RWAA.js.map} +0 -0
  967. /package/dist/{tags-5Y7TPJNZ.js.map → tags-EWHPUM2V.js.map} +0 -0
  968. /package/dist/{tags-6TT5ZJVX.js.map → tags-KBCX6BDU.js.map} +0 -0
  969. /package/dist/{tags-BQLIOWS4.js.map → tags-PEWN6GNZ.js.map} +0 -0
  970. /package/dist/{targeting-criteria-AWPMOX4V.js.map → targeting-criteria-EU65WUUF.js.map} +0 -0
  971. /package/dist/{targets-EXYCOHEX.js.map → targets-KVXS5QKM.js.map} +0 -0
  972. /package/dist/{testimonials-BTYMR3U4.js.map → testimonials-GR6TIS5S.js.map} +0 -0
  973. /package/dist/{themes-AOU4ZZXL.js.map → themes-JWWTOR3I.js.map} +0 -0
  974. /package/dist/{top-companies-FRPAURAH.js.map → top-companies-OOX3DITI.js.map} +0 -0
  975. /package/dist/{translate-SF234KLG.js.map → translate-GEFUP6KQ.js.map} +0 -0
  976. /package/dist/{triggers-SJUXDU3X.js.map → triggers-OX2GKG4Y.js.map} +0 -0
  977. /package/dist/{unlink-RIZD3XTI.js.map → unlink-3USEPJSA.js.map} +0 -0
  978. /package/dist/{unstage-MKTIVI3I.js.map → unstage-VSCNPTAC.js.map} +0 -0
  979. /package/dist/{update-COHXM25C.js.map → update-6JKTH65B.js.map} +0 -0
  980. /package/dist/{update-OXVZXDYH.js.map → update-FG4ELXYJ.js.map} +0 -0
  981. /package/dist/{update-SZLYEEU4.js.map → update-GZFKHA3A.js.map} +0 -0
  982. /package/dist/{update-NKX2GXAR.js.map → update-HZHG67N6.js.map} +0 -0
  983. /package/dist/{upload-LEDO3IRC.js.map → upload-BKCQ6FRW.js.map} +0 -0
  984. /package/dist/{url-options-Q5SL42CV.js.map → url-options-HCVRPZYU.js.map} +0 -0
  985. /package/dist/{url-params-KP6D7BF3.js.map → url-params-UN4DRN2H.js.map} +0 -0
  986. /package/dist/{validate-7QWQZ2OL.js.map → validate-NOWIOAHE.js.map} +0 -0
  987. /package/dist/{videos-VABK4KHJ.js.map → videos-XMTDEHEJ.js.map} +0 -0
  988. /package/dist/{web-DZGUPZYQ.js.map → web-UGU7YMII.js.map} +0 -0
  989. /package/dist/{winning-ads-6MDLRSKM.js.map → winning-ads-QOAYIR5U.js.map} +0 -0
  990. /package/dist/{write-commands-3VIK3VC4.js.map → write-commands-6VR2UD3T.js.map} +0 -0
  991. /package/dist/{x-GRDU7QC2.js.map → x-VCSMV7T5.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/meta/catalogs.ts"],"sourcesContent":["import { retailerIdFilter } from \"@baker/api/ads-meta/catalogs\";\nimport { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet } from \"../../../client.ts\";\nimport { repeatedValues } from \"../../../lib/repeatedFlags.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeAdsJson, writeAdsOutput, writeJsonEnvelope } from \"../output.ts\";\nimport { csvOrJson, handleMetaError } from \"./shared.ts\";\nimport {\n bareAccountId,\n failWriteValidation,\n loadJsonFileArg,\n mergePayload,\n numberFlag,\n requireTarget,\n stageOp,\n upper,\n} from \"./write-shared.ts\";\n\n/**\n * Product catalogs and what is in them — products, product sets, feeds — read\n * live and changed through this chat's draft (applied at publish). Changing a\n * catalog needs the Catalog permission for Meta (a per-company switch); Baker\n * changes only catalogs the ad account's own Business owns.\n */\n\ntype Row = Record<string, unknown>;\ntype Args = Record<string, unknown>;\n\nconst STAGED_NOTE = \"Staged until publish — review with `baker ads meta draft`.\";\nconst outputArg = { type: \"string\", description: \"json|csv|jsonl|md\", default: \"json\" } as const;\nconst accountArg = {\n type: \"string\",\n description: \"Numeric account ID or act_N (whose Business owns the catalog)\",\n} as const;\nconst schemaAccount = { type: \"string\", description: \"Ad account the change is staged under\", required: false };\nconst schemaOutput = { type: \"string\", description: \"json|csv|jsonl|md\", required: false, default: \"json\" };\n\nfunction emit(rows: Row[], args: Args, hints: string[]): void {\n const fmt = csvOrJson(args);\n if (fmt !== \"json\") {\n writeAdsOutput(rows, fmt, undefined, hints);\n return;\n }\n writeJsonEnvelope(hints.length > 0 ? { ok: true, data: rows, hints } : { ok: true, data: rows });\n}\n\nfunction requireCatalogId(args: Args): string {\n const id = args[\"catalog-id\"];\n if (typeof id !== \"string\" || id.length === 0) {\n failWriteValidation(\"pass --catalog-id (from `baker ads meta catalogs --business-id <id>`, or a meta_temp_* ref)\");\n }\n return id;\n}\n\nfunction stringArg(value: unknown): string | undefined {\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\nfunction jsonArg(value: unknown, flag: string): Record<string, unknown> | undefined {\n if (typeof value !== \"string\" || value.length === 0) return undefined;\n try {\n return JSON.parse(value) as Record<string, unknown>;\n } catch {\n failWriteValidation(`--${flag} takes JSON, e.g. '{\"brand\":{\"eq\":\"Acme\"}}'`);\n }\n}\n\nasync function contents(edge: \"products\" | \"feeds\" | \"diagnostics\", args: Args): Promise<Row[]> {\n const params: Record<string, string> = { \"catalog-id\": requireCatalogId(args), edge };\n if (args.full) params.full = \"true\";\n if (stringArg(args[\"retailer-id\"])) params[\"retailer-id\"] = String(args[\"retailer-id\"]);\n return await apiGet<Row[]>(\"/api/ads/meta/catalog-contents\", params);\n}\n\n// --- Catalogs (list, create, rename, delete) ---\n\nregisterSchema({\n command: \"ads.meta.catalogs\",\n description:\n \"Product catalogs a Business owns (for catalog / Advantage+ catalog ads), or one catalog's product sets with --catalog-id.\",\n args: {\n \"business-id\": { type: \"string\", description: \"Business ID (baker ads meta businesses)\", required: false },\n \"catalog-id\": { type: \"string\", description: \"List this catalog's product sets\", required: false },\n \"no-cache\": { type: \"boolean\", description: \"Bypass the cache\", required: false },\n output: schemaOutput,\n },\n});\n\nconst catalogsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"Product catalogs on a Business, or a catalog's product sets. Runs by default. Example: baker ads meta catalogs --business-id 601050769212882; --catalog-id <id> for its sets\",\n },\n args: {\n \"business-id\": { type: \"string\", description: \"Business ID — from `baker ads meta businesses`\" },\n \"catalog-id\": { type: \"string\", description: \"List the product sets of this catalog\" },\n \"no-cache\": NO_CACHE_ARG,\n output: outputArg,\n },\n run: async ({ args }) => {\n try {\n const cache: Record<string, string> = args[\"no-cache\"] ? { \"skip-cache\": \"true\" } : {};\n if (args[\"catalog-id\"]) {\n const rows = await apiGet<Row[]>(\"/api/ads/meta/product-sets\", {\n \"catalog-id\": args[\"catalog-id\"] as string,\n ...cache,\n });\n emit(rows, args, [\n 'A catalog ad set promotes one product set: promoted_object {\"product_set_id\":\"<id>\"}; product_count 0 means the set\\'s filter matches nothing yet. Read just after a publish with --no-cache.',\n ]);\n return;\n }\n if (!args[\"business-id\"]) {\n writeAdsJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: \"pass --business-id (from `baker ads meta businesses`) or --catalog-id\",\n },\n });\n process.exit(1);\n }\n const rows = await apiGet<Row[]>(\"/api/ads/meta/catalogs\", {\n \"business-id\": args[\"business-id\"] as string,\n ...cache,\n });\n emit(\n rows,\n args,\n rows.length === 0\n ? [\n \"This Business owns no product catalogs. Stage one with `baker ads meta catalogs create --name …`, or — for a catalog another Business shares with it — ask for its id and read it with `catalogs --catalog-id <id>` (shared catalogs are read, never changed).\",\n ]\n : [\n \"`catalogs --catalog-id <id>` lists a catalog's product sets; `catalogs products --catalog-id <id>` its products.\",\n ],\n );\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.create\",\n description:\n \"Stage a new product catalog on the ad account's own Business, made at publish. Needs the Catalog permission for Meta.\",\n args: {\n \"account-id\": schemaAccount,\n name: { type: \"string\", description: \"Catalog name\", required: true },\n pixel: { type: \"string\", description: \"Pixel to connect (repeatable) — catalog ads need one\", required: false },\n },\n});\n\nconst catalogCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a new product catalog on the ad account's own Business. ${STAGED_NOTE}\nConnect the account's pixel with --pixel (\\`baker ads meta pixels\\`): Meta runs catalog ads only on a catalog with one.\nThen add products (\\`catalogs products create --catalog-id meta_temp_…\\`) and a product set to advertise.\nExample: baker ads meta catalogs create --account-id act_123 --name \"Spring shop\" --pixel 1275507706837548`,\n },\n args: {\n \"account-id\": accountArg,\n name: { type: \"string\", description: \"Catalog name\" },\n pixel: { type: \"string\", description: \"Pixel to connect once it exists (repeatable) — catalog ads need one\" },\n },\n run: async ({ args, rawArgs }) => {\n const pixels = repeatedValues(rawArgs, \"pixel\", args.pixel);\n await stageOp(\n {\n kind: \"productCatalog.create\",\n accountId: bareAccountId(args as Args),\n payload: { name: args.name, event_sources: pixels.length > 0 ? pixels : undefined },\n },\n [\n \"Add products with `catalogs products create --catalog-id <ref>` and a set with `catalogs sets create --catalog-id <ref>`.\",\n ],\n );\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.update\",\n description:\n \"Stage a change to a product catalog the ad account's Business owns: a new name, pixels to connect (catalog ads need one) or disconnect.\",\n args: {\n id: { type: \"positional\", description: \"Catalog id\", required: true },\n \"account-id\": schemaAccount,\n name: { type: \"string\", description: \"New name\", required: false },\n pixel: { type: \"string\", description: \"Pixel to connect (repeatable)\", required: false },\n \"unlink-pixel\": { type: \"string\", description: \"Pixel to disconnect (repeatable)\", required: false },\n },\n});\n\nconst catalogUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Rename a product catalog, or connect / disconnect pixels. ${STAGED_NOTE}\nExample: baker ads meta catalogs update 1798573158016525 --account-id act_123 --pixel 1275507706837548`,\n },\n args: {\n id: { type: \"positional\", description: \"Catalog id\", required: true },\n \"account-id\": accountArg,\n name: { type: \"string\", description: \"New name\" },\n pixel: { type: \"string\", description: \"Pixel to connect (repeatable) — from `baker ads meta pixels`\" },\n \"unlink-pixel\": { type: \"string\", description: \"Pixel to disconnect (repeatable)\" },\n },\n run: async ({ args, rawArgs }) => {\n const pixels = repeatedValues(rawArgs, \"pixel\", args.pixel);\n const unlink = repeatedValues(rawArgs, \"unlink-pixel\", args[\"unlink-pixel\"]);\n await stageOp({\n kind: \"productCatalog.update\",\n accountId: bareAccountId(args as Args),\n target: requireTarget(args as Args, \"catalog\"),\n payload: {\n name: args.name,\n event_sources: pixels.length > 0 ? pixels : undefined,\n unlink_event_sources: unlink.length > 0 ? unlink : undefined,\n },\n });\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.delete\",\n description:\n \"Stage deleting a product catalog with every product, product set and feed in it. Delete the ads, ad sets and campaigns that use it in the same chat.\",\n args: { id: { type: \"positional\", description: \"Catalog id\", required: true }, \"account-id\": schemaAccount },\n});\n\nconst catalogDeleteCommand = defineCommand({\n meta: {\n name: \"delete\",\n description: `Delete a product catalog and everything in it — runs after every other change in the publish. ${STAGED_NOTE}\nExample: baker ads meta catalogs delete 1798573158016525 --account-id act_123`,\n },\n args: { id: { type: \"positional\", description: \"Catalog id\", required: true }, \"account-id\": accountArg },\n run: async ({ args }) => {\n await stageOp({\n kind: \"productCatalog.update\",\n accountId: bareAccountId(args as Args),\n target: requireTarget(args as Args, \"catalog\"),\n payload: { status: \"DELETED\" },\n });\n },\n});\n\n// --- Products ---\n\nconst productFieldArgs = {\n name: { type: \"string\", description: \"Title shoppers see\" },\n description: { type: \"string\", description: \"Description\" },\n price: { type: \"string\", description: 'Price in major units, e.g. \"19.99\"' },\n \"sale-price\": { type: \"string\", description: \"Sale price in major units\" },\n currency: { type: \"string\", description: \"Three-letter currency code, e.g. EUR (needed with a price)\" },\n availability: {\n type: \"string\",\n description: '\"in stock\" (default), \"out of stock\", \"preorder\", \"available for order\", \"discontinued\"',\n },\n condition: { type: \"string\", description: \"new (default), refurbished, used\" },\n url: { type: \"string\", description: \"The product's own page (https) — where its ad sends people\" },\n \"image-url\": {\n type: \"string\",\n description: \"Public https picture Meta fetches (a library image's address works)\",\n },\n \"additional-image-url\": { type: \"string\", description: \"More pictures (repeatable)\" },\n brand: { type: \"string\", description: \"Brand\" },\n} as const;\n\nconst productFieldSchema = Object.fromEntries(\n Object.entries(productFieldArgs).map(([key, arg]) => [key, { ...arg, required: false }]),\n);\n\n/** The product fields given on the command line, in Meta's vocabulary. */\nexport function productFieldsFromArgs(args: Args, rawArgs: readonly string[] | undefined): Record<string, unknown> {\n const extra = repeatedValues(rawArgs, \"additional-image-url\", args[\"additional-image-url\"]);\n return {\n name: args.name,\n description: args.description,\n price: stringArg(args.price),\n sale_price: stringArg(args[\"sale-price\"]),\n currency: upper(args.currency),\n availability: stringArg(args.availability)?.toLowerCase(),\n condition: stringArg(args.condition)?.toLowerCase(),\n url: args.url,\n image_url: args[\"image-url\"],\n additional_image_urls: extra.length > 0 ? extra : undefined,\n brand: args.brand,\n };\n}\n\nregisterSchema({\n command: \"ads.meta.catalogs.products\",\n description:\n \"A catalog's products, compact (id, retailer id, name, price, availability, review status); --full for every field and Meta's errors on each.\",\n args: {\n \"catalog-id\": { type: \"string\", description: \"Catalog id\", required: true },\n \"retailer-id\": { type: \"string\", description: \"Only the product with this retailer id\", required: false },\n full: { type: \"boolean\", description: \"Every field, and Meta's errors on each product\", required: false },\n output: schemaOutput,\n },\n});\n\nconst productsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"A catalog's products (up to 500). Runs by default. Example: baker ads meta catalogs products --catalog-id 1798573158016525\",\n },\n args: {\n \"catalog-id\": { type: \"string\", description: \"Catalog id\" },\n \"retailer-id\": { type: \"string\", description: \"Only the product with this retailer id\" },\n full: { type: \"boolean\", description: \"Every field, and Meta's errors on each product\" },\n output: outputArg,\n },\n run: async ({ args }) => {\n try {\n const rows = await contents(\"products\", args as Args);\n const rejected = rows.filter((row) => row.review_status === \"rejected\").length;\n emit(rows, args as Args, [\n ...(rows.length === 0 ? [\"No products yet — stage some with `catalogs products create`.\"] : []),\n ...(rejected > 0\n ? [\n `${rejected} product(s) were rejected by Meta's review — \\`--full\\` shows why; a rejected product is never shown in an ad.`,\n ]\n : []),\n ]);\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.products.create\",\n description:\n \"Stage a product in a catalog (or one this chat creates), added at publish. Fake or real, every product needs a retailer id, name, description, price + currency, page URL and picture URL.\",\n args: {\n \"account-id\": schemaAccount,\n \"catalog-id\": { type: \"string\", description: \"Catalog id or meta_temp_* ref\", required: true },\n \"retailer-id\": { type: \"string\", description: \"Your own id for the product (SKU)\", required: true },\n ...productFieldSchema,\n file: { type: \"string\", description: \"JSON file with the whole payload\", required: false },\n },\n});\n\nconst productCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a product in a catalog. ${STAGED_NOTE}\nExample: baker ads meta catalogs products create --account-id act_123 --catalog-id meta_temp_… --retailer-id SKU-1 --name \"Solar panel\" --description \"400 W panel\" --price 199.00 --currency EUR --url https://shop.example/panel --image-url https://shop.example/panel.jpg`,\n },\n args: {\n \"account-id\": accountArg,\n \"catalog-id\": { type: \"string\", description: \"Catalog id, or meta_temp_* of a catalog this chat creates\" },\n \"retailer-id\": { type: \"string\", description: \"Your own id for the product (SKU) — what product sets filter on\" },\n ...productFieldArgs,\n file: { type: \"string\", description: \"JSON file with the whole payload\" },\n },\n run: async ({ args, rawArgs }) => {\n const payload = mergePayload(loadJsonFileArg(args.file), {\n catalog_id: args[\"catalog-id\"],\n retailer_id: args[\"retailer-id\"],\n ...productFieldsFromArgs(args as Args, rawArgs),\n });\n await stageOp({ kind: \"product.create\", accountId: bareAccountId(args as Args), payload }, [\n \"Group products for an ad with `catalogs sets create --catalog-id <id> --retailer-id <sku> …`.\",\n ]);\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.products.update\",\n description: \"Stage changes to a product's fields (a price names its currency).\",\n args: {\n id: { type: \"positional\", description: \"Product id\", required: true },\n \"account-id\": schemaAccount,\n ...productFieldSchema,\n },\n});\n\nconst productUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Change a product's fields. ${STAGED_NOTE}\nExample: baker ads meta catalogs products update 39108967418750368 --account-id act_123 --price 179.00 --currency EUR --availability \"out of stock\"`,\n },\n args: {\n id: { type: \"positional\", description: \"Product id\", required: true },\n \"account-id\": accountArg,\n ...productFieldArgs,\n },\n run: async ({ args, rawArgs }) => {\n await stageOp({\n kind: \"product.update\",\n accountId: bareAccountId(args as Args),\n target: requireTarget(args as Args, \"product\"),\n payload: productFieldsFromArgs(args as Args, rawArgs),\n });\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.products.delete\",\n description: \"Stage deleting a product from its catalog.\",\n args: { id: { type: \"positional\", description: \"Product id\", required: true }, \"account-id\": schemaAccount },\n});\n\nconst productDeleteCommand = defineCommand({\n meta: {\n name: \"delete\",\n description: `Delete a product from its catalog. ${STAGED_NOTE}\nExample: baker ads meta catalogs products delete 39108967418750368 --account-id act_123`,\n },\n args: { id: { type: \"positional\", description: \"Product id\", required: true }, \"account-id\": accountArg },\n run: async ({ args }) => {\n await stageOp({\n kind: \"product.update\",\n accountId: bareAccountId(args as Args),\n target: requireTarget(args as Args, \"product\"),\n payload: { status: \"DELETED\" },\n });\n },\n});\n\nconst productsCommand = defineCommand({\n meta: {\n name: \"products\",\n description: `A catalog's products.\n baker ads meta catalogs products --catalog-id <id> [--full] — list\n baker ads meta catalogs products create --catalog-id <id> --retailer-id SKU-1 --name … --price 19.99 --currency EUR …\n baker ads meta catalogs products update <id> --price 17.99 --currency EUR\n baker ads meta catalogs products delete <id>`,\n },\n subCommands: {\n list: productsListCommand,\n create: productCreateCommand,\n update: productUpdateCommand,\n delete: productDeleteCommand,\n },\n args: {\n \"catalog-id\": { type: \"string\", description: \"Catalog id\" },\n \"retailer-id\": { type: \"string\", description: \"Only the product with this retailer id\" },\n full: { type: \"boolean\", description: \"Every field, and Meta's errors on each product\" },\n output: outputArg,\n },\n default: \"list\",\n});\n\n// --- Product sets ---\n\n/** A set's rule: --filter JSON, or the products by retailer id. */\nexport function productSetFilterFromArgs(args: Args, rawArgs: readonly string[] | undefined): unknown {\n const retailerIds = repeatedValues(rawArgs, \"retailer-id\", args[\"retailer-id\"])\n .flatMap((value) => value.split(\",\"))\n .map((value) => value.trim())\n .filter(Boolean);\n const filter = jsonArg(args.filter, \"filter\");\n if (filter && retailerIds.length > 0) failWriteValidation(\"pass --filter or --retailer-id, not both\");\n return filter ?? (retailerIds.length > 0 ? retailerIdFilter(retailerIds) : undefined);\n}\n\nconst setRuleArgs = {\n \"retailer-id\": {\n type: \"string\",\n description: \"A product in the set, by retailer id (repeatable, or comma-separated)\",\n },\n filter: {\n type: \"string\",\n description:\n 'Meta\\'s rule as JSON, e.g. \\'{\"and\":[{\"brand\":{\"eq\":\"Acme\"}},{\"price\":{\"lt\":5000}}]}\\' — operators: is_any, is_not_any, eq, neq, contains, not_contains, i_contains, i_not_contains, starts_with, lt, lte, gt, gte (a price in minor units)',\n },\n} as const;\n\nregisterSchema({\n command: \"ads.meta.catalogs.sets\",\n description: \"A catalog's product sets, with how many products each matches.\",\n args: {\n \"catalog-id\": { type: \"string\", description: \"Catalog id\", required: true },\n \"no-cache\": { type: \"boolean\", description: \"Bypass the cache\", required: false },\n output: schemaOutput,\n },\n});\n\nconst setsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"A catalog's product sets. Runs by default. Example: baker ads meta catalogs sets --catalog-id 1798573158016525\",\n },\n args: { \"catalog-id\": { type: \"string\", description: \"Catalog id\" }, \"no-cache\": NO_CACHE_ARG, output: outputArg },\n run: async ({ args }) => {\n try {\n const params: Record<string, string> = { \"catalog-id\": requireCatalogId(args as Args) };\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n const rows = await apiGet<Row[]>(\"/api/ads/meta/product-sets\", params);\n emit(rows, args as Args, [\n \"An ad set shows one set (`adsets create --product-set-id <id>`); a catalog creative names it too (`creatives create --type catalog --product-set-id <id>`).\",\n ]);\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.sets.create\",\n description:\n \"Stage a product set — the products an Advantage+ catalog ad or a collection shows — by retailer id or Meta's filter rule. Without either it holds the whole catalog.\",\n args: {\n \"account-id\": schemaAccount,\n \"catalog-id\": { type: \"string\", description: \"Catalog id or meta_temp_* ref\", required: true },\n name: { type: \"string\", description: \"Set name\", required: true },\n \"retailer-id\": { type: \"string\", description: \"Retailer id of a product (repeatable)\", required: false },\n filter: { type: \"string\", description: \"Meta's filter rule as JSON\", required: false },\n },\n});\n\nconst setCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a product set. ${STAGED_NOTE}\nExample: baker ads meta catalogs sets create --account-id act_123 --catalog-id meta_temp_… --name \"Panels\" --retailer-id SKU-1 --retailer-id SKU-2\nRule: --filter '{\"brand\":{\"eq\":\"Acme\"}}'. Without --retailer-id or --filter the set holds the whole catalog.`,\n },\n args: {\n \"account-id\": accountArg,\n \"catalog-id\": { type: \"string\", description: \"Catalog id, or meta_temp_* of a catalog this chat creates\" },\n name: { type: \"string\", description: \"Set name\" },\n ...setRuleArgs,\n },\n run: async ({ args, rawArgs }) => {\n await stageOp(\n {\n kind: \"productSet.create\",\n accountId: bareAccountId(args as Args),\n payload: {\n catalog_id: args[\"catalog-id\"],\n name: args.name,\n filter: productSetFilterFromArgs(args as Args, rawArgs),\n },\n },\n [\n \"Advertise it: `adsets create --product-set-id <ref>` under a campaign with `--catalog-id`, then `creatives create --type catalog --product-set-id <ref>`.\",\n ],\n );\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.sets.update\",\n description: \"Stage a new name or a new rule for a product set (the whole rule is replaced).\",\n args: {\n id: { type: \"positional\", description: \"Product set id\", required: true },\n \"account-id\": schemaAccount,\n name: { type: \"string\", description: \"New name\", required: false },\n \"retailer-id\": { type: \"string\", description: \"Retailer id of a product (repeatable)\", required: false },\n filter: { type: \"string\", description: \"Meta's filter rule as JSON\", required: false },\n },\n});\n\nconst setUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Rename a product set or replace its rule. ${STAGED_NOTE}\nExample: baker ads meta catalogs sets update 1748674113031942 --account-id act_123 --retailer-id SKU-1 --retailer-id SKU-3`,\n },\n args: {\n id: { type: \"positional\", description: \"Product set id\", required: true },\n \"account-id\": accountArg,\n name: { type: \"string\", description: \"New name\" },\n ...setRuleArgs,\n },\n run: async ({ args, rawArgs }) => {\n await stageOp({\n kind: \"productSet.update\",\n accountId: bareAccountId(args as Args),\n target: requireTarget(args as Args, \"product set\"),\n payload: { name: args.name, filter: productSetFilterFromArgs(args as Args, rawArgs) },\n });\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.sets.delete\",\n description:\n \"Stage deleting a product set. Delete or repoint the ad sets and creatives that show it in the same chat.\",\n args: { id: { type: \"positional\", description: \"Product set id\", required: true }, \"account-id\": schemaAccount },\n});\n\nconst setDeleteCommand = defineCommand({\n meta: {\n name: \"delete\",\n description: `Delete a product set — after the ads, ad sets and creatives this chat deletes. ${STAGED_NOTE}\nExample: baker ads meta catalogs sets delete 1748674113031942 --account-id act_123`,\n },\n args: { id: { type: \"positional\", description: \"Product set id\", required: true }, \"account-id\": accountArg },\n run: async ({ args }) => {\n await stageOp({\n kind: \"productSet.update\",\n accountId: bareAccountId(args as Args),\n target: requireTarget(args as Args, \"product set\"),\n payload: { status: \"DELETED\" },\n });\n },\n});\n\nconst setsCommand = defineCommand({\n meta: {\n name: \"sets\",\n description: `A catalog's product sets.\n baker ads meta catalogs sets --catalog-id <id> — list\n baker ads meta catalogs sets create --catalog-id <id> --name … --retailer-id SKU-1 [--filter '<json>']\n baker ads meta catalogs sets update <id> --name …\n baker ads meta catalogs sets delete <id>`,\n },\n subCommands: { list: setsListCommand, create: setCreateCommand, update: setUpdateCommand, delete: setDeleteCommand },\n args: { \"catalog-id\": { type: \"string\", description: \"Catalog id\" }, \"no-cache\": NO_CACHE_ARG, output: outputArg },\n default: \"list\",\n});\n\n// --- Feeds ---\n\nconst scheduleArgs = {\n url: { type: \"string\", description: \"https address of the feed file (CSV, TSV, XML) Meta fetches\" },\n interval: { type: \"string\", description: \"HOURLY, DAILY or WEEKLY\" },\n hour: { type: \"string\", description: \"Hour of day 0–23\" },\n day: { type: \"string\", description: \"Day for a WEEKLY schedule, e.g. MONDAY\" },\n} as const;\n\n/** A feed schedule from the flags, or nothing when no flag names one. */\nexport function feedScheduleFromArgs(args: Args): Record<string, unknown> | undefined {\n if (args.url === undefined && args.interval === undefined && args.hour === undefined && args.day === undefined) {\n return undefined;\n }\n return {\n url: args.url,\n interval: upper(args.interval) ?? \"DAILY\",\n hour: numberFlag(args.hour, \"--hour\"),\n day_of_week: upper(args.day),\n };\n}\n\nregisterSchema({\n command: \"ads.meta.catalogs.feeds\",\n description: \"A catalog's data feeds: each one's schedule and its last upload's errors and warnings.\",\n args: { \"catalog-id\": { type: \"string\", description: \"Catalog id\", required: true }, output: schemaOutput },\n});\n\nconst feedsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"A catalog's feeds. Runs by default. Example: baker ads meta catalogs feeds --catalog-id 1798573158016525\",\n },\n args: { \"catalog-id\": { type: \"string\", description: \"Catalog id\" }, output: outputArg },\n run: async ({ args }) => {\n try {\n emit(await contents(\"feeds\", args as Args), args as Args, []);\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.feeds.create\",\n description:\n \"Stage a data feed in a catalog: a file Meta fetches on a schedule and replaces the catalog's products from. Without --url it waits for uploads.\",\n args: {\n \"account-id\": schemaAccount,\n \"catalog-id\": { type: \"string\", description: \"Catalog id or meta_temp_* ref\", required: true },\n name: { type: \"string\", description: \"Feed name\", required: true },\n url: { type: \"string\", description: \"Feed file address (https)\", required: false },\n interval: { type: \"string\", description: \"HOURLY, DAILY (default) or WEEKLY\", required: false },\n hour: { type: \"string\", description: \"Hour 0–23\", required: false },\n day: { type: \"string\", description: \"Day for WEEKLY\", required: false },\n },\n});\n\nconst feedCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a scheduled data feed in a catalog. ${STAGED_NOTE}\nExample: baker ads meta catalogs feeds create --account-id act_123 --catalog-id 1798573158016525 --name \"Daily feed\" --url https://shop.example/feed.csv --interval DAILY --hour 3`,\n },\n args: {\n \"account-id\": accountArg,\n \"catalog-id\": { type: \"string\", description: \"Catalog id, or meta_temp_* of a catalog this chat creates\" },\n name: { type: \"string\", description: \"Feed name\" },\n ...scheduleArgs,\n },\n run: async ({ args }) => {\n await stageOp({\n kind: \"productFeed.create\",\n accountId: bareAccountId(args as Args),\n payload: { catalog_id: args[\"catalog-id\"], name: args.name, schedule: feedScheduleFromArgs(args as Args) },\n });\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.feeds.update\",\n description: \"Stage a new name or schedule for a feed (the whole schedule is replaced).\",\n args: {\n id: { type: \"positional\", description: \"Feed id\", required: true },\n \"account-id\": schemaAccount,\n name: { type: \"string\", description: \"New name\", required: false },\n url: { type: \"string\", description: \"Feed file address (https)\", required: false },\n interval: { type: \"string\", description: \"HOURLY, DAILY or WEEKLY\", required: false },\n hour: { type: \"string\", description: \"Hour 0–23\", required: false },\n day: { type: \"string\", description: \"Day for WEEKLY\", required: false },\n },\n});\n\nconst feedUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Rename a feed or replace its schedule. ${STAGED_NOTE}\nExample: baker ads meta catalogs feeds update 1157910959893469 --account-id act_123 --url https://shop.example/feed.csv --interval WEEKLY --day MONDAY --hour 4`,\n },\n args: {\n id: { type: \"positional\", description: \"Feed id\", required: true },\n \"account-id\": accountArg,\n name: { type: \"string\", description: \"New name\" },\n ...scheduleArgs,\n },\n run: async ({ args }) => {\n await stageOp({\n kind: \"productFeed.update\",\n accountId: bareAccountId(args as Args),\n target: requireTarget(args as Args, \"feed\"),\n payload: { name: args.name, schedule: feedScheduleFromArgs(args as Args) },\n });\n },\n});\n\nregisterSchema({\n command: \"ads.meta.catalogs.feeds.delete\",\n description: \"Stage deleting a feed. Its products stay in the catalog.\",\n args: { id: { type: \"positional\", description: \"Feed id\", required: true }, \"account-id\": schemaAccount },\n});\n\nconst feedDeleteCommand = defineCommand({\n meta: {\n name: \"delete\",\n description: `Delete a data feed; its products stay in the catalog. ${STAGED_NOTE}\nExample: baker ads meta catalogs feeds delete 1157910959893469 --account-id act_123`,\n },\n args: { id: { type: \"positional\", description: \"Feed id\", required: true }, \"account-id\": accountArg },\n run: async ({ args }) => {\n await stageOp({\n kind: \"productFeed.update\",\n accountId: bareAccountId(args as Args),\n target: requireTarget(args as Args, \"feed\"),\n payload: { status: \"DELETED\" },\n });\n },\n});\n\nconst feedsCommand = defineCommand({\n meta: {\n name: \"feeds\",\n description: `A catalog's data feeds.\n baker ads meta catalogs feeds --catalog-id <id> — list, with the last upload's errors\n baker ads meta catalogs feeds create --catalog-id <id> --name … --url https://… --interval DAILY\n baker ads meta catalogs feeds update <id> --interval WEEKLY --day MONDAY --url https://…\n baker ads meta catalogs feeds delete <id>`,\n },\n subCommands: {\n list: feedsListCommand,\n create: feedCreateCommand,\n update: feedUpdateCommand,\n delete: feedDeleteCommand,\n },\n args: { \"catalog-id\": { type: \"string\", description: \"Catalog id\" }, output: outputArg },\n default: \"list\",\n});\n\n// --- Diagnostics ---\n\nregisterSchema({\n command: \"ads.meta.catalogs.diagnostics\",\n description:\n \"Meta's diagnostics for a catalog — product problems (missing fields, rejected pictures) and event-matching issues, grouped by type.\",\n args: { \"catalog-id\": { type: \"string\", description: \"Catalog id\", required: true }, output: schemaOutput },\n});\n\nconst diagnosticsCommand = defineCommand({\n meta: {\n name: \"diagnostics\",\n description:\n \"What Meta says is wrong with a catalog. Example: baker ads meta catalogs diagnostics --catalog-id 1798573158016525\",\n },\n args: { \"catalog-id\": { type: \"string\", description: \"Catalog id\" }, output: outputArg },\n run: async ({ args }) => {\n try {\n const rows = await contents(\"diagnostics\", args as Args);\n emit(rows, args as Args, rows.length === 0 ? [\"Meta reports no problems with this catalog.\"] : []);\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nexport const catalogsCommand = defineCommand({\n meta: {\n name: \"catalogs\",\n description: `Product catalogs — what Advantage+ catalog and collection ads show. Reading is open; changing needs the Catalog permission for Meta, and Baker changes only catalogs the ad account's own Business owns.\n baker ads meta catalogs --business-id <id> — catalogs; --catalog-id <id> for its product sets\n baker ads meta catalogs create --name … --pixel <id> | update <id> --name … --pixel <id> | delete <id>\n baker ads meta catalogs products … | sets … | feeds … | diagnostics --catalog-id <id>`,\n },\n subCommands: {\n list: catalogsListCommand,\n create: catalogCreateCommand,\n update: catalogUpdateCommand,\n delete: catalogDeleteCommand,\n products: productsCommand,\n sets: setsCommand,\n feeds: feedsCommand,\n diagnostics: diagnosticsCommand,\n },\n args: {\n \"business-id\": { type: \"string\", description: \"Business ID\" },\n \"catalog-id\": { type: \"string\", description: \"Catalog id\" },\n \"no-cache\": NO_CACHE_ARG,\n output: outputArg,\n },\n default: \"list\",\n});\n"],"mappings":"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","names":["rows"]}
@@ -0,0 +1,135 @@
1
+ import {
2
+ getFieldDescriptions
3
+ } from "./chunk-JPK34QPS.js";
4
+ import {
5
+ parseApiError,
6
+ resolveChangesWindow
7
+ } from "./chunk-VL65H6YM.js";
8
+ import {
9
+ CHANGE_SCOPE_MAX_DAYS,
10
+ DEFAULT_CHANGE_DAYS
11
+ } from "./chunk-SVM3DGAQ.js";
12
+ import {
13
+ getManagerIdForCustomer,
14
+ resolveCustomerId,
15
+ writeAdsJson,
16
+ writeAdsOutput,
17
+ writeJsonEnvelope
18
+ } from "./chunk-SWL4AAPP.js";
19
+ import "./chunk-WTJSMYY2.js";
20
+ import {
21
+ ApiError,
22
+ apiPost
23
+ } from "./chunk-XDZVBX6L.js";
24
+ import "./chunk-N5O67GK5.js";
25
+ import "./chunk-EE72SSB2.js";
26
+ import {
27
+ registerSchema
28
+ } from "./chunk-WNSE7N75.js";
29
+ import "./chunk-YQSBHWOI.js";
30
+
31
+ // src/commands/ads/google/changes.ts
32
+ import { defineCommand } from "citty";
33
+ registerSchema({
34
+ command: "ads.google.changes",
35
+ description: "Read the account's change history. --scope detail (default) shows what changed and to what value, back 30 days; --scope summary shows which resources changed, back 90 days.",
36
+ args: {
37
+ "customer-id": {
38
+ type: "string",
39
+ description: "Google Ads customer ID (10 digits, no dashes). Falls back to BAKER_GOOGLE_ADS_CUSTOMER_ID env var.",
40
+ required: false
41
+ },
42
+ days: {
43
+ type: "string",
44
+ description: `Lookback days (default: ${DEFAULT_CHANGE_DAYS}). Max ${CHANGE_SCOPE_MAX_DAYS.detail} with --scope detail, ${CHANGE_SCOPE_MAX_DAYS.summary} with --scope summary. Google keeps nothing older behind any API.`,
45
+ required: false,
46
+ default: DEFAULT_CHANGE_DAYS
47
+ },
48
+ scope: {
49
+ type: "string",
50
+ description: `detail|summary (default: detail). detail = old/new values plus who made the change, ${CHANGE_SCOPE_MAX_DAYS.detail} days. summary = which resources were added, changed or removed, ${CHANGE_SCOPE_MAX_DAYS.summary} days, without values.`,
51
+ required: false,
52
+ default: "detail"
53
+ },
54
+ "resource-type": {
55
+ type: "string",
56
+ description: "Filter by type: CAMPAIGN, CAMPAIGN_CRITERION, AD_GROUP, AD_GROUP_AD, AD_GROUP_CRITERION. CAMPAIGN_CRITERION covers campaign-level negatives, location and audience exclusions.",
57
+ required: false
58
+ },
59
+ limit: { type: "string", description: "Max change events (default: 50, max: 1000)", required: false, default: 50 },
60
+ output: { type: "string", description: "Format: json|csv|jsonl|md", required: false, default: "json" },
61
+ "no-cache": { type: "boolean", description: "Skip cache, hit API directly", required: false }
62
+ }
63
+ });
64
+ var changesCommand = defineCommand({
65
+ meta: {
66
+ name: "changes",
67
+ description: `Read the change history of a Google Ads account.
68
+
69
+ Google keeps account history in two layers, and neither reaches past 90 days:
70
+ --scope detail (default) what changed, old \u2192 new value, who changed it \u2014 last ${CHANGE_SCOPE_MAX_DAYS.detail} days
71
+ --scope summary which resources were added, changed or removed \u2014 last ${CHANGE_SCOPE_MAX_DAYS.summary} days
72
+
73
+ For anything older, infer it from performance instead \u2014 a monthly spend trend per
74
+ campaign shows what started or stopped, just not who did it.
75
+
76
+ Examples:
77
+ baker ads google changes --customer-id 1234567890
78
+ baker ads google changes --customer-id 1234567890 --days 14 --resource-type CAMPAIGN
79
+ baker ads google changes --customer-id 1234567890 --days 60 --scope summary`
80
+ },
81
+ args: {
82
+ "customer-id": { type: "string", description: "Google Ads customer ID", required: false },
83
+ days: { type: "string", description: `Lookback days (default ${DEFAULT_CHANGE_DAYS})`, required: false },
84
+ scope: { type: "string", description: "detail (30 days) or summary (90 days)", required: false },
85
+ "resource-type": { type: "string", description: "Filter by resource type", required: false },
86
+ limit: { type: "string", description: "Max results (default 50)", required: false },
87
+ "no-cache": { type: "boolean", description: "Skip cache, hit API directly", required: false },
88
+ output: { type: "string", description: "Format: json|csv|jsonl|md", required: false, default: "json" }
89
+ },
90
+ run: async ({ args }) => {
91
+ const customerId = await resolveCustomerId(args);
92
+ const window = resolveChangesWindow({
93
+ days: args.days ? Number(args.days) : void 0,
94
+ scope: args.scope
95
+ });
96
+ if (!window.ok) {
97
+ writeJsonEnvelope({ ok: false, error: { ...window.error, retryable: false } });
98
+ process.exit(1);
99
+ return;
100
+ }
101
+ const body = {
102
+ customerId,
103
+ days: window.days,
104
+ scope: window.scope,
105
+ limit: args.limit ? Number(args.limit) : 50
106
+ };
107
+ const managerId = getManagerIdForCustomer(customerId);
108
+ if (managerId) body.managerId = managerId;
109
+ if (args["resource-type"]) body.resourceType = args["resource-type"];
110
+ if (args["no-cache"]) body.skipCache = true;
111
+ try {
112
+ const data = await apiPost("/api/ads/google/changes", body);
113
+ const format = args.output || "json";
114
+ if (format !== "json") {
115
+ writeAdsOutput(data, format);
116
+ return;
117
+ }
118
+ const first = data[0];
119
+ const fields = first ? Object.keys(first) : [];
120
+ const fieldDescs = getFieldDescriptions(fields);
121
+ writeJsonEnvelope({ ok: true, data, fields: fieldDescs, hints: window.hints });
122
+ } catch (err) {
123
+ if (err instanceof ApiError) {
124
+ writeAdsJson(parseApiError(err.message, "", customerId, err.code));
125
+ process.exit(1);
126
+ }
127
+ writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
128
+ process.exit(1);
129
+ }
130
+ }
131
+ });
132
+ export {
133
+ changesCommand
134
+ };
135
+ //# sourceMappingURL=changes-5TOYRKZR.js.map
@@ -0,0 +1,47 @@
1
+ import "./chunk-YQSBHWOI.js";
2
+
3
+ // src/commands/ads/chatgpt/index.ts
4
+ import { defineCommand } from "citty";
5
+ var chatgptCommand = defineCommand({
6
+ meta: {
7
+ name: "chatgpt",
8
+ description: `ChatGPT Ads (OpenAI's ads inside ChatGPT) \u2014 read the connected account, its campaigns, ad groups and ads, and how they perform; stage changes that apply when the chat is published.
9
+
10
+ Start here:
11
+ baker ads chatgpt account \u2014 currency, timezone, and whether reviews let anything serve
12
+ baker ads chatgpt insights \u2014 last 7 days, one row per campaign
13
+
14
+ Examples:
15
+ baker ads chatgpt campaigns
16
+ baker ads chatgpt ad-groups --campaign-id cmpn_123
17
+ baker ads chatgpt ads --ad-group-id adgrp_123
18
+ baker ads chatgpt conversions \u2014 pixels and conversion events
19
+ baker ads chatgpt insights --days 30 --granularity daily --segment country
20
+ baker ads chatgpt campaigns create --name "Spring push" --objective clicks --daily-budget 20
21
+ baker ads chatgpt draft \u2014 what this chat has staged
22
+
23
+ Writes never reach ChatGPT Ads mid-chat: create, update, pause, resume and archive stage
24
+ changes on this chat, and they apply when the chat is published.
25
+
26
+ One company connects one ChatGPT Ads account, so there is no account id to pass.
27
+ Full guide: __tooling__/docs/tools/baker/ads-chatgpt.md`
28
+ },
29
+ subCommands: {
30
+ account: () => import("./account-3H6BZO5H.js").then((m) => m.accountCommand),
31
+ campaigns: () => import("./campaigns-JEIKY2M4.js").then((m) => m.campaignsCommand),
32
+ "ad-groups": () => import("./ad-groups-IEBVEAMS.js").then((m) => m.adGroupsCommand),
33
+ ads: () => import("./ads-CQZHD7FC.js").then((m) => m.adsCommand),
34
+ conversions: () => import("./conversions-5QCSCRLI.js").then((m) => m.conversionsCommand),
35
+ pixels: () => import("./pixels-MYT3TCHZ.js").then((m) => m.pixelsCommand),
36
+ audiences: () => import("./audiences-AAZH56WD.js").then((m) => m.audiencesCommand),
37
+ catalogs: () => import("./catalogs-OCVXZLIF.js").then((m) => m.catalogsCommand),
38
+ history: () => import("./history-QKDYBSYM.js").then((m) => m.historyCommand),
39
+ insights: () => import("./insights-SQLE5NOJ.js").then((m) => m.insightsCommand),
40
+ locations: () => import("./locations-HM56X2MK.js").then((m) => m.locationsCommand),
41
+ draft: () => import("./draft-34CGWUVA.js").then((m) => m.draftCommand)
42
+ }
43
+ });
44
+ export {
45
+ chatgptCommand
46
+ };
47
+ //# sourceMappingURL=chatgpt-QVF2FD3E.js.map
@@ -0,0 +1,276 @@
1
+ import {
2
+ failApi
3
+ } from "./chunk-TP7HKSBX.js";
4
+ import "./chunk-66QHX566.js";
5
+ import "./chunk-GXDLWBOY.js";
6
+ import "./chunk-GIWHHCD6.js";
7
+ import "./chunk-XQIOCIDO.js";
8
+ import "./chunk-WTJSMYY2.js";
9
+ import {
10
+ apiPost
11
+ } from "./chunk-XDZVBX6L.js";
12
+ import "./chunk-N5O67GK5.js";
13
+ import {
14
+ getEnv
15
+ } from "./chunk-EE72SSB2.js";
16
+ import {
17
+ registerSchema,
18
+ writeJson
19
+ } from "./chunk-WNSE7N75.js";
20
+ import "./chunk-YQSBHWOI.js";
21
+
22
+ // src/commands/chats/index.ts
23
+ import { defineCommand } from "citty";
24
+
25
+ // src/commands/chats/publish-hints.ts
26
+ function publishHints(publish) {
27
+ const hints = [];
28
+ if (!publish.complete) {
29
+ const failed = publish.failedTotal;
30
+ hints.push(
31
+ `This Session's publish left ${failed} change${failed === 1 ? "" : "s"} behind \u2014 see \`publish.surfaces\` for the platform's own words. Do not report those changes as live.`
32
+ );
33
+ }
34
+ const unconfirmed = publish.unconfirmedTotal ?? 0;
35
+ if (unconfirmed > 0) {
36
+ hints.push(
37
+ `${unconfirmed} change${unconfirmed === 1 ? "" : "s"} went through but could not be confirmed when read back from the platform \u2014 \`publish.surfaces[].unconfirmedChanges\` says what it shows instead. Check before reporting them as done.`
38
+ );
39
+ }
40
+ return hints;
41
+ }
42
+
43
+ // src/commands/chats/index.ts
44
+ var STATUS_GROUPS = ["active", "archived", "all"];
45
+ var REPO_SURFACES = ["knowledge", "company", "brand", "landings", "flows", "creatives"];
46
+ function parseBoundedInt(raw, name, min, max) {
47
+ if (raw === void 0) {
48
+ return void 0;
49
+ }
50
+ const value = Number.parseInt(raw, 10);
51
+ if (Number.isNaN(value) || value < min || value > max) {
52
+ throw new Error(`--${name} must be an integer between ${min} and ${max}`);
53
+ }
54
+ return value;
55
+ }
56
+ registerSchema({
57
+ command: "chats.list",
58
+ description: "Start here: list other Sessions on this account (newest first) so you can reuse what was done before. Each row shows the Session id, title, status, and a count of what it produced (creatives, landings, actions, flows, reports\u2026). Then drill in with `baker chats view <id>`, `baker chats transcript <id>`, or `baker chats diff <id>`. Read-only.",
59
+ args: {
60
+ status: { type: "string", description: "Filter: active|archived|all (default: all)", required: false },
61
+ limit: { type: "string", description: "Max Sessions to return, 1-100 (default: 20)", required: false },
62
+ full: { type: "boolean", description: "Include each Session's full change list", required: false, default: false }
63
+ }
64
+ });
65
+ var listCommand = defineCommand({
66
+ meta: { name: "list", description: "List other Sessions on this account, newest first." },
67
+ args: {
68
+ status: { type: "string", description: "Filter: active|archived|all (default: all)", required: false },
69
+ limit: { type: "string", description: "Max Sessions (1-100, default 20)", required: false },
70
+ full: { type: "boolean", description: "Include each Session's full change list", required: false, default: false }
71
+ },
72
+ run: async ({ args }) => {
73
+ try {
74
+ const body = {};
75
+ if (args.status) {
76
+ if (!STATUS_GROUPS.includes(args.status)) {
77
+ throw new Error(`--status must be one of: ${STATUS_GROUPS.join("|")}`);
78
+ }
79
+ body.status = args.status;
80
+ }
81
+ const limit = parseBoundedInt(args.limit, "limit", 1, 100);
82
+ if (limit !== void 0) {
83
+ body.limit = limit;
84
+ }
85
+ if (args.full) {
86
+ body.full = true;
87
+ }
88
+ const selfChatId = getEnv().BAKER_CHAT_ID;
89
+ if (selfChatId) {
90
+ body.excludeChatId = selfChatId;
91
+ }
92
+ const response = await apiPost("/api/chats/list", body);
93
+ writeJson({
94
+ ...response,
95
+ meta: { count: response.data.chats.length },
96
+ ...response.data.chats.length === 0 ? { hints: ["No Sessions matched. Widen with --status all or a larger --limit."] } : {
97
+ hints: [
98
+ "Drill in: `baker chats view <id>` for outputs, `chats transcript <id>` for the conversation, `chats diff <id>` for the real file changes."
99
+ ]
100
+ }
101
+ });
102
+ } catch (err) {
103
+ failApi(err);
104
+ }
105
+ }
106
+ });
107
+ registerSchema({
108
+ command: "chats.view",
109
+ description: "Inspect one Session's FULL picture of what it changed \u2014 the unified `effects`: git content (landings, creatives, flows, knowledge, brand), plus DB-only effects that never touch the repo \u2014 Actions, Scheduled agents, Tags, Tag Manager, Google Analytics, ad-platform writes, the funnel (`funnel`: which steps it added, changed or removed, and which ways in it added or removed in `triggersAdded`/`triggersRemoved`), what counts as a conversion (`conversions`), conversion sends, event sources, and every other staged or already-applied change (`otherChanges`: A/B tests, recipes, library images) \u2014 each resolved to real detail (names, descriptions, priorities, tag types, ad operations) and, once published, its `outcome`. Also `publish` (what each external surface actually did, with the provider's own error), `activity` (the chat's own timeline: status changes, publish start/fail, workspace recoveries, timeouts), `usage` (per-thread cost and the Session's token totals), the kickoff (how it was asked), threads, and commits. Effects are `staged` (in-progress draft) or applied. A completed Session is NOT proof its external changes landed \u2014 read `publish`. Use after `baker chats list` to decide whether to reuse it. Read-only.",
110
+ args: {
111
+ id: { type: "positional", description: "The Session id (from `baker chats list`)", required: true },
112
+ full: {
113
+ type: "boolean",
114
+ description: "Untruncated effect lists and full activity metadata (compact caps each list at 25)",
115
+ required: false,
116
+ default: false
117
+ }
118
+ }
119
+ });
120
+ var viewCommand = defineCommand({
121
+ meta: {
122
+ name: "view",
123
+ description: "Inspect one Session's full effects \u2014 git content + actions/tags/ads, kickoff, commits."
124
+ },
125
+ args: {
126
+ id: { type: "positional", description: "The Session id", required: true },
127
+ full: { type: "boolean", description: "Include full detail", required: false, default: false }
128
+ },
129
+ run: async ({ args }) => {
130
+ try {
131
+ const response = await apiPost("/api/chats/view", {
132
+ chatId: args.id,
133
+ ...args.full ? { full: true } : {}
134
+ });
135
+ const hints = response.data.publish ? publishHints(response.data.publish) : [];
136
+ if (response.data.diffAvailable) {
137
+ hints.push("See the real file-level diff of the git content with `baker chats diff <id> --full`.");
138
+ } else if (response.data.status === "in_progress" || response.data.status === "publishing") {
139
+ hints.push(
140
+ "This Session is still in progress \u2014 read its current file changes with `baker chats diff <id> --live`."
141
+ );
142
+ }
143
+ hints.push("Read the conversation with `baker chats transcript <id>`.");
144
+ writeJson({ ...response, hints });
145
+ } catch (err) {
146
+ failApi(err);
147
+ }
148
+ }
149
+ });
150
+ registerSchema({
151
+ command: "chats.transcript",
152
+ description: "Read another Session's conversation (user + agent turns), most-recent first-capped. Use to see exactly how a past request was phrased and iterated before replaying it for a new goal. Compact truncates long messages; add --full for verbatim text. Read-only.",
153
+ args: {
154
+ id: { type: "positional", description: "The Session id", required: true },
155
+ limit: { type: "string", description: "Max messages to return, 1-1000 (default: 100)", required: false },
156
+ full: {
157
+ type: "boolean",
158
+ description: "Return verbatim (untruncated) message text",
159
+ required: false,
160
+ default: false
161
+ }
162
+ }
163
+ });
164
+ var transcriptCommand = defineCommand({
165
+ meta: { name: "transcript", description: "Read another Session's conversation." },
166
+ args: {
167
+ id: { type: "positional", description: "The Session id", required: true },
168
+ limit: { type: "string", description: "Max messages (1-1000, default 100)", required: false },
169
+ full: { type: "boolean", description: "Verbatim message text", required: false, default: false }
170
+ },
171
+ run: async ({ args }) => {
172
+ try {
173
+ const body = { chatId: args.id };
174
+ const limit = parseBoundedInt(args.limit, "limit", 1, 1e3);
175
+ if (limit !== void 0) {
176
+ body.limit = limit;
177
+ }
178
+ if (args.full) {
179
+ body.full = true;
180
+ }
181
+ const response = await apiPost("/api/chats/transcript", body);
182
+ writeJson({
183
+ ...response,
184
+ meta: { count: response.data.entries.length },
185
+ ...response.data.truncated ? { hints: ["Older messages were dropped to fit --limit. Raise --limit to see more."] } : {}
186
+ });
187
+ } catch (err) {
188
+ failApi(err);
189
+ }
190
+ }
191
+ });
192
+ registerSchema({
193
+ command: "chats.diff",
194
+ description: "See the real file-level changes a Session made (landings, creatives, brand, flows, knowledge). Published Sessions read from git; for an in-progress (unpublished) Session pass --live to read its changes straight from its running workspace. Without --live, an unpublished Session returns available:false \u2014 use `baker chats view` for the staged summary. Compact lists changed files with +/- counts; add --full for the actual diff text. Read-only.",
195
+ args: {
196
+ id: { type: "positional", description: "The Session id", required: true },
197
+ surface: {
198
+ type: "string",
199
+ description: "Filter to one surface: knowledge|company|brand|landings|flows|creatives",
200
+ required: false
201
+ },
202
+ full: {
203
+ type: "boolean",
204
+ description: "Include the unified-diff patch text per file",
205
+ required: false,
206
+ default: false
207
+ },
208
+ live: {
209
+ type: "boolean",
210
+ description: "For an in-progress Session, read its changes from the live workspace (slower; resumes the paused Runtime). Ignored for published Sessions.",
211
+ required: false,
212
+ default: false
213
+ }
214
+ }
215
+ });
216
+ var diffCommand = defineCommand({
217
+ meta: { name: "diff", description: "See a published Session's real file-level changes." },
218
+ args: {
219
+ id: { type: "positional", description: "The Session id", required: true },
220
+ surface: {
221
+ type: "string",
222
+ description: "Filter: knowledge|company|brand|landings|flows|creatives",
223
+ required: false
224
+ },
225
+ full: { type: "boolean", description: "Include the diff patch text per file", required: false, default: false },
226
+ live: {
227
+ type: "boolean",
228
+ description: "Read an in-progress Session's changes from its live workspace (slower)",
229
+ required: false,
230
+ default: false
231
+ }
232
+ },
233
+ run: async ({ args }) => {
234
+ try {
235
+ const body = { chatId: args.id };
236
+ if (args.surface) {
237
+ if (!REPO_SURFACES.includes(args.surface)) {
238
+ throw new Error(`--surface must be one of: ${REPO_SURFACES.join("|")}`);
239
+ }
240
+ body.surface = args.surface;
241
+ }
242
+ if (args.full) {
243
+ body.full = true;
244
+ }
245
+ if (args.live) {
246
+ body.live = true;
247
+ }
248
+ const response = await apiPost("/api/chats/diff", body);
249
+ writeJson({
250
+ ...response,
251
+ meta: { count: response.data.files.length },
252
+ ...!response.data.available && response.data.reason ? { hints: [response.data.reason] } : {},
253
+ ...response.data.available && !args.full && response.data.files.length > 0 ? { hints: ["Add --full to read the actual diff text for each file."] } : {}
254
+ });
255
+ } catch (err) {
256
+ failApi(err);
257
+ }
258
+ }
259
+ });
260
+ var chatsCommand = defineCommand({
261
+ meta: {
262
+ name: "chats",
263
+ description: `Inspect other Sessions on this account (read-only): list them, view what they produced, read their conversation, and see their real file changes \u2014 so you can reuse past work for a new goal.
264
+ Full guide: __tooling__/docs/tools/baker/chats.md`
265
+ },
266
+ subCommands: {
267
+ list: listCommand,
268
+ view: viewCommand,
269
+ transcript: transcriptCommand,
270
+ diff: diffCommand
271
+ }
272
+ });
273
+ export {
274
+ chatsCommand
275
+ };
276
+ //# sourceMappingURL=chats-QG72JB6Y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/chats/index.ts","../src/commands/chats/publish-hints.ts"],"sourcesContent":["import type { ChatsDiffResponse, ChatsListResponse, ChatsTranscriptResponse, ChatsViewResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { getEnv } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi } from \"../actions/shared.ts\";\nimport { publishHints } from \"./publish-hints.ts\";\n\nconst STATUS_GROUPS = [\"active\", \"archived\", \"all\"] as const;\nconst REPO_SURFACES = [\"knowledge\", \"company\", \"brand\", \"landings\", \"flows\", \"creatives\"] as const;\n\nfunction parseBoundedInt(raw: string | undefined, name: string, min: number, max: number): number | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const value = Number.parseInt(raw, 10);\n if (Number.isNaN(value) || value < min || value > max) {\n throw new Error(`--${name} must be an integer between ${min} and ${max}`);\n }\n return value;\n}\n\nregisterSchema({\n command: \"chats.list\",\n description:\n \"Start here: list other Sessions on this account (newest first) so you can reuse what was done before. Each row shows the Session id, title, status, and a count of what it produced (creatives, landings, actions, flows, reports…). Then drill in with `baker chats view <id>`, `baker chats transcript <id>`, or `baker chats diff <id>`. Read-only.\",\n args: {\n status: { type: \"string\", description: \"Filter: active|archived|all (default: all)\", required: false },\n limit: { type: \"string\", description: \"Max Sessions to return, 1-100 (default: 20)\", required: false },\n full: { type: \"boolean\", description: \"Include each Session's full change list\", required: false, default: false },\n },\n});\n\nconst listCommand = defineCommand({\n meta: { name: \"list\", description: \"List other Sessions on this account, newest first.\" },\n args: {\n status: { type: \"string\", description: \"Filter: active|archived|all (default: all)\", required: false },\n limit: { type: \"string\", description: \"Max Sessions (1-100, default 20)\", required: false },\n full: { type: \"boolean\", description: \"Include each Session's full change list\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = {};\n if (args.status) {\n if (!(STATUS_GROUPS as readonly string[]).includes(args.status)) {\n throw new Error(`--status must be one of: ${STATUS_GROUPS.join(\"|\")}`);\n }\n body.status = args.status;\n }\n const limit = parseBoundedInt(args.limit, \"limit\", 1, 100);\n if (limit !== undefined) {\n body.limit = limit;\n }\n if (args.full) {\n body.full = true;\n }\n // Exclude our own Session so we never list ourselves as a reusable \"other\".\n const selfChatId = getEnv().BAKER_CHAT_ID;\n if (selfChatId) {\n body.excludeChatId = selfChatId;\n }\n const response = await apiPost<ChatsListResponse>(\"/api/chats/list\", body);\n writeJson({\n ...response,\n meta: { count: response.data.chats.length },\n ...(response.data.chats.length === 0\n ? { hints: [\"No Sessions matched. Widen with --status all or a larger --limit.\"] }\n : {\n hints: [\n \"Drill in: `baker chats view <id>` for outputs, `chats transcript <id>` for the conversation, `chats diff <id>` for the real file changes.\",\n ],\n }),\n });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nregisterSchema({\n command: \"chats.view\",\n description:\n \"Inspect one Session's FULL picture of what it changed — the unified `effects`: git content (landings, creatives, flows, knowledge, brand), plus DB-only effects that never touch the repo — Actions, Scheduled agents, Tags, Tag Manager, Google Analytics, ad-platform writes, the funnel (`funnel`: which steps it added, changed or removed, and which ways in it added or removed in `triggersAdded`/`triggersRemoved`), what counts as a conversion (`conversions`), conversion sends, event sources, and every other staged or already-applied change (`otherChanges`: A/B tests, recipes, library images) — each resolved to real detail (names, descriptions, priorities, tag types, ad operations) and, once published, its `outcome`. Also `publish` (what each external surface actually did, with the provider's own error), `activity` (the chat's own timeline: status changes, publish start/fail, workspace recoveries, timeouts), `usage` (per-thread cost and the Session's token totals), the kickoff (how it was asked), threads, and commits. Effects are `staged` (in-progress draft) or applied. A completed Session is NOT proof its external changes landed — read `publish`. Use after `baker chats list` to decide whether to reuse it. Read-only.\",\n args: {\n id: { type: \"positional\", description: \"The Session id (from `baker chats list`)\", required: true },\n full: {\n type: \"boolean\",\n description: \"Untruncated effect lists and full activity metadata (compact caps each list at 25)\",\n required: false,\n default: false,\n },\n },\n});\n\nconst viewCommand = defineCommand({\n meta: {\n name: \"view\",\n description: \"Inspect one Session's full effects — git content + actions/tags/ads, kickoff, commits.\",\n },\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n full: { type: \"boolean\", description: \"Include full detail\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const response = await apiPost<ChatsViewResponse>(\"/api/chats/view\", {\n chatId: args.id,\n ...(args.full ? { full: true } : {}),\n });\n const hints: string[] = response.data.publish ? publishHints(response.data.publish) : [];\n if (response.data.diffAvailable) {\n hints.push(\"See the real file-level diff of the git content with `baker chats diff <id> --full`.\");\n } else if (response.data.status === \"in_progress\" || response.data.status === \"publishing\") {\n hints.push(\n \"This Session is still in progress — read its current file changes with `baker chats diff <id> --live`.\",\n );\n }\n hints.push(\"Read the conversation with `baker chats transcript <id>`.\");\n writeJson({ ...response, hints });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nregisterSchema({\n command: \"chats.transcript\",\n description:\n \"Read another Session's conversation (user + agent turns), most-recent first-capped. Use to see exactly how a past request was phrased and iterated before replaying it for a new goal. Compact truncates long messages; add --full for verbatim text. Read-only.\",\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n limit: { type: \"string\", description: \"Max messages to return, 1-1000 (default: 100)\", required: false },\n full: {\n type: \"boolean\",\n description: \"Return verbatim (untruncated) message text\",\n required: false,\n default: false,\n },\n },\n});\n\nconst transcriptCommand = defineCommand({\n meta: { name: \"transcript\", description: \"Read another Session's conversation.\" },\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n limit: { type: \"string\", description: \"Max messages (1-1000, default 100)\", required: false },\n full: { type: \"boolean\", description: \"Verbatim message text\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = { chatId: args.id };\n const limit = parseBoundedInt(args.limit, \"limit\", 1, 1000);\n if (limit !== undefined) {\n body.limit = limit;\n }\n if (args.full) {\n body.full = true;\n }\n const response = await apiPost<ChatsTranscriptResponse>(\"/api/chats/transcript\", body);\n writeJson({\n ...response,\n meta: { count: response.data.entries.length },\n ...(response.data.truncated\n ? { hints: [\"Older messages were dropped to fit --limit. Raise --limit to see more.\"] }\n : {}),\n });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nregisterSchema({\n command: \"chats.diff\",\n description:\n \"See the real file-level changes a Session made (landings, creatives, brand, flows, knowledge). Published Sessions read from git; for an in-progress (unpublished) Session pass --live to read its changes straight from its running workspace. Without --live, an unpublished Session returns available:false — use `baker chats view` for the staged summary. Compact lists changed files with +/- counts; add --full for the actual diff text. Read-only.\",\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n surface: {\n type: \"string\",\n description: \"Filter to one surface: knowledge|company|brand|landings|flows|creatives\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"Include the unified-diff patch text per file\",\n required: false,\n default: false,\n },\n live: {\n type: \"boolean\",\n description:\n \"For an in-progress Session, read its changes from the live workspace (slower; resumes the paused Runtime). Ignored for published Sessions.\",\n required: false,\n default: false,\n },\n },\n});\n\nconst diffCommand = defineCommand({\n meta: { name: \"diff\", description: \"See a published Session's real file-level changes.\" },\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n surface: {\n type: \"string\",\n description: \"Filter: knowledge|company|brand|landings|flows|creatives\",\n required: false,\n },\n full: { type: \"boolean\", description: \"Include the diff patch text per file\", required: false, default: false },\n live: {\n type: \"boolean\",\n description: \"Read an in-progress Session's changes from its live workspace (slower)\",\n required: false,\n default: false,\n },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = { chatId: args.id };\n if (args.surface) {\n if (!(REPO_SURFACES as readonly string[]).includes(args.surface)) {\n throw new Error(`--surface must be one of: ${REPO_SURFACES.join(\"|\")}`);\n }\n body.surface = args.surface;\n }\n if (args.full) {\n body.full = true;\n }\n if (args.live) {\n body.live = true;\n }\n const response = await apiPost<ChatsDiffResponse>(\"/api/chats/diff\", body);\n writeJson({\n ...response,\n meta: { count: response.data.files.length },\n ...(!response.data.available && response.data.reason ? { hints: [response.data.reason] } : {}),\n ...(response.data.available && !args.full && response.data.files.length > 0\n ? { hints: [\"Add --full to read the actual diff text for each file.\"] }\n : {}),\n });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nexport const chatsCommand = defineCommand({\n meta: {\n name: \"chats\",\n description: `Inspect other Sessions on this account (read-only): list them, view what they produced, read their conversation, and see their real file changes — so you can reuse past work for a new goal.\nFull guide: __tooling__/docs/tools/baker/chats.md`,\n },\n subCommands: {\n list: listCommand,\n view: viewCommand,\n transcript: transcriptCommand,\n diff: diffCommand,\n },\n});\n","import type { ChatPublishSummary } from \"@baker/api/chats\";\n\n/**\n * What a reader must not conclude from a completed Session: that it published\n * everything it staged (better than one published draft in three did not), or\n * that every change it sent is now what the platform holds.\n */\nexport function publishHints(publish: ChatPublishSummary): string[] {\n const hints: string[] = [];\n if (!publish.complete) {\n const failed = publish.failedTotal;\n hints.push(\n `This Session's publish left ${failed} change${failed === 1 ? \"\" : \"s\"} behind — see \\`publish.surfaces\\` for the platform's own words. Do not report those changes as live.`,\n );\n }\n const unconfirmed = publish.unconfirmedTotal ?? 0;\n if (unconfirmed > 0) {\n hints.push(\n `${unconfirmed} change${unconfirmed === 1 ? \"\" : \"s\"} went through but could not be confirmed when read back from the platform — \\`publish.surfaces[].unconfirmedChanges\\` says what it shows instead. Check before reporting them as done.`,\n );\n }\n return hints;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;;;ACMvB,SAAS,aAAa,SAAuC;AAClE,QAAM,QAAkB,CAAC;AACzB,MAAI,CAAC,QAAQ,UAAU;AACrB,UAAM,SAAS,QAAQ;AACvB,UAAM;AAAA,MACJ,+BAA+B,MAAM,UAAU,WAAW,IAAI,KAAK,GAAG;AAAA,IACxE;AAAA,EACF;AACA,QAAM,cAAc,QAAQ,oBAAoB;AAChD,MAAI,cAAc,GAAG;AACnB,UAAM;AAAA,MACJ,GAAG,WAAW,UAAU,gBAAgB,IAAI,KAAK,GAAG;AAAA,IACtD;AAAA,EACF;AACA,SAAO;AACT;;;ADbA,IAAM,gBAAgB,CAAC,UAAU,YAAY,KAAK;AAClD,IAAM,gBAAgB,CAAC,aAAa,WAAW,SAAS,YAAY,SAAS,WAAW;AAExF,SAAS,gBAAgB,KAAyB,MAAc,KAAa,KAAiC;AAC5G,MAAI,QAAQ,QAAW;AACrB,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,OAAO,SAAS,KAAK,EAAE;AACrC,MAAI,OAAO,MAAM,KAAK,KAAK,QAAQ,OAAO,QAAQ,KAAK;AACrD,UAAM,IAAI,MAAM,KAAK,IAAI,+BAA+B,GAAG,QAAQ,GAAG,EAAE;AAAA,EAC1E;AACA,SAAO;AACT;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,QAAQ,EAAE,MAAM,UAAU,aAAa,8CAA8C,UAAU,MAAM;AAAA,IACrG,OAAO,EAAE,MAAM,UAAU,aAAa,+CAA+C,UAAU,MAAM;AAAA,IACrG,MAAM,EAAE,MAAM,WAAW,aAAa,2CAA2C,UAAU,OAAO,SAAS,MAAM;AAAA,EACnH;AACF,CAAC;AAED,IAAM,cAAc,cAAc;AAAA,EAChC,MAAM,EAAE,MAAM,QAAQ,aAAa,qDAAqD;AAAA,EACxF,MAAM;AAAA,IACJ,QAAQ,EAAE,MAAM,UAAU,aAAa,8CAA8C,UAAU,MAAM;AAAA,IACrG,OAAO,EAAE,MAAM,UAAU,aAAa,oCAAoC,UAAU,MAAM;AAAA,IAC1F,MAAM,EAAE,MAAM,WAAW,aAAa,2CAA2C,UAAU,OAAO,SAAS,MAAM;AAAA,EACnH;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,OAAgC,CAAC;AACvC,UAAI,KAAK,QAAQ;AACf,YAAI,CAAE,cAAoC,SAAS,KAAK,MAAM,GAAG;AAC/D,gBAAM,IAAI,MAAM,4BAA4B,cAAc,KAAK,GAAG,CAAC,EAAE;AAAA,QACvE;AACA,aAAK,SAAS,KAAK;AAAA,MACrB;AACA,YAAM,QAAQ,gBAAgB,KAAK,OAAO,SAAS,GAAG,GAAG;AACzD,UAAI,UAAU,QAAW;AACvB,aAAK,QAAQ;AAAA,MACf;AACA,UAAI,KAAK,MAAM;AACb,aAAK,OAAO;AAAA,MACd;AAEA,YAAM,aAAa,OAAO,EAAE;AAC5B,UAAI,YAAY;AACd,aAAK,gBAAgB;AAAA,MACvB;AACA,YAAM,WAAW,MAAM,QAA2B,mBAAmB,IAAI;AACzE,gBAAU;AAAA,QACR,GAAG;AAAA,QACH,MAAM,EAAE,OAAO,SAAS,KAAK,MAAM,OAAO;AAAA,QAC1C,GAAI,SAAS,KAAK,MAAM,WAAW,IAC/B,EAAE,OAAO,CAAC,mEAAmE,EAAE,IAC/E;AAAA,UACE,OAAO;AAAA,YACL;AAAA,UACF;AAAA,QACF;AAAA,MACN,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,4CAA4C,UAAU,KAAK;AAAA,IAClG,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,EACF;AACF,CAAC;AAED,IAAM,cAAc,cAAc;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,kBAAkB,UAAU,KAAK;AAAA,IACxE,MAAM,EAAE,MAAM,WAAW,aAAa,uBAAuB,UAAU,OAAO,SAAS,MAAM;AAAA,EAC/F;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,WAAW,MAAM,QAA2B,mBAAmB;AAAA,QACnE,QAAQ,KAAK;AAAA,QACb,GAAI,KAAK,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAAA,MACpC,CAAC;AACD,YAAM,QAAkB,SAAS,KAAK,UAAU,aAAa,SAAS,KAAK,OAAO,IAAI,CAAC;AACvF,UAAI,SAAS,KAAK,eAAe;AAC/B,cAAM,KAAK,sFAAsF;AAAA,MACnG,WAAW,SAAS,KAAK,WAAW,iBAAiB,SAAS,KAAK,WAAW,cAAc;AAC1F,cAAM;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AACA,YAAM,KAAK,2DAA2D;AACtE,gBAAU,EAAE,GAAG,UAAU,MAAM,CAAC;AAAA,IAClC,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,kBAAkB,UAAU,KAAK;AAAA,IACxE,OAAO,EAAE,MAAM,UAAU,aAAa,iDAAiD,UAAU,MAAM;AAAA,IACvG,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,EACF;AACF,CAAC;AAED,IAAM,oBAAoB,cAAc;AAAA,EACtC,MAAM,EAAE,MAAM,cAAc,aAAa,uCAAuC;AAAA,EAChF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,kBAAkB,UAAU,KAAK;AAAA,IACxE,OAAO,EAAE,MAAM,UAAU,aAAa,sCAAsC,UAAU,MAAM;AAAA,IAC5F,MAAM,EAAE,MAAM,WAAW,aAAa,yBAAyB,UAAU,OAAO,SAAS,MAAM;AAAA,EACjG;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,OAAgC,EAAE,QAAQ,KAAK,GAAG;AACxD,YAAM,QAAQ,gBAAgB,KAAK,OAAO,SAAS,GAAG,GAAI;AAC1D,UAAI,UAAU,QAAW;AACvB,aAAK,QAAQ;AAAA,MACf;AACA,UAAI,KAAK,MAAM;AACb,aAAK,OAAO;AAAA,MACd;AACA,YAAM,WAAW,MAAM,QAAiC,yBAAyB,IAAI;AACrF,gBAAU;AAAA,QACR,GAAG;AAAA,QACH,MAAM,EAAE,OAAO,SAAS,KAAK,QAAQ,OAAO;AAAA,QAC5C,GAAI,SAAS,KAAK,YACd,EAAE,OAAO,CAAC,wEAAwE,EAAE,IACpF,CAAC;AAAA,MACP,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,kBAAkB,UAAU,KAAK;AAAA,IACxE,SAAS;AAAA,MACP,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aACE;AAAA,MACF,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,EACF;AACF,CAAC;AAED,IAAM,cAAc,cAAc;AAAA,EAChC,MAAM,EAAE,MAAM,QAAQ,aAAa,qDAAqD;AAAA,EACxF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,kBAAkB,UAAU,KAAK;AAAA,IACxE,SAAS;AAAA,MACP,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,MAAM,EAAE,MAAM,WAAW,aAAa,wCAAwC,UAAU,OAAO,SAAS,MAAM;AAAA,IAC9G,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,OAAgC,EAAE,QAAQ,KAAK,GAAG;AACxD,UAAI,KAAK,SAAS;AAChB,YAAI,CAAE,cAAoC,SAAS,KAAK,OAAO,GAAG;AAChE,gBAAM,IAAI,MAAM,6BAA6B,cAAc,KAAK,GAAG,CAAC,EAAE;AAAA,QACxE;AACA,aAAK,UAAU,KAAK;AAAA,MACtB;AACA,UAAI,KAAK,MAAM;AACb,aAAK,OAAO;AAAA,MACd;AACA,UAAI,KAAK,MAAM;AACb,aAAK,OAAO;AAAA,MACd;AACA,YAAM,WAAW,MAAM,QAA2B,mBAAmB,IAAI;AACzE,gBAAU;AAAA,QACR,GAAG;AAAA,QACH,MAAM,EAAE,OAAO,SAAS,KAAK,MAAM,OAAO;AAAA,QAC1C,GAAI,CAAC,SAAS,KAAK,aAAa,SAAS,KAAK,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,IAAI,CAAC;AAAA,QAC5F,GAAI,SAAS,KAAK,aAAa,CAAC,KAAK,QAAQ,SAAS,KAAK,MAAM,SAAS,IACtE,EAAE,OAAO,CAAC,wDAAwD,EAAE,IACpE,CAAC;AAAA,MACP,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAEM,IAAM,eAAe,cAAc;AAAA,EACxC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA,EAEf;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,MAAM;AAAA,EACR;AACF,CAAC;","names":[]}