@koda-sl/baker-cli 0.554.0 → 0.556.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 +10 -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-CWKKIYD6.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-QW5ZXDJR.js +447 -0
- package/dist/analytics-XPU5SANS.js +2437 -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-3OMFIKOJ.js +38 -0
- package/dist/bid-pricing-UUAC4GTQ.js +103 -0
- package/dist/brand-IZYD5SBJ.js +22 -0
- package/dist/brief-TNOKTNFJ.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-PVNQ7YWV.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-6KBW7F5S.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-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-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-7WDH6OKW.js +1902 -0
- package/dist/chunk-AL4MRNYI.js +709 -0
- package/dist/chunk-AMM4JMSN.js +91 -0
- package/dist/chunk-AU3IMZZC.js +19 -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-DWPOAU4Z.js +5471 -0
- package/dist/chunk-EENYLJUN.js +225 -0
- package/dist/chunk-EGVWSAWY.js +83 -0
- package/dist/chunk-EGVWSAWY.js.map +1 -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-KLO36KTV.js +224 -0
- package/dist/chunk-LC6PVPJX.js +76 -0
- package/dist/chunk-LETR3RQE.js +275 -0
- package/dist/chunk-MAVT2CJ4.js +66 -0
- package/dist/chunk-MJDN7CR7.js +930 -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-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-QAJFMVGU.js +91 -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-TRAMBRVO.js +191 -0
- package/dist/chunk-TWFZIHKK.js +219 -0
- package/dist/chunk-UCJAPB5Y.js +334 -0
- package/dist/chunk-VFDWUIGR.js +57 -0
- package/dist/chunk-VN3WDB4O.js +45 -0
- package/dist/chunk-VN3WDB4O.js.map +1 -0
- package/dist/chunk-WC3YSN7L.js +604 -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-XZAVBONI.js +64 -0
- package/dist/chunk-Y5PNLB24.js +84 -0
- package/dist/chunk-ZC6FICZ7.js +2209 -0
- package/dist/chunk-ZEGWP4FP.js +8954 -0
- package/dist/claim-PGDIRXIC.js +200 -0
- package/dist/cli.js +36 -36
- 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-UGRVDRWU.js +78 -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-IFOPXTZK.js +58 -0
- package/dist/creatives-WBBN6G7H.js +229 -0
- package/dist/creatives-WBBN6G7H.js.map +1 -0
- package/dist/credentials-J5DMQJWN.js +290 -0
- package/dist/critique-PQRVFC52.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-EB5ZFDVN.js +557 -0
- package/dist/draft-I2FLECEX.js +220 -0
- package/dist/draft-N56HPS36.js +374 -0
- package/dist/draft-ZLZRTPY6.js +332 -0
- package/dist/engine/index.js +5 -5
- package/dist/experiment-O6726OBP.js +1397 -0
- 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-MXUZWVOL.js +115 -0
- package/dist/feedback-PXWPR3NZ.js +136 -0
- package/dist/feedback-record-76RUAHZH.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-XFJO7VK2.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/gsc-ILEIJYWP.js +30 -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-Z7YBWRVJ.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/inspiration-WGUU7W5Z.js +53 -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-5RRWTSWK.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-DJ4VDOF4.js +1344 -0
- package/dist/linkedin-DJ4VDOF4.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-HZ5KAYSB.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-DEEKEJUB.js +35 -0
- package/dist/members-BX37KHKO.js +47 -0
- package/dist/meta-XUHI3E3L.js +122 -0
- package/dist/meta-XUHI3E3L.js.map +1 -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/posts-F7NFSUHV.js +36 -0
- package/dist/preview-IBNFQ5RQ.js +101 -0
- package/dist/preview-IBNFQ5RQ.js.map +1 -0
- package/dist/preview-OV2EZ6YF.js +245 -0
- package/dist/preview-OV2EZ6YF.js.map +1 -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-X7XVOAL3.js +96 -0
- package/dist/research-JMU4C4JZ.js +75 -0
- package/dist/research-TDH4OBX6.js +265 -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-3GCYZ2HX.js +71 -0
- package/dist/run-FRPO2WNQ.js +69 -0
- package/dist/scaffold-ad-E6DD6U46.js +1513 -0
- package/dist/scaffold-static-ad-6WNS2PXB.js +1011 -0
- package/dist/scaffold-video-QKXFQ5FC.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/scrape-O4X6VGV2.js +2209 -0
- package/dist/scrape-O4X6VGV2.js.map +1 -0
- package/dist/search-2BAY3KKX.js +177 -0
- package/dist/select-ABRNFFR2.js +110 -0
- package/dist/set-prompt-5LYHDT4E.js +199 -0
- package/dist/setup-links-QT63UZBR.js +144 -0
- package/dist/shopify-L4ZUI6OT.js +4009 -0
- package/dist/site-S6QVMP7W.js +180 -0
- package/dist/sources-6TWWOO7Q.js +30 -0
- package/dist/sources-ORG5KQSW.js +457 -0
- package/dist/stale-MLQPXNLZ.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-ZLBBYHNY.js +49 -0
- package/dist/study-writes-GBUUKX4O.js +471 -0
- package/dist/sync-7LJZPHM3.js +57 -0
- package/dist/sync-definition-MXVL2I2H.js +70 -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-RIJSQDSB.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-A4GHRHSP.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-44PVFQH7.js +125 -0
- package/dist/videos-RWPQVXS5.js +41 -0
- package/dist/viewer-check-KTRRUVZN.js +83 -0
- package/dist/web-6KUM7Q7S.js +173 -0
- package/dist/winning-ads-IT3O4EAN.js +86 -0
- package/dist/write-commands-3U5ZMIHH.js +1524 -0
- package/dist/write-commands-F5XPPLOO.js +1169 -0
- package/dist/x-X7URL52T.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-5YCCRXEU.js +0 -48
- package/dist/ads-EVQ37EV3.js +0 -120
- 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-YBHXCXWZ.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/conversions-CRL327RY.js +0 -78
- 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-E4CTMZJJ.js.map +0 -1
- 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-3MPADYS4.js +0 -220
- package/dist/draft-L56EMJQT.js +0 -374
- package/dist/draft-NLSQDRVQ.js +0 -332
- package/dist/draft-SGNQOUYH.js +0 -557
- package/dist/experiment-3NDXGQK6.js +0 -1397
- 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-IJ2UUICC.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-4FP6AHBL.js +0 -3285
- package/dist/google-HWEDJ4YS.js +0 -144
- package/dist/google-HWEDJ4YS.js.map +0 -1
- package/dist/google-ads-4DLYASRC.js +0 -198
- package/dist/gsc-YAU4EA75.js +0 -30
- 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/inspiration-DNWTXEPX.js +0 -53
- 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-OFL77SUR.js +0 -1330
- package/dist/linkedin-OFL77SUR.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-QFLNABF5.js +0 -122
- package/dist/meta-QFLNABF5.js.map +0 -1
- 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/posts-MVCGZV54.js +0 -36
- package/dist/preview-DMTQR6ZW.js +0 -218
- package/dist/preview-DMTQR6ZW.js.map +0 -1
- 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/scrape-FQUGOXCG.js +0 -2241
- package/dist/scrape-FQUGOXCG.js.map +0 -1
- 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-RJWLTNPQ.js +0 -4009
- 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/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-ZKCLP23S.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-5YCCRXEU.js.map → ads-CWKKIYD6.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-K5FCQLI5.js.map → analytics-QW5ZXDJR.js.map} +0 -0
- /package/dist/{analytics-CZMCM7XC.js.map → analytics-XPU5SANS.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-3OMFIKOJ.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-TNOKTNFJ.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-PVNQ7YWV.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-YBHXCXWZ.js.map → chatgpt-6KBW7F5S.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-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-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-OIORUNKH.js.map → chunk-7WDH6OKW.js.map} +0 -0
- /package/dist/{chunk-ZMTWQDFC.js.map → chunk-AL4MRNYI.js.map} +0 -0
- /package/dist/{chunk-JBMZVC5D.js.map → chunk-AMM4JMSN.js.map} +0 -0
- /package/dist/{chunk-4XMPL3RU.js.map → chunk-AU3IMZZC.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-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-YCAJCVW4.js.map → chunk-KLO36KTV.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-73MLPGI2.js.map → chunk-MAVT2CJ4.js.map} +0 -0
- /package/dist/{chunk-FSEFZZ2T.js.map → chunk-MJDN7CR7.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-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-IBBGABK2.js.map → chunk-QAJFMVGU.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-Y4ZBNZBU.js.map → chunk-TRAMBRVO.js.map} +0 -0
- /package/dist/{chunk-IC4MREQH.js.map → chunk-TWFZIHKK.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-5NLUTJCQ.js.map → chunk-X3GWGFZP.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/{chunk-N5AIO23H.js.map → chunk-ZC6FICZ7.js.map} +0 -0
- /package/dist/{chunk-QFVZIQRQ.js.map → chunk-ZEGWP4FP.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-CRL327RY.js.map → conversions-UGRVDRWU.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-IFOPXTZK.js.map} +0 -0
- /package/dist/{credentials-E2AIMWKX.js.map → credentials-J5DMQJWN.js.map} +0 -0
- /package/dist/{critique-JVT6X2T3.js.map → critique-PQRVFC52.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-SGNQOUYH.js.map → draft-EB5ZFDVN.js.map} +0 -0
- /package/dist/{draft-3MPADYS4.js.map → draft-I2FLECEX.js.map} +0 -0
- /package/dist/{draft-L56EMJQT.js.map → draft-N56HPS36.js.map} +0 -0
- /package/dist/{draft-NLSQDRVQ.js.map → draft-ZLZRTPY6.js.map} +0 -0
- /package/dist/{experiment-3NDXGQK6.js.map → experiment-O6726OBP.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-HJRVTU6C.js.map → feedback-MXUZWVOL.js.map} +0 -0
- /package/dist/{feedback-IVSLM5PN.js.map → feedback-PXWPR3NZ.js.map} +0 -0
- /package/dist/{feedback-record-P7CO3IGE.js.map → feedback-record-76RUAHZH.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-IJ2UUICC.js.map → ga4-XFJO7VK2.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-4FP6AHBL.js.map → google-UJ4YJGTJ.js.map} +0 -0
- /package/dist/{google-ads-4DLYASRC.js.map → google-ads-RRKKSKDD.js.map} +0 -0
- /package/dist/{gsc-YAU4EA75.js.map → gsc-ILEIJYWP.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-Z7YBWRVJ.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/{inspiration-DNWTXEPX.js.map → inspiration-WGUU7W5Z.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-5RRWTSWK.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-HZ5KAYSB.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-DEEKEJUB.js.map} +0 -0
- /package/dist/{members-N3PQSVQC.js.map → members-BX37KHKO.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/{posts-MVCGZV54.js.map → posts-F7NFSUHV.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-X7XVOAL3.js.map} +0 -0
- /package/dist/{research-MHXKAQW4.js.map → research-JMU4C4JZ.js.map} +0 -0
- /package/dist/{research-7YDQOKA6.js.map → research-TDH4OBX6.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-M7YU6KCV.js.map → run-3GCYZ2HX.js.map} +0 -0
- /package/dist/{run-2LQ7XJEO.js.map → run-FRPO2WNQ.js.map} +0 -0
- /package/dist/{scaffold-ad-6YPZ75YJ.js.map → scaffold-ad-E6DD6U46.js.map} +0 -0
- /package/dist/{scaffold-static-ad-UJEWTDU5.js.map → scaffold-static-ad-6WNS2PXB.js.map} +0 -0
- /package/dist/{scaffold-video-M4VWSVJ6.js.map → scaffold-video-QKXFQ5FC.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-ABRNFFR2.js.map} +0 -0
- /package/dist/{set-prompt-TODWV2F4.js.map → set-prompt-5LYHDT4E.js.map} +0 -0
- /package/dist/{setup-links-MNBD3UMH.js.map → setup-links-QT63UZBR.js.map} +0 -0
- /package/dist/{shopify-RJWLTNPQ.js.map → shopify-L4ZUI6OT.js.map} +0 -0
- /package/dist/{site-ZZUKS6MQ.js.map → site-S6QVMP7W.js.map} +0 -0
- /package/dist/{sources-36MJ6T4V.js.map → sources-6TWWOO7Q.js.map} +0 -0
- /package/dist/{sources-GNLQHTSJ.js.map → sources-ORG5KQSW.js.map} +0 -0
- /package/dist/{stale-GJN7UO3D.js.map → stale-MLQPXNLZ.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-ZLBBYHNY.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-MXVL2I2H.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-RIJSQDSB.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-A4GHRHSP.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-44PVFQH7.js.map} +0 -0
- /package/dist/{videos-PJAPZPOT.js.map → videos-RWPQVXS5.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-IT3O4EAN.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-ZKCLP23S.js.map → x-X7URL52T.js.map} +0 -0
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import {
|
|
2
|
+
flowDataPath,
|
|
3
|
+
isUsableStepNameKey,
|
|
4
|
+
readFlowTree,
|
|
5
|
+
requestFlowInputCall,
|
|
6
|
+
stepNameKey,
|
|
7
|
+
walkNodes,
|
|
8
|
+
writeFlowTree
|
|
9
|
+
} from "./chunk-LETR3RQE.js";
|
|
10
|
+
import {
|
|
11
|
+
flowCatalogEntry,
|
|
12
|
+
flowCatalogTypes,
|
|
13
|
+
flowNodeTriggers
|
|
14
|
+
} from "./chunk-MKLAZD23.js";
|
|
15
|
+
import "./chunk-QV6AST5T.js";
|
|
16
|
+
import "./chunk-WCU362Z6.js";
|
|
17
|
+
import "./chunk-GIWHHCD6.js";
|
|
18
|
+
import "./chunk-SOPVIIUW.js";
|
|
19
|
+
import "./chunk-G4FG5EQO.js";
|
|
20
|
+
import "./chunk-R7XDGNZD.js";
|
|
21
|
+
import "./chunk-MSMTG6OC.js";
|
|
22
|
+
import "./chunk-GFWWHCBF.js";
|
|
23
|
+
import "./chunk-JXTNP3B5.js";
|
|
24
|
+
import "./chunk-45D6WRCJ.js";
|
|
25
|
+
import {
|
|
26
|
+
registerSchema,
|
|
27
|
+
writeJson
|
|
28
|
+
} from "./chunk-CCYZJMZ7.js";
|
|
29
|
+
import "./chunk-YQSBHWOI.js";
|
|
30
|
+
|
|
31
|
+
// src/commands/flows/add.ts
|
|
32
|
+
import { randomUUID } from "crypto";
|
|
33
|
+
import { defineCommand } from "citty";
|
|
34
|
+
function unknownType(kind, type) {
|
|
35
|
+
writeJson({
|
|
36
|
+
ok: false,
|
|
37
|
+
error: {
|
|
38
|
+
code: "VALIDATION_ERROR",
|
|
39
|
+
message: `No ${kind} type "${type}".`,
|
|
40
|
+
fix: `Known types: ${flowCatalogTypes(kind).join(", ")}. See: baker flows schema ${kind}`
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
function concrete(skeleton, replacements) {
|
|
46
|
+
return { ...structuredClone(skeleton), ...replacements };
|
|
47
|
+
}
|
|
48
|
+
function stepNameRefusal(nodes, name) {
|
|
49
|
+
const key = stepNameKey(name);
|
|
50
|
+
if (!isUsableStepNameKey(key)) {
|
|
51
|
+
return {
|
|
52
|
+
message: `"${name}" cannot be a step name: it becomes the constant \`${key || "(empty)"}\`, which is not a valid identifier.`,
|
|
53
|
+
fix: 'A step name becomes `export const <NAME> = \u2026` in the form\'s generated code, so it must start with a letter and hold only letters, digits, spaces and dashes. Try "Your Details" rather than "1. Your details".'
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const clash = nodes.find((node) => typeof node.name === "string" && stepNameKey(node.name) === key);
|
|
57
|
+
if (!clash) return null;
|
|
58
|
+
return {
|
|
59
|
+
message: `This form already has a step named "${clash.name}", which collides with "${name}".`,
|
|
60
|
+
fix: `Both become the constant \`${key}\`, and the form's generated code cannot hold it twice. Pick a name that differs by more than case, spacing or punctuation.`
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
registerSchema({
|
|
64
|
+
command: "flows.add-node",
|
|
65
|
+
description: "Add a step to a form with a valid skeleton \u2014 fresh UUID, explicit condition, correct nodeData discriminator, and form.external:null for a widget. Author its copy and conditions afterwards by editing _data.json.",
|
|
66
|
+
args: {
|
|
67
|
+
slug: { type: "positional", description: "Form slug", required: true },
|
|
68
|
+
type: { type: "string", description: "Node type (see: baker flows schema node)", required: true },
|
|
69
|
+
name: { type: "string", description: "Step name \u2014 unique, Title Case", required: true },
|
|
70
|
+
parent: { type: "string", description: "Parent node id. Omit to append to the root's children.", required: false }
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
var addNodeCommand = defineCommand({
|
|
74
|
+
meta: {
|
|
75
|
+
name: "add-node",
|
|
76
|
+
description: 'Add a step to a form, with the skeleton its type requires. Example: baker flows add-node contact --type customForm --name "Contact Info"'
|
|
77
|
+
},
|
|
78
|
+
args: {
|
|
79
|
+
slug: { type: "positional", description: "Form slug", required: true },
|
|
80
|
+
type: { type: "string", description: "Node type", required: true },
|
|
81
|
+
name: { type: "string", description: "Step name \u2014 unique, Title Case", required: true },
|
|
82
|
+
parent: { type: "string", description: "Parent node id (default: the root)" }
|
|
83
|
+
},
|
|
84
|
+
run: ({ args }) => {
|
|
85
|
+
const slug = String(args.slug);
|
|
86
|
+
const type = String(args.type);
|
|
87
|
+
const name = String(args.name).trim();
|
|
88
|
+
const entry = flowCatalogEntry("node", type) ?? unknownType("node", type);
|
|
89
|
+
const tree = readFlowTree(slug);
|
|
90
|
+
const nodes = walkNodes(tree);
|
|
91
|
+
const refusal = stepNameRefusal(nodes, name);
|
|
92
|
+
if (refusal) {
|
|
93
|
+
writeJson({
|
|
94
|
+
ok: false,
|
|
95
|
+
error: {
|
|
96
|
+
code: "VALIDATION_ERROR",
|
|
97
|
+
message: refusal.message.replace("This form", `"${slug}"`),
|
|
98
|
+
fix: refusal.fix
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
const parent = args.parent ? nodes.find((node2) => node2.id === String(args.parent)) : tree;
|
|
104
|
+
if (!parent) {
|
|
105
|
+
writeJson({
|
|
106
|
+
ok: false,
|
|
107
|
+
error: {
|
|
108
|
+
code: "NOT_FOUND",
|
|
109
|
+
message: `No node with id "${args.parent}" in "${slug}".`,
|
|
110
|
+
fix: `Nodes in this form: ${nodes.map((node2) => `${node2.id} (${node2.name})`).join(", ")}`
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
const node = concrete(entry.skeleton, { id: randomUUID(), name });
|
|
116
|
+
if (!Array.isArray(parent.children)) parent.children = [];
|
|
117
|
+
parent.children.push(node);
|
|
118
|
+
writeFlowTree(slug, tree);
|
|
119
|
+
writeJson({
|
|
120
|
+
ok: true,
|
|
121
|
+
data: { slug, nodeId: node.id, type, parentId: parent.id ?? null, path: flowDataPath(slug) },
|
|
122
|
+
hints: [
|
|
123
|
+
`Now fill in this step's \`ai\` field and its copy by editing ${flowDataPath(slug)}.`,
|
|
124
|
+
// Said on every step added, because the moment a Form's shape changes
|
|
125
|
+
// is the moment its outcome can move — and a Form nobody named an
|
|
126
|
+
// outcome for reports zero conversions rather than an error.
|
|
127
|
+
`Say what this Form counts before you finish: \`baker analytics conversions --flow ${slug}\` lists every ending already spelled as an event key, including this step's. Nothing in _data.json decides it.`,
|
|
128
|
+
...entry.owners?.["nodeData.form.external"] === "request_flow_input" ? [
|
|
129
|
+
`Pick this ${type} step's resource: ${requestFlowInputCall(slug, pendingItem("node", String(node.id), type))}.`
|
|
130
|
+
] : [],
|
|
131
|
+
...entry.gotcha ? [entry.gotcha] : []
|
|
132
|
+
]
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
function resolveTrigger(node, requested) {
|
|
137
|
+
const triggers = flowNodeTriggers(node.nodeData);
|
|
138
|
+
const where = `Step "${String(node.name ?? node.id)}"${triggers.type ? ` (a ${triggers.type} step)` : ""}`;
|
|
139
|
+
const raises = triggers.available.length > 0 ? `It raises: ${triggers.available.join(", ")}.` : triggers.why ?? "";
|
|
140
|
+
const no = (message, fix) => ({ ok: false, message, fix });
|
|
141
|
+
if (!triggers.known) {
|
|
142
|
+
return requested ? { ok: true, triggerId: requested } : no(`${where} is not a node type this command knows, so --trigger is required.`, triggers.why ?? "");
|
|
143
|
+
}
|
|
144
|
+
if (requested) {
|
|
145
|
+
return triggers.available.includes(requested) ? { ok: true, triggerId: requested } : no(
|
|
146
|
+
`${where} never raises \`${requested}\`, so a side effect carrying it would be written, pass every check, and never run.`,
|
|
147
|
+
raises
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
return triggers.completion ? { ok: true, triggerId: triggers.completion } : no(`${where} has no trigger a side effect can answer.`, raises);
|
|
151
|
+
}
|
|
152
|
+
function freeSideEffectId(type, taken) {
|
|
153
|
+
for (let n = 1; ; n++) {
|
|
154
|
+
const candidate = `se-${type}-${n}`;
|
|
155
|
+
if (!taken.has(candidate)) return candidate;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
function sameTrackingSideEffect(node, type, triggerId) {
|
|
159
|
+
if (flowCatalogEntry("side-effect", type)?.owners?.tagIds !== "tags") return null;
|
|
160
|
+
const effects = Array.isArray(node.sideEffects) ? node.sideEffects : [];
|
|
161
|
+
for (const raw of effects) {
|
|
162
|
+
const effect = raw;
|
|
163
|
+
if (effect?.type === type && effect.triggerId === triggerId) return effect;
|
|
164
|
+
}
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
function secondPixelHint(node, type, triggerId) {
|
|
168
|
+
const already = sameTrackingSideEffect(node, type, triggerId);
|
|
169
|
+
if (!already) return null;
|
|
170
|
+
const event = typeof already.eventName === "string" ? ` with event "${already.eventName}"` : "";
|
|
171
|
+
return `"${String(node.name ?? node.id)}" already reports \`${triggerId}\` to ${type} as "${String(already.id)}"${event}. Give this one a different event; to change that conversion, edit "${String(already.id)}" and delete this one \u2014 the same event to the same tag counts every conversion twice.`;
|
|
172
|
+
}
|
|
173
|
+
function pendingItem(target, nodeId, kind, sideEffectId) {
|
|
174
|
+
return {
|
|
175
|
+
target,
|
|
176
|
+
nodeId,
|
|
177
|
+
kind,
|
|
178
|
+
status: `${kind} \u2014 not configured`,
|
|
179
|
+
needsInput: true,
|
|
180
|
+
...sideEffectId ? { sideEffectId } : {}
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
function configureHints(slug, nodeId, id, type, needsCard) {
|
|
184
|
+
if (!needsCard) return [];
|
|
185
|
+
return [
|
|
186
|
+
`Configure it: ${requestFlowInputCall(slug, pendingItem("sideEffect", nodeId, type, id))}. Read the destination off that call's result.`
|
|
187
|
+
];
|
|
188
|
+
}
|
|
189
|
+
registerSchema({
|
|
190
|
+
command: "flows.add-side-effect",
|
|
191
|
+
description: "Add a side effect to a step with a valid skeleton \u2014 encryptedConfig:null for a CRM, a tagIds slot for a pixel, and no oauthProviderId key. Then set where it sends with `baker flows connect` (an email: --email/--subject, written by you); only a typed secret goes to request_flow_input.",
|
|
192
|
+
args: {
|
|
193
|
+
slug: { type: "positional", description: "Form slug", required: true },
|
|
194
|
+
node: { type: "string", description: "Id of the step that fires it", required: true },
|
|
195
|
+
type: { type: "string", description: "Side-effect type (see: baker flows schema side-effect)", required: true },
|
|
196
|
+
id: { type: "string", description: "Side-effect id. Defaults to se-{type}-{n}.", required: false },
|
|
197
|
+
trigger: {
|
|
198
|
+
type: "string",
|
|
199
|
+
description: "triggerId. Defaults to the moment the step named by --node completes, which is a different id per node type. Pass this only for a non-completion moment (a HubSpot form's onFormReady, a Calendly page view, one of several iframe events); an id the step never raises is refused.",
|
|
200
|
+
required: false
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
var addSideEffectCommand = defineCommand({
|
|
205
|
+
meta: {
|
|
206
|
+
name: "add-side-effect",
|
|
207
|
+
description: "Add a side effect to a step, with the skeleton its type requires. Example: baker flows add-side-effect contact --node <id> --type googleSpreadsheet"
|
|
208
|
+
},
|
|
209
|
+
args: {
|
|
210
|
+
slug: { type: "positional", description: "Form slug", required: true },
|
|
211
|
+
node: { type: "string", description: "Id of the step that fires it", required: true },
|
|
212
|
+
type: { type: "string", description: "Side-effect type", required: true },
|
|
213
|
+
id: { type: "string", description: "Side-effect id (default se-{type}-{n})" },
|
|
214
|
+
trigger: {
|
|
215
|
+
type: "string",
|
|
216
|
+
description: "triggerId, for a non-completion moment. Default: whatever the step named by --node raises"
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
run: ({ args }) => {
|
|
220
|
+
const slug = String(args.slug);
|
|
221
|
+
const type = String(args.type);
|
|
222
|
+
const entry = flowCatalogEntry("side-effect", type) ?? unknownType("side-effect", type);
|
|
223
|
+
const tree = readFlowTree(slug);
|
|
224
|
+
const nodes = walkNodes(tree);
|
|
225
|
+
const node = nodes.find((candidate) => candidate.id === String(args.node));
|
|
226
|
+
if (!node) {
|
|
227
|
+
writeJson({
|
|
228
|
+
ok: false,
|
|
229
|
+
error: {
|
|
230
|
+
code: "NOT_FOUND",
|
|
231
|
+
message: `No node with id "${args.node}" in "${slug}".`,
|
|
232
|
+
fix: `Nodes in this form: ${nodes.map((candidate) => `${candidate.id} (${candidate.name})`).join(", ")}`
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
process.exit(1);
|
|
236
|
+
}
|
|
237
|
+
if (!Array.isArray(node.sideEffects)) node.sideEffects = [];
|
|
238
|
+
const existing = node.sideEffects;
|
|
239
|
+
const takenIds = new Set(
|
|
240
|
+
nodes.flatMap((n) => (n.sideEffects ?? []).map((se) => String(se?.id ?? "")))
|
|
241
|
+
);
|
|
242
|
+
const id = args.id ? String(args.id) : freeSideEffectId(type, takenIds);
|
|
243
|
+
if (takenIds.has(id)) {
|
|
244
|
+
writeJson({
|
|
245
|
+
ok: false,
|
|
246
|
+
error: {
|
|
247
|
+
code: "VALIDATION_ERROR",
|
|
248
|
+
message: `"${slug}" already has a side effect with id "${id}".`,
|
|
249
|
+
fix: `Drop --id to be given a free one (${freeSideEffectId(type, takenIds)}), or pick another.`
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
process.exit(1);
|
|
253
|
+
}
|
|
254
|
+
const trigger = resolveTrigger(node, args.trigger ? String(args.trigger) : void 0);
|
|
255
|
+
if (!trigger.ok) {
|
|
256
|
+
writeJson({
|
|
257
|
+
ok: false,
|
|
258
|
+
error: { code: "VALIDATION_ERROR", message: trigger.message, ...trigger.fix ? { fix: trigger.fix } : {} }
|
|
259
|
+
});
|
|
260
|
+
process.exit(1);
|
|
261
|
+
}
|
|
262
|
+
const triggerId = trigger.triggerId;
|
|
263
|
+
const secondPixel = secondPixelHint(node, type, triggerId);
|
|
264
|
+
const sideEffect = concrete(entry.skeleton, { id, triggerId });
|
|
265
|
+
existing.push(sideEffect);
|
|
266
|
+
writeFlowTree(slug, tree);
|
|
267
|
+
const needsUser = Object.entries(entry.owners ?? {}).filter(([, owner]) => owner !== "agent");
|
|
268
|
+
writeJson({
|
|
269
|
+
ok: true,
|
|
270
|
+
data: { slug, nodeId: node.id, sideEffectId: id, type, triggerId, path: flowDataPath(slug) },
|
|
271
|
+
hints: [
|
|
272
|
+
`Fires on \`${triggerId}\` \u2014 the moment "${String(node.name ?? node.id)}" raises. A side effect only runs when its triggerId is the one its own step raises, so this is set from the step, never from the side-effect type.`,
|
|
273
|
+
// A pixel side effect is the thing most often mistaken for "setting the
|
|
274
|
+
// conversion". It tells the ad platform; it tells Baker nothing, and a
|
|
275
|
+
// Form can fire every pixel it has while every Baker report says it
|
|
276
|
+
// converted nobody.
|
|
277
|
+
...needsUser.some(([, owner]) => owner === "tags") ? [
|
|
278
|
+
`This reports the conversion to ${type}. It does NOT make Baker count anything: what Baker counts is a named event, set with \`baker analytics conversions --flow ${slug}\`. Do both \u2014 they are two different systems asked the same question.`
|
|
279
|
+
] : [],
|
|
280
|
+
...secondPixel ? [secondPixel] : [],
|
|
281
|
+
...configureHints(
|
|
282
|
+
slug,
|
|
283
|
+
String(node.id),
|
|
284
|
+
id,
|
|
285
|
+
type,
|
|
286
|
+
needsUser.some(([, owner]) => owner === "request_flow_input" || owner === "connect")
|
|
287
|
+
),
|
|
288
|
+
...needsUser.some(([, owner]) => owner === "tags") ? [
|
|
289
|
+
"Fill `tagIds` with a real ref from `baker tags list`, or stage the tag first with the `tags` skill. Never invent one."
|
|
290
|
+
] : [],
|
|
291
|
+
...entry.gotcha ? [entry.gotcha] : []
|
|
292
|
+
]
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
export {
|
|
297
|
+
addNodeCommand,
|
|
298
|
+
addSideEffectCommand,
|
|
299
|
+
freeSideEffectId,
|
|
300
|
+
resolveTrigger,
|
|
301
|
+
sameTrackingSideEffect,
|
|
302
|
+
secondPixelHint,
|
|
303
|
+
stepNameRefusal
|
|
304
|
+
};
|
|
305
|
+
//# sourceMappingURL=add-Q3FGYX5Q.js.map
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import {
|
|
2
|
+
compactSource,
|
|
3
|
+
reportError,
|
|
4
|
+
reportInvalid
|
|
5
|
+
} from "./chunk-3J52GJAY.js";
|
|
6
|
+
import {
|
|
7
|
+
testimonialSourceRefreshIntervalSchema,
|
|
8
|
+
testimonialSourceTypeSchema,
|
|
9
|
+
testimonialSourcesAddRequestSchema
|
|
10
|
+
} from "./chunk-MKLAZD23.js";
|
|
11
|
+
import "./chunk-QV6AST5T.js";
|
|
12
|
+
import "./chunk-WCU362Z6.js";
|
|
13
|
+
import "./chunk-GIWHHCD6.js";
|
|
14
|
+
import "./chunk-SOPVIIUW.js";
|
|
15
|
+
import "./chunk-G4FG5EQO.js";
|
|
16
|
+
import "./chunk-R7XDGNZD.js";
|
|
17
|
+
import "./chunk-MSMTG6OC.js";
|
|
18
|
+
import {
|
|
19
|
+
apiPost
|
|
20
|
+
} from "./chunk-GFWWHCBF.js";
|
|
21
|
+
import "./chunk-JXTNP3B5.js";
|
|
22
|
+
import "./chunk-45D6WRCJ.js";
|
|
23
|
+
import {
|
|
24
|
+
registerSchema,
|
|
25
|
+
writeJson
|
|
26
|
+
} from "./chunk-CCYZJMZ7.js";
|
|
27
|
+
import "./chunk-YQSBHWOI.js";
|
|
28
|
+
|
|
29
|
+
// src/commands/testimonials/sources/add.ts
|
|
30
|
+
import { defineCommand } from "citty";
|
|
31
|
+
var SITES = testimonialSourceTypeSchema.options.join("|");
|
|
32
|
+
registerSchema({
|
|
33
|
+
command: "testimonials.sources.add",
|
|
34
|
+
description: "Add a review page as a testimonial source \u2014 Google Maps, Trustpilot, Yelp, Tripadvisor, G2, Capterra, Amazon, App Store or Google Play. Pass the page's link (it names its own site), or a business name for Google Maps. Its reviews (up to 700) are imported, tagged and made searchable in the background over the next minutes. Each imported review costs a little, so add only the client's own listings the user asked for. Applies immediately and shows on the chat as an already-applied change. Adding a listing that is already a source is a no-op that starts a fresh import.",
|
|
35
|
+
args: {
|
|
36
|
+
input: {
|
|
37
|
+
type: "string",
|
|
38
|
+
description: "The review page's link, or a business name (Google Maps only)",
|
|
39
|
+
required: true
|
|
40
|
+
},
|
|
41
|
+
platform: {
|
|
42
|
+
type: "string",
|
|
43
|
+
description: `Only to force a site: ${SITES}. A bare domain with trustpilot is that company's Trustpilot page.`,
|
|
44
|
+
required: false
|
|
45
|
+
},
|
|
46
|
+
every: {
|
|
47
|
+
type: "string",
|
|
48
|
+
description: `Auto-sync cadence: ${testimonialSourceRefreshIntervalSchema.options.join("|")} (default never)`,
|
|
49
|
+
required: false
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
function addSourceHints(input, { created, source }) {
|
|
54
|
+
const hints = [
|
|
55
|
+
created ? `Added ${source.label} on ${source.platformLabel}. Its reviews are importing in the background \u2014 they become searchable with \`baker testimonials search\` as each one is analysed, usually within a few minutes. Don't wait on them in this turn; check with \`baker testimonials sources list\`.` : `${source.label} on ${source.platformLabel} was already a source; a fresh import was started if one wasn't running.`
|
|
56
|
+
];
|
|
57
|
+
if (created && source.platform === "google" && !/^https?:\/\/|\.[a-z]{2,}\//i.test(input.trim())) {
|
|
58
|
+
hints.push(
|
|
59
|
+
`Matched the name to ${source.label} on Google Maps (${source.pageUrl ?? "no link"}). If that is not the client's business, run \`baker testimonials sources remove ${source.id}\` at once and add the listing's Google Maps link instead.`
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
if (source.refreshInterval === "never") {
|
|
63
|
+
hints.push(
|
|
64
|
+
`Auto-sync is off. If the user wants new reviews to keep arriving: \`baker testimonials sources schedule ${source.id} --every monthly\`.`
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
return hints;
|
|
68
|
+
}
|
|
69
|
+
var addCommand = defineCommand({
|
|
70
|
+
meta: {
|
|
71
|
+
name: "add",
|
|
72
|
+
description: `Add a review page as a testimonial source. Start here with the page's link; for Google Maps a business name also works.
|
|
73
|
+
|
|
74
|
+
Examples:
|
|
75
|
+
baker testimonials sources add https://www.yelp.com/biz/acme-bakery-madrid
|
|
76
|
+
baker testimonials sources add https://www.g2.com/products/acme --every monthly
|
|
77
|
+
baker testimonials sources add "Acme Bakery Madrid" # Google Maps, found by name
|
|
78
|
+
baker testimonials sources add acme.com --platform trustpilot`
|
|
79
|
+
},
|
|
80
|
+
args: {
|
|
81
|
+
input: { type: "positional", description: "Review page link, or a business name for Google Maps", required: true },
|
|
82
|
+
platform: { type: "string", description: `Force a site: ${SITES}`, required: false },
|
|
83
|
+
every: { type: "string", description: "Auto-sync: never|daily|weekly|monthly", required: false }
|
|
84
|
+
},
|
|
85
|
+
run: async ({ args }) => {
|
|
86
|
+
const parsed = testimonialSourcesAddRequestSchema.safeParse({
|
|
87
|
+
input: String(args.input ?? ""),
|
|
88
|
+
platform: args.platform ? String(args.platform).toLowerCase().replace(/[\s-]/g, "_") : void 0,
|
|
89
|
+
every: args.every ? String(args.every).toLowerCase() : void 0
|
|
90
|
+
});
|
|
91
|
+
if (!parsed.success) reportInvalid(parsed.error.issues[0]);
|
|
92
|
+
try {
|
|
93
|
+
const data = await apiPost("/api/testimonials/sources/add", parsed.data, {
|
|
94
|
+
timeoutMs: 12e4
|
|
95
|
+
});
|
|
96
|
+
const hints = addSourceHints(parsed.data.input, data);
|
|
97
|
+
writeJson({ ok: true, data: { created: data.created, source: compactSource(data.source) }, hints });
|
|
98
|
+
} catch (err) {
|
|
99
|
+
reportError(err);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
export {
|
|
104
|
+
addCommand,
|
|
105
|
+
addSourceHints
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=add-YGQBSEVK.js.map
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import "./chunk-YQSBHWOI.js";
|
|
2
|
+
|
|
3
|
+
// src/commands/ads/index.ts
|
|
4
|
+
import { defineCommand } from "citty";
|
|
5
|
+
var adsCommand = defineCommand({
|
|
6
|
+
meta: {
|
|
7
|
+
name: "ads",
|
|
8
|
+
description: `Ad platform commands. Each platform exposes its own native command surface \u2014 no forced parity.
|
|
9
|
+
|
|
10
|
+
Platforms:
|
|
11
|
+
google \u2014 Google Ads (GAQL queries, keywords, accounts, ad library)
|
|
12
|
+
meta \u2014 Meta Ads (campaigns, adsets, ads, insights, previews)
|
|
13
|
+
linkedin \u2014 LinkedIn Ads (firmographic analytics \u2014 job-title \xD7 company \xD7 industry \xD7 seniority pivots)
|
|
14
|
+
x \u2014 X (Twitter) Ads (campaigns, line items, promoted tweets, analytics)
|
|
15
|
+
chatgpt \u2014 ChatGPT Ads (account, campaigns, ad groups, ads, insights \u2014 read-only)
|
|
16
|
+
terms \u2014 which platform terms an ad account has accepted (customer lists, lead forms, \u2026) and how to accept the rest
|
|
17
|
+
|
|
18
|
+
Across platforms:
|
|
19
|
+
performance \u2014 Baker's stored copy of every connected platform's results, changes and alerts (no platform call). Start here for "how are the ads doing".
|
|
20
|
+
|
|
21
|
+
Examples:
|
|
22
|
+
baker ads performance overview
|
|
23
|
+
baker ads google accounts
|
|
24
|
+
baker ads google query --preset campaign-performance --customer-id 1234567890
|
|
25
|
+
baker ads meta accounts
|
|
26
|
+
baker ads meta campaigns --account-id act_123 --effective-status ACTIVE
|
|
27
|
+
baker ads meta insights --object act_123 --level ad --date-preset last_7d --fields impressions,spend,ctr
|
|
28
|
+
baker ads linkedin accounts
|
|
29
|
+
baker ads x accounts
|
|
30
|
+
baker ads x stats sync --preset campaign-engagement-7d --entity-ids abc,def
|
|
31
|
+
baker ads chatgpt insights --days 30 --granularity daily
|
|
32
|
+
baker ads terms --platform google --account-id 1234567890
|
|
33
|
+
Full guides: __tooling__/docs/tools/baker/ads-<platform>.md (google|meta|linkedin|x|chatgpt|performance|terms)`
|
|
34
|
+
},
|
|
35
|
+
subCommands: {
|
|
36
|
+
google: () => import("./google-UJ4YJGTJ.js").then((m) => m.googleCommand),
|
|
37
|
+
meta: () => import("./meta-XUHI3E3L.js").then((m) => m.metaCommand),
|
|
38
|
+
linkedin: () => import("./linkedin-DJ4VDOF4.js").then((m) => m.linkedinCommand),
|
|
39
|
+
x: () => import("./x-X7URL52T.js").then((m) => m.xCommand),
|
|
40
|
+
chatgpt: () => import("./chatgpt-6KBW7F5S.js").then((m) => m.chatgptCommand),
|
|
41
|
+
performance: () => import("./performance-MQLRSH44.js").then((m) => m.performanceCommand),
|
|
42
|
+
terms: () => import("./terms-NX5CAJXT.js").then((m) => m.termsCommand)
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
export {
|
|
46
|
+
adsCommand
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=ads-CWKKIYD6.js.map
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import {
|
|
2
|
+
META_LIST_SHAPE_ARGS,
|
|
3
|
+
registerMetaListSchema,
|
|
4
|
+
shapeMetaListRows,
|
|
5
|
+
writeMetaListRows
|
|
6
|
+
} from "./chunk-ZW2CN6L6.js";
|
|
7
|
+
import {
|
|
8
|
+
NAME_CONTAINS_ARG,
|
|
9
|
+
csvOrJson,
|
|
10
|
+
handleMetaError,
|
|
11
|
+
resolveAccountIdArg,
|
|
12
|
+
resolveEffectiveStatus,
|
|
13
|
+
statusFilterHints
|
|
14
|
+
} from "./chunk-QY7EK6Q4.js";
|
|
15
|
+
import "./chunk-QALAJNBG.js";
|
|
16
|
+
import "./chunk-QYH2UZAK.js";
|
|
17
|
+
import {
|
|
18
|
+
NO_CACHE_ARG
|
|
19
|
+
} from "./chunk-GO6ISZUZ.js";
|
|
20
|
+
import "./chunk-65Y3RCWP.js";
|
|
21
|
+
import {
|
|
22
|
+
apiGet
|
|
23
|
+
} from "./chunk-GFWWHCBF.js";
|
|
24
|
+
import "./chunk-JXTNP3B5.js";
|
|
25
|
+
import "./chunk-45D6WRCJ.js";
|
|
26
|
+
import "./chunk-CCYZJMZ7.js";
|
|
27
|
+
import "./chunk-YQSBHWOI.js";
|
|
28
|
+
|
|
29
|
+
// src/commands/ads/meta/ads.ts
|
|
30
|
+
import { defineCommand } from "citty";
|
|
31
|
+
var ACCOUNT_SELECTION = "Account: --account-id, else BAKER_META_AD_ACCOUNT_ID, else the company's only connected Meta ad account. With several connected it refuses with MISSING_ACCOUNT_ID listing each \u2014 re-run naming one.";
|
|
32
|
+
var listArgs = {
|
|
33
|
+
"account-id": {
|
|
34
|
+
type: "string",
|
|
35
|
+
description: "Meta ad account ID (act_123). Optional when the company connected only one account (or BAKER_META_AD_ACCOUNT_ID is set); required when several are connected."
|
|
36
|
+
},
|
|
37
|
+
"adset-id": { type: "string", description: "Filter to one adset" },
|
|
38
|
+
"campaign-id": { type: "string", description: "Filter to one campaign" },
|
|
39
|
+
"effective-status": { type: "string", description: "Comma-separated effective_status filter (overrides default)" },
|
|
40
|
+
"all-statuses": { type: "boolean", description: "Drop the default ACTIVE filter" },
|
|
41
|
+
"name-contains": NAME_CONTAINS_ARG,
|
|
42
|
+
limit: { type: "string", description: "Max rows (default 1000)" },
|
|
43
|
+
"no-cache": NO_CACHE_ARG,
|
|
44
|
+
...META_LIST_SHAPE_ARGS
|
|
45
|
+
};
|
|
46
|
+
registerMetaListSchema(
|
|
47
|
+
"ads",
|
|
48
|
+
`List ads in a Meta ad account, as a table by default: id, name, adset_id, campaign_id, effective_status, creative_id, issues (why an ad is WITH_ISSUES), created_time. Start here: baker ads meta ads --adset-id 6123. --fields takes dotted paths (e.g. id,tracking_specs); --full returns every field Meta sent; --output json returns the rows in the envelope. ${ACCOUNT_SELECTION}`,
|
|
49
|
+
listArgs
|
|
50
|
+
);
|
|
51
|
+
var listCommand = defineCommand({
|
|
52
|
+
meta: {
|
|
53
|
+
name: "list",
|
|
54
|
+
description: `List ads in a Meta ad account. Runs by default when no subcommand is given. ${ACCOUNT_SELECTION} Example: baker ads meta ads --account-id act_123`
|
|
55
|
+
},
|
|
56
|
+
args: listArgs,
|
|
57
|
+
run: async ({ args }) => {
|
|
58
|
+
const accountId = await resolveAccountIdArg(args);
|
|
59
|
+
const effectiveStatus = resolveEffectiveStatus(args);
|
|
60
|
+
try {
|
|
61
|
+
const params = { "account-id": accountId };
|
|
62
|
+
if (args["adset-id"]) params["adset-id"] = args["adset-id"];
|
|
63
|
+
if (args["campaign-id"]) params["campaign-id"] = args["campaign-id"];
|
|
64
|
+
if (effectiveStatus) params["effective-status"] = effectiveStatus;
|
|
65
|
+
if (args["name-contains"]) params["name-contains"] = args["name-contains"];
|
|
66
|
+
if (args.limit) params.limit = args.limit;
|
|
67
|
+
if (args["no-cache"]) params["skip-cache"] = "true";
|
|
68
|
+
const data = await apiGet("/api/ads/meta/ads", params);
|
|
69
|
+
const shaped = shapeMetaListRows("ads", data, args);
|
|
70
|
+
writeMetaListRows("ads", shaped, csvOrJson(args), statusFilterHints(data, effectiveStatus, "ads"));
|
|
71
|
+
} catch (err) {
|
|
72
|
+
handleMetaError(err);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
var adsListCommand = defineCommand({
|
|
77
|
+
meta: {
|
|
78
|
+
name: "ads",
|
|
79
|
+
description: `List ads in a Meta ad account, or stage writes (create/update/pause/resume/archive/delete/duplicate/copy/retag).
|
|
80
|
+
Defaults to ACTIVE only \u2014 pass --all-statuses to widen. Write subcommands stage ops on this chat's draft.
|
|
81
|
+
${ACCOUNT_SELECTION}
|
|
82
|
+
|
|
83
|
+
The dashboard shows effective_status (e.g. WITH_ISSUES, PENDING_REVIEW, DISAPPROVED, ADSET_PAUSED), not status.
|
|
84
|
+
|
|
85
|
+
Listings print a table by default: id, name, adset_id, campaign_id, effective_status, creative_id, issues
|
|
86
|
+
(why an ad is WITH_ISSUES), created_time. --fields takes dotted paths (e.g. tracking_specs,
|
|
87
|
+
preview_shareable_link); --full returns every field; --output json returns the rows as JSON.
|
|
88
|
+
|
|
89
|
+
Examples:
|
|
90
|
+
baker ads meta ads --account-id act_123
|
|
91
|
+
baker ads meta ads --adset-id 6123
|
|
92
|
+
baker ads meta ads --account-id act_123 --all-statuses --name-contains octubre --fields id,name,adset_id,creative_id \u2014 find one ad by name
|
|
93
|
+
baker ads meta ads --adset-id 6123 --fields id,name,preview_shareable_link
|
|
94
|
+
baker ads meta ads create --name "Ad 1" --adset meta_temp_as01 --creative meta_temp_cr01
|
|
95
|
+
baker ads meta ads pause 6123 --account-id act_123
|
|
96
|
+
baker ads meta ads retag 6123 --set "utm_medium=paid-social" \u2014 fix tracking on a LIVE ad, keeping everything else`
|
|
97
|
+
},
|
|
98
|
+
subCommands: {
|
|
99
|
+
list: listCommand,
|
|
100
|
+
create: () => import("./write-commands-F5XPPLOO.js").then((m) => m.adsCreateCommand),
|
|
101
|
+
update: () => import("./write-commands-F5XPPLOO.js").then((m) => m.adsUpdateCommand),
|
|
102
|
+
pause: () => import("./write-commands-F5XPPLOO.js").then((m) => m.adsPauseCommand),
|
|
103
|
+
resume: () => import("./write-commands-F5XPPLOO.js").then((m) => m.adsResumeCommand),
|
|
104
|
+
archive: () => import("./write-commands-F5XPPLOO.js").then((m) => m.adsArchiveCommand),
|
|
105
|
+
delete: () => import("./write-commands-F5XPPLOO.js").then((m) => m.adsDeleteCommand),
|
|
106
|
+
duplicate: () => import("./write-commands-F5XPPLOO.js").then((m) => m.adsDuplicateCommand),
|
|
107
|
+
copy: () => import("./copy-writes-2B36QJUY.js").then((m) => m.adsCopyCommand),
|
|
108
|
+
retag: () => import("./write-commands-F5XPPLOO.js").then((m) => m.adsRetagCommand)
|
|
109
|
+
},
|
|
110
|
+
// `args` stays even though the parent has no `run`: citty scans rawArgs for the
|
|
111
|
+
// subcommand name using THIS command's arg defs, so without them `--account-id act_1`
|
|
112
|
+
// would read `act_1` as a subcommand. `default` (not `run`) dispatches the bare
|
|
113
|
+
// invocation — citty falls through to `run` after a subcommand, double-executing it.
|
|
114
|
+
args: listArgs,
|
|
115
|
+
default: "list"
|
|
116
|
+
});
|
|
117
|
+
export {
|
|
118
|
+
adsListCommand
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=ads-H5AEYIY3.js.map
|