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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (878) hide show
  1. package/README.md +11 -2
  2. package/dist/account-4H7QVBRK.js +80 -0
  3. package/dist/account-XQXC7BR6.js +80 -0
  4. package/dist/account-XQXC7BR6.js.map +1 -0
  5. package/dist/account-writes-AK42HGRM.js +66 -0
  6. package/dist/accounts-722UY53A.js +78 -0
  7. package/dist/accounts-722UY53A.js.map +1 -0
  8. package/dist/accounts-E67BMK7T.js +612 -0
  9. package/dist/accounts-E67BMK7T.js.map +1 -0
  10. package/dist/actions-6TQMSVWD.js +55 -0
  11. package/dist/ad-group-writes-QQS4223F.js +170 -0
  12. package/dist/ad-groups-WGPDPUI2.js +68 -0
  13. package/dist/ad-writes-XE2IE4DS.js +174 -0
  14. package/dist/add-2BEGRHUX.js +303 -0
  15. package/dist/add-2BEGRHUX.js.map +1 -0
  16. package/dist/add-LEMKEOPO.js +105 -0
  17. package/dist/add-LEMKEOPO.js.map +1 -0
  18. package/dist/ads-AGYCVD62.js +40 -0
  19. package/dist/ads-BCOSQALY.js +77 -0
  20. package/dist/advertisers-2VQKAYKG.js +121 -0
  21. package/dist/advertisers-2VQKAYKG.js.map +1 -0
  22. package/dist/analytics-IFELDWLL.js +1962 -0
  23. package/dist/analytics-IFELDWLL.js.map +1 -0
  24. package/dist/analytics-OH5QEH7F.js +434 -0
  25. package/dist/analytics-OH5QEH7F.js.map +1 -0
  26. package/dist/animate-AIZ3GS4J.js +480 -0
  27. package/dist/assign-PTUJUCEL.js +78 -0
  28. package/dist/assign-PTUJUCEL.js.map +1 -0
  29. package/dist/audience-size-LRI6GJRT.js +95 -0
  30. package/dist/audience-size-LRI6GJRT.js.map +1 -0
  31. package/dist/audiences-TGD5US2M.js +268 -0
  32. package/dist/audit-HWP7OPB7.js +152 -0
  33. package/dist/audit-HWP7OPB7.js.map +1 -0
  34. package/dist/autocomplete-J6DHU6MR.js +112 -0
  35. package/dist/autocomplete-J6DHU6MR.js.map +1 -0
  36. package/dist/avatars-467OSBD6.js +38 -0
  37. package/dist/bid-pricing-EO5WLHGV.js +100 -0
  38. package/dist/bid-pricing-EO5WLHGV.js.map +1 -0
  39. package/dist/brand-YRTEPGBK.js +22 -0
  40. package/dist/brief-OSFJ2V7F.js +478 -0
  41. package/dist/brief-OSFJ2V7F.js.map +1 -0
  42. package/dist/campaign-groups-PQ6KSQJR.js +96 -0
  43. package/dist/campaign-groups-PQ6KSQJR.js.map +1 -0
  44. package/dist/campaign-writes-5OVLUD5E.js +166 -0
  45. package/dist/campaign-writes-5OVLUD5E.js.map +1 -0
  46. package/dist/campaign-writes-SXLZFYF6.js +170 -0
  47. package/dist/campaigns-6T3NSUT2.js +110 -0
  48. package/dist/campaigns-6T3NSUT2.js.map +1 -0
  49. package/dist/campaigns-OYMXDGWX.js +107 -0
  50. package/dist/campaigns-YS3OGQXO.js +76 -0
  51. package/dist/canvas-YQFG52IG.js +46 -0
  52. package/dist/capabilities-PXBKUN2G.js +145 -0
  53. package/dist/capabilities-PXBKUN2G.js.map +1 -0
  54. package/dist/catalog-XLXIM7IW.js +65 -0
  55. package/dist/catalogs-BRXEDE56.js +128 -0
  56. package/dist/chatgpt-7W75X3ER.js +47 -0
  57. package/dist/chats-UK47UE7C.js +263 -0
  58. package/dist/chats-UK47UE7C.js.map +1 -0
  59. package/dist/chunk-24EB7EDR.js +433 -0
  60. package/dist/chunk-2AOE2MZQ.js +159 -0
  61. package/dist/chunk-2VPBIT65.js +509 -0
  62. package/dist/chunk-4PDHHHUJ.js +537 -0
  63. package/dist/chunk-4PDHHHUJ.js.map +1 -0
  64. package/dist/chunk-54C6YDGJ.js +622 -0
  65. package/dist/chunk-5WCSKQ7Z.js +188 -0
  66. package/dist/chunk-5ZNTADVR.js +197 -0
  67. package/dist/chunk-6F7DVPOS.js +310 -0
  68. package/dist/chunk-6NY2GPR4.js +304 -0
  69. package/dist/chunk-6Y7ZBENQ.js +207 -0
  70. package/dist/chunk-7CTMH5AK.js +111 -0
  71. package/dist/chunk-7EPXVICM.js +6184 -0
  72. package/dist/chunk-7EPXVICM.js.map +1 -0
  73. package/dist/chunk-7J6EHOH6.js +274 -0
  74. package/dist/chunk-ASI4P6X2.js +6667 -0
  75. package/dist/chunk-C46GUI2S.js +19 -0
  76. package/dist/chunk-CAMX6OHF.js +3182 -0
  77. package/dist/chunk-CAMX6OHF.js.map +1 -0
  78. package/dist/chunk-CWYAELVG.js +60 -0
  79. package/dist/chunk-DCRPXOJJ.js +363 -0
  80. package/dist/chunk-EAP4O4FE.js +440 -0
  81. package/dist/chunk-FPOGPFAG.js +4383 -0
  82. package/dist/chunk-FTWJFDIN.js +23992 -0
  83. package/dist/chunk-FTWJFDIN.js.map +1 -0
  84. package/dist/chunk-FUHN4MFY.js +103 -0
  85. package/dist/chunk-FYGR3I2A.js +297 -0
  86. package/dist/chunk-H3427GPU.js +206 -0
  87. package/dist/chunk-HDLYPC6K.js +172 -0
  88. package/dist/chunk-HDLYPC6K.js.map +1 -0
  89. package/dist/chunk-HR6IWNKE.js +2942 -0
  90. package/dist/chunk-HR6IWNKE.js.map +1 -0
  91. package/dist/chunk-HROZYQ5H.js +275 -0
  92. package/dist/chunk-HROZYQ5H.js.map +1 -0
  93. package/dist/chunk-HZUDRKGR.js +98 -0
  94. package/dist/chunk-I3ZR655O.js +382 -0
  95. package/dist/chunk-KMKEYI37.js +96 -0
  96. package/dist/chunk-KS2QY6MK.js +139 -0
  97. package/dist/chunk-LYQJ4PZW.js +5189 -0
  98. package/dist/chunk-MACCF4JZ.js +3147 -0
  99. package/dist/chunk-N4LAYIIN.js +175 -0
  100. package/dist/chunk-NA63BH7V.js +346 -0
  101. package/dist/chunk-NCWCZY5P.js +1441 -0
  102. package/dist/chunk-NDEE6G2J.js +494 -0
  103. package/dist/chunk-NJXNU2G6.js +819 -0
  104. package/dist/chunk-NYIGXDUG.js +178 -0
  105. package/dist/chunk-NYIGXDUG.js.map +1 -0
  106. package/dist/chunk-P5T7OZKV.js +26 -0
  107. package/dist/chunk-PZXCWSKV.js +1830 -0
  108. package/dist/chunk-QE7W555R.js +541 -0
  109. package/dist/chunk-QE7W555R.js.map +1 -0
  110. package/dist/chunk-R25YLW6H.js +20 -0
  111. package/dist/chunk-RL5CP7N6.js +57 -0
  112. package/dist/chunk-RX2DKU3W.js +592 -0
  113. package/dist/chunk-SJYEY5MV.js +172 -0
  114. package/dist/chunk-SJYEY5MV.js.map +1 -0
  115. package/dist/chunk-ULG4QRTV.js +92 -0
  116. package/dist/chunk-VL43TNIP.js +455 -0
  117. package/dist/chunk-VLMBTPXU.js +51 -0
  118. package/dist/chunk-VNUNE5AB.js +160 -0
  119. package/dist/chunk-VYQ3QJ3C.js +169 -0
  120. package/dist/chunk-WGUQHAJY.js +23 -0
  121. package/dist/chunk-WKQG6TER.js +1079 -0
  122. package/dist/chunk-XFGAUP5B.js +76 -0
  123. package/dist/chunk-ZDMTXQ2Q.js +337 -0
  124. package/dist/claim-W6G6VEG5.js +198 -0
  125. package/dist/claim-W6G6VEG5.js.map +1 -0
  126. package/dist/cli.js +30 -30
  127. package/dist/companies-TS6KBATJ.js +196 -0
  128. package/dist/companies-TS6KBATJ.js.map +1 -0
  129. package/dist/complete-LYR2HMQU.js +82 -0
  130. package/dist/complete-LYR2HMQU.js.map +1 -0
  131. package/dist/connect-FCXNVTXG.js +43 -0
  132. package/dist/conversation-6ZJGPCXM.js +94 -0
  133. package/dist/conversation-6ZJGPCXM.js.map +1 -0
  134. package/dist/conversion-report-XQBJ6LG4.js +125 -0
  135. package/dist/conversion-writes-UBCVXP2E.js +120 -0
  136. package/dist/conversions-D236RTUK.js +76 -0
  137. package/dist/conversions-UHB55MMQ.js +136 -0
  138. package/dist/conversions-UHB55MMQ.js.map +1 -0
  139. package/dist/create-EX6OWLNM.js +208 -0
  140. package/dist/create-EX6OWLNM.js.map +1 -0
  141. package/dist/create-JCA7JPLP.js +131 -0
  142. package/dist/create-JCA7JPLP.js.map +1 -0
  143. package/dist/create-JFSK4BOP.js +60 -0
  144. package/dist/create-JFSK4BOP.js.map +1 -0
  145. package/dist/create-WU22YYU2.js +236 -0
  146. package/dist/create-WU22YYU2.js.map +1 -0
  147. package/dist/creatives-FXUQ5WSD.js +51 -0
  148. package/dist/creatives-KGXUOYPE.js +183 -0
  149. package/dist/creatives-KGXUOYPE.js.map +1 -0
  150. package/dist/credentials-MJC7PGKR.js +1056 -0
  151. package/dist/credentials-MJC7PGKR.js.map +1 -0
  152. package/dist/critique-GS5VV5ZC.js +214 -0
  153. package/dist/critique-GS5VV5ZC.js.map +1 -0
  154. package/dist/critique-TPHR27KH.js +1450 -0
  155. package/dist/critique-TPHR27KH.js.map +1 -0
  156. package/dist/crm-AVCM5D4G.js +319 -0
  157. package/dist/crm-AVCM5D4G.js.map +1 -0
  158. package/dist/crm-VK44O3ED.js +225 -0
  159. package/dist/crm-VK44O3ED.js.map +1 -0
  160. package/dist/customers-XH2DMTFH.js +57 -0
  161. package/dist/delete-E3R3TKIL.js +67 -0
  162. package/dist/delete-E3R3TKIL.js.map +1 -0
  163. package/dist/delete-KRH2YMSZ.js +55 -0
  164. package/dist/delete-KRH2YMSZ.js.map +1 -0
  165. package/dist/delete-WI5E3DR3.js +64 -0
  166. package/dist/delete-WI5E3DR3.js.map +1 -0
  167. package/dist/demographics-XV5PBA77.js +139 -0
  168. package/dist/demographics-XV5PBA77.js.map +1 -0
  169. package/dist/discard-HTQUUHJR.js +67 -0
  170. package/dist/discard-HTQUUHJR.js.map +1 -0
  171. package/dist/domain-RECGZXJB.js +99 -0
  172. package/dist/domain-RECGZXJB.js.map +1 -0
  173. package/dist/draft-2IBSJEKC.js +218 -0
  174. package/dist/draft-2IBSJEKC.js.map +1 -0
  175. package/dist/draft-MNFJ4G3C.js +281 -0
  176. package/dist/draft-PVTX6QT6.js +329 -0
  177. package/dist/draft-PVTX6QT6.js.map +1 -0
  178. package/dist/draft-Q546QPPU.js +307 -0
  179. package/dist/draft-Q546QPPU.js.map +1 -0
  180. package/dist/engine/index.js +6 -6
  181. package/dist/facets-7EVPJMKS.js +115 -0
  182. package/dist/facets-7EVPJMKS.js.map +1 -0
  183. package/dist/feedback-EIZKS4JU.js +66 -0
  184. package/dist/feedback-record-TKO54BOE.js +176 -0
  185. package/dist/feedback-record-TKO54BOE.js.map +1 -0
  186. package/dist/fetch-4BY6HYUM.js +177 -0
  187. package/dist/fetch-4BY6HYUM.js.map +1 -0
  188. package/dist/find-FRRHAPWX.js +134 -0
  189. package/dist/fit-UOFYFJ4Q.js +45 -0
  190. package/dist/flows-KTFAML22.js +248 -0
  191. package/dist/flows-KTFAML22.js.map +1 -0
  192. package/dist/fonts-MXR3ZKDX.js +35 -0
  193. package/dist/forecast-3QTJYVND.js +105 -0
  194. package/dist/forecast-3QTJYVND.js.map +1 -0
  195. package/dist/funnel-I6XIAEHG.js +393 -0
  196. package/dist/funnel-I6XIAEHG.js.map +1 -0
  197. package/dist/ga4-DV2AXCSL.js +55 -0
  198. package/dist/generate-3XYYITU6.js +262 -0
  199. package/dist/get-5PKNKJ5S.js +57 -0
  200. package/dist/get-5PKNKJ5S.js.map +1 -0
  201. package/dist/get-72YPHJGV.js +79 -0
  202. package/dist/get-72YPHJGV.js.map +1 -0
  203. package/dist/google-6OGZX47I.js +1872 -0
  204. package/dist/google-QYYYSSXI.js +136 -0
  205. package/dist/google-ads-QGMQKZQD.js +196 -0
  206. package/dist/google-ads-QGMQKZQD.js.map +1 -0
  207. package/dist/gsc-TAKOF7J5.js +30 -0
  208. package/dist/history-6AVQX2OQ.js +134 -0
  209. package/dist/history-6AVQX2OQ.js.map +1 -0
  210. package/dist/history-Q3QCT64S.js +67 -0
  211. package/dist/hubspot-SVEMFK5S.js +780 -0
  212. package/dist/hubspot-SVEMFK5S.js.map +1 -0
  213. package/dist/icon-L4RSS6PZ.js +137 -0
  214. package/dist/ideas-NFOW3HKJ.js +33 -0
  215. package/dist/images-2EFFUNNV.js +90 -0
  216. package/dist/ingest-2EIKN4QC.js +24 -0
  217. package/dist/ingest-2SO62RRI.js +108 -0
  218. package/dist/ingest-2SO62RRI.js.map +1 -0
  219. package/dist/insights-LNAXV2CG.js +122 -0
  220. package/dist/inspect-4OOS4APT.js +190 -0
  221. package/dist/inspect-4OOS4APT.js.map +1 -0
  222. package/dist/inspiration-S3DU4CMQ.js +53 -0
  223. package/dist/keyword-metrics-SF4CSNZ2.js +198 -0
  224. package/dist/keyword-metrics-SF4CSNZ2.js.map +1 -0
  225. package/dist/keywords-for-site-WDAOPNKC.js +129 -0
  226. package/dist/keywords-for-site-WDAOPNKC.js.map +1 -0
  227. package/dist/landing-2ZB46LXH.js +28 -0
  228. package/dist/leads-A4W5KTWB.js +91 -0
  229. package/dist/leads-A4W5KTWB.js.map +1 -0
  230. package/dist/learn-IPULBCOD.js +204 -0
  231. package/dist/learn-IPULBCOD.js.map +1 -0
  232. package/dist/line-item-writes-EMYSOJKM.js +209 -0
  233. package/dist/line-item-writes-EMYSOJKM.js.map +1 -0
  234. package/dist/line-items-5NECXUZT.js +103 -0
  235. package/dist/link-CI45HWFN.js +65 -0
  236. package/dist/link-CI45HWFN.js.map +1 -0
  237. package/dist/linkedin-B7SYR75X.js +1009 -0
  238. package/dist/linkedin-B7SYR75X.js.map +1 -0
  239. package/dist/list-2BARXOT5.js +152 -0
  240. package/dist/list-2BARXOT5.js.map +1 -0
  241. package/dist/list-BIEVLEHS.js +304 -0
  242. package/dist/list-BIEVLEHS.js.map +1 -0
  243. package/dist/list-ZBT3EBVZ.js +64 -0
  244. package/dist/list-ZBT3EBVZ.js.map +1 -0
  245. package/dist/locations-2NKBJKBT.js +67 -0
  246. package/dist/log-C23OOAJZ.js +93 -0
  247. package/dist/log-C23OOAJZ.js.map +1 -0
  248. package/dist/logo-Q5D7PZY6.js +18 -0
  249. package/dist/lookup-ETWY47F7.js +23 -0
  250. package/dist/make-TPKKJXGL.js +594 -0
  251. package/dist/make-TPKKJXGL.js.map +1 -0
  252. package/dist/map-SYZMPHLL.js +405 -0
  253. package/dist/map-SYZMPHLL.js.map +1 -0
  254. package/dist/mcp-6FQBVJ6F.js +477 -0
  255. package/dist/mcp-6FQBVJ6F.js.map +1 -0
  256. package/dist/media-sources-ZXHEEP6T.js +32 -0
  257. package/dist/members-UDY4OOJW.js +45 -0
  258. package/dist/members-UDY4OOJW.js.map +1 -0
  259. package/dist/models-3Z6MDHQW.js +155 -0
  260. package/dist/normalize-DAKHYS3V.js +142 -0
  261. package/dist/normalize-DAKHYS3V.js.map +1 -0
  262. package/dist/options-QL3ULED5.js +122 -0
  263. package/dist/options-QL3ULED5.js.map +1 -0
  264. package/dist/performance-UF5VTY2U.js +25 -0
  265. package/dist/pixels-TZPF746S.js +60 -0
  266. package/dist/plan-FT632COT.js +51 -0
  267. package/dist/plan-FT632COT.js.map +1 -0
  268. package/dist/promoted-tweet-writes-7HGESJ46.js +181 -0
  269. package/dist/promoted-tweet-writes-7HGESJ46.js.map +1 -0
  270. package/dist/promoted-tweets-LZKS5JIF.js +119 -0
  271. package/dist/publish-NPD3SMZL.js +323 -0
  272. package/dist/publish-NPD3SMZL.js.map +1 -0
  273. package/dist/questionnaire-JNGYJTAY.js +37 -0
  274. package/dist/questionnaire-JNGYJTAY.js.map +1 -0
  275. package/dist/reddit-NU2N3LZD.js +27 -0
  276. package/dist/refresh-EBVJ2C6L.js +95 -0
  277. package/dist/refresh-EBVJ2C6L.js.map +1 -0
  278. package/dist/release-V43YB2PY.js +61 -0
  279. package/dist/release-V43YB2PY.js.map +1 -0
  280. package/dist/remove-QPSWLFI4.js +51 -0
  281. package/dist/remove-QPSWLFI4.js.map +1 -0
  282. package/dist/reopen-GQ66NMWF.js +64 -0
  283. package/dist/reopen-GQ66NMWF.js.map +1 -0
  284. package/dist/rerun-PZK275DY.js +86 -0
  285. package/dist/rerun-PZK275DY.js.map +1 -0
  286. package/dist/research-FMM6AWZC.js +62 -0
  287. package/dist/research-GEOCUBXB.js +263 -0
  288. package/dist/research-GEOCUBXB.js.map +1 -0
  289. package/dist/reset-REXJ6AUK.js +55 -0
  290. package/dist/reset-REXJ6AUK.js.map +1 -0
  291. package/dist/reset-Y72IVESB.js +55 -0
  292. package/dist/reset-Y72IVESB.js.map +1 -0
  293. package/dist/resolve-OGX7C4TV.js +122 -0
  294. package/dist/resolve-OGX7C4TV.js.map +1 -0
  295. package/dist/retry-CD6JAQ3F.js +61 -0
  296. package/dist/retry-CD6JAQ3F.js.map +1 -0
  297. package/dist/retry-TCUBBFR5.js +63 -0
  298. package/dist/retry-TCUBBFR5.js.map +1 -0
  299. package/dist/run-A5ZDXTOI.js +66 -0
  300. package/dist/run-A5ZDXTOI.js.map +1 -0
  301. package/dist/run-EUO34T2J.js +61 -0
  302. package/dist/scaffold-ad-SW2HEWM3.js +1550 -0
  303. package/dist/scaffold-ad-SW2HEWM3.js.map +1 -0
  304. package/dist/scaffold-static-ad-ECTJL54Y.js +967 -0
  305. package/dist/scaffold-static-ad-ECTJL54Y.js.map +1 -0
  306. package/dist/scaffold-video-EI7U7RBK.js +874 -0
  307. package/dist/scaffold-video-EI7U7RBK.js.map +1 -0
  308. package/dist/schedule-S5YZJZ5U.js +62 -0
  309. package/dist/schedule-S5YZJZ5U.js.map +1 -0
  310. package/dist/scheduled-agents-N4LJRM4C.js +49 -0
  311. package/dist/schema-R7JWWOF4.js +133 -0
  312. package/dist/schema-R7JWWOF4.js.map +1 -0
  313. package/dist/search-KHMQH3AT.js +175 -0
  314. package/dist/search-KHMQH3AT.js.map +1 -0
  315. package/dist/select-O2FN2JEQ.js +95 -0
  316. package/dist/select-O2FN2JEQ.js.map +1 -0
  317. package/dist/sends-BQZM5PLS.js +310 -0
  318. package/dist/sends-BQZM5PLS.js.map +1 -0
  319. package/dist/set-prompt-2HASHGWC.js +187 -0
  320. package/dist/set-prompt-2HASHGWC.js.map +1 -0
  321. package/dist/setup-links-GYSE56GX.js +142 -0
  322. package/dist/setup-links-GYSE56GX.js.map +1 -0
  323. package/dist/site-4SKM7RKG.js +178 -0
  324. package/dist/site-4SKM7RKG.js.map +1 -0
  325. package/dist/sources-FQ2UZTHL.js +30 -0
  326. package/dist/sources-R2NKNC6J.js +422 -0
  327. package/dist/sources-R2NKNC6J.js.map +1 -0
  328. package/dist/stale-W756ACKC.js +64 -0
  329. package/dist/stale-W756ACKC.js.map +1 -0
  330. package/dist/status-SE2VZJJB.js +63 -0
  331. package/dist/status-SE2VZJJB.js.map +1 -0
  332. package/dist/stock-KXJ26BY4.js +179 -0
  333. package/dist/studio-SYKOSNDB.js +49 -0
  334. package/dist/sync-LJGSODK3.js +55 -0
  335. package/dist/sync-LJGSODK3.js.map +1 -0
  336. package/dist/sync-definition-QR2N233R.js +54 -0
  337. package/dist/tags-4BAVFH4S.js +225 -0
  338. package/dist/tags-4BAVFH4S.js.map +1 -0
  339. package/dist/tags-5SBMRC2A.js +21 -0
  340. package/dist/tags-5SBMRC2A.js.map +1 -0
  341. package/dist/tags-PYWFSBTR.js +26 -0
  342. package/dist/tags-QQU3OKMZ.js +21 -0
  343. package/dist/tags-QQU3OKMZ.js.map +1 -0
  344. package/dist/tags-YYLNF3PK.js +21 -0
  345. package/dist/tags-YYLNF3PK.js.map +1 -0
  346. package/dist/targeting-criteria-RJFLFICN.js +113 -0
  347. package/dist/targets-S2MT2PNB.js +103 -0
  348. package/dist/targets-S2MT2PNB.js.map +1 -0
  349. package/dist/templates-ZE5TOGRT.js +179 -0
  350. package/dist/templates-ZE5TOGRT.js.map +1 -0
  351. package/dist/testimonials-DII5DYLR.js +32 -0
  352. package/dist/top-companies-PGIAEHDF.js +109 -0
  353. package/dist/top-companies-PGIAEHDF.js.map +1 -0
  354. package/dist/translate-GXTS633J.js +599 -0
  355. package/dist/translate-GXTS633J.js.map +1 -0
  356. package/dist/triggers-2PTONXRU.js +142 -0
  357. package/dist/triggers-2PTONXRU.js.map +1 -0
  358. package/dist/unlink-XRMYJ6DB.js +68 -0
  359. package/dist/unlink-XRMYJ6DB.js.map +1 -0
  360. package/dist/unstage-FY7A3YFF.js +85 -0
  361. package/dist/unstage-FY7A3YFF.js.map +1 -0
  362. package/dist/unstage-RM2RLXKD.js +96 -0
  363. package/dist/unstage-RM2RLXKD.js.map +1 -0
  364. package/dist/update-E5SRBXQR.js +143 -0
  365. package/dist/update-E5SRBXQR.js.map +1 -0
  366. package/dist/update-PJ67D2OG.js +156 -0
  367. package/dist/update-PJ67D2OG.js.map +1 -0
  368. package/dist/update-S4562V3O.js +64 -0
  369. package/dist/update-S4562V3O.js.map +1 -0
  370. package/dist/update-V6YVEUI2.js +99 -0
  371. package/dist/update-V6YVEUI2.js.map +1 -0
  372. package/dist/upload-R6CQVLKF.js +127 -0
  373. package/dist/upload-R6CQVLKF.js.map +1 -0
  374. package/dist/url-options-JOKU46F2.js +128 -0
  375. package/dist/url-options-JOKU46F2.js.map +1 -0
  376. package/dist/url-params-7U2XMOWF.js +99 -0
  377. package/dist/url-params-7U2XMOWF.js.map +1 -0
  378. package/dist/validate-7YPOUKPB.js +90 -0
  379. package/dist/validate-7YPOUKPB.js.map +1 -0
  380. package/dist/videos-LICG6ACJ.js +39 -0
  381. package/dist/viewer-check-L4B4LIAX.js +69 -0
  382. package/dist/web-BA2PGTWU.js +141 -0
  383. package/dist/web-BA2PGTWU.js.map +1 -0
  384. package/dist/winning-ads-C6S2C5VP.js +62 -0
  385. package/dist/write-commands-7SJ3BOW5.js +1016 -0
  386. package/dist/write-commands-7SJ3BOW5.js.map +1 -0
  387. package/dist/x-CZHRC6U7.js +47 -0
  388. package/package.json +1 -1
  389. package/dist/account-AL2ZDSR7.js +0 -79
  390. package/dist/account-AL2ZDSR7.js.map +0 -1
  391. package/dist/account-F6MHQ64I.js +0 -80
  392. package/dist/account-writes-ISE4U2FQ.js +0 -66
  393. package/dist/accounts-HAFCLSR5.js +0 -77
  394. package/dist/accounts-HAFCLSR5.js.map +0 -1
  395. package/dist/accounts-O5MFO3QQ.js +0 -611
  396. package/dist/accounts-O5MFO3QQ.js.map +0 -1
  397. package/dist/actions-P35MEMGN.js +0 -55
  398. package/dist/ad-group-writes-UU5NNKSO.js +0 -170
  399. package/dist/ad-groups-CGFXZNIA.js +0 -68
  400. package/dist/ad-writes-NALDYWOR.js +0 -174
  401. package/dist/add-5GAN6CVO.js +0 -280
  402. package/dist/add-5GAN6CVO.js.map +0 -1
  403. package/dist/add-6DTC6X5G.js +0 -104
  404. package/dist/add-6DTC6X5G.js.map +0 -1
  405. package/dist/ads-C47NA2HH.js +0 -40
  406. package/dist/ads-PV7GZXPR.js +0 -77
  407. package/dist/advertisers-AE75CGVE.js +0 -120
  408. package/dist/advertisers-AE75CGVE.js.map +0 -1
  409. package/dist/analytics-FKCXIMPO.js +0 -1958
  410. package/dist/analytics-FKCXIMPO.js.map +0 -1
  411. package/dist/analytics-FPWQQGRM.js +0 -433
  412. package/dist/analytics-FPWQQGRM.js.map +0 -1
  413. package/dist/animate-FWWHSYPL.js +0 -480
  414. package/dist/assign-ABN2AQ4J.js +0 -77
  415. package/dist/assign-ABN2AQ4J.js.map +0 -1
  416. package/dist/audience-size-GNBJY35X.js +0 -94
  417. package/dist/audience-size-GNBJY35X.js.map +0 -1
  418. package/dist/audiences-VEKGLWBG.js +0 -268
  419. package/dist/audit-3VS63TBW.js +0 -151
  420. package/dist/audit-3VS63TBW.js.map +0 -1
  421. package/dist/autocomplete-VS3XG3B7.js +0 -111
  422. package/dist/autocomplete-VS3XG3B7.js.map +0 -1
  423. package/dist/avatars-EKCKHCC3.js +0 -38
  424. package/dist/bid-pricing-Q72B65AY.js +0 -99
  425. package/dist/bid-pricing-Q72B65AY.js.map +0 -1
  426. package/dist/brand-C6PFGGQN.js +0 -22
  427. package/dist/brief-UO52ZHFI.js +0 -477
  428. package/dist/brief-UO52ZHFI.js.map +0 -1
  429. package/dist/campaign-groups-KFFYQPU3.js +0 -95
  430. package/dist/campaign-groups-KFFYQPU3.js.map +0 -1
  431. package/dist/campaign-writes-FHOS5XZY.js +0 -165
  432. package/dist/campaign-writes-FHOS5XZY.js.map +0 -1
  433. package/dist/campaign-writes-SX52CJYW.js +0 -170
  434. package/dist/campaigns-2NHWBF5C.js +0 -109
  435. package/dist/campaigns-2NHWBF5C.js.map +0 -1
  436. package/dist/campaigns-KZYZTXDS.js +0 -107
  437. package/dist/campaigns-X3DPCCSN.js +0 -76
  438. package/dist/canvas-DPCBGW7K.js +0 -46
  439. package/dist/capabilities-DJFTRJKS.js +0 -144
  440. package/dist/capabilities-DJFTRJKS.js.map +0 -1
  441. package/dist/catalog-ME44ZRZF.js +0 -65
  442. package/dist/catalogs-G3YEVG6S.js +0 -128
  443. package/dist/chatgpt-QNUN63YS.js +0 -47
  444. package/dist/chats-D2CSDX5Q.js +0 -262
  445. package/dist/chats-D2CSDX5Q.js.map +0 -1
  446. package/dist/chunk-2QHODRR6.js +0 -19
  447. package/dist/chunk-35XWJEWH.js +0 -274
  448. package/dist/chunk-3G3ZDLMI.js +0 -197
  449. package/dist/chunk-3HJLHTWP.js +0 -163
  450. package/dist/chunk-3HJLHTWP.js.map +0 -1
  451. package/dist/chunk-3IBYKLXR.js +0 -337
  452. package/dist/chunk-4AUMTNVB.js +0 -346
  453. package/dist/chunk-4BQXAE7Z.js +0 -494
  454. package/dist/chunk-54UVGFX3.js +0 -440
  455. package/dist/chunk-5Y5UAJWD.js +0 -111
  456. package/dist/chunk-5ZDLTE5T.js +0 -159
  457. package/dist/chunk-647RO73Q.js +0 -92
  458. package/dist/chunk-7YCRFMXF.js +0 -433
  459. package/dist/chunk-7ZHMGXE2.js +0 -819
  460. package/dist/chunk-A4LOJ2VD.js +0 -23
  461. package/dist/chunk-AEOSAVVL.js +0 -310
  462. package/dist/chunk-CHSNHVYF.js +0 -3182
  463. package/dist/chunk-CHSNHVYF.js.map +0 -1
  464. package/dist/chunk-CSYSX4D2.js +0 -175
  465. package/dist/chunk-DWHIOO7E.js +0 -390
  466. package/dist/chunk-DWHIOO7E.js.map +0 -1
  467. package/dist/chunk-EDLZGTGN.js +0 -216
  468. package/dist/chunk-EDLZGTGN.js.map +0 -1
  469. package/dist/chunk-FD27ZDVP.js +0 -304
  470. package/dist/chunk-GBMP4F45.js +0 -3147
  471. package/dist/chunk-GLCPTMPG.js +0 -5189
  472. package/dist/chunk-HBTF25YG.js +0 -592
  473. package/dist/chunk-HQSCJYZO.js +0 -26
  474. package/dist/chunk-IBURXTL4.js +0 -509
  475. package/dist/chunk-IR6D7K4H.js +0 -382
  476. package/dist/chunk-J5IY3GVE.js +0 -96
  477. package/dist/chunk-JQJDXPCO.js +0 -103
  478. package/dist/chunk-K66OLA6Y.js +0 -4383
  479. package/dist/chunk-K7FZXIOZ.js +0 -60
  480. package/dist/chunk-KFE3S63W.js +0 -1441
  481. package/dist/chunk-KHRXPQID.js +0 -169
  482. package/dist/chunk-KLBTXETO.js +0 -23992
  483. package/dist/chunk-KLBTXETO.js.map +0 -1
  484. package/dist/chunk-KQTYTCKQ.js +0 -98
  485. package/dist/chunk-LYBXCXJB.js +0 -160
  486. package/dist/chunk-LZ73CZGP.js +0 -188
  487. package/dist/chunk-MELOSESI.js +0 -20
  488. package/dist/chunk-MXYBTMKB.js +0 -363
  489. package/dist/chunk-NPY4QUMQ.js +0 -622
  490. package/dist/chunk-OZRUJVIQ.js +0 -206
  491. package/dist/chunk-QRP3PXWN.js +0 -455
  492. package/dist/chunk-RPUSTYHL.js +0 -170
  493. package/dist/chunk-RPUSTYHL.js.map +0 -1
  494. package/dist/chunk-S77PZVYM.js +0 -297
  495. package/dist/chunk-SHL7LOC3.js +0 -51
  496. package/dist/chunk-SSJK7FEV.js +0 -2886
  497. package/dist/chunk-SSJK7FEV.js.map +0 -1
  498. package/dist/chunk-TT5R35PJ.js +0 -207
  499. package/dist/chunk-ULJ5RFOV.js +0 -76
  500. package/dist/chunk-VB6WJJR3.js +0 -1830
  501. package/dist/chunk-W3ZHJJVT.js +0 -139
  502. package/dist/chunk-XF4JUKVF.js +0 -6151
  503. package/dist/chunk-XF4JUKVF.js.map +0 -1
  504. package/dist/chunk-Y6O7EWYY.js +0 -57
  505. package/dist/chunk-YRQYA2LR.js +0 -217
  506. package/dist/chunk-YRQYA2LR.js.map +0 -1
  507. package/dist/chunk-Z2EOC6PL.js +0 -6667
  508. package/dist/chunk-ZEYEWPK6.js +0 -1079
  509. package/dist/claim-FZ5OQLMU.js +0 -197
  510. package/dist/claim-FZ5OQLMU.js.map +0 -1
  511. package/dist/companies-DNI634RC.js +0 -195
  512. package/dist/companies-DNI634RC.js.map +0 -1
  513. package/dist/complete-2FZMGJV5.js +0 -81
  514. package/dist/complete-2FZMGJV5.js.map +0 -1
  515. package/dist/connect-QCOGEPP4.js +0 -36
  516. package/dist/conversation-6IOGV7B7.js +0 -93
  517. package/dist/conversation-6IOGV7B7.js.map +0 -1
  518. package/dist/conversion-report-N4HANYOB.js +0 -125
  519. package/dist/conversion-writes-LW4HQKK5.js +0 -120
  520. package/dist/conversions-4SRZPBBX.js +0 -135
  521. package/dist/conversions-4SRZPBBX.js.map +0 -1
  522. package/dist/conversions-TS723AZV.js +0 -76
  523. package/dist/create-BJNMO6HT.js +0 -207
  524. package/dist/create-BJNMO6HT.js.map +0 -1
  525. package/dist/create-FX4OJ2XF.js +0 -59
  526. package/dist/create-FX4OJ2XF.js.map +0 -1
  527. package/dist/create-RM7HV77Y.js +0 -130
  528. package/dist/create-RM7HV77Y.js.map +0 -1
  529. package/dist/create-VXM34ZWH.js +0 -235
  530. package/dist/create-VXM34ZWH.js.map +0 -1
  531. package/dist/creatives-JSWBFQ5R.js +0 -182
  532. package/dist/creatives-JSWBFQ5R.js.map +0 -1
  533. package/dist/creatives-SJTJU6VT.js +0 -51
  534. package/dist/credentials-VOZTILFO.js +0 -1055
  535. package/dist/credentials-VOZTILFO.js.map +0 -1
  536. package/dist/critique-65W63MFZ.js +0 -213
  537. package/dist/critique-65W63MFZ.js.map +0 -1
  538. package/dist/critique-ZS4ON3SU.js +0 -1449
  539. package/dist/critique-ZS4ON3SU.js.map +0 -1
  540. package/dist/crm-52ROSWH5.js +0 -224
  541. package/dist/crm-52ROSWH5.js.map +0 -1
  542. package/dist/crm-R5IXIFIV.js +0 -318
  543. package/dist/crm-R5IXIFIV.js.map +0 -1
  544. package/dist/customers-4AWBFDUF.js +0 -56
  545. package/dist/delete-AIGE4Y4H.js +0 -63
  546. package/dist/delete-AIGE4Y4H.js.map +0 -1
  547. package/dist/delete-HGHXY24R.js +0 -54
  548. package/dist/delete-HGHXY24R.js.map +0 -1
  549. package/dist/delete-M2GDLPYN.js +0 -66
  550. package/dist/delete-M2GDLPYN.js.map +0 -1
  551. package/dist/demographics-NTWB2IMG.js +0 -138
  552. package/dist/demographics-NTWB2IMG.js.map +0 -1
  553. package/dist/discard-2WWQG6OU.js +0 -66
  554. package/dist/discard-2WWQG6OU.js.map +0 -1
  555. package/dist/domain-Y2LT6JLT.js +0 -98
  556. package/dist/domain-Y2LT6JLT.js.map +0 -1
  557. package/dist/draft-EJXNNJ3Y.js +0 -306
  558. package/dist/draft-EJXNNJ3Y.js.map +0 -1
  559. package/dist/draft-FJ7WHIXW.js +0 -328
  560. package/dist/draft-FJ7WHIXW.js.map +0 -1
  561. package/dist/draft-SLHAKJ2A.js +0 -217
  562. package/dist/draft-SLHAKJ2A.js.map +0 -1
  563. package/dist/draft-THPZFASM.js +0 -281
  564. package/dist/facets-U7AQC4H6.js +0 -114
  565. package/dist/facets-U7AQC4H6.js.map +0 -1
  566. package/dist/feedback-XNJQ63DS.js +0 -66
  567. package/dist/feedback-record-FDLMWMDG.js +0 -175
  568. package/dist/feedback-record-FDLMWMDG.js.map +0 -1
  569. package/dist/fetch-W7NULDEO.js +0 -176
  570. package/dist/fetch-W7NULDEO.js.map +0 -1
  571. package/dist/find-OTDIX6V4.js +0 -134
  572. package/dist/fit-7237F5EB.js +0 -45
  573. package/dist/flows-KABCBS3S.js +0 -244
  574. package/dist/flows-KABCBS3S.js.map +0 -1
  575. package/dist/fonts-EMMX3KII.js +0 -34
  576. package/dist/forecast-GNODEIIC.js +0 -104
  577. package/dist/forecast-GNODEIIC.js.map +0 -1
  578. package/dist/funnel-AAX27NH4.js +0 -837
  579. package/dist/funnel-AAX27NH4.js.map +0 -1
  580. package/dist/ga4-UDQ2HA2J.js +0 -55
  581. package/dist/generate-MMBYB44G.js +0 -262
  582. package/dist/get-QEYJRLV3.js +0 -54
  583. package/dist/get-QEYJRLV3.js.map +0 -1
  584. package/dist/get-RTVUZM6E.js +0 -78
  585. package/dist/get-RTVUZM6E.js.map +0 -1
  586. package/dist/google-KTO3PLEU.js +0 -136
  587. package/dist/google-M7KEXVK5.js +0 -1872
  588. package/dist/google-ads-OK6IG3UV.js +0 -195
  589. package/dist/google-ads-OK6IG3UV.js.map +0 -1
  590. package/dist/gsc-P3QYGDV2.js +0 -30
  591. package/dist/history-DBIEYQHY.js +0 -67
  592. package/dist/history-PQUJKK26.js +0 -133
  593. package/dist/history-PQUJKK26.js.map +0 -1
  594. package/dist/hubspot-Y77VLY6Y.js +0 -779
  595. package/dist/hubspot-Y77VLY6Y.js.map +0 -1
  596. package/dist/icon-I43F77FV.js +0 -137
  597. package/dist/ideas-MIDU7YOA.js +0 -32
  598. package/dist/images-S254MS6O.js +0 -90
  599. package/dist/ingest-J4I3HKM3.js +0 -107
  600. package/dist/ingest-J4I3HKM3.js.map +0 -1
  601. package/dist/ingest-YV2NLDBE.js +0 -23
  602. package/dist/insights-ZIU6FJMS.js +0 -122
  603. package/dist/inspect-Q5NHBBHX.js +0 -189
  604. package/dist/inspect-Q5NHBBHX.js.map +0 -1
  605. package/dist/inspiration-P265QJ2H.js +0 -53
  606. package/dist/keyword-metrics-PDY4ZXSP.js +0 -197
  607. package/dist/keyword-metrics-PDY4ZXSP.js.map +0 -1
  608. package/dist/keywords-for-site-GALSCV77.js +0 -128
  609. package/dist/keywords-for-site-GALSCV77.js.map +0 -1
  610. package/dist/landing-CJYGWCK4.js +0 -28
  611. package/dist/leads-PHKG6CP3.js +0 -90
  612. package/dist/leads-PHKG6CP3.js.map +0 -1
  613. package/dist/learn-3VO6DXUX.js +0 -203
  614. package/dist/learn-3VO6DXUX.js.map +0 -1
  615. package/dist/line-item-writes-E6MZPIZZ.js +0 -208
  616. package/dist/line-item-writes-E6MZPIZZ.js.map +0 -1
  617. package/dist/line-items-7ZGIKEF2.js +0 -103
  618. package/dist/link-QYAW6A2W.js +0 -64
  619. package/dist/link-QYAW6A2W.js.map +0 -1
  620. package/dist/linkedin-FFSDSGGS.js +0 -1008
  621. package/dist/linkedin-FFSDSGGS.js.map +0 -1
  622. package/dist/list-5IC6KIKO.js +0 -63
  623. package/dist/list-5IC6KIKO.js.map +0 -1
  624. package/dist/list-NVQC5SNY.js +0 -151
  625. package/dist/list-NVQC5SNY.js.map +0 -1
  626. package/dist/list-SAV3LQHY.js +0 -303
  627. package/dist/list-SAV3LQHY.js.map +0 -1
  628. package/dist/locations-74TPQWAT.js +0 -67
  629. package/dist/log-XZPVOALD.js +0 -92
  630. package/dist/log-XZPVOALD.js.map +0 -1
  631. package/dist/logo-2IP663QO.js +0 -18
  632. package/dist/lookup-XK45W2SH.js +0 -22
  633. package/dist/make-LCNP76OF.js +0 -593
  634. package/dist/make-LCNP76OF.js.map +0 -1
  635. package/dist/map-4J5WIWIG.js +0 -404
  636. package/dist/map-4J5WIWIG.js.map +0 -1
  637. package/dist/mcp-XXD7ZQCP.js +0 -476
  638. package/dist/mcp-XXD7ZQCP.js.map +0 -1
  639. package/dist/media-sources-O6ZRUA3N.js +0 -32
  640. package/dist/members-D5ZYLS4Y.js +0 -44
  641. package/dist/members-D5ZYLS4Y.js.map +0 -1
  642. package/dist/models-7U3GRYHF.js +0 -155
  643. package/dist/normalize-PCNC6E2N.js +0 -138
  644. package/dist/normalize-PCNC6E2N.js.map +0 -1
  645. package/dist/options-MQ65VEVD.js +0 -121
  646. package/dist/options-MQ65VEVD.js.map +0 -1
  647. package/dist/performance-6QW2KEEQ.js +0 -24
  648. package/dist/pixels-45A55MOP.js +0 -60
  649. package/dist/promoted-tweet-writes-JPLHY3GM.js +0 -180
  650. package/dist/promoted-tweet-writes-JPLHY3GM.js.map +0 -1
  651. package/dist/promoted-tweets-SURKMHFI.js +0 -119
  652. package/dist/publish-HCQ6MXLB.js +0 -322
  653. package/dist/publish-HCQ6MXLB.js.map +0 -1
  654. package/dist/reddit-GIP3ADMS.js +0 -26
  655. package/dist/refresh-UXQSLCR3.js +0 -94
  656. package/dist/refresh-UXQSLCR3.js.map +0 -1
  657. package/dist/release-5KVLXNP6.js +0 -60
  658. package/dist/release-5KVLXNP6.js.map +0 -1
  659. package/dist/remove-6FIVKCJI.js +0 -50
  660. package/dist/remove-6FIVKCJI.js.map +0 -1
  661. package/dist/reopen-YM5LNOLB.js +0 -63
  662. package/dist/reopen-YM5LNOLB.js.map +0 -1
  663. package/dist/rerun-CET74VPF.js +0 -85
  664. package/dist/rerun-CET74VPF.js.map +0 -1
  665. package/dist/research-EY7C7JJY.js +0 -62
  666. package/dist/research-YOGE7GT2.js +0 -262
  667. package/dist/research-YOGE7GT2.js.map +0 -1
  668. package/dist/reset-C4UHQ3EU.js +0 -54
  669. package/dist/reset-C4UHQ3EU.js.map +0 -1
  670. package/dist/reset-OLVB6AE6.js +0 -54
  671. package/dist/reset-OLVB6AE6.js.map +0 -1
  672. package/dist/resolve-XYH2GDAE.js +0 -121
  673. package/dist/resolve-XYH2GDAE.js.map +0 -1
  674. package/dist/retry-726GKI6V.js +0 -62
  675. package/dist/retry-726GKI6V.js.map +0 -1
  676. package/dist/retry-7EELDEQP.js +0 -60
  677. package/dist/retry-7EELDEQP.js.map +0 -1
  678. package/dist/run-P4KR2MXC.js +0 -65
  679. package/dist/run-P4KR2MXC.js.map +0 -1
  680. package/dist/run-XQ7EM3JT.js +0 -60
  681. package/dist/scaffold-ad-U2KSHKBC.js +0 -1549
  682. package/dist/scaffold-ad-U2KSHKBC.js.map +0 -1
  683. package/dist/scaffold-static-ad-63LQKUSO.js +0 -966
  684. package/dist/scaffold-static-ad-63LQKUSO.js.map +0 -1
  685. package/dist/scaffold-video-MUS6LHJQ.js +0 -873
  686. package/dist/scaffold-video-MUS6LHJQ.js.map +0 -1
  687. package/dist/schedule-RDK4GEPI.js +0 -61
  688. package/dist/schedule-RDK4GEPI.js.map +0 -1
  689. package/dist/scheduled-agents-6U44QE76.js +0 -49
  690. package/dist/schema-CHJDC7GQ.js +0 -129
  691. package/dist/schema-CHJDC7GQ.js.map +0 -1
  692. package/dist/search-PMJRU3C4.js +0 -174
  693. package/dist/search-PMJRU3C4.js.map +0 -1
  694. package/dist/select-4Z7BW5RH.js +0 -94
  695. package/dist/select-4Z7BW5RH.js.map +0 -1
  696. package/dist/sends-WGJVQUMF.js +0 -309
  697. package/dist/sends-WGJVQUMF.js.map +0 -1
  698. package/dist/set-prompt-OB2V3XJP.js +0 -186
  699. package/dist/set-prompt-OB2V3XJP.js.map +0 -1
  700. package/dist/setup-links-REPREN3C.js +0 -141
  701. package/dist/setup-links-REPREN3C.js.map +0 -1
  702. package/dist/site-WFSWIA3S.js +0 -177
  703. package/dist/site-WFSWIA3S.js.map +0 -1
  704. package/dist/sources-AMI2AWKZ.js +0 -421
  705. package/dist/sources-AMI2AWKZ.js.map +0 -1
  706. package/dist/sources-YBQ6KPFM.js +0 -30
  707. package/dist/stale-DAYXOY3Z.js +0 -63
  708. package/dist/stale-DAYXOY3Z.js.map +0 -1
  709. package/dist/status-7F2KHFGA.js +0 -62
  710. package/dist/status-7F2KHFGA.js.map +0 -1
  711. package/dist/stock-2YCDN3N6.js +0 -179
  712. package/dist/studio-C5K3YX3P.js +0 -49
  713. package/dist/sync-GWTLKZTU.js +0 -54
  714. package/dist/sync-GWTLKZTU.js.map +0 -1
  715. package/dist/sync-definition-ILS2B2BJ.js +0 -53
  716. package/dist/tags-3WPW6PTV.js +0 -26
  717. package/dist/tags-6342FQEB.js +0 -20
  718. package/dist/tags-6342FQEB.js.map +0 -1
  719. package/dist/tags-ABHSX6M5.js +0 -20
  720. package/dist/tags-ABHSX6M5.js.map +0 -1
  721. package/dist/tags-FJIBBBRG.js +0 -20
  722. package/dist/tags-FJIBBBRG.js.map +0 -1
  723. package/dist/tags-KFYLZLB3.js +0 -224
  724. package/dist/tags-KFYLZLB3.js.map +0 -1
  725. package/dist/targeting-criteria-NR47AF5C.js +0 -113
  726. package/dist/targets-L56KOVQE.js +0 -102
  727. package/dist/targets-L56KOVQE.js.map +0 -1
  728. package/dist/templates-B6XGDYUF.js +0 -178
  729. package/dist/templates-B6XGDYUF.js.map +0 -1
  730. package/dist/testimonials-CVC4YIXO.js +0 -32
  731. package/dist/top-companies-45X3DT7Z.js +0 -108
  732. package/dist/top-companies-45X3DT7Z.js.map +0 -1
  733. package/dist/translate-TA5KQIU7.js +0 -598
  734. package/dist/translate-TA5KQIU7.js.map +0 -1
  735. package/dist/triggers-22EMIVFD.js +0 -141
  736. package/dist/triggers-22EMIVFD.js.map +0 -1
  737. package/dist/unlink-65KUN6ID.js +0 -67
  738. package/dist/unlink-65KUN6ID.js.map +0 -1
  739. package/dist/unstage-2E3I5SWF.js +0 -84
  740. package/dist/unstage-2E3I5SWF.js.map +0 -1
  741. package/dist/unstage-4ZEULXEQ.js +0 -95
  742. package/dist/unstage-4ZEULXEQ.js.map +0 -1
  743. package/dist/update-2S7CSEAW.js +0 -63
  744. package/dist/update-2S7CSEAW.js.map +0 -1
  745. package/dist/update-7NCOTAQZ.js +0 -98
  746. package/dist/update-7NCOTAQZ.js.map +0 -1
  747. package/dist/update-D6DJC6T7.js +0 -155
  748. package/dist/update-D6DJC6T7.js.map +0 -1
  749. package/dist/update-KREBPGBH.js +0 -142
  750. package/dist/update-KREBPGBH.js.map +0 -1
  751. package/dist/upload-O6NHRPS7.js +0 -126
  752. package/dist/upload-O6NHRPS7.js.map +0 -1
  753. package/dist/url-options-GGXAL3J4.js +0 -127
  754. package/dist/url-options-GGXAL3J4.js.map +0 -1
  755. package/dist/url-params-3EFGVTZZ.js +0 -98
  756. package/dist/url-params-3EFGVTZZ.js.map +0 -1
  757. package/dist/validate-LDBAAXQO.js +0 -89
  758. package/dist/validate-LDBAAXQO.js.map +0 -1
  759. package/dist/videos-YSXYGTBM.js +0 -39
  760. package/dist/viewer-check-45T2HLAH.js +0 -69
  761. package/dist/web-IGIGVEKS.js +0 -140
  762. package/dist/web-IGIGVEKS.js.map +0 -1
  763. package/dist/winning-ads-ASH5DSV3.js +0 -62
  764. package/dist/write-commands-5C7FUOVN.js +0 -1015
  765. package/dist/write-commands-5C7FUOVN.js.map +0 -1
  766. package/dist/x-BFSKFCZD.js +0 -47
  767. /package/dist/{account-F6MHQ64I.js.map → account-4H7QVBRK.js.map} +0 -0
  768. /package/dist/{account-writes-ISE4U2FQ.js.map → account-writes-AK42HGRM.js.map} +0 -0
  769. /package/dist/{actions-P35MEMGN.js.map → actions-6TQMSVWD.js.map} +0 -0
  770. /package/dist/{ad-group-writes-UU5NNKSO.js.map → ad-group-writes-QQS4223F.js.map} +0 -0
  771. /package/dist/{ad-groups-CGFXZNIA.js.map → ad-groups-WGPDPUI2.js.map} +0 -0
  772. /package/dist/{ad-writes-NALDYWOR.js.map → ad-writes-XE2IE4DS.js.map} +0 -0
  773. /package/dist/{ads-C47NA2HH.js.map → ads-AGYCVD62.js.map} +0 -0
  774. /package/dist/{ads-PV7GZXPR.js.map → ads-BCOSQALY.js.map} +0 -0
  775. /package/dist/{animate-FWWHSYPL.js.map → animate-AIZ3GS4J.js.map} +0 -0
  776. /package/dist/{audiences-VEKGLWBG.js.map → audiences-TGD5US2M.js.map} +0 -0
  777. /package/dist/{avatars-EKCKHCC3.js.map → avatars-467OSBD6.js.map} +0 -0
  778. /package/dist/{brand-C6PFGGQN.js.map → brand-YRTEPGBK.js.map} +0 -0
  779. /package/dist/{campaign-writes-SX52CJYW.js.map → campaign-writes-SXLZFYF6.js.map} +0 -0
  780. /package/dist/{campaigns-KZYZTXDS.js.map → campaigns-OYMXDGWX.js.map} +0 -0
  781. /package/dist/{campaigns-X3DPCCSN.js.map → campaigns-YS3OGQXO.js.map} +0 -0
  782. /package/dist/{canvas-DPCBGW7K.js.map → canvas-YQFG52IG.js.map} +0 -0
  783. /package/dist/{catalog-ME44ZRZF.js.map → catalog-XLXIM7IW.js.map} +0 -0
  784. /package/dist/{catalogs-G3YEVG6S.js.map → catalogs-BRXEDE56.js.map} +0 -0
  785. /package/dist/{chatgpt-QNUN63YS.js.map → chatgpt-7W75X3ER.js.map} +0 -0
  786. /package/dist/{chunk-7YCRFMXF.js.map → chunk-24EB7EDR.js.map} +0 -0
  787. /package/dist/{chunk-5ZDLTE5T.js.map → chunk-2AOE2MZQ.js.map} +0 -0
  788. /package/dist/{chunk-IBURXTL4.js.map → chunk-2VPBIT65.js.map} +0 -0
  789. /package/dist/{chunk-NPY4QUMQ.js.map → chunk-54C6YDGJ.js.map} +0 -0
  790. /package/dist/{chunk-LZ73CZGP.js.map → chunk-5WCSKQ7Z.js.map} +0 -0
  791. /package/dist/{chunk-3G3ZDLMI.js.map → chunk-5ZNTADVR.js.map} +0 -0
  792. /package/dist/{chunk-AEOSAVVL.js.map → chunk-6F7DVPOS.js.map} +0 -0
  793. /package/dist/{chunk-FD27ZDVP.js.map → chunk-6NY2GPR4.js.map} +0 -0
  794. /package/dist/{chunk-TT5R35PJ.js.map → chunk-6Y7ZBENQ.js.map} +0 -0
  795. /package/dist/{chunk-5Y5UAJWD.js.map → chunk-7CTMH5AK.js.map} +0 -0
  796. /package/dist/{chunk-35XWJEWH.js.map → chunk-7J6EHOH6.js.map} +0 -0
  797. /package/dist/{chunk-Z2EOC6PL.js.map → chunk-ASI4P6X2.js.map} +0 -0
  798. /package/dist/{chunk-2QHODRR6.js.map → chunk-C46GUI2S.js.map} +0 -0
  799. /package/dist/{chunk-K7FZXIOZ.js.map → chunk-CWYAELVG.js.map} +0 -0
  800. /package/dist/{chunk-MXYBTMKB.js.map → chunk-DCRPXOJJ.js.map} +0 -0
  801. /package/dist/{chunk-54UVGFX3.js.map → chunk-EAP4O4FE.js.map} +0 -0
  802. /package/dist/{chunk-K66OLA6Y.js.map → chunk-FPOGPFAG.js.map} +0 -0
  803. /package/dist/{chunk-JQJDXPCO.js.map → chunk-FUHN4MFY.js.map} +0 -0
  804. /package/dist/{chunk-S77PZVYM.js.map → chunk-FYGR3I2A.js.map} +0 -0
  805. /package/dist/{chunk-OZRUJVIQ.js.map → chunk-H3427GPU.js.map} +0 -0
  806. /package/dist/{chunk-KQTYTCKQ.js.map → chunk-HZUDRKGR.js.map} +0 -0
  807. /package/dist/{chunk-IR6D7K4H.js.map → chunk-I3ZR655O.js.map} +0 -0
  808. /package/dist/{chunk-J5IY3GVE.js.map → chunk-KMKEYI37.js.map} +0 -0
  809. /package/dist/{chunk-W3ZHJJVT.js.map → chunk-KS2QY6MK.js.map} +0 -0
  810. /package/dist/{chunk-GLCPTMPG.js.map → chunk-LYQJ4PZW.js.map} +0 -0
  811. /package/dist/{chunk-GBMP4F45.js.map → chunk-MACCF4JZ.js.map} +0 -0
  812. /package/dist/{chunk-CSYSX4D2.js.map → chunk-N4LAYIIN.js.map} +0 -0
  813. /package/dist/{chunk-4AUMTNVB.js.map → chunk-NA63BH7V.js.map} +0 -0
  814. /package/dist/{chunk-KFE3S63W.js.map → chunk-NCWCZY5P.js.map} +0 -0
  815. /package/dist/{chunk-4BQXAE7Z.js.map → chunk-NDEE6G2J.js.map} +0 -0
  816. /package/dist/{chunk-7ZHMGXE2.js.map → chunk-NJXNU2G6.js.map} +0 -0
  817. /package/dist/{chunk-HQSCJYZO.js.map → chunk-P5T7OZKV.js.map} +0 -0
  818. /package/dist/{chunk-VB6WJJR3.js.map → chunk-PZXCWSKV.js.map} +0 -0
  819. /package/dist/{chunk-MELOSESI.js.map → chunk-R25YLW6H.js.map} +0 -0
  820. /package/dist/{chunk-Y6O7EWYY.js.map → chunk-RL5CP7N6.js.map} +0 -0
  821. /package/dist/{chunk-HBTF25YG.js.map → chunk-RX2DKU3W.js.map} +0 -0
  822. /package/dist/{chunk-647RO73Q.js.map → chunk-ULG4QRTV.js.map} +0 -0
  823. /package/dist/{chunk-QRP3PXWN.js.map → chunk-VL43TNIP.js.map} +0 -0
  824. /package/dist/{chunk-SHL7LOC3.js.map → chunk-VLMBTPXU.js.map} +0 -0
  825. /package/dist/{chunk-LYBXCXJB.js.map → chunk-VNUNE5AB.js.map} +0 -0
  826. /package/dist/{chunk-KHRXPQID.js.map → chunk-VYQ3QJ3C.js.map} +0 -0
  827. /package/dist/{chunk-A4LOJ2VD.js.map → chunk-WGUQHAJY.js.map} +0 -0
  828. /package/dist/{chunk-ZEYEWPK6.js.map → chunk-WKQG6TER.js.map} +0 -0
  829. /package/dist/{chunk-ULJ5RFOV.js.map → chunk-XFGAUP5B.js.map} +0 -0
  830. /package/dist/{chunk-3IBYKLXR.js.map → chunk-ZDMTXQ2Q.js.map} +0 -0
  831. /package/dist/{connect-QCOGEPP4.js.map → connect-FCXNVTXG.js.map} +0 -0
  832. /package/dist/{conversion-report-N4HANYOB.js.map → conversion-report-XQBJ6LG4.js.map} +0 -0
  833. /package/dist/{conversion-writes-LW4HQKK5.js.map → conversion-writes-UBCVXP2E.js.map} +0 -0
  834. /package/dist/{conversions-TS723AZV.js.map → conversions-D236RTUK.js.map} +0 -0
  835. /package/dist/{creatives-SJTJU6VT.js.map → creatives-FXUQ5WSD.js.map} +0 -0
  836. /package/dist/{customers-4AWBFDUF.js.map → customers-XH2DMTFH.js.map} +0 -0
  837. /package/dist/{draft-THPZFASM.js.map → draft-MNFJ4G3C.js.map} +0 -0
  838. /package/dist/{feedback-XNJQ63DS.js.map → feedback-EIZKS4JU.js.map} +0 -0
  839. /package/dist/{find-OTDIX6V4.js.map → find-FRRHAPWX.js.map} +0 -0
  840. /package/dist/{fit-7237F5EB.js.map → fit-UOFYFJ4Q.js.map} +0 -0
  841. /package/dist/{fonts-EMMX3KII.js.map → fonts-MXR3ZKDX.js.map} +0 -0
  842. /package/dist/{ga4-UDQ2HA2J.js.map → ga4-DV2AXCSL.js.map} +0 -0
  843. /package/dist/{generate-MMBYB44G.js.map → generate-3XYYITU6.js.map} +0 -0
  844. /package/dist/{google-M7KEXVK5.js.map → google-6OGZX47I.js.map} +0 -0
  845. /package/dist/{google-KTO3PLEU.js.map → google-QYYYSSXI.js.map} +0 -0
  846. /package/dist/{gsc-P3QYGDV2.js.map → gsc-TAKOF7J5.js.map} +0 -0
  847. /package/dist/{history-DBIEYQHY.js.map → history-Q3QCT64S.js.map} +0 -0
  848. /package/dist/{icon-I43F77FV.js.map → icon-L4RSS6PZ.js.map} +0 -0
  849. /package/dist/{ideas-MIDU7YOA.js.map → ideas-NFOW3HKJ.js.map} +0 -0
  850. /package/dist/{images-S254MS6O.js.map → images-2EFFUNNV.js.map} +0 -0
  851. /package/dist/{ingest-YV2NLDBE.js.map → ingest-2EIKN4QC.js.map} +0 -0
  852. /package/dist/{insights-ZIU6FJMS.js.map → insights-LNAXV2CG.js.map} +0 -0
  853. /package/dist/{inspiration-P265QJ2H.js.map → inspiration-S3DU4CMQ.js.map} +0 -0
  854. /package/dist/{landing-CJYGWCK4.js.map → landing-2ZB46LXH.js.map} +0 -0
  855. /package/dist/{line-items-7ZGIKEF2.js.map → line-items-5NECXUZT.js.map} +0 -0
  856. /package/dist/{locations-74TPQWAT.js.map → locations-2NKBJKBT.js.map} +0 -0
  857. /package/dist/{logo-2IP663QO.js.map → logo-Q5D7PZY6.js.map} +0 -0
  858. /package/dist/{lookup-XK45W2SH.js.map → lookup-ETWY47F7.js.map} +0 -0
  859. /package/dist/{media-sources-O6ZRUA3N.js.map → media-sources-ZXHEEP6T.js.map} +0 -0
  860. /package/dist/{models-7U3GRYHF.js.map → models-3Z6MDHQW.js.map} +0 -0
  861. /package/dist/{performance-6QW2KEEQ.js.map → performance-UF5VTY2U.js.map} +0 -0
  862. /package/dist/{pixels-45A55MOP.js.map → pixels-TZPF746S.js.map} +0 -0
  863. /package/dist/{promoted-tweets-SURKMHFI.js.map → promoted-tweets-LZKS5JIF.js.map} +0 -0
  864. /package/dist/{reddit-GIP3ADMS.js.map → reddit-NU2N3LZD.js.map} +0 -0
  865. /package/dist/{research-EY7C7JJY.js.map → research-FMM6AWZC.js.map} +0 -0
  866. /package/dist/{run-XQ7EM3JT.js.map → run-EUO34T2J.js.map} +0 -0
  867. /package/dist/{scheduled-agents-6U44QE76.js.map → scheduled-agents-N4LJRM4C.js.map} +0 -0
  868. /package/dist/{sources-YBQ6KPFM.js.map → sources-FQ2UZTHL.js.map} +0 -0
  869. /package/dist/{stock-2YCDN3N6.js.map → stock-KXJ26BY4.js.map} +0 -0
  870. /package/dist/{studio-C5K3YX3P.js.map → studio-SYKOSNDB.js.map} +0 -0
  871. /package/dist/{sync-definition-ILS2B2BJ.js.map → sync-definition-QR2N233R.js.map} +0 -0
  872. /package/dist/{tags-3WPW6PTV.js.map → tags-PYWFSBTR.js.map} +0 -0
  873. /package/dist/{targeting-criteria-NR47AF5C.js.map → targeting-criteria-RJFLFICN.js.map} +0 -0
  874. /package/dist/{testimonials-CVC4YIXO.js.map → testimonials-DII5DYLR.js.map} +0 -0
  875. /package/dist/{videos-YSXYGTBM.js.map → videos-LICG6ACJ.js.map} +0 -0
  876. /package/dist/{viewer-check-45T2HLAH.js.map → viewer-check-L4B4LIAX.js.map} +0 -0
  877. /package/dist/{winning-ads-ASH5DSV3.js.map → winning-ads-C6S2C5VP.js.map} +0 -0
  878. /package/dist/{x-BFSKFCZD.js.map → x-CZHRC6U7.js.map} +0 -0
@@ -0,0 +1,329 @@
1
+ import {
2
+ failWriteValidation
3
+ } from "./chunk-VYQ3QJ3C.js";
4
+ import {
5
+ parseXApiError
6
+ } from "./chunk-M6UNISGO.js";
7
+ import "./chunk-C6U6UDHJ.js";
8
+ import {
9
+ writeAdsJson,
10
+ writeJsonEnvelope
11
+ } from "./chunk-VFIOJD5M.js";
12
+ import {
13
+ CHAT_READ_ARG
14
+ } from "./chunk-PFBQERWX.js";
15
+ import "./chunk-7EPXVICM.js";
16
+ import "./chunk-GXDLWBOY.js";
17
+ import "./chunk-TEINLN64.js";
18
+ import "./chunk-ZJWUBJYQ.js";
19
+ import "./chunk-HR6IWNKE.js";
20
+ import "./chunk-NE4F3FHN.js";
21
+ import {
22
+ ApiError,
23
+ apiPost
24
+ } from "./chunk-XBOK23HI.js";
25
+ import "./chunk-IFWP3ZDO.js";
26
+ import {
27
+ requireChatId,
28
+ resolveChatId
29
+ } from "./chunk-NAWWC5I3.js";
30
+ import {
31
+ registerSchema
32
+ } from "./chunk-NU7JSWVA.js";
33
+ import "./chunk-YQSBHWOI.js";
34
+
35
+ // src/commands/ads/x/draft.ts
36
+ import { readFileSync } from "fs";
37
+ import { defineCommand } from "citty";
38
+
39
+ // src/commands/ads/x/draft-status.ts
40
+ var OPERATION_LABELS = {
41
+ create: "Creating",
42
+ update: "Updating",
43
+ pause: "Pausing",
44
+ resume: "Resuming",
45
+ remove: "Removing"
46
+ };
47
+ function badge(node) {
48
+ const label = node.operation ? OPERATION_LABELS[node.operation] : void 0;
49
+ return label ?? (node.existing ? "on X" : "staged");
50
+ }
51
+ function collectionLine(collection) {
52
+ const parts = [];
53
+ if (collection.added > 0) {
54
+ parts.push(`+${collection.added}`);
55
+ }
56
+ if (collection.existing > 0) {
57
+ parts.push(`${collection.existing} existing`);
58
+ }
59
+ if (collection.removed > 0) {
60
+ parts.push(`-${collection.removed}`);
61
+ }
62
+ return parts.length > 0 ? `${collection.label}: ${parts.join(", ")}` : void 0;
63
+ }
64
+ function accountsInTree(nodes) {
65
+ const accounts = /* @__PURE__ */ new Set();
66
+ const walk = (node) => {
67
+ accounts.add(node.accountId);
68
+ for (const child of node.children) {
69
+ walk(child);
70
+ }
71
+ };
72
+ for (const node of nodes) {
73
+ walk(node);
74
+ }
75
+ return accounts;
76
+ }
77
+ function renderNode(node, depth, showAccount, out) {
78
+ const indent = " ".repeat(depth);
79
+ const account = showAccount ? ` [${node.accountId}]` : "";
80
+ out.push(`${indent}${node.entity}: ${node.name} \u2014 ${badge(node)}${account}`);
81
+ for (const collection of node.collections) {
82
+ const line = collectionLine(collection);
83
+ if (line) {
84
+ out.push(`${indent} ${line}`);
85
+ }
86
+ }
87
+ for (const warning of node.warnings ?? []) {
88
+ out.push(`${indent} ! ${warning}`);
89
+ }
90
+ for (const child of node.children) {
91
+ renderNode(child, depth + 1, showAccount, out);
92
+ }
93
+ }
94
+ var NO_CHANGES = "No X Ads changes staged";
95
+ var STATUS_HEADINGS = {
96
+ active: "staged",
97
+ publishing: "publishing",
98
+ applied: "published",
99
+ discarded: "discarded"
100
+ };
101
+ function didNotApply(op) {
102
+ return op.result?.status === "failed" || op.result?.status === "skipped";
103
+ }
104
+ function didApply(op) {
105
+ return op.result?.status === "applied" || op.result?.status === "simulated";
106
+ }
107
+ function headingLine(draft) {
108
+ const heading = STATUS_HEADINGS[draft.status] ?? draft.status;
109
+ if (draft.status !== "applied" && draft.status !== "publishing") {
110
+ return `X Ads: ${draft.count} change${draft.count === 1 ? "" : "s"} ${heading}`;
111
+ }
112
+ const applied = draft.ops.filter(didApply).length;
113
+ const failed = draft.ops.filter(didNotApply).length;
114
+ return `X Ads: ${heading} \xB7 ${applied} applied${failed > 0 ? `, ${failed} failed` : ""}`;
115
+ }
116
+ function problemLines(draft) {
117
+ return draft.ops.filter(didNotApply).map((op) => {
118
+ const reason = op.result?.error ?? `skipped: waiting on ${op.result?.skippedBecause ?? "a change that did not apply"}`;
119
+ return `\u2717 ${op.summary} \u2014 failed: ${reason}`;
120
+ });
121
+ }
122
+ function renderDraftStatus(draft) {
123
+ if (draft.status === "none" || draft.count === 0) {
124
+ return NO_CHANGES;
125
+ }
126
+ const out = [headingLine(draft), ""];
127
+ const tree = draft.tree ?? [];
128
+ const showAccount = accountsInTree(tree).size > 1;
129
+ for (const node of tree) {
130
+ renderNode(node, 0, showAccount, out);
131
+ }
132
+ const problems = problemLines(draft);
133
+ if (problems.length > 0) {
134
+ out.push("", ...problems);
135
+ }
136
+ return out.join("\n");
137
+ }
138
+
139
+ // src/commands/ads/x/draft.ts
140
+ function handleDraftError(err) {
141
+ if (err instanceof ApiError) {
142
+ writeAdsJson(parseXApiError(err.message, "\u2014"));
143
+ process.exit(1);
144
+ }
145
+ writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
146
+ process.exit(1);
147
+ }
148
+ registerSchema({
149
+ command: "ads.x.draft",
150
+ description: "Review everything staged for X Ads on this chat as a Campaign \u25B8 Ad group \u25B8 Ad tree. After a publish this is the authoritative record: `published \xB7 N applied`, or a `\u2717 \u2026 failed:` line per op that did not land.",
151
+ args: {
152
+ json: { type: "boolean", description: "Raw JSON envelope instead of the readable tree", required: false },
153
+ chat: { type: "string", description: "Read another chat's draft instead of this one", required: false }
154
+ }
155
+ });
156
+ async function listDraft(json, chat) {
157
+ try {
158
+ const chatId = resolveChatId(chat);
159
+ const response = await apiPost("/api/ads/x/draft", { chatId });
160
+ if (json || !response.ok || !response.data) {
161
+ writeJsonEnvelope(response);
162
+ return;
163
+ }
164
+ process.stdout.write(`${renderDraftStatus(response.data)}
165
+ `);
166
+ } catch (err) {
167
+ handleDraftError(err);
168
+ }
169
+ }
170
+ var listCommand = defineCommand({
171
+ meta: {
172
+ name: "list",
173
+ description: "Review everything staged as a Campaign \u25B8 Ad group \u25B8 Ad tree. Example: baker ads x draft"
174
+ },
175
+ args: {
176
+ json: { type: "boolean", description: "Print the raw JSON envelope instead of the readable tree" },
177
+ chat: CHAT_READ_ARG
178
+ },
179
+ run: async ({ args }) => {
180
+ await listDraft(args.json === true, args.chat);
181
+ }
182
+ });
183
+ registerSchema({
184
+ command: "ads.x.draft.show",
185
+ description: "The full staged payload, warnings and before-snapshot for one op \u2014 the receipt to check before publishing.",
186
+ args: {
187
+ ref: { type: "string", description: "Op ref (x_temp_* for creates, the target id for updates)", required: true },
188
+ chat: { type: "string", description: "Read another chat's draft instead of this one", required: false }
189
+ }
190
+ });
191
+ var showCommand = defineCommand({
192
+ meta: {
193
+ name: "show",
194
+ description: "Show one staged op in full. Example: baker ads x draft show x_temp_abc123"
195
+ },
196
+ args: {
197
+ ref: { type: "positional", description: "Op ref, or the target id for a staged update", required: true },
198
+ chat: CHAT_READ_ARG
199
+ },
200
+ run: async ({ args }) => {
201
+ try {
202
+ const chatId = resolveChatId(args.chat);
203
+ const response = await apiPost("/api/ads/x/draft/show", {
204
+ chatId,
205
+ ref: String(args.ref)
206
+ });
207
+ writeJsonEnvelope(response);
208
+ } catch (err) {
209
+ handleDraftError(err);
210
+ }
211
+ }
212
+ });
213
+ registerSchema({
214
+ command: "ads.x.draft.amend",
215
+ description: "Change a staged op in place instead of removing and re-staging it. The patch merges into the payload (JSON merge-patch: `null` deletes a key) and the whole op re-validates.",
216
+ args: {
217
+ ref: { type: "string", description: "Op ref or target id", required: true },
218
+ patch: { type: "string", description: "JSON object, or @path to a file holding one", required: true }
219
+ }
220
+ });
221
+ var amendCommand = defineCommand({
222
+ meta: {
223
+ name: "amend",
224
+ description: `Change a staged op in place.
225
+
226
+ Example:
227
+ baker ads x draft amend x_temp_abc '{"dailyBudgetAmountLocalMicro": 20000000}'`
228
+ },
229
+ args: {
230
+ ref: { type: "positional", description: "Op ref or target id", required: true },
231
+ patch: { type: "positional", description: "JSON object, or @path to a file", required: true }
232
+ },
233
+ run: async ({ args }) => {
234
+ const raw = String(args.patch);
235
+ let patch;
236
+ try {
237
+ patch = JSON.parse(raw.startsWith("@") ? readFileSync(raw.slice(1), "utf8") : raw);
238
+ } catch {
239
+ failWriteValidation("patch must be a JSON object, or @path to a file holding one");
240
+ }
241
+ if (patch === null || typeof patch !== "object" || Array.isArray(patch)) {
242
+ failWriteValidation("patch must be a JSON object");
243
+ }
244
+ try {
245
+ const chatId = requireChatId();
246
+ const response = await apiPost("/api/ads/x/draft/amend", {
247
+ chatId,
248
+ ref: String(args.ref),
249
+ patch
250
+ });
251
+ writeJsonEnvelope(response);
252
+ } catch (err) {
253
+ handleDraftError(err);
254
+ }
255
+ }
256
+ });
257
+ registerSchema({
258
+ command: "ads.x.draft.remove",
259
+ description: "Drop one staged X op. Removing a create cascades to everything staged that depends on it.",
260
+ args: { ref: { type: "string", description: "Op ref or target id", required: true } }
261
+ });
262
+ var removeCommand = defineCommand({
263
+ meta: {
264
+ name: "remove",
265
+ description: "Drop one staged op (cascades to its dependents). Example: baker ads x draft remove x_temp_abc123"
266
+ },
267
+ args: { ref: { type: "positional", description: "Op ref or target id", required: true } },
268
+ run: async ({ args }) => {
269
+ try {
270
+ const chatId = requireChatId();
271
+ const response = await apiPost("/api/ads/x/draft/remove", {
272
+ chatId,
273
+ ref: String(args.ref)
274
+ });
275
+ writeJsonEnvelope(response);
276
+ } catch (err) {
277
+ handleDraftError(err);
278
+ }
279
+ }
280
+ });
281
+ registerSchema({
282
+ command: "ads.x.draft.clear",
283
+ description: "Drop every staged X op on this chat. Nothing reached X, so nothing needs reversing.",
284
+ args: {}
285
+ });
286
+ var clearCommand = defineCommand({
287
+ meta: { name: "clear", description: "Drop every staged X op on this chat. Example: baker ads x draft clear" },
288
+ args: {},
289
+ run: async () => {
290
+ try {
291
+ const chatId = requireChatId();
292
+ const response = await apiPost("/api/ads/x/draft/clear", { chatId });
293
+ writeJsonEnvelope(response);
294
+ } catch (err) {
295
+ handleDraftError(err);
296
+ }
297
+ }
298
+ });
299
+ var draftCommand = defineCommand({
300
+ meta: {
301
+ name: "draft",
302
+ description: `Review and edit the X Ads changes staged on this chat.
303
+
304
+ Nothing staged has reached X. Everything applies when the chat is published,
305
+ and discarding the chat reverses all of it.
306
+
307
+ Examples:
308
+ baker ads x draft \u2014 the Campaign \u25B8 Ad group \u25B8 Ad tree
309
+ baker ads x draft show x_temp_abc123 \u2014 one op in full
310
+ baker ads x draft amend x_temp_abc '{"name":"New"}'
311
+ baker ads x draft remove x_temp_abc123
312
+ baker ads x draft clear`
313
+ },
314
+ subCommands: {
315
+ list: listCommand,
316
+ show: showCommand,
317
+ amend: amendCommand,
318
+ remove: removeCommand,
319
+ clear: clearCommand
320
+ },
321
+ // A parent must never declare `run`: citty falls through to it AFTER running
322
+ // the matched subcommand, so every edit would also trigger a full list.
323
+ args: { json: { type: "boolean", description: "Raw JSON envelope" }, chat: CHAT_READ_ARG },
324
+ default: "list"
325
+ });
326
+ export {
327
+ draftCommand
328
+ };
329
+ //# sourceMappingURL=draft-PVTX6QT6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/x/draft.ts","../src/commands/ads/x/draft-status.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport type {\n XDraftClearResponse,\n XDraftListResponse,\n XDraftRemoveResponse,\n XDraftShowResponse,\n XDraftStageResponse,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../../client.ts\";\nimport { requireChatId, resolveChatId } from \"../../../env.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { CHAT_READ_ARG } from \"../../chat-arg.ts\";\nimport { writeAdsJson, writeJsonEnvelope } from \"../output.ts\";\nimport { renderDraftStatus } from \"./draft-status.ts\";\nimport { parseXApiError } from \"./error-parser.ts\";\nimport { failWriteValidation } from \"./write-shared.ts\";\n\nfunction handleDraftError(err: unknown): never {\n if (err instanceof ApiError) {\n writeAdsJson(parseXApiError(err.message, \"—\"));\n process.exit(1);\n }\n writeAdsJson({ ok: false, error: { code: \"NETWORK_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\nregisterSchema({\n command: \"ads.x.draft\",\n description:\n \"Review everything staged for X Ads on this chat as a Campaign ▸ Ad group ▸ Ad tree. After a publish this is the authoritative record: `published · N applied`, or a `✗ … failed:` line per op that did not land.\",\n args: {\n json: { type: \"boolean\", description: \"Raw JSON envelope instead of the readable tree\", required: false },\n chat: { type: \"string\", description: \"Read another chat's draft instead of this one\", required: false },\n },\n});\n\nasync function listDraft(json: boolean, chat?: unknown): Promise<void> {\n try {\n const chatId = resolveChatId(chat);\n const response = await apiPost<{ ok: boolean; data?: XDraftListResponse }>(\"/api/ads/x/draft\", { chatId });\n if (json || !response.ok || !response.data) {\n writeJsonEnvelope(response);\n return;\n }\n process.stdout.write(`${renderDraftStatus(response.data)}\\n`);\n } catch (err) {\n handleDraftError(err);\n }\n}\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"Review everything staged as a Campaign ▸ Ad group ▸ Ad tree. Example: baker ads x draft\",\n },\n args: {\n json: { type: \"boolean\", description: \"Print the raw JSON envelope instead of the readable tree\" },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n await listDraft(args.json === true, args.chat);\n },\n});\n\nregisterSchema({\n command: \"ads.x.draft.show\",\n description:\n \"The full staged payload, warnings and before-snapshot for one op — the receipt to check before publishing.\",\n args: {\n ref: { type: \"string\", description: \"Op ref (x_temp_* for creates, the target id for updates)\", required: true },\n chat: { type: \"string\", description: \"Read another chat's draft instead of this one\", required: false },\n },\n});\n\nconst showCommand = defineCommand({\n meta: {\n name: \"show\",\n description: \"Show one staged op in full. Example: baker ads x draft show x_temp_abc123\",\n },\n args: {\n ref: { type: \"positional\", description: \"Op ref, or the target id for a staged update\", required: true },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n try {\n const chatId = resolveChatId(args.chat);\n const response = await apiPost<{ ok: boolean; data?: XDraftShowResponse }>(\"/api/ads/x/draft/show\", {\n chatId,\n ref: String(args.ref),\n });\n writeJsonEnvelope(response);\n } catch (err) {\n handleDraftError(err);\n }\n },\n});\n\nregisterSchema({\n command: \"ads.x.draft.amend\",\n description:\n \"Change a staged op in place instead of removing and re-staging it. The patch merges into the payload (JSON merge-patch: `null` deletes a key) and the whole op re-validates.\",\n args: {\n ref: { type: \"string\", description: \"Op ref or target id\", required: true },\n patch: { type: \"string\", description: \"JSON object, or @path to a file holding one\", required: true },\n },\n});\n\nconst amendCommand = defineCommand({\n meta: {\n name: \"amend\",\n description: `Change a staged op in place.\n\nExample:\n baker ads x draft amend x_temp_abc '{\"dailyBudgetAmountLocalMicro\": 20000000}'`,\n },\n args: {\n ref: { type: \"positional\", description: \"Op ref or target id\", required: true },\n patch: { type: \"positional\", description: \"JSON object, or @path to a file\", required: true },\n },\n run: async ({ args }) => {\n const raw = String(args.patch);\n let patch: unknown;\n try {\n patch = JSON.parse(raw.startsWith(\"@\") ? readFileSync(raw.slice(1), \"utf8\") : raw);\n } catch {\n failWriteValidation(\"patch must be a JSON object, or @path to a file holding one\");\n }\n if (patch === null || typeof patch !== \"object\" || Array.isArray(patch)) {\n failWriteValidation(\"patch must be a JSON object\");\n }\n try {\n const chatId = requireChatId();\n const response = await apiPost<{ ok: boolean; data?: XDraftStageResponse }>(\"/api/ads/x/draft/amend\", {\n chatId,\n ref: String(args.ref),\n patch,\n });\n writeJsonEnvelope(response);\n } catch (err) {\n handleDraftError(err);\n }\n },\n});\n\nregisterSchema({\n command: \"ads.x.draft.remove\",\n description: \"Drop one staged X op. Removing a create cascades to everything staged that depends on it.\",\n args: { ref: { type: \"string\", description: \"Op ref or target id\", required: true } },\n});\n\nconst removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description: \"Drop one staged op (cascades to its dependents). Example: baker ads x draft remove x_temp_abc123\",\n },\n args: { ref: { type: \"positional\", description: \"Op ref or target id\", required: true } },\n run: async ({ args }) => {\n try {\n const chatId = requireChatId();\n const response = await apiPost<{ ok: boolean; data?: XDraftRemoveResponse }>(\"/api/ads/x/draft/remove\", {\n chatId,\n ref: String(args.ref),\n });\n writeJsonEnvelope(response);\n } catch (err) {\n handleDraftError(err);\n }\n },\n});\n\nregisterSchema({\n command: \"ads.x.draft.clear\",\n description: \"Drop every staged X op on this chat. Nothing reached X, so nothing needs reversing.\",\n args: {},\n});\n\nconst clearCommand = defineCommand({\n meta: { name: \"clear\", description: \"Drop every staged X op on this chat. Example: baker ads x draft clear\" },\n args: {},\n run: async () => {\n try {\n const chatId = requireChatId();\n const response = await apiPost<{ ok: boolean; data?: XDraftClearResponse }>(\"/api/ads/x/draft/clear\", { chatId });\n writeJsonEnvelope(response);\n } catch (err) {\n handleDraftError(err);\n }\n },\n});\n\nexport const draftCommand = defineCommand({\n meta: {\n name: \"draft\",\n description: `Review and edit the X Ads changes staged on this chat.\n\nNothing staged has reached X. Everything applies when the chat is published,\nand discarding the chat reverses all of it.\n\nExamples:\n baker ads x draft — the Campaign ▸ Ad group ▸ Ad tree\n baker ads x draft show x_temp_abc123 — one op in full\n baker ads x draft amend x_temp_abc '{\"name\":\"New\"}'\n baker ads x draft remove x_temp_abc123\n baker ads x draft clear`,\n },\n subCommands: {\n list: listCommand,\n show: showCommand,\n amend: amendCommand,\n remove: removeCommand,\n clear: clearCommand,\n },\n // A parent must never declare `run`: citty falls through to it AFTER running\n // the matched subcommand, so every edit would also trigger a full list.\n args: { json: { type: \"boolean\", description: \"Raw JSON envelope\" }, chat: CHAT_READ_ARG },\n default: \"list\",\n});\n","import type { XDraftListResponse, XDraftOpView, XDraftStatusCollection, XDraftStatusNode } from \"@baker/api\";\n\n/**\n * Render the staged X draft as a readable Campaign ▸ Ad group ▸ Ad tree — the\n * counterpart to the Google and LinkedIn renderers, using the identical node\n * shape. Pure: takes the draft-list response, returns text.\n */\n\nconst OPERATION_LABELS: Record<string, string> = {\n create: \"Creating\",\n update: \"Updating\",\n pause: \"Pausing\",\n resume: \"Resuming\",\n remove: \"Removing\",\n};\n\nfunction badge(node: XDraftStatusNode): string {\n const label = node.operation ? OPERATION_LABELS[node.operation] : undefined;\n return label ?? (node.existing ? \"on X\" : \"staged\");\n}\n\nfunction collectionLine(collection: XDraftStatusCollection): string | undefined {\n const parts: string[] = [];\n if (collection.added > 0) {\n parts.push(`+${collection.added}`);\n }\n if (collection.existing > 0) {\n parts.push(`${collection.existing} existing`);\n }\n if (collection.removed > 0) {\n parts.push(`-${collection.removed}`);\n }\n return parts.length > 0 ? `${collection.label}: ${parts.join(\", \")}` : undefined;\n}\n\n/**\n * Every ad account the tree touches. A draft may span several, and two accounts\n * can hold identically-named campaigns — so the account is printed on each node\n * once there is more than one, and left off when there is not.\n */\nfunction accountsInTree(nodes: readonly XDraftStatusNode[]): Set<string> {\n const accounts = new Set<string>();\n const walk = (node: XDraftStatusNode): void => {\n accounts.add(node.accountId);\n for (const child of node.children) {\n walk(child);\n }\n };\n for (const node of nodes) {\n walk(node);\n }\n return accounts;\n}\n\nfunction renderNode(node: XDraftStatusNode, depth: number, showAccount: boolean, out: string[]): void {\n const indent = \" \".repeat(depth);\n const account = showAccount ? ` [${node.accountId}]` : \"\";\n out.push(`${indent}${node.entity}: ${node.name} — ${badge(node)}${account}`);\n for (const collection of node.collections) {\n const line = collectionLine(collection);\n if (line) {\n out.push(`${indent} ${line}`);\n }\n }\n for (const warning of node.warnings ?? []) {\n out.push(`${indent} ! ${warning}`);\n }\n for (const child of node.children) {\n renderNode(child, depth + 1, showAccount, out);\n }\n}\n\nconst NO_CHANGES = \"No X Ads changes staged\";\n\nconst STATUS_HEADINGS: Record<string, string> = {\n active: \"staged\",\n publishing: \"publishing\",\n applied: \"published\",\n discarded: \"discarded\",\n};\n\nfunction didNotApply(op: XDraftOpView): boolean {\n return op.result?.status === \"failed\" || op.result?.status === \"skipped\";\n}\n\nfunction didApply(op: XDraftOpView): boolean {\n return op.result?.status === \"applied\" || op.result?.status === \"simulated\";\n}\n\n/**\n * The outcome line, which is the authoritative record after a publish: a draft\n * still reading `publishing` minutes later did not finish, whatever X shows.\n */\nfunction headingLine(draft: XDraftListResponse): string {\n const heading = STATUS_HEADINGS[draft.status] ?? draft.status;\n if (draft.status !== \"applied\" && draft.status !== \"publishing\") {\n return `X Ads: ${draft.count} change${draft.count === 1 ? \"\" : \"s\"} ${heading}`;\n }\n const applied = draft.ops.filter(didApply).length;\n const failed = draft.ops.filter(didNotApply).length;\n return `X Ads: ${heading} · ${applied} applied${failed > 0 ? `, ${failed} failed` : \"\"}`;\n}\n\nfunction problemLines(draft: XDraftListResponse): string[] {\n return draft.ops.filter(didNotApply).map((op) => {\n const reason =\n op.result?.error ?? `skipped: waiting on ${op.result?.skippedBecause ?? \"a change that did not apply\"}`;\n return `✗ ${op.summary} — failed: ${reason}`;\n });\n}\n\nexport function renderDraftStatus(draft: XDraftListResponse): string {\n if (draft.status === \"none\" || draft.count === 0) {\n return NO_CHANGES;\n }\n const out: string[] = [headingLine(draft), \"\"];\n const tree = draft.tree ?? [];\n const showAccount = accountsInTree(tree).size > 1;\n for (const node of tree) {\n renderNode(node, 0, showAccount, out);\n }\n const problems = problemLines(draft);\n if (problems.length > 0) {\n out.push(\"\", ...problems);\n }\n return out.join(\"\\n\");\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,307 @@
1
+ import {
2
+ loadPatchArg,
3
+ requireTarget
4
+ } from "./chunk-NA63BH7V.js";
5
+ import {
6
+ handleLinkedinError
7
+ } from "./chunk-N4LAYIIN.js";
8
+ import "./chunk-T4DD5YMP.js";
9
+ import "./chunk-4NZ47VXO.js";
10
+ import {
11
+ hintLines
12
+ } from "./chunk-D5FY4FAK.js";
13
+ import "./chunk-F2S5BLPE.js";
14
+ import {
15
+ writeJsonEnvelope
16
+ } from "./chunk-VFIOJD5M.js";
17
+ import "./chunk-WTOYCUKH.js";
18
+ import "./chunk-DZSIUEGH.js";
19
+ import "./chunk-VAJBWA2U.js";
20
+ import "./chunk-HRYOZUSK.js";
21
+ import "./chunk-VVZBBKRC.js";
22
+ import "./chunk-YBMVHGY3.js";
23
+ import {
24
+ CHAT_READ_ARG
25
+ } from "./chunk-PFBQERWX.js";
26
+ import "./chunk-7EPXVICM.js";
27
+ import "./chunk-GXDLWBOY.js";
28
+ import "./chunk-TEINLN64.js";
29
+ import "./chunk-ZJWUBJYQ.js";
30
+ import "./chunk-HR6IWNKE.js";
31
+ import "./chunk-NE4F3FHN.js";
32
+ import {
33
+ apiPost
34
+ } from "./chunk-XBOK23HI.js";
35
+ import "./chunk-IFWP3ZDO.js";
36
+ import {
37
+ requireChatId,
38
+ resolveChatId
39
+ } from "./chunk-NAWWC5I3.js";
40
+ import "./chunk-NU7JSWVA.js";
41
+ import "./chunk-YQSBHWOI.js";
42
+
43
+ // src/commands/ads/linkedin/draft.ts
44
+ import { defineCommand } from "citty";
45
+
46
+ // src/commands/ads/linkedin/draft-status.ts
47
+ var OPERATION_LABELS = {
48
+ create: "Creating",
49
+ update: "Updating",
50
+ pause: "Pausing",
51
+ resume: "Resuming",
52
+ archive: "Archiving"
53
+ };
54
+ function badge(node) {
55
+ const label = node.operation ? OPERATION_LABELS[node.operation] : void 0;
56
+ if (label) {
57
+ return label;
58
+ }
59
+ return node.existing ? "on LinkedIn" : "staged";
60
+ }
61
+ function collectionLine(collection) {
62
+ const parts = [];
63
+ if (collection.added > 0) {
64
+ parts.push(`+${collection.added}`);
65
+ }
66
+ if (collection.existing > 0) {
67
+ parts.push(`${collection.existing} existing`);
68
+ }
69
+ if (collection.removed > 0) {
70
+ parts.push(`-${collection.removed}`);
71
+ }
72
+ return parts.length > 0 ? `${collection.label}: ${parts.join(", ")}` : void 0;
73
+ }
74
+ function accountsInTree(nodes) {
75
+ const accounts = /* @__PURE__ */ new Set();
76
+ const walk = (node) => {
77
+ accounts.add(node.accountId);
78
+ for (const child of node.children) {
79
+ walk(child);
80
+ }
81
+ };
82
+ for (const node of nodes) {
83
+ walk(node);
84
+ }
85
+ return accounts;
86
+ }
87
+ function renderNode(node, depth, lines, showAccount) {
88
+ const indent = " ".repeat(depth);
89
+ const account = showAccount ? ` \xB7 account ${node.accountId}` : "";
90
+ lines.push(`${indent}\u2022 ${node.name} \xB7 ${badge(node)}${account}`);
91
+ for (const warning of node.warnings ?? []) {
92
+ lines.push(`${indent} \u26A0 ${warning}`);
93
+ }
94
+ for (const collection of node.collections) {
95
+ const line = collectionLine(collection);
96
+ if (line) {
97
+ lines.push(`${indent} ${line}`);
98
+ }
99
+ }
100
+ for (const child of node.children) {
101
+ renderNode(child, depth + 1, lines, showAccount);
102
+ }
103
+ }
104
+ function renderSection(title, nodes, lines, showAccount) {
105
+ if (nodes.length === 0) {
106
+ return;
107
+ }
108
+ lines.push("");
109
+ lines.push(title);
110
+ for (const node of nodes) {
111
+ renderNode(node, 1, lines, showAccount);
112
+ }
113
+ }
114
+ var CAMPAIGN_TREE_ENTITIES = /* @__PURE__ */ new Set(["campaignGroup", "campaign", "creative"]);
115
+ function renderOutcome(data, lines) {
116
+ const counts = /* @__PURE__ */ new Map();
117
+ for (const op of data.ops ?? []) {
118
+ const status = op.result?.status ?? "pending";
119
+ counts.set(status, (counts.get(status) ?? 0) + 1);
120
+ }
121
+ const summary = [...counts].map(([status, count]) => `${count} ${status}`).join(", ");
122
+ lines.push(`LinkedIn Ads \u2014 published \xB7 ${summary || `${data.count} op(s)`} \xB7 ${data.mode}`);
123
+ for (const op of data.ops ?? []) {
124
+ const status = op.result?.status;
125
+ if (status === "applied" && op.result?.error) {
126
+ lines.push(` \u26A0 ${op.summary} \u2014 applied in part: ${op.result.error}`);
127
+ continue;
128
+ }
129
+ if (status !== "failed" && status !== "skipped") {
130
+ continue;
131
+ }
132
+ const reason = op.result?.error ?? op.result?.skippedBecause ?? "no reason recorded";
133
+ lines.push(` \u2717 ${op.summary} \u2014 ${status}: ${reason}`);
134
+ }
135
+ }
136
+ function renderDraftStatus(data) {
137
+ if (data.status === "none" || data.count === 0) {
138
+ return "No staged LinkedIn changes on this chat.";
139
+ }
140
+ const modeNote = data.mode === "live" ? "Live \u2014 publishing writes directly to LinkedIn." : "Simulated \u2014 publishing completes the whole draft without calling LinkedIn.";
141
+ const lines = [];
142
+ if (data.status === "applied") {
143
+ renderOutcome(data, lines);
144
+ } else if (data.status === "publishing") {
145
+ lines.push(`LinkedIn Ads \u2014 publishing ${data.count} change${data.count === 1 ? "" : "s"} \xB7 ${data.mode}`);
146
+ } else {
147
+ lines.push(`LinkedIn Ads \u2014 ${data.count} staged change${data.count === 1 ? "" : "s"} \xB7 ${data.mode}`);
148
+ }
149
+ lines.push(modeNote);
150
+ const tree = data.tree ?? [];
151
+ const showAccount = accountsInTree(tree).size > 1;
152
+ renderSection(
153
+ "Campaigns",
154
+ tree.filter((node) => CAMPAIGN_TREE_ENTITIES.has(node.entity)),
155
+ lines,
156
+ showAccount
157
+ );
158
+ const rest = tree.filter((node) => !CAMPAIGN_TREE_ENTITIES.has(node.entity));
159
+ renderSection("Other", rest, lines, showAccount);
160
+ return lines.join("\n");
161
+ }
162
+
163
+ // src/commands/ads/linkedin/draft.ts
164
+ async function listDraft(json, chat) {
165
+ try {
166
+ const chatId = resolveChatId(chat);
167
+ const response = await apiPost("/api/ads/linkedin/draft", {
168
+ chatId
169
+ });
170
+ if (json || !response.ok || !response.data) {
171
+ writeJsonEnvelope(response);
172
+ return;
173
+ }
174
+ process.stdout.write(`${renderDraftStatus(response.data)}${hintLines(response)}
175
+ `);
176
+ } catch (err) {
177
+ handleLinkedinError(err);
178
+ }
179
+ }
180
+ var listCommand = defineCommand({
181
+ meta: {
182
+ name: "list",
183
+ description: "Review everything staged as a Campaign group \u25B8 Campaign \u25B8 Creative tree (--json for the raw envelope). Example: baker ads linkedin draft"
184
+ },
185
+ args: {
186
+ json: { type: "boolean", description: "Print the raw JSON envelope instead of the readable tree" },
187
+ chat: CHAT_READ_ARG
188
+ },
189
+ run: async ({ args }) => {
190
+ await listDraft(args.json === true, args.chat);
191
+ }
192
+ });
193
+ var removeCommand = defineCommand({
194
+ meta: {
195
+ name: "remove",
196
+ description: "Drop one staged LinkedIn op. Removing a create cascades to everything that depends on it \u2014 except a company exclusion, which only loses the removed audience and keeps its companies (listed under `updated`). Example: baker ads linkedin draft remove li_temp_abc123"
197
+ },
198
+ args: {
199
+ ref: {
200
+ type: "positional",
201
+ description: "Op ref (li_temp_* for creates, target id/URN for updates)",
202
+ required: true
203
+ }
204
+ },
205
+ run: async ({ args }) => {
206
+ try {
207
+ const chatId = requireChatId();
208
+ const response = await apiPost(
209
+ "/api/ads/linkedin/draft/remove",
210
+ { chatId, ref: args.ref }
211
+ );
212
+ writeJsonEnvelope(response);
213
+ } catch (err) {
214
+ handleLinkedinError(err);
215
+ }
216
+ }
217
+ });
218
+ var clearCommand = defineCommand({
219
+ meta: {
220
+ name: "clear",
221
+ description: "Discard ALL staged LinkedIn ops in this chat's draft \u2014 nothing will apply on publish. Example: baker ads linkedin draft clear"
222
+ },
223
+ run: async () => {
224
+ try {
225
+ const chatId = requireChatId();
226
+ const response = await apiPost("/api/ads/linkedin/draft/clear", {
227
+ chatId
228
+ });
229
+ writeJsonEnvelope(response);
230
+ } catch (err) {
231
+ handleLinkedinError(err);
232
+ }
233
+ }
234
+ });
235
+ var amendCommand = defineCommand({
236
+ meta: {
237
+ name: "amend",
238
+ description: "Update a staged op in place \u2014 merges a JSON patch into its payload (RFC-7386: objects deep-merge, null deletes a key, arrays/scalars replace) and re-validates. Use this instead of remove + re-create."
239
+ },
240
+ args: {
241
+ ref: { type: "positional", description: "Staged op ref (li_temp_*) or target id/URN", required: true },
242
+ file: { type: "string", description: "JSON file with the patch object" },
243
+ patch: { type: "string", description: "Inline JSON patch object" }
244
+ },
245
+ run: async ({ args }) => {
246
+ const ref = requireTarget(args, "op");
247
+ const patch = loadPatchArg(args);
248
+ try {
249
+ const chatId = requireChatId();
250
+ const body = { chatId, ref, patch };
251
+ const response = await apiPost(
252
+ "/api/ads/linkedin/draft/amend",
253
+ body
254
+ );
255
+ writeJsonEnvelope(response);
256
+ } catch (err) {
257
+ handleLinkedinError(err);
258
+ }
259
+ }
260
+ });
261
+ var showCommand = defineCommand({
262
+ meta: {
263
+ name: "show",
264
+ description: "Print the full staged payload for one op \u2014 the receipt to verify a change looks right before publish (never truncated)."
265
+ },
266
+ args: {
267
+ ref: { type: "positional", description: "Staged op ref (li_temp_*) or target id/URN", required: true },
268
+ chat: CHAT_READ_ARG
269
+ },
270
+ run: async ({ args }) => {
271
+ const ref = requireTarget(args, "op");
272
+ try {
273
+ const chatId = resolveChatId(args.chat);
274
+ const body = { chatId, ref };
275
+ const response = await apiPost(
276
+ "/api/ads/linkedin/draft/show",
277
+ body
278
+ );
279
+ writeJsonEnvelope(response);
280
+ } catch (err) {
281
+ handleLinkedinError(err);
282
+ }
283
+ }
284
+ });
285
+ var linkedinDraftCommand = defineCommand({
286
+ meta: {
287
+ name: "draft",
288
+ description: "Review and edit the LinkedIn write ops staged in this chat BEFORE publish. Subcommands: list (default), remove, clear, amend, show. Ops never hit LinkedIn until the chat is published. `list` and `show` take --chat <id> to read an earlier chat's changes instead."
289
+ },
290
+ // Declared on the parent too: `default: "list"` dispatches the bare `draft --chat <id>` form, and
291
+ // citty prints help for a flag the parent does not know instead of forwarding it.
292
+ args: { chat: CHAT_READ_ARG },
293
+ subCommands: {
294
+ list: listCommand,
295
+ remove: removeCommand,
296
+ clear: clearCommand,
297
+ amend: amendCommand,
298
+ show: showCommand
299
+ },
300
+ // A parent must never declare `run`: citty falls through to it *after* running
301
+ // the matched subcommand, so `draft show <ref>` would also re-list the draft.
302
+ default: "list"
303
+ });
304
+ export {
305
+ linkedinDraftCommand
306
+ };
307
+ //# sourceMappingURL=draft-Q546QPPU.js.map