@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
package/dist/draft-PO5X4UVA.js
DELETED
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
loadPatchArg,
|
|
3
|
-
requireTarget
|
|
4
|
-
} from "./chunk-NRIKX35V.js";
|
|
5
|
-
import {
|
|
6
|
-
handleLinkedinError
|
|
7
|
-
} from "./chunk-42JTSTQ3.js";
|
|
8
|
-
import "./chunk-P4MXGSSJ.js";
|
|
9
|
-
import "./chunk-4NZ47VXO.js";
|
|
10
|
-
import {
|
|
11
|
-
hintLines
|
|
12
|
-
} from "./chunk-D5FY4FAK.js";
|
|
13
|
-
import "./chunk-4H6XLX7E.js";
|
|
14
|
-
import {
|
|
15
|
-
writeJsonEnvelope
|
|
16
|
-
} from "./chunk-QYH2UZAK.js";
|
|
17
|
-
import "./chunk-Y3SK6EMU.js";
|
|
18
|
-
import "./chunk-XB4NKZAQ.js";
|
|
19
|
-
import "./chunk-E56V3RFO.js";
|
|
20
|
-
import "./chunk-ZANXEMON.js";
|
|
21
|
-
import "./chunk-G6U45QD3.js";
|
|
22
|
-
import "./chunk-4ULGRGBG.js";
|
|
23
|
-
import {
|
|
24
|
-
CHAT_READ_ARG,
|
|
25
|
-
DRAFT_FULL_ARG
|
|
26
|
-
} from "./chunk-X32MFGWW.js";
|
|
27
|
-
import "./chunk-RCNAKWK7.js";
|
|
28
|
-
import "./chunk-QV6AST5T.js";
|
|
29
|
-
import "./chunk-WCU362Z6.js";
|
|
30
|
-
import "./chunk-GIWHHCD6.js";
|
|
31
|
-
import "./chunk-SOPVIIUW.js";
|
|
32
|
-
import "./chunk-G4FG5EQO.js";
|
|
33
|
-
import "./chunk-R7XDGNZD.js";
|
|
34
|
-
import "./chunk-MSMTG6OC.js";
|
|
35
|
-
import {
|
|
36
|
-
apiPost
|
|
37
|
-
} from "./chunk-GFWWHCBF.js";
|
|
38
|
-
import "./chunk-JXTNP3B5.js";
|
|
39
|
-
import {
|
|
40
|
-
requireChatId,
|
|
41
|
-
resolveChatId
|
|
42
|
-
} from "./chunk-45D6WRCJ.js";
|
|
43
|
-
import "./chunk-CCYZJMZ7.js";
|
|
44
|
-
import "./chunk-YQSBHWOI.js";
|
|
45
|
-
|
|
46
|
-
// src/commands/ads/linkedin/draft.ts
|
|
47
|
-
import { defineCommand } from "citty";
|
|
48
|
-
|
|
49
|
-
// src/commands/ads/linkedin/draft-status.ts
|
|
50
|
-
var OPERATION_LABELS = {
|
|
51
|
-
create: "Creating",
|
|
52
|
-
update: "Updating",
|
|
53
|
-
pause: "Pausing",
|
|
54
|
-
resume: "Resuming",
|
|
55
|
-
archive: "Archiving",
|
|
56
|
-
delete: "Deleting"
|
|
57
|
-
};
|
|
58
|
-
function badge(node) {
|
|
59
|
-
const label = node.operation ? OPERATION_LABELS[node.operation] : void 0;
|
|
60
|
-
if (label) {
|
|
61
|
-
return label;
|
|
62
|
-
}
|
|
63
|
-
return node.existing ? "on LinkedIn" : "staged";
|
|
64
|
-
}
|
|
65
|
-
function collectionLine(collection) {
|
|
66
|
-
const parts = [];
|
|
67
|
-
if (collection.added > 0) {
|
|
68
|
-
parts.push(`+${collection.added}`);
|
|
69
|
-
}
|
|
70
|
-
if (collection.existing > 0) {
|
|
71
|
-
parts.push(`${collection.existing} existing`);
|
|
72
|
-
}
|
|
73
|
-
if (collection.removed > 0) {
|
|
74
|
-
parts.push(`-${collection.removed}`);
|
|
75
|
-
}
|
|
76
|
-
return parts.length > 0 ? `${collection.label}: ${parts.join(", ")}` : void 0;
|
|
77
|
-
}
|
|
78
|
-
function accountsInTree(nodes) {
|
|
79
|
-
const accounts = /* @__PURE__ */ new Set();
|
|
80
|
-
const walk = (node) => {
|
|
81
|
-
accounts.add(node.accountId);
|
|
82
|
-
for (const child of node.children) {
|
|
83
|
-
walk(child);
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
for (const node of nodes) {
|
|
87
|
-
walk(node);
|
|
88
|
-
}
|
|
89
|
-
return accounts;
|
|
90
|
-
}
|
|
91
|
-
function renderNode(node, depth, lines, showAccount) {
|
|
92
|
-
const indent = " ".repeat(depth);
|
|
93
|
-
const account = showAccount ? ` \xB7 account ${node.accountId}` : "";
|
|
94
|
-
lines.push(`${indent}\u2022 ${node.name} \xB7 ${badge(node)}${account}`);
|
|
95
|
-
for (const warning of node.warnings ?? []) {
|
|
96
|
-
lines.push(`${indent} \u26A0 ${warning}`);
|
|
97
|
-
}
|
|
98
|
-
for (const collection of node.collections) {
|
|
99
|
-
const line = collectionLine(collection);
|
|
100
|
-
if (line) {
|
|
101
|
-
lines.push(`${indent} ${line}`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
for (const child of node.children) {
|
|
105
|
-
renderNode(child, depth + 1, lines, showAccount);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
function renderSection(title, nodes, lines, showAccount) {
|
|
109
|
-
if (nodes.length === 0) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
lines.push("");
|
|
113
|
-
lines.push(title);
|
|
114
|
-
for (const node of nodes) {
|
|
115
|
-
renderNode(node, 1, lines, showAccount);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
var CAMPAIGN_TREE_ENTITIES = /* @__PURE__ */ new Set(["campaignGroup", "campaign", "creative"]);
|
|
119
|
-
function renderOutcome(data, lines) {
|
|
120
|
-
const counts = /* @__PURE__ */ new Map();
|
|
121
|
-
for (const op of data.ops ?? []) {
|
|
122
|
-
const status = op.result?.status ?? "pending";
|
|
123
|
-
counts.set(status, (counts.get(status) ?? 0) + 1);
|
|
124
|
-
}
|
|
125
|
-
const summary = [...counts].map(([status, count]) => `${count} ${status}`).join(", ");
|
|
126
|
-
lines.push(`LinkedIn Ads \u2014 published \xB7 ${summary || `${data.count} op(s)`} \xB7 ${data.mode}`);
|
|
127
|
-
for (const op of data.ops ?? []) {
|
|
128
|
-
const status = op.result?.status;
|
|
129
|
-
if (status === "applied" && op.result?.error) {
|
|
130
|
-
lines.push(` \u26A0 ${op.summary} \u2014 applied in part: ${op.result.error}`);
|
|
131
|
-
continue;
|
|
132
|
-
}
|
|
133
|
-
if (status !== "failed" && status !== "skipped") {
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
const reason = op.result?.error ?? op.result?.skippedBecause ?? "no reason recorded";
|
|
137
|
-
lines.push(` \u2717 ${op.summary} \u2014 ${status}: ${reason}`);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
function renderDraftStatus(data) {
|
|
141
|
-
if (data.status === "none" || data.count === 0) {
|
|
142
|
-
return "No staged LinkedIn changes on this chat.";
|
|
143
|
-
}
|
|
144
|
-
const modeNote = data.mode === "live" ? "Live \u2014 publishing writes directly to LinkedIn." : "Simulated \u2014 publishing completes the whole draft without calling LinkedIn.";
|
|
145
|
-
const lines = [];
|
|
146
|
-
if (data.status === "applied") {
|
|
147
|
-
renderOutcome(data, lines);
|
|
148
|
-
} else if (data.status === "publishing") {
|
|
149
|
-
lines.push(`LinkedIn Ads \u2014 publishing ${data.count} change${data.count === 1 ? "" : "s"} \xB7 ${data.mode}`);
|
|
150
|
-
} else {
|
|
151
|
-
lines.push(`LinkedIn Ads \u2014 ${data.count} staged change${data.count === 1 ? "" : "s"} \xB7 ${data.mode}`);
|
|
152
|
-
}
|
|
153
|
-
lines.push(modeNote);
|
|
154
|
-
const tree = data.tree ?? [];
|
|
155
|
-
const showAccount = accountsInTree(tree).size > 1;
|
|
156
|
-
renderSection(
|
|
157
|
-
"Campaigns",
|
|
158
|
-
tree.filter((node) => CAMPAIGN_TREE_ENTITIES.has(node.entity)),
|
|
159
|
-
lines,
|
|
160
|
-
showAccount
|
|
161
|
-
);
|
|
162
|
-
const rest = tree.filter((node) => !CAMPAIGN_TREE_ENTITIES.has(node.entity));
|
|
163
|
-
renderSection("Other", rest, lines, showAccount);
|
|
164
|
-
return lines.join("\n");
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
// src/commands/ads/linkedin/draft.ts
|
|
168
|
-
async function listDraft(json, chat, full = false) {
|
|
169
|
-
try {
|
|
170
|
-
const chatId = resolveChatId(chat);
|
|
171
|
-
const response = await apiPost("/api/ads/linkedin/draft", {
|
|
172
|
-
chatId,
|
|
173
|
-
...full ? { full: true } : {}
|
|
174
|
-
});
|
|
175
|
-
if (json || full || !response.ok || !response.data) {
|
|
176
|
-
writeJsonEnvelope(response);
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
process.stdout.write(`${renderDraftStatus(response.data)}${hintLines(response)}
|
|
180
|
-
`);
|
|
181
|
-
} catch (err) {
|
|
182
|
-
handleLinkedinError(err);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
var listCommand = defineCommand({
|
|
186
|
-
meta: {
|
|
187
|
-
name: "list",
|
|
188
|
-
description: "Review everything staged as a Campaign group \u25B8 Campaign \u25B8 Creative tree (--json for the raw envelope, --full for every op's payload too). Example: baker ads linkedin draft"
|
|
189
|
-
},
|
|
190
|
-
args: {
|
|
191
|
-
json: { type: "boolean", description: "Print the raw JSON envelope instead of the readable tree" },
|
|
192
|
-
full: DRAFT_FULL_ARG,
|
|
193
|
-
chat: CHAT_READ_ARG
|
|
194
|
-
},
|
|
195
|
-
run: async ({ args }) => {
|
|
196
|
-
await listDraft(args.json === true, args.chat, args.full === true);
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
var removeCommand = defineCommand({
|
|
200
|
-
meta: {
|
|
201
|
-
name: "remove",
|
|
202
|
-
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"
|
|
203
|
-
},
|
|
204
|
-
args: {
|
|
205
|
-
ref: {
|
|
206
|
-
type: "positional",
|
|
207
|
-
description: "Op ref (li_temp_* for creates, target id/URN for updates)",
|
|
208
|
-
required: true
|
|
209
|
-
}
|
|
210
|
-
},
|
|
211
|
-
run: async ({ args }) => {
|
|
212
|
-
try {
|
|
213
|
-
const chatId = requireChatId();
|
|
214
|
-
const response = await apiPost(
|
|
215
|
-
"/api/ads/linkedin/draft/remove",
|
|
216
|
-
{ chatId, ref: args.ref }
|
|
217
|
-
);
|
|
218
|
-
writeJsonEnvelope(response);
|
|
219
|
-
} catch (err) {
|
|
220
|
-
handleLinkedinError(err);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
var clearCommand = defineCommand({
|
|
225
|
-
meta: {
|
|
226
|
-
name: "clear",
|
|
227
|
-
description: "Discard ALL staged LinkedIn ops in this chat's draft \u2014 nothing will apply on publish. Example: baker ads linkedin draft clear"
|
|
228
|
-
},
|
|
229
|
-
run: async () => {
|
|
230
|
-
try {
|
|
231
|
-
const chatId = requireChatId();
|
|
232
|
-
const response = await apiPost("/api/ads/linkedin/draft/clear", {
|
|
233
|
-
chatId
|
|
234
|
-
});
|
|
235
|
-
writeJsonEnvelope(response);
|
|
236
|
-
} catch (err) {
|
|
237
|
-
handleLinkedinError(err);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
});
|
|
241
|
-
var amendCommand = defineCommand({
|
|
242
|
-
meta: {
|
|
243
|
-
name: "amend",
|
|
244
|
-
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."
|
|
245
|
-
},
|
|
246
|
-
args: {
|
|
247
|
-
ref: { type: "positional", description: "Staged op ref (li_temp_*) or target id/URN", required: true },
|
|
248
|
-
file: { type: "string", description: "JSON file with the patch object" },
|
|
249
|
-
patch: { type: "string", description: "Inline JSON patch object" }
|
|
250
|
-
},
|
|
251
|
-
run: async ({ args }) => {
|
|
252
|
-
const ref = requireTarget(args, "op");
|
|
253
|
-
const patch = loadPatchArg(args);
|
|
254
|
-
try {
|
|
255
|
-
const chatId = requireChatId();
|
|
256
|
-
const body = { chatId, ref, patch };
|
|
257
|
-
const response = await apiPost(
|
|
258
|
-
"/api/ads/linkedin/draft/amend",
|
|
259
|
-
body
|
|
260
|
-
);
|
|
261
|
-
writeJsonEnvelope(response);
|
|
262
|
-
} catch (err) {
|
|
263
|
-
handleLinkedinError(err);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
var showCommand = defineCommand({
|
|
268
|
-
meta: {
|
|
269
|
-
name: "show",
|
|
270
|
-
description: "Print the full staged payload for one op \u2014 the receipt to verify a change looks right before publish (never truncated)."
|
|
271
|
-
},
|
|
272
|
-
args: {
|
|
273
|
-
ref: { type: "positional", description: "Staged op ref (li_temp_*) or target id/URN", required: true },
|
|
274
|
-
chat: CHAT_READ_ARG
|
|
275
|
-
},
|
|
276
|
-
run: async ({ args }) => {
|
|
277
|
-
const ref = requireTarget(args, "op");
|
|
278
|
-
try {
|
|
279
|
-
const chatId = resolveChatId(args.chat);
|
|
280
|
-
const body = { chatId, ref };
|
|
281
|
-
const response = await apiPost(
|
|
282
|
-
"/api/ads/linkedin/draft/show",
|
|
283
|
-
body
|
|
284
|
-
);
|
|
285
|
-
writeJsonEnvelope(response);
|
|
286
|
-
} catch (err) {
|
|
287
|
-
handleLinkedinError(err);
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
var linkedinDraftCommand = defineCommand({
|
|
292
|
-
meta: {
|
|
293
|
-
name: "draft",
|
|
294
|
-
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."
|
|
295
|
-
},
|
|
296
|
-
// Declared on the parent too: `default: "list"` dispatches the bare `draft --chat <id>` form, and
|
|
297
|
-
// citty prints help for a flag the parent does not know instead of forwarding it.
|
|
298
|
-
args: { full: DRAFT_FULL_ARG, chat: CHAT_READ_ARG },
|
|
299
|
-
subCommands: {
|
|
300
|
-
list: listCommand,
|
|
301
|
-
remove: removeCommand,
|
|
302
|
-
clear: clearCommand,
|
|
303
|
-
amend: amendCommand,
|
|
304
|
-
show: showCommand
|
|
305
|
-
},
|
|
306
|
-
// A parent must never declare `run`: citty falls through to it *after* running
|
|
307
|
-
// the matched subcommand, so `draft show <ref>` would also re-list the draft.
|
|
308
|
-
default: "list"
|
|
309
|
-
});
|
|
310
|
-
export {
|
|
311
|
-
linkedinDraftCommand
|
|
312
|
-
};
|
|
313
|
-
//# sourceMappingURL=draft-PO5X4UVA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/ads/linkedin/draft.ts","../src/commands/ads/linkedin/draft-status.ts"],"sourcesContent":["import type {\n LinkedinDraftAmendRequest,\n LinkedinDraftClearResponse,\n LinkedinDraftListResponse,\n LinkedinDraftRemoveResponse,\n LinkedinDraftShowRequest,\n LinkedinDraftShowResponse,\n LinkedinDraftStageResponse,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { requireChatId, resolveChatId } from \"../../../env.ts\";\nimport { CHAT_READ_ARG, DRAFT_FULL_ARG } from \"../../chat-arg.ts\";\nimport { hintLines } from \"../hints.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { renderDraftStatus } from \"./draft-status.ts\";\nimport { handleLinkedinError } from \"./shared.ts\";\nimport { loadPatchArg, requireTarget } from \"./write-shared.ts\";\n\n/**\n * List the staged draft. By default renders a readable Campaign group ▸ Campaign ▸ Creative status\n * tree so the agent can review everything it has staged at a glance; `--json` returns the raw\n * envelope for tools.\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?: LinkedinDraftListResponse }>(\"/api/ads/linkedin/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)}${hintLines(response)}\\n`);\n } catch (err) {\n handleLinkedinError(err);\n }\n}\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"Review everything staged as a Campaign group ▸ Campaign ▸ Creative tree (--json for the raw envelope, --full for every op's payload too). Example: baker ads linkedin 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\nconst removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description:\n \"Drop one staged LinkedIn op. Removing a create cascades to everything that depends on it — 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\",\n },\n args: {\n ref: {\n type: \"positional\",\n description: \"Op ref (li_temp_* for creates, target id/URN for updates)\",\n required: true,\n },\n },\n run: async ({ args }) => {\n try {\n const chatId = requireChatId();\n const response = await apiPost<{ ok: true; data: LinkedinDraftRemoveResponse }>(\n \"/api/ads/linkedin/draft/remove\",\n { chatId, ref: args.ref },\n );\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst clearCommand = defineCommand({\n meta: {\n name: \"clear\",\n description:\n \"Discard ALL staged LinkedIn ops in this chat's draft — nothing will apply on publish. Example: baker ads linkedin draft clear\",\n },\n run: async () => {\n try {\n const chatId = requireChatId();\n const response = await apiPost<{ ok: true; data: LinkedinDraftClearResponse }>(\"/api/ads/linkedin/draft/clear\", {\n chatId,\n });\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst amendCommand = defineCommand({\n meta: {\n name: \"amend\",\n description:\n \"Update a staged op in place — 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.\",\n },\n args: {\n ref: { type: \"positional\", description: \"Staged op ref (li_temp_*) or target id/URN\", required: true },\n file: { type: \"string\", description: \"JSON file with the patch object\" },\n patch: { type: \"string\", description: \"Inline JSON patch object\" },\n },\n run: async ({ args }) => {\n const ref = requireTarget(args as Record<string, unknown>, \"op\");\n const patch = loadPatchArg(args as Record<string, unknown>);\n try {\n const chatId = requireChatId();\n const body: LinkedinDraftAmendRequest = { chatId, ref, patch };\n const response = await apiPost<{ ok: true; data: LinkedinDraftStageResponse }>(\n \"/api/ads/linkedin/draft/amend\",\n body,\n );\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst showCommand = defineCommand({\n meta: {\n name: \"show\",\n description:\n \"Print the full staged payload for one op — the receipt to verify a change looks right before publish (never truncated).\",\n },\n args: {\n ref: { type: \"positional\", description: \"Staged op ref (li_temp_*) or target id/URN\", required: true },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n const ref = requireTarget(args as Record<string, unknown>, \"op\");\n try {\n const chatId = resolveChatId(args.chat);\n const body: LinkedinDraftShowRequest = { chatId, ref };\n const response = await apiPost<{ ok: true; data: LinkedinDraftShowResponse }>(\n \"/api/ads/linkedin/draft/show\",\n body,\n );\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nexport const linkedinDraftCommand = defineCommand({\n meta: {\n name: \"draft\",\n description:\n \"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.\",\n },\n // Declared on the parent too: `default: \"list\"` dispatches the bare `draft --chat <id>` form, and\n // citty prints help for a flag the parent does not know instead of forwarding it.\n args: { full: DRAFT_FULL_ARG, chat: CHAT_READ_ARG },\n subCommands: {\n list: listCommand,\n remove: removeCommand,\n clear: clearCommand,\n amend: amendCommand,\n show: showCommand,\n },\n // A parent must never declare `run`: citty falls through to it *after* running\n // the matched subcommand, so `draft show <ref>` would also re-list the draft.\n default: \"list\",\n});\n","import type { LinkedinDraftListResponse, LinkedinDraftStatusCollection, LinkedinDraftStatusNode } from \"@baker/api\";\n\n/**\n * Render the staged LinkedIn draft as a readable Campaign group ▸ Campaign ▸ Creative tree — the\n * CLI counterpart to `ads google draft list`'s campaign ▸ ad group ▸ ad tree, using the identical\n * node shape (`LinkedinDraftStatusNode` mirrors `GoogleDraftStatusNode`). Pure: takes the draft-list\n * response, returns text.\n */\n\nconst OPERATION_LABELS: Record<string, string> = {\n create: \"Creating\",\n update: \"Updating\",\n pause: \"Pausing\",\n resume: \"Resuming\",\n archive: \"Archiving\",\n delete: \"Deleting\",\n};\n\nfunction badge(node: LinkedinDraftStatusNode): string {\n const label = node.operation ? OPERATION_LABELS[node.operation] : undefined;\n if (label) {\n return label;\n }\n return node.existing ? \"on LinkedIn\" : \"staged\";\n}\n\nfunction collectionLine(collection: LinkedinDraftStatusCollection): 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 legitimately span several, and\n * two accounts can hold identically-named campaigns — so the account is printed\n * on each node once there is more than one, and left off when there is not.\n */\nfunction accountsInTree(nodes: readonly LinkedinDraftStatusNode[]): Set<string> {\n const accounts = new Set<string>();\n const walk = (node: LinkedinDraftStatusNode): 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: LinkedinDraftStatusNode, depth: number, lines: string[], showAccount: boolean): void {\n const indent = \" \".repeat(depth);\n const account = showAccount ? ` · account ${node.accountId}` : \"\";\n lines.push(`${indent}• ${node.name} · ${badge(node)}${account}`);\n for (const warning of node.warnings ?? []) {\n lines.push(`${indent} ⚠ ${warning}`);\n }\n for (const collection of node.collections) {\n const line = collectionLine(collection);\n if (line) {\n lines.push(`${indent} ${line}`);\n }\n }\n for (const child of node.children) {\n renderNode(child, depth + 1, lines, showAccount);\n }\n}\n\nfunction renderSection(title: string, nodes: LinkedinDraftStatusNode[], lines: string[], showAccount: boolean): void {\n if (nodes.length === 0) {\n return;\n }\n lines.push(\"\");\n lines.push(title);\n for (const node of nodes) {\n renderNode(node, 1, lines, showAccount);\n }\n}\n\n/** Campaign group ▸ Campaign ▸ Creative roots go under \"Campaigns\" (campaign group is the group parent). */\nconst CAMPAIGN_TREE_ENTITIES = new Set([\"campaignGroup\", \"campaign\", \"creative\"]);\n\n/**\n * What the publish did, once there is a publish to report.\n *\n * A published draft used to render exactly like a staged one — same count, same\n * tree, no mention of the outcome — so the surface an agent reaches for to see\n * what a publish did could not answer, and a publish that changed LinkedIn and\n * then failed to finish was indistinguishable from one that had not run yet.\n * The per-op results were in the response the whole time; only the renderer\n * dropped them.\n */\nfunction renderOutcome(data: LinkedinDraftListResponse, lines: string[]): void {\n const counts = new Map<string, number>();\n for (const op of data.ops ?? []) {\n const status = op.result?.status ?? \"pending\";\n counts.set(status, (counts.get(status) ?? 0) + 1);\n }\n const summary = [...counts].map(([status, count]) => `${count} ${status}`).join(\", \");\n lines.push(`LinkedIn Ads — published · ${summary || `${data.count} op(s)`} · ${data.mode}`);\n // A failure is the reason to read this at all, so it is named with its error\n // rather than left as a number to go and look up.\n for (const op of data.ops ?? []) {\n const status = op.result?.status;\n // An audience whose segment was created but whose rule or rows did not\n // land is `applied` with an error: it exists on LinkedIn and stays empty.\n if (status === \"applied\" && op.result?.error) {\n lines.push(` ⚠ ${op.summary} — applied in part: ${op.result.error}`);\n continue;\n }\n if (status !== \"failed\" && status !== \"skipped\") {\n continue;\n }\n const reason = op.result?.error ?? op.result?.skippedBecause ?? \"no reason recorded\";\n lines.push(` ✗ ${op.summary} — ${status}: ${reason}`);\n }\n}\n\nexport function renderDraftStatus(data: LinkedinDraftListResponse): string {\n if (data.status === \"none\" || data.count === 0) {\n return \"No staged LinkedIn changes on this chat.\";\n }\n const modeNote =\n data.mode === \"live\"\n ? \"Live — publishing writes directly to LinkedIn.\"\n : \"Simulated — publishing completes the whole draft without calling LinkedIn.\";\n const lines: string[] = [];\n if (data.status === \"applied\") {\n renderOutcome(data, lines);\n } else if (data.status === \"publishing\") {\n lines.push(`LinkedIn Ads — publishing ${data.count} change${data.count === 1 ? \"\" : \"s\"} · ${data.mode}`);\n } else {\n lines.push(`LinkedIn Ads — ${data.count} staged change${data.count === 1 ? \"\" : \"s\"} · ${data.mode}`);\n }\n lines.push(modeNote);\n\n const tree = data.tree ?? [];\n const showAccount = accountsInTree(tree).size > 1;\n renderSection(\n \"Campaigns\",\n tree.filter((node) => CAMPAIGN_TREE_ENTITIES.has(node.entity)),\n lines,\n showAccount,\n );\n const rest = tree.filter((node) => !CAMPAIGN_TREE_ENTITIES.has(node.entity));\n renderSection(\"Other\", rest, lines, showAccount);\n\n return lines.join(\"\\n\");\n}\n"],"mappings":"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","names":[]}
|
package/dist/draft-QCKJT7XQ.js
DELETED
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
failWriteValidation,
|
|
3
|
-
schemaArgs
|
|
4
|
-
} from "./chunk-7SNNQCDD.js";
|
|
5
|
-
import {
|
|
6
|
-
CHATGPT_ADS_REFERENCE,
|
|
7
|
-
chatgptFailure
|
|
8
|
-
} from "./chunk-FAV6GUOZ.js";
|
|
9
|
-
import {
|
|
10
|
-
writeJsonEnvelope
|
|
11
|
-
} from "./chunk-QYH2UZAK.js";
|
|
12
|
-
import {
|
|
13
|
-
CHAT_READ_ARG,
|
|
14
|
-
DRAFT_FULL_ARG
|
|
15
|
-
} from "./chunk-X32MFGWW.js";
|
|
16
|
-
import "./chunk-SOPVIIUW.js";
|
|
17
|
-
import "./chunk-G4FG5EQO.js";
|
|
18
|
-
import {
|
|
19
|
-
apiPost
|
|
20
|
-
} from "./chunk-GFWWHCBF.js";
|
|
21
|
-
import "./chunk-JXTNP3B5.js";
|
|
22
|
-
import {
|
|
23
|
-
requireChatId,
|
|
24
|
-
resolveChatId
|
|
25
|
-
} from "./chunk-45D6WRCJ.js";
|
|
26
|
-
import {
|
|
27
|
-
registerSchema
|
|
28
|
-
} from "./chunk-CCYZJMZ7.js";
|
|
29
|
-
import "./chunk-YQSBHWOI.js";
|
|
30
|
-
|
|
31
|
-
// src/commands/ads/chatgpt/draft.ts
|
|
32
|
-
import { readFileSync } from "fs";
|
|
33
|
-
import { defineCommand } from "citty";
|
|
34
|
-
|
|
35
|
-
// src/commands/ads/chatgpt/draft-status.ts
|
|
36
|
-
var OPERATION_LABELS = {
|
|
37
|
-
create: { staged: "Creating", done: "Created", notDone: "Not created" },
|
|
38
|
-
update: { staged: "Updating", done: "Updated", notDone: "Not updated" },
|
|
39
|
-
pause: { staged: "Pausing", done: "Paused", notDone: "Not paused" },
|
|
40
|
-
resume: { staged: "Resuming", done: "Resumed", notDone: "Not resumed" },
|
|
41
|
-
archive: { staged: "Archiving", done: "Archived", notDone: "Not archived" }
|
|
42
|
-
};
|
|
43
|
-
var STATUS_HEADINGS = {
|
|
44
|
-
active: "staged",
|
|
45
|
-
publishing: "publishing",
|
|
46
|
-
applied: "published",
|
|
47
|
-
discarded: "discarded"
|
|
48
|
-
};
|
|
49
|
-
function badge(node) {
|
|
50
|
-
const label = node.operation ? OPERATION_LABELS[node.operation] : void 0;
|
|
51
|
-
if (!label) {
|
|
52
|
-
return node.existing ? "on ChatGPT Ads" : "staged";
|
|
53
|
-
}
|
|
54
|
-
if (node.outcome === "applied") {
|
|
55
|
-
return label.done;
|
|
56
|
-
}
|
|
57
|
-
return node.outcome ? `${label.notDone} (${node.outcome})` : label.staged;
|
|
58
|
-
}
|
|
59
|
-
function renderNode(node, depth, out) {
|
|
60
|
-
const indent = " ".repeat(depth);
|
|
61
|
-
out.push(`${indent}${node.entity}: ${node.name} \u2014 ${badge(node)}`);
|
|
62
|
-
for (const warning of node.warnings ?? []) {
|
|
63
|
-
out.push(`${indent} ! ${warning}`);
|
|
64
|
-
}
|
|
65
|
-
for (const child of node.children) {
|
|
66
|
-
renderNode(child, depth + 1, out);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
function didNotApply(op) {
|
|
70
|
-
return op.result?.status === "failed" || op.result?.status === "skipped";
|
|
71
|
-
}
|
|
72
|
-
function didApply(op) {
|
|
73
|
-
return op.result?.status === "applied" || op.result?.status === "simulated";
|
|
74
|
-
}
|
|
75
|
-
function headingLine(draft) {
|
|
76
|
-
const heading = STATUS_HEADINGS[draft.status] ?? draft.status;
|
|
77
|
-
if (draft.status !== "applied" && draft.status !== "publishing") {
|
|
78
|
-
return `ChatGPT Ads: ${draft.count} change${draft.count === 1 ? "" : "s"} ${heading}`;
|
|
79
|
-
}
|
|
80
|
-
const applied = draft.ops.filter(didApply).length;
|
|
81
|
-
const failed = draft.ops.filter(didNotApply).length;
|
|
82
|
-
return `ChatGPT Ads: ${heading} \xB7 ${applied} applied${failed > 0 ? `, ${failed} failed` : ""}`;
|
|
83
|
-
}
|
|
84
|
-
function renderChatgptDraftStatus(draft) {
|
|
85
|
-
if (draft.status === "none" || draft.count === 0) {
|
|
86
|
-
return "No ChatGPT Ads changes staged";
|
|
87
|
-
}
|
|
88
|
-
const out = [headingLine(draft), ""];
|
|
89
|
-
for (const node of draft.tree ?? []) {
|
|
90
|
-
renderNode(node, 0, out);
|
|
91
|
-
}
|
|
92
|
-
const summaryByRef = new Map(draft.ops.map((op) => [op.ref, op.summary]));
|
|
93
|
-
const problems = draft.ops.filter(didNotApply).map((op) => {
|
|
94
|
-
if (op.result?.status === "failed") {
|
|
95
|
-
return `\u2717 ${op.summary} \u2014 failed: ${op.result.error ?? "ChatGPT Ads gave no reason"}`;
|
|
96
|
-
}
|
|
97
|
-
const waitedOn = op.result?.skippedBecause;
|
|
98
|
-
const parent = (waitedOn && summaryByRef.get(waitedOn)) ?? "a change that did not apply";
|
|
99
|
-
return `\u2717 ${op.summary} \u2014 skipped: waiting on ${parent}, which did not apply`;
|
|
100
|
-
});
|
|
101
|
-
if (problems.length > 0) {
|
|
102
|
-
out.push("", ...problems);
|
|
103
|
-
}
|
|
104
|
-
return out.join("\n");
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// src/commands/ads/chatgpt/draft.ts
|
|
108
|
-
async function run(call) {
|
|
109
|
-
try {
|
|
110
|
-
writeJsonEnvelope({ ok: true, data: await call() });
|
|
111
|
-
} catch (err) {
|
|
112
|
-
writeJsonEnvelope({ ...chatgptFailure(err, CHATGPT_ADS_REFERENCE.overview) });
|
|
113
|
-
process.exit(1);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
var LIST_ARGS = {
|
|
117
|
-
json: { type: "boolean", description: "Print the raw JSON envelope instead of the readable tree" },
|
|
118
|
-
full: DRAFT_FULL_ARG,
|
|
119
|
-
chat: CHAT_READ_ARG
|
|
120
|
-
};
|
|
121
|
-
registerSchema({
|
|
122
|
-
command: "ads.chatgpt.draft",
|
|
123
|
-
description: "Review everything staged for ChatGPT 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 change that did not land, with ChatGPT Ads' reason.",
|
|
124
|
-
args: schemaArgs(LIST_ARGS)
|
|
125
|
-
});
|
|
126
|
-
var listCommand = defineCommand({
|
|
127
|
-
meta: {
|
|
128
|
-
name: "list",
|
|
129
|
-
description: "Review everything staged as a Campaign \u25B8 Ad group \u25B8 Ad tree. Example: baker ads chatgpt draft"
|
|
130
|
-
},
|
|
131
|
-
args: LIST_ARGS,
|
|
132
|
-
run: async ({ args }) => {
|
|
133
|
-
try {
|
|
134
|
-
const full = args.full === true;
|
|
135
|
-
const draft = await apiPost("/api/ads/chatgpt/draft", {
|
|
136
|
-
chatId: resolveChatId(args.chat),
|
|
137
|
-
...full ? { full: true } : {}
|
|
138
|
-
});
|
|
139
|
-
if (args.json === true || full) {
|
|
140
|
-
writeJsonEnvelope({ ok: true, data: draft });
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
process.stdout.write(`${renderChatgptDraftStatus(draft)}
|
|
144
|
-
`);
|
|
145
|
-
} catch (err) {
|
|
146
|
-
writeJsonEnvelope({ ...chatgptFailure(err, CHATGPT_ADS_REFERENCE.overview) });
|
|
147
|
-
process.exit(1);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
var SHOW_ARGS = {
|
|
152
|
-
ref: {
|
|
153
|
-
type: "positional",
|
|
154
|
-
description: "Op ref (chatgpt_temp_* for creates), or the target id for a staged update",
|
|
155
|
-
required: true
|
|
156
|
-
},
|
|
157
|
-
chat: CHAT_READ_ARG
|
|
158
|
-
};
|
|
159
|
-
registerSchema({
|
|
160
|
-
command: "ads.chatgpt.draft.show",
|
|
161
|
-
description: "The full staged payload, warnings and before-snapshot for one change \u2014 the receipt to check before publishing.",
|
|
162
|
-
args: schemaArgs(SHOW_ARGS)
|
|
163
|
-
});
|
|
164
|
-
var showCommand = defineCommand({
|
|
165
|
-
meta: {
|
|
166
|
-
name: "show",
|
|
167
|
-
description: "Show one staged change in full. Example: baker ads chatgpt draft show chatgpt_temp_ab12"
|
|
168
|
-
},
|
|
169
|
-
args: SHOW_ARGS,
|
|
170
|
-
run: async ({ args }) => {
|
|
171
|
-
await run(
|
|
172
|
-
() => apiPost("/api/ads/chatgpt/draft/show", {
|
|
173
|
-
chatId: resolveChatId(args.chat),
|
|
174
|
-
ref: String(args.ref)
|
|
175
|
-
})
|
|
176
|
-
);
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
var AMEND_ARGS = {
|
|
180
|
-
ref: { type: "positional", description: "Op ref or target id", required: true },
|
|
181
|
-
patch: { type: "positional", description: "JSON object, or @path to a file holding one", required: true }
|
|
182
|
-
};
|
|
183
|
-
registerSchema({
|
|
184
|
-
command: "ads.chatgpt.draft.amend",
|
|
185
|
-
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; money is in micros) and the whole op re-validates.",
|
|
186
|
-
args: schemaArgs(AMEND_ARGS)
|
|
187
|
-
});
|
|
188
|
-
var amendCommand = defineCommand({
|
|
189
|
-
meta: {
|
|
190
|
-
name: "amend",
|
|
191
|
-
description: `Change a staged op in place. Money in the payload is micros: 20 = 20000000.
|
|
192
|
-
|
|
193
|
-
Example:
|
|
194
|
-
baker ads chatgpt draft amend chatgpt_temp_ab12 '{"dailyBudgetMicros": 30000000}'`
|
|
195
|
-
},
|
|
196
|
-
args: AMEND_ARGS,
|
|
197
|
-
run: async ({ args }) => {
|
|
198
|
-
const raw = String(args.patch);
|
|
199
|
-
let patch;
|
|
200
|
-
try {
|
|
201
|
-
patch = JSON.parse(raw.startsWith("@") ? readFileSync(raw.slice(1), "utf8") : raw);
|
|
202
|
-
} catch {
|
|
203
|
-
failWriteValidation("patch must be a JSON object, or @path to a file holding one");
|
|
204
|
-
}
|
|
205
|
-
if (patch === null || typeof patch !== "object" || Array.isArray(patch)) {
|
|
206
|
-
failWriteValidation("patch must be a JSON object");
|
|
207
|
-
}
|
|
208
|
-
await run(
|
|
209
|
-
() => apiPost("/api/ads/chatgpt/draft/amend", {
|
|
210
|
-
chatId: requireChatId(),
|
|
211
|
-
ref: String(args.ref),
|
|
212
|
-
patch
|
|
213
|
-
})
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
var REMOVE_ARGS = { ref: { type: "positional", description: "Op ref or target id", required: true } };
|
|
218
|
-
registerSchema({
|
|
219
|
-
command: "ads.chatgpt.draft.remove",
|
|
220
|
-
description: "Drop one staged ChatGPT Ads change. Removing a create also drops everything staged under it.",
|
|
221
|
-
args: schemaArgs(REMOVE_ARGS)
|
|
222
|
-
});
|
|
223
|
-
var removeCommand = defineCommand({
|
|
224
|
-
meta: {
|
|
225
|
-
name: "remove",
|
|
226
|
-
description: "Drop one staged change (and what depends on it). Example: baker ads chatgpt draft remove chatgpt_temp_ab12"
|
|
227
|
-
},
|
|
228
|
-
args: REMOVE_ARGS,
|
|
229
|
-
run: async ({ args }) => {
|
|
230
|
-
await run(
|
|
231
|
-
() => apiPost("/api/ads/chatgpt/draft/remove", {
|
|
232
|
-
chatId: requireChatId(),
|
|
233
|
-
ref: String(args.ref)
|
|
234
|
-
})
|
|
235
|
-
);
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
registerSchema({
|
|
239
|
-
command: "ads.chatgpt.draft.clear",
|
|
240
|
-
description: "Drop every staged ChatGPT Ads change on this chat. Nothing reached ChatGPT Ads, so nothing needs reversing.",
|
|
241
|
-
args: {}
|
|
242
|
-
});
|
|
243
|
-
var clearCommand = defineCommand({
|
|
244
|
-
meta: {
|
|
245
|
-
name: "clear",
|
|
246
|
-
description: "Drop every staged ChatGPT Ads change on this chat. Example: baker ads chatgpt draft clear"
|
|
247
|
-
},
|
|
248
|
-
args: {},
|
|
249
|
-
run: async () => {
|
|
250
|
-
await run(
|
|
251
|
-
() => apiPost("/api/ads/chatgpt/draft/clear", {
|
|
252
|
-
chatId: requireChatId()
|
|
253
|
-
})
|
|
254
|
-
);
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
var draftCommand = defineCommand({
|
|
258
|
-
meta: {
|
|
259
|
-
name: "draft",
|
|
260
|
-
description: `Review and edit the ChatGPT Ads changes staged on this chat.
|
|
261
|
-
|
|
262
|
-
Nothing staged has reached ChatGPT Ads. Everything applies when the chat is
|
|
263
|
-
published, and discarding the chat drops all of it.
|
|
264
|
-
|
|
265
|
-
Examples:
|
|
266
|
-
baker ads chatgpt draft \u2014 the Campaign \u25B8 Ad group \u25B8 Ad tree
|
|
267
|
-
baker ads chatgpt draft show chatgpt_temp_ab12 \u2014 one change in full
|
|
268
|
-
baker ads chatgpt draft list --full \u2014 every change in full, in one call
|
|
269
|
-
baker ads chatgpt draft amend chatgpt_temp_ab12 '{"name":"New"}'
|
|
270
|
-
baker ads chatgpt draft remove chatgpt_temp_ab12
|
|
271
|
-
baker ads chatgpt draft clear`
|
|
272
|
-
},
|
|
273
|
-
subCommands: {
|
|
274
|
-
list: listCommand,
|
|
275
|
-
show: showCommand,
|
|
276
|
-
amend: amendCommand,
|
|
277
|
-
remove: removeCommand,
|
|
278
|
-
clear: clearCommand
|
|
279
|
-
},
|
|
280
|
-
// A parent must never declare `run`: citty falls through to it after the
|
|
281
|
-
// matched subcommand, so every edit would also print the whole draft.
|
|
282
|
-
args: LIST_ARGS,
|
|
283
|
-
default: "list"
|
|
284
|
-
});
|
|
285
|
-
export {
|
|
286
|
-
draftCommand
|
|
287
|
-
};
|
|
288
|
-
//# sourceMappingURL=draft-QCKJT7XQ.js.map
|