@koda-sl/baker-cli 0.447.0 → 0.448.0-dev.ccc3c9a37
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 +231 -42
- package/dist/account-JG7QD522.js +79 -0
- package/dist/account-V6PB6PA5.js +80 -0
- package/dist/account-VLPX7EZT.js +49 -0
- package/dist/account-reads-4P5L6CJN.js +218 -0
- package/dist/account-reads-4P5L6CJN.js.map +1 -0
- package/dist/account-writes-BGREY7ZL.js +66 -0
- package/dist/accounts-2FINK5GZ.js +114 -0
- package/dist/accounts-2UV5Z3Y6.js +75 -0
- package/dist/accounts-3EX2PFJB.js +77 -0
- package/dist/accounts-G2QT3ZVP.js +115 -0
- package/dist/accounts-N63J5YTK.js +611 -0
- package/dist/actions-PA2BPIYO.js +55 -0
- package/dist/active-entities-RDXDSMA2.js +103 -0
- package/dist/activecampaign-EE5ERO25.js +897 -0
- package/dist/activecampaign-EE5ERO25.js.map +1 -0
- package/dist/activities-RBTU2Q24.js +74 -0
- package/dist/ad-group-writes-5NTRJTVE.js +170 -0
- package/dist/ad-groups-4OTAKWUC.js +68 -0
- package/dist/ad-writes-T7W3DDKK.js +174 -0
- package/dist/add-4VKA4NDH.js +105 -0
- package/dist/add-MQO33HL3.js +97 -0
- package/dist/add-MYPHHYC4.js +302 -0
- package/dist/add-MYPHHYC4.js.map +1 -0
- package/dist/add-QM7ANAVG.js +104 -0
- package/dist/add-accounts-VDSWHJ4K.js +91 -0
- package/dist/add-accounts-VDSWHJ4K.js.map +1 -0
- package/dist/ads-HYODBAPV.js +128 -0
- package/dist/ads-HYODBAPV.js.map +1 -0
- package/dist/ads-IJCFN2N3.js +113 -0
- package/dist/ads-QKMLAPZC.js +40 -0
- package/dist/ads-XYAWONXR.js +77 -0
- package/dist/adsets-DPTIKGTG.js +176 -0
- package/dist/advertisers-ITFXIXUW.js +125 -0
- package/dist/advertisers-ITFXIXUW.js.map +1 -0
- package/dist/advertisers-SZFDOPBQ.js +120 -0
- package/dist/analytics-HFBYIPZ7.js +433 -0
- package/dist/analytics-NDZR33ZJ.js +1976 -0
- package/dist/analytics-NDZR33ZJ.js.map +1 -0
- package/dist/animate-LUKNHCF4.js +480 -0
- package/dist/assign-QCICUD72.js +77 -0
- package/dist/audience-size-HML4BLHJ.js +94 -0
- package/dist/audiences-BSABKS5K.js +268 -0
- package/dist/audiences-FWOOSUSJ.js +78 -0
- package/dist/audiences-VK4M7GLQ.js +85 -0
- package/dist/audit-DUM55J5U.js +151 -0
- package/dist/audit-JR5R75XK.js +88 -0
- package/dist/autocomplete-VX4PMMLR.js +111 -0
- package/dist/avatars-5KCRSUJ3.js +38 -0
- package/dist/bid-pricing-AIUACXUH.js +99 -0
- package/dist/brand-UBTC2WXR.js +22 -0
- package/dist/brief-NU7ZGPXO.js +490 -0
- package/dist/brief-NU7ZGPXO.js.map +1 -0
- package/dist/businesses-P3RX4UXS.js +53 -0
- package/dist/campaign-groups-SJZEDIBL.js +95 -0
- package/dist/campaign-writes-5BPVXG4C.js +170 -0
- package/dist/campaign-writes-VE6QLIDA.js +165 -0
- package/dist/campaigns-JEWEDCTC.js +109 -0
- package/dist/campaigns-MEIMSHJF.js +110 -0
- package/dist/campaigns-NCGJNJKS.js +107 -0
- package/dist/campaigns-XY7QWHDN.js +76 -0
- package/dist/canvas-DK2DH7BA.js +46 -0
- package/dist/canvas-DK2DH7BA.js.map +1 -0
- package/dist/capabilities-W6SPXOPF.js +144 -0
- package/dist/cards-CLD4WX6G.js +85 -0
- package/dist/catalog-W6RBOIOF.js +64 -0
- package/dist/catalog-W6RBOIOF.js.map +1 -0
- package/dist/catalogs-DINPKQXY.js +128 -0
- package/dist/changes-N2YZXAPF.js +135 -0
- package/dist/chatgpt-TPAP6BVY.js +47 -0
- package/dist/chats-FKVVBXVF.js +262 -0
- package/dist/chunk-237WE5LX.js +455 -0
- package/dist/chunk-237WE5LX.js.map +1 -0
- package/dist/chunk-24IQ6K7K.js +103 -0
- package/dist/chunk-2FZG5DD2.js +297 -0
- package/dist/chunk-2T3EH2MU.js +363 -0
- package/dist/chunk-2Y5UE2CV.js +174 -0
- package/dist/chunk-2ZZR2SOF.js +215 -0
- package/dist/chunk-2ZZR2SOF.js.map +1 -0
- package/dist/chunk-3KPQDXIU.js +1830 -0
- package/dist/chunk-4AFGT3L3.js +46 -0
- package/dist/chunk-4JKBMKFC.js +225 -0
- package/dist/chunk-4KBWL7S4.js +610 -0
- package/dist/chunk-4R3QKEDV.js +136 -0
- package/dist/chunk-536R4RRM.js +166 -0
- package/dist/chunk-536R4RRM.js.map +1 -0
- package/dist/chunk-57XJ7QF7.js +65 -0
- package/dist/chunk-57XJ7QF7.js.map +1 -0
- package/dist/chunk-6AJ6ZD73.js +172 -0
- package/dist/chunk-6AJ6ZD73.js.map +1 -0
- package/dist/chunk-6SL6463H.js +309 -0
- package/dist/chunk-7TRSFEHZ.js +51 -0
- package/dist/chunk-AOCG7COT.js +474 -0
- package/dist/chunk-AOCG7COT.js.map +1 -0
- package/dist/chunk-APNV7FMK.js +191 -0
- package/dist/chunk-AR7PU7BB.js +76 -0
- package/dist/chunk-AR7PU7BB.js.map +1 -0
- package/dist/chunk-B2HLSTK6.js +392 -0
- package/dist/chunk-B2HLSTK6.js.map +1 -0
- package/dist/chunk-B2VKGTBS.js +3151 -0
- package/dist/chunk-B2VKGTBS.js.map +1 -0
- package/dist/chunk-BC2BXRXY.js +2887 -0
- package/dist/chunk-BC2BXRXY.js.map +1 -0
- package/dist/chunk-BC6M5YYV.js +1599 -0
- package/dist/chunk-BC6M5YYV.js.map +1 -0
- package/dist/chunk-BCSOWRQL.js +76 -0
- package/dist/chunk-BIZH3X6P.js +817 -0
- package/dist/chunk-BIZH3X6P.js.map +1 -0
- package/dist/chunk-BJEW3LST.js +296 -0
- package/dist/chunk-BYKUAX26.js +106 -0
- package/dist/chunk-C4KJHTQU.js +1079 -0
- package/dist/chunk-C4KJHTQU.js.map +1 -0
- package/dist/chunk-C7NPNSFO.js +169 -0
- package/dist/chunk-CAMX6OHF.js +3182 -0
- package/dist/chunk-CAMX6OHF.js.map +1 -0
- package/dist/chunk-CLK2FPAV.js +76 -0
- package/dist/chunk-CLK2FPAV.js.map +1 -0
- package/dist/chunk-CVIMIOPO.js +94 -0
- package/dist/chunk-D3RTGIT4.js +2102 -0
- package/dist/chunk-D3RTGIT4.js.map +1 -0
- package/dist/chunk-DAKIMGUS.js +74 -0
- package/dist/chunk-DCRUGS3G.js +25 -0
- package/dist/chunk-DJPCTTUN.js +1743 -0
- package/dist/chunk-DJPCTTUN.js.map +1 -0
- package/dist/chunk-DJUHGO3O.js +547 -0
- package/dist/chunk-DJUHGO3O.js.map +1 -0
- package/dist/chunk-DMA77LLI.js +106 -0
- package/dist/chunk-EEEAC655.js +45 -0
- package/dist/chunk-EEEAC655.js.map +1 -0
- package/dist/chunk-EESOZY5S.js +26 -0
- package/dist/chunk-EIZMOICE.js +175 -0
- package/dist/chunk-F3IVR3V3.js +136 -0
- package/dist/chunk-FSX6CQ2Z.js +188 -0
- package/dist/chunk-G7LAQE56.js +56 -0
- package/dist/chunk-G7QKXFQ2.js +66 -0
- package/dist/chunk-G7XY4T6K.js +23 -0
- package/dist/chunk-GIWHHCD6.js +145 -0
- package/dist/chunk-GIWHHCD6.js.map +1 -0
- package/dist/chunk-GRJCZF2H.js +5187 -0
- package/dist/chunk-GRJCZF2H.js.map +1 -0
- package/dist/chunk-HCDCWXSU.js +346 -0
- package/dist/chunk-HKSLIV4T.js +533 -0
- package/dist/chunk-HKSLIV4T.js.map +1 -0
- package/dist/chunk-I2DNBEV6.js +4227 -0
- package/dist/chunk-I2DNBEV6.js.map +1 -0
- package/dist/chunk-I4IVUAQN.js +337 -0
- package/dist/chunk-ICJFL7DU.js +35 -0
- package/dist/chunk-ICJFL7DU.js.map +1 -0
- package/dist/chunk-IWNZCYWI.js +74 -0
- package/dist/chunk-JF5LNI6O.js +84 -0
- package/dist/chunk-JJZBZYNK.js +96 -0
- package/dist/chunk-JPK34QPS.js +134 -0
- package/dist/chunk-JPK34QPS.js.map +1 -0
- package/dist/chunk-JZP5IODJ.js +98 -0
- package/dist/chunk-KL5VTXIK.js +149 -0
- package/dist/chunk-KL5VTXIK.js.map +1 -0
- package/dist/chunk-KWMYTVHI.js +455 -0
- package/dist/chunk-LFGCOAB4.js +75 -0
- package/dist/chunk-LLN6WTER.js +665 -0
- package/dist/chunk-LLN6WTER.js.map +1 -0
- package/dist/chunk-LO7OQKUD.js +4410 -0
- package/dist/chunk-LO7OQKUD.js.map +1 -0
- package/dist/chunk-LPRUP3ZX.js +172 -0
- package/dist/chunk-MAGSNHYB.js +6214 -0
- package/dist/chunk-MAGSNHYB.js.map +1 -0
- package/dist/chunk-MD3VH5UG.js +84 -0
- package/dist/chunk-MFORE6F4.js +19 -0
- package/dist/chunk-MMBHCAON.js +160 -0
- package/dist/chunk-MMOTJIV6.js +216 -0
- package/dist/chunk-MMOTJIV6.js.map +1 -0
- package/dist/chunk-NIGGMK7L.js +125 -0
- package/dist/chunk-NN7A2ILR.js +433 -0
- package/dist/chunk-O356YNIW.js +509 -0
- package/dist/chunk-O356YNIW.js.map +1 -0
- package/dist/chunk-OUQMJRH6.js +159 -0
- package/dist/chunk-OXKUWTFL.js +494 -0
- package/dist/chunk-P5T7OZKV.js +26 -0
- package/dist/chunk-PAJJXZ3Z.js +170 -0
- package/dist/chunk-PC56KVAD.js +74 -0
- package/dist/chunk-PEWNEPDR.js +206 -0
- package/dist/chunk-PY4FAOW6.js +275 -0
- package/dist/chunk-PY4FAOW6.js.map +1 -0
- package/dist/chunk-Q2T4XZG4.js +139 -0
- package/dist/chunk-QEHICHMP.js +875 -0
- package/dist/chunk-QEHICHMP.js.map +1 -0
- package/dist/chunk-RCR6RVYE.js +274 -0
- package/dist/chunk-RH2H5PBV.js +111 -0
- package/dist/chunk-S3L2ITS7.js +111 -0
- package/dist/chunk-S3L2ITS7.js.map +1 -0
- package/dist/chunk-S3XM4LD3.js +57 -0
- package/dist/chunk-SEPPFM5S.js +228 -0
- package/dist/chunk-SEPPFM5S.js.map +1 -0
- package/dist/chunk-SFHL3KWY.js +96 -0
- package/dist/chunk-SQ7DRYCC.js +150 -0
- package/dist/chunk-SSVZM3P6.js +333 -0
- package/dist/chunk-T64IRDKW.js +52 -0
- package/dist/chunk-T64IRDKW.js.map +1 -0
- package/dist/chunk-TMNLIA7R.js +60 -0
- package/dist/chunk-UF55TADX.js +92 -0
- package/dist/chunk-UGI33KTO.js +55 -0
- package/dist/chunk-UK2OTLT3.js +197 -0
- package/dist/chunk-UU3FGKUW.js +207 -0
- package/dist/chunk-UUBHU2TY.js +304 -0
- package/dist/chunk-UUBHU2TY.js.map +1 -0
- package/dist/chunk-UX7HIGS7.js +67 -0
- package/dist/chunk-VDZIGI2C.js +98 -0
- package/dist/chunk-VF6JFG27.js +846 -0
- package/dist/chunk-VF6JFG27.js.map +1 -0
- package/dist/chunk-VKVIBQP3.js +486 -0
- package/dist/chunk-VLF2M4GZ.js +592 -0
- package/dist/chunk-VTF7XNOP.js +58 -0
- package/dist/chunk-WDA3L4NF.js +382 -0
- package/dist/chunk-WMN2WKNZ.js +1442 -0
- package/dist/chunk-WMN2WKNZ.js.map +1 -0
- package/dist/chunk-XDV6Q33B.js +42 -0
- package/dist/chunk-XQIOCIDO.js +204 -0
- package/dist/chunk-XQIOCIDO.js.map +1 -0
- package/dist/chunk-XYC26BDM.js +133 -0
- package/dist/chunk-YHQYDNYD.js +23992 -0
- package/dist/chunk-YHQYDNYD.js.map +1 -0
- package/dist/chunk-YOARYFC2.js +6667 -0
- package/dist/chunk-YOARYFC2.js.map +1 -0
- package/dist/chunk-YPCVPDU7.js +455 -0
- package/dist/chunk-YPCVPDU7.js.map +1 -0
- package/dist/chunk-YTWNY3RF.js +97 -0
- package/dist/claim-JLVISHS4.js +197 -0
- package/dist/cli.js +41 -37
- package/dist/cli.js.map +1 -1
- package/dist/client-G6DGRGKT.js +19 -0
- package/dist/code-AYN42EK7.js +76 -0
- package/dist/companies-XDMOP2GL.js +195 -0
- package/dist/complete-XM7VLC4F.js +81 -0
- package/dist/config-UE7GCROG.js +88 -0
- package/dist/connect-VTDKGYP3.js +42 -0
- package/dist/content-5LHM4PBE.js +85 -0
- package/dist/content-5LHM4PBE.js.map +1 -0
- package/dist/conversation-F53OE25Y.js +93 -0
- package/dist/conversion-report-35MLL3FA.js +125 -0
- package/dist/conversion-upload-command-CV2TA7OV.js +438 -0
- package/dist/conversion-writes-NSZPNMPE.js +120 -0
- package/dist/conversions-7YO6DDL3.js +135 -0
- package/dist/conversions-XNISCCC2.js +76 -0
- package/dist/countries-NMWPKFFW.js +82 -0
- package/dist/create-ARERZYCL.js +59 -0
- package/dist/create-C6ZVYIF5.js +207 -0
- package/dist/create-FAPJFCZE.js +235 -0
- package/dist/create-M7TUO3XS.js +130 -0
- package/dist/creatives-3YIV6IOK.js +182 -0
- package/dist/creatives-QZCO6WGH.js +51 -0
- package/dist/creatives-WJLJ3NKP.js +87 -0
- package/dist/credentials-2DO23MYD.js +287 -0
- package/dist/credentials-2DO23MYD.js.map +1 -0
- package/dist/critique-56MNXW7R.js +1449 -0
- package/dist/critique-KRIKEHF6.js +213 -0
- package/dist/crm-OETFQNR3.js +224 -0
- package/dist/crm-WXCFB4TU.js +318 -0
- package/dist/crop-VCP2JLQL.js +113 -0
- package/dist/currency-MNNDKY4Z.js +88 -0
- package/dist/custom-conversions-CIU525HM.js +125 -0
- package/dist/customers-GTPEABJI.js +56 -0
- package/dist/decide-NFTEKQKC.js +199 -0
- package/dist/decide-NFTEKQKC.js.map +1 -0
- package/dist/delete-5CURRI25.js +71 -0
- package/dist/delete-CLC2Q2OE.js +63 -0
- package/dist/delete-CQ6Q3URI.js +54 -0
- package/dist/delete-JIRZBBDD.js +69 -0
- package/dist/delete-LD3F4UIW.js +66 -0
- package/dist/delete-LGZ5OI4C.js +71 -0
- package/dist/demographics-EK2ZPHWK.js +138 -0
- package/dist/describe-BNB6643C.js +97 -0
- package/dist/describe-ZXGFTCDR.js +97 -0
- package/dist/dimensions-IU4ETG4U.js +101 -0
- package/dist/discard-VWCXYJWU.js +66 -0
- package/dist/discover-4EQWGIAN.js +172 -0
- package/dist/discover-4N3V5K2R.js +93 -0
- package/dist/discover-4N3V5K2R.js.map +1 -0
- package/dist/domain-I2SAGVAB.js +98 -0
- package/dist/download-D7TB4744.js +299 -0
- package/dist/draft-4VOOSJQJ.js +233 -0
- package/dist/draft-6KG2YFOY.js +328 -0
- package/dist/draft-APDGACIC.js +306 -0
- package/dist/draft-D76C4JR3.js +103 -0
- package/dist/draft-HFH2Y6F5.js +281 -0
- package/dist/draft-NLUJX7TA.js +307 -0
- package/dist/draft-NLUJX7TA.js.map +1 -0
- package/dist/draft-NVVWWQVC.js +217 -0
- package/dist/draft-NWLPLTWM.js +100 -0
- package/dist/engine/index.d.ts +12 -0
- package/dist/engine/index.js +13 -14
- package/dist/env-LHLGM2YJ.js +43 -0
- package/dist/experiment-4SUIXVBP.js +1397 -0
- package/dist/experiment-4SUIXVBP.js.map +1 -0
- package/dist/export-VGCFD7GL.js +168 -0
- package/dist/extract-32J7V2RX.js +113 -0
- package/dist/facets-WVI6VBDC.js +114 -0
- package/dist/favorites-WKV5H5OF.js +178 -0
- package/dist/feed-2CRO4HA6.js +177 -0
- package/dist/feed-2CRO4HA6.js.map +1 -0
- package/dist/feedback-NMNKYEMU.js +66 -0
- package/dist/feedback-record-2VYBMWMO.js +175 -0
- package/dist/fetch-CENBDLT6.js +176 -0
- package/dist/fetch-XQFPE3MI.js +139 -0
- package/dist/find-PNDKEOXT.js +134 -0
- package/dist/fit-SEWGCEW5.js +45 -0
- package/dist/flows-3N4RPGSP.js +247 -0
- package/dist/flows-3N4RPGSP.js.map +1 -0
- package/dist/follow-BB5KUEXZ.js +94 -0
- package/dist/follow-BB5KUEXZ.js.map +1 -0
- package/dist/follow-competitors-EURYGGXE.js +112 -0
- package/dist/follow-competitors-EURYGGXE.js.map +1 -0
- package/dist/following-CA5BQXYB.js +113 -0
- package/dist/following-CA5BQXYB.js.map +1 -0
- package/dist/fonts-KUCQAR7N.js +34 -0
- package/dist/forecast-G5KRTVDM.js +168 -0
- package/dist/forecast-G5KRTVDM.js.map +1 -0
- package/dist/forecast-PI52G2GL.js +104 -0
- package/dist/funding-ZRC25X5I.js +85 -0
- package/dist/funnel-WGFMUWQP.js +394 -0
- package/dist/funnel-WGFMUWQP.js.map +1 -0
- package/dist/ga4-YDKXVJOC.js +55 -0
- package/dist/generate-BVMMX3SS.js +262 -0
- package/dist/get-7MSF4RVQ.js +59 -0
- package/dist/get-FILH7BDT.js +78 -0
- package/dist/get-FILH7BDT.js.map +1 -0
- package/dist/get-KFVPIDIA.js +61 -0
- package/dist/get-NHQ2XYKZ.js +63 -0
- package/dist/get-TCDAYTZA.js +56 -0
- package/dist/get-TCDAYTZA.js.map +1 -0
- package/dist/get-UMMTY74K.js +92 -0
- package/dist/get-YM77HCL5.js +63 -0
- package/dist/gif-X323HXS2.js +94 -0
- package/dist/google-76A4MHQH.js +136 -0
- package/dist/google-OZTCY7HD.js +3190 -0
- package/dist/google-OZTCY7HD.js.map +1 -0
- package/dist/google-ads-S6O4MLKA.js +195 -0
- package/dist/group-CTIZVYX2.js +43 -0
- package/dist/group-HKWQ75CJ.js +43 -0
- package/dist/gsc-CORRYJBJ.js +30 -0
- package/dist/history-4U7FJGEM.js +133 -0
- package/dist/history-BXOMJ5PL.js +67 -0
- package/dist/hubspot-I5MFAZ4G.js +779 -0
- package/dist/icon-6QW63AHG.js +137 -0
- package/dist/ideas-QDS5XA4S.js +32 -0
- package/dist/images-NVTA2OHD.js +90 -0
- package/dist/improve-WR23CHYH.js +86 -0
- package/dist/ingest-QAVJ2J7F.js +107 -0
- package/dist/ingest-XJHV3GG6.js +23 -0
- package/dist/insights-AW7SOGHI.js +122 -0
- package/dist/insights-IJEPLWQH.js +423 -0
- package/dist/inspect-7I53PWCF.js +189 -0
- package/dist/inspiration-TJJFUVY2.js +53 -0
- package/dist/intent-VEUQS34Z.js +95 -0
- package/dist/job-K7LAIBYN.js +202 -0
- package/dist/job-create-DFZL4CGA.js +109 -0
- package/dist/job-status-6Q2TVTEO.js +74 -0
- package/dist/keep-XJFCLVCP.js +78 -0
- package/dist/keyword-gap-CUOGKUMM.js +130 -0
- package/dist/keyword-metrics-LK7FME4N.js +197 -0
- package/dist/keywords-for-site-4E7UU44P.js +128 -0
- package/dist/landing-I65PFN7H.js +28 -0
- package/dist/landings-SQJWZOJR.js +151 -0
- package/dist/landings-SQJWZOJR.js.map +1 -0
- package/dist/languages-KPPKX3E2.js +40 -0
- package/dist/languages-MGEBLO64.js +55 -0
- package/dist/launches-E3Y6NCQE.js +19 -0
- package/dist/layerize-N4IQ2KE7.js +190 -0
- package/dist/leads-PPMOBH7U.js +293 -0
- package/dist/leads-TNEQUOUN.js +90 -0
- package/dist/learn-QQS323PS.js +203 -0
- package/dist/library-4QQAVB6X.js +109 -0
- package/dist/lighthouse-CD47CPJM.js +75 -0
- package/dist/line-item-writes-QJZQUQ4E.js +208 -0
- package/dist/line-items-ESEAXGBV.js +103 -0
- package/dist/link-DPJYS4WY.js +64 -0
- package/dist/linkedin-EJPNC4VY.js +1008 -0
- package/dist/list-A45NTPSJ.js +76 -0
- package/dist/list-GNP4GIV2.js +51 -0
- package/dist/list-KQFLOVC4.js +57 -0
- package/dist/list-MDHK3ENJ.js +50 -0
- package/dist/list-PRUFXMXW.js +65 -0
- package/dist/list-S3BAQCTL.js +303 -0
- package/dist/list-UU5NPLJ7.js +151 -0
- package/dist/list-V525A4Z4.js +63 -0
- package/dist/locations-J2PVPDZU.js +67 -0
- package/dist/locations-TFOYESTF.js +40 -0
- package/dist/log-XQBEJOOW.js +92 -0
- package/dist/logo-KQD5KUAH.js +18 -0
- package/dist/lookup-QCREWUV4.js +22 -0
- package/dist/make-NZHJ7ICV.js +633 -0
- package/dist/make-NZHJ7ICV.js.map +1 -0
- package/dist/map-7SHU5WCJ.js +433 -0
- package/dist/map-7SHU5WCJ.js.map +1 -0
- package/dist/mcp-GATPHY4D.js +463 -0
- package/dist/mcp-GATPHY4D.js.map +1 -0
- package/dist/media-2WENMOAA.js +15 -0
- package/dist/media-N4C6Q4IV.js +89 -0
- package/dist/media-sources-BPOTW6IB.js +32 -0
- package/dist/members-BOYZKLNK.js +44 -0
- package/dist/meta-PXYHWOOG.js +69 -0
- package/dist/metrics-FZANUN7E.js +152 -0
- package/dist/models-W6EN3WB7.js +155 -0
- package/dist/normalize-LOMDPNFJ.js +806 -0
- package/dist/normalize-RP3D7BUT.js +141 -0
- package/dist/normalize-RP3D7BUT.js.map +1 -0
- package/dist/options-FXND5P2W.js +122 -0
- package/dist/options-FXND5P2W.js.map +1 -0
- package/dist/output-SR4DN3A4.js +24 -0
- package/dist/page-FS76L5WU.js +105 -0
- package/dist/pages-INMNJSX2.js +66 -0
- package/dist/performance-53D43XVZ.js +24 -0
- package/dist/pinterest-JMHFPNVW.js +96 -0
- package/dist/pixels-K6ZD7SXV.js +60 -0
- package/dist/pixels-XPBBJYE3.js +108 -0
- package/dist/plan-45ESBYZA.js +207 -0
- package/dist/plan-45ESBYZA.js.map +1 -0
- package/dist/preview-KXSNG3BS.js +169 -0
- package/dist/profile-I4IXWBAQ.js +159 -0
- package/dist/profile-I4IXWBAQ.js.map +1 -0
- package/dist/promoted-tweet-writes-I6HVQRDB.js +180 -0
- package/dist/promoted-tweets-YAQ5ZUXI.js +119 -0
- package/dist/properties-NYNEONHI.js +101 -0
- package/dist/publish-Z5DVKZSG.js +322 -0
- package/dist/query-MSZPOHFL.js +61 -0
- package/dist/query-RK2TFMBI.js +236 -0
- package/dist/query-TWNH6GV7.js +247 -0
- package/dist/questionnaire-CNXN2TUZ.js +93 -0
- package/dist/questionnaire-CNXN2TUZ.js.map +1 -0
- package/dist/read-2AGRYWXU.js +141 -0
- package/dist/read-2AGRYWXU.js.map +1 -0
- package/dist/reddit-6DQTBTO6.js +26 -0
- package/dist/refresh-TP2TOGS6.js +94 -0
- package/dist/release-PHQEZ2ZX.js +60 -0
- package/dist/relevant-pages-ORVFFVAM.js +99 -0
- package/dist/remove-ETLMMDEA.js +48 -0
- package/dist/remove-KTBM5YSH.js +50 -0
- package/dist/reopen-OURQR6U7.js +63 -0
- package/dist/rerun-HGCVZ3D4.js +84 -0
- package/dist/rerun-HGCVZ3D4.js.map +1 -0
- package/dist/research-P23YBKS3.js +62 -0
- package/dist/research-WCNWT5Y5.js +262 -0
- package/dist/reset-2NCAWWN4.js +54 -0
- package/dist/reset-65R2CUB5.js +54 -0
- package/dist/resolve-65FKZ23N.js +121 -0
- package/dist/retry-P5K6LE6K.js +60 -0
- package/dist/retry-UIPDQJ5F.js +62 -0
- package/dist/retry-failed-QMWQ6TRL.js +45 -0
- package/dist/run-NDMEYUOI.js +59 -0
- package/dist/run-OP3T4TCF.js +65 -0
- package/dist/scaffold-ad-A5MWIOQJ.js +1548 -0
- package/dist/scaffold-ad-A5MWIOQJ.js.map +1 -0
- package/dist/scaffold-static-ad-MFPDXR6J.js +971 -0
- package/dist/scaffold-static-ad-MFPDXR6J.js.map +1 -0
- package/dist/scaffold-video-N6TY36I3.js +872 -0
- package/dist/scaffold-video-N6TY36I3.js.map +1 -0
- package/dist/schedule-6D667AXB.js +61 -0
- package/dist/schedule-KXLQVCZW.js +66 -0
- package/dist/scheduled-agents-LYWEX4PU.js +49 -0
- package/dist/schema-5HZIAHY3.js +132 -0
- package/dist/schema-5HZIAHY3.js.map +1 -0
- package/dist/schema-CCFLFAOY.js +63 -0
- package/dist/scrape-DBZQFIW7.js +2241 -0
- package/dist/screenshot-MPFANYIH.js +102 -0
- package/dist/search-4AANIUUL.js +91 -0
- package/dist/search-EMJABZYF.js +224 -0
- package/dist/search-HQDN7DOF.js +174 -0
- package/dist/search-OVHC4CRQ.js +26 -0
- package/dist/search-YSGZRANA.js +92 -0
- package/dist/search-copy-E3EVO7YT.js +168 -0
- package/dist/search-copy-E3EVO7YT.js.map +1 -0
- package/dist/seeds-XTBVEHSF.js +101 -0
- package/dist/seeds-XTBVEHSF.js.map +1 -0
- package/dist/select-C6BKHB4B.js +94 -0
- package/dist/sends-HXN5HSF6.js +309 -0
- package/dist/sequences-FRK76ZQV.js +146 -0
- package/dist/set-prompt-AOSHNBFC.js +185 -0
- package/dist/set-prompt-AOSHNBFC.js.map +1 -0
- package/dist/setup-links-BM2GLSSO.js +141 -0
- package/dist/shared-EH5ZTQXC.js +31 -0
- package/dist/site-3PEJYQJW.js +177 -0
- package/dist/sitemaps-7KHY2KXI.js +87 -0
- package/dist/sites-6B76JW6C.js +101 -0
- package/dist/skills-SCTT3LCM.js +47 -0
- package/dist/sources-ODJBHNGY.js +30 -0
- package/dist/sources-ZTLMXFHK.js +454 -0
- package/dist/sources-ZTLMXFHK.js.map +1 -0
- package/dist/stale-2O54QXY2.js +63 -0
- package/dist/stats-4NBOAOR2.js +34 -0
- package/dist/status-NE5OBM4B.js +62 -0
- package/dist/sticker-NLXBIOBO.js +94 -0
- package/dist/stock-F3SA4VHV.js +179 -0
- package/dist/studio-ZPDIOFKL.js +49 -0
- package/dist/sync-5GJNZDGZ.js +54 -0
- package/dist/sync-FCNFXTFD.js +265 -0
- package/dist/sync-YXCZ3DHY.js +54 -0
- package/dist/sync-definition-IL6Z4ZI7.js +52 -0
- package/dist/sync-definition-IL6Z4ZI7.js.map +1 -0
- package/dist/tag-manager-YM4Q3CZT.js +43 -0
- package/dist/tags-456UOYJU.js +26 -0
- package/dist/tags-5YPYHV5V.js +20 -0
- package/dist/tags-HXMHEHG2.js +224 -0
- package/dist/tags-K34666RY.js +20 -0
- package/dist/tags-NB35ISO3.js +20 -0
- package/dist/targeting-constants-3CMGPWRI.js +118 -0
- package/dist/targeting-criteria-UKQ4WF5C.js +113 -0
- package/dist/targets-VQ4BQ657.js +102 -0
- package/dist/templates-PMUIOVDX.js +178 -0
- package/dist/testimonials-XZCGVD6V.js +32 -0
- package/dist/themes-TVXLYJ7Y.js +94 -0
- package/dist/themes-TVXLYJ7Y.js.map +1 -0
- package/dist/top-companies-VMRIDOOH.js +108 -0
- package/dist/translate-F5KR62LF.js +598 -0
- package/dist/triggers-2MZX7W6Y.js +141 -0
- package/dist/tweets-XWE3VYQ4.js +123 -0
- package/dist/unfollow-7U4UBAJX.js +46 -0
- package/dist/unlink-AWSNY3QS.js +67 -0
- package/dist/unstage-OGB43ZXO.js +95 -0
- package/dist/unstage-RQBOQ4DY.js +84 -0
- package/dist/update-4KWYHMLS.js +63 -0
- package/dist/update-6DKEWM64.js +142 -0
- package/dist/update-G6EKHPIF.js +155 -0
- package/dist/update-OFV452AC.js +98 -0
- package/dist/upload-6CJWMQ24.js +126 -0
- package/dist/upload-GUKMQ5MT.js +150 -0
- package/dist/upscale-A456MESF.js +109 -0
- package/dist/url-options-FGDOVUSI.js +130 -0
- package/dist/url-options-FGDOVUSI.js.map +1 -0
- package/dist/url-params-OE3UMYMM.js +98 -0
- package/dist/use-HBVKVT5S.js +95 -0
- package/dist/validate-ZCUZV3L4.js +88 -0
- package/dist/validate-ZCUZV3L4.js.map +1 -0
- package/dist/variant-HULP57YI.js +338 -0
- package/dist/videos-ION7UT3M.js +39 -0
- package/dist/view-GCDEJZII.js +121 -0
- package/dist/viewer-check-UKYFBFMY.js +68 -0
- package/dist/viewer-check-UKYFBFMY.js.map +1 -0
- package/dist/web-CCVD6UZ4.js +140 -0
- package/dist/winners-WSMWC4M5.js +113 -0
- package/dist/winners-WSMWC4M5.js.map +1 -0
- package/dist/winning-ads-UCSSFEXD.js +84 -0
- package/dist/winning-ads-UCSSFEXD.js.map +1 -0
- package/dist/write-commands-47OP673X.js +713 -0
- package/dist/write-commands-IJ5IFHS6.js +737 -0
- package/dist/write-commands-NNVDWBLG.js +1015 -0
- package/dist/write-commands-OBMIVFZJ.js +206 -0
- package/dist/x-U32DT24S.js +47 -0
- package/package.json +2 -2
- package/dist/account-2ZMZFPIU.js +0 -79
- package/dist/account-F6MHQ64I.js +0 -80
- package/dist/account-IEVEOFIK.js +0 -49
- package/dist/account-writes-ISE4U2FQ.js +0 -66
- package/dist/accounts-4CDRK4S4.js +0 -75
- package/dist/accounts-5QDKBZMH.js +0 -115
- package/dist/accounts-KYJO3JC6.js +0 -114
- package/dist/accounts-RHGN5WMU.js +0 -611
- package/dist/accounts-VINHZRWA.js +0 -77
- package/dist/actions-5F4ZP6M4.js +0 -55
- package/dist/active-entities-YUSOUR5M.js +0 -103
- package/dist/activities-ZVQOBHZH.js +0 -74
- package/dist/ad-group-writes-UU5NNKSO.js +0 -170
- package/dist/ad-groups-CGFXZNIA.js +0 -68
- package/dist/ad-writes-NALDYWOR.js +0 -174
- package/dist/add-577QWMCF.js +0 -97
- package/dist/add-CUWAW7KG.js +0 -105
- package/dist/add-KBPMSK2P.js +0 -104
- package/dist/add-OGH4DZZ5.js +0 -280
- package/dist/add-OGH4DZZ5.js.map +0 -1
- package/dist/ads-56OWZBXZ.js +0 -40
- package/dist/ads-H7GH7A26.js +0 -113
- package/dist/ads-PV7GZXPR.js +0 -77
- package/dist/adsets-H7QT42U6.js +0 -176
- package/dist/advertisers-PM4WPG4N.js +0 -120
- package/dist/advertisers-YMHPZYNF.js +0 -111
- package/dist/advertisers-YMHPZYNF.js.map +0 -1
- package/dist/analytics-5FALU2GL.js +0 -433
- package/dist/analytics-JVZKN735.js +0 -1958
- package/dist/analytics-JVZKN735.js.map +0 -1
- package/dist/animate-FWWHSYPL.js +0 -480
- package/dist/assign-KLYZ6USE.js +0 -77
- package/dist/audience-size-JHB42DB4.js +0 -94
- package/dist/audiences-HFRVIE2X.js +0 -85
- package/dist/audiences-JACGRBNN.js +0 -78
- package/dist/audiences-VEKGLWBG.js +0 -268
- package/dist/audit-5XH7WZIM.js +0 -151
- package/dist/audit-AD4ZZNJN.js +0 -88
- package/dist/autocomplete-7F3PZLEY.js +0 -111
- package/dist/avatars-N4SRNQI7.js +0 -38
- package/dist/bid-pricing-VYLVGU26.js +0 -99
- package/dist/brand-ASBS2HZM.js +0 -22
- package/dist/brief-JSZKDPGU.js +0 -477
- package/dist/brief-JSZKDPGU.js.map +0 -1
- package/dist/businesses-JBDQZZIG.js +0 -53
- package/dist/campaign-groups-ATE2DE4V.js +0 -95
- package/dist/campaign-writes-ETT57KLQ.js +0 -165
- package/dist/campaign-writes-SX52CJYW.js +0 -170
- package/dist/campaigns-FGBAS6AZ.js +0 -107
- package/dist/campaigns-J6VZBIV6.js +0 -109
- package/dist/campaigns-WBEG5QA4.js +0 -110
- package/dist/campaigns-X3DPCCSN.js +0 -76
- package/dist/canvas-K7IN7HLO.js +0 -46
- package/dist/canvas-K7IN7HLO.js.map +0 -1
- package/dist/capabilities-RDAERPYY.js +0 -144
- package/dist/cards-4477BFEV.js +0 -85
- package/dist/catalog-MENVHL5U.js +0 -65
- package/dist/catalog-MENVHL5U.js.map +0 -1
- package/dist/catalogs-G3YEVG6S.js +0 -128
- package/dist/changes-TP7ZZHB3.js +0 -135
- package/dist/chatgpt-QNUN63YS.js +0 -47
- package/dist/chats-YIAQGQ3X.js +0 -262
- package/dist/chunk-2GK33EJV.js +0 -382
- package/dist/chunk-2TK4DEOE.js +0 -74
- package/dist/chunk-35XWJEWH.js +0 -274
- package/dist/chunk-3CWL2LY4.js +0 -206
- package/dist/chunk-4NBVGARW.js +0 -1079
- package/dist/chunk-4NBVGARW.js.map +0 -1
- package/dist/chunk-4NDCTLI5.js +0 -191
- package/dist/chunk-5ARG3CQG.js +0 -141
- package/dist/chunk-5ARG3CQG.js.map +0 -1
- package/dist/chunk-5R5ADJ47.js +0 -2880
- package/dist/chunk-5R5ADJ47.js.map +0 -1
- package/dist/chunk-5Z2KSVIV.js +0 -67
- package/dist/chunk-65RIB7A6.js +0 -592
- package/dist/chunk-6B7VKFS4.js +0 -172
- package/dist/chunk-6DB2B3GF.js +0 -175
- package/dist/chunk-6G5K6ZC6.js +0 -46
- package/dist/chunk-75FDTDLH.js +0 -96
- package/dist/chunk-7OFNN4CT.js +0 -58
- package/dist/chunk-7SDFKGQ4.js +0 -363
- package/dist/chunk-ACANMASG.js +0 -19
- package/dist/chunk-ALTBBAYU.js +0 -96
- package/dist/chunk-ANCSKUWI.js +0 -433
- package/dist/chunk-AWMFUGVX.js +0 -160
- package/dist/chunk-BA7FDXQC.js +0 -197
- package/dist/chunk-BNCW67EM.js +0 -534
- package/dist/chunk-BNCW67EM.js.map +0 -1
- package/dist/chunk-BSC33FLJ.js +0 -217
- package/dist/chunk-BSC33FLJ.js.map +0 -1
- package/dist/chunk-C6U6UDHJ.js +0 -106
- package/dist/chunk-CHSNHVYF.js +0 -3182
- package/dist/chunk-CHSNHVYF.js.map +0 -1
- package/dist/chunk-CYEO5ZIO.js +0 -133
- package/dist/chunk-CYEO5ZIO.js.map +0 -1
- package/dist/chunk-DKGTQSLR.js +0 -310
- package/dist/chunk-DKGTQSLR.js.map +0 -1
- package/dist/chunk-DR34ZTWD.js +0 -207
- package/dist/chunk-E4MDJBLO.js +0 -163
- package/dist/chunk-E4MDJBLO.js.map +0 -1
- package/dist/chunk-EFSYTROP.js +0 -94
- package/dist/chunk-EH4C4CZK.js +0 -455
- package/dist/chunk-F2S5BLPE.js +0 -97
- package/dist/chunk-FXED3VZK.js +0 -174
- package/dist/chunk-G7UTTEBS.js +0 -337
- package/dist/chunk-GATKK4RJ.js +0 -440
- package/dist/chunk-GATKK4RJ.js.map +0 -1
- package/dist/chunk-GIJT3A5U.js +0 -166
- package/dist/chunk-GIJT3A5U.js.map +0 -1
- package/dist/chunk-GX6VAHY7.js +0 -830
- package/dist/chunk-GX6VAHY7.js.map +0 -1
- package/dist/chunk-H26L3OQY.js +0 -42
- package/dist/chunk-HIPDMQZ6.js +0 -136
- package/dist/chunk-HQSCJYZO.js +0 -26
- package/dist/chunk-HZ5DR5MX.js +0 -51
- package/dist/chunk-I4NEHDSD.js +0 -813
- package/dist/chunk-I4NEHDSD.js.map +0 -1
- package/dist/chunk-IFWP3ZDO.js +0 -215
- package/dist/chunk-IFWP3ZDO.js.map +0 -1
- package/dist/chunk-IM52NHGL.js +0 -390
- package/dist/chunk-IM52NHGL.js.map +0 -1
- package/dist/chunk-JERXV5A3.js +0 -26
- package/dist/chunk-JF47LEPU.js +0 -5163
- package/dist/chunk-JF47LEPU.js.map +0 -1
- package/dist/chunk-K3PN7TN5.js +0 -84
- package/dist/chunk-KBP7WJQB.js +0 -446
- package/dist/chunk-KBP7WJQB.js.map +0 -1
- package/dist/chunk-KLBTXETO.js +0 -23992
- package/dist/chunk-KLBTXETO.js.map +0 -1
- package/dist/chunk-KLNKEVIY.js +0 -136
- package/dist/chunk-KNWHUMVZ.js +0 -4381
- package/dist/chunk-KNWHUMVZ.js.map +0 -1
- package/dist/chunk-KNY76UGC.js +0 -84
- package/dist/chunk-KQTYTCKQ.js +0 -98
- package/dist/chunk-LERTEZST.js +0 -28
- package/dist/chunk-LERTEZST.js.map +0 -1
- package/dist/chunk-LIQ4SQ2T.js +0 -150
- package/dist/chunk-LS5MTRFI.js +0 -106
- package/dist/chunk-LW4VSTL5.js +0 -304
- package/dist/chunk-LW4VSTL5.js.map +0 -1
- package/dist/chunk-LZ73CZGP.js +0 -188
- package/dist/chunk-MADAAZZV.js +0 -169
- package/dist/chunk-MELOSESI.js +0 -20
- package/dist/chunk-MELOSESI.js.map +0 -1
- package/dist/chunk-MLU6STIN.js +0 -66
- package/dist/chunk-MZL4H5PY.js +0 -225
- package/dist/chunk-NAWWC5I3.js +0 -454
- package/dist/chunk-NAWWC5I3.js.map +0 -1
- package/dist/chunk-NDXBU22S.js +0 -6145
- package/dist/chunk-NDXBU22S.js.map +0 -1
- package/dist/chunk-NE4F3FHN.js +0 -1854
- package/dist/chunk-NE4F3FHN.js.map +0 -1
- package/dist/chunk-NU7JSWVA.js +0 -946
- package/dist/chunk-NU7JSWVA.js.map +0 -1
- package/dist/chunk-OTFHEHIU.js +0 -1706
- package/dist/chunk-OTFHEHIU.js.map +0 -1
- package/dist/chunk-PBA3YCZA.js +0 -76
- package/dist/chunk-PDTB5EX6.js +0 -57
- package/dist/chunk-PWGWMIIJ.js +0 -25
- package/dist/chunk-QSN5MZGS.js +0 -74
- package/dist/chunk-RPUSTYHL.js +0 -170
- package/dist/chunk-RX6F3GEA.js +0 -610
- package/dist/chunk-SB3GZFCV.js +0 -622
- package/dist/chunk-SB3GZFCV.js.map +0 -1
- package/dist/chunk-SSJK7FEV.js +0 -2886
- package/dist/chunk-SSJK7FEV.js.map +0 -1
- package/dist/chunk-STIB5DR5.js +0 -56
- package/dist/chunk-T3BDNJIX.js +0 -494
- package/dist/chunk-TD2P4HBP.js +0 -55
- package/dist/chunk-TEINLN64.js +0 -649
- package/dist/chunk-TEINLN64.js.map +0 -1
- package/dist/chunk-TIOQ7ZFQ.js +0 -496
- package/dist/chunk-TIOQ7ZFQ.js.map +0 -1
- package/dist/chunk-U3HAMW5W.js +0 -133
- package/dist/chunk-U6SYRIOB.js +0 -486
- package/dist/chunk-UC6BWM5J.js +0 -159
- package/dist/chunk-ULJ5RFOV.js +0 -76
- package/dist/chunk-ULJ5RFOV.js.map +0 -1
- package/dist/chunk-VAISMQQB.js +0 -346
- package/dist/chunk-VAJBWA2U.js +0 -75
- package/dist/chunk-VB6WJJR3.js +0 -1830
- package/dist/chunk-VDHQJ6HD.js +0 -23
- package/dist/chunk-VFIOJD5M.js +0 -309
- package/dist/chunk-VMDAXFRI.js +0 -111
- package/dist/chunk-VVZBBKRC.js +0 -296
- package/dist/chunk-W3B4BHQU.js +0 -31
- package/dist/chunk-W3B4BHQU.js.map +0 -1
- package/dist/chunk-W3ZHJJVT.js +0 -139
- package/dist/chunk-WNFIJAUO.js +0 -98
- package/dist/chunk-WS2GMOSG.js +0 -74
- package/dist/chunk-X7ZODEXJ.js +0 -36
- package/dist/chunk-X7ZODEXJ.js.map +0 -1
- package/dist/chunk-XBOK23HI.js +0 -214
- package/dist/chunk-XBOK23HI.js.map +0 -1
- package/dist/chunk-XCM6XWOB.js +0 -417
- package/dist/chunk-XCM6XWOB.js.map +0 -1
- package/dist/chunk-XL3BMSYG.js +0 -125
- package/dist/chunk-XMD4SHFI.js +0 -60
- package/dist/chunk-Y6QAJNKP.js +0 -1411
- package/dist/chunk-Y6QAJNKP.js.map +0 -1
- package/dist/chunk-YBMVHGY3.js +0 -333
- package/dist/chunk-YBP7O5P4.js +0 -103
- package/dist/chunk-YC2TQ3VC.js +0 -297
- package/dist/chunk-YPZYOJP6.js +0 -6664
- package/dist/chunk-YPZYOJP6.js.map +0 -1
- package/dist/chunk-ZJWUBJYQ.js +0 -204
- package/dist/chunk-ZJWUBJYQ.js.map +0 -1
- package/dist/chunk-ZPU3WDVK.js +0 -92
- package/dist/claim-V4F5GZJK.js +0 -197
- package/dist/client-VHN32ZRE.js +0 -19
- package/dist/code-YS6ZMGX3.js +0 -76
- package/dist/companies-NJGJ7XNN.js +0 -195
- package/dist/complete-MGNF5OAK.js +0 -81
- package/dist/config-CQN5FHMZ.js +0 -88
- package/dist/connect-PJOTRTT4.js +0 -36
- package/dist/content-3ZPP4SW2.js +0 -81
- package/dist/content-3ZPP4SW2.js.map +0 -1
- package/dist/conversation-4DM26FRD.js +0 -93
- package/dist/conversion-report-N4HANYOB.js +0 -125
- package/dist/conversion-upload-command-TZTHU2CD.js +0 -438
- package/dist/conversion-writes-LW4HQKK5.js +0 -120
- package/dist/conversions-JGECVZSY.js +0 -135
- package/dist/conversions-TS723AZV.js +0 -76
- package/dist/countries-ESAKTQAE.js +0 -82
- package/dist/create-DSGQFBI7.js +0 -207
- package/dist/create-I2KVDTCQ.js +0 -59
- package/dist/create-SBQWVLXG.js +0 -130
- package/dist/create-WOHPIGBK.js +0 -235
- package/dist/creatives-4JGVZQGC.js +0 -182
- package/dist/creatives-DWO5KEQC.js +0 -51
- package/dist/creatives-PSWCNY7U.js +0 -87
- package/dist/credentials-UULYCN2L.js +0 -1055
- package/dist/credentials-UULYCN2L.js.map +0 -1
- package/dist/critique-NGMZK5LX.js +0 -213
- package/dist/critique-TIZJ5GFM.js +0 -1449
- package/dist/crm-2WAR565U.js +0 -224
- package/dist/crm-VDXUO2YU.js +0 -318
- package/dist/crop-2J4RKJ6B.js +0 -113
- package/dist/currency-XCGKQ7FE.js +0 -88
- package/dist/custom-conversions-6P555U2K.js +0 -125
- package/dist/customers-ATENMXDO.js +0 -56
- package/dist/delete-3AV3ARMX.js +0 -71
- package/dist/delete-A5XD52K4.js +0 -69
- package/dist/delete-AVMZYNVT.js +0 -54
- package/dist/delete-H744GNS4.js +0 -63
- package/dist/delete-MRM2S4Z5.js +0 -71
- package/dist/delete-OEYPFATY.js +0 -66
- package/dist/demographics-M5LJF3RZ.js +0 -138
- package/dist/describe-6NVOWIBE.js +0 -97
- package/dist/describe-P3PPIQME.js +0 -97
- package/dist/dimensions-EYAYO27I.js +0 -101
- package/dist/discard-72I6SM7G.js +0 -66
- package/dist/discover-BJPZNXUQ.js +0 -172
- package/dist/domain-R4EIZD2W.js +0 -98
- package/dist/download-7T6HIJKD.js +0 -299
- package/dist/draft-34C3F5U4.js +0 -217
- package/dist/draft-BBFJNZ5X.js +0 -328
- package/dist/draft-BGUJDHXR.js +0 -103
- package/dist/draft-BV2QRPZ4.js +0 -107
- package/dist/draft-BV2QRPZ4.js.map +0 -1
- package/dist/draft-KIBMVKSR.js +0 -100
- package/dist/draft-THPZFASM.js +0 -281
- package/dist/draft-YDY2Q2K6.js +0 -233
- package/dist/draft-YYYRWF7M.js +0 -306
- package/dist/env-KIP2J2UB.js +0 -43
- package/dist/experiment-LKK77YAN.js +0 -1377
- package/dist/experiment-LKK77YAN.js.map +0 -1
- package/dist/export-JQRMBJ7D.js +0 -168
- package/dist/extract-7QKLME7Z.js +0 -113
- package/dist/facets-F2H52MS4.js +0 -114
- package/dist/favorites-NSGF4OV5.js +0 -178
- package/dist/feed-RV4KPPXM.js +0 -157
- package/dist/feed-RV4KPPXM.js.map +0 -1
- package/dist/feedback-IQKKT4MC.js +0 -66
- package/dist/feedback-record-UZV4Y7UD.js +0 -175
- package/dist/fetch-XF76JABV.js +0 -139
- package/dist/fetch-ZUAZPLAE.js +0 -176
- package/dist/find-OTDIX6V4.js +0 -134
- package/dist/fit-2CA4JH7N.js +0 -45
- package/dist/flows-CWXCXEUD.js +0 -244
- package/dist/flows-CWXCXEUD.js.map +0 -1
- package/dist/follow-FN7LV3WV.js +0 -82
- package/dist/follow-FN7LV3WV.js.map +0 -1
- package/dist/follow-competitors-MKXFHLXB.js +0 -131
- package/dist/follow-competitors-MKXFHLXB.js.map +0 -1
- package/dist/following-RKC2FLHI.js +0 -109
- package/dist/following-RKC2FLHI.js.map +0 -1
- package/dist/fonts-F2XUCIIW.js +0 -34
- package/dist/forecast-IDKJYM2B.js +0 -104
- package/dist/funding-NYO65IMT.js +0 -85
- package/dist/funnel-RLGQGYKO.js +0 -837
- package/dist/funnel-RLGQGYKO.js.map +0 -1
- package/dist/ga4-UDQ2HA2J.js +0 -55
- package/dist/generate-MMBYB44G.js +0 -262
- package/dist/get-3L6W3E3T.js +0 -59
- package/dist/get-6WEYKOY6.js +0 -63
- package/dist/get-C6UQ22HH.js +0 -54
- package/dist/get-C6UQ22HH.js.map +0 -1
- package/dist/get-EEUR6SAW.js +0 -78
- package/dist/get-EEUR6SAW.js.map +0 -1
- package/dist/get-P743RPSI.js +0 -63
- package/dist/get-XN5ZGDIK.js +0 -61
- package/dist/get-YIHTAMRT.js +0 -92
- package/dist/gif-53ULFVLR.js +0 -94
- package/dist/google-35GDU3G3.js +0 -1872
- package/dist/google-35GDU3G3.js.map +0 -1
- package/dist/google-KTO3PLEU.js +0 -136
- package/dist/google-ads-Q37I2D5P.js +0 -195
- package/dist/group-EFZ3AJIE.js +0 -43
- package/dist/group-GKWCCX66.js +0 -43
- package/dist/gsc-P3QYGDV2.js +0 -30
- package/dist/history-4II5QA4B.js +0 -133
- package/dist/history-DBIEYQHY.js +0 -67
- package/dist/hubspot-TTITJFBO.js +0 -779
- package/dist/icon-I43F77FV.js +0 -137
- package/dist/ideas-V4Q6JDKV.js +0 -32
- package/dist/images-SP5REF6E.js +0 -90
- package/dist/improve-BCCU5AS6.js +0 -86
- package/dist/ingest-574GIFAR.js +0 -107
- package/dist/ingest-IC4T76W6.js +0 -23
- package/dist/insights-NZWSJKU4.js +0 -423
- package/dist/insights-ZIU6FJMS.js +0 -122
- package/dist/inspect-ATHYY6A2.js +0 -189
- package/dist/inspiration-P265QJ2H.js +0 -53
- package/dist/intent-E3UIVZBN.js +0 -95
- package/dist/job-L7RJZMSG.js +0 -202
- package/dist/job-create-JUDAN52O.js +0 -109
- package/dist/job-status-U43WE3RJ.js +0 -74
- package/dist/keep-55CPC7DG.js +0 -78
- package/dist/keyword-gap-BG6M665A.js +0 -130
- package/dist/keyword-metrics-J4UPUDN7.js +0 -197
- package/dist/keywords-for-site-MWADFEO2.js +0 -128
- package/dist/landing-R6DN7XLK.js +0 -28
- package/dist/languages-HORKPDNH.js +0 -40
- package/dist/languages-JSGWCC7Z.js +0 -55
- package/dist/layerize-RPD6SNP6.js +0 -190
- package/dist/leads-7EVHMNUF.js +0 -293
- package/dist/leads-JM6HUERX.js +0 -90
- package/dist/learn-LGS2F5TR.js +0 -203
- package/dist/library-ARKRLCNJ.js +0 -109
- package/dist/lighthouse-6ZC45E53.js +0 -75
- package/dist/line-item-writes-KUYEXSIH.js +0 -208
- package/dist/line-items-GIWLP3FL.js +0 -103
- package/dist/link-PVM7XJQI.js +0 -64
- package/dist/linkedin-WX54EAX6.js +0 -1008
- package/dist/list-4ZKQZBCL.js +0 -151
- package/dist/list-7MVBXOJT.js +0 -51
- package/dist/list-A5UCIR2J.js +0 -65
- package/dist/list-AL7N6X2P.js +0 -50
- package/dist/list-LI4OGQFW.js +0 -57
- package/dist/list-MCEFXC6L.js +0 -63
- package/dist/list-P7NAFN6J.js +0 -76
- package/dist/list-WR7QYTON.js +0 -303
- package/dist/locations-74TPQWAT.js +0 -67
- package/dist/locations-J4G5RNPH.js +0 -40
- package/dist/log-U6IWZGOF.js +0 -92
- package/dist/logo-2IP663QO.js +0 -18
- package/dist/lookup-XK45W2SH.js +0 -22
- package/dist/make-RXFHEGUI.js +0 -593
- package/dist/make-RXFHEGUI.js.map +0 -1
- package/dist/map-TWL7T4KP.js +0 -404
- package/dist/map-TWL7T4KP.js.map +0 -1
- package/dist/mcp-HVAVJGGS.js +0 -476
- package/dist/mcp-HVAVJGGS.js.map +0 -1
- package/dist/media-6CQYG4UY.js +0 -89
- package/dist/media-M7E6V2XU.js +0 -15
- package/dist/media-sources-JWGO23BZ.js +0 -32
- package/dist/members-5FAW4YE7.js +0 -44
- package/dist/meta-EZ4SY25M.js +0 -69
- package/dist/metrics-SQDJ5NQO.js +0 -152
- package/dist/models-7U3GRYHF.js +0 -155
- package/dist/normalize-GW4GZNVY.js +0 -138
- package/dist/normalize-GW4GZNVY.js.map +0 -1
- package/dist/normalize-ICQF2AST.js +0 -806
- package/dist/options-NSUCENLU.js +0 -121
- package/dist/options-NSUCENLU.js.map +0 -1
- package/dist/output-RAH3TSIL.js +0 -24
- package/dist/page-GS3WLT2C.js +0 -105
- package/dist/pages-FXYQLHSJ.js +0 -66
- package/dist/performance-FGCDWHMC.js +0 -24
- package/dist/pinterest-AUH7WBA7.js +0 -96
- package/dist/pixels-45A55MOP.js +0 -60
- package/dist/pixels-ZFF4BGUH.js +0 -108
- package/dist/preview-AD4GKYIA.js +0 -169
- package/dist/promoted-tweet-writes-BPWTDESL.js +0 -180
- package/dist/promoted-tweets-OS3NHYVE.js +0 -119
- package/dist/properties-L2XIYQDS.js +0 -101
- package/dist/publish-SXZEWBVJ.js +0 -322
- package/dist/query-IEZRY6HV.js +0 -1341
- package/dist/query-IEZRY6HV.js.map +0 -1
- package/dist/query-SGGBCHTF.js +0 -236
- package/dist/query-VTGVZQIO.js +0 -247
- package/dist/read-LSF7DYTG.js +0 -140
- package/dist/read-LSF7DYTG.js.map +0 -1
- package/dist/reddit-TF6K37SB.js +0 -26
- package/dist/refresh-APVDWXRZ.js +0 -94
- package/dist/release-32SEJU4L.js +0 -60
- package/dist/relevant-pages-OWMNUCP7.js +0 -99
- package/dist/remove-6LGGKMLJ.js +0 -48
- package/dist/remove-U64GTHLQ.js +0 -50
- package/dist/reopen-5VS233SF.js +0 -63
- package/dist/rerun-7Z45QOOO.js +0 -85
- package/dist/rerun-7Z45QOOO.js.map +0 -1
- package/dist/research-O7CJV5IS.js +0 -62
- package/dist/research-QYSQ6LW4.js +0 -262
- package/dist/reset-22FC7BXQ.js +0 -54
- package/dist/reset-47B5VPT4.js +0 -54
- package/dist/resolve-7KQGVTQT.js +0 -121
- package/dist/retry-J5UVLS72.js +0 -62
- package/dist/retry-UJ5UF4BM.js +0 -60
- package/dist/retry-failed-6HXPUVXJ.js +0 -45
- package/dist/run-SI4FA32F.js +0 -65
- package/dist/run-TFLFBQU2.js +0 -60
- package/dist/scaffold-ad-SEXNE2K6.js +0 -1549
- package/dist/scaffold-ad-SEXNE2K6.js.map +0 -1
- package/dist/scaffold-static-ad-VBOL6CLN.js +0 -966
- package/dist/scaffold-static-ad-VBOL6CLN.js.map +0 -1
- package/dist/scaffold-video-Z37MIBDI.js +0 -873
- package/dist/scaffold-video-Z37MIBDI.js.map +0 -1
- package/dist/schedule-52ZM4KRQ.js +0 -61
- package/dist/schedule-O2K6M43V.js +0 -66
- package/dist/scheduled-agents-PCWCQAKP.js +0 -49
- package/dist/schema-6GR77VJG.js +0 -63
- package/dist/schema-FY6ORDXZ.js +0 -129
- package/dist/schema-FY6ORDXZ.js.map +0 -1
- package/dist/scrape-ETAMW43A.js +0 -2241
- package/dist/screenshot-YCQF25ZB.js +0 -102
- package/dist/search-742XSULP.js +0 -224
- package/dist/search-MEEM4D3W.js +0 -92
- package/dist/search-NS7XNRZC.js +0 -174
- package/dist/search-OQNGSMUH.js +0 -91
- package/dist/search-UO5KJTYS.js +0 -26
- package/dist/seeds-N6FF5S4T.js +0 -101
- package/dist/seeds-N6FF5S4T.js.map +0 -1
- package/dist/select-4XCYVV2G.js +0 -94
- package/dist/sends-WGJVQUMF.js +0 -309
- package/dist/sequences-OIPVR7JL.js +0 -146
- package/dist/set-prompt-TRJBYA3D.js +0 -186
- package/dist/set-prompt-TRJBYA3D.js.map +0 -1
- package/dist/setup-links-V3URI7DL.js +0 -141
- package/dist/shared-HJDFNID4.js +0 -31
- package/dist/site-WIQ7SSU3.js +0 -177
- package/dist/sitemaps-POPZJTAX.js +0 -87
- package/dist/sites-262H6LM4.js +0 -101
- package/dist/skills-6TQZLIMP.js +0 -47
- package/dist/sources-DWJXOLEH.js +0 -421
- package/dist/sources-DWJXOLEH.js.map +0 -1
- package/dist/sources-L453U5MT.js +0 -30
- package/dist/stale-6OVG6VME.js +0 -63
- package/dist/stats-NNXZMPZR.js +0 -34
- package/dist/status-WXWU54WR.js +0 -62
- package/dist/sticker-4KMBSMP5.js +0 -94
- package/dist/stock-2YCDN3N6.js +0 -179
- package/dist/studio-C5K3YX3P.js +0 -49
- package/dist/sync-CDZUTGV3.js +0 -54
- package/dist/sync-CF7FVUQJ.js +0 -54
- package/dist/sync-ZSNUBYPM.js +0 -265
- package/dist/sync-definition-BAJQUBE3.js +0 -53
- package/dist/tag-manager-DYZUOIAS.js +0 -43
- package/dist/tags-6RY23XOG.js +0 -20
- package/dist/tags-BHFQWNPL.js +0 -224
- package/dist/tags-SG3NVC3J.js +0 -26
- package/dist/tags-VN5HTL35.js +0 -20
- package/dist/tags-WR6PDIDR.js +0 -20
- package/dist/targeting-constants-XJ2VOW7K.js +0 -118
- package/dist/targeting-criteria-5EXP2NXF.js +0 -113
- package/dist/targets-WUVEJPSD.js +0 -102
- package/dist/templates-LOJQX2NG.js +0 -178
- package/dist/testimonials-6M5DXORT.js +0 -32
- package/dist/top-companies-E2OMMPSV.js +0 -108
- package/dist/translate-AW4CUKDA.js +0 -598
- package/dist/triggers-MRXIDCSN.js +0 -141
- package/dist/tweets-ATP3FQAC.js +0 -123
- package/dist/unfollow-CBVPGPF7.js +0 -46
- package/dist/unlink-HNL747YM.js +0 -67
- package/dist/unstage-4ZEULXEQ.js +0 -95
- package/dist/unstage-OL2JDCLK.js +0 -84
- package/dist/update-4KGIT4BF.js +0 -142
- package/dist/update-JPBUF7M2.js +0 -98
- package/dist/update-RTTC3SAK.js +0 -155
- package/dist/update-YNNRX5B2.js +0 -63
- package/dist/upload-L5SYZB3X.js +0 -150
- package/dist/upload-UIXPCSXJ.js +0 -126
- package/dist/upscale-YWRLFU22.js +0 -109
- package/dist/url-options-GGXAL3J4.js +0 -127
- package/dist/url-options-GGXAL3J4.js.map +0 -1
- package/dist/url-params-K47CE7Y5.js +0 -98
- package/dist/use-UT2DIZOG.js +0 -95
- package/dist/validate-TD2BY4VE.js +0 -89
- package/dist/validate-TD2BY4VE.js.map +0 -1
- package/dist/variant-FLZJYGYL.js +0 -338
- package/dist/videos-BP3BKNTY.js +0 -39
- package/dist/view-NPAG66QK.js +0 -121
- package/dist/viewer-check-HFRUJ4ZU.js +0 -69
- package/dist/web-RPSGFN4U.js +0 -140
- package/dist/winners-I5BMATJZ.js +0 -79
- package/dist/winners-I5BMATJZ.js.map +0 -1
- package/dist/winning-ads-WUENRDVJ.js +0 -62
- package/dist/winning-ads-WUENRDVJ.js.map +0 -1
- package/dist/write-commands-4WARNR2T.js +0 -1015
- package/dist/write-commands-ERKVRHTC.js +0 -206
- package/dist/write-commands-TAYGTJEZ.js +0 -737
- package/dist/write-commands-WTRSOSO3.js +0 -713
- package/dist/x-VZCELH3P.js +0 -47
- /package/dist/{account-2ZMZFPIU.js.map → account-JG7QD522.js.map} +0 -0
- /package/dist/{account-F6MHQ64I.js.map → account-V6PB6PA5.js.map} +0 -0
- /package/dist/{account-IEVEOFIK.js.map → account-VLPX7EZT.js.map} +0 -0
- /package/dist/{account-writes-ISE4U2FQ.js.map → account-writes-BGREY7ZL.js.map} +0 -0
- /package/dist/{accounts-KYJO3JC6.js.map → accounts-2FINK5GZ.js.map} +0 -0
- /package/dist/{accounts-4CDRK4S4.js.map → accounts-2UV5Z3Y6.js.map} +0 -0
- /package/dist/{accounts-VINHZRWA.js.map → accounts-3EX2PFJB.js.map} +0 -0
- /package/dist/{accounts-5QDKBZMH.js.map → accounts-G2QT3ZVP.js.map} +0 -0
- /package/dist/{accounts-RHGN5WMU.js.map → accounts-N63J5YTK.js.map} +0 -0
- /package/dist/{actions-5F4ZP6M4.js.map → actions-PA2BPIYO.js.map} +0 -0
- /package/dist/{active-entities-YUSOUR5M.js.map → active-entities-RDXDSMA2.js.map} +0 -0
- /package/dist/{activities-ZVQOBHZH.js.map → activities-RBTU2Q24.js.map} +0 -0
- /package/dist/{ad-group-writes-UU5NNKSO.js.map → ad-group-writes-5NTRJTVE.js.map} +0 -0
- /package/dist/{ad-groups-CGFXZNIA.js.map → ad-groups-4OTAKWUC.js.map} +0 -0
- /package/dist/{ad-writes-NALDYWOR.js.map → ad-writes-T7W3DDKK.js.map} +0 -0
- /package/dist/{add-CUWAW7KG.js.map → add-4VKA4NDH.js.map} +0 -0
- /package/dist/{add-577QWMCF.js.map → add-MQO33HL3.js.map} +0 -0
- /package/dist/{add-KBPMSK2P.js.map → add-QM7ANAVG.js.map} +0 -0
- /package/dist/{ads-H7GH7A26.js.map → ads-IJCFN2N3.js.map} +0 -0
- /package/dist/{ads-56OWZBXZ.js.map → ads-QKMLAPZC.js.map} +0 -0
- /package/dist/{ads-PV7GZXPR.js.map → ads-XYAWONXR.js.map} +0 -0
- /package/dist/{adsets-H7QT42U6.js.map → adsets-DPTIKGTG.js.map} +0 -0
- /package/dist/{advertisers-PM4WPG4N.js.map → advertisers-SZFDOPBQ.js.map} +0 -0
- /package/dist/{analytics-5FALU2GL.js.map → analytics-HFBYIPZ7.js.map} +0 -0
- /package/dist/{animate-FWWHSYPL.js.map → animate-LUKNHCF4.js.map} +0 -0
- /package/dist/{assign-KLYZ6USE.js.map → assign-QCICUD72.js.map} +0 -0
- /package/dist/{audience-size-JHB42DB4.js.map → audience-size-HML4BLHJ.js.map} +0 -0
- /package/dist/{audiences-VEKGLWBG.js.map → audiences-BSABKS5K.js.map} +0 -0
- /package/dist/{audiences-JACGRBNN.js.map → audiences-FWOOSUSJ.js.map} +0 -0
- /package/dist/{audiences-HFRVIE2X.js.map → audiences-VK4M7GLQ.js.map} +0 -0
- /package/dist/{audit-5XH7WZIM.js.map → audit-DUM55J5U.js.map} +0 -0
- /package/dist/{audit-AD4ZZNJN.js.map → audit-JR5R75XK.js.map} +0 -0
- /package/dist/{autocomplete-7F3PZLEY.js.map → autocomplete-VX4PMMLR.js.map} +0 -0
- /package/dist/{avatars-N4SRNQI7.js.map → avatars-5KCRSUJ3.js.map} +0 -0
- /package/dist/{bid-pricing-VYLVGU26.js.map → bid-pricing-AIUACXUH.js.map} +0 -0
- /package/dist/{brand-ASBS2HZM.js.map → brand-UBTC2WXR.js.map} +0 -0
- /package/dist/{businesses-JBDQZZIG.js.map → businesses-P3RX4UXS.js.map} +0 -0
- /package/dist/{campaign-groups-ATE2DE4V.js.map → campaign-groups-SJZEDIBL.js.map} +0 -0
- /package/dist/{campaign-writes-SX52CJYW.js.map → campaign-writes-5BPVXG4C.js.map} +0 -0
- /package/dist/{campaign-writes-ETT57KLQ.js.map → campaign-writes-VE6QLIDA.js.map} +0 -0
- /package/dist/{campaigns-J6VZBIV6.js.map → campaigns-JEWEDCTC.js.map} +0 -0
- /package/dist/{campaigns-WBEG5QA4.js.map → campaigns-MEIMSHJF.js.map} +0 -0
- /package/dist/{campaigns-FGBAS6AZ.js.map → campaigns-NCGJNJKS.js.map} +0 -0
- /package/dist/{campaigns-X3DPCCSN.js.map → campaigns-XY7QWHDN.js.map} +0 -0
- /package/dist/{capabilities-RDAERPYY.js.map → capabilities-W6SPXOPF.js.map} +0 -0
- /package/dist/{cards-4477BFEV.js.map → cards-CLD4WX6G.js.map} +0 -0
- /package/dist/{catalogs-G3YEVG6S.js.map → catalogs-DINPKQXY.js.map} +0 -0
- /package/dist/{changes-TP7ZZHB3.js.map → changes-N2YZXAPF.js.map} +0 -0
- /package/dist/{chatgpt-QNUN63YS.js.map → chatgpt-TPAP6BVY.js.map} +0 -0
- /package/dist/{chats-YIAQGQ3X.js.map → chats-FKVVBXVF.js.map} +0 -0
- /package/dist/{chunk-YBP7O5P4.js.map → chunk-24IQ6K7K.js.map} +0 -0
- /package/dist/{chunk-YC2TQ3VC.js.map → chunk-2FZG5DD2.js.map} +0 -0
- /package/dist/{chunk-7SDFKGQ4.js.map → chunk-2T3EH2MU.js.map} +0 -0
- /package/dist/{chunk-FXED3VZK.js.map → chunk-2Y5UE2CV.js.map} +0 -0
- /package/dist/{chunk-VB6WJJR3.js.map → chunk-3KPQDXIU.js.map} +0 -0
- /package/dist/{chunk-6G5K6ZC6.js.map → chunk-4AFGT3L3.js.map} +0 -0
- /package/dist/{chunk-MZL4H5PY.js.map → chunk-4JKBMKFC.js.map} +0 -0
- /package/dist/{chunk-RX6F3GEA.js.map → chunk-4KBWL7S4.js.map} +0 -0
- /package/dist/{chunk-KLNKEVIY.js.map → chunk-4R3QKEDV.js.map} +0 -0
- /package/dist/{chunk-VFIOJD5M.js.map → chunk-6SL6463H.js.map} +0 -0
- /package/dist/{chunk-HZ5DR5MX.js.map → chunk-7TRSFEHZ.js.map} +0 -0
- /package/dist/{chunk-4NDCTLI5.js.map → chunk-APNV7FMK.js.map} +0 -0
- /package/dist/{chunk-PBA3YCZA.js.map → chunk-BCSOWRQL.js.map} +0 -0
- /package/dist/{chunk-VVZBBKRC.js.map → chunk-BJEW3LST.js.map} +0 -0
- /package/dist/{chunk-LS5MTRFI.js.map → chunk-BYKUAX26.js.map} +0 -0
- /package/dist/{chunk-MADAAZZV.js.map → chunk-C7NPNSFO.js.map} +0 -0
- /package/dist/{chunk-EFSYTROP.js.map → chunk-CVIMIOPO.js.map} +0 -0
- /package/dist/{chunk-WS2GMOSG.js.map → chunk-DAKIMGUS.js.map} +0 -0
- /package/dist/{chunk-PWGWMIIJ.js.map → chunk-DCRUGS3G.js.map} +0 -0
- /package/dist/{chunk-C6U6UDHJ.js.map → chunk-DMA77LLI.js.map} +0 -0
- /package/dist/{chunk-JERXV5A3.js.map → chunk-EESOZY5S.js.map} +0 -0
- /package/dist/{chunk-6DB2B3GF.js.map → chunk-EIZMOICE.js.map} +0 -0
- /package/dist/{chunk-HIPDMQZ6.js.map → chunk-F3IVR3V3.js.map} +0 -0
- /package/dist/{chunk-LZ73CZGP.js.map → chunk-FSX6CQ2Z.js.map} +0 -0
- /package/dist/{chunk-STIB5DR5.js.map → chunk-G7LAQE56.js.map} +0 -0
- /package/dist/{chunk-MLU6STIN.js.map → chunk-G7QKXFQ2.js.map} +0 -0
- /package/dist/{chunk-VDHQJ6HD.js.map → chunk-G7XY4T6K.js.map} +0 -0
- /package/dist/{chunk-VAISMQQB.js.map → chunk-HCDCWXSU.js.map} +0 -0
- /package/dist/{chunk-G7UTTEBS.js.map → chunk-I4IVUAQN.js.map} +0 -0
- /package/dist/{chunk-2TK4DEOE.js.map → chunk-IWNZCYWI.js.map} +0 -0
- /package/dist/{chunk-K3PN7TN5.js.map → chunk-JF5LNI6O.js.map} +0 -0
- /package/dist/{chunk-ALTBBAYU.js.map → chunk-JJZBZYNK.js.map} +0 -0
- /package/dist/{chunk-WNFIJAUO.js.map → chunk-JZP5IODJ.js.map} +0 -0
- /package/dist/{chunk-EH4C4CZK.js.map → chunk-KWMYTVHI.js.map} +0 -0
- /package/dist/{chunk-VAJBWA2U.js.map → chunk-LFGCOAB4.js.map} +0 -0
- /package/dist/{chunk-6B7VKFS4.js.map → chunk-LPRUP3ZX.js.map} +0 -0
- /package/dist/{chunk-KNY76UGC.js.map → chunk-MD3VH5UG.js.map} +0 -0
- /package/dist/{chunk-ACANMASG.js.map → chunk-MFORE6F4.js.map} +0 -0
- /package/dist/{chunk-AWMFUGVX.js.map → chunk-MMBHCAON.js.map} +0 -0
- /package/dist/{chunk-XL3BMSYG.js.map → chunk-NIGGMK7L.js.map} +0 -0
- /package/dist/{chunk-ANCSKUWI.js.map → chunk-NN7A2ILR.js.map} +0 -0
- /package/dist/{chunk-UC6BWM5J.js.map → chunk-OUQMJRH6.js.map} +0 -0
- /package/dist/{chunk-T3BDNJIX.js.map → chunk-OXKUWTFL.js.map} +0 -0
- /package/dist/{chunk-HQSCJYZO.js.map → chunk-P5T7OZKV.js.map} +0 -0
- /package/dist/{chunk-RPUSTYHL.js.map → chunk-PAJJXZ3Z.js.map} +0 -0
- /package/dist/{chunk-QSN5MZGS.js.map → chunk-PC56KVAD.js.map} +0 -0
- /package/dist/{chunk-3CWL2LY4.js.map → chunk-PEWNEPDR.js.map} +0 -0
- /package/dist/{chunk-W3ZHJJVT.js.map → chunk-Q2T4XZG4.js.map} +0 -0
- /package/dist/{chunk-35XWJEWH.js.map → chunk-RCR6RVYE.js.map} +0 -0
- /package/dist/{chunk-VMDAXFRI.js.map → chunk-RH2H5PBV.js.map} +0 -0
- /package/dist/{chunk-PDTB5EX6.js.map → chunk-S3XM4LD3.js.map} +0 -0
- /package/dist/{chunk-75FDTDLH.js.map → chunk-SFHL3KWY.js.map} +0 -0
- /package/dist/{chunk-LIQ4SQ2T.js.map → chunk-SQ7DRYCC.js.map} +0 -0
- /package/dist/{chunk-YBMVHGY3.js.map → chunk-SSVZM3P6.js.map} +0 -0
- /package/dist/{chunk-XMD4SHFI.js.map → chunk-TMNLIA7R.js.map} +0 -0
- /package/dist/{chunk-ZPU3WDVK.js.map → chunk-UF55TADX.js.map} +0 -0
- /package/dist/{chunk-TD2P4HBP.js.map → chunk-UGI33KTO.js.map} +0 -0
- /package/dist/{chunk-BA7FDXQC.js.map → chunk-UK2OTLT3.js.map} +0 -0
- /package/dist/{chunk-DR34ZTWD.js.map → chunk-UU3FGKUW.js.map} +0 -0
- /package/dist/{chunk-5Z2KSVIV.js.map → chunk-UX7HIGS7.js.map} +0 -0
- /package/dist/{chunk-KQTYTCKQ.js.map → chunk-VDZIGI2C.js.map} +0 -0
- /package/dist/{chunk-U6SYRIOB.js.map → chunk-VKVIBQP3.js.map} +0 -0
- /package/dist/{chunk-65RIB7A6.js.map → chunk-VLF2M4GZ.js.map} +0 -0
- /package/dist/{chunk-7OFNN4CT.js.map → chunk-VTF7XNOP.js.map} +0 -0
- /package/dist/{chunk-2GK33EJV.js.map → chunk-WDA3L4NF.js.map} +0 -0
- /package/dist/{chunk-H26L3OQY.js.map → chunk-XDV6Q33B.js.map} +0 -0
- /package/dist/{chunk-U3HAMW5W.js.map → chunk-XYC26BDM.js.map} +0 -0
- /package/dist/{chunk-F2S5BLPE.js.map → chunk-YTWNY3RF.js.map} +0 -0
- /package/dist/{claim-V4F5GZJK.js.map → claim-JLVISHS4.js.map} +0 -0
- /package/dist/{client-VHN32ZRE.js.map → client-G6DGRGKT.js.map} +0 -0
- /package/dist/{code-YS6ZMGX3.js.map → code-AYN42EK7.js.map} +0 -0
- /package/dist/{companies-NJGJ7XNN.js.map → companies-XDMOP2GL.js.map} +0 -0
- /package/dist/{complete-MGNF5OAK.js.map → complete-XM7VLC4F.js.map} +0 -0
- /package/dist/{config-CQN5FHMZ.js.map → config-UE7GCROG.js.map} +0 -0
- /package/dist/{connect-PJOTRTT4.js.map → connect-VTDKGYP3.js.map} +0 -0
- /package/dist/{conversation-4DM26FRD.js.map → conversation-F53OE25Y.js.map} +0 -0
- /package/dist/{conversion-report-N4HANYOB.js.map → conversion-report-35MLL3FA.js.map} +0 -0
- /package/dist/{conversion-upload-command-TZTHU2CD.js.map → conversion-upload-command-CV2TA7OV.js.map} +0 -0
- /package/dist/{conversion-writes-LW4HQKK5.js.map → conversion-writes-NSZPNMPE.js.map} +0 -0
- /package/dist/{conversions-JGECVZSY.js.map → conversions-7YO6DDL3.js.map} +0 -0
- /package/dist/{conversions-TS723AZV.js.map → conversions-XNISCCC2.js.map} +0 -0
- /package/dist/{countries-ESAKTQAE.js.map → countries-NMWPKFFW.js.map} +0 -0
- /package/dist/{create-I2KVDTCQ.js.map → create-ARERZYCL.js.map} +0 -0
- /package/dist/{create-DSGQFBI7.js.map → create-C6ZVYIF5.js.map} +0 -0
- /package/dist/{create-WOHPIGBK.js.map → create-FAPJFCZE.js.map} +0 -0
- /package/dist/{create-SBQWVLXG.js.map → create-M7TUO3XS.js.map} +0 -0
- /package/dist/{creatives-4JGVZQGC.js.map → creatives-3YIV6IOK.js.map} +0 -0
- /package/dist/{creatives-DWO5KEQC.js.map → creatives-QZCO6WGH.js.map} +0 -0
- /package/dist/{creatives-PSWCNY7U.js.map → creatives-WJLJ3NKP.js.map} +0 -0
- /package/dist/{critique-TIZJ5GFM.js.map → critique-56MNXW7R.js.map} +0 -0
- /package/dist/{critique-NGMZK5LX.js.map → critique-KRIKEHF6.js.map} +0 -0
- /package/dist/{crm-2WAR565U.js.map → crm-OETFQNR3.js.map} +0 -0
- /package/dist/{crm-VDXUO2YU.js.map → crm-WXCFB4TU.js.map} +0 -0
- /package/dist/{crop-2J4RKJ6B.js.map → crop-VCP2JLQL.js.map} +0 -0
- /package/dist/{currency-XCGKQ7FE.js.map → currency-MNNDKY4Z.js.map} +0 -0
- /package/dist/{custom-conversions-6P555U2K.js.map → custom-conversions-CIU525HM.js.map} +0 -0
- /package/dist/{customers-ATENMXDO.js.map → customers-GTPEABJI.js.map} +0 -0
- /package/dist/{delete-3AV3ARMX.js.map → delete-5CURRI25.js.map} +0 -0
- /package/dist/{delete-H744GNS4.js.map → delete-CLC2Q2OE.js.map} +0 -0
- /package/dist/{delete-AVMZYNVT.js.map → delete-CQ6Q3URI.js.map} +0 -0
- /package/dist/{delete-A5XD52K4.js.map → delete-JIRZBBDD.js.map} +0 -0
- /package/dist/{delete-OEYPFATY.js.map → delete-LD3F4UIW.js.map} +0 -0
- /package/dist/{delete-MRM2S4Z5.js.map → delete-LGZ5OI4C.js.map} +0 -0
- /package/dist/{demographics-M5LJF3RZ.js.map → demographics-EK2ZPHWK.js.map} +0 -0
- /package/dist/{describe-6NVOWIBE.js.map → describe-BNB6643C.js.map} +0 -0
- /package/dist/{describe-P3PPIQME.js.map → describe-ZXGFTCDR.js.map} +0 -0
- /package/dist/{dimensions-EYAYO27I.js.map → dimensions-IU4ETG4U.js.map} +0 -0
- /package/dist/{discard-72I6SM7G.js.map → discard-VWCXYJWU.js.map} +0 -0
- /package/dist/{discover-BJPZNXUQ.js.map → discover-4EQWGIAN.js.map} +0 -0
- /package/dist/{domain-R4EIZD2W.js.map → domain-I2SAGVAB.js.map} +0 -0
- /package/dist/{download-7T6HIJKD.js.map → download-D7TB4744.js.map} +0 -0
- /package/dist/{draft-YDY2Q2K6.js.map → draft-4VOOSJQJ.js.map} +0 -0
- /package/dist/{draft-BBFJNZ5X.js.map → draft-6KG2YFOY.js.map} +0 -0
- /package/dist/{draft-YYYRWF7M.js.map → draft-APDGACIC.js.map} +0 -0
- /package/dist/{draft-BGUJDHXR.js.map → draft-D76C4JR3.js.map} +0 -0
- /package/dist/{draft-THPZFASM.js.map → draft-HFH2Y6F5.js.map} +0 -0
- /package/dist/{draft-34C3F5U4.js.map → draft-NVVWWQVC.js.map} +0 -0
- /package/dist/{draft-KIBMVKSR.js.map → draft-NWLPLTWM.js.map} +0 -0
- /package/dist/{env-KIP2J2UB.js.map → env-LHLGM2YJ.js.map} +0 -0
- /package/dist/{export-JQRMBJ7D.js.map → export-VGCFD7GL.js.map} +0 -0
- /package/dist/{extract-7QKLME7Z.js.map → extract-32J7V2RX.js.map} +0 -0
- /package/dist/{facets-F2H52MS4.js.map → facets-WVI6VBDC.js.map} +0 -0
- /package/dist/{favorites-NSGF4OV5.js.map → favorites-WKV5H5OF.js.map} +0 -0
- /package/dist/{feedback-IQKKT4MC.js.map → feedback-NMNKYEMU.js.map} +0 -0
- /package/dist/{feedback-record-UZV4Y7UD.js.map → feedback-record-2VYBMWMO.js.map} +0 -0
- /package/dist/{fetch-ZUAZPLAE.js.map → fetch-CENBDLT6.js.map} +0 -0
- /package/dist/{fetch-XF76JABV.js.map → fetch-XQFPE3MI.js.map} +0 -0
- /package/dist/{find-OTDIX6V4.js.map → find-PNDKEOXT.js.map} +0 -0
- /package/dist/{fit-2CA4JH7N.js.map → fit-SEWGCEW5.js.map} +0 -0
- /package/dist/{fonts-F2XUCIIW.js.map → fonts-KUCQAR7N.js.map} +0 -0
- /package/dist/{forecast-IDKJYM2B.js.map → forecast-PI52G2GL.js.map} +0 -0
- /package/dist/{funding-NYO65IMT.js.map → funding-ZRC25X5I.js.map} +0 -0
- /package/dist/{ga4-UDQ2HA2J.js.map → ga4-YDKXVJOC.js.map} +0 -0
- /package/dist/{generate-MMBYB44G.js.map → generate-BVMMX3SS.js.map} +0 -0
- /package/dist/{get-3L6W3E3T.js.map → get-7MSF4RVQ.js.map} +0 -0
- /package/dist/{get-XN5ZGDIK.js.map → get-KFVPIDIA.js.map} +0 -0
- /package/dist/{get-6WEYKOY6.js.map → get-NHQ2XYKZ.js.map} +0 -0
- /package/dist/{get-YIHTAMRT.js.map → get-UMMTY74K.js.map} +0 -0
- /package/dist/{get-P743RPSI.js.map → get-YM77HCL5.js.map} +0 -0
- /package/dist/{gif-53ULFVLR.js.map → gif-X323HXS2.js.map} +0 -0
- /package/dist/{google-KTO3PLEU.js.map → google-76A4MHQH.js.map} +0 -0
- /package/dist/{google-ads-Q37I2D5P.js.map → google-ads-S6O4MLKA.js.map} +0 -0
- /package/dist/{group-GKWCCX66.js.map → group-CTIZVYX2.js.map} +0 -0
- /package/dist/{group-EFZ3AJIE.js.map → group-HKWQ75CJ.js.map} +0 -0
- /package/dist/{gsc-P3QYGDV2.js.map → gsc-CORRYJBJ.js.map} +0 -0
- /package/dist/{history-4II5QA4B.js.map → history-4U7FJGEM.js.map} +0 -0
- /package/dist/{history-DBIEYQHY.js.map → history-BXOMJ5PL.js.map} +0 -0
- /package/dist/{hubspot-TTITJFBO.js.map → hubspot-I5MFAZ4G.js.map} +0 -0
- /package/dist/{icon-I43F77FV.js.map → icon-6QW63AHG.js.map} +0 -0
- /package/dist/{ideas-V4Q6JDKV.js.map → ideas-QDS5XA4S.js.map} +0 -0
- /package/dist/{images-SP5REF6E.js.map → images-NVTA2OHD.js.map} +0 -0
- /package/dist/{improve-BCCU5AS6.js.map → improve-WR23CHYH.js.map} +0 -0
- /package/dist/{ingest-574GIFAR.js.map → ingest-QAVJ2J7F.js.map} +0 -0
- /package/dist/{ingest-IC4T76W6.js.map → ingest-XJHV3GG6.js.map} +0 -0
- /package/dist/{insights-ZIU6FJMS.js.map → insights-AW7SOGHI.js.map} +0 -0
- /package/dist/{insights-NZWSJKU4.js.map → insights-IJEPLWQH.js.map} +0 -0
- /package/dist/{inspect-ATHYY6A2.js.map → inspect-7I53PWCF.js.map} +0 -0
- /package/dist/{inspiration-P265QJ2H.js.map → inspiration-TJJFUVY2.js.map} +0 -0
- /package/dist/{intent-E3UIVZBN.js.map → intent-VEUQS34Z.js.map} +0 -0
- /package/dist/{job-L7RJZMSG.js.map → job-K7LAIBYN.js.map} +0 -0
- /package/dist/{job-create-JUDAN52O.js.map → job-create-DFZL4CGA.js.map} +0 -0
- /package/dist/{job-status-U43WE3RJ.js.map → job-status-6Q2TVTEO.js.map} +0 -0
- /package/dist/{keep-55CPC7DG.js.map → keep-XJFCLVCP.js.map} +0 -0
- /package/dist/{keyword-gap-BG6M665A.js.map → keyword-gap-CUOGKUMM.js.map} +0 -0
- /package/dist/{keyword-metrics-J4UPUDN7.js.map → keyword-metrics-LK7FME4N.js.map} +0 -0
- /package/dist/{keywords-for-site-MWADFEO2.js.map → keywords-for-site-4E7UU44P.js.map} +0 -0
- /package/dist/{landing-R6DN7XLK.js.map → landing-I65PFN7H.js.map} +0 -0
- /package/dist/{languages-HORKPDNH.js.map → languages-KPPKX3E2.js.map} +0 -0
- /package/dist/{languages-JSGWCC7Z.js.map → languages-MGEBLO64.js.map} +0 -0
- /package/dist/{logo-2IP663QO.js.map → launches-E3Y6NCQE.js.map} +0 -0
- /package/dist/{layerize-RPD6SNP6.js.map → layerize-N4IQ2KE7.js.map} +0 -0
- /package/dist/{leads-7EVHMNUF.js.map → leads-PPMOBH7U.js.map} +0 -0
- /package/dist/{leads-JM6HUERX.js.map → leads-TNEQUOUN.js.map} +0 -0
- /package/dist/{learn-LGS2F5TR.js.map → learn-QQS323PS.js.map} +0 -0
- /package/dist/{library-ARKRLCNJ.js.map → library-4QQAVB6X.js.map} +0 -0
- /package/dist/{lighthouse-6ZC45E53.js.map → lighthouse-CD47CPJM.js.map} +0 -0
- /package/dist/{line-item-writes-KUYEXSIH.js.map → line-item-writes-QJZQUQ4E.js.map} +0 -0
- /package/dist/{line-items-GIWLP3FL.js.map → line-items-ESEAXGBV.js.map} +0 -0
- /package/dist/{link-PVM7XJQI.js.map → link-DPJYS4WY.js.map} +0 -0
- /package/dist/{linkedin-WX54EAX6.js.map → linkedin-EJPNC4VY.js.map} +0 -0
- /package/dist/{list-P7NAFN6J.js.map → list-A45NTPSJ.js.map} +0 -0
- /package/dist/{list-7MVBXOJT.js.map → list-GNP4GIV2.js.map} +0 -0
- /package/dist/{list-LI4OGQFW.js.map → list-KQFLOVC4.js.map} +0 -0
- /package/dist/{list-AL7N6X2P.js.map → list-MDHK3ENJ.js.map} +0 -0
- /package/dist/{list-A5UCIR2J.js.map → list-PRUFXMXW.js.map} +0 -0
- /package/dist/{list-WR7QYTON.js.map → list-S3BAQCTL.js.map} +0 -0
- /package/dist/{list-4ZKQZBCL.js.map → list-UU5NPLJ7.js.map} +0 -0
- /package/dist/{list-MCEFXC6L.js.map → list-V525A4Z4.js.map} +0 -0
- /package/dist/{locations-74TPQWAT.js.map → locations-J2PVPDZU.js.map} +0 -0
- /package/dist/{locations-J4G5RNPH.js.map → locations-TFOYESTF.js.map} +0 -0
- /package/dist/{log-U6IWZGOF.js.map → log-XQBEJOOW.js.map} +0 -0
- /package/dist/{lookup-XK45W2SH.js.map → logo-KQD5KUAH.js.map} +0 -0
- /package/dist/{output-RAH3TSIL.js.map → lookup-QCREWUV4.js.map} +0 -0
- /package/dist/{media-M7E6V2XU.js.map → media-2WENMOAA.js.map} +0 -0
- /package/dist/{media-6CQYG4UY.js.map → media-N4C6Q4IV.js.map} +0 -0
- /package/dist/{media-sources-JWGO23BZ.js.map → media-sources-BPOTW6IB.js.map} +0 -0
- /package/dist/{members-5FAW4YE7.js.map → members-BOYZKLNK.js.map} +0 -0
- /package/dist/{meta-EZ4SY25M.js.map → meta-PXYHWOOG.js.map} +0 -0
- /package/dist/{metrics-SQDJ5NQO.js.map → metrics-FZANUN7E.js.map} +0 -0
- /package/dist/{models-7U3GRYHF.js.map → models-W6EN3WB7.js.map} +0 -0
- /package/dist/{normalize-ICQF2AST.js.map → normalize-LOMDPNFJ.js.map} +0 -0
- /package/dist/{performance-FGCDWHMC.js.map → output-SR4DN3A4.js.map} +0 -0
- /package/dist/{page-GS3WLT2C.js.map → page-FS76L5WU.js.map} +0 -0
- /package/dist/{pages-FXYQLHSJ.js.map → pages-INMNJSX2.js.map} +0 -0
- /package/dist/{reddit-TF6K37SB.js.map → performance-53D43XVZ.js.map} +0 -0
- /package/dist/{pinterest-AUH7WBA7.js.map → pinterest-JMHFPNVW.js.map} +0 -0
- /package/dist/{pixels-45A55MOP.js.map → pixels-K6ZD7SXV.js.map} +0 -0
- /package/dist/{pixels-ZFF4BGUH.js.map → pixels-XPBBJYE3.js.map} +0 -0
- /package/dist/{preview-AD4GKYIA.js.map → preview-KXSNG3BS.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-BPWTDESL.js.map → promoted-tweet-writes-I6HVQRDB.js.map} +0 -0
- /package/dist/{promoted-tweets-OS3NHYVE.js.map → promoted-tweets-YAQ5ZUXI.js.map} +0 -0
- /package/dist/{properties-L2XIYQDS.js.map → properties-NYNEONHI.js.map} +0 -0
- /package/dist/{publish-SXZEWBVJ.js.map → publish-Z5DVKZSG.js.map} +0 -0
- /package/dist/{run-TFLFBQU2.js.map → query-MSZPOHFL.js.map} +0 -0
- /package/dist/{query-SGGBCHTF.js.map → query-RK2TFMBI.js.map} +0 -0
- /package/dist/{query-VTGVZQIO.js.map → query-TWNH6GV7.js.map} +0 -0
- /package/dist/{search-UO5KJTYS.js.map → reddit-6DQTBTO6.js.map} +0 -0
- /package/dist/{refresh-APVDWXRZ.js.map → refresh-TP2TOGS6.js.map} +0 -0
- /package/dist/{release-32SEJU4L.js.map → release-PHQEZ2ZX.js.map} +0 -0
- /package/dist/{relevant-pages-OWMNUCP7.js.map → relevant-pages-ORVFFVAM.js.map} +0 -0
- /package/dist/{remove-6LGGKMLJ.js.map → remove-ETLMMDEA.js.map} +0 -0
- /package/dist/{remove-U64GTHLQ.js.map → remove-KTBM5YSH.js.map} +0 -0
- /package/dist/{reopen-5VS233SF.js.map → reopen-OURQR6U7.js.map} +0 -0
- /package/dist/{research-O7CJV5IS.js.map → research-P23YBKS3.js.map} +0 -0
- /package/dist/{research-QYSQ6LW4.js.map → research-WCNWT5Y5.js.map} +0 -0
- /package/dist/{reset-47B5VPT4.js.map → reset-2NCAWWN4.js.map} +0 -0
- /package/dist/{reset-22FC7BXQ.js.map → reset-65R2CUB5.js.map} +0 -0
- /package/dist/{resolve-7KQGVTQT.js.map → resolve-65FKZ23N.js.map} +0 -0
- /package/dist/{retry-UJ5UF4BM.js.map → retry-P5K6LE6K.js.map} +0 -0
- /package/dist/{retry-J5UVLS72.js.map → retry-UIPDQJ5F.js.map} +0 -0
- /package/dist/{retry-failed-6HXPUVXJ.js.map → retry-failed-QMWQ6TRL.js.map} +0 -0
- /package/dist/{shared-HJDFNID4.js.map → run-NDMEYUOI.js.map} +0 -0
- /package/dist/{run-SI4FA32F.js.map → run-OP3T4TCF.js.map} +0 -0
- /package/dist/{schedule-52ZM4KRQ.js.map → schedule-6D667AXB.js.map} +0 -0
- /package/dist/{schedule-O2K6M43V.js.map → schedule-KXLQVCZW.js.map} +0 -0
- /package/dist/{scheduled-agents-PCWCQAKP.js.map → scheduled-agents-LYWEX4PU.js.map} +0 -0
- /package/dist/{schema-6GR77VJG.js.map → schema-CCFLFAOY.js.map} +0 -0
- /package/dist/{scrape-ETAMW43A.js.map → scrape-DBZQFIW7.js.map} +0 -0
- /package/dist/{screenshot-YCQF25ZB.js.map → screenshot-MPFANYIH.js.map} +0 -0
- /package/dist/{search-OQNGSMUH.js.map → search-4AANIUUL.js.map} +0 -0
- /package/dist/{search-742XSULP.js.map → search-EMJABZYF.js.map} +0 -0
- /package/dist/{search-NS7XNRZC.js.map → search-HQDN7DOF.js.map} +0 -0
- /package/dist/{sync-definition-BAJQUBE3.js.map → search-OVHC4CRQ.js.map} +0 -0
- /package/dist/{search-MEEM4D3W.js.map → search-YSGZRANA.js.map} +0 -0
- /package/dist/{select-4XCYVV2G.js.map → select-C6BKHB4B.js.map} +0 -0
- /package/dist/{sends-WGJVQUMF.js.map → sends-HXN5HSF6.js.map} +0 -0
- /package/dist/{sequences-OIPVR7JL.js.map → sequences-FRK76ZQV.js.map} +0 -0
- /package/dist/{setup-links-V3URI7DL.js.map → setup-links-BM2GLSSO.js.map} +0 -0
- /package/dist/{viewer-check-HFRUJ4ZU.js.map → shared-EH5ZTQXC.js.map} +0 -0
- /package/dist/{site-WIQ7SSU3.js.map → site-3PEJYQJW.js.map} +0 -0
- /package/dist/{sitemaps-POPZJTAX.js.map → sitemaps-7KHY2KXI.js.map} +0 -0
- /package/dist/{sites-262H6LM4.js.map → sites-6B76JW6C.js.map} +0 -0
- /package/dist/{skills-6TQZLIMP.js.map → skills-SCTT3LCM.js.map} +0 -0
- /package/dist/{sources-L453U5MT.js.map → sources-ODJBHNGY.js.map} +0 -0
- /package/dist/{stale-6OVG6VME.js.map → stale-2O54QXY2.js.map} +0 -0
- /package/dist/{stats-NNXZMPZR.js.map → stats-4NBOAOR2.js.map} +0 -0
- /package/dist/{status-WXWU54WR.js.map → status-NE5OBM4B.js.map} +0 -0
- /package/dist/{sticker-4KMBSMP5.js.map → sticker-NLXBIOBO.js.map} +0 -0
- /package/dist/{stock-2YCDN3N6.js.map → stock-F3SA4VHV.js.map} +0 -0
- /package/dist/{studio-C5K3YX3P.js.map → studio-ZPDIOFKL.js.map} +0 -0
- /package/dist/{sync-CDZUTGV3.js.map → sync-5GJNZDGZ.js.map} +0 -0
- /package/dist/{sync-ZSNUBYPM.js.map → sync-FCNFXTFD.js.map} +0 -0
- /package/dist/{sync-CF7FVUQJ.js.map → sync-YXCZ3DHY.js.map} +0 -0
- /package/dist/{tag-manager-DYZUOIAS.js.map → tag-manager-YM4Q3CZT.js.map} +0 -0
- /package/dist/{tags-SG3NVC3J.js.map → tags-456UOYJU.js.map} +0 -0
- /package/dist/{tags-6RY23XOG.js.map → tags-5YPYHV5V.js.map} +0 -0
- /package/dist/{tags-BHFQWNPL.js.map → tags-HXMHEHG2.js.map} +0 -0
- /package/dist/{tags-WR6PDIDR.js.map → tags-K34666RY.js.map} +0 -0
- /package/dist/{tags-VN5HTL35.js.map → tags-NB35ISO3.js.map} +0 -0
- /package/dist/{targeting-constants-XJ2VOW7K.js.map → targeting-constants-3CMGPWRI.js.map} +0 -0
- /package/dist/{targeting-criteria-5EXP2NXF.js.map → targeting-criteria-UKQ4WF5C.js.map} +0 -0
- /package/dist/{targets-WUVEJPSD.js.map → targets-VQ4BQ657.js.map} +0 -0
- /package/dist/{templates-LOJQX2NG.js.map → templates-PMUIOVDX.js.map} +0 -0
- /package/dist/{testimonials-6M5DXORT.js.map → testimonials-XZCGVD6V.js.map} +0 -0
- /package/dist/{top-companies-E2OMMPSV.js.map → top-companies-VMRIDOOH.js.map} +0 -0
- /package/dist/{translate-AW4CUKDA.js.map → translate-F5KR62LF.js.map} +0 -0
- /package/dist/{triggers-MRXIDCSN.js.map → triggers-2MZX7W6Y.js.map} +0 -0
- /package/dist/{tweets-ATP3FQAC.js.map → tweets-XWE3VYQ4.js.map} +0 -0
- /package/dist/{unfollow-CBVPGPF7.js.map → unfollow-7U4UBAJX.js.map} +0 -0
- /package/dist/{unlink-HNL747YM.js.map → unlink-AWSNY3QS.js.map} +0 -0
- /package/dist/{unstage-4ZEULXEQ.js.map → unstage-OGB43ZXO.js.map} +0 -0
- /package/dist/{unstage-OL2JDCLK.js.map → unstage-RQBOQ4DY.js.map} +0 -0
- /package/dist/{update-YNNRX5B2.js.map → update-4KWYHMLS.js.map} +0 -0
- /package/dist/{update-4KGIT4BF.js.map → update-6DKEWM64.js.map} +0 -0
- /package/dist/{update-RTTC3SAK.js.map → update-G6EKHPIF.js.map} +0 -0
- /package/dist/{update-JPBUF7M2.js.map → update-OFV452AC.js.map} +0 -0
- /package/dist/{upload-UIXPCSXJ.js.map → upload-6CJWMQ24.js.map} +0 -0
- /package/dist/{upload-L5SYZB3X.js.map → upload-GUKMQ5MT.js.map} +0 -0
- /package/dist/{upscale-YWRLFU22.js.map → upscale-A456MESF.js.map} +0 -0
- /package/dist/{url-params-K47CE7Y5.js.map → url-params-OE3UMYMM.js.map} +0 -0
- /package/dist/{use-UT2DIZOG.js.map → use-HBVKVT5S.js.map} +0 -0
- /package/dist/{variant-FLZJYGYL.js.map → variant-HULP57YI.js.map} +0 -0
- /package/dist/{videos-BP3BKNTY.js.map → videos-ION7UT3M.js.map} +0 -0
- /package/dist/{view-NPAG66QK.js.map → view-GCDEJZII.js.map} +0 -0
- /package/dist/{web-RPSGFN4U.js.map → web-CCVD6UZ4.js.map} +0 -0
- /package/dist/{write-commands-WTRSOSO3.js.map → write-commands-47OP673X.js.map} +0 -0
- /package/dist/{write-commands-TAYGTJEZ.js.map → write-commands-IJ5IFHS6.js.map} +0 -0
- /package/dist/{write-commands-4WARNR2T.js.map → write-commands-NNVDWBLG.js.map} +0 -0
- /package/dist/{write-commands-ERKVRHTC.js.map → write-commands-OBMIVFZJ.js.map} +0 -0
- /package/dist/{x-VZCELH3P.js.map → x-U32DT24S.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/flows/add.ts"],"sourcesContent":["/**\n * `add-node` and `add-side-effect`: emit a valid skeleton and splice it in.\n *\n * The point is not to save typing — it is that the skeleton is right. A node\n * needs a fresh UUID, an explicit `condition: null`, the correct `nodeData`\n * discriminator, and — for a widget — `form.external: null` rather than an\n * invented resource. A side effect needs `encryptedConfig: null` and no\n * `oauthProviderId` key at all. Every one of those is a rule the flow-builder\n * skill used to spend prose on, and each was a real defect when got wrong.\n *\n * Deliberately scoped to creating the skeleton. Copy, conditions, autofill and\n * the `ai` field stay hand-edited: they are judgement, and a flag-based API for\n * them would be worse than JSON.\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { type FlowConfigStatus, flowCatalogEntry, flowCatalogTypes, flowNodeTriggers } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n flowDataPath,\n isUsableStepNameKey,\n readFlowTree,\n requestFlowInputCall,\n stepNameKey,\n walkNodes,\n writeFlowTree,\n} from \"./shared.ts\";\n\ntype AnyRecord = Record<string, unknown>;\n\nfunction unknownType(kind: \"node\" | \"side-effect\", type: string): never {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `No ${kind} type \"${type}\".`,\n fix: `Known types: ${flowCatalogTypes(kind).join(\", \")}. See: baker flows schema ${kind}`,\n },\n });\n process.exit(1);\n}\n\n/** Replace the catalog's `<placeholder>` strings with real values where we have them. */\nfunction concrete(skeleton: AnyRecord, replacements: Record<string, unknown>): AnyRecord {\n return { ...structuredClone(skeleton), ...replacements };\n}\n\n/**\n * Whether this name can be a step in this form, and why not when it cannot.\n *\n * Both answers are about the same fact: the name becomes a constant in the\n * form's generated `_query.ts` (`export const <KEY> = \"<node id>\";`), and\n * `flow-typed.mjs` writes it without checking either that it parses or that no\n * other step already produced it. So both failures land on a generated file\n * rather than on the name that caused them — one as a syntax error, one as\n * `Duplicate flow node name` — and `_query.ts` stops regenerating for the whole\n * form. A name is minted once, here, which makes here the only cheap place to\n * say so.\n *\n * Returns `null` when the name is fine.\n */\nexport function stepNameRefusal(nodes: readonly AnyRecord[], name: string): { message: string; fix: string } | null {\n const key = stepNameKey(name);\n if (!isUsableStepNameKey(key)) {\n return {\n message: `\"${name}\" cannot be a step name: it becomes the constant \\`${key || \"(empty)\"}\\`, which is not a valid identifier.`,\n fix: 'A step name becomes `export const <NAME> = …` 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\".',\n };\n }\n const clash = nodes.find((node) => typeof node.name === \"string\" && stepNameKey(node.name) === key);\n if (!clash) return null;\n return {\n message: `This form already has a step named \"${clash.name}\", which collides with \"${name}\".`,\n 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.`,\n };\n}\n\nregisterSchema({\n command: \"flows.add-node\",\n description:\n \"Add a step to a form with a valid skeleton — fresh UUID, explicit condition, correct nodeData discriminator, and form.external:null for a widget. Author its copy and conditions afterwards by editing _data.json.\",\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n type: { type: \"string\", description: \"Node type (see: baker flows schema node)\", required: true },\n name: { type: \"string\", description: \"Step name — unique, Title Case\", required: true },\n parent: { type: \"string\", description: \"Parent node id. Omit to append to the root's children.\", required: false },\n },\n});\n\nexport const addNodeCommand = defineCommand({\n meta: {\n name: \"add-node\",\n description:\n 'Add a step to a form, with the skeleton its type requires. Example: baker flows add-node contact --type customForm --name \"Contact Info\"',\n },\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n type: { type: \"string\", description: \"Node type\", required: true },\n name: { type: \"string\", description: \"Step name — unique, Title Case\", required: true },\n parent: { type: \"string\", description: \"Parent node id (default: the root)\" },\n },\n run: ({ args }) => {\n const slug = String(args.slug);\n const type = String(args.type);\n // Trimmed before anything reads it, because the generator does not trim:\n // ` Contact Info ` becomes the constant `_CONTACT_INFO_`, which is legal,\n // permanent, and not what anyone typed.\n const name = String(args.name).trim();\n const entry = flowCatalogEntry(\"node\", type) ?? unknownType(\"node\", type);\n\n const tree = readFlowTree(slug);\n const nodes = walkNodes(tree);\n\n const refusal = stepNameRefusal(nodes, name);\n if (refusal) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: refusal.message.replace(\"This form\", `\"${slug}\"`),\n fix: refusal.fix,\n },\n });\n process.exit(1);\n }\n\n const parent = args.parent ? nodes.find((node) => node.id === String(args.parent)) : tree;\n if (!parent) {\n writeJson({\n ok: false,\n error: {\n code: \"NOT_FOUND\",\n message: `No node with id \"${args.parent}\" in \"${slug}\".`,\n fix: `Nodes in this form: ${nodes.map((node) => `${node.id} (${node.name})`).join(\", \")}`,\n },\n });\n process.exit(1);\n }\n\n const node = concrete(entry.skeleton, { id: randomUUID(), name });\n if (!Array.isArray(parent.children)) parent.children = [];\n (parent.children as AnyRecord[]).push(node);\n writeFlowTree(slug, tree);\n\n writeJson({\n ok: true,\n data: { slug, nodeId: node.id, type, parentId: parent.id ?? null, path: flowDataPath(slug) },\n hints: [\n `Now fill in this step's \\`ai\\` field and its copy by editing ${flowDataPath(slug)}.`,\n // Said on every step added, because the moment a Form's shape changes\n // is the moment its outcome can move — and a Form nobody named an\n // outcome for reports zero conversions rather than an error.\n `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.`,\n ...(entry.owners?.[\"nodeData.form.external\"] === \"request_flow_input\"\n ? [\n `Pick this ${type} step's resource: ${requestFlowInputCall(slug, pendingItem(\"node\", String(node.id), type))}.`,\n ]\n : []),\n ...(entry.gotcha ? [entry.gotcha] : []),\n ],\n });\n },\n});\n\n/**\n * The `triggerId` a side effect on this step has to carry.\n *\n * This is the one field on a side effect that is decided by its STEP rather\n * than by its own type, and getting it wrong is silent in every direction:\n * `fireSideEffects` filters on `triggerId` equality, so a mismatch means the\n * side effect never runs — no error, no log, nothing half-written. Every\n * validator in the repo passes, because the file is valid; it just does nothing.\n *\n * Taking the skeleton's default was that failure. `SIDE_EFFECT_ENVELOPE` carries\n * `customForm.onFormSubmitted`, which is right for a `customForm` step and wrong\n * for the five widget types that raise an id of their own — so the command that\n * exists to emit a skeleton the agent cannot get wrong emitted a dead side\n * effect on any booking or embedded-form step.\n */\nexport type TriggerChoice = { ok: true; triggerId: string } | { ok: false; message: string; fix: string };\n\nexport function resolveTrigger(node: AnyRecord, requested: string | undefined): TriggerChoice {\n const triggers = flowNodeTriggers(node.nodeData);\n const where = `Step \"${String(node.name ?? node.id)}\"${triggers.type ? ` (a ${triggers.type} step)` : \"\"}`;\n const raises = triggers.available.length > 0 ? `It raises: ${triggers.available.join(\", \")}.` : (triggers.why ?? \"\");\n const no = (message: string, fix: string): TriggerChoice => ({ ok: false, message, fix });\n\n // A node type the table does not cover is a table that has fallen behind, not\n // a form that is wrong — so an explicit trigger is taken at its word there.\n // Refusing instead would let a stale table reject a form the engine handles.\n if (!triggers.known) {\n return requested\n ? { ok: true, triggerId: requested }\n : no(`${where} is not a node type this command knows, so --trigger is required.`, triggers.why ?? \"\");\n }\n\n if (requested) {\n return triggers.available.includes(requested)\n ? { ok: true, triggerId: requested }\n : no(\n `${where} never raises \\`${requested}\\`, so a side effect carrying it would be written, pass every check, and never run.`,\n raises,\n );\n }\n\n return triggers.completion\n ? { ok: true, triggerId: triggers.completion }\n : no(`${where} has no trigger a side effect can answer.`, raises);\n}\n\n/**\n * The first `se-{type}-{n}` nobody is using.\n *\n * Counting the same-type side effects instead was wrong whenever the numbering\n * had a gap — a form holding `se-hubspotForm-1` and `se-hubspotForm-3`, or one\n * where `se-meta-1` was deleted and `se-meta-2` left behind. The count then\n * names an id that already exists and the command refuses, which is the one\n * outcome a skeleton-minting command should never produce for a form it can see\n * in full.\n */\nexport function freeSideEffectId(type: string, taken: ReadonlySet<string>): string {\n for (let n = 1; ; n++) {\n const candidate = `se-${type}-${n}`;\n if (!taken.has(candidate)) return candidate;\n }\n}\n\n/**\n * The pixel already reporting this step's moment to the same platform, if any.\n *\n * Only pixel types (those fed a tag ref) can double-count: two emails or two\n * CRMs on one step are a real need.\n */\nexport function sameTrackingSideEffect(node: AnyRecord, type: string, triggerId: string): AnyRecord | null {\n if (flowCatalogEntry(\"side-effect\", type)?.owners?.tagIds !== \"tags\") return null;\n const effects = Array.isArray(node.sideEffects) ? (node.sideEffects as unknown[]) : [];\n for (const raw of effects) {\n const effect = raw as AnyRecord | null;\n if (effect?.type === type && effect.triggerId === triggerId) return effect;\n }\n return null;\n}\n\n/**\n * What a second pixel of one platform on one moment must not repeat.\n *\n * Two chats each wired GA4 `generate_lead` onto one submit and every lead\n * counted twice — but GA4 `sign_up` beside it is a second conversion, and the\n * skeleton added here has no event yet. So this warns instead of refusing;\n * the same event to the same tag is refused by the Form check at verify.\n */\nexport function secondPixelHint(node: AnyRecord, type: string, triggerId: string): string | null {\n const already = sameTrackingSideEffect(node, type, triggerId);\n if (!already) return null;\n const event = typeof already.eventName === \"string\" ? ` with event \"${already.eventName}\"` : \"\";\n 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 — the same event to the same tag counts every conversion twice.`;\n}\n\n/** The one row `requestFlowInputCall` needs, for an item this command just added unconfigured. */\nfunction pendingItem(\n target: \"node\" | \"sideEffect\",\n nodeId: string,\n kind: string,\n sideEffectId?: string,\n): FlowConfigStatus {\n return {\n target,\n nodeId,\n kind,\n status: `${kind} — not configured`,\n needsInput: true,\n ...(sideEffectId ? { sideEffectId } : {}),\n };\n}\n\nfunction configureHints(slug: string, nodeId: string, id: string, type: string, needsCard: boolean): string[] {\n if (!needsCard) return [];\n return [\n `Configure it: ${requestFlowInputCall(slug, pendingItem(\"sideEffect\", nodeId, type, id))}. Read the destination off that call's result.`,\n ];\n}\n\nregisterSchema({\n command: \"flows.add-side-effect\",\n description:\n \"Add a side effect to a step with a valid skeleton — 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.\",\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n node: { type: \"string\", description: \"Id of the step that fires it\", required: true },\n type: { type: \"string\", description: \"Side-effect type (see: baker flows schema side-effect)\", required: true },\n id: { type: \"string\", description: \"Side-effect id. Defaults to se-{type}-{n}.\", required: false },\n trigger: {\n type: \"string\",\n description:\n \"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.\",\n required: false,\n },\n },\n});\n\nexport const addSideEffectCommand = defineCommand({\n meta: {\n name: \"add-side-effect\",\n description:\n \"Add a side effect to a step, with the skeleton its type requires. Example: baker flows add-side-effect contact --node <id> --type googleSpreadsheet\",\n },\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n node: { type: \"string\", description: \"Id of the step that fires it\", required: true },\n type: { type: \"string\", description: \"Side-effect type\", required: true },\n id: { type: \"string\", description: \"Side-effect id (default se-{type}-{n})\" },\n trigger: {\n type: \"string\",\n description: \"triggerId, for a non-completion moment. Default: whatever the step named by --node raises\",\n },\n },\n run: ({ args }) => {\n const slug = String(args.slug);\n const type = String(args.type);\n const entry = flowCatalogEntry(\"side-effect\", type) ?? unknownType(\"side-effect\", type);\n\n const tree = readFlowTree(slug);\n const nodes = walkNodes(tree);\n const node = nodes.find((candidate) => candidate.id === String(args.node));\n if (!node) {\n writeJson({\n ok: false,\n error: {\n code: \"NOT_FOUND\",\n message: `No node with id \"${args.node}\" in \"${slug}\".`,\n fix: `Nodes in this form: ${nodes.map((candidate) => `${candidate.id} (${candidate.name})`).join(\", \")}`,\n },\n });\n process.exit(1);\n }\n\n if (!Array.isArray(node.sideEffects)) node.sideEffects = [];\n const existing = node.sideEffects as AnyRecord[];\n const takenIds = new Set(\n nodes.flatMap((n) => ((n.sideEffects as AnyRecord[] | undefined) ?? []).map((se) => String(se?.id ?? \"\"))),\n );\n const id = args.id ? String(args.id) : freeSideEffectId(type, takenIds);\n\n // Only an id the caller chose can still collide — the generated one is free\n // by construction.\n if (takenIds.has(id)) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `\"${slug}\" already has a side effect with id \"${id}\".`,\n fix: `Drop --id to be given a free one (${freeSideEffectId(type, takenIds)}), or pick another.`,\n },\n });\n process.exit(1);\n }\n\n const trigger = resolveTrigger(node, args.trigger ? String(args.trigger) : undefined);\n if (!trigger.ok) {\n writeJson({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: trigger.message, ...(trigger.fix ? { fix: trigger.fix } : {}) },\n });\n process.exit(1);\n }\n const triggerId = trigger.triggerId;\n\n const secondPixel = secondPixelHint(node, type, triggerId);\n\n const sideEffect = concrete(entry.skeleton, { id, triggerId });\n existing.push(sideEffect);\n writeFlowTree(slug, tree);\n\n const needsUser = Object.entries(entry.owners ?? {}).filter(([, owner]) => owner !== \"agent\");\n writeJson({\n ok: true,\n data: { slug, nodeId: node.id, sideEffectId: id, type, triggerId, path: flowDataPath(slug) },\n hints: [\n `Fires on \\`${triggerId}\\` — 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.`,\n // A pixel side effect is the thing most often mistaken for \"setting the\n // conversion\". It tells the ad platform; it tells Baker nothing, and a\n // Form can fire every pixel it has while every Baker report says it\n // converted nobody.\n ...(needsUser.some(([, owner]) => owner === \"tags\")\n ? [\n `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 — they are two different systems asked the same question.`,\n ]\n : []),\n ...(secondPixel ? [secondPixel] : []),\n ...configureHints(\n slug,\n String(node.id),\n id,\n type,\n needsUser.some(([, owner]) => owner === \"request_flow_input\" || owner === \"connect\"),\n ),\n ...(needsUser.some(([, owner]) => owner === \"tags\")\n ? [\n \"Fill `tagIds` with a real ref from `baker tags list`, or stage the tag first with the `tags` skill. Never invent one.\",\n ]\n : []),\n ...(entry.gotcha ? [entry.gotcha] : []),\n ],\n });\n },\n});\n"],"mappings":"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","names":["node"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import {
|
|
2
|
+
compactSource,
|
|
3
|
+
reportError,
|
|
4
|
+
reportInvalid
|
|
5
|
+
} from "./chunk-4AFGT3L3.js";
|
|
6
|
+
import {
|
|
7
|
+
testimonialSourceRefreshIntervalSchema,
|
|
8
|
+
testimonialSourceTypeSchema,
|
|
9
|
+
testimonialSourcesAddRequestSchema
|
|
10
|
+
} from "./chunk-MAGSNHYB.js";
|
|
11
|
+
import "./chunk-GXDLWBOY.js";
|
|
12
|
+
import "./chunk-GIWHHCD6.js";
|
|
13
|
+
import "./chunk-XQIOCIDO.js";
|
|
14
|
+
import "./chunk-I2DNBEV6.js";
|
|
15
|
+
import {
|
|
16
|
+
apiPost
|
|
17
|
+
} from "./chunk-MMOTJIV6.js";
|
|
18
|
+
import "./chunk-2ZZR2SOF.js";
|
|
19
|
+
import "./chunk-YPCVPDU7.js";
|
|
20
|
+
import {
|
|
21
|
+
registerSchema,
|
|
22
|
+
writeJson
|
|
23
|
+
} from "./chunk-D3RTGIT4.js";
|
|
24
|
+
import "./chunk-YQSBHWOI.js";
|
|
25
|
+
|
|
26
|
+
// src/commands/testimonials/sources/add.ts
|
|
27
|
+
import { defineCommand } from "citty";
|
|
28
|
+
var SITES = testimonialSourceTypeSchema.options.join("|");
|
|
29
|
+
registerSchema({
|
|
30
|
+
command: "testimonials.sources.add",
|
|
31
|
+
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.",
|
|
32
|
+
args: {
|
|
33
|
+
input: {
|
|
34
|
+
type: "string",
|
|
35
|
+
description: "The review page's link, or a business name (Google Maps only)",
|
|
36
|
+
required: true
|
|
37
|
+
},
|
|
38
|
+
platform: {
|
|
39
|
+
type: "string",
|
|
40
|
+
description: `Only to force a site: ${SITES}. A bare domain with trustpilot is that company's Trustpilot page.`,
|
|
41
|
+
required: false
|
|
42
|
+
},
|
|
43
|
+
every: {
|
|
44
|
+
type: "string",
|
|
45
|
+
description: `Auto-sync cadence: ${testimonialSourceRefreshIntervalSchema.options.join("|")} (default never)`,
|
|
46
|
+
required: false
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
function addSourceHints(input, { created, source }) {
|
|
51
|
+
const hints = [
|
|
52
|
+
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.`
|
|
53
|
+
];
|
|
54
|
+
if (created && source.platform === "google" && !/^https?:\/\/|\.[a-z]{2,}\//i.test(input.trim())) {
|
|
55
|
+
hints.push(
|
|
56
|
+
`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.`
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
if (source.refreshInterval === "never") {
|
|
60
|
+
hints.push(
|
|
61
|
+
`Auto-sync is off. If the user wants new reviews to keep arriving: \`baker testimonials sources schedule ${source.id} --every monthly\`.`
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
return hints;
|
|
65
|
+
}
|
|
66
|
+
var addCommand = defineCommand({
|
|
67
|
+
meta: {
|
|
68
|
+
name: "add",
|
|
69
|
+
description: `Add a review page as a testimonial source. Start here with the page's link; for Google Maps a business name also works.
|
|
70
|
+
|
|
71
|
+
Examples:
|
|
72
|
+
baker testimonials sources add https://www.yelp.com/biz/acme-bakery-madrid
|
|
73
|
+
baker testimonials sources add https://www.g2.com/products/acme --every monthly
|
|
74
|
+
baker testimonials sources add "Acme Bakery Madrid" # Google Maps, found by name
|
|
75
|
+
baker testimonials sources add acme.com --platform trustpilot`
|
|
76
|
+
},
|
|
77
|
+
args: {
|
|
78
|
+
input: { type: "positional", description: "Review page link, or a business name for Google Maps", required: true },
|
|
79
|
+
platform: { type: "string", description: `Force a site: ${SITES}`, required: false },
|
|
80
|
+
every: { type: "string", description: "Auto-sync: never|daily|weekly|monthly", required: false }
|
|
81
|
+
},
|
|
82
|
+
run: async ({ args }) => {
|
|
83
|
+
const parsed = testimonialSourcesAddRequestSchema.safeParse({
|
|
84
|
+
input: String(args.input ?? ""),
|
|
85
|
+
platform: args.platform ? String(args.platform).toLowerCase().replace(/[\s-]/g, "_") : void 0,
|
|
86
|
+
every: args.every ? String(args.every).toLowerCase() : void 0
|
|
87
|
+
});
|
|
88
|
+
if (!parsed.success) reportInvalid(parsed.error.issues[0]);
|
|
89
|
+
try {
|
|
90
|
+
const data = await apiPost("/api/testimonials/sources/add", parsed.data, {
|
|
91
|
+
timeoutMs: 12e4
|
|
92
|
+
});
|
|
93
|
+
const hints = addSourceHints(parsed.data.input, data);
|
|
94
|
+
writeJson({ ok: true, data: { created: data.created, source: compactSource(data.source) }, hints });
|
|
95
|
+
} catch (err) {
|
|
96
|
+
reportError(err);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
export {
|
|
101
|
+
addCommand,
|
|
102
|
+
addSourceHints
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=add-QM7ANAVG.js.map
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PLATFORM_NAMES,
|
|
3
|
+
reportError,
|
|
4
|
+
splitList
|
|
5
|
+
} from "./chunk-ICJFL7DU.js";
|
|
6
|
+
import {
|
|
7
|
+
apiPost
|
|
8
|
+
} from "./chunk-MMOTJIV6.js";
|
|
9
|
+
import "./chunk-2ZZR2SOF.js";
|
|
10
|
+
import "./chunk-YPCVPDU7.js";
|
|
11
|
+
import {
|
|
12
|
+
BRAND_ACCOUNTS_MAX,
|
|
13
|
+
registerSchema,
|
|
14
|
+
writeJson
|
|
15
|
+
} from "./chunk-D3RTGIT4.js";
|
|
16
|
+
import "./chunk-YQSBHWOI.js";
|
|
17
|
+
|
|
18
|
+
// src/commands/winning-ads/add-accounts.ts
|
|
19
|
+
import { defineCommand } from "citty";
|
|
20
|
+
var ADD_TIMEOUT_MS = 12e4;
|
|
21
|
+
var named = (accounts) => accounts.map((a) => `${a.name} (${PLATFORM_NAMES[a.platform]})`).join(", ");
|
|
22
|
+
function addAccountsHints(data) {
|
|
23
|
+
const hints = [];
|
|
24
|
+
if (data.added.length > 0) {
|
|
25
|
+
hints.push(
|
|
26
|
+
`Now tracking ${named(data.added)} \u2014 its ads arrive over the next minutes; check \`baker winning-ads following\`.`
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
if (data.already_tracked.length > 0) {
|
|
30
|
+
hints.push(`Already tracked under this brand: ${named(data.already_tracked)}.`);
|
|
31
|
+
}
|
|
32
|
+
for (const failure of data.failed) {
|
|
33
|
+
hints.push(`Not added: "${failure.input}" \u2014 ${failure.error}`);
|
|
34
|
+
}
|
|
35
|
+
return hints;
|
|
36
|
+
}
|
|
37
|
+
registerSchema({
|
|
38
|
+
command: "winning-ads.add-accounts",
|
|
39
|
+
description: "Track more accounts under a brand you already follow \u2014 another country's or language's Facebook page, a second LinkedIn company, another Google Ads entity. Pass the brand's advertiser id and one or more links (comma-separated): profile or ad-library links, Google advertiser ids (AR\u2026), or a website. `follow` returns ready-made calls for the look-alike accounts it found.",
|
|
40
|
+
args: {
|
|
41
|
+
advertiser: { type: "string", description: "Advertiser id of a followed brand (from `following`)", required: true },
|
|
42
|
+
inputs: {
|
|
43
|
+
type: "string",
|
|
44
|
+
description: `Comma-separated links, advertiser ids or websites \u2014 up to ${BRAND_ACCOUNTS_MAX}`,
|
|
45
|
+
required: true
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
var addAccountsCommand = defineCommand({
|
|
50
|
+
meta: {
|
|
51
|
+
name: "add-accounts",
|
|
52
|
+
description: `Add more of a followed brand's accounts (another market's Facebook page, a second LinkedIn company). Example: baker winning-ads add-accounts adv_123 "https://www.facebook.com/barkibu.it,AR01614014350098432001"`
|
|
53
|
+
},
|
|
54
|
+
args: {
|
|
55
|
+
advertiser: { type: "positional", description: "Advertiser id of a followed brand", required: true },
|
|
56
|
+
inputs: {
|
|
57
|
+
type: "positional",
|
|
58
|
+
description: "Comma-separated links, advertiser ids or websites",
|
|
59
|
+
required: true
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
run: async ({ args }) => {
|
|
63
|
+
try {
|
|
64
|
+
const inputs = [...new Set(splitList(String(args.inputs ?? "")))];
|
|
65
|
+
if (inputs.length === 0 || inputs.length > BRAND_ACCOUNTS_MAX) {
|
|
66
|
+
writeJson({
|
|
67
|
+
ok: false,
|
|
68
|
+
error: {
|
|
69
|
+
code: "VALIDATION_ERROR",
|
|
70
|
+
message: `Pass between 1 and ${BRAND_ACCOUNTS_MAX} comma-separated links.`
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
const data = await apiPost(
|
|
76
|
+
"/api/ad-library/accounts/add",
|
|
77
|
+
{ advertiser_id: String(args.advertiser), inputs },
|
|
78
|
+
{ timeoutMs: ADD_TIMEOUT_MS }
|
|
79
|
+
);
|
|
80
|
+
const hints = addAccountsHints(data);
|
|
81
|
+
writeJson({ ok: true, data, hints: hints.length > 0 ? hints : void 0 });
|
|
82
|
+
} catch (err) {
|
|
83
|
+
reportError(err);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
export {
|
|
88
|
+
addAccountsCommand,
|
|
89
|
+
addAccountsHints
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=add-accounts-VDSWHJ4K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/winning-ads/add-accounts.ts"],"sourcesContent":["import { type AddBrandAccountsResponse, BRAND_ACCOUNTS_MAX, type ResolvePreview } from \"@baker/api/ad-library\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { PLATFORM_NAMES, reportError, splitList } from \"./shared.ts\";\n\n// One resolve per input, then an add upstream — slower than a single follow.\nconst ADD_TIMEOUT_MS = 120_000;\n\nconst named = (accounts: ResolvePreview[]) =>\n accounts.map((a) => `${a.name} (${PLATFORM_NAMES[a.platform]})`).join(\", \");\n\n/** What the agent reads back: what is now collecting, what was there already, and why an input wasn't added. */\nexport function addAccountsHints(data: AddBrandAccountsResponse): string[] {\n const hints: string[] = [];\n if (data.added.length > 0) {\n hints.push(\n `Now tracking ${named(data.added)} — its ads arrive over the next minutes; check \\`baker winning-ads following\\`.`,\n );\n }\n if (data.already_tracked.length > 0) {\n hints.push(`Already tracked under this brand: ${named(data.already_tracked)}.`);\n }\n for (const failure of data.failed) {\n hints.push(`Not added: \"${failure.input}\" — ${failure.error}`);\n }\n return hints;\n}\n\nregisterSchema({\n command: \"winning-ads.add-accounts\",\n description:\n \"Track more accounts under a brand you already follow — another country's or language's Facebook page, a second LinkedIn company, another Google Ads entity. Pass the brand's advertiser id and one or more links (comma-separated): profile or ad-library links, Google advertiser ids (AR…), or a website. `follow` returns ready-made calls for the look-alike accounts it found.\",\n args: {\n advertiser: { type: \"string\", description: \"Advertiser id of a followed brand (from `following`)\", required: true },\n inputs: {\n type: \"string\",\n description: `Comma-separated links, advertiser ids or websites — up to ${BRAND_ACCOUNTS_MAX}`,\n required: true,\n },\n },\n});\n\nexport const addAccountsCommand = defineCommand({\n meta: {\n name: \"add-accounts\",\n description:\n \"Add more of a followed brand's accounts (another market's Facebook page, a second LinkedIn company). Example: baker winning-ads add-accounts adv_123 \\\"https://www.facebook.com/barkibu.it,AR01614014350098432001\\\"\",\n },\n args: {\n advertiser: { type: \"positional\", description: \"Advertiser id of a followed brand\", required: true },\n inputs: {\n type: \"positional\",\n description: \"Comma-separated links, advertiser ids or websites\",\n required: true,\n },\n },\n run: async ({ args }) => {\n try {\n const inputs = [...new Set(splitList(String(args.inputs ?? \"\")))];\n if (inputs.length === 0 || inputs.length > BRAND_ACCOUNTS_MAX) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `Pass between 1 and ${BRAND_ACCOUNTS_MAX} comma-separated links.`,\n },\n });\n process.exit(1);\n }\n const data = await apiPost<AddBrandAccountsResponse>(\n \"/api/ad-library/accounts/add\",\n { advertiser_id: String(args.advertiser), inputs },\n { timeoutMs: ADD_TIMEOUT_MS },\n );\n const hints = addAccountsHints(data);\n writeJson({ ok: true, data, hints: hints.length > 0 ? hints : undefined });\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAO9B,IAAM,iBAAiB;AAEvB,IAAM,QAAQ,CAAC,aACb,SAAS,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,eAAe,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,IAAI;AAGrE,SAAS,iBAAiB,MAA0C;AACzE,QAAM,QAAkB,CAAC;AACzB,MAAI,KAAK,MAAM,SAAS,GAAG;AACzB,UAAM;AAAA,MACJ,gBAAgB,MAAM,KAAK,KAAK,CAAC;AAAA,IACnC;AAAA,EACF;AACA,MAAI,KAAK,gBAAgB,SAAS,GAAG;AACnC,UAAM,KAAK,qCAAqC,MAAM,KAAK,eAAe,CAAC,GAAG;AAAA,EAChF;AACA,aAAW,WAAW,KAAK,QAAQ;AACjC,UAAM,KAAK,eAAe,QAAQ,KAAK,YAAO,QAAQ,KAAK,EAAE;AAAA,EAC/D;AACA,SAAO;AACT;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,UAAU,aAAa,wDAAwD,UAAU,KAAK;AAAA,IAClH,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa,kEAA6D,kBAAkB;AAAA,MAC5F,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAEM,IAAM,qBAAqB,cAAc;AAAA,EAC9C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,cAAc,aAAa,qCAAqC,UAAU,KAAK;AAAA,IACnG,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,SAAS,CAAC,GAAG,IAAI,IAAI,UAAU,OAAO,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;AAChE,UAAI,OAAO,WAAW,KAAK,OAAO,SAAS,oBAAoB;AAC7D,kBAAU;AAAA,UACR,IAAI;AAAA,UACJ,OAAO;AAAA,YACL,MAAM;AAAA,YACN,SAAS,sBAAsB,kBAAkB;AAAA,UACnD;AAAA,QACF,CAAC;AACD,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,YAAM,OAAO,MAAM;AAAA,QACjB;AAAA,QACA,EAAE,eAAe,OAAO,KAAK,UAAU,GAAG,OAAO;AAAA,QACjD,EAAE,WAAW,eAAe;AAAA,MAC9B;AACA,YAAM,QAAQ,iBAAiB,IAAI;AACnC,gBAAU,EAAE,IAAI,MAAM,MAAM,OAAO,MAAM,SAAS,IAAI,QAAQ,OAAU,CAAC;AAAA,IAC3E,SAAS,KAAK;AACZ,kBAAY,GAAG;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import {
|
|
2
|
+
adFieldPlan,
|
|
3
|
+
adRows
|
|
4
|
+
} from "./chunk-57XJ7QF7.js";
|
|
5
|
+
import {
|
|
6
|
+
reportError
|
|
7
|
+
} from "./chunk-ICJFL7DU.js";
|
|
8
|
+
import {
|
|
9
|
+
apiGet
|
|
10
|
+
} from "./chunk-MMOTJIV6.js";
|
|
11
|
+
import "./chunk-2ZZR2SOF.js";
|
|
12
|
+
import "./chunk-YPCVPDU7.js";
|
|
13
|
+
import {
|
|
14
|
+
advertiserAdsRequestSchema,
|
|
15
|
+
registerSchema,
|
|
16
|
+
winningAdNormalizer,
|
|
17
|
+
writeJson,
|
|
18
|
+
writeOutput
|
|
19
|
+
} from "./chunk-D3RTGIT4.js";
|
|
20
|
+
import "./chunk-YQSBHWOI.js";
|
|
21
|
+
|
|
22
|
+
// src/commands/winning-ads/ads.ts
|
|
23
|
+
import { defineCommand } from "citty";
|
|
24
|
+
registerSchema({
|
|
25
|
+
command: "winning-ads.ads",
|
|
26
|
+
description: "Every ad one advertiser has run (one row per distinct ad, strongest first), on every platform or one, running, stopped or both, of every format or the ones in --format (`--platform google --format text`: its Google search ads). The brand page's All ads; `winners` is its top winners. Pages with --offset; `next_offset` is null on the last page. Rows are compact; --fields ad_id,summary,days_active,active keeps a long listing small.",
|
|
27
|
+
args: {
|
|
28
|
+
advertiser: { type: "string", description: "Advertiser id (from `advertisers` or `following`)", required: true },
|
|
29
|
+
platform: { type: "string", description: "Only this platform: meta|linkedin|tiktok|google", required: false },
|
|
30
|
+
running: { type: "string", description: "all|running|stopped (default all)", required: false, default: "all" },
|
|
31
|
+
format: {
|
|
32
|
+
type: "string",
|
|
33
|
+
description: "Comma list: video,static,carousel,text (text = Google search ads); every format when omitted",
|
|
34
|
+
required: false
|
|
35
|
+
},
|
|
36
|
+
limit: { type: "number", description: "Ads per page 1-100 (default 24)", required: false, default: 24 },
|
|
37
|
+
offset: { type: "number", description: "Skip this many ads (from `next_offset`)", required: false, default: 0 },
|
|
38
|
+
full: { type: "boolean", description: "Include DNA detail + longevity", required: false, default: false }
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
function nextOffset(page, offset) {
|
|
42
|
+
const reached = offset + page.returned;
|
|
43
|
+
if (page.returned === 0) return null;
|
|
44
|
+
if (page.total === null) return page.returned === page.limit ? reached : null;
|
|
45
|
+
return reached < page.total ? reached : null;
|
|
46
|
+
}
|
|
47
|
+
function adsHints(request, returned, next) {
|
|
48
|
+
if (next !== null) return [`More ads: run again with --offset ${next}.`];
|
|
49
|
+
if (returned === 0 && request.offset === 0 && request.running === "running") {
|
|
50
|
+
return [
|
|
51
|
+
`No ad counts as running unless the brand was checked in the last 35 days: read last_checked_at in \`baker winning-ads profile ${request.id}\` before saying it runs nothing.`
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
var adsCommand = defineCommand({
|
|
57
|
+
meta: {
|
|
58
|
+
name: "ads",
|
|
59
|
+
description: "Every ad an advertiser has run, per platform and format or all together. Example: baker winning-ads ads adv_123 --platform google --format text --running running --output md"
|
|
60
|
+
},
|
|
61
|
+
args: {
|
|
62
|
+
advertiser: { type: "positional", description: "Advertiser id", required: true },
|
|
63
|
+
platform: { type: "string", description: "Only this platform: meta|linkedin|tiktok|google", required: false },
|
|
64
|
+
running: { type: "string", description: "all|running|stopped (default all)", required: false },
|
|
65
|
+
format: { type: "string", description: "Comma list: video,static,carousel,text", required: false },
|
|
66
|
+
limit: { type: "string", description: "Ads per page 1-100 (default 24)", required: false },
|
|
67
|
+
offset: { type: "string", description: "Skip this many ads (from next_offset)", required: false },
|
|
68
|
+
output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
|
|
69
|
+
fields: { type: "string", description: "Comma-separated field names to include", required: false },
|
|
70
|
+
full: { type: "boolean", description: "Include DNA detail + longevity", required: false, default: false }
|
|
71
|
+
},
|
|
72
|
+
run: async ({ args }) => {
|
|
73
|
+
try {
|
|
74
|
+
const parsed = advertiserAdsRequestSchema.safeParse({
|
|
75
|
+
id: String(args.advertiser),
|
|
76
|
+
platform: args.platform || void 0,
|
|
77
|
+
running: args.running || void 0,
|
|
78
|
+
format: args.format || void 0,
|
|
79
|
+
limit: args.limit || void 0,
|
|
80
|
+
offset: args.offset || void 0
|
|
81
|
+
});
|
|
82
|
+
if (!parsed.success) {
|
|
83
|
+
const issue = parsed.error.issues[0];
|
|
84
|
+
writeJson({
|
|
85
|
+
ok: false,
|
|
86
|
+
error: { code: "BAD_REQUEST", message: `--${issue?.path.join(".") ?? "args"}: ${issue?.message}` }
|
|
87
|
+
});
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
const request = parsed.data;
|
|
91
|
+
const params = {
|
|
92
|
+
id: request.id,
|
|
93
|
+
running: request.running,
|
|
94
|
+
limit: String(request.limit),
|
|
95
|
+
offset: String(request.offset)
|
|
96
|
+
};
|
|
97
|
+
if (request.platform) params.platform = request.platform;
|
|
98
|
+
if (request.format) params.format = request.format.join(",");
|
|
99
|
+
const data = await apiGet("/api/ad-library/advertiser-ads", params);
|
|
100
|
+
const plan = adFieldPlan(args.fields, args.full);
|
|
101
|
+
const next = nextOffset({ returned: data.ads.length, total: data.total, limit: request.limit }, request.offset);
|
|
102
|
+
const hints = adsHints(request, data.ads.length, next);
|
|
103
|
+
const output = args.output || "json";
|
|
104
|
+
if (output === "json") {
|
|
105
|
+
writeJson({
|
|
106
|
+
ok: true,
|
|
107
|
+
data: {
|
|
108
|
+
advertiser_id: data.advertiser_id,
|
|
109
|
+
total: data.total,
|
|
110
|
+
next_offset: next,
|
|
111
|
+
ads: adRows(data.ads, plan)
|
|
112
|
+
},
|
|
113
|
+
...hints.length > 0 ? { hints } : {}
|
|
114
|
+
});
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
writeOutput({ ok: true, data: data.ads }, output, plan.fields, plan.full, winningAdNormalizer);
|
|
118
|
+
} catch (err) {
|
|
119
|
+
reportError(err);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
export {
|
|
124
|
+
adsCommand,
|
|
125
|
+
adsHints,
|
|
126
|
+
nextOffset
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=ads-HYODBAPV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/winning-ads/ads.ts"],"sourcesContent":["import { type AdvertiserAdsResponse, advertiserAdsRequestSchema } from \"@baker/api/ad-library\";\nimport { defineCommand } from \"citty\";\nimport { apiGet } from \"../../client.ts\";\nimport { type OutputFormat, winningAdNormalizer, writeJson, writeOutput } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { adFieldPlan, adRows } from \"./adRows.ts\";\nimport { reportError } from \"./shared.ts\";\n\nregisterSchema({\n command: \"winning-ads.ads\",\n description:\n \"Every ad one advertiser has run (one row per distinct ad, strongest first), on every platform or one, running, stopped or both, of every format or the ones in --format (`--platform google --format text`: its Google search ads). The brand page's All ads; `winners` is its top winners. Pages with --offset; `next_offset` is null on the last page. Rows are compact; --fields ad_id,summary,days_active,active keeps a long listing small.\",\n args: {\n advertiser: { type: \"string\", description: \"Advertiser id (from `advertisers` or `following`)\", required: true },\n platform: { type: \"string\", description: \"Only this platform: meta|linkedin|tiktok|google\", required: false },\n running: { type: \"string\", description: \"all|running|stopped (default all)\", required: false, default: \"all\" },\n format: {\n type: \"string\",\n description: \"Comma list: video,static,carousel,text (text = Google search ads); every format when omitted\",\n required: false,\n },\n limit: { type: \"number\", description: \"Ads per page 1-100 (default 24)\", required: false, default: 24 },\n offset: { type: \"number\", description: \"Skip this many ads (from `next_offset`)\", required: false, default: 0 },\n full: { type: \"boolean\", description: \"Include DNA detail + longevity\", required: false, default: false },\n },\n});\n\n/** Where the next page starts, or null when this one reached the end. */\nexport function nextOffset(\n page: { returned: number; total: number | null; limit?: number },\n offset: number,\n): number | null {\n const reached = offset + page.returned;\n if (page.returned === 0) return null;\n if (page.total === null) return page.returned === page.limit ? reached : null;\n return reached < page.total ? reached : null;\n}\n\n/** The next page, or why \"running\" came back empty. */\nexport function adsHints(\n request: { id: string; running: string; offset: number },\n returned: number,\n next: number | null,\n): string[] {\n if (next !== null) return [`More ads: run again with --offset ${next}.`];\n if (returned === 0 && request.offset === 0 && request.running === \"running\") {\n return [\n `No ad counts as running unless the brand was checked in the last 35 days: read last_checked_at in \\`baker winning-ads profile ${request.id}\\` before saying it runs nothing.`,\n ];\n }\n return [];\n}\n\nexport const adsCommand = defineCommand({\n meta: {\n name: \"ads\",\n description:\n \"Every ad an advertiser has run, per platform and format or all together. Example: baker winning-ads ads adv_123 --platform google --format text --running running --output md\",\n },\n args: {\n advertiser: { type: \"positional\", description: \"Advertiser id\", required: true },\n platform: { type: \"string\", description: \"Only this platform: meta|linkedin|tiktok|google\", required: false },\n running: { type: \"string\", description: \"all|running|stopped (default all)\", required: false },\n format: { type: \"string\", description: \"Comma list: video,static,carousel,text\", required: false },\n limit: { type: \"string\", description: \"Ads per page 1-100 (default 24)\", required: false },\n offset: { type: \"string\", description: \"Skip this many ads (from next_offset)\", required: false },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include DNA detail + longevity\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const parsed = advertiserAdsRequestSchema.safeParse({\n id: String(args.advertiser),\n platform: args.platform || undefined,\n running: args.running || undefined,\n format: args.format || undefined,\n limit: args.limit || undefined,\n offset: args.offset || undefined,\n });\n if (!parsed.success) {\n const issue = parsed.error.issues[0];\n writeJson({\n ok: false,\n error: { code: \"BAD_REQUEST\", message: `--${issue?.path.join(\".\") ?? \"args\"}: ${issue?.message}` },\n });\n process.exit(1);\n }\n const request = parsed.data;\n const params: Record<string, string> = {\n id: request.id,\n running: request.running,\n limit: String(request.limit),\n offset: String(request.offset),\n };\n if (request.platform) params.platform = request.platform;\n if (request.format) params.format = request.format.join(\",\");\n\n const data = await apiGet<AdvertiserAdsResponse>(\"/api/ad-library/advertiser-ads\", params);\n const plan = adFieldPlan(args.fields, args.full);\n const next = nextOffset({ returned: data.ads.length, total: data.total, limit: request.limit }, request.offset);\n const hints = adsHints(request, data.ads.length, next);\n const output = (args.output as OutputFormat) || \"json\";\n if (output === \"json\") {\n writeJson({\n ok: true,\n data: {\n advertiser_id: data.advertiser_id,\n total: data.total,\n next_offset: next,\n ads: adRows(data.ads, plan),\n },\n ...(hints.length > 0 ? { hints } : {}),\n });\n return;\n }\n writeOutput({ ok: true, data: data.ads }, output, plan.fields, plan.full, winningAdNormalizer);\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import {
|
|
2
|
+
META_LIST_SHAPE_ARGS,
|
|
3
|
+
registerMetaListSchema,
|
|
4
|
+
shapeMetaListRows,
|
|
5
|
+
writeMetaListRows
|
|
6
|
+
} from "./chunk-LPRUP3ZX.js";
|
|
7
|
+
import {
|
|
8
|
+
NAME_CONTAINS_ARG,
|
|
9
|
+
csvOrJson,
|
|
10
|
+
handleMetaError,
|
|
11
|
+
resolveAccountIdArg,
|
|
12
|
+
resolveEffectiveStatus,
|
|
13
|
+
statusFilterHints
|
|
14
|
+
} from "./chunk-4R3QKEDV.js";
|
|
15
|
+
import "./chunk-6SL6463H.js";
|
|
16
|
+
import {
|
|
17
|
+
NO_CACHE_ARG
|
|
18
|
+
} from "./chunk-T64IRDKW.js";
|
|
19
|
+
import "./chunk-KIGGMKAE.js";
|
|
20
|
+
import {
|
|
21
|
+
apiGet
|
|
22
|
+
} from "./chunk-MMOTJIV6.js";
|
|
23
|
+
import "./chunk-2ZZR2SOF.js";
|
|
24
|
+
import "./chunk-YPCVPDU7.js";
|
|
25
|
+
import "./chunk-D3RTGIT4.js";
|
|
26
|
+
import "./chunk-YQSBHWOI.js";
|
|
27
|
+
|
|
28
|
+
// src/commands/ads/meta/ads.ts
|
|
29
|
+
import { defineCommand } from "citty";
|
|
30
|
+
var listArgs = {
|
|
31
|
+
"account-id": { type: "string", description: "Meta ad account ID" },
|
|
32
|
+
"adset-id": { type: "string", description: "Filter to one adset" },
|
|
33
|
+
"campaign-id": { type: "string", description: "Filter to one campaign" },
|
|
34
|
+
"effective-status": { type: "string", description: "Comma-separated effective_status filter (overrides default)" },
|
|
35
|
+
"all-statuses": { type: "boolean", description: "Drop the default ACTIVE filter" },
|
|
36
|
+
"name-contains": NAME_CONTAINS_ARG,
|
|
37
|
+
limit: { type: "string", description: "Max rows (default 1000)" },
|
|
38
|
+
"no-cache": NO_CACHE_ARG,
|
|
39
|
+
...META_LIST_SHAPE_ARGS
|
|
40
|
+
};
|
|
41
|
+
registerMetaListSchema(
|
|
42
|
+
"ads",
|
|
43
|
+
"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.",
|
|
44
|
+
listArgs
|
|
45
|
+
);
|
|
46
|
+
var listCommand = defineCommand({
|
|
47
|
+
meta: {
|
|
48
|
+
name: "list",
|
|
49
|
+
description: "List ads in a Meta ad account. Runs by default when no subcommand is given. Example: baker ads meta ads --account-id act_123"
|
|
50
|
+
},
|
|
51
|
+
args: listArgs,
|
|
52
|
+
run: async ({ args }) => {
|
|
53
|
+
const accountId = resolveAccountIdArg(args);
|
|
54
|
+
const effectiveStatus = resolveEffectiveStatus(args);
|
|
55
|
+
try {
|
|
56
|
+
const params = { "account-id": accountId };
|
|
57
|
+
if (args["adset-id"]) params["adset-id"] = args["adset-id"];
|
|
58
|
+
if (args["campaign-id"]) params["campaign-id"] = args["campaign-id"];
|
|
59
|
+
if (effectiveStatus) params["effective-status"] = effectiveStatus;
|
|
60
|
+
if (args["name-contains"]) params["name-contains"] = args["name-contains"];
|
|
61
|
+
if (args.limit) params.limit = args.limit;
|
|
62
|
+
if (args["no-cache"]) params["skip-cache"] = "true";
|
|
63
|
+
const data = await apiGet("/api/ads/meta/ads", params);
|
|
64
|
+
const shaped = shapeMetaListRows("ads", data, args);
|
|
65
|
+
writeMetaListRows("ads", shaped, csvOrJson(args), statusFilterHints(data, effectiveStatus, "ads"));
|
|
66
|
+
} catch (err) {
|
|
67
|
+
handleMetaError(err);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
var adsListCommand = defineCommand({
|
|
72
|
+
meta: {
|
|
73
|
+
name: "ads",
|
|
74
|
+
description: `List ads in a Meta ad account, or stage writes (create/update/pause/resume/archive/delete/duplicate/retag).
|
|
75
|
+
Defaults to ACTIVE only \u2014 pass --all-statuses to widen. Write subcommands stage ops on this chat's draft.
|
|
76
|
+
|
|
77
|
+
The dashboard shows effective_status (e.g. WITH_ISSUES, PENDING_REVIEW, DISAPPROVED, ADSET_PAUSED), not status.
|
|
78
|
+
|
|
79
|
+
Listings print a table by default: id, name, adset_id, campaign_id, effective_status, creative_id, issues
|
|
80
|
+
(why an ad is WITH_ISSUES), created_time. --fields takes dotted paths (e.g. tracking_specs,
|
|
81
|
+
preview_shareable_link); --full returns every field; --output json returns the rows as JSON.
|
|
82
|
+
|
|
83
|
+
Examples:
|
|
84
|
+
baker ads meta ads --account-id act_123
|
|
85
|
+
baker ads meta ads --adset-id 6123
|
|
86
|
+
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
|
|
87
|
+
baker ads meta ads --adset-id 6123 --fields id,name,preview_shareable_link
|
|
88
|
+
baker ads meta ads create --name "Ad 1" --adset meta_temp_as01 --creative meta_temp_cr01
|
|
89
|
+
baker ads meta ads pause 6123 --account-id act_123
|
|
90
|
+
baker ads meta ads retag 6123 --set "utm_medium=paid-social" \u2014 fix tracking on a LIVE ad, keeping everything else`
|
|
91
|
+
},
|
|
92
|
+
subCommands: {
|
|
93
|
+
list: listCommand,
|
|
94
|
+
create: () => import("./write-commands-IJ5IFHS6.js").then((m) => m.adsCreateCommand),
|
|
95
|
+
update: () => import("./write-commands-IJ5IFHS6.js").then((m) => m.adsUpdateCommand),
|
|
96
|
+
pause: () => import("./write-commands-IJ5IFHS6.js").then((m) => m.adsPauseCommand),
|
|
97
|
+
resume: () => import("./write-commands-IJ5IFHS6.js").then((m) => m.adsResumeCommand),
|
|
98
|
+
archive: () => import("./write-commands-IJ5IFHS6.js").then((m) => m.adsArchiveCommand),
|
|
99
|
+
delete: () => import("./write-commands-IJ5IFHS6.js").then((m) => m.adsDeleteCommand),
|
|
100
|
+
duplicate: () => import("./write-commands-IJ5IFHS6.js").then((m) => m.adsDuplicateCommand),
|
|
101
|
+
retag: () => import("./write-commands-IJ5IFHS6.js").then((m) => m.adsRetagCommand)
|
|
102
|
+
},
|
|
103
|
+
// `args` stays even though the parent has no `run`: citty scans rawArgs for the
|
|
104
|
+
// subcommand name using THIS command's arg defs, so without them `--account-id act_1`
|
|
105
|
+
// would read `act_1` as a subcommand. `default` (not `run`) dispatches the bare
|
|
106
|
+
// invocation — citty falls through to `run` after a subcommand, double-executing it.
|
|
107
|
+
args: listArgs,
|
|
108
|
+
default: "list"
|
|
109
|
+
});
|
|
110
|
+
export {
|
|
111
|
+
adsListCommand
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=ads-IJCFN2N3.js.map
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
|
|
17
|
+
Examples:
|
|
18
|
+
baker ads google accounts
|
|
19
|
+
baker ads google query --preset campaign-performance --customer-id 1234567890
|
|
20
|
+
baker ads meta accounts
|
|
21
|
+
baker ads meta campaigns --account-id act_123 --effective-status ACTIVE
|
|
22
|
+
baker ads meta insights --object act_123 --level ad --date-preset last_7d --fields impressions,spend,ctr
|
|
23
|
+
baker ads linkedin accounts
|
|
24
|
+
baker ads x accounts
|
|
25
|
+
baker ads x stats sync --preset campaign-engagement-7d --entity-ids abc,def
|
|
26
|
+
baker ads chatgpt insights --days 30 --granularity daily
|
|
27
|
+
Full guides: __tooling__/docs/tools/baker/ads-<platform>.md (google|meta|linkedin|x|chatgpt)`
|
|
28
|
+
},
|
|
29
|
+
subCommands: {
|
|
30
|
+
google: () => import("./google-OZTCY7HD.js").then((m) => m.googleCommand),
|
|
31
|
+
meta: () => import("./meta-PXYHWOOG.js").then((m) => m.metaCommand),
|
|
32
|
+
linkedin: () => import("./linkedin-EJPNC4VY.js").then((m) => m.linkedinCommand),
|
|
33
|
+
x: () => import("./x-U32DT24S.js").then((m) => m.xCommand),
|
|
34
|
+
chatgpt: () => import("./chatgpt-TPAP6BVY.js").then((m) => m.chatgptCommand)
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
export {
|
|
38
|
+
adsCommand
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=ads-QKMLAPZC.js.map
|