@koda-sl/baker-cli 0.553.0 → 0.555.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.
- package/README.md +8 -4
- package/dist/account-H5CL6KUY.js +82 -0
- package/dist/account-assets-QMKT5AT7.js +290 -0
- package/dist/account-level-BELF6JHB.js +611 -0
- package/dist/account-reads-T6GTSAXE.js +219 -0
- package/dist/account-users-ZGJCVGX4.js +64 -0
- package/dist/accounts-EXQNPSYH.js +701 -0
- package/dist/accounts-GNVLFZ3X.js +80 -0
- package/dist/actions-Q2BMP27K.js +55 -0
- package/dist/activecampaign-SJO2YK6M.js +938 -0
- package/dist/add-Q3FGYX5Q.js +305 -0
- package/dist/add-YGQBSEVK.js +107 -0
- package/dist/ads-7QKQEHKT.js +48 -0
- package/dist/ads-H5AEYIY3.js +120 -0
- package/dist/adsets-BUIT7HF2.js +182 -0
- package/dist/advertisers-ZAHXMIAT.js +123 -0
- package/dist/analytics-B6ER4TQ7.js +2437 -0
- package/dist/analytics-QW5ZXDJR.js +447 -0
- package/dist/animate-Q43SOWB4.js +480 -0
- package/dist/asset-writes-JVFE457M.js +50 -0
- package/dist/assign-HJ2NXW4W.js +80 -0
- package/dist/audience-size-IM3N6W7C.js +76 -0
- package/dist/audience-writes-DWSCHYQF.js +327 -0
- package/dist/audiences-PYBJU2GV.js +106 -0
- package/dist/audit-N3LAQMD4.js +154 -0
- package/dist/autocomplete-FBTPT5MA.js +114 -0
- package/dist/avatars-Y3DALQIU.js +38 -0
- package/dist/bid-pricing-UUAC4GTQ.js +103 -0
- package/dist/brand-IZYD5SBJ.js +22 -0
- package/dist/brief-NA3E2W4P.js +543 -0
- package/dist/campaign-groups-3IUOLEK2.js +99 -0
- package/dist/campaign-writes-Y7QNFOE7.js +168 -0
- package/dist/campaigns-2Z6WXIVA.js +130 -0
- package/dist/campaigns-B2AUW4TV.js +111 -0
- package/dist/campaigns-IDEA3LOK.js +113 -0
- package/dist/canvas-WHFDCHUP.js +46 -0
- package/dist/capabilities-FVMMLKPY.js +147 -0
- package/dist/catalog-URTZYAPU.js +66 -0
- package/dist/catalogs-OEUNVE4N.js +782 -0
- package/dist/chatgpt-YBHXCXWZ.js +47 -0
- package/dist/chats-EENMDXWZ.js +449 -0
- package/dist/check-7735BPTR.js +107 -0
- package/dist/chunk-2QGGI7MF.js +831 -0
- package/dist/chunk-3HKZU3Y5.js +19 -0
- package/dist/chunk-3OMFSYQ3.js +344 -0
- package/dist/chunk-4N3Y5QWW.js +29 -0
- package/dist/chunk-4N3Y5QWW.js.map +1 -0
- package/dist/chunk-65CQYRMK.js +98 -0
- package/dist/chunk-6MZFOMLU.js +225 -0
- package/dist/chunk-6PT22YSR.js +91 -0
- package/dist/chunk-6WVYBY2G.js +8954 -0
- package/dist/chunk-757ZFIL4.js +910 -0
- package/dist/chunk-75HAGIH6.js +61 -0
- package/dist/chunk-7BVRFQN4.js +430 -0
- package/dist/chunk-7TDJCDKT.js +163 -0
- package/dist/chunk-AL4MRNYI.js +709 -0
- package/dist/chunk-BMNOMOWP.js +156 -0
- package/dist/chunk-BS2MC62Y.js +203 -0
- package/dist/chunk-C6PWVZQE.js +103 -0
- package/dist/chunk-CDTAKCJR.js +178 -0
- package/dist/chunk-CH44XVPE.js +142 -0
- package/dist/chunk-CJWLDKFO.js +494 -0
- package/dist/chunk-DAMC4FKK.js +224 -0
- package/dist/chunk-DSDI5DY3.js +115 -0
- package/dist/chunk-DSDI5DY3.js.map +1 -0
- package/dist/chunk-DWPOAU4Z.js +5471 -0
- package/dist/chunk-EENYLJUN.js +225 -0
- package/dist/chunk-EJBLF2LI.js +167 -0
- package/dist/chunk-EJMPKO6V.js +287 -0
- package/dist/chunk-EKXLJRO3.js +197 -0
- package/dist/chunk-EL3TDR5S.js +1744 -0
- package/dist/chunk-GRDZWZKQ.js +249 -0
- package/dist/chunk-GVUBRSD3.js +51 -0
- package/dist/chunk-GYREQDTJ.js +392 -0
- package/dist/chunk-HBRXFQQV.js +3510 -0
- package/dist/chunk-HLHR3EK2.js +23 -0
- package/dist/chunk-IMFIRELA.js +547 -0
- package/dist/chunk-IOKD77L2.js +89 -0
- package/dist/chunk-KDAINT54.js +131 -0
- package/dist/chunk-KKKZRQFY.js +297 -0
- package/dist/chunk-KOEXPN3G.js +2209 -0
- package/dist/chunk-KT5JVIPZ.js +91 -0
- package/dist/chunk-LC6PVPJX.js +76 -0
- package/dist/chunk-LETR3RQE.js +275 -0
- package/dist/chunk-MKLAZD23.js +7857 -0
- package/dist/chunk-MKLAZD23.js.map +1 -0
- package/dist/chunk-N3PASNUA.js +136 -0
- package/dist/chunk-NL77JRKE.js +170 -0
- package/dist/chunk-OBQ5YUOZ.js +1902 -0
- package/dist/chunk-OTFHIGEO.js +207 -0
- package/dist/chunk-PCUWBZM3.js +169 -0
- package/dist/chunk-PNWXTOQ4.js +455 -0
- package/dist/chunk-PQFTKHDA.js +479 -0
- package/dist/chunk-Q5DFEVLE.js +148 -0
- package/dist/chunk-QXCGWAC6.js +399 -0
- package/dist/chunk-RKDMYL4A.js +438 -0
- package/dist/chunk-SCBSAIVV.js +392 -0
- package/dist/chunk-SPBUE7R4.js +685 -0
- package/dist/chunk-TWFZIHKK.js +219 -0
- package/dist/chunk-U6G6ALXP.js +66 -0
- package/dist/chunk-UCJAPB5Y.js +334 -0
- package/dist/chunk-VFDWUIGR.js +57 -0
- package/dist/chunk-WC3YSN7L.js +604 -0
- package/dist/chunk-WIOPEK7K.js +930 -0
- package/dist/chunk-X3GWGFZP.js +5368 -0
- package/dist/chunk-X6U3B6YK.js +343 -0
- package/dist/chunk-X6U3B6YK.js.map +1 -0
- package/dist/chunk-XYKODRQR.js +191 -0
- package/dist/chunk-XZAVBONI.js +64 -0
- package/dist/chunk-Y5PNLB24.js +84 -0
- package/dist/claim-PGDIRXIC.js +200 -0
- package/dist/cli.js +34 -34
- package/dist/companies-WTPKGEB3.js +198 -0
- package/dist/company-6H2H73YP.js +308 -0
- package/dist/complete-2QBC3POO.js +84 -0
- package/dist/connect-35YPFAUL.js +45 -0
- package/dist/conversation-YZFNEWDV.js +96 -0
- package/dist/conversion-upload-command-J2FIO74Y.js +439 -0
- package/dist/conversions-ZFDBD3OU.js +140 -0
- package/dist/copy-writes-2B36QJUY.js +170 -0
- package/dist/create-3H67EUTO.js +62 -0
- package/dist/create-ALTOBDP4.js +239 -0
- package/dist/create-C3MWUYX2.js +210 -0
- package/dist/create-WHTT6IXY.js +135 -0
- package/dist/creatives-22BYP5VN.js +118 -0
- package/dist/creatives-LTIV3XPT.js +58 -0
- package/dist/creatives-Y2WLGDJW.js +223 -0
- package/dist/credentials-J5DMQJWN.js +290 -0
- package/dist/critique-RFTS2I46.js +232 -0
- package/dist/critique-X6XVPIUG.js +1451 -0
- package/dist/crm-LWRGJYHW.js +227 -0
- package/dist/crm-RUNEJY2R.js +323 -0
- package/dist/crop-4V4P3SKI.js +113 -0
- package/dist/custom-conversions-V7QPZIB4.js +128 -0
- package/dist/customers-IDB6NLQ6.js +65 -0
- package/dist/delete-2QKVUKKB.js +67 -0
- package/dist/delete-B7BKF24X.js +57 -0
- package/dist/delete-HBRYUWAA.js +69 -0
- package/dist/demographics-JHB3NFLU.js +141 -0
- package/dist/dimensions-KI3OENZD.js +101 -0
- package/dist/discard-FEJ6YL22.js +69 -0
- package/dist/domain-JYWNXBKS.js +101 -0
- package/dist/download-H3ZDQTFG.js +337 -0
- package/dist/download-H3ZDQTFG.js.map +1 -0
- package/dist/download-LOBPOIU5.js +172 -0
- package/dist/draft-2JVWCYRF.js +134 -0
- package/dist/draft-2JVWCYRF.js.map +1 -0
- package/dist/draft-4WMYCA7I.js +315 -0
- package/dist/draft-4WMYCA7I.js.map +1 -0
- package/dist/draft-7VGBJIJU.js +260 -0
- package/dist/draft-7VGBJIJU.js.map +1 -0
- package/dist/draft-DR5BJK7V.js +138 -0
- package/dist/draft-DR5BJK7V.js.map +1 -0
- package/dist/draft-EB5ZFDVN.js +557 -0
- package/dist/draft-EB5ZFDVN.js.map +1 -0
- package/dist/draft-I2FLECEX.js +220 -0
- package/dist/draft-N56HPS36.js +374 -0
- package/dist/draft-N56HPS36.js.map +1 -0
- package/dist/draft-ZLZRTPY6.js +332 -0
- package/dist/draft-ZLZRTPY6.js.map +1 -0
- package/dist/engine/index.js +5 -5
- package/dist/experiments-WVTBHD6G.js +236 -0
- package/dist/extract-UELZV3NI.js +142 -0
- package/dist/extract-UELZV3NI.js.map +1 -0
- package/dist/facets-V2ITIUKD.js +117 -0
- package/dist/feedback-PXWPR3NZ.js +136 -0
- package/dist/feedback-QSIPSNAL.js +115 -0
- package/dist/feedback-record-DJHJWJAF.js +269 -0
- package/dist/fetch-QVOOC3FA.js +204 -0
- package/dist/fit-REGMM46H.js +65 -0
- package/dist/flows-EZV3KCV6.js +250 -0
- package/dist/fonts-NUX66HEI.js +39 -0
- package/dist/forecast-W6HKYVX5.js +121 -0
- package/dist/forecast-XDRKCR65.js +169 -0
- package/dist/funnel-3YABA3G2.js +397 -0
- package/dist/ga4-IJ2UUICC.js +55 -0
- package/dist/generate-22HT24SA.js +263 -0
- package/dist/get-GQQLBE5C.js +82 -0
- package/dist/get-NL3YZFUJ.js +62 -0
- package/dist/google-BPB5JLJG.js +162 -0
- package/dist/google-BPB5JLJG.js.map +1 -0
- package/dist/google-UJ4YJGTJ.js +3285 -0
- package/dist/google-ads-RRKKSKDD.js +198 -0
- package/dist/history-2UANIBRN.js +102 -0
- package/dist/history-YZ727ZRG.js +153 -0
- package/dist/hubspot-KWLXJ6QD.js +782 -0
- package/dist/ideas-ZO533P5Y.js +45 -0
- package/dist/images-VUWUKGD6.js +92 -0
- package/dist/ingest-C2HJ5LUY.js +27 -0
- package/dist/ingest-H53JR4GK.js +123 -0
- package/dist/inspect-BM6GJHQV.js +192 -0
- package/dist/instant-experiences-U6U3FYIH.js +264 -0
- package/dist/keyword-metrics-R2QCEDYW.js +200 -0
- package/dist/keywords-for-site-NBV72C3W.js +131 -0
- package/dist/landing-L3WDTW4D.js +28 -0
- package/dist/leads-6PF7ZWCH.js +115 -0
- package/dist/leads-IG3IIHXG.js +541 -0
- package/dist/learn-V2LIBEEY.js +207 -0
- package/dist/line-item-writes-GMNWL4DI.js +211 -0
- package/dist/line-items-KPIKXLG4.js +107 -0
- package/dist/link-X7IYKR5V.js +67 -0
- package/dist/linkedin-RONIUYLJ.js +1330 -0
- package/dist/linkedin-RONIUYLJ.js.map +1 -0
- package/dist/linkedin-person-47XFTBIN.js +139 -0
- package/dist/list-PHNA7QIF.js +154 -0
- package/dist/list-QF3BANBM.js +306 -0
- package/dist/list-SB3SUTH6.js +67 -0
- package/dist/log-JFLSSUJ6.js +95 -0
- package/dist/make-ZIJQZD5K.js +1367 -0
- package/dist/map-NYJT2MGI.js +436 -0
- package/dist/mcp-ABQEICYR.js +729 -0
- package/dist/media-AT3VV3PU.js +18 -0
- package/dist/media-sources-L4BI7HFL.js +35 -0
- package/dist/members-BX37KHKO.js +47 -0
- package/dist/meta-2GJZPVKM.js +122 -0
- package/dist/normalize-M3VMWF4W.js +806 -0
- package/dist/normalize-MA2FBBIV.js +144 -0
- package/dist/options-NMWWF2HN.js +125 -0
- package/dist/organization-GRAA6ZXU.js +949 -0
- package/dist/page-photos-ABK4CJME.js +118 -0
- package/dist/performance-MQLRSH44.js +5565 -0
- package/dist/performance-RUBIGEAQ.js +27 -0
- package/dist/promoted-tweet-writes-3P6QFGLN.js +183 -0
- package/dist/promoted-tweets-TGFPH7UI.js +119 -0
- package/dist/publish-OUVO65Z5.js +344 -0
- package/dist/reddit-HWQCUSEM.js +29 -0
- package/dist/refresh-ENQDQGTK.js +97 -0
- package/dist/release-ZTVXLUQS.js +63 -0
- package/dist/remove-XAFRT7O7.js +53 -0
- package/dist/reopen-SWSZHXJZ.js +66 -0
- package/dist/rerun-MA2GB6WL.js +96 -0
- package/dist/research-TDH4OBX6.js +265 -0
- package/dist/research-WWJUNYSJ.js +75 -0
- package/dist/reset-34HTKUBQ.js +57 -0
- package/dist/reset-KMMGLM7W.js +57 -0
- package/dist/resolve-2CIIKADD.js +124 -0
- package/dist/retry-V7KZIZKR.js +63 -0
- package/dist/retry-YXM23NSB.js +65 -0
- package/dist/revenue-D4L6U2CW.js +91 -0
- package/dist/rule-writes-HUBHHYEO.js +530 -0
- package/dist/rules-47LFGCPW.js +217 -0
- package/dist/rules-F6RNUOXP.js +99 -0
- package/dist/rules-add-SAQRESVK.js +465 -0
- package/dist/run-FRPO2WNQ.js +69 -0
- package/dist/run-HENSSAQW.js +71 -0
- package/dist/scaffold-ad-QQBCUYUO.js +1513 -0
- package/dist/scaffold-static-ad-WUOAQEXS.js +1011 -0
- package/dist/scaffold-video-KFQAKQUO.js +885 -0
- package/dist/schedule-S4XAVVEI.js +64 -0
- package/dist/scheduled-agents-ZWAP6QLC.js +55 -0
- package/dist/schema-EJ2XPUN6.js +135 -0
- package/dist/search-2BAY3KKX.js +177 -0
- package/dist/select-K2SXPDDJ.js +110 -0
- package/dist/set-prompt-BZFOV3EB.js +199 -0
- package/dist/setup-links-QT63UZBR.js +144 -0
- package/dist/shopify-Q7TQIQ6N.js +4009 -0
- package/dist/shopify-Q7TQIQ6N.js.map +1 -0
- package/dist/site-S6QVMP7W.js +180 -0
- package/dist/sources-DTQ4NQAM.js +30 -0
- package/dist/sources-ORG5KQSW.js +457 -0
- package/dist/stale-5O7BQVTN.js +90 -0
- package/dist/status-4G2YUCZR.js +65 -0
- package/dist/stock-5SQ2PGEC.js +211 -0
- package/dist/stock-5SQ2PGEC.js.map +1 -0
- package/dist/studies-QLSKON6M.js +250 -0
- package/dist/studio-IDXFTGHP.js +49 -0
- package/dist/study-writes-GBUUKX4O.js +471 -0
- package/dist/sync-7LJZPHM3.js +57 -0
- package/dist/sync-definition-Q3XUSEZJ.js +70 -0
- package/dist/tag-manager-5WZPX2FJ.js +43 -0
- package/dist/tags-2ARVNEYS.js +23 -0
- package/dist/tags-F4IT7RQR.js +23 -0
- package/dist/tags-F7ZO52EM.js +23 -0
- package/dist/tags-NBGGBHXR.js +227 -0
- package/dist/tags-TCSGQYDR.js +26 -0
- package/dist/targeting-DAUTJDUB.js +762 -0
- package/dist/targeting-criteria-H42LRULY.js +113 -0
- package/dist/targets-WB4E5XL2.js +106 -0
- package/dist/testimonials-KLF3Y4QO.js +32 -0
- package/dist/themes-BGBDYQQK.js +95 -0
- package/dist/top-companies-C2W5TJ7G.js +111 -0
- package/dist/transcript-S7VR2GJE.js +165 -0
- package/dist/translate-CBITGC7C.js +603 -0
- package/dist/triggers-EOKMR74O.js +144 -0
- package/dist/unlink-PC3TMWUT.js +70 -0
- package/dist/unstage-SU2ATDSZ.js +88 -0
- package/dist/update-DKX3EEES.js +155 -0
- package/dist/update-JYZ45YJG.js +66 -0
- package/dist/update-TAZSUOAS.js +192 -0
- package/dist/update-WRJUH2NM.js +101 -0
- package/dist/upload-BLXTMK5Q.js +130 -0
- package/dist/url-params-YVOFU6MK.js +101 -0
- package/dist/validate-SAQEORZY.js +125 -0
- package/dist/videos-GOIDZVVD.js +41 -0
- package/dist/viewer-check-KTRRUVZN.js +83 -0
- package/dist/web-6KUM7Q7S.js +173 -0
- package/dist/winning-ads-LOMI72Q2.js +86 -0
- package/dist/write-commands-3U5ZMIHH.js +1524 -0
- package/dist/write-commands-F5XPPLOO.js +1169 -0
- package/dist/x-APVY4YHX.js +47 -0
- package/package.json +1 -1
- package/dist/account-XIC5TTV3.js +0 -82
- package/dist/account-assets-V7KSSTVP.js +0 -290
- package/dist/account-level-2KLG6HTG.js +0 -611
- package/dist/account-reads-ZPZUCB3P.js +0 -219
- package/dist/account-users-XTUKRDWK.js +0 -64
- package/dist/accounts-25JL77F7.js +0 -701
- package/dist/accounts-AF72N4NV.js +0 -80
- package/dist/actions-IJO4JW7J.js +0 -55
- package/dist/activecampaign-PBTUMTO5.js +0 -938
- package/dist/add-KHQXXHC5.js +0 -107
- package/dist/add-YQPFRDVM.js +0 -305
- package/dist/ads-EVQ37EV3.js +0 -120
- package/dist/ads-O5PUYU7H.js +0 -48
- package/dist/adsets-4IW5TRAK.js +0 -182
- package/dist/advertisers-JNOWSZZC.js +0 -123
- package/dist/analytics-CZMCM7XC.js +0 -2437
- package/dist/analytics-K5FCQLI5.js +0 -447
- package/dist/animate-C6BRMRRD.js +0 -480
- package/dist/asset-writes-RF6XTWLY.js +0 -50
- package/dist/assign-WXZNXVJH.js +0 -80
- package/dist/audience-size-ZCWH4CFC.js +0 -76
- package/dist/audience-writes-5KT6FHUY.js +0 -327
- package/dist/audiences-ZDOK3OYC.js +0 -106
- package/dist/audit-RBRXPPKK.js +0 -154
- package/dist/autocomplete-P5OU7QVL.js +0 -114
- package/dist/avatars-UHBA2BQ3.js +0 -38
- package/dist/bid-pricing-LHNYSDG4.js +0 -103
- package/dist/brand-7WL3O74X.js +0 -22
- package/dist/brief-HWZU75WP.js +0 -543
- package/dist/campaign-groups-BYS3GNEP.js +0 -99
- package/dist/campaign-writes-N6OHAK6V.js +0 -168
- package/dist/campaigns-2E4AQBFB.js +0 -113
- package/dist/campaigns-3U5IRXSV.js +0 -130
- package/dist/campaigns-QLKGN4FB.js +0 -111
- package/dist/canvas-GGHJ26ZM.js +0 -46
- package/dist/capabilities-TKEEHR7K.js +0 -147
- package/dist/catalog-7KQN43HS.js +0 -66
- package/dist/catalogs-5CHPI4H6.js +0 -782
- package/dist/chatgpt-RQQWU7AP.js +0 -47
- package/dist/chats-PBXYH2LT.js +0 -449
- package/dist/check-SVYI72DF.js +0 -107
- package/dist/chunk-2RL2T5JO.js +0 -142
- package/dist/chunk-3HLQZTQ3.js +0 -685
- package/dist/chunk-42JTSTQ3.js +0 -207
- package/dist/chunk-4AEAL63J.js +0 -203
- package/dist/chunk-4PM32OS3.js +0 -57
- package/dist/chunk-4ULGRGBG.js +0 -333
- package/dist/chunk-4ULGRGBG.js.map +0 -1
- package/dist/chunk-4XMPL3RU.js +0 -19
- package/dist/chunk-5AOTCCTT.js +0 -831
- package/dist/chunk-5NLUTJCQ.js +0 -5368
- package/dist/chunk-6FWVRXDW.js +0 -64
- package/dist/chunk-6MXM6DA6.js +0 -225
- package/dist/chunk-73MLPGI2.js +0 -66
- package/dist/chunk-7OVPQX4X.js +0 -163
- package/dist/chunk-B5UVOCYA.js +0 -344
- package/dist/chunk-BRNZMKO4.js +0 -604
- package/dist/chunk-CJFCQMUY.js +0 -438
- package/dist/chunk-D6VQPBVM.js +0 -5471
- package/dist/chunk-DK66PUXL.js +0 -275
- package/dist/chunk-DNH2ZPZP.js +0 -287
- package/dist/chunk-DWSSQBLO.js +0 -103
- package/dist/chunk-ESXUIV6V.js +0 -169
- package/dist/chunk-FSEFZZ2T.js +0 -930
- package/dist/chunk-I4BQTVMY.js +0 -225
- package/dist/chunk-IBBGABK2.js +0 -91
- package/dist/chunk-IC4MREQH.js +0 -219
- package/dist/chunk-IJ6NQKAT.js +0 -61
- package/dist/chunk-IZROFBH7.js +0 -167
- package/dist/chunk-J5UTL4HE.js +0 -3510
- package/dist/chunk-JBMZVC5D.js +0 -91
- package/dist/chunk-LFELUKCA.js +0 -249
- package/dist/chunk-LMOZWB4G.js +0 -98
- package/dist/chunk-LVLTWPRR.js +0 -392
- package/dist/chunk-N5AIO23H.js +0 -2209
- package/dist/chunk-NE3OMP7R.js +0 -23
- package/dist/chunk-NO52OH3Y.js +0 -156
- package/dist/chunk-NRIKX35V.js +0 -399
- package/dist/chunk-NZYWKZ3Q.js +0 -76
- package/dist/chunk-OIORUNKH.js +0 -1902
- package/dist/chunk-OKXLOLEV.js +0 -455
- package/dist/chunk-P4MXGSSJ.js +0 -178
- package/dist/chunk-PYAR343F.js +0 -479
- package/dist/chunk-QFVZIQRQ.js +0 -8954
- package/dist/chunk-QI5UKQX3.js +0 -297
- package/dist/chunk-RCNAKWK7.js +0 -7852
- package/dist/chunk-RCNAKWK7.js.map +0 -1
- package/dist/chunk-RHNNFCRY.js +0 -494
- package/dist/chunk-RJQT7QXX.js +0 -547
- package/dist/chunk-RMZLB4AH.js +0 -197
- package/dist/chunk-S4NMWYHW.js +0 -51
- package/dist/chunk-S6XZIBWV.js +0 -392
- package/dist/chunk-SFQFUQDW.js +0 -170
- package/dist/chunk-SP3MHBME.js +0 -89
- package/dist/chunk-TGT4XHLX.js +0 -131
- package/dist/chunk-VX6GTRT3.js +0 -910
- package/dist/chunk-WGJ2QEW4.js +0 -334
- package/dist/chunk-XB4NKZAQ.js +0 -136
- package/dist/chunk-XSBX3LJP.js +0 -430
- package/dist/chunk-XXBP73RV.js +0 -148
- package/dist/chunk-Y3SK6EMU.js +0 -84
- package/dist/chunk-Y4ZBNZBU.js +0 -191
- package/dist/chunk-YCAJCVW4.js +0 -224
- package/dist/chunk-ZANXEMON.js +0 -1744
- package/dist/chunk-ZMTWQDFC.js +0 -709
- package/dist/claim-Q76T3MYA.js +0 -200
- package/dist/companies-MLWRWQ73.js +0 -198
- package/dist/company-X5Z67PMK.js +0 -308
- package/dist/complete-3CFP6XVY.js +0 -84
- package/dist/connect-QXFAB4RJ.js +0 -45
- package/dist/conversation-C6K6IZTH.js +0 -96
- package/dist/conversion-upload-command-D7S5HF22.js +0 -439
- package/dist/conversions-4ILDIG3K.js +0 -140
- package/dist/copy-writes-FYXKHJDB.js +0 -170
- package/dist/create-LDQ3YHET.js +0 -62
- package/dist/create-TKOG7DNJ.js +0 -210
- package/dist/create-WFMJOZLO.js +0 -135
- package/dist/create-WQNT345R.js +0 -239
- package/dist/creatives-45SJAD3G.js +0 -118
- package/dist/creatives-E4CTMZJJ.js +0 -223
- package/dist/creatives-Q4OXNCTT.js +0 -58
- package/dist/credentials-E2AIMWKX.js +0 -290
- package/dist/critique-EWV3O3TD.js +0 -1451
- package/dist/critique-JVT6X2T3.js +0 -232
- package/dist/crm-NQH5FTK6.js +0 -227
- package/dist/crm-YGQKK76D.js +0 -323
- package/dist/crop-KV24WHOR.js +0 -113
- package/dist/custom-conversions-EJNX4MCK.js +0 -128
- package/dist/customers-YFEPJF4G.js +0 -65
- package/dist/delete-2UJVTHRE.js +0 -67
- package/dist/delete-7QAJSOCO.js +0 -69
- package/dist/delete-O4RO2HMR.js +0 -57
- package/dist/demographics-YWBHAMZ5.js +0 -141
- package/dist/dimensions-YXOXHOXW.js +0 -101
- package/dist/discard-YX4XUXG3.js +0 -69
- package/dist/domain-5R6CYVFY.js +0 -101
- package/dist/download-D2O4RYJ3.js +0 -172
- package/dist/download-SYWQXF57.js +0 -299
- package/dist/download-SYWQXF57.js.map +0 -1
- package/dist/draft-2NKXOBT6.js +0 -106
- package/dist/draft-2NKXOBT6.js.map +0 -1
- package/dist/draft-3MPADYS4.js +0 -220
- package/dist/draft-AAEGEQZZ.js +0 -247
- package/dist/draft-AAEGEQZZ.js.map +0 -1
- package/dist/draft-CRDQR5I3.js +0 -342
- package/dist/draft-CRDQR5I3.js.map +0 -1
- package/dist/draft-I63QQ7LY.js +0 -106
- package/dist/draft-I63QQ7LY.js.map +0 -1
- package/dist/draft-PO5X4UVA.js +0 -313
- package/dist/draft-PO5X4UVA.js.map +0 -1
- package/dist/draft-QCKJT7XQ.js +0 -288
- package/dist/draft-QCKJT7XQ.js.map +0 -1
- package/dist/draft-VMLXZQQX.js +0 -408
- package/dist/draft-VMLXZQQX.js.map +0 -1
- package/dist/experiments-DYNNWQRB.js +0 -236
- package/dist/extract-DWDZI35Y.js +0 -121
- package/dist/extract-DWDZI35Y.js.map +0 -1
- package/dist/facets-Y2IEM37E.js +0 -117
- package/dist/feedback-HJRVTU6C.js +0 -115
- package/dist/feedback-IVSLM5PN.js +0 -136
- package/dist/feedback-record-P7CO3IGE.js +0 -269
- package/dist/fetch-V2U5VUQZ.js +0 -204
- package/dist/fit-JDG6E46O.js +0 -65
- package/dist/flows-DP574PEX.js +0 -250
- package/dist/fonts-RMROS3LX.js +0 -39
- package/dist/forecast-AAHHVTBK.js +0 -169
- package/dist/forecast-BRXNGMGD.js +0 -121
- package/dist/funnel-FQX3DOE7.js +0 -397
- package/dist/ga4-A3HLGTSI.js +0 -55
- package/dist/generate-SYOQE3F7.js +0 -263
- package/dist/get-HMTI2IR6.js +0 -82
- package/dist/get-VFDNTZ54.js +0 -62
- package/dist/google-HWEDJ4YS.js +0 -144
- package/dist/google-HWEDJ4YS.js.map +0 -1
- package/dist/google-WH3IXXMX.js +0 -3285
- package/dist/google-ads-4DLYASRC.js +0 -198
- package/dist/history-6B6RXNV3.js +0 -102
- package/dist/history-NLZSX4BK.js +0 -153
- package/dist/hubspot-LABBRJ44.js +0 -782
- package/dist/ideas-A4ELJN23.js +0 -45
- package/dist/images-JVNT7KYM.js +0 -92
- package/dist/ingest-GQWR3RHR.js +0 -27
- package/dist/ingest-JYN2IDKV.js +0 -123
- package/dist/inspect-72DY33YD.js +0 -192
- package/dist/instant-experiences-6NTBX4SL.js +0 -264
- package/dist/keyword-metrics-GP7L2MQE.js +0 -200
- package/dist/keywords-for-site-6YWAUOKJ.js +0 -131
- package/dist/landing-EKHAZS5P.js +0 -28
- package/dist/leads-RN6RYOMU.js +0 -541
- package/dist/leads-UCXIIA5K.js +0 -115
- package/dist/learn-EJEFERQZ.js +0 -207
- package/dist/line-item-writes-IMCE2FDW.js +0 -211
- package/dist/line-items-ISUC3WDO.js +0 -107
- package/dist/link-6QL4ZVSU.js +0 -67
- package/dist/linkedin-ZOBYUBGV.js +0 -1330
- package/dist/linkedin-ZOBYUBGV.js.map +0 -1
- package/dist/linkedin-person-C24CBKCH.js +0 -139
- package/dist/list-2VNI3U7I.js +0 -154
- package/dist/list-PZD2QOZL.js +0 -67
- package/dist/list-SUXUMXPJ.js +0 -306
- package/dist/log-VLI7KQF2.js +0 -95
- package/dist/make-365ZJ25L.js +0 -1367
- package/dist/map-OEFL45WA.js +0 -436
- package/dist/mcp-NCZYQXQL.js +0 -729
- package/dist/media-WASM45QW.js +0 -18
- package/dist/media-sources-CZDK4W5Q.js +0 -35
- package/dist/members-N3PQSVQC.js +0 -47
- package/dist/meta-IRXPQRBH.js +0 -122
- package/dist/normalize-4OKUF5BJ.js +0 -806
- package/dist/normalize-6DEJPTBF.js +0 -144
- package/dist/options-OJX77MYT.js +0 -125
- package/dist/organization-URQGKFEC.js +0 -949
- package/dist/page-photos-N4S7U7FR.js +0 -118
- package/dist/performance-P5T4LJRG.js +0 -27
- package/dist/performance-SIWBDORI.js +0 -5565
- package/dist/promoted-tweet-writes-S2HP5DEI.js +0 -183
- package/dist/promoted-tweets-WZT4N5IR.js +0 -119
- package/dist/publish-EDYBQHGJ.js +0 -344
- package/dist/reddit-DEGGHR4M.js +0 -29
- package/dist/refresh-HPNJGI2U.js +0 -97
- package/dist/release-H7M37CEO.js +0 -63
- package/dist/remove-MV4YS72N.js +0 -53
- package/dist/reopen-EFW2SKOY.js +0 -66
- package/dist/rerun-OM4N74YK.js +0 -96
- package/dist/research-7YDQOKA6.js +0 -265
- package/dist/research-MHXKAQW4.js +0 -75
- package/dist/reset-HT4AGJPR.js +0 -57
- package/dist/reset-XPZQ5F4D.js +0 -57
- package/dist/resolve-RTTXEN2B.js +0 -124
- package/dist/retry-DVLVWHEK.js +0 -63
- package/dist/retry-SBGWOUQO.js +0 -65
- package/dist/revenue-KJLJ53XY.js +0 -91
- package/dist/rule-writes-DNXELESR.js +0 -530
- package/dist/rules-KCSET46P.js +0 -217
- package/dist/rules-NVKU732Z.js +0 -99
- package/dist/rules-add-KY42EHJE.js +0 -465
- package/dist/run-2LQ7XJEO.js +0 -69
- package/dist/run-M7YU6KCV.js +0 -71
- package/dist/scaffold-ad-6YPZ75YJ.js +0 -1513
- package/dist/scaffold-static-ad-UJEWTDU5.js +0 -1011
- package/dist/scaffold-video-M4VWSVJ6.js +0 -885
- package/dist/schedule-J7HZQ2EL.js +0 -64
- package/dist/scheduled-agents-IVUQUKF4.js +0 -55
- package/dist/schema-LHBKBUV7.js +0 -135
- package/dist/search-3AW52FO6.js +0 -177
- package/dist/select-STIWQ36I.js +0 -110
- package/dist/set-prompt-TODWV2F4.js +0 -199
- package/dist/setup-links-MNBD3UMH.js +0 -144
- package/dist/shopify-PVMHMVIC.js +0 -3980
- package/dist/shopify-PVMHMVIC.js.map +0 -1
- package/dist/site-ZZUKS6MQ.js +0 -180
- package/dist/sources-36MJ6T4V.js +0 -30
- package/dist/sources-GNLQHTSJ.js +0 -457
- package/dist/stale-GJN7UO3D.js +0 -90
- package/dist/status-6EGB6ORB.js +0 -65
- package/dist/stock-DJ6I3CTO.js +0 -187
- package/dist/stock-DJ6I3CTO.js.map +0 -1
- package/dist/studies-4XXCEAHH.js +0 -250
- package/dist/studio-OARORMDJ.js +0 -49
- package/dist/study-writes-J56UIIE3.js +0 -471
- package/dist/sync-QHM3LMAX.js +0 -57
- package/dist/sync-definition-YXGN6PIQ.js +0 -70
- package/dist/tag-manager-XAX5AI42.js +0 -43
- package/dist/tags-GHV5R7NI.js +0 -26
- package/dist/tags-IDWUV2FY.js +0 -227
- package/dist/tags-MBBRBZJH.js +0 -23
- package/dist/tags-MQYF2JHQ.js +0 -23
- package/dist/tags-ZGXJHATH.js +0 -23
- package/dist/targeting-KJ4DI56R.js +0 -762
- package/dist/targeting-criteria-GDCXOAUD.js +0 -113
- package/dist/targets-MYHOPAYY.js +0 -106
- package/dist/testimonials-R6RFGAKP.js +0 -32
- package/dist/themes-LHVXXVTX.js +0 -95
- package/dist/top-companies-POTV3Y2A.js +0 -111
- package/dist/transcript-4RVYKDVZ.js +0 -165
- package/dist/translate-UCASCVMN.js +0 -603
- package/dist/triggers-XHMMOZJK.js +0 -144
- package/dist/unlink-3IW3EORE.js +0 -70
- package/dist/unstage-APVF6KHB.js +0 -88
- package/dist/update-2VSJH4LQ.js +0 -66
- package/dist/update-42QYBUE3.js +0 -101
- package/dist/update-ESK6PSME.js +0 -192
- package/dist/update-V7SRDGHN.js +0 -155
- package/dist/upload-42IR5RIL.js +0 -130
- package/dist/url-params-GEESXN57.js +0 -101
- package/dist/validate-Z5SSEUES.js +0 -125
- package/dist/videos-PJAPZPOT.js +0 -41
- package/dist/viewer-check-6M34VY7K.js +0 -83
- package/dist/web-PUVVFMV3.js +0 -173
- package/dist/winning-ads-ZCP4MIEQ.js +0 -86
- package/dist/write-commands-5LEEPKA7.js +0 -1169
- package/dist/write-commands-ZS4O4DSV.js +0 -1524
- package/dist/x-2IZMW46M.js +0 -47
- /package/dist/{account-XIC5TTV3.js.map → account-H5CL6KUY.js.map} +0 -0
- /package/dist/{account-assets-V7KSSTVP.js.map → account-assets-QMKT5AT7.js.map} +0 -0
- /package/dist/{account-level-2KLG6HTG.js.map → account-level-BELF6JHB.js.map} +0 -0
- /package/dist/{account-reads-ZPZUCB3P.js.map → account-reads-T6GTSAXE.js.map} +0 -0
- /package/dist/{account-users-XTUKRDWK.js.map → account-users-ZGJCVGX4.js.map} +0 -0
- /package/dist/{accounts-25JL77F7.js.map → accounts-EXQNPSYH.js.map} +0 -0
- /package/dist/{accounts-AF72N4NV.js.map → accounts-GNVLFZ3X.js.map} +0 -0
- /package/dist/{actions-IJO4JW7J.js.map → actions-Q2BMP27K.js.map} +0 -0
- /package/dist/{activecampaign-PBTUMTO5.js.map → activecampaign-SJO2YK6M.js.map} +0 -0
- /package/dist/{add-YQPFRDVM.js.map → add-Q3FGYX5Q.js.map} +0 -0
- /package/dist/{add-KHQXXHC5.js.map → add-YGQBSEVK.js.map} +0 -0
- /package/dist/{ads-O5PUYU7H.js.map → ads-7QKQEHKT.js.map} +0 -0
- /package/dist/{ads-EVQ37EV3.js.map → ads-H5AEYIY3.js.map} +0 -0
- /package/dist/{adsets-4IW5TRAK.js.map → adsets-BUIT7HF2.js.map} +0 -0
- /package/dist/{advertisers-JNOWSZZC.js.map → advertisers-ZAHXMIAT.js.map} +0 -0
- /package/dist/{analytics-CZMCM7XC.js.map → analytics-B6ER4TQ7.js.map} +0 -0
- /package/dist/{analytics-K5FCQLI5.js.map → analytics-QW5ZXDJR.js.map} +0 -0
- /package/dist/{animate-C6BRMRRD.js.map → animate-Q43SOWB4.js.map} +0 -0
- /package/dist/{asset-writes-RF6XTWLY.js.map → asset-writes-JVFE457M.js.map} +0 -0
- /package/dist/{assign-WXZNXVJH.js.map → assign-HJ2NXW4W.js.map} +0 -0
- /package/dist/{audience-size-ZCWH4CFC.js.map → audience-size-IM3N6W7C.js.map} +0 -0
- /package/dist/{audience-writes-5KT6FHUY.js.map → audience-writes-DWSCHYQF.js.map} +0 -0
- /package/dist/{audiences-ZDOK3OYC.js.map → audiences-PYBJU2GV.js.map} +0 -0
- /package/dist/{audit-RBRXPPKK.js.map → audit-N3LAQMD4.js.map} +0 -0
- /package/dist/{autocomplete-P5OU7QVL.js.map → autocomplete-FBTPT5MA.js.map} +0 -0
- /package/dist/{avatars-UHBA2BQ3.js.map → avatars-Y3DALQIU.js.map} +0 -0
- /package/dist/{bid-pricing-LHNYSDG4.js.map → bid-pricing-UUAC4GTQ.js.map} +0 -0
- /package/dist/{brand-7WL3O74X.js.map → brand-IZYD5SBJ.js.map} +0 -0
- /package/dist/{brief-HWZU75WP.js.map → brief-NA3E2W4P.js.map} +0 -0
- /package/dist/{campaign-groups-BYS3GNEP.js.map → campaign-groups-3IUOLEK2.js.map} +0 -0
- /package/dist/{campaign-writes-N6OHAK6V.js.map → campaign-writes-Y7QNFOE7.js.map} +0 -0
- /package/dist/{campaigns-3U5IRXSV.js.map → campaigns-2Z6WXIVA.js.map} +0 -0
- /package/dist/{campaigns-QLKGN4FB.js.map → campaigns-B2AUW4TV.js.map} +0 -0
- /package/dist/{campaigns-2E4AQBFB.js.map → campaigns-IDEA3LOK.js.map} +0 -0
- /package/dist/{canvas-GGHJ26ZM.js.map → canvas-WHFDCHUP.js.map} +0 -0
- /package/dist/{capabilities-TKEEHR7K.js.map → capabilities-FVMMLKPY.js.map} +0 -0
- /package/dist/{catalog-7KQN43HS.js.map → catalog-URTZYAPU.js.map} +0 -0
- /package/dist/{catalogs-5CHPI4H6.js.map → catalogs-OEUNVE4N.js.map} +0 -0
- /package/dist/{chatgpt-RQQWU7AP.js.map → chatgpt-YBHXCXWZ.js.map} +0 -0
- /package/dist/{chats-PBXYH2LT.js.map → chats-EENMDXWZ.js.map} +0 -0
- /package/dist/{check-SVYI72DF.js.map → check-7735BPTR.js.map} +0 -0
- /package/dist/{chunk-5AOTCCTT.js.map → chunk-2QGGI7MF.js.map} +0 -0
- /package/dist/{chunk-4XMPL3RU.js.map → chunk-3HKZU3Y5.js.map} +0 -0
- /package/dist/{chunk-B5UVOCYA.js.map → chunk-3OMFSYQ3.js.map} +0 -0
- /package/dist/{chunk-LMOZWB4G.js.map → chunk-65CQYRMK.js.map} +0 -0
- /package/dist/{chunk-I4BQTVMY.js.map → chunk-6MZFOMLU.js.map} +0 -0
- /package/dist/{chunk-IBBGABK2.js.map → chunk-6PT22YSR.js.map} +0 -0
- /package/dist/{chunk-QFVZIQRQ.js.map → chunk-6WVYBY2G.js.map} +0 -0
- /package/dist/{chunk-VX6GTRT3.js.map → chunk-757ZFIL4.js.map} +0 -0
- /package/dist/{chunk-IJ6NQKAT.js.map → chunk-75HAGIH6.js.map} +0 -0
- /package/dist/{chunk-XSBX3LJP.js.map → chunk-7BVRFQN4.js.map} +0 -0
- /package/dist/{chunk-7OVPQX4X.js.map → chunk-7TDJCDKT.js.map} +0 -0
- /package/dist/{chunk-ZMTWQDFC.js.map → chunk-AL4MRNYI.js.map} +0 -0
- /package/dist/{chunk-NO52OH3Y.js.map → chunk-BMNOMOWP.js.map} +0 -0
- /package/dist/{chunk-4AEAL63J.js.map → chunk-BS2MC62Y.js.map} +0 -0
- /package/dist/{chunk-DWSSQBLO.js.map → chunk-C6PWVZQE.js.map} +0 -0
- /package/dist/{chunk-P4MXGSSJ.js.map → chunk-CDTAKCJR.js.map} +0 -0
- /package/dist/{chunk-2RL2T5JO.js.map → chunk-CH44XVPE.js.map} +0 -0
- /package/dist/{chunk-RHNNFCRY.js.map → chunk-CJWLDKFO.js.map} +0 -0
- /package/dist/{chunk-YCAJCVW4.js.map → chunk-DAMC4FKK.js.map} +0 -0
- /package/dist/{chunk-D6VQPBVM.js.map → chunk-DWPOAU4Z.js.map} +0 -0
- /package/dist/{chunk-6MXM6DA6.js.map → chunk-EENYLJUN.js.map} +0 -0
- /package/dist/{chunk-IZROFBH7.js.map → chunk-EJBLF2LI.js.map} +0 -0
- /package/dist/{chunk-DNH2ZPZP.js.map → chunk-EJMPKO6V.js.map} +0 -0
- /package/dist/{chunk-RMZLB4AH.js.map → chunk-EKXLJRO3.js.map} +0 -0
- /package/dist/{chunk-ZANXEMON.js.map → chunk-EL3TDR5S.js.map} +0 -0
- /package/dist/{chunk-LFELUKCA.js.map → chunk-GRDZWZKQ.js.map} +0 -0
- /package/dist/{chunk-S4NMWYHW.js.map → chunk-GVUBRSD3.js.map} +0 -0
- /package/dist/{chunk-LVLTWPRR.js.map → chunk-GYREQDTJ.js.map} +0 -0
- /package/dist/{chunk-J5UTL4HE.js.map → chunk-HBRXFQQV.js.map} +0 -0
- /package/dist/{chunk-NE3OMP7R.js.map → chunk-HLHR3EK2.js.map} +0 -0
- /package/dist/{chunk-RJQT7QXX.js.map → chunk-IMFIRELA.js.map} +0 -0
- /package/dist/{chunk-SP3MHBME.js.map → chunk-IOKD77L2.js.map} +0 -0
- /package/dist/{chunk-TGT4XHLX.js.map → chunk-KDAINT54.js.map} +0 -0
- /package/dist/{chunk-QI5UKQX3.js.map → chunk-KKKZRQFY.js.map} +0 -0
- /package/dist/{chunk-N5AIO23H.js.map → chunk-KOEXPN3G.js.map} +0 -0
- /package/dist/{chunk-JBMZVC5D.js.map → chunk-KT5JVIPZ.js.map} +0 -0
- /package/dist/{chunk-NZYWKZ3Q.js.map → chunk-LC6PVPJX.js.map} +0 -0
- /package/dist/{chunk-DK66PUXL.js.map → chunk-LETR3RQE.js.map} +0 -0
- /package/dist/{chunk-XB4NKZAQ.js.map → chunk-N3PASNUA.js.map} +0 -0
- /package/dist/{chunk-SFQFUQDW.js.map → chunk-NL77JRKE.js.map} +0 -0
- /package/dist/{chunk-OIORUNKH.js.map → chunk-OBQ5YUOZ.js.map} +0 -0
- /package/dist/{chunk-42JTSTQ3.js.map → chunk-OTFHIGEO.js.map} +0 -0
- /package/dist/{chunk-ESXUIV6V.js.map → chunk-PCUWBZM3.js.map} +0 -0
- /package/dist/{chunk-OKXLOLEV.js.map → chunk-PNWXTOQ4.js.map} +0 -0
- /package/dist/{chunk-PYAR343F.js.map → chunk-PQFTKHDA.js.map} +0 -0
- /package/dist/{chunk-XXBP73RV.js.map → chunk-Q5DFEVLE.js.map} +0 -0
- /package/dist/{chunk-NRIKX35V.js.map → chunk-QXCGWAC6.js.map} +0 -0
- /package/dist/{chunk-CJFCQMUY.js.map → chunk-RKDMYL4A.js.map} +0 -0
- /package/dist/{chunk-S6XZIBWV.js.map → chunk-SCBSAIVV.js.map} +0 -0
- /package/dist/{chunk-3HLQZTQ3.js.map → chunk-SPBUE7R4.js.map} +0 -0
- /package/dist/{chunk-IC4MREQH.js.map → chunk-TWFZIHKK.js.map} +0 -0
- /package/dist/{chunk-73MLPGI2.js.map → chunk-U6G6ALXP.js.map} +0 -0
- /package/dist/{chunk-WGJ2QEW4.js.map → chunk-UCJAPB5Y.js.map} +0 -0
- /package/dist/{chunk-4PM32OS3.js.map → chunk-VFDWUIGR.js.map} +0 -0
- /package/dist/{chunk-BRNZMKO4.js.map → chunk-WC3YSN7L.js.map} +0 -0
- /package/dist/{chunk-FSEFZZ2T.js.map → chunk-WIOPEK7K.js.map} +0 -0
- /package/dist/{chunk-5NLUTJCQ.js.map → chunk-X3GWGFZP.js.map} +0 -0
- /package/dist/{chunk-Y4ZBNZBU.js.map → chunk-XYKODRQR.js.map} +0 -0
- /package/dist/{chunk-6FWVRXDW.js.map → chunk-XZAVBONI.js.map} +0 -0
- /package/dist/{chunk-Y3SK6EMU.js.map → chunk-Y5PNLB24.js.map} +0 -0
- /package/dist/{claim-Q76T3MYA.js.map → claim-PGDIRXIC.js.map} +0 -0
- /package/dist/{companies-MLWRWQ73.js.map → companies-WTPKGEB3.js.map} +0 -0
- /package/dist/{company-X5Z67PMK.js.map → company-6H2H73YP.js.map} +0 -0
- /package/dist/{complete-3CFP6XVY.js.map → complete-2QBC3POO.js.map} +0 -0
- /package/dist/{connect-QXFAB4RJ.js.map → connect-35YPFAUL.js.map} +0 -0
- /package/dist/{conversation-C6K6IZTH.js.map → conversation-YZFNEWDV.js.map} +0 -0
- /package/dist/{conversion-upload-command-D7S5HF22.js.map → conversion-upload-command-J2FIO74Y.js.map} +0 -0
- /package/dist/{conversions-4ILDIG3K.js.map → conversions-ZFDBD3OU.js.map} +0 -0
- /package/dist/{copy-writes-FYXKHJDB.js.map → copy-writes-2B36QJUY.js.map} +0 -0
- /package/dist/{create-LDQ3YHET.js.map → create-3H67EUTO.js.map} +0 -0
- /package/dist/{create-WQNT345R.js.map → create-ALTOBDP4.js.map} +0 -0
- /package/dist/{create-TKOG7DNJ.js.map → create-C3MWUYX2.js.map} +0 -0
- /package/dist/{create-WFMJOZLO.js.map → create-WHTT6IXY.js.map} +0 -0
- /package/dist/{creatives-45SJAD3G.js.map → creatives-22BYP5VN.js.map} +0 -0
- /package/dist/{creatives-Q4OXNCTT.js.map → creatives-LTIV3XPT.js.map} +0 -0
- /package/dist/{creatives-E4CTMZJJ.js.map → creatives-Y2WLGDJW.js.map} +0 -0
- /package/dist/{credentials-E2AIMWKX.js.map → credentials-J5DMQJWN.js.map} +0 -0
- /package/dist/{critique-JVT6X2T3.js.map → critique-RFTS2I46.js.map} +0 -0
- /package/dist/{critique-EWV3O3TD.js.map → critique-X6XVPIUG.js.map} +0 -0
- /package/dist/{crm-NQH5FTK6.js.map → crm-LWRGJYHW.js.map} +0 -0
- /package/dist/{crm-YGQKK76D.js.map → crm-RUNEJY2R.js.map} +0 -0
- /package/dist/{crop-KV24WHOR.js.map → crop-4V4P3SKI.js.map} +0 -0
- /package/dist/{custom-conversions-EJNX4MCK.js.map → custom-conversions-V7QPZIB4.js.map} +0 -0
- /package/dist/{customers-YFEPJF4G.js.map → customers-IDB6NLQ6.js.map} +0 -0
- /package/dist/{delete-2UJVTHRE.js.map → delete-2QKVUKKB.js.map} +0 -0
- /package/dist/{delete-O4RO2HMR.js.map → delete-B7BKF24X.js.map} +0 -0
- /package/dist/{delete-7QAJSOCO.js.map → delete-HBRYUWAA.js.map} +0 -0
- /package/dist/{demographics-YWBHAMZ5.js.map → demographics-JHB3NFLU.js.map} +0 -0
- /package/dist/{dimensions-YXOXHOXW.js.map → dimensions-KI3OENZD.js.map} +0 -0
- /package/dist/{discard-YX4XUXG3.js.map → discard-FEJ6YL22.js.map} +0 -0
- /package/dist/{domain-5R6CYVFY.js.map → domain-JYWNXBKS.js.map} +0 -0
- /package/dist/{download-D2O4RYJ3.js.map → download-LOBPOIU5.js.map} +0 -0
- /package/dist/{draft-3MPADYS4.js.map → draft-I2FLECEX.js.map} +0 -0
- /package/dist/{experiments-DYNNWQRB.js.map → experiments-WVTBHD6G.js.map} +0 -0
- /package/dist/{facets-Y2IEM37E.js.map → facets-V2ITIUKD.js.map} +0 -0
- /package/dist/{feedback-IVSLM5PN.js.map → feedback-PXWPR3NZ.js.map} +0 -0
- /package/dist/{feedback-HJRVTU6C.js.map → feedback-QSIPSNAL.js.map} +0 -0
- /package/dist/{feedback-record-P7CO3IGE.js.map → feedback-record-DJHJWJAF.js.map} +0 -0
- /package/dist/{fetch-V2U5VUQZ.js.map → fetch-QVOOC3FA.js.map} +0 -0
- /package/dist/{fit-JDG6E46O.js.map → fit-REGMM46H.js.map} +0 -0
- /package/dist/{flows-DP574PEX.js.map → flows-EZV3KCV6.js.map} +0 -0
- /package/dist/{fonts-RMROS3LX.js.map → fonts-NUX66HEI.js.map} +0 -0
- /package/dist/{forecast-BRXNGMGD.js.map → forecast-W6HKYVX5.js.map} +0 -0
- /package/dist/{forecast-AAHHVTBK.js.map → forecast-XDRKCR65.js.map} +0 -0
- /package/dist/{funnel-FQX3DOE7.js.map → funnel-3YABA3G2.js.map} +0 -0
- /package/dist/{ga4-A3HLGTSI.js.map → ga4-IJ2UUICC.js.map} +0 -0
- /package/dist/{generate-SYOQE3F7.js.map → generate-22HT24SA.js.map} +0 -0
- /package/dist/{get-HMTI2IR6.js.map → get-GQQLBE5C.js.map} +0 -0
- /package/dist/{get-VFDNTZ54.js.map → get-NL3YZFUJ.js.map} +0 -0
- /package/dist/{google-WH3IXXMX.js.map → google-UJ4YJGTJ.js.map} +0 -0
- /package/dist/{google-ads-4DLYASRC.js.map → google-ads-RRKKSKDD.js.map} +0 -0
- /package/dist/{history-6B6RXNV3.js.map → history-2UANIBRN.js.map} +0 -0
- /package/dist/{history-NLZSX4BK.js.map → history-YZ727ZRG.js.map} +0 -0
- /package/dist/{hubspot-LABBRJ44.js.map → hubspot-KWLXJ6QD.js.map} +0 -0
- /package/dist/{ideas-A4ELJN23.js.map → ideas-ZO533P5Y.js.map} +0 -0
- /package/dist/{images-JVNT7KYM.js.map → images-VUWUKGD6.js.map} +0 -0
- /package/dist/{ingest-GQWR3RHR.js.map → ingest-C2HJ5LUY.js.map} +0 -0
- /package/dist/{ingest-JYN2IDKV.js.map → ingest-H53JR4GK.js.map} +0 -0
- /package/dist/{inspect-72DY33YD.js.map → inspect-BM6GJHQV.js.map} +0 -0
- /package/dist/{instant-experiences-6NTBX4SL.js.map → instant-experiences-U6U3FYIH.js.map} +0 -0
- /package/dist/{keyword-metrics-GP7L2MQE.js.map → keyword-metrics-R2QCEDYW.js.map} +0 -0
- /package/dist/{keywords-for-site-6YWAUOKJ.js.map → keywords-for-site-NBV72C3W.js.map} +0 -0
- /package/dist/{landing-EKHAZS5P.js.map → landing-L3WDTW4D.js.map} +0 -0
- /package/dist/{leads-UCXIIA5K.js.map → leads-6PF7ZWCH.js.map} +0 -0
- /package/dist/{leads-RN6RYOMU.js.map → leads-IG3IIHXG.js.map} +0 -0
- /package/dist/{learn-EJEFERQZ.js.map → learn-V2LIBEEY.js.map} +0 -0
- /package/dist/{line-item-writes-IMCE2FDW.js.map → line-item-writes-GMNWL4DI.js.map} +0 -0
- /package/dist/{line-items-ISUC3WDO.js.map → line-items-KPIKXLG4.js.map} +0 -0
- /package/dist/{link-6QL4ZVSU.js.map → link-X7IYKR5V.js.map} +0 -0
- /package/dist/{linkedin-person-C24CBKCH.js.map → linkedin-person-47XFTBIN.js.map} +0 -0
- /package/dist/{list-2VNI3U7I.js.map → list-PHNA7QIF.js.map} +0 -0
- /package/dist/{list-SUXUMXPJ.js.map → list-QF3BANBM.js.map} +0 -0
- /package/dist/{list-PZD2QOZL.js.map → list-SB3SUTH6.js.map} +0 -0
- /package/dist/{log-VLI7KQF2.js.map → log-JFLSSUJ6.js.map} +0 -0
- /package/dist/{make-365ZJ25L.js.map → make-ZIJQZD5K.js.map} +0 -0
- /package/dist/{map-OEFL45WA.js.map → map-NYJT2MGI.js.map} +0 -0
- /package/dist/{mcp-NCZYQXQL.js.map → mcp-ABQEICYR.js.map} +0 -0
- /package/dist/{media-WASM45QW.js.map → media-AT3VV3PU.js.map} +0 -0
- /package/dist/{media-sources-CZDK4W5Q.js.map → media-sources-L4BI7HFL.js.map} +0 -0
- /package/dist/{members-N3PQSVQC.js.map → members-BX37KHKO.js.map} +0 -0
- /package/dist/{meta-IRXPQRBH.js.map → meta-2GJZPVKM.js.map} +0 -0
- /package/dist/{normalize-4OKUF5BJ.js.map → normalize-M3VMWF4W.js.map} +0 -0
- /package/dist/{normalize-6DEJPTBF.js.map → normalize-MA2FBBIV.js.map} +0 -0
- /package/dist/{options-OJX77MYT.js.map → options-NMWWF2HN.js.map} +0 -0
- /package/dist/{organization-URQGKFEC.js.map → organization-GRAA6ZXU.js.map} +0 -0
- /package/dist/{page-photos-N4S7U7FR.js.map → page-photos-ABK4CJME.js.map} +0 -0
- /package/dist/{performance-SIWBDORI.js.map → performance-MQLRSH44.js.map} +0 -0
- /package/dist/{performance-P5T4LJRG.js.map → performance-RUBIGEAQ.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-S2HP5DEI.js.map → promoted-tweet-writes-3P6QFGLN.js.map} +0 -0
- /package/dist/{promoted-tweets-WZT4N5IR.js.map → promoted-tweets-TGFPH7UI.js.map} +0 -0
- /package/dist/{publish-EDYBQHGJ.js.map → publish-OUVO65Z5.js.map} +0 -0
- /package/dist/{reddit-DEGGHR4M.js.map → reddit-HWQCUSEM.js.map} +0 -0
- /package/dist/{refresh-HPNJGI2U.js.map → refresh-ENQDQGTK.js.map} +0 -0
- /package/dist/{release-H7M37CEO.js.map → release-ZTVXLUQS.js.map} +0 -0
- /package/dist/{remove-MV4YS72N.js.map → remove-XAFRT7O7.js.map} +0 -0
- /package/dist/{reopen-EFW2SKOY.js.map → reopen-SWSZHXJZ.js.map} +0 -0
- /package/dist/{rerun-OM4N74YK.js.map → rerun-MA2GB6WL.js.map} +0 -0
- /package/dist/{research-7YDQOKA6.js.map → research-TDH4OBX6.js.map} +0 -0
- /package/dist/{research-MHXKAQW4.js.map → research-WWJUNYSJ.js.map} +0 -0
- /package/dist/{reset-HT4AGJPR.js.map → reset-34HTKUBQ.js.map} +0 -0
- /package/dist/{reset-XPZQ5F4D.js.map → reset-KMMGLM7W.js.map} +0 -0
- /package/dist/{resolve-RTTXEN2B.js.map → resolve-2CIIKADD.js.map} +0 -0
- /package/dist/{retry-DVLVWHEK.js.map → retry-V7KZIZKR.js.map} +0 -0
- /package/dist/{retry-SBGWOUQO.js.map → retry-YXM23NSB.js.map} +0 -0
- /package/dist/{revenue-KJLJ53XY.js.map → revenue-D4L6U2CW.js.map} +0 -0
- /package/dist/{rule-writes-DNXELESR.js.map → rule-writes-HUBHHYEO.js.map} +0 -0
- /package/dist/{rules-KCSET46P.js.map → rules-47LFGCPW.js.map} +0 -0
- /package/dist/{rules-NVKU732Z.js.map → rules-F6RNUOXP.js.map} +0 -0
- /package/dist/{rules-add-KY42EHJE.js.map → rules-add-SAQRESVK.js.map} +0 -0
- /package/dist/{run-2LQ7XJEO.js.map → run-FRPO2WNQ.js.map} +0 -0
- /package/dist/{run-M7YU6KCV.js.map → run-HENSSAQW.js.map} +0 -0
- /package/dist/{scaffold-ad-6YPZ75YJ.js.map → scaffold-ad-QQBCUYUO.js.map} +0 -0
- /package/dist/{scaffold-static-ad-UJEWTDU5.js.map → scaffold-static-ad-WUOAQEXS.js.map} +0 -0
- /package/dist/{scaffold-video-M4VWSVJ6.js.map → scaffold-video-KFQAKQUO.js.map} +0 -0
- /package/dist/{schedule-J7HZQ2EL.js.map → schedule-S4XAVVEI.js.map} +0 -0
- /package/dist/{scheduled-agents-IVUQUKF4.js.map → scheduled-agents-ZWAP6QLC.js.map} +0 -0
- /package/dist/{schema-LHBKBUV7.js.map → schema-EJ2XPUN6.js.map} +0 -0
- /package/dist/{search-3AW52FO6.js.map → search-2BAY3KKX.js.map} +0 -0
- /package/dist/{select-STIWQ36I.js.map → select-K2SXPDDJ.js.map} +0 -0
- /package/dist/{set-prompt-TODWV2F4.js.map → set-prompt-BZFOV3EB.js.map} +0 -0
- /package/dist/{setup-links-MNBD3UMH.js.map → setup-links-QT63UZBR.js.map} +0 -0
- /package/dist/{site-ZZUKS6MQ.js.map → site-S6QVMP7W.js.map} +0 -0
- /package/dist/{sources-36MJ6T4V.js.map → sources-DTQ4NQAM.js.map} +0 -0
- /package/dist/{sources-GNLQHTSJ.js.map → sources-ORG5KQSW.js.map} +0 -0
- /package/dist/{stale-GJN7UO3D.js.map → stale-5O7BQVTN.js.map} +0 -0
- /package/dist/{status-6EGB6ORB.js.map → status-4G2YUCZR.js.map} +0 -0
- /package/dist/{studies-4XXCEAHH.js.map → studies-QLSKON6M.js.map} +0 -0
- /package/dist/{studio-OARORMDJ.js.map → studio-IDXFTGHP.js.map} +0 -0
- /package/dist/{study-writes-J56UIIE3.js.map → study-writes-GBUUKX4O.js.map} +0 -0
- /package/dist/{sync-QHM3LMAX.js.map → sync-7LJZPHM3.js.map} +0 -0
- /package/dist/{sync-definition-YXGN6PIQ.js.map → sync-definition-Q3XUSEZJ.js.map} +0 -0
- /package/dist/{tag-manager-XAX5AI42.js.map → tag-manager-5WZPX2FJ.js.map} +0 -0
- /package/dist/{tags-MQYF2JHQ.js.map → tags-2ARVNEYS.js.map} +0 -0
- /package/dist/{tags-ZGXJHATH.js.map → tags-F4IT7RQR.js.map} +0 -0
- /package/dist/{tags-MBBRBZJH.js.map → tags-F7ZO52EM.js.map} +0 -0
- /package/dist/{tags-IDWUV2FY.js.map → tags-NBGGBHXR.js.map} +0 -0
- /package/dist/{tags-GHV5R7NI.js.map → tags-TCSGQYDR.js.map} +0 -0
- /package/dist/{targeting-KJ4DI56R.js.map → targeting-DAUTJDUB.js.map} +0 -0
- /package/dist/{targeting-criteria-GDCXOAUD.js.map → targeting-criteria-H42LRULY.js.map} +0 -0
- /package/dist/{targets-MYHOPAYY.js.map → targets-WB4E5XL2.js.map} +0 -0
- /package/dist/{testimonials-R6RFGAKP.js.map → testimonials-KLF3Y4QO.js.map} +0 -0
- /package/dist/{themes-LHVXXVTX.js.map → themes-BGBDYQQK.js.map} +0 -0
- /package/dist/{top-companies-POTV3Y2A.js.map → top-companies-C2W5TJ7G.js.map} +0 -0
- /package/dist/{transcript-4RVYKDVZ.js.map → transcript-S7VR2GJE.js.map} +0 -0
- /package/dist/{translate-UCASCVMN.js.map → translate-CBITGC7C.js.map} +0 -0
- /package/dist/{triggers-XHMMOZJK.js.map → triggers-EOKMR74O.js.map} +0 -0
- /package/dist/{unlink-3IW3EORE.js.map → unlink-PC3TMWUT.js.map} +0 -0
- /package/dist/{unstage-APVF6KHB.js.map → unstage-SU2ATDSZ.js.map} +0 -0
- /package/dist/{update-V7SRDGHN.js.map → update-DKX3EEES.js.map} +0 -0
- /package/dist/{update-2VSJH4LQ.js.map → update-JYZ45YJG.js.map} +0 -0
- /package/dist/{update-ESK6PSME.js.map → update-TAZSUOAS.js.map} +0 -0
- /package/dist/{update-42QYBUE3.js.map → update-WRJUH2NM.js.map} +0 -0
- /package/dist/{upload-42IR5RIL.js.map → upload-BLXTMK5Q.js.map} +0 -0
- /package/dist/{url-params-GEESXN57.js.map → url-params-YVOFU6MK.js.map} +0 -0
- /package/dist/{validate-Z5SSEUES.js.map → validate-SAQEORZY.js.map} +0 -0
- /package/dist/{videos-PJAPZPOT.js.map → videos-GOIDZVVD.js.map} +0 -0
- /package/dist/{viewer-check-6M34VY7K.js.map → viewer-check-KTRRUVZN.js.map} +0 -0
- /package/dist/{web-PUVVFMV3.js.map → web-6KUM7Q7S.js.map} +0 -0
- /package/dist/{winning-ads-ZCP4MIEQ.js.map → winning-ads-LOMI72Q2.js.map} +0 -0
- /package/dist/{write-commands-ZS4O4DSV.js.map → write-commands-3U5ZMIHH.js.map} +0 -0
- /package/dist/{write-commands-5LEEPKA7.js.map → write-commands-F5XPPLOO.js.map} +0 -0
- /package/dist/{x-2IZMW46M.js.map → x-APVY4YHX.js.map} +0 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CHAT_READ_ARG
|
|
3
|
+
} from "./chunk-X32MFGWW.js";
|
|
4
|
+
import {
|
|
5
|
+
failApi,
|
|
6
|
+
failValidation,
|
|
7
|
+
isTempId
|
|
8
|
+
} from "./chunk-BS2MC62Y.js";
|
|
9
|
+
import {
|
|
10
|
+
REMOVABLE_DRAFT_OP_KINDS
|
|
11
|
+
} from "./chunk-MKLAZD23.js";
|
|
12
|
+
import "./chunk-QV6AST5T.js";
|
|
13
|
+
import "./chunk-WCU362Z6.js";
|
|
14
|
+
import "./chunk-GIWHHCD6.js";
|
|
15
|
+
import "./chunk-SOPVIIUW.js";
|
|
16
|
+
import "./chunk-G4FG5EQO.js";
|
|
17
|
+
import "./chunk-R7XDGNZD.js";
|
|
18
|
+
import "./chunk-MSMTG6OC.js";
|
|
19
|
+
import {
|
|
20
|
+
apiPost,
|
|
21
|
+
validateConvexId
|
|
22
|
+
} from "./chunk-GFWWHCBF.js";
|
|
23
|
+
import "./chunk-JXTNP3B5.js";
|
|
24
|
+
import {
|
|
25
|
+
requireChatId,
|
|
26
|
+
resolveChatId
|
|
27
|
+
} from "./chunk-45D6WRCJ.js";
|
|
28
|
+
import {
|
|
29
|
+
registerSchema,
|
|
30
|
+
writeJson,
|
|
31
|
+
writeOutput
|
|
32
|
+
} from "./chunk-CCYZJMZ7.js";
|
|
33
|
+
import "./chunk-YQSBHWOI.js";
|
|
34
|
+
|
|
35
|
+
// src/commands/actions/draft.ts
|
|
36
|
+
import { defineCommand } from "citty";
|
|
37
|
+
var REMOVE_OP_KINDS = REMOVABLE_DRAFT_OP_KINDS;
|
|
38
|
+
registerSchema({
|
|
39
|
+
command: "actions.draft.list",
|
|
40
|
+
description: "Review the action ops staged in THIS chat's draft before publish (creates/updates/completes/discards/links). Staged ops are invisible to `actions list`/`status` until the chat publishes \u2014 use this to verify what will apply and catch duplicates. Takes --chat <id> to read an earlier chat's staged ops instead. Start here: `baker actions draft --output md` for a one-row-per-op table; add --fields to pick columns.",
|
|
41
|
+
args: {
|
|
42
|
+
chat: { type: "string", description: CHAT_READ_ARG.description, required: false },
|
|
43
|
+
output: {
|
|
44
|
+
type: "string",
|
|
45
|
+
description: "Output format: json (default, full envelope with status/count/warnings) | md | files. md and files render one row per staged op.",
|
|
46
|
+
required: false,
|
|
47
|
+
enum: ["json", "md", "files"]
|
|
48
|
+
},
|
|
49
|
+
fields: {
|
|
50
|
+
type: "string",
|
|
51
|
+
description: "Comma-separated columns for md/files output, e.g. kind,name,ref,tags",
|
|
52
|
+
required: false
|
|
53
|
+
},
|
|
54
|
+
full: {
|
|
55
|
+
type: "boolean",
|
|
56
|
+
description: "Include each op's payload (description, note, reason, blocker) in md/files output",
|
|
57
|
+
required: false,
|
|
58
|
+
default: false
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
var OUTPUT_ARGS = {
|
|
63
|
+
output: { type: "string", description: "Output format: json|md|files", required: false, default: "json" },
|
|
64
|
+
fields: { type: "string", description: "Comma-separated field names to include (md/files)", required: false },
|
|
65
|
+
full: { type: "boolean", description: "Include each op's full payload", required: false, default: false }
|
|
66
|
+
};
|
|
67
|
+
function text(value) {
|
|
68
|
+
return typeof value === "string" ? value : "";
|
|
69
|
+
}
|
|
70
|
+
function draftOpNormalizer(record, full) {
|
|
71
|
+
const compact = {
|
|
72
|
+
kind: text(record.kind),
|
|
73
|
+
name: text(record.targetName),
|
|
74
|
+
ref: text(record.tempId) || text(record.targetActionId),
|
|
75
|
+
tags: Array.isArray(record.tags) ? record.tags.join(",") : ""
|
|
76
|
+
};
|
|
77
|
+
if (!full) {
|
|
78
|
+
return compact;
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
...compact,
|
|
82
|
+
description: text(record.description),
|
|
83
|
+
note: text(record.note),
|
|
84
|
+
reason: text(record.reason),
|
|
85
|
+
blocker: text(record.blockerTempId) || text(record.blockerActionId) || text(record.blockerName)
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
registerSchema({
|
|
89
|
+
command: "actions.draft.remove",
|
|
90
|
+
description: "Drop a single staged action op from this chat's draft before publish. For a tempId, removing the create cascades into its complete/link ops. For a real action ID, pass --op to say which op to drop. Use this to UNDO a staged op \u2014 never stage `complete` to delete an action.",
|
|
91
|
+
args: {
|
|
92
|
+
ref: { type: "string", description: "tempId (temp_*) or real action ID to drop from the draft", required: true },
|
|
93
|
+
op: {
|
|
94
|
+
type: "string",
|
|
95
|
+
description: "Required for real action IDs: which op to drop (update|complete|discard|assign|reopen)",
|
|
96
|
+
required: false
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
registerSchema({
|
|
101
|
+
command: "actions.draft.clear",
|
|
102
|
+
description: "Discard ALL staged action ops in this chat's draft before publish. Nothing applies on publish. Does not touch already-published actions.",
|
|
103
|
+
args: {}
|
|
104
|
+
});
|
|
105
|
+
var listCommand = defineCommand({
|
|
106
|
+
meta: {
|
|
107
|
+
name: "list",
|
|
108
|
+
description: "Show every action op staged in this chat's draft, with footgun warnings. Example: baker actions draft --output md"
|
|
109
|
+
},
|
|
110
|
+
args: { chat: CHAT_READ_ARG, ...OUTPUT_ARGS },
|
|
111
|
+
run: async ({ args }) => {
|
|
112
|
+
try {
|
|
113
|
+
const chatId = resolveChatId(args.chat);
|
|
114
|
+
const response = await apiPost("/api/actions/draft", { chatId });
|
|
115
|
+
const format = args.output === "md" || args.output === "files" ? args.output : "json";
|
|
116
|
+
if (format === "json") {
|
|
117
|
+
writeJson(response);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
writeOutput(
|
|
121
|
+
{ ok: true, data: response.data.ops },
|
|
122
|
+
format,
|
|
123
|
+
args.fields ? args.fields.split(",") : void 0,
|
|
124
|
+
args.full,
|
|
125
|
+
draftOpNormalizer
|
|
126
|
+
);
|
|
127
|
+
process.stderr.write(`draft status: ${response.data.status}, ${response.data.count} op(s)
|
|
128
|
+
`);
|
|
129
|
+
for (const warning of response.data.warnings) {
|
|
130
|
+
process.stderr.write(`warning: ${warning.tempId} \u2014 ${warning.name}
|
|
131
|
+
`);
|
|
132
|
+
}
|
|
133
|
+
} catch (err) {
|
|
134
|
+
failApi(err);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
var removeCommand = defineCommand({
|
|
139
|
+
meta: {
|
|
140
|
+
name: "remove",
|
|
141
|
+
description: "Drop one staged op from the draft. Example: baker actions draft remove temp_abc123 | baker actions draft remove jx7... --op complete"
|
|
142
|
+
},
|
|
143
|
+
args: {
|
|
144
|
+
ref: { type: "positional", description: "tempId or real action ID", required: false },
|
|
145
|
+
op: {
|
|
146
|
+
type: "string",
|
|
147
|
+
description: "Op kind for real IDs: update|complete|discard|assign|reopen",
|
|
148
|
+
required: false
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
run: async ({ args }) => {
|
|
152
|
+
try {
|
|
153
|
+
const ref = args.ref;
|
|
154
|
+
if (!ref) {
|
|
155
|
+
failValidation("A tempId or action ID is required.");
|
|
156
|
+
}
|
|
157
|
+
const chatId = requireChatId();
|
|
158
|
+
if (isTempId(ref)) {
|
|
159
|
+
await apiPost("/api/actions/draft-op/remove", {
|
|
160
|
+
chatId,
|
|
161
|
+
target: { kind: "tempId", tempId: ref }
|
|
162
|
+
});
|
|
163
|
+
writeJson({ ok: true, data: { removed: ref, kind: "tempId" } });
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
validateConvexId(ref);
|
|
167
|
+
const op = args.op;
|
|
168
|
+
if (!op || !REMOVE_OP_KINDS.includes(op)) {
|
|
169
|
+
failValidation(
|
|
170
|
+
`Removing a staged op for a real action ID requires --op (one of: ${REMOVE_OP_KINDS.join("|")}).`
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
await apiPost("/api/actions/draft-op/remove", {
|
|
174
|
+
chatId,
|
|
175
|
+
target: { kind: "actionId", actionId: ref, opKind: op }
|
|
176
|
+
});
|
|
177
|
+
writeJson({ ok: true, data: { removed: ref, kind: "actionId", op } });
|
|
178
|
+
} catch (err) {
|
|
179
|
+
failApi(err);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
var clearCommand = defineCommand({
|
|
184
|
+
meta: {
|
|
185
|
+
name: "clear",
|
|
186
|
+
description: "Discard every staged op in this chat's draft. Example: baker actions draft clear"
|
|
187
|
+
},
|
|
188
|
+
run: async () => {
|
|
189
|
+
try {
|
|
190
|
+
const chatId = requireChatId();
|
|
191
|
+
await apiPost("/api/actions/draft/clear", { chatId });
|
|
192
|
+
writeJson({ ok: true, data: { cleared: true } });
|
|
193
|
+
} catch (err) {
|
|
194
|
+
failApi(err);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
var draftCommand = defineCommand({
|
|
199
|
+
meta: {
|
|
200
|
+
name: "draft",
|
|
201
|
+
description: "Review and edit the action ops staged in this chat BEFORE publish. Subcommands: list (default), remove, clear. Staged ops are invisible to `actions list`/`status` until publish, so check here before finishing. `list` takes --chat <id> to read an earlier chat's staged ops instead."
|
|
202
|
+
},
|
|
203
|
+
// Declared on the parent too: `default: "list"` dispatches the bare `draft --chat <id>` form, and
|
|
204
|
+
// citty prints help for a flag the parent does not know instead of forwarding it.
|
|
205
|
+
args: { chat: CHAT_READ_ARG, ...OUTPUT_ARGS },
|
|
206
|
+
subCommands: {
|
|
207
|
+
list: listCommand,
|
|
208
|
+
remove: removeCommand,
|
|
209
|
+
clear: clearCommand
|
|
210
|
+
},
|
|
211
|
+
// Bare `baker actions draft` (no subcommand) shows the staged ops. This must be
|
|
212
|
+
// `default`, not `run`: citty falls through to `run` after dispatching a subcommand,
|
|
213
|
+
// so a `run` here would also list the draft on every `remove` / `clear`.
|
|
214
|
+
default: "list"
|
|
215
|
+
});
|
|
216
|
+
export {
|
|
217
|
+
draftCommand,
|
|
218
|
+
draftOpNormalizer
|
|
219
|
+
};
|
|
220
|
+
//# sourceMappingURL=draft-I2FLECEX.js.map
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import {
|
|
2
|
+
failWriteValidation
|
|
3
|
+
} from "./chunk-PCUWBZM3.js";
|
|
4
|
+
import {
|
|
5
|
+
parseXApiError
|
|
6
|
+
} from "./chunk-FIN4ZXGJ.js";
|
|
7
|
+
import "./chunk-H6GTG665.js";
|
|
8
|
+
import {
|
|
9
|
+
amendDraftRefs,
|
|
10
|
+
draftRefs,
|
|
11
|
+
removeDraftRefs
|
|
12
|
+
} from "./chunk-DSDI5DY3.js";
|
|
13
|
+
import {
|
|
14
|
+
writeAdsJson,
|
|
15
|
+
writeJsonEnvelope
|
|
16
|
+
} from "./chunk-QYH2UZAK.js";
|
|
17
|
+
import {
|
|
18
|
+
CHAT_READ_ARG,
|
|
19
|
+
DRAFT_FULL_ARG
|
|
20
|
+
} from "./chunk-X32MFGWW.js";
|
|
21
|
+
import "./chunk-MKLAZD23.js";
|
|
22
|
+
import "./chunk-QV6AST5T.js";
|
|
23
|
+
import "./chunk-WCU362Z6.js";
|
|
24
|
+
import "./chunk-GIWHHCD6.js";
|
|
25
|
+
import "./chunk-SOPVIIUW.js";
|
|
26
|
+
import "./chunk-G4FG5EQO.js";
|
|
27
|
+
import "./chunk-R7XDGNZD.js";
|
|
28
|
+
import "./chunk-MSMTG6OC.js";
|
|
29
|
+
import {
|
|
30
|
+
ApiError,
|
|
31
|
+
apiPost
|
|
32
|
+
} from "./chunk-GFWWHCBF.js";
|
|
33
|
+
import "./chunk-JXTNP3B5.js";
|
|
34
|
+
import {
|
|
35
|
+
requireChatId,
|
|
36
|
+
resolveChatId
|
|
37
|
+
} from "./chunk-45D6WRCJ.js";
|
|
38
|
+
import {
|
|
39
|
+
registerSchema
|
|
40
|
+
} from "./chunk-CCYZJMZ7.js";
|
|
41
|
+
import "./chunk-YQSBHWOI.js";
|
|
42
|
+
|
|
43
|
+
// src/commands/ads/x/draft.ts
|
|
44
|
+
import { readFileSync } from "fs";
|
|
45
|
+
import { defineCommand } from "citty";
|
|
46
|
+
|
|
47
|
+
// src/commands/ads/x/draft-status.ts
|
|
48
|
+
var OPERATION_LABELS = {
|
|
49
|
+
create: "Creating",
|
|
50
|
+
update: "Updating",
|
|
51
|
+
pause: "Pausing",
|
|
52
|
+
resume: "Resuming",
|
|
53
|
+
remove: "Removing"
|
|
54
|
+
};
|
|
55
|
+
function badge(node) {
|
|
56
|
+
const label = node.operation ? OPERATION_LABELS[node.operation] : void 0;
|
|
57
|
+
return label ?? (node.existing ? "on X" : "staged");
|
|
58
|
+
}
|
|
59
|
+
function collectionLine(collection) {
|
|
60
|
+
const parts = [];
|
|
61
|
+
if (collection.added > 0) {
|
|
62
|
+
parts.push(`+${collection.added}`);
|
|
63
|
+
}
|
|
64
|
+
if (collection.existing > 0) {
|
|
65
|
+
parts.push(`${collection.existing} existing`);
|
|
66
|
+
}
|
|
67
|
+
if (collection.removed > 0) {
|
|
68
|
+
parts.push(`-${collection.removed}`);
|
|
69
|
+
}
|
|
70
|
+
return parts.length > 0 ? `${collection.label}: ${parts.join(", ")}` : void 0;
|
|
71
|
+
}
|
|
72
|
+
function accountsInTree(nodes) {
|
|
73
|
+
const accounts = /* @__PURE__ */ new Set();
|
|
74
|
+
const walk = (node) => {
|
|
75
|
+
accounts.add(node.accountId);
|
|
76
|
+
for (const child of node.children) {
|
|
77
|
+
walk(child);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
for (const node of nodes) {
|
|
81
|
+
walk(node);
|
|
82
|
+
}
|
|
83
|
+
return accounts;
|
|
84
|
+
}
|
|
85
|
+
function renderNode(node, depth, showAccount, out) {
|
|
86
|
+
const indent = " ".repeat(depth);
|
|
87
|
+
const account = showAccount ? ` [${node.accountId}]` : "";
|
|
88
|
+
out.push(`${indent}${node.entity}: ${node.name} \u2014 ${badge(node)}${account}`);
|
|
89
|
+
for (const collection of node.collections) {
|
|
90
|
+
const line = collectionLine(collection);
|
|
91
|
+
if (line) {
|
|
92
|
+
out.push(`${indent} ${line}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
for (const warning of node.warnings ?? []) {
|
|
96
|
+
out.push(`${indent} ! ${warning}`);
|
|
97
|
+
}
|
|
98
|
+
for (const child of node.children) {
|
|
99
|
+
renderNode(child, depth + 1, showAccount, out);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
var NO_CHANGES = "No X Ads changes staged";
|
|
103
|
+
var STATUS_HEADINGS = {
|
|
104
|
+
active: "staged",
|
|
105
|
+
publishing: "publishing",
|
|
106
|
+
applied: "published",
|
|
107
|
+
discarded: "discarded"
|
|
108
|
+
};
|
|
109
|
+
function didNotApply(op) {
|
|
110
|
+
return op.result?.status === "failed" || op.result?.status === "skipped";
|
|
111
|
+
}
|
|
112
|
+
function didApply(op) {
|
|
113
|
+
return op.result?.status === "applied" || op.result?.status === "simulated";
|
|
114
|
+
}
|
|
115
|
+
function headingLine(draft) {
|
|
116
|
+
const heading = STATUS_HEADINGS[draft.status] ?? draft.status;
|
|
117
|
+
if (draft.status !== "applied" && draft.status !== "publishing") {
|
|
118
|
+
return `X Ads: ${draft.count} change${draft.count === 1 ? "" : "s"} ${heading}`;
|
|
119
|
+
}
|
|
120
|
+
const applied = draft.ops.filter(didApply).length;
|
|
121
|
+
const failed = draft.ops.filter(didNotApply).length;
|
|
122
|
+
return `X Ads: ${heading} \xB7 ${applied} applied${failed > 0 ? `, ${failed} failed` : ""}`;
|
|
123
|
+
}
|
|
124
|
+
function problemLines(draft) {
|
|
125
|
+
return draft.ops.filter(didNotApply).map((op) => {
|
|
126
|
+
const reason = op.result?.error ?? `skipped: waiting on ${op.result?.skippedBecause ?? "a change that did not apply"}`;
|
|
127
|
+
return `\u2717 ${op.summary} \u2014 failed: ${reason}`;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
function renderDraftStatus(draft) {
|
|
131
|
+
if (draft.status === "none" || draft.count === 0) {
|
|
132
|
+
return NO_CHANGES;
|
|
133
|
+
}
|
|
134
|
+
const out = [headingLine(draft), ""];
|
|
135
|
+
const tree = draft.tree ?? [];
|
|
136
|
+
const showAccount = accountsInTree(tree).size > 1;
|
|
137
|
+
for (const node of tree) {
|
|
138
|
+
renderNode(node, 0, showAccount, out);
|
|
139
|
+
}
|
|
140
|
+
const problems = problemLines(draft);
|
|
141
|
+
if (problems.length > 0) {
|
|
142
|
+
out.push("", ...problems);
|
|
143
|
+
}
|
|
144
|
+
return out.join("\n");
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// src/commands/ads/x/draft.ts
|
|
148
|
+
function handleDraftError(err) {
|
|
149
|
+
if (err instanceof ApiError) {
|
|
150
|
+
writeAdsJson(parseXApiError(err.message, "\u2014"));
|
|
151
|
+
process.exit(1);
|
|
152
|
+
}
|
|
153
|
+
writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
|
|
154
|
+
process.exit(1);
|
|
155
|
+
}
|
|
156
|
+
registerSchema({
|
|
157
|
+
command: "ads.x.draft",
|
|
158
|
+
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.",
|
|
159
|
+
args: {
|
|
160
|
+
json: { type: "boolean", description: "Raw JSON envelope instead of the readable tree", required: false },
|
|
161
|
+
full: { type: "boolean", description: DRAFT_FULL_ARG.description, required: false },
|
|
162
|
+
chat: { type: "string", description: "Read another chat's draft instead of this one", required: false }
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
async function listDraft(json, chat, full = false) {
|
|
166
|
+
try {
|
|
167
|
+
const chatId = resolveChatId(chat);
|
|
168
|
+
const response = await apiPost("/api/ads/x/draft", {
|
|
169
|
+
chatId,
|
|
170
|
+
...full ? { full: true } : {}
|
|
171
|
+
});
|
|
172
|
+
if (json || full || !response.ok || !response.data) {
|
|
173
|
+
writeJsonEnvelope(response);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
process.stdout.write(`${renderDraftStatus(response.data)}
|
|
177
|
+
`);
|
|
178
|
+
} catch (err) {
|
|
179
|
+
handleDraftError(err);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
var listCommand = defineCommand({
|
|
183
|
+
meta: {
|
|
184
|
+
name: "list",
|
|
185
|
+
description: "Review everything staged as a Campaign \u25B8 Ad group \u25B8 Ad tree. Example: baker ads x draft"
|
|
186
|
+
},
|
|
187
|
+
args: {
|
|
188
|
+
json: { type: "boolean", description: "Print the raw JSON envelope instead of the readable tree" },
|
|
189
|
+
full: DRAFT_FULL_ARG,
|
|
190
|
+
chat: CHAT_READ_ARG
|
|
191
|
+
},
|
|
192
|
+
run: async ({ args }) => {
|
|
193
|
+
await listDraft(args.json === true, args.chat, args.full === true);
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
registerSchema({
|
|
197
|
+
command: "ads.x.draft.show",
|
|
198
|
+
description: "The full staged payload, warnings and before-snapshot for one op \u2014 the receipt to check before publishing.",
|
|
199
|
+
args: {
|
|
200
|
+
ref: {
|
|
201
|
+
type: "positional",
|
|
202
|
+
description: "Op ref (x_temp_* for creates, the target id for updates)",
|
|
203
|
+
required: true
|
|
204
|
+
},
|
|
205
|
+
chat: { type: "string", description: "Read another chat's draft instead of this one", required: false }
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
var showCommand = defineCommand({
|
|
209
|
+
meta: {
|
|
210
|
+
name: "show",
|
|
211
|
+
description: "Show one staged op in full. Example: baker ads x draft show x_temp_abc123"
|
|
212
|
+
},
|
|
213
|
+
args: {
|
|
214
|
+
ref: { type: "positional", description: "Op ref, or the target id for a staged update", required: true },
|
|
215
|
+
chat: CHAT_READ_ARG
|
|
216
|
+
},
|
|
217
|
+
run: async ({ args }) => {
|
|
218
|
+
try {
|
|
219
|
+
const chatId = resolveChatId(args.chat);
|
|
220
|
+
const response = await apiPost("/api/ads/x/draft/show", {
|
|
221
|
+
chatId,
|
|
222
|
+
ref: String(args.ref)
|
|
223
|
+
});
|
|
224
|
+
writeJsonEnvelope(response);
|
|
225
|
+
} catch (err) {
|
|
226
|
+
handleDraftError(err);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
registerSchema({
|
|
231
|
+
command: "ads.x.draft.amend",
|
|
232
|
+
description: "Change staged ops in place instead of removing and re-staging them \u2014 one, or many with the same patch in one call. The patch merges into the payload (JSON merge-patch: `null` deletes a key) and the whole op re-validates.",
|
|
233
|
+
args: {
|
|
234
|
+
ref: {
|
|
235
|
+
type: "positional",
|
|
236
|
+
description: "Op ref(s) or target id(s) \u2014 several, space- or comma-separated, before the patch",
|
|
237
|
+
required: true
|
|
238
|
+
},
|
|
239
|
+
patch: { type: "positional", description: "JSON object, or @path to a file holding one", required: true }
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
var amendCommand = defineCommand({
|
|
243
|
+
meta: {
|
|
244
|
+
name: "amend",
|
|
245
|
+
description: `Change a staged op in place.
|
|
246
|
+
|
|
247
|
+
Examples:
|
|
248
|
+
baker ads x draft amend x_temp_abc '{"dailyBudgetAmountLocalMicro": 20000000}'
|
|
249
|
+
baker ads x draft amend x_temp_abc x_temp_def '{"entityStatus":"ACTIVE"}' # many refs, one patch`
|
|
250
|
+
},
|
|
251
|
+
args: {
|
|
252
|
+
ref: {
|
|
253
|
+
type: "positional",
|
|
254
|
+
description: "Op ref(s) or target id(s) \u2014 several, space- or comma-separated, before the patch",
|
|
255
|
+
required: true
|
|
256
|
+
},
|
|
257
|
+
patch: { type: "positional", description: "JSON object, or @path to a file", required: true }
|
|
258
|
+
},
|
|
259
|
+
run: async ({ args }) => {
|
|
260
|
+
const positionals = Array.isArray(args._) ? args._ : [];
|
|
261
|
+
const refs = draftRefs(positionals.slice(0, -1));
|
|
262
|
+
const raw = String(positionals.at(-1) ?? args.patch);
|
|
263
|
+
let patch;
|
|
264
|
+
try {
|
|
265
|
+
patch = JSON.parse(raw.startsWith("@") ? readFileSync(raw.slice(1), "utf8") : raw);
|
|
266
|
+
} catch {
|
|
267
|
+
failWriteValidation("patch must be a JSON object, or @path to a file holding one");
|
|
268
|
+
}
|
|
269
|
+
if (patch === null || typeof patch !== "object" || Array.isArray(patch)) {
|
|
270
|
+
failWriteValidation("patch must be a JSON object");
|
|
271
|
+
}
|
|
272
|
+
if (refs.length > 1) {
|
|
273
|
+
await amendDraftRefs("/api/ads/x/draft/amend", refs, patch);
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
try {
|
|
277
|
+
const chatId = requireChatId();
|
|
278
|
+
const response = await apiPost("/api/ads/x/draft/amend", {
|
|
279
|
+
chatId,
|
|
280
|
+
ref: String(args.ref),
|
|
281
|
+
patch
|
|
282
|
+
});
|
|
283
|
+
writeJsonEnvelope(response);
|
|
284
|
+
} catch (err) {
|
|
285
|
+
handleDraftError(err);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
var REMOVE_REF_ARG = {
|
|
290
|
+
ref: {
|
|
291
|
+
type: "positional",
|
|
292
|
+
description: "Op ref(s) or target id(s) \u2014 several, space- or comma-separated",
|
|
293
|
+
required: true
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
registerSchema({
|
|
297
|
+
command: "ads.x.draft.remove",
|
|
298
|
+
description: "Drop staged X ops \u2014 one, or many in one call. Removing a create cascades to everything staged that depends on it.",
|
|
299
|
+
args: REMOVE_REF_ARG
|
|
300
|
+
});
|
|
301
|
+
var removeCommand = defineCommand({
|
|
302
|
+
meta: {
|
|
303
|
+
name: "remove",
|
|
304
|
+
description: "Drop staged ops \u2014 one, or many in one call (cascades to their dependents). Example: baker ads x draft remove x_temp_abc123 x_temp_def456"
|
|
305
|
+
},
|
|
306
|
+
args: REMOVE_REF_ARG,
|
|
307
|
+
run: async ({ args }) => {
|
|
308
|
+
const refs = draftRefs(args._);
|
|
309
|
+
if (refs.length > 1) {
|
|
310
|
+
await removeDraftRefs("/api/ads/x/draft/remove", refs);
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
try {
|
|
314
|
+
const chatId = requireChatId();
|
|
315
|
+
const response = await apiPost("/api/ads/x/draft/remove", {
|
|
316
|
+
chatId,
|
|
317
|
+
ref: String(args.ref)
|
|
318
|
+
});
|
|
319
|
+
writeJsonEnvelope(response);
|
|
320
|
+
} catch (err) {
|
|
321
|
+
handleDraftError(err);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
registerSchema({
|
|
326
|
+
command: "ads.x.draft.clear",
|
|
327
|
+
description: "Drop every staged X op on this chat. Nothing reached X, so nothing needs reversing.",
|
|
328
|
+
args: {}
|
|
329
|
+
});
|
|
330
|
+
var clearCommand = defineCommand({
|
|
331
|
+
meta: { name: "clear", description: "Drop every staged X op on this chat. Example: baker ads x draft clear" },
|
|
332
|
+
args: {},
|
|
333
|
+
run: async () => {
|
|
334
|
+
try {
|
|
335
|
+
const chatId = requireChatId();
|
|
336
|
+
const response = await apiPost("/api/ads/x/draft/clear", { chatId });
|
|
337
|
+
writeJsonEnvelope(response);
|
|
338
|
+
} catch (err) {
|
|
339
|
+
handleDraftError(err);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
var draftCommand = defineCommand({
|
|
344
|
+
meta: {
|
|
345
|
+
name: "draft",
|
|
346
|
+
description: `Review and edit the X Ads changes staged on this chat.
|
|
347
|
+
|
|
348
|
+
Nothing staged has reached X. Everything applies when the chat is published,
|
|
349
|
+
and discarding the chat reverses all of it.
|
|
350
|
+
|
|
351
|
+
Examples:
|
|
352
|
+
baker ads x draft \u2014 the Campaign \u25B8 Ad group \u25B8 Ad tree
|
|
353
|
+
baker ads x draft show x_temp_abc123 \u2014 one op in full
|
|
354
|
+
baker ads x draft list --full \u2014 every op in full, in one call
|
|
355
|
+
baker ads x draft amend x_temp_abc '{"name":"New"}'
|
|
356
|
+
baker ads x draft remove x_temp_abc123
|
|
357
|
+
baker ads x draft clear`
|
|
358
|
+
},
|
|
359
|
+
subCommands: {
|
|
360
|
+
list: listCommand,
|
|
361
|
+
show: showCommand,
|
|
362
|
+
amend: amendCommand,
|
|
363
|
+
remove: removeCommand,
|
|
364
|
+
clear: clearCommand
|
|
365
|
+
},
|
|
366
|
+
// A parent must never declare `run`: citty falls through to it AFTER running
|
|
367
|
+
// the matched subcommand, so every edit would also trigger a full list.
|
|
368
|
+
args: { json: { type: "boolean", description: "Raw JSON envelope" }, full: DRAFT_FULL_ARG, chat: CHAT_READ_ARG },
|
|
369
|
+
default: "list"
|
|
370
|
+
});
|
|
371
|
+
export {
|
|
372
|
+
draftCommand
|
|
373
|
+
};
|
|
374
|
+
//# sourceMappingURL=draft-N56HPS36.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, DRAFT_FULL_ARG } from \"../../chat-arg.ts\";\nimport { amendDraftRefs, draftRefs, removeDraftRefs } from \"../../draft-refs.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 full: { type: \"boolean\", description: DRAFT_FULL_ARG.description, 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, full = false): Promise<void> {\n try {\n const chatId = resolveChatId(chat);\n const response = await apiPost<{ ok: boolean; data?: XDraftListResponse }>(\"/api/ads/x/draft\", {\n chatId,\n ...(full ? { full: true } : {}),\n });\n if (json || full || !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 full: DRAFT_FULL_ARG,\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n await listDraft(args.json === true, args.chat, args.full === true);\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: {\n type: \"positional\",\n description: \"Op ref (x_temp_* for creates, the target id for updates)\",\n required: true,\n },\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 staged ops in place instead of removing and re-staging them — one, or many with the same patch in one call. The patch merges into the payload (JSON merge-patch: `null` deletes a key) and the whole op re-validates.\",\n args: {\n ref: {\n type: \"positional\",\n description: \"Op ref(s) or target id(s) — several, space- or comma-separated, before the patch\",\n required: true,\n },\n patch: { type: \"positional\", 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\nExamples:\n baker ads x draft amend x_temp_abc '{\"dailyBudgetAmountLocalMicro\": 20000000}'\n baker ads x draft amend x_temp_abc x_temp_def '{\"entityStatus\":\"ACTIVE\"}' # many refs, one patch`,\n },\n args: {\n ref: {\n type: \"positional\",\n description: \"Op ref(s) or target id(s) — several, space- or comma-separated, before the patch\",\n required: true,\n },\n patch: { type: \"positional\", description: \"JSON object, or @path to a file\", required: true },\n },\n run: async ({ args }) => {\n const positionals = Array.isArray(args._) ? args._ : [];\n const refs = draftRefs(positionals.slice(0, -1));\n const raw = String(positionals.at(-1) ?? 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 if (refs.length > 1) {\n await amendDraftRefs(\"/api/ads/x/draft/amend\", refs, patch);\n return;\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\nconst REMOVE_REF_ARG = {\n ref: {\n type: \"positional\",\n description: \"Op ref(s) or target id(s) — several, space- or comma-separated\",\n required: true,\n },\n} as const;\n\nregisterSchema({\n command: \"ads.x.draft.remove\",\n description:\n \"Drop staged X ops — one, or many in one call. Removing a create cascades to everything staged that depends on it.\",\n args: REMOVE_REF_ARG,\n});\n\nconst removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description:\n \"Drop staged ops — one, or many in one call (cascades to their dependents). Example: baker ads x draft remove x_temp_abc123 x_temp_def456\",\n },\n args: REMOVE_REF_ARG,\n run: async ({ args }) => {\n const refs = draftRefs(args._);\n if (refs.length > 1) {\n await removeDraftRefs(\"/api/ads/x/draft/remove\", refs);\n return;\n }\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 list --full — every op in full, in one call\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\" }, full: DRAFT_FULL_ARG, 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,oBAAoB;AAQ7B,SAAS,qBAAqB;;;ACA9B,IAAM,mBAA2C;AAAA,EAC/C,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV;AAEA,SAAS,MAAM,MAAgC;AAC7C,QAAM,QAAQ,KAAK,YAAY,iBAAiB,KAAK,SAAS,IAAI;AAClE,SAAO,UAAU,KAAK,WAAW,SAAS;AAC5C;AAEA,SAAS,eAAe,YAAwD;AAC9E,QAAM,QAAkB,CAAC;AACzB,MAAI,WAAW,QAAQ,GAAG;AACxB,UAAM,KAAK,IAAI,WAAW,KAAK,EAAE;AAAA,EACnC;AACA,MAAI,WAAW,WAAW,GAAG;AAC3B,UAAM,KAAK,GAAG,WAAW,QAAQ,WAAW;AAAA,EAC9C;AACA,MAAI,WAAW,UAAU,GAAG;AAC1B,UAAM,KAAK,IAAI,WAAW,OAAO,EAAE;AAAA,EACrC;AACA,SAAO,MAAM,SAAS,IAAI,GAAG,WAAW,KAAK,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK;AACzE;AAOA,SAAS,eAAe,OAAiD;AACvE,QAAM,WAAW,oBAAI,IAAY;AACjC,QAAM,OAAO,CAAC,SAAiC;AAC7C,aAAS,IAAI,KAAK,SAAS;AAC3B,eAAW,SAAS,KAAK,UAAU;AACjC,WAAK,KAAK;AAAA,IACZ;AAAA,EACF;AACA,aAAW,QAAQ,OAAO;AACxB,SAAK,IAAI;AAAA,EACX;AACA,SAAO;AACT;AAEA,SAAS,WAAW,MAAwB,OAAe,aAAsB,KAAqB;AACpG,QAAM,SAAS,KAAK,OAAO,KAAK;AAChC,QAAM,UAAU,cAAc,KAAK,KAAK,SAAS,MAAM;AACvD,MAAI,KAAK,GAAG,MAAM,GAAG,KAAK,MAAM,KAAK,KAAK,IAAI,WAAM,MAAM,IAAI,CAAC,GAAG,OAAO,EAAE;AAC3E,aAAW,cAAc,KAAK,aAAa;AACzC,UAAM,OAAO,eAAe,UAAU;AACtC,QAAI,MAAM;AACR,UAAI,KAAK,GAAG,MAAM,KAAK,IAAI,EAAE;AAAA,IAC/B;AAAA,EACF;AACA,aAAW,WAAW,KAAK,YAAY,CAAC,GAAG;AACzC,QAAI,KAAK,GAAG,MAAM,OAAO,OAAO,EAAE;AAAA,EACpC;AACA,aAAW,SAAS,KAAK,UAAU;AACjC,eAAW,OAAO,QAAQ,GAAG,aAAa,GAAG;AAAA,EAC/C;AACF;AAEA,IAAM,aAAa;AAEnB,IAAM,kBAA0C;AAAA,EAC9C,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,WAAW;AACb;AAEA,SAAS,YAAY,IAA2B;AAC9C,SAAO,GAAG,QAAQ,WAAW,YAAY,GAAG,QAAQ,WAAW;AACjE;AAEA,SAAS,SAAS,IAA2B;AAC3C,SAAO,GAAG,QAAQ,WAAW,aAAa,GAAG,QAAQ,WAAW;AAClE;AAMA,SAAS,YAAY,OAAmC;AACtD,QAAM,UAAU,gBAAgB,MAAM,MAAM,KAAK,MAAM;AACvD,MAAI,MAAM,WAAW,aAAa,MAAM,WAAW,cAAc;AAC/D,WAAO,UAAU,MAAM,KAAK,UAAU,MAAM,UAAU,IAAI,KAAK,GAAG,IAAI,OAAO;AAAA,EAC/E;AACA,QAAM,UAAU,MAAM,IAAI,OAAO,QAAQ,EAAE;AAC3C,QAAM,SAAS,MAAM,IAAI,OAAO,WAAW,EAAE;AAC7C,SAAO,UAAU,OAAO,SAAM,OAAO,WAAW,SAAS,IAAI,KAAK,MAAM,YAAY,EAAE;AACxF;AAEA,SAAS,aAAa,OAAqC;AACzD,SAAO,MAAM,IAAI,OAAO,WAAW,EAAE,IAAI,CAAC,OAAO;AAC/C,UAAM,SACJ,GAAG,QAAQ,SAAS,uBAAuB,GAAG,QAAQ,kBAAkB,6BAA6B;AACvG,WAAO,UAAK,GAAG,OAAO,mBAAc,MAAM;AAAA,EAC5C,CAAC;AACH;AAEO,SAAS,kBAAkB,OAAmC;AACnE,MAAI,MAAM,WAAW,UAAU,MAAM,UAAU,GAAG;AAChD,WAAO;AAAA,EACT;AACA,QAAM,MAAgB,CAAC,YAAY,KAAK,GAAG,EAAE;AAC7C,QAAM,OAAO,MAAM,QAAQ,CAAC;AAC5B,QAAM,cAAc,eAAe,IAAI,EAAE,OAAO;AAChD,aAAW,QAAQ,MAAM;AACvB,eAAW,MAAM,GAAG,aAAa,GAAG;AAAA,EACtC;AACA,QAAM,WAAW,aAAa,KAAK;AACnC,MAAI,SAAS,SAAS,GAAG;AACvB,QAAI,KAAK,IAAI,GAAG,QAAQ;AAAA,EAC1B;AACA,SAAO,IAAI,KAAK,IAAI;AACtB;;;AD3GA,SAAS,iBAAiB,KAAqB;AAC7C,MAAI,eAAe,UAAU;AAC3B,iBAAa,eAAe,IAAI,SAAS,QAAG,CAAC;AAC7C,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,eAAa,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,iBAAiB,SAAS,mBAAmB,EAAE,CAAC;AACzF,UAAQ,KAAK,CAAC;AAChB;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,WAAW,aAAa,kDAAkD,UAAU,MAAM;AAAA,IACxG,MAAM,EAAE,MAAM,WAAW,aAAa,eAAe,aAAa,UAAU,MAAM;AAAA,IAClF,MAAM,EAAE,MAAM,UAAU,aAAa,iDAAiD,UAAU,MAAM;AAAA,EACxG;AACF,CAAC;AAED,eAAe,UAAU,MAAe,MAAgB,OAAO,OAAsB;AACnF,MAAI;AACF,UAAM,SAAS,cAAc,IAAI;AACjC,UAAM,WAAW,MAAM,QAAoD,oBAAoB;AAAA,MAC7F;AAAA,MACA,GAAI,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAAA,IAC/B,CAAC;AACD,QAAI,QAAQ,QAAQ,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM;AAClD,wBAAkB,QAAQ;AAC1B;AAAA,IACF;AACA,YAAQ,OAAO,MAAM,GAAG,kBAAkB,SAAS,IAAI,CAAC;AAAA,CAAI;AAAA,EAC9D,SAAS,KAAK;AACZ,qBAAiB,GAAG;AAAA,EACtB;AACF;AAEA,IAAM,cAAc,cAAc;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,WAAW,aAAa,2DAA2D;AAAA,IACjG,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,UAAU,KAAK,SAAS,MAAM,KAAK,MAAM,KAAK,SAAS,IAAI;AAAA,EACnE;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,KAAK;AAAA,MACH,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,MAAM,EAAE,MAAM,UAAU,aAAa,iDAAiD,UAAU,MAAM;AAAA,EACxG;AACF,CAAC;AAED,IAAM,cAAc,cAAc;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,KAAK,EAAE,MAAM,cAAc,aAAa,gDAAgD,UAAU,KAAK;AAAA,IACvG,MAAM;AAAA,EACR;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,SAAS,cAAc,KAAK,IAAI;AACtC,YAAM,WAAW,MAAM,QAAoD,yBAAyB;AAAA,QAClG;AAAA,QACA,KAAK,OAAO,KAAK,GAAG;AAAA,MACtB,CAAC;AACD,wBAAkB,QAAQ;AAAA,IAC5B,SAAS,KAAK;AACZ,uBAAiB,GAAG;AAAA,IACtB;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,KAAK;AAAA,MACH,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,OAAO,EAAE,MAAM,cAAc,aAAa,+CAA+C,UAAU,KAAK;AAAA,EAC1G;AACF,CAAC;AAED,IAAM,eAAe,cAAc;AAAA,EACjC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA,EACA,MAAM;AAAA,IACJ,KAAK;AAAA,MACH,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,OAAO,EAAE,MAAM,cAAc,aAAa,mCAAmC,UAAU,KAAK;AAAA,EAC9F;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,cAAc,MAAM,QAAQ,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AACtD,UAAM,OAAO,UAAU,YAAY,MAAM,GAAG,EAAE,CAAC;AAC/C,UAAM,MAAM,OAAO,YAAY,GAAG,EAAE,KAAK,KAAK,KAAK;AACnD,QAAI;AACJ,QAAI;AACF,cAAQ,KAAK,MAAM,IAAI,WAAW,GAAG,IAAI,aAAa,IAAI,MAAM,CAAC,GAAG,MAAM,IAAI,GAAG;AAAA,IACnF,QAAQ;AACN,0BAAoB,6DAA6D;AAAA,IACnF;AACA,QAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAAG;AACvE,0BAAoB,6BAA6B;AAAA,IACnD;AACA,QAAI,KAAK,SAAS,GAAG;AACnB,YAAM,eAAe,0BAA0B,MAAM,KAAK;AAC1D;AAAA,IACF;AACA,QAAI;AACF,YAAM,SAAS,cAAc;AAC7B,YAAM,WAAW,MAAM,QAAqD,0BAA0B;AAAA,QACpG;AAAA,QACA,KAAK,OAAO,KAAK,GAAG;AAAA,QACpB;AAAA,MACF,CAAC;AACD,wBAAkB,QAAQ;AAAA,IAC5B,SAAS,KAAK;AACZ,uBAAiB,GAAG;AAAA,IACtB;AAAA,EACF;AACF,CAAC;AAED,IAAM,iBAAiB;AAAA,EACrB,KAAK;AAAA,IACH,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AACF;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AACR,CAAC;AAED,IAAM,gBAAgB,cAAc;AAAA,EAClC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,OAAO,UAAU,KAAK,CAAC;AAC7B,QAAI,KAAK,SAAS,GAAG;AACnB,YAAM,gBAAgB,2BAA2B,IAAI;AACrD;AAAA,IACF;AACA,QAAI;AACF,YAAM,SAAS,cAAc;AAC7B,YAAM,WAAW,MAAM,QAAsD,2BAA2B;AAAA,QACtG;AAAA,QACA,KAAK,OAAO,KAAK,GAAG;AAAA,MACtB,CAAC;AACD,wBAAkB,QAAQ;AAAA,IAC5B,SAAS,KAAK;AACZ,uBAAiB,GAAG;AAAA,IACtB;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM,CAAC;AACT,CAAC;AAED,IAAM,eAAe,cAAc;AAAA,EACjC,MAAM,EAAE,MAAM,SAAS,aAAa,wEAAwE;AAAA,EAC5G,MAAM,CAAC;AAAA,EACP,KAAK,YAAY;AACf,QAAI;AACF,YAAM,SAAS,cAAc;AAC7B,YAAM,WAAW,MAAM,QAAqD,0BAA0B,EAAE,OAAO,CAAC;AAChH,wBAAkB,QAAQ;AAAA,IAC5B,SAAS,KAAK;AACZ,uBAAiB,GAAG;AAAA,IACtB;AAAA,EACF;AACF,CAAC;AAEM,IAAM,eAAe,cAAc;AAAA,EACxC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYf;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA;AAAA;AAAA,EAGA,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,aAAa,oBAAoB,GAAG,MAAM,gBAAgB,MAAM,cAAc;AAAA,EAC/G,SAAS;AACX,CAAC;","names":[]}
|